Rev 1464 | Rev 1468 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1464 | Rev 1467 | ||
---|---|---|---|
Line 17... | Line 17... | ||
17 | include 'mem.inc' |
17 | include 'mem.inc' |
18 | include 'dll.inc' |
18 | include 'dll.inc' |
Line 19... | Line 19... | ||
19 | 19 | ||
20 | include '../../develop/libraries/box_lib/load_lib.mac' |
20 | include '../../develop/libraries/box_lib/load_lib.mac' |
- | 21 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
|
- | 22 | include '../../develop/libraries/box_lib/asm/trunk/opendial.mac' |
|
Line 21... | Line 23... | ||
21 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
23 | use_OpenDialog |
22 | 24 | ||
23 | min_window_w equ 485 ;¬¨¨¬ «ì ï è¨à¨ ®ª |
25 | min_window_w equ 485 ;¬¨¨¬ «ì ï è¨à¨ ®ª |
Line 107... | Line 109... | ||
107 | mov dword[txt_tile_type_0],'.bmp' ;¥á«¨ ¢ *.ini ä ©«¥ ¨ç¥£® ¥â ¤®¡ ¢«ï¥¬ à áè¨à¥¨¥ .bmp |
109 | mov dword[txt_tile_type_0],'.bmp' ;¥á«¨ ¢ *.ini ä ©«¥ ¨ç¥£® ¥â ¤®¡ ¢«ï¥¬ à áè¨à¥¨¥ .bmp |
108 | @@: |
110 | @@: |
109 | stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1 |
111 | stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1 |
Line 110... | Line 112... | ||
110 | 112 | ||
111 | ; init bmp file |
113 | ; init bmp file |
112 | push dword RGB_TILE_SIZE+300 ;300 - § ¯ áë¥ ¡ ©âë á ãç¥â®¬ § £®«®¢ª bmp ä ©« |
- | |
113 | call mem.Alloc |
114 | stdcall mem.Alloc, dword RGB_TILE_SIZE+300 ;300 - § ¯ áë¥ ¡ ©âë á ãç¥â®¬ § £®«®¢ª bmp ä ©« |
Line 114... | Line 115... | ||
114 | mov [bmp_icon],eax |
115 | mov [bmp_icon],eax |
115 | 116 | ||
Line 116... | Line 117... | ||
116 | stdcall array_tile_function, tile_00,max_tiles_count,tile_init |
117 | stdcall array_tile_function, tile_00,max_tiles_count,tile_init |
117 | stdcall tiles_init_grid, tile_00,max_tiles_count,max_tiles_cols |
- | |
118 | 118 | stdcall tiles_init_grid, tile_00,max_tiles_count,max_tiles_cols |
|
Line 119... | Line 119... | ||
119 | push dword TREE_ICON_SYS16_BMP_SIZE |
119 | |
120 | call mem.Alloc |
- | |
121 | mov [tree_sys_icon],eax |
120 | stdcall mem.Alloc, dword TREE_ICON_SYS16_BMP_SIZE |
Line 122... | Line 121... | ||
122 | 121 | mov [tree_sys_icon],eax |
|
123 | push dword TREE_ICON_NOD16_BMP_SIZE |
122 | |
124 | call mem.Alloc |
123 | stdcall mem.Alloc, dword TREE_ICON_NOD16_BMP_SIZE |
Line 171... | Line 170... | ||
171 | edit_boxes_set_sys_color edit1,editboxes_end,sc |
170 | edit_boxes_set_sys_color edit1,editboxes_end,sc |
172 | check_boxes_set_sys_color ch1,checkboxes_end,sc |
171 | check_boxes_set_sys_color ch1,checkboxes_end,sc |
Line 173... | Line 172... | ||
173 | 172 | ||
Line -... | Line 173... | ||
- | 173 | mov byte[file_name],0 |
|
- | 174 | ||
- | 175 | ; OpenDialog initialisation |
|
- | 176 | init_OpenDialog OpenDialog_data |
|
174 | mov byte[file_name],0 |
177 | |
175 | 178 | align 4 |
|
176 | red_win: |
179 | red_win: |
Line -... | Line 180... | ||
- | 180 | call draw_window |
|
177 | call draw_win |
181 | call but_MetLoad |
178 | call but_MetLoad |
182 | |
179 | 183 | align 4 |
|
Line 180... | Line 184... | ||
180 | still: |
184 | still: |
Line 199... | Line 203... | ||
199 | stdcall [tl_mouse], tree1 |
203 | stdcall [tl_mouse], tree1 |
200 | stdcall [tl_mouse], tree2 |
204 | stdcall [tl_mouse], tree2 |
Line 201... | Line 205... | ||
201 | 205 | ||
Line -... | Line 206... | ||
- | 206 | jmp still |
|
202 | jmp still |
207 | |
203 | 208 | align 4 |
|
204 | key: |
209 | key: |
205 | push eax ebx |
210 | push eax ebx |
206 | mcall 2 |
211 | mcall 2 |
Line 210... | Line 215... | ||
210 | push dword tree1 |
215 | push dword tree1 |
211 | call [tl_key] |
216 | call [tl_key] |
212 | push dword tree2 |
217 | push dword tree2 |
213 | call [tl_key] |
218 | call [tl_key] |
Line 214... | Line 219... | ||
214 | 219 | ||
215 | mov ebx,dword[el_focus] ;÷òî-áû êàðòà íå äâèãàëàñü åñëè îêíà treelist â ôîêóñå |
220 | mov ebx,dword[el_focus] ;çâ®-¡ë ª àâ ¥ ¤¢¨£ « áì ¥á«¨ ®ª treelist ¢ 䮪ãᥠ|
216 | cmp ebx, dword tree1 |
221 | cmp ebx, dword tree1 |
217 | je .end_f |
222 | je .end_f |
218 | cmp ebx, dword tree2 |
223 | cmp ebx, dword tree2 |
Line 219... | Line 224... | ||
219 | je .end_f |
224 | je .end_f |
220 | 225 | ||
221 | ;÷òî-áû êàðòà íå äâèãàëàñü åñëè òåêñòîâûå ïîëÿ â ôîêóñå |
226 | ;çâ®-¡ë ª àâ ¥ ¤¢¨£ « áì ¥á«¨ ⥪áâ®¢ë¥ ¯®«ï ¢ 䮪ãᥠ|
222 | test word[edit1.flags],10b ;ed_focus |
227 | test word[edit1.flags],10b ;ed_focus |
223 | jne .end_f |
228 | jne .end_f |
Line 264... | Line 269... | ||
264 | pop ebx eax |
269 | pop ebx eax |
265 | jmp still |
270 | jmp still |
Line 266... | Line 271... | ||
266 | 271 | ||
267 | 272 | ||
268 | align 4 |
273 | align 4 |
269 | draw_win: |
274 | draw_window: |
Line 270... | Line 275... | ||
270 | pushad |
275 | pushad |
271 | mcall 12,1 |
276 | mcall 12,1 |
Line 299... | Line 304... | ||
299 | add dword[edit2.left],370-otst_panel_left |
304 | add dword[edit2.left],370-otst_panel_left |
Line 300... | Line 305... | ||
300 | 305 | ||
301 | stdcall dword[tl_draw],dword tree1 |
306 | stdcall dword[tl_draw],dword tree1 |
302 | stdcall dword[tl_draw],dword tree2 |
307 | stdcall dword[tl_draw],dword tree2 |
303 | mov dword[wScrMetki.all_redraw],1 |
- | |
304 | push dword wScrMetki |
308 | mov dword[wScrMetki.all_redraw],1 |
Line 305... | Line 309... | ||
305 | call [scrollbar_ver_draw] |
309 | stdcall [scrollbar_ver_draw], dword wScrMetki |
306 | 310 | ||
307 | mov eax,8 ;ª®¯ª |
311 | mov eax,8 ;ª®¯ª |
308 | mov ebx,145*65536+20 |
312 | mov ebx,145*65536+20 |
Line 314... | Line 318... | ||
314 | mov ebx,100*65536+20 |
318 | mov ebx,100*65536+20 |
315 | mov ecx,5*65536+25 |
319 | mov ecx,5*65536+25 |
316 | mov edx,5 |
320 | mov edx,5 |
317 | int 0x40 |
321 | int 0x40 |
Line -... | Line 322... | ||
- | 322 | ||
- | 323 | mov ebx,170*65536+40 ;ª®¯ª ¢ë§®¢ ¤¨ «®£ OpenDial |
|
- | 324 | ;mov ecx,5*65536+25 |
|
- | 325 | mov edx,13 |
|
- | 326 | int 0x40 |
|
318 | 327 | ||
319 | mov bx,di |
328 | mov bx,di |
320 | shl ebx,16 |
329 | shl ebx,16 |
321 | mov bx,100 |
330 | mov bx,100 |
322 | mov ecx,265*65536+25 |
331 | mov ecx,265*65536+25 |
Line 349... | Line 358... | ||
349 | mov bx,di |
358 | mov bx,di |
350 | add bx,405-otst_panel_left |
359 | add bx,405-otst_panel_left |
351 | shl ebx,16 |
360 | shl ebx,16 |
352 | mov bx,30 |
361 | mov bx,30 |
353 | ;mov ebx,405*65536+30 |
362 | ;mov ebx,405*65536+30 |
354 | mov ecx,265*65536+25 |
363 | ;mov ecx,265*65536+25 |
355 | mov edx,11 |
364 | mov edx,11 |
356 | int 0x40 |
365 | int 0x40 |
Line 357... | Line 366... | ||
357 | 366 | ||
358 | mov bx,di |
367 | mov bx,di |
359 | add bx,370-otst_panel_left |
368 | add bx,370-otst_panel_left |
360 | shl ebx,16 |
369 | shl ebx,16 |
361 | mov bx,30 |
370 | mov bx,30 |
362 | ;mov ebx,370*65536+30 |
371 | ;mov ebx,370*65536+30 |
363 | mov ecx,265*65536+25 |
372 | ;mov ecx,265*65536+25 |
364 | mov edx,10 |
373 | mov edx,10 |
Line 365... | Line 374... | ||
365 | int 0x40 |
374 | int 0x40 |
366 | 375 | ||
Line 444... | Line 453... | ||
444 | mov edx,txt142 |
453 | mov edx,txt142 |
445 | int 0x40 |
454 | int 0x40 |
Line 446... | Line 455... | ||
446 | 455 | ||
Line 447... | Line -... | ||
447 | call draw_tiles |
- | |
448 | 456 | call draw_tiles |
|
449 | push dword ch2 |
- | |
450 | call [check_box_draw] |
457 | |
451 | push dword ch1 |
- | |
452 | call [check_box_draw] |
458 | stdcall [check_box_draw], dword ch1 |
453 | 459 | stdcall [check_box_draw], dword ch2 |
|
Line 454... | Line 460... | ||
454 | stdcall [edit_box_draw], edit1 |
460 | stdcall [edit_box_draw], edit1 |
455 | stdcall [edit_box_draw], edit2 |
461 | stdcall [edit_box_draw], edit2 |
Line 520... | Line 526... | ||
520 | @@: |
526 | @@: |
521 | cmp ah,12 |
527 | cmp ah,12 |
522 | jne @f |
528 | jne @f |
523 | call fun_goto_met |
529 | call fun_goto_met |
524 | @@: |
530 | @@: |
- | 531 | cmp ah,13 ;¤¨ «®£ OpenDialog ¤«ï ¯®¨áª ¯ ¯ª¨ |
|
- | 532 | jne @f |
|
- | 533 | call fun_opn_dlg |
|
- | 534 | @@: |
|
525 | cmp ah,1 |
535 | cmp ah,1 |
526 | jne still |
536 | jne still |
Line 527... | Line 537... | ||
527 | 537 | ||
528 | .exit: |
538 | .exit: |
529 | push dword[bmp_icon] |
539 | push dword[bmp_icon] |
530 | call mem.Free |
540 | call mem.Free |
Line 531... | Line 541... | ||
531 | stdcall array_tile_function, tile_00,max_tiles_count,tile_destroy |
541 | stdcall array_tile_function, tile_00,max_tiles_count,tile_destroy |
532 | 542 | ||
533 | stdcall dword[tl_data_clear], tree1 |
543 | stdcall dword[tl_data_clear], tree1 |
534 | mov dword[tree2.data_img_sys],0 ;÷èñòèì óêàçàòåëü íà ñèñòåìíûå èêîíêè, |
544 | mov dword[tree2.data_img_sys],0 ;ç¨á⨬ 㪠§ ⥫ì á¨áâ¥¬ë¥ ¨ª®ª¨, |
535 | ;ò. ê. îíè áûëè óäàëåíû âåðõíåé ôóíêöèåé tl_data_clear |
545 | ;â. ª. ®¨ ¡ë«¨ 㤠«¥ë ¢¥à奩 äãªæ¨¥© tl_data_clear |
536 | ;ïîâòîðíûé âûçîâ tl_data_clear áåç ÷èñòêè óêàçàòåëÿ âûçâåò îøèáêó |
546 | ;¯®¢â®àë© ¢ë§®¢ tl_data_clear ¡¥§ ç¨á⪨ 㪠§ â¥«ï ¢ë§¢¥â ®è¨¡ªã |
Line 537... | Line 547... | ||
537 | mov dword[tree2.data_img],0 ;÷èñòèì óêàçàòåëü íà èêîíêè óçëîâ |
547 | mov dword[tree2.data_img],0 ;ç¨á⨬ 㪠§ â¥«ì ¨ª®ª¨ 㧫®¢ |
538 | stdcall dword[tl_data_clear], tree2 |
548 | stdcall dword[tl_data_clear], tree2 |
Line 548... | Line 558... | ||
548 | proc img_rgb_wdiv2 data_rgb:dword, size:dword |
558 | proc img_rgb_wdiv2 data_rgb:dword, size:dword |
549 | push eax ebx ecx edx |
559 | push eax ebx ecx edx |
550 | mov eax,dword[data_rgb] |
560 | mov eax,dword[data_rgb] |
551 | mov ecx,dword[size] ;ecx = size |
561 | mov ecx,dword[size] ;ecx = size |
552 | imul ecx,3 |
562 | imul ecx,3 |
553 | @@: ;çàòåìíåíèå öâåòà ïèêñåëåé |
563 | @@: ;§ ⥬¥¨¥ 梥⠯¨ªá¥«¥© |
554 | shr byte[eax],1 |
564 | shr byte[eax],1 |
555 | and byte[eax],0x7f |
565 | and byte[eax],0x7f |
556 | inc eax |
566 | inc eax |
557 | loop @b |
567 | loop @b |
Line 558... | Line 568... | ||
558 | 568 | ||
559 | mov eax,dword[data_rgb] |
569 | mov eax,dword[data_rgb] |
560 | mov ecx,dword[size] ;ecx = size |
570 | mov ecx,dword[size] ;ecx = size |
561 | shr ecx,1 |
571 | shr ecx,1 |
562 | @@: ;ñëîæåíèå öâåòîâ ïèêñåëåé |
572 | @@: ;á«®¦¥¨¥ 梥⮢ ¯¨ªá¥«¥© |
563 | mov ebx,dword[eax+3] ;êîïèðóåì öâåò ñîñåäíåãî ïèêñåëÿ |
573 | mov ebx,dword[eax+3] ;ª®¯¨à㥬 梥â á®á¥¤¥£® ¯¨ªá¥«ï |
564 | add word[eax],bx |
574 | add word[eax],bx |
565 | shr ebx,16 |
575 | shr ebx,16 |
Line 566... | Line 576... | ||
566 | add byte[eax+2],bl |
576 | add byte[eax+2],bl |
Line 572... | Line 582... | ||
572 | add eax,3 |
582 | add eax,3 |
573 | mov ebx,eax |
583 | mov ebx,eax |
574 | add ebx,3 |
584 | add ebx,3 |
575 | mov ecx,dword[size] ;ecx = size |
585 | mov ecx,dword[size] ;ecx = size |
576 | shr ecx,1 |
586 | shr ecx,1 |
577 | dec ecx ;ëèøíèé ïèêñåëü |
587 | dec ecx ;«¨è¨© ¯¨ªá¥«ì |
578 | @@: ;ïîäæàòèå ïèêñåëåé |
588 | @@: ;¯®¤¦ ⨥ ¯¨ªá¥«¥© |
579 | mov edx,dword[ebx] |
589 | mov edx,dword[ebx] |
580 | mov word[eax],dx |
590 | mov word[eax],dx |
581 | shr edx,16 |
591 | shr edx,16 |
582 | mov byte[eax+2],dl |
592 | mov byte[eax+2],dl |
Line 598... | Line 608... | ||
598 | pushad |
608 | pushad |
Line 599... | Line 609... | ||
599 | 609 | ||
600 | mov eax,dword[data_rgb] ;eax = |
610 | mov eax,dword[data_rgb] ;eax = |
601 | mov ecx,dword[size] ;ecx = size |
611 | mov ecx,dword[size] ;ecx = size |
602 | imul ecx,3 |
612 | imul ecx,3 |
603 | @@: ;çàòåìíåíèå öâåòà ïèêñåëåé |
613 | @@: ;§ ⥬¥¨¥ 梥⠯¨ªá¥«¥© |
604 | shr byte[eax],1 |
614 | shr byte[eax],1 |
605 | and byte[eax],0x7f |
615 | and byte[eax],0x7f |
606 | inc eax |
616 | inc eax |
Line 612... | Line 622... | ||
612 | mov ebx,esi |
622 | mov ebx,esi |
613 | add ebx,eax |
623 | add ebx,eax |
614 | mov ecx,dword[size] ;ecx = size |
624 | mov ecx,dword[size] ;ecx = size |
615 | shr ecx,1 |
625 | shr ecx,1 |
616 | xor edi,edi |
626 | xor edi,edi |
617 | @@: ;ñëîæåíèå öâåòîâ ïèêñåëåé |
627 | @@: ;á«®¦¥¨¥ 梥⮢ ¯¨ªá¥«¥© |
618 | mov edx,dword[ebx] ;êîïèðóåì öâåò íèæíåãî ïèêñåëÿ |
628 | mov edx,dword[ebx] ;ª®¯¨à㥬 梥⠨¦¥£® ¯¨ªá¥«ï |
619 | add word[eax],dx |
629 | add word[eax],dx |
620 | shr edx,16 |
630 | shr edx,16 |
621 | add byte[eax+2],dl |
631 | add byte[eax+2],dl |
Line 622... | Line 632... | ||
622 | 632 | ||
Line 636... | Line 646... | ||
636 | add eax,esi ;esi = width*3(rgb) |
646 | add eax,esi ;esi = width*3(rgb) |
637 | mov ebx,esi |
647 | mov ebx,esi |
638 | add ebx,eax |
648 | add ebx,eax |
639 | mov ecx,dword[size] ;ecx = size |
649 | mov ecx,dword[size] ;ecx = size |
640 | shr ecx,1 |
650 | shr ecx,1 |
641 | sub ecx,dword[size_w] ;ëèøíÿÿ ñòðîêà ïèêñåëåé |
651 | sub ecx,dword[size_w] ;«¨èïï áâப ¯¨ªá¥«¥© |
642 | xor edi,edi |
652 | xor edi,edi |
643 | @@: ;ïîäæàòèå ïèêñåëåé |
653 | @@: ;¯®¤¦ ⨥ ¯¨ªá¥«¥© |
644 | mov edx,dword[ebx] ;êîïèðóåì öâåò íèæíåãî ïèêñåëÿ |
654 | mov edx,dword[ebx] ;ª®¯¨à㥬 梥⠨¦¥£® ¯¨ªá¥«ï |
645 | mov word[eax],dx |
655 | mov word[eax],dx |
646 | shr edx,16 |
656 | shr edx,16 |
647 | mov byte[eax+2],dl |
657 | mov byte[eax+2],dl |
Line 648... | Line 658... | ||
648 | 658 | ||
Line 833... | Line 843... | ||
833 | repne stosb |
843 | repne stosb |
834 | pop edi ecx eax |
844 | pop edi ecx eax |
835 | ret |
845 | ret |
836 | endp |
846 | endp |
Line -... | Line 847... | ||
- | 847 | ||
- | 848 | align 4 |
|
- | 849 | fun_opn_dlg: ;äãªæ¨ï ¤«ï ¢ë§®¢ OpenFile ¤¨ «®£ |
|
- | 850 | pushad |
|
- | 851 | copy_path open_dialog_name,sys_path,file_name,0 |
|
- | 852 | mov [OpenDialog_data.type],2 |
|
- | 853 | mov dword[plugin_path],0 ;çâ®-¡ë ¯à¨ ®âªàë⨨ ¤¨ «®£®¢®£® ®ª ¯ãâì ¢á¥£¤ ¡à «áï ¨§ OpenDialog_data.dir_default_path |
|
- | 854 | start_OpenDialog OpenDialog_data |
|
- | 855 | cmp [OpenDialog_data.status],2 |
|
- | 856 | je @f |
|
- | 857 | mov esi,[OpenDialog_data.openfile_path] |
|
- | 858 | stdcall [str_len],dword[edit1.text],dword[edit1.max] |
|
- | 859 | mov [edit1.size],eax |
|
- | 860 | mov [edit1.pos],eax |
|
- | 861 | stdcall [edit_box_draw], edit1 |
|
- | 862 | @@: |
|
- | 863 | popad |
|
- | 864 | ret |
|
837 | 865 | ||
838 | txt_met_up db 24,0 |
866 | txt_met_up db 24,0 |
839 | txt_met_dn db 25,0 |
867 | txt_met_dn db 25,0 |
840 | txt_met_sh db '*',0 |
868 | txt_met_sh db '*',0 |
841 | txt_zoom_m db '-',0 |
869 | txt_zoom_m db '-',0 |
Line 853... | Line 881... | ||
853 | checkboxes_end: |
881 | checkboxes_end: |
Line 854... | Line 882... | ||
854 | 882 | ||
855 | ch_text1 db '¡à âì ᢥàåã' |
883 | ch_text1 db '¡à âì ᢥàåã' |
Line 856... | Line 884... | ||
856 | ch_text2 db '¡à âì ᨧã' |
884 | ch_text2 db '¡à âì ᨧã' |
857 | 885 | ||
858 | edit1 edit_box 190, 215, 10, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 500, ed_buffer.1, mouse_dd, 0 |
886 | edit1 edit_box 190, 215, 10, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 4090, openfile_path, mouse_dd, 0 |
Line 859... | Line 887... | ||
859 | edit2 edit_box 100, 370, 240, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 30, ed_buffer.2, mouse_dd, 0 |
887 | edit2 edit_box 100, 370, 240, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 30, ed_buffer.2, mouse_dd, 0 |
860 | editboxes_end: |
888 | editboxes_end: |
Line 899... | Line 927... | ||
899 | .work_size dd 0 ;+76 |
927 | .work_size dd 0 ;+76 |
900 | .all_redraw dd 0 ;+80 |
928 | .all_redraw dd 0 ;+80 |
901 | .ar_offset dd 1 ;+84 |
929 | .ar_offset dd 1 ;+84 |
Line 902... | Line 930... | ||
902 | 930 | ||
903 | ed_buffer: ;òåêñò äëÿ edit |
- | |
904 | .1: rb 502 |
931 | ed_buffer: ;òåêñò äëÿ edit |
Line 905... | Line 932... | ||
905 | .2: rb 32 |
932 | .2: rb 32 |
Line 906... | Line 933... | ||
906 | 933 | ||
Line 915... | Line 942... | ||
915 | run_file_70 FileInfoBlock |
942 | run_file_70 FileInfoBlock |
Line 916... | Line 943... | ||
916 | 943 | ||
917 | 944 | ||
918 | txt_tile_path db 'tile path',0 |
945 | txt_tile_path db 'tile path',0 |
919 | rb 300 |
946 | rb 300 |
920 | txt_tile_type dd txt_tile_type_0 ;óêàçàòåëü íà âûáðàííûé òèï ôàéëîâ |
947 | txt_tile_type dd txt_tile_type_0 ;㪠§ â¥«ì ¢ë¡à ë© â¨¯ ä ©«®¢ |
Line -... | Line 948... | ||
- | 948 | txt_tile_type_0 db 0 |
|
921 | txt_tile_type_0 db 0 |
949 | rb 10 |
- | 950 | ||
- | 951 | ;--------------------------------------------------------------------- |
|
- | 952 | align 4 |
|
- | 953 | OpenDialog_data: |
|
- | 954 | .type dd 2 |
|
- | 955 | .procinfo dd procinfo ;+4 |
|
- | 956 | .com_area_name dd communication_area_name ;+8 |
|
- | 957 | .com_area dd 0 ;+12 |
|
- | 958 | .opendir_path dd plugin_path ;+16 |
|
- | 959 | .dir_default_path dd openfile_path ;+20 |
|
- | 960 | .start_path dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢ |
|
- | 961 | .draw_window dd draw_window ;+28 |
|
- | 962 | .status dd 0 ;+32 |
|
- | 963 | .openfile_path dd openfile_path ;+36 ¯ãâì ª ®âªàë¢ ¥¬®¬ã ä ©«ã |
|
- | 964 | .filename_area dd filename_area ;+40 |
|
- | 965 | .filter_area dd Filter |
|
- | 966 | ||
- | 967 | communication_area_name: |
|
- | 968 | db 'FFFFFFFF_open_dialog',0 |
|
- | 969 | open_dialog_name: |
|
- | 970 | db 'opendial',0 |
|
- | 971 | communication_area_default_path: |
|
- | 972 | db '/rd/1',0 |
|
- | 973 | ||
- | 974 | Filter: |
|
- | 975 | dd Filter.end - Filter.1 |
|
- | 976 | .1: |
|
- | 977 | db 'TXT',0 |
|
- | 978 | .end: |
|
922 | rb 10 |
979 | db 0 |
923 | 980 | ||
924 | align 4 |
981 | align 4 |
925 | map: ;êîîðäèíàòû êàðòû |
982 | map: ;ª®®à¤¨ âë ª àâë |
Line 926... | Line 983... | ||
926 | .coord_x dd 0 ;êîîðäèíàòà x |
983 | .coord_x dd 0 ;ª®®à¤¨ â x |
927 | .coord_y dd 0 ;êîîðäèíàòà y |
984 | .coord_y dd 0 ;ª®®à¤¨ â y |
Line 928... | Line 985... | ||
928 | .zoom db 1 ;ìàñøòàá |
985 | .zoom db 1 ;¬ áèâ ¡ |
929 | 986 | ||
930 | align 4 |
987 | align 4 |
931 | tile_00 rb size_tile_struc * max_tiles_count |
988 | tile_00 rb size_tile_struc * max_tiles_count |
932 | 989 | ||
933 | ;ýòîò êîä íå ìîé, îí ïðåîáðàçóåò ÷èñëî â ñòðîêó |
990 | ;íâ®â ª®¤ ¥ ¬®©, ® ¯à¥®¡à §ã¥â ç¨á«® ¢ áâபã |
Line 944... | Line 1001... | ||
944 | popad |
1001 | popad |
945 | ret |
1002 | ret |
Line 946... | Line 1003... | ||
946 | 1003 | ||
947 | align 4 |
1004 | align 4 |
948 | .str: |
1005 | .str: |
949 | mov ecx,0x0a ;çàäàåòñÿ ñèñòåìà ñ÷èñëåíèÿ èçìåíÿþòñÿ ðåãèñòðû ebx,eax,ecx,edx âõîäíûå ïàðàìåòðû eax - ÷èñëî |
1006 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
950 | ;ïðåðåâîä ÷èñëà â ASCII ñòðîêó âçîäíûå äàííûå ecx=ñèñòåìà ñ÷èñëåíÿ edi àäðåñ êóäà çàïèñûâàòü, áóäåì ñòðîêó, ïðè÷åì êîíåö ïåðåìåííîé |
1007 | ;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
951 | cmp eax,ecx ;ñðàâíèòü åñëè â eax ìåíüøå ÷åì â ecx òî ïåðåéòè íà @@-1 ò.å. íà pop eax |
1008 | cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
952 | jb @f |
1009 | jb @f |
953 | xor edx,edx ;î÷èñòèòü edx |
1010 | xor edx,edx ;®ç¨áâ¨âì edx |
954 | div ecx ;ðàçäåëèòü - îñòàòîê â edx |
1011 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
955 | push edx ;ïîëîæèòü â ñòåê |
1012 | push edx ;¯®«®¦¨âì ¢ á⥪ |
956 | ;dec edi ;ñìåùåíèå íåîáõîäèìîå äëÿ çàïèñè ñ êîíöà ñòðîêè |
1013 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
957 | call .str;ïåðåéòè íà ñàìó ñåáÿ ò.å. âûçâàòü ñàìó ñåáÿ è òàê äî òîãî ìîìåíòà ïîêà â eax íå ñòàíåò ìåíüøå ÷åì â ecx |
1014 | call .str;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
958 | pop eax |
1015 | pop eax |
959 | @@: ;cmp al,10 ;ïðîâåðèòü íå ìåíüøå ëè çíà÷åíèå â al ÷åì 10 (äëÿ ñèñòåìû ñ÷èñëåíÿ 10 äàííàÿ êîìàíäà - ëèøíàÿ)) |
1016 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
960 | or al,0x30 ;äàííàÿ êîìàíäà êîðî÷å ÷åì äâå âûøå |
1017 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
961 | stosb ;çàïèñàòü ýëåìåíò èç ðåãèñòðà al â ÿ÷åêó ïàìÿòè es:edi |
1018 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
Line 962... | Line 1019... | ||
962 | ret ;âåðíóòüñÿ ÷åíü èíòåðåñíûé õîä ò.ê. ïîêà â ñòåêå õðàíèòüñÿ êîë-âî âûçîâîâ òî ñòîëüêî ðàç ìû è áóäåì âûçûâàòüñÿ |
1019 | ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
Line 963... | Line 1020... | ||
963 | 1020 | ||
964 | 1021 | ||
965 | hed db 'Planet viewer 26.03.10',0 ;¯®¤¯¨áì ®ª |
- | |
966 | - | ||
967 | sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
- | |
968 | mouse_dd dd 0 ;㦮 ¤«ï Shift- ¢ editbox |
1022 | hed db 'Planet viewer 27.05.10',0 ;¯®¤¯¨áì ®ª |
969 | sys_path rb 4096 |
- | |
970 | file_name: |
1023 | |
- | 1024 | sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
|
- | 1025 | mouse_dd dd 0 ;㦮 ¤«ï Shift- ¢ editbox |
|
971 | rb 4096 |
1026 | i_end: |
- | 1027 | rb 1024 |
|
- | 1028 | align 16 |
|
- | 1029 | procinfo process_information |
|
- | 1030 | stacktop: |
|
- | 1031 | sys_path rb 4096 |
|
- | 1032 | file_name: |
|
- | 1033 | rb 4096 |
|
- | 1034 | plugin_path: |
|
- | 1035 | rb 4096 |
|
972 | i_end: |
1036 | openfile_path: |