Rev 8236 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8236 | Rev 8255 | ||
---|---|---|---|
Line 36... | Line 36... | ||
36 | ; Shift+~ - ᬥ ª®¤¨à®¢ª¨ (cp866 ¨«¨ cp1251,koi8-r) |
36 | ; Shift+~ - ᬥ ª®¤¨à®¢ª¨ (cp866 ¨«¨ cp1251,koi8-r) |
Line 37... | Line 37... | ||
37 | 37 | ||
38 | ; ¬ïâì ¯¥à¥à á¯à¥¤¥«ï¥âáï 㢥«¨ç¥¨¥ i umen'shenie. |
38 | ; ¬ïâì ¯¥à¥à á¯à¥¤¥«ï¥âáï 㢥«¨ç¥¨¥ i umen'shenie. |
Line 39... | Line 39... | ||
39 | ; ©« § £à㦠¥âáï 楫¨ª®¬. |
39 | ; ©« § £à㦠¥âáï 楫¨ª®¬. |
40 | 40 | ||
41 | ; ªà®áë load_lib.mac, editbox_ex ¨ ¡¨¡«¨®â¥ªã box_lib.obj ᮧ¤ «¨: |
41 | ; ªà®áë load_lib.mac ¨ ¡¨¡«¨®â¥ªã box_lib.obj ᮧ¤ «¨: |
42 | ; |
42 | ; |
43 | ; Mario79, Mario - Marat Zakiyanov / à â ª¨ï®¢ |
43 | ; Mario79, Mario - Marat Zakiyanov / à â ª¨ï®¢ |
44 | ; Diamondz - Evgeny Grechnikov / ¢£¥¨© à¥ç¨ª®¢ ¨ ¤à. |
44 | ; Diamondz - Evgeny Grechnikov / ¢£¥¨© à¥ç¨ª®¢ ¨ ¤à. |
45 | ; |
45 | ; |
46 | ; staper@inbox.ru |
46 | ; staper@inbox.ru |
47 | ; babalbes@yandex.ru |
47 | ; babalbes@yandex.ru |
48 | ;-------------------------------------------------------------------- |
48 | ;-------------------------------------------------------------------- |
49 | use32 |
49 | use32 |
50 | org 0x0 |
50 | org 0 |
51 | db 'MENUET01' |
51 | db 'MENUET01' |
52 | dd 0x1 |
52 | dd 1 |
53 | dd START ;program start |
53 | dd START ;program start |
54 | dd I_END ;program image size |
54 | dd I_END ;program image size |
55 | dd (D_END+0x600) and not 3 ;required amount of memory |
55 | dd (D_END+0x600) and not 3 ;required amount of memory |
Line 89... | Line 89... | ||
89 | ;-------------------------------------------------------------------- |
89 | ;-------------------------------------------------------------------- |
90 | FIRST_HEX equ 0*65536+24 |
90 | FIRST_HEX equ 0*65536+24 |
91 | scroll_width_size equ 15 |
91 | scroll_width_size equ 15 |
92 | ;-------------------------------------------------------------------- |
92 | ;-------------------------------------------------------------------- |
93 | struct f70 |
93 | struct f70 |
94 | func_n rd 1 |
94 | Function rd 1 |
95 | param1 rd 1 |
95 | Position rd 1 |
96 | param2 rd 1 |
96 | Flags rd 1 |
97 | param3 rd 1 |
97 | Count rd 1 |
98 | param4 rd 1 |
98 | Buffer rd 1 |
99 | rezerv rb 1 |
99 | rezerv rb 1 |
100 | name rd 1 |
100 | FileName rd 1 |
101 | ends |
101 | ends |
102 | ;-------------------------------------------------------------------- |
102 | ;-------------------------------------------------------------------- |
103 | START: |
103 | START: |
104 | mcall 68,11 |
104 | mcall SF_SYS_MISC,SSF_HEAP_INIT |
Line 105... | Line 105... | ||
105 | 105 | ||
106 | load_libraries l_libs_start,end_l_libs |
106 | load_libraries l_libs_start,end_l_libs |
107 | ;-------------------------------------------------------------------- |
107 | ;-------------------------------------------------------------------- |
108 | ;OpenDialog initialisation |
108 | ;OpenDialog initialisation |
Line 137... | Line 137... | ||
137 | lodsb |
137 | lodsb |
138 | stosb |
138 | stosb |
139 | test eax,eax |
139 | test eax,eax |
140 | jnz @b |
140 | jnz @b |
Line 141... | Line 141... | ||
141 | 141 | ||
Line 142... | Line 142... | ||
142 | mcall 40,0x27 |
142 | mcall SF_SET_EVENTS_MASK,0x27 |
143 | 143 | ||
144 | mcall 68,12,32*1024 ;áâà ¨çë© ¡ãä¥à |
144 | mcall SF_SYS_MISC,SSF_MEM_ALLOC,32*1024 ;áâà ¨çë© ¡ãä¥à |
Line 145... | Line 145... | ||
145 | mov [screen_table],eax |
145 | mov [screen_table],eax |
Line 146... | Line 146... | ||
146 | mcall 68,12,4*1024 |
146 | mcall SF_SYS_MISC,SSF_MEM_ALLOC,4*1024 |
147 | 147 | ||
Line 148... | Line 148... | ||
148 | mov [file_buffer],eax |
148 | mov [file_buffer],eax |
149 | 149 | ||
Line 163... | Line 163... | ||
163 | sub esi,cur_dir_path |
163 | sub esi,cur_dir_path |
164 | mov [edit1.pos],esi |
164 | mov [edit1.pos],esi |
165 | mov [edit1.size],esi |
165 | mov [edit1.size],esi |
Line 166... | Line 166... | ||
166 | 166 | ||
167 | ;®¡é¥á¨áâ¥¬ë¥ ª« ¢¨è¨ ¤«ï Shift+ªãàá®àë |
167 | ;®¡é¥á¨áâ¥¬ë¥ ª« ¢¨è¨ ¤«ï Shift+ªãàá®àë |
168 | ; mcall 66,4,75,1 |
168 | ; mcall SF_KEYBOARD,SSF_SET_SYS_HOTKEY,75,1 |
169 | ; mcall 66,,77 |
169 | ; mcall SF_KEYBOARD,,77 |
170 | ; mcall 66,,72 |
170 | ; mcall SF_KEYBOARD,,72 |
Line 171... | Line 171... | ||
171 | ; mcall 66,,80 |
171 | ; mcall SF_KEYBOARD,,80 |
172 | 172 | ||
173 | call ready_screen_buffer |
173 | call ready_screen_buffer |
174 | ; jmp open_file |
174 | ; jmp open_file |
175 | mcall 9,procinfo,-1 |
175 | mcall SF_THREAD_INFO,procinfo,-1 |
176 | mov ecx,[ebx+30] ; PID |
176 | mov ecx,[ebx+30] ; PID |
177 | mcall 18,21 |
177 | mcall SF_SYSTEM,SSF_GET_THREAD_SLOT |
178 | mov [active_process],eax ; WINDOW SLOT |
178 | mov [active_process],eax ; WINDOW SLOT |
179 | ;-------------------------------------------------------------------- |
179 | ;-------------------------------------------------------------------- |
180 | ; open the file if program has a file path, when it was launched |
180 | ; open the file if program has a file path, when it was launched |
181 | cmp [fname_buf],byte 0 |
181 | cmp [fname_buf],byte 0 |
182 | jne open_dialog.start |
182 | jne open_dialog.start |
183 | ;-------------------------------------------------------------------- |
183 | ;-------------------------------------------------------------------- |
184 | redraw_all: |
184 | redraw_all: |
185 | call control_minimal_window_size |
185 | call control_minimal_window_size |
186 | call draw_window_1 |
186 | call draw_window_1 |
Line 187... | Line 187... | ||
187 | still: |
187 | still: |
188 | mcall 10 |
188 | mcall SF_WAIT_EVENT |
189 | 189 | ||
190 | cmp eax,6 |
190 | cmp eax,6 |
Line 197... | Line 197... | ||
197 | jz button |
197 | jz button |
198 | jmp still |
198 | jmp still |
199 | ;--------------------------------------------------------------------- |
199 | ;--------------------------------------------------------------------- |
200 | control_minimal_window_size: |
200 | control_minimal_window_size: |
201 | pusha |
201 | pusha |
202 | mcall 9,procinfo,-1 |
202 | mcall SF_THREAD_INFO,procinfo,-1 |
203 | mov eax,[ebx+70] |
203 | mov eax,[ebx+70] |
204 | test eax,10b |
204 | test eax,10b |
205 | jnz .end |
205 | jnz .end |
206 | test eax,100b |
206 | test eax,100b |
207 | jnz .end |
207 | jnz .end |
Line 211... | Line 211... | ||
211 | mov eax,procinfo |
211 | mov eax,procinfo |
212 | mov eax,[eax+46] |
212 | mov eax,[eax+46] |
213 | cmp eax,299 |
213 | cmp eax,299 |
214 | jae @f |
214 | jae @f |
215 | mov esi,299 |
215 | mov esi,299 |
216 | mcall 67,-1,ebx,ebx |
216 | mcall SF_CHANGE_WINDOW,-1,ebx,ebx |
217 | @@: |
217 | @@: |
218 | mov edx,-1 |
218 | mov edx,-1 |
219 | mov eax,procinfo |
219 | mov eax,procinfo |
220 | mov eax,[eax+42] |
220 | mov eax,[eax+42] |
221 | cmp eax,399 |
221 | cmp eax,399 |
222 | jae @f |
222 | jae @f |
223 | mov edx,399 |
223 | mov edx,399 |
224 | mcall 67,-1,ebx,,ebx |
224 | mcall SF_CHANGE_WINDOW,-1,ebx,,ebx |
225 | @@: |
225 | @@: |
226 | .end: |
226 | .end: |
227 | popa |
227 | popa |
228 | ret |
228 | ret |
229 | ;--------------------------------------------------------------------- |
229 | ;--------------------------------------------------------------------- |
Line 249... | Line 249... | ||
249 | call main_area |
249 | call main_area |
250 | .end: |
250 | .end: |
251 | ret |
251 | ret |
252 | ;--------------------------------------------------------------------- |
252 | ;--------------------------------------------------------------------- |
253 | key: |
253 | key: |
254 | mcall 2 |
254 | mcall SF_GET_KEY |
255 | dec al |
255 | dec al |
256 | jz still |
256 | jz still |
257 | dec al |
257 | dec al |
258 | jz key.syst |
258 | jz key.syst |
259 | cmp ah,2 |
259 | cmp ah,2 |
Line 358... | Line 358... | ||
358 | cmp ah,77 |
358 | cmp ah,77 |
359 | cmp ah,80 |
359 | cmp ah,80 |
360 | jmp still |
360 | jmp still |
361 | ;-------------------------------------------------------------------- |
361 | ;-------------------------------------------------------------------- |
362 | button: |
362 | button: |
363 | mcall 17 |
363 | mcall SF_GET_BUTTON |
364 | dec ah |
364 | dec ah |
365 | jnz still |
365 | jnz still |
Line 366... | Line 366... | ||
366 | 366 | ||
367 | jmp close_prog |
367 | jmp close_prog |
368 | ;-------------------------------------------------------------------- |
368 | ;-------------------------------------------------------------------- |
369 | align 4 |
369 | align 4 |
370 | mouse: |
370 | mouse: |
371 | mcall 18,7 |
371 | mcall SF_SYSTEM,SSF_GET_ACTIVE_WINDOW |
372 | cmp [active_process],eax |
372 | cmp [active_process],eax |
Line 373... | Line 373... | ||
373 | jne still |
373 | jne still |
374 | 374 | ||
375 | mcall 37,7 |
375 | mcall SF_MOUSE_GET,SSF_SCROLL_DATA |
376 | test eax,eax |
376 | test eax,eax |
377 | jz .menu_bar_1;.mouse |
377 | jz .menu_bar_1;.mouse |
378 | bt eax,15 |
378 | bt eax,15 |
Line 472... | Line 472... | ||
472 | jne still |
472 | jne still |
473 | call create_help_window |
473 | call create_help_window |
474 | jmp still |
474 | jmp still |
475 | ;-------------------------------------------------------------------- |
475 | ;-------------------------------------------------------------------- |
476 | .scroll_bar: |
476 | .scroll_bar: |
477 | ; mcall 37,2 |
477 | ; mcall SF_MOUSE_GET,SSF_BUTTON |
478 | ; test eax,eax |
478 | ; test eax,eax |
479 | ; jnz @f |
479 | ; jnz @f |
480 | ; btr [flags],5 |
480 | ; btr [flags],5 |
481 | ; btr [flags],7 |
481 | ; btr [flags],7 |
482 | ; jmp still |
482 | ; jmp still |
Line 483... | Line 483... | ||
483 | 483 | ||
484 | .mouse: |
484 | .mouse: |
485 | .vertical: |
485 | .vertical: |
486 | mcall 37,2 |
486 | mcall SF_MOUSE_GET,SSF_BUTTON |
487 | test eax,eax |
487 | test eax,eax |
488 | jnz @f |
488 | jnz @f |
489 | btr [flags],5 |
489 | btr [flags],5 |
490 | btr [flags],7 |
490 | btr [flags],7 |
Line 494... | Line 494... | ||
494 | bt [flags],5 |
494 | bt [flags],5 |
495 | jc @f |
495 | jc @f |
496 | bt [flags],7 |
496 | bt [flags],7 |
497 | jc .horizontal_0 |
497 | jc .horizontal_0 |
Line 498... | Line 498... | ||
498 | 498 | ||
499 | mcall 37,1 |
499 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
500 | shr eax,16 |
500 | shr eax,16 |
501 | cmp ax,[scroll_bar_data_vertical.start_x] |
501 | cmp ax,[scroll_bar_data_vertical.start_x] |
502 | jb .horizontal |
502 | jb .horizontal |
503 | sub ax,[scroll_bar_data_vertical.start_x] |
503 | sub ax,[scroll_bar_data_vertical.start_x] |
Line 564... | Line 564... | ||
564 | .horizontal: |
564 | .horizontal: |
565 | mov eax,[scroll_bar_data_horizontal.max_area] |
565 | mov eax,[scroll_bar_data_horizontal.max_area] |
566 | cmp eax,[scroll_bar_data_horizontal.cur_area] |
566 | cmp eax,[scroll_bar_data_horizontal.cur_area] |
567 | jbe .other |
567 | jbe .other |
Line 568... | Line 568... | ||
568 | 568 | ||
569 | mcall 37,1 |
569 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
570 | cmp ax,[scroll_bar_data_horizontal.start_y] |
570 | cmp ax,[scroll_bar_data_horizontal.start_y] |
571 | jb still |
571 | jb still |
572 | sub ax,[scroll_bar_data_horizontal.start_y] |
572 | sub ax,[scroll_bar_data_horizontal.start_y] |
573 | cmp ax,[scroll_bar_data_horizontal.size_y] |
573 | cmp ax,[scroll_bar_data_horizontal.size_y] |
Line 574... | Line 574... | ||
574 | jge still |
574 | jge still |
575 | 575 | ||
576 | ; mouse event for Horizontal ScrollBar |
576 | ; mouse event for Horizontal ScrollBar |
577 | .horizontal_0: |
577 | .horizontal_0: |
578 | ; mcall 37,2 |
578 | ; mcall SF_MOUSE_GET,SSF_BUTTON |
579 | ; test eax,eax |
579 | ; test eax,eax |
580 | ; jnz @f |
580 | ; jnz @f |
581 | ; btr [flags],5 |
581 | ; btr [flags],5 |
582 | ; btr [flags],7 |
582 | ; btr [flags],7 |
583 | ; jmp still |
583 | ; jmp still |
Line 584... | Line 584... | ||
584 | ;@@:; bt [flags],7 |
584 | ;@@:; bt [flags],7 |
585 | ; jc @f |
585 | ; jc @f |
586 | 586 | ||
587 | ; mcall 37,1 |
587 | ; mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
588 | ; shr eax,16 |
588 | ; shr eax,16 |
589 | ; cmp ax,[scroll_bar_data_vertical.start_x] |
589 | ; cmp ax,[scroll_bar_data_vertical.start_x] |
Line 949... | Line 949... | ||
949 | inc ecx |
949 | inc ecx |
950 | .5: |
950 | .5: |
951 | div ecx |
951 | div ecx |
952 | mov [scroll_bar_data_vertical.position],eax |
952 | mov [scroll_bar_data_vertical.position],eax |
Line 953... | Line 953... | ||
953 | 953 | ||
954 | mcall 37,2 ;ª¯®¯ª ¬ëè¨ ¦ â - ¥â á¬ëá« ¯¥à¥à¨á®¢ë¢ âì ScrollBar |
954 | mcall SF_MOUSE_GET,SSF_BUTTON ;ª¯®¯ª ¬ëè¨ ¦ â - ¥â á¬ëá« ¯¥à¥à¨á®¢ë¢ âì ScrollBar |
955 | test eax,eax |
955 | test eax,eax |
956 | jnz .4 |
956 | jnz .4 |
957 | push dword scroll_bar_data_vertical |
957 | push dword scroll_bar_data_vertical |
Line 993... | Line 993... | ||
993 | add edi,palitra |
993 | add edi,palitra |
994 | shl bx,4 |
994 | shl bx,4 |
995 | add ebx,font_buffer |
995 | add ebx,font_buffer |
996 | mov ecx,8*65536+16 |
996 | mov ecx,8*65536+16 |
997 | mov ebp,0 |
997 | mov ebp,0 |
998 | mcall 65 |
998 | mcall SF_PUT_IMAGE_EXT |
999 | pop edi |
999 | pop edi |
Line 1000... | Line 1000... | ||
1000 | 1000 | ||
1001 | add edi,2 |
1001 | add edi,2 |
Line 1044... | Line 1044... | ||
1044 | mov ax,[scroll_bar_data_vertical.start_x] |
1044 | mov ax,[scroll_bar_data_vertical.start_x] |
1045 | sub ax,bx |
1045 | sub ax,bx |
1046 | shl ebx,16 |
1046 | shl ebx,16 |
1047 | mov bx,ax |
1047 | mov bx,ax |
1048 | mov cx,16 |
1048 | mov cx,16 |
1049 | mcall 13,,,frgrd_color |
1049 | mcall SF_DRAW_RECT,,,frgrd_color |
1050 | .ls1: |
1050 | .ls1: |
1051 | popad |
1051 | popad |
1052 | jmp @f |
1052 | jmp @f |
1053 | ;-------------------------------------------------------------------- |
1053 | ;-------------------------------------------------------------------- |
1054 | .loop_str: |
1054 | .loop_str: |
Line 1074... | Line 1074... | ||
1074 | jnz .no_inc_ebx |
1074 | jnz .no_inc_ebx |
1075 | inc ebx |
1075 | inc ebx |
1076 | .no_inc_ebx: |
1076 | .no_inc_ebx: |
1077 | sub ecx,2*65536 |
1077 | sub ecx,2*65536 |
1078 | mov cx,2 |
1078 | mov cx,2 |
1079 | mcall 13 |
1079 | mcall SF_DRAW_RECT |
1080 | popad |
1080 | popad |
Line 1081... | Line 1081... | ||
1081 | 1081 | ||
1082 | pushad |
1082 | pushad |
1083 | mov ecx,edx |
1083 | mov ecx,edx |
Line 1095... | Line 1095... | ||
1095 | mov ax,[scroll_bar_data_vertical.size_x] |
1095 | mov ax,[scroll_bar_data_vertical.size_x] |
1096 | test ax,ax |
1096 | test ax,ax |
1097 | jnz .no_inc_ebx_2 |
1097 | jnz .no_inc_ebx_2 |
1098 | inc ebx |
1098 | inc ebx |
1099 | .no_inc_ebx_2: |
1099 | .no_inc_ebx_2: |
1100 | mcall 13,,,frgrd_color |
1100 | mcall SF_DRAW_RECT,,,frgrd_color |
1101 | .10: |
1101 | .10: |
1102 | popad |
1102 | popad |
1103 | jmp @f |
1103 | jmp @f |
1104 | ;-------------------------------------------------------------------- |
1104 | ;-------------------------------------------------------------------- |
1105 | .next_string: |
1105 | .next_string: |
Line 1225... | Line 1225... | ||
1225 | xor ebx,ebx |
1225 | xor ebx,ebx |
1226 | mov bl,al |
1226 | mov bl,al |
1227 | shl ebx,4 |
1227 | shl ebx,4 |
1228 | add ebx,font_buffer |
1228 | add ebx,font_buffer |
1229 | push eax |
1229 | push eax |
1230 | mcall 65 |
1230 | mcall SF_PUT_IMAGE_EXT |
1231 | pop eax |
1231 | pop eax |
1232 | sub edx,8*65536 |
1232 | sub edx,8*65536 |
1233 | dec dword [esp] |
1233 | dec dword [esp] |
1234 | jnz @b |
1234 | jnz @b |
1235 | add esp,4 |
1235 | add esp,4 |
Line 1266... | Line 1266... | ||
1266 | shl eax,4 |
1266 | shl eax,4 |
1267 | add eax,font_buffer |
1267 | add eax,font_buffer |
1268 | xchg eax,ebx |
1268 | xchg eax,ebx |
1269 | mov edi,palitra.5 |
1269 | mov edi,palitra.5 |
1270 | mov ebp,0 |
1270 | mov ebp,0 |
1271 | mcall 65 |
1271 | mcall SF_PUT_IMAGE_EXT |
1272 | add edx,8*65536 |
1272 | add edx,8*65536 |
1273 | pop edi |
1273 | pop edi |
1274 | inc edi |
1274 | inc edi |
1275 | dec dword [esp] |
1275 | dec dword [esp] |
1276 | jnz .2 |
1276 | jnz .2 |
Line 1355... | Line 1355... | ||
1355 | mov [prev_f_size_bl],eax |
1355 | mov [prev_f_size_bl],eax |
1356 | xor edx,edx |
1356 | xor edx,edx |
1357 | mul ecx |
1357 | mul ecx |
1358 | add ecx,eax |
1358 | add ecx,eax |
1359 | .1: |
1359 | .1: |
1360 | mcall 68,20,,[file_buffer] |
1360 | mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[file_buffer] |
1361 | .ret: |
1361 | .ret: |
1362 | popad |
1362 | popad |
1363 | ret |
1363 | ret |
1364 | ;-------------------------------------------------------------------- |
1364 | ;-------------------------------------------------------------------- |
1365 | align 4 |
1365 | align 4 |
Line 1392... | Line 1392... | ||
1392 | ;--------------------------------------------------------------------- |
1392 | ;--------------------------------------------------------------------- |
1393 | align 4 |
1393 | align 4 |
1394 | draw_window: |
1394 | draw_window: |
1395 | call create_title |
1395 | call create_title |
1396 | xor esi,esi |
1396 | xor esi,esi |
1397 | mcall 0,100*65536+653,100*65536+360,((0x73 shl 24) + frgrd_color),,title_buf ;title |
1397 | mcall SF_CREATE_WINDOW,100*65536+653,100*65536+360,((0x73 shl 24) + frgrd_color),,title_buf ;title |
1398 | mcall 9,threath_buf,-1 |
1398 | mcall SF_THREAD_INFO,threath_buf,-1 |
1399 | ; cmp byte [threath_buf+70],3 ;®ª® á¢ñàãâ® ¢ § £®«®¢®ª? |
1399 | ; cmp byte [threath_buf+70],3 ;®ª® á¢ñàãâ® ¢ § £®«®¢®ª? |
1400 | ; jnae @f |
1400 | ; jnae @f |
1401 | mov eax,[threath_buf+70] |
1401 | mov eax,[threath_buf+70] |
1402 | test eax,10b |
1402 | test eax,10b |
1403 | jnz .@d |
1403 | jnz .@d |
Line 1411... | Line 1411... | ||
1411 | cmp dword [threath_buf+66],(24*4) ;¯à®¢¥àª ¬¨¨¬ «ì®© ¢ëá®âë |
1411 | cmp dword [threath_buf+66],(24*4) ;¯à®¢¥àª ¬¨¨¬ «ì®© ¢ëá®âë |
1412 | jae @f |
1412 | jae @f |
1413 | mov esi,dword [threath_buf+46] |
1413 | mov esi,dword [threath_buf+46] |
1414 | sub esi,dword [threath_buf+66] |
1414 | sub esi,dword [threath_buf+66] |
1415 | add esi,24*4 |
1415 | add esi,24*4 |
1416 | mcall 67,-1,-1,-1, |
1416 | mcall SF_CHANGE_WINDOW,-1,-1,-1, |
1417 | jmp .@d |
1417 | jmp .@d |
1418 | ;-------------------------------------- |
1418 | ;-------------------------------------- |
1419 | @@: |
1419 | @@: |
1420 | cmp dword [threath_buf+62],(26*6) ;¯à®¢¥àª ¬¨¨¬ «ì®© è¨à¨ë |
1420 | cmp dword [threath_buf+62],(26*6) ;¯à®¢¥àª ¬¨¨¬ «ì®© è¨à¨ë |
1421 | jae @f |
1421 | jae @f |
1422 | mov edx,dword [threath_buf+42] |
1422 | mov edx,dword [threath_buf+42] |
1423 | sub edx,dword [threath_buf+62] |
1423 | sub edx,dword [threath_buf+62] |
1424 | add edx,26*6 |
1424 | add edx,26*6 |
1425 | mcall 67,-1,-1,,-1 |
1425 | mcall SF_CHANGE_WINDOW,-1,-1,,-1 |
1426 | jmp .@d |
1426 | jmp .@d |
1427 | ;-------------------------------------- |
1427 | ;-------------------------------------- |
1428 | @@: |
1428 | @@: |
1429 | mov eax,[file_size] |
1429 | mov eax,[file_size] |
1430 | mov ebx,[bytes_per_line] |
1430 | mov ebx,[bytes_per_line] |
Line 1466... | Line 1466... | ||
1466 | inc ebx |
1466 | inc ebx |
1467 | mov ecx,(FIRST_HEX-18) |
1467 | mov ecx,(FIRST_HEX-18) |
1468 | ror ecx,16 |
1468 | ror ecx,16 |
1469 | mov cx,18 |
1469 | mov cx,18 |
1470 | ror ecx,16 |
1470 | ror ecx,16 |
1471 | mcall 13,,,frgrd_color ;¯®«®á ᢥàåã |
1471 | mcall SF_DRAW_RECT,,,frgrd_color ;¯®«®á ᢥàåã |
Line 1472... | Line 1472... | ||
1472 | 1472 | ||
Line 1473... | Line 1473... | ||
1473 | mcall ,,18,panel_clr1 ;¢¥àåïï ¯ ¥«ì |
1473 | mcall ,,18,panel_clr1 ;¢¥àåïï ¯ ¥«ì |
1474 | 1474 | ||
1475 | dec ebx |
1475 | dec ebx |
1476 | mcall 38,,<18,18>,panel_clr2 |
1476 | mcall SF_DRAW_LINE,,<18,18>,panel_clr2 |
1477 | mov ecx,dword [threath_buf+66] |
1477 | mov ecx,dword [threath_buf+66] |
1478 | sub cx,18 |
1478 | sub cx,18 |
1479 | push cx |
1479 | push cx |
1480 | shl ecx,16 |
1480 | shl ecx,16 |
1481 | pop cx |
1481 | pop cx |
1482 | mcall ,,,panel_clr3 ;¨¦ïï ¯ ¥«ì |
1482 | mcall ,,,panel_clr3 ;¨¦ïï ¯ ¥«ì |
1483 | inc ebx |
1483 | inc ebx |
1484 | add ecx,1*65536 |
1484 | add ecx,1*65536 |
Line 1485... | Line 1485... | ||
1485 | mov cx,18 |
1485 | mov cx,18 |
1486 | mcall 13,,,panel_clr1 |
1486 | mcall SF_DRAW_RECT,,,panel_clr1 |
1487 | 1487 | ||
Line 1518... | Line 1518... | ||
1518 | shl ecx,16 |
1518 | shl ecx,16 |
1519 | add cx,dx |
1519 | add cx,dx |
1520 | sub ecx,1*65536 |
1520 | sub ecx,1*65536 |
1521 | movzx ebx, word [scroll_bar_data_vertical.start_x] |
1521 | movzx ebx, word [scroll_bar_data_vertical.start_x] |
1522 | inc ebx |
1522 | inc ebx |
1523 | mcall 13,,,frgrd_color |
1523 | mcall SF_DRAW_RECT,,,frgrd_color |
Line 1524... | Line 1524... | ||
1524 | 1524 | ||
Line 1525... | Line 1525... | ||
1525 | pop eax |
1525 | pop eax |
1526 | 1526 | ||
Line 1608... | Line 1608... | ||
1608 | bts [flags],6 |
1608 | bts [flags],6 |
1609 | ret |
1609 | ret |
1610 | ;-------------------------------------------------------------------- |
1610 | ;-------------------------------------------------------------------- |
1611 | align 4 |
1611 | align 4 |
1612 | start_draw: |
1612 | start_draw: |
1613 | mcall 12,1 |
1613 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
1614 | ret |
1614 | ret |
1615 | ;-------------------------------------------------------------------- |
1615 | ;-------------------------------------------------------------------- |
1616 | end_draw: |
1616 | end_draw: |
1617 | mcall 12,2 |
1617 | mcall SF_REDRAW,SSF_END_DRAW |
1618 | ret |
1618 | ret |
1619 | ;-------------------------------------------------------------------- |
1619 | ;-------------------------------------------------------------------- |
1620 | close_prog: |
1620 | close_prog: |
1621 | mcall -1 |
1621 | mcall SF_TERMINATE_PROCESS |
1622 | ;-------------------------------------------------------------------- |
1622 | ;-------------------------------------------------------------------- |
1623 | change_codepage: ;¬¥ï¥¬ ¢â®àãî ¯®«®¢¨ã â ¡«¨æë |
1623 | change_codepage: ;¬¥ï¥¬ ¢â®àãî ¯®«®¢¨ã â ¡«¨æë |
1624 | test ah,ah |
1624 | test ah,ah |
1625 | jnz @f |
1625 | jnz @f |
1626 | btc [flags],4 |
1626 | btc [flags],4 |
Line 1670... | Line 1670... | ||
1670 | push edi |
1670 | push edi |
1671 | mov bl,[edi] |
1671 | mov bl,[edi] |
1672 | shl bx,4 |
1672 | shl bx,4 |
1673 | add ebx,font_buffer |
1673 | add ebx,font_buffer |
1674 | mov edi,palitra.5 |
1674 | mov edi,palitra.5 |
1675 | mcall 65 |
1675 | mcall SF_PUT_IMAGE_EXT |
1676 | add edx,8*65536 |
1676 | add edx,8*65536 |
1677 | pop edi |
1677 | pop edi |
1678 | inc edi |
1678 | inc edi |
1679 | dec dword [esp] |
1679 | dec dword [esp] |
1680 | jnz @b |
1680 | jnz @b |
Line 1700... | Line 1700... | ||
1700 | mov bl,[edi] |
1700 | mov bl,[edi] |
1701 | shl bx,4 |
1701 | shl bx,4 |
1702 | .2: |
1702 | .2: |
1703 | add ebx,font_buffer |
1703 | add ebx,font_buffer |
1704 | mov edi,palitra.5 |
1704 | mov edi,palitra.5 |
1705 | mcall 65 |
1705 | mcall SF_PUT_IMAGE_EXT |
1706 | add edx,8*65536 |
1706 | add edx,8*65536 |
1707 | pop edi |
1707 | pop edi |
1708 | inc edi |
1708 | inc edi |
1709 | dec dword [esp] |
1709 | dec dword [esp] |
1710 | jnz .1 |
1710 | jnz .1 |
Line 1714... | Line 1714... | ||
1714 | ;help window |
1714 | ;help window |
1715 | create_help_window: |
1715 | create_help_window: |
1716 | pushad |
1716 | pushad |
1717 | cmp [help_is_open_already], 1 |
1717 | cmp [help_is_open_already], 1 |
1718 | jne @f |
1718 | jne @f |
1719 | mov ECX, [help_window_pid] |
1719 | mov ecx, [help_window_pid] |
1720 | mcall 18, 21 |
1720 | mcall SF_SYSTEM, SSF_GET_THREAD_SLOT |
1721 | xchg EAX, ECX |
1721 | xchg eax, ecx |
1722 | mcall 18, 3 |
1722 | mcall SF_SYSTEM, SSF_FOCUS_WINDOW |
1723 | popad |
1723 | popad |
1724 | ret |
1724 | ret |
1725 | ;--------------------------------------------------------------------- |
1725 | ;--------------------------------------------------------------------- |
1726 | @@: |
1726 | @@: |
1727 | mcall 51,1,.thread,(.threat_stack+16*4) |
1727 | mcall SF_CREATE_THREAD,1,.thread,(.threat_stack+16*4) |
1728 | mov [help_is_open_already], 1 |
1728 | mov [help_is_open_already], 1 |
1729 | mov [help_window_pid], EAX |
1729 | mov [help_window_pid], eax |
1730 | popad |
1730 | popad |
1731 | ret |
1731 | ret |
1732 | ;-------------------------------------------------------------------- |
1732 | ;-------------------------------------------------------------------- |
1733 | .thread: |
1733 | .thread: |
1734 | call .window |
1734 | call .window |
1735 | ;-------------------------------------------------------------------- |
1735 | ;-------------------------------------------------------------------- |
1736 | .still: |
1736 | .still: |
1737 | mcall 10 |
1737 | mcall SF_WAIT_EVENT |
1738 | dec al |
1738 | dec al |
1739 | jz .red |
1739 | jz .red |
1740 | dec al |
1740 | dec al |
1741 | jz .key |
1741 | jz .key |
1742 | dec al |
1742 | dec al |
1743 | jz .button |
1743 | jz .button |
1744 | jmp .still |
1744 | jmp .still |
1745 | ;-------------------------------------------------------------------- |
1745 | ;-------------------------------------------------------------------- |
1746 | and [help_is_open_already], 0 |
1746 | and [help_is_open_already], 0 |
1747 | mcall -1 |
1747 | mcall SF_TERMINATE_PROCESS |
1748 | .button: |
1748 | .button: |
1749 | mcall 17,1 |
1749 | mcall SF_GET_BUTTON |
1750 | cmp ah,1 |
1750 | cmp ah,1 |
1751 | jne @f |
1751 | jne @f |
1752 | and [help_is_open_already], 0 |
1752 | and [help_is_open_already], 0 |
1753 | mcall -1 |
1753 | mcall SF_TERMINATE_PROCESS |
1754 | @@: |
1754 | @@: |
1755 | cmp ah,2 |
1755 | cmp ah,2 |
1756 | jne @f |
1756 | jne @f |
1757 | mov edi,(help_end-help_text)/51 |
1757 | mov edi,(help_end-help_text)/51 |
1758 | movzx eax,[cur_help_string] |
1758 | movzx eax,[cur_help_string] |
Line 1769... | Line 1769... | ||
1769 | je .still |
1769 | je .still |
1770 | dec [cur_help_string] |
1770 | dec [cur_help_string] |
1771 | jmp .red |
1771 | jmp .red |
1772 | ;-------------------------------------------------------------------- |
1772 | ;-------------------------------------------------------------------- |
1773 | .key: |
1773 | .key: |
1774 | mcall 2 |
1774 | mcall SF_GET_KEY |
1775 | jmp .still |
1775 | jmp .still |
1776 | ;-------------------------------------------------------------------- |
1776 | ;-------------------------------------------------------------------- |
1777 | .red: |
1777 | .red: |
1778 | call .window |
1778 | call .window |
1779 | jmp .still |
1779 | jmp .still |
1780 | ;-------------------------------------------------------------------- |
1780 | ;-------------------------------------------------------------------- |
1781 | .window: |
1781 | .window: |
1782 | pushad |
1782 | pushad |
1783 | mcall 12,1 |
1783 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
1784 | mcall 0,50*65536+320,0x70*65536+240,0x13000000,,help_but_text |
1784 | mcall SF_CREATE_WINDOW,50*65536+320,0x70*65536+240,0x13000000,,help_but_text |
1785 | mcall 8,<130,20>,<6,12>,2,0xaaaaaa |
1785 | mcall SF_DEFINE_BUTTON,<130,20>,<6,12>,2,0xaaaaaa |
1786 | mcall ,<150,20>,,3, |
1786 | mcall ,<150,20>,,3, |
1787 | mov ebx,8*65536+15 |
1787 | mov ebx,8*65536+15 |
1788 | mov ecx,0x00DDDDDD |
1788 | mov ecx,0x00DDDDDD |
1789 | xor edx,edx |
1789 | xor edx,edx |
1790 | movzx eax,byte [cur_help_string] |
1790 | movzx eax,byte [cur_help_string] |
Line 1792... | Line 1792... | ||
1792 | sub edi,eax |
1792 | sub edi,eax |
1793 | mov esi,51 |
1793 | mov esi,51 |
1794 | mul si |
1794 | mul si |
1795 | mov edx,help_text |
1795 | mov edx,help_text |
1796 | add edx,eax |
1796 | add edx,eax |
1797 | mov eax,4 |
1797 | mov eax,SF_DRAW_TEXT |
1798 | @@: |
1798 | @@: |
1799 | add ebx,0x10 |
1799 | add ebx,0x10 |
1800 | mcall |
1800 | mcall |
1801 | add edx,51 |
1801 | add edx,51 |
1802 | dec edi |
1802 | dec edi |
1803 | jnz @b |
1803 | jnz @b |
1804 | mcall 12,2 |
1804 | mcall SF_REDRAW,SSF_END_DRAW |
1805 | popad |
1805 | popad |
1806 | ret |
1806 | ret |
1807 | ;-------------------------------------------------------------------- |
1807 | ;-------------------------------------------------------------------- |
1808 | .threat_stack: times 16 dd 0 |
1808 | .threat_stack: times 16 dd 0 |
1809 | ;-------------------------------------------------------------------- |
1809 | ;-------------------------------------------------------------------- |
1810 | open_file: |
1810 | open_file: |
1811 | mov [func_70.func_n],5 |
1811 | mov [func_70.Function],SSF_GET_INFO |
1812 | mov [func_70.param1],0 |
1812 | mov [func_70.Position],0 |
1813 | mov [func_70.param2],0 |
1813 | mov [func_70.Flags],0 |
1814 | mov [func_70.param3],0 |
1814 | mov [func_70.Count],0 |
1815 | mov [func_70.param4],bufferfinfo |
1815 | mov [func_70.Buffer],bufferfinfo |
1816 | mov [func_70.rezerv],0 |
1816 | mov [func_70.rezerv],0 |
1817 | mov [func_70.name],file_name |
1817 | mov [func_70.FileName],file_name |
1818 | mcall 70,func_70 |
1818 | mcall SF_FILE,func_70 |
Line 1819... | Line 1819... | ||
1819 | 1819 | ||
1820 | test al,al ;ä ©« ©¤¥? |
1820 | test al,al ;ä ©« ©¤¥? |
1821 | jz @f |
1821 | jz @f |
1822 | mcall 4,400*65536+31,0x80CC0000,error_open_file_string |
1822 | mcall SF_DRAW_TEXT,400*65536+31,0x80CC0000,error_open_file_string |
1823 | jmp open_file |
1823 | jmp open_file |
1824 | ;-------------------------------------------------------------------- |
1824 | ;-------------------------------------------------------------------- |
1825 | @@: |
- | |
1826 | ; mov edx,[blocks_counter] |
- | |
1827 | ; mov edi,[blocks_table] |
- | |
1828 | ; @@: mov ecx,[edi] ;¢ë᢮¡®¦¤ ¥¬: |
- | |
1829 | ; mcall 68,13 ;¡«®ª¨ ä ©« |
- | |
1830 | ; add edi,8 |
- | |
1831 | ; dec edx |
- | |
1832 | ; jnz @b |
- | |
1833 | ; mcall 68,13,[blocks_table] ;â ¡«¨æã |
- | |
1834 | 1825 | @@: |
|
1835 | mov eax, dword [bufferfinfo+32] ;ª®¯¨à㥬 à §¬¥à ä ©« |
1826 | mov eax, dword [bufferfinfo+32] ;ª®¯¨à㥬 à §¬¥à ä ©« |
Line 1836... | Line -... | ||
1836 | mov [file_size],eax |
- | |
1837 | - | ||
1838 | ; mov ebx,65536 ;64 ¡«®ª |
- | |
1839 | ; xor edx,edx |
- | |
1840 | ; div ebx |
- | |
1841 | ; push dx ;¤«¨ ¯®á«¥¤¥£® ¡«®ª |
- | |
1842 | ; test dx,dx |
- | |
1843 | ; jz @f |
- | |
1844 | ; inc eax |
- | |
1845 | ; @@: test eax,eax |
- | |
1846 | ; jnz @f |
- | |
1847 | ; inc eax |
- | |
1848 | ; @@: mov [blocks_counter],eax |
- | |
1849 | ; sal eax,3;*8 ;à §¬¥à â ¡«¨æë á ¨¤¥ªá ¬¨ ¡«®ª®¢ |
- | |
1850 | ;; add eax,32 ;à¥è ¥¬ ¯à®¡«¥¬ã á 32 ä ©« ¬¨ |
- | |
1851 | - | ||
1852 | ; mov ecx,eax ;¢ë¤¥«ï¥¬ ¯ ¬ïâì: |
- | |
1853 | ; mcall 68,12 ;¯®¤ â ¡«¨æã |
- | |
1854 | ; mov [blocks_table],eax |
- | |
1855 | ; mov edi,eax |
- | |
1856 | ; mov ecx,[blocks_counter] |
- | |
1857 | ; @@: mov dword [edi+4],65536 |
- | |
1858 | ; add edi,8 |
- | |
1859 | ; loop @b |
- | |
1860 | ; xor edx,edx |
- | |
1861 | ; pop dx ;¤«¨ ¯®á«¥¤¥£® ¡«®ª |
- | |
1862 | ; mov dword [edi-4],edx |
- | |
1863 | - | ||
1864 | ; mov edx,[blocks_counter] |
- | |
1865 | ; mov edi,[blocks_table] |
- | |
1866 | ;@@: mcall 68,12,[edi+4] ;¯®¤ ¡«®ª |
- | |
1867 | ; mov [edi],eax |
- | |
1868 | ; add edi,8 |
- | |
1869 | ; dec edx |
- | |
1870 | ; jnz @b |
1827 | mov [file_size],eax |
1871 | 1828 | ||
1872 | mcall 68,13,[file_buffer] |
1829 | mcall SF_SYS_MISC,SSF_MEM_FREE,[file_buffer] |
1873 | test eax,eax |
1830 | test eax,eax |
1874 | jnz @f |
1831 | jnz @f |
1875 | ;§¤¥áì ®è¨¡ª ¥ ®á¢®¡®¦¤¥¨¥ ¡«®ª |
1832 | ;§¤¥áì ®è¨¡ª ¥ ®á¢®¡®¦¤¥¨¥ ¡«®ª |
- | 1833 | @@: |
|
- | 1834 | mov ecx,[file_size] |
|
- | 1835 | or ecx,ecx |
|
- | 1836 | jnz @f |
|
- | 1837 | inc ecx ;¥á«¨ à §¬¥à ä ©« 0 ¡ ©â |
|
1876 | @@: |
1838 | @@: |
Line 1877... | Line 1839... | ||
1877 | mcall 68,12,[file_size] |
1839 | mcall SF_SYS_MISC,SSF_MEM_ALLOC |
Line 1878... | Line -... | ||
1878 | mov [file_buffer],eax |
- | |
1879 | - | ||
1880 | ;;¨¬¥¥¬ â ¡«¨æã: [ DWORD 㪠§ â¥«ì ¯¥à¢ë© í«¥¬¥â ¡«®ª : DWORD ¤«¨ ¡«®ª ] |
1840 | mov [file_buffer],eax |
1881 | 1841 | ||
1882 | ; mov ecx,[blocks_counter] ;®âªàë¢ ¥¬ ä ©« |
1842 | ;;¨¬¥¥¬ â ¡«¨æã: [ DWORD 㪠§ â¥«ì ¯¥à¢ë© í«¥¬¥â ¡«®ª : DWORD ¤«¨ ¡«®ª ] |
1883 | ; mov edi,[blocks_table] |
1843 | |
1884 | mov [func_70.func_n],0 |
1844 | mov [func_70.Function],SSF_READ_FILE |
1885 | mov [func_70.param1],0 |
- | |
1886 | mov [func_70.param2],0 |
1845 | mov [func_70.Position],0 |
1887 | mov [func_70.rezerv],0 |
1846 | mov [func_70.Flags],0 |
1888 | mov [func_70.name],file_name |
1847 | mov [func_70.rezerv],0 |
1889 | ;@@: |
1848 | mov [func_70.FileName],file_name |
1890 | push dword [file_size];dword [edi+4] |
1849 | push dword [file_size];dword [edi+4] |
1891 | pop dword [func_70.param3] |
- | |
1892 | push dword [file_buffer];dword [edi] |
- | |
1893 | pop dword [func_70.param4] |
- | |
Line 1894... | Line 1850... | ||
1894 | mcall 70,func_70 |
1850 | pop dword [func_70.Count] |
1895 | ; add edi,8 |
1851 | push dword [file_buffer];dword [edi] |
1896 | ; add dword [func_70.param1],65536 |
1852 | pop dword [func_70.Buffer] |
1897 | ; loop @b |
1853 | mcall SF_FILE,func_70 |
Line 1909... | Line 1865... | ||
1909 | 1865 | ||
1910 | push dword OpenDialog_data |
1866 | push dword OpenDialog_data |
Line 1911... | Line 1867... | ||
1911 | call [OpenDialog_Start] |
1867 | call [OpenDialog_Start] |
1912 | - | ||
1913 | ; cmp [OpenDialog_data.status],2 ; OpenDialog does not start |
- | |
1914 | ;; je .sysxtree ; some kind of alternative, instead OpenDialog |
1868 | |
1915 | ; je save_file |
1869 | ; cmp [OpenDialog_data.status],2 ; OpenDialog does not start |
1916 | cmp [OpenDialog_data.status],1 |
1870 | cmp [OpenDialog_data.status],1 |
1917 | jne still |
1871 | jne still |
1918 | mov esi,fname_buf |
1872 | mov esi,fname_buf |
Line 1930... | Line 1884... | ||
1930 | mov [edit1.size],esi |
1884 | mov [edit1.size],esi |
1931 | mov [edit1.pos],esi |
1885 | mov [edit1.pos],esi |
1932 | ; jmp save_file |
1886 | ; jmp save_file |
1933 | ;------------------------------------------------------------------------------- |
1887 | ;------------------------------------------------------------------------------- |
1934 | save_file: ;á®åà 塞 ä ©« |
1888 | save_file: ;á®åà 塞 ä ©« |
1935 | mov [func_70.func_n],2 |
1889 | mov [func_70.Function],SSF_CREATE_FILE |
1936 | mov [func_70.param1],0 |
1890 | mov [func_70.Position],0 |
1937 | mov [func_70.param2],0 |
1891 | mov [func_70.Flags],0 |
1938 | push [file_size] |
1892 | push [file_size] |
1939 | pop [func_70.param3] |
1893 | pop [func_70.Count] |
1940 | push [file_buffer] |
1894 | push [file_buffer] |
1941 | pop [func_70.param4] |
1895 | pop [func_70.Buffer] |
1942 | mov [func_70.rezerv],0 |
1896 | mov [func_70.rezerv],0 |
1943 | mov [func_70.name],file_name |
1897 | mov [func_70.FileName],file_name |
1944 | mcall 70,func_70 |
1898 | mcall SF_FILE,func_70 |
1945 | cmp al,0 ;á®åà ñ 㤠ç®? |
1899 | cmp al,0 ;á®åà ñ 㤠ç®? |
1946 | je redraw_all |
1900 | je redraw_all |
1947 | mcall 4,400*65536+31,0x80CC0000,error_save_file_string |
1901 | mcall SF_DRAW_TEXT,400*65536+31,0x80CC0000,error_save_file_string |
1948 | jmp save_file |
1902 | jmp save_file |
1949 | ;------------------------------------------------------------------------------- |
1903 | ;------------------------------------------------------------------------------- |
1950 | draw_ed_box: ;à¨á®¢ ¨¥ edit box' |
1904 | draw_ed_box: ;à¨á®¢ ¨¥ edit box' |
1951 | .1: |
1905 | .1: |
1952 | push eax ebx ecx edx |
1906 | push eax ebx ecx edx |
1953 | mcall 13,180*65536+220,25*65536+70,0xaaaaaa |
1907 | mcall SF_DRAW_RECT,180*65536+220,25*65536+70,0xaaaaaa |
1954 | bt [flags],9 |
1908 | bt [flags],9 |
1955 | jnc @f |
1909 | jnc @f |
1956 | mcall 4,246*65536+35,0x80ffffff,sel_text |
1910 | mcall SF_DRAW_TEXT,246*65536+35,0x80ffffff,sel_text |
1957 | @@: |
1911 | @@: |
1958 | bt [flags],2 |
1912 | bt [flags],2 |
1959 | jnc @f |
1913 | jnc @f |
1960 | push dword Option_boxs |
1914 | push dword Option_boxs |
1961 | call [option_box_draw] |
1915 | call [option_box_draw] |
Line 1972... | Line 1926... | ||
1972 | push dword [eax] |
1926 | push dword [eax] |
1973 | call [edit_box_draw] |
1927 | call [edit_box_draw] |
1974 | loop @b |
1928 | loop @b |
1975 | pop edx ecx ebx eax |
1929 | pop edx ecx ebx eax |
1976 | .2: |
1930 | .2: |
1977 | mcall 10 |
1931 | mcall SF_WAIT_EVENT |
1978 | cmp al,6 |
1932 | cmp al,6 |
1979 | je .mouse |
1933 | je .mouse |
1980 | cmp al,3 |
1934 | cmp al,3 |
1981 | je .button |
1935 | je .button |
1982 | cmp al,2 |
1936 | cmp al,2 |
Line 2016... | Line 1970... | ||
2016 | call [option_box_mouse] |
1970 | call [option_box_mouse] |
2017 | @@: |
1971 | @@: |
2018 | jmp .2 |
1972 | jmp .2 |
2019 | ;-------------------------------------------------------------------- |
1973 | ;-------------------------------------------------------------------- |
2020 | .keys: |
1974 | .keys: |
2021 | mcall 2 |
1975 | mcall SF_GET_KEY |
2022 | cmp ah,13 |
1976 | cmp ah,13 |
2023 | je .4 |
1977 | je .4 |
2024 | cmp ah,27 |
1978 | cmp ah,27 |
2025 | je .3 |
1979 | je .3 |
Line 2182... | Line 2136... | ||
2182 | push dword [ed_box_data+4];[esp] |
2136 | push dword [ed_box_data+4];[esp] |
2183 | call [edit_box_key] |
2137 | call [edit_box_key] |
2184 | jmp .2 |
2138 | jmp .2 |
2185 | ;-------------------------------------------------------------------- |
2139 | ;-------------------------------------------------------------------- |
2186 | .button: |
2140 | .button: |
2187 | mcall 17 |
2141 | mcall SF_GET_BUTTON |
2188 | cmp ah,1 |
2142 | cmp ah,1 |
2189 | jne .2 |
2143 | jne .2 |
2190 | jmp close_prog |
2144 | jmp close_prog |
2191 | .3: |
2145 | .3: |
2192 | btr [flags],2 |
2146 | btr [flags],2 |
2193 | btr [flags],3 |
2147 | btr [flags],3 |
2194 | add esp,4 |
2148 | add esp,4 |
2195 | jmp redraw_all |
2149 | jmp redraw_all |
2196 | .4: |
2150 | .4: |
2197 | mcall 13,180*65536+220,25*65536+70,frgrd_color |
2151 | mcall SF_DRAW_RECT,180*65536+220,25*65536+70,frgrd_color |
2198 | ret |
2152 | ret |
2199 | ;-------------------------------------------------------------------- |
2153 | ;-------------------------------------------------------------------- |
2200 | strtohex: |
2154 | strtohex: |
2201 | ;enter: edi - pointer to string,ebx - pointer to size of string; exit: eax in hex |
2155 | ;enter: edi - pointer to string,ebx - pointer to size of string; exit: eax in hex |
2202 | mov esi,hex8_string |
2156 | mov esi,hex8_string |
Line 2754... | Line 2708... | ||
2754 | mov eax,[shblock_end] |
2708 | mov eax,[shblock_end] |
2755 | sub eax,[shblock_beg] |
2709 | sub eax,[shblock_beg] |
2756 | inc eax |
2710 | inc eax |
2757 | mov ecx,eax |
2711 | mov ecx,eax |
2758 | mov [copy_len],eax |
2712 | mov [copy_len],eax |
2759 | mcall 68,20,,[copy_buf] |
2713 | mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[copy_buf] |
2760 | mov esi,[shblock_beg] |
2714 | mov esi,[shblock_beg] |
2761 | mov edi,[copy_buf] |
2715 | mov edi,[copy_buf] |
2762 | add esi,[file_buffer] |
2716 | add esi,[file_buffer] |
2763 | mov ecx,[copy_len] |
2717 | mov ecx,[copy_len] |
2764 | cld |
2718 | cld |
Line 2913... | Line 2867... | ||
2913 | 2867 | ||
2914 | push dword OpenDialog_data |
2868 | push dword OpenDialog_data |
Line 2915... | Line 2869... | ||
2915 | call [OpenDialog_Start] |
2869 | call [OpenDialog_Start] |
2916 | - | ||
2917 | ; cmp [OpenDialog_data.status],2 ; OpenDialog does not start |
2870 | |
2918 | ; je .sysxtree ; some kind of alternative, instead OpenDialog |
2871 | ; cmp [OpenDialog_data.status],2 ; OpenDialog does not start |
2919 | cmp [OpenDialog_data.status],1 |
2872 | cmp [OpenDialog_data.status],1 |
2920 | jne still |
2873 | jne still |
2921 | .start: |
2874 | .start: |