Rev 5911 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5911 | Rev 6238 | ||
---|---|---|---|
Line 251... | Line 251... | ||
251 | pushad |
251 | pushad |
252 | movzx ecx,byte[map.zoom] |
252 | movzx ecx,byte[map.zoom] |
253 | mov esi,[sc.work_text] |
253 | mov esi,[sc.work_text] |
254 | or esi,0x40000000 |
254 | or esi,0x40000000 |
255 | mov edi,[sc.work] |
255 | mov edi,[sc.work] |
256 | mcall 47,0x20000,, (128 shl 16)+13 |
256 | mcall SF_DRAW_NUMBER,0x20000,, (128 shl 16)+13 |
Line 257... | Line 257... | ||
257 | 257 | ||
258 | stdcall array_tile_function, tile_00,max_tiles_count,draw_tile |
258 | stdcall array_tile_function, tile_00,max_tiles_count,draw_tile |
259 | popad |
259 | popad |
Line 265... | Line 265... | ||
265 | ; edx - coordinates to tile draw |
265 | ; edx - coordinates to tile draw |
Line 266... | Line 266... | ||
266 | 266 | ||
267 | align 4 |
267 | align 4 |
268 | proc tile_clear_area, height:dword |
268 | proc tile_clear_area, height:dword |
269 | pushad |
- | |
270 | mov eax,13 ;draw rect |
- | |
271 | 269 | pushad |
|
272 | mov cx,dx |
270 | mov cx,dx |
273 | shl ecx,16 |
271 | shl ecx,16 |
Line 274... | Line 272... | ||
274 | mov cx,word[height] |
272 | mov cx,word[height] |
275 | 273 | ||
276 | shr edx,16 |
274 | shr edx,16 |
277 | mov bx,dx |
275 | mov bx,dx |
Line 278... | Line 276... | ||
278 | shl ebx,16 |
276 | shl ebx,16 |
279 | mov bx,TILE_LEN_W |
277 | mov bx,TILE_LEN_W |
280 | 278 | ||
281 | mov edx,0xffffd0 |
279 | mov edx,0xffffd0 |
282 | int 0x40 |
280 | mcall SF_DRAW_RECT |
Line 283... | Line 281... | ||
283 | popad |
281 | popad |
284 | ret |
282 | ret |
285 | endp |
283 | endp |
286 | 284 | ||
287 | ;??? |
285 | ; à¨á®¢ âì ®¤¨ tile |
Line 288... | Line 286... | ||
288 | align 4 |
286 | align 4 |
289 | proc draw_tile, tile:dword |
287 | proc draw_tile, tile:dword |
290 | pushad |
- | |
291 | mov edi,[tile] |
288 | pushad |
292 | 289 | mov edi,[tile] |
|
293 | ;*** set base point *** |
290 | |
294 | mov edx,5*65536+35 |
- | |
295 | xor eax,eax |
291 | ;*** set base point *** |
296 | mov al,tile_delta_y |
292 | mov edx,5*65536+35 |
297 | shl ax,8 ;*256 |
293 | movzx eax,tile_delta_y |
298 | add edx,eax |
294 | shl ax,8 ;*256 |
Line 299... | Line 295... | ||
299 | xor eax,eax |
295 | add edx,eax |
Line 308... | Line 304... | ||
308 | mov bx,dx ;¨¦ïï ª®®à¤¨ â ¯®ª ¥ ãç¨âë¢ ¥âáï, ¯®â®¬ã ¤¥« ¥¬ ¨å à ¢ë¬¨ |
304 | mov bx,dx ;¨¦ïï ª®®à¤¨ â ¯®ª ¥ ãç¨âë¢ ¥âáï, ¯®â®¬ã ¤¥« ¥¬ ¨å à ¢ë¬¨ |
309 | cmp edx,ebx |
305 | cmp edx,ebx |
310 | jg .end_f |
306 | jg .end_f |
Line 311... | Line 307... | ||
311 | 307 | ||
312 | ;¯à®¢¥à塞 ¢« §¨â «¨ ª à⨪ ¯® ®á¨ y |
308 | ;¯à®¢¥à塞 ¢« §¨â «¨ ª à⨪ ¯® ®á¨ y |
313 | mcall 48,4 ;eax = ¢ëá®â ᪨ |
309 | mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT ;eax = ¢ëá®â ᪨ |
314 | mov ecx,dword[procinfo.box.height] |
310 | mov ecx,dword[procinfo.box.height] |
315 | mov ebx,edx |
311 | mov ebx,edx |
316 | and ebx,0xffff ;ebx = ª®®à¤¨ â 'y' ¤«ï ¢ë¢®¤ â ©« |
312 | and ebx,0xffff ;ebx = ª®®à¤¨ â 'y' ¤«ï ¢ë¢®¤ â ©« |
317 | add eax,ebx |
313 | add eax,ebx |
Line 324... | Line 320... | ||
324 | cmp ecx,TILE_LEN_H |
320 | cmp ecx,TILE_LEN_H |
325 | jle @f |
321 | jle @f |
326 | mov ecx,TILE_LEN_H |
322 | mov ecx,TILE_LEN_H |
327 | @@: |
323 | @@: |
Line 328... | Line 324... | ||
328 | 324 | ||
329 | mov eax,7 |
325 | mov eax,SF_PUT_IMAGE |
330 | bt tile_drobn,SCALE_0BIT_USE |
326 | bt tile_drobn,SCALE_0BIT_USE |
331 | jc .draw |
327 | jc .draw |
332 | bt tile_drobn,SCALE_1BIT_USE |
328 | bt tile_drobn,SCALE_1BIT_USE |
333 | jc .draw |
329 | jc .draw |
Line 384... | Line 380... | ||
384 | bt tile_drobn,FRACT_TILE_BIT11 |
380 | bt tile_drobn,FRACT_TILE_BIT11 |
385 | jae @f |
381 | jae @f |
386 | xchg cx,si |
382 | xchg cx,si |
387 | int 0x40 |
383 | int 0x40 |
388 | @@: |
384 | @@: |
389 | - | ||
390 | jmp .end_f |
385 | jmp .end_f |
391 | .info: ;¢ë¢®¤ ¨ä®à¬ 樨, ¯à¨ ¥ 㤠箬 ®âªàë⨨ ª à⨮ª |
- | |
Line 392... | Line 386... | ||
392 | 386 | ||
393 | ;;;jmp .end_f ;test |
387 | .info: ;¢ë¢®¤ ¨ä®à¬ 樨, ¯à¨ ¥ 㤠箬 ®âªàë⨨ ª à⨮ª |
394 | bt tile_drobn,SCALE_0BIT_USE |
388 | bt tile_drobn,SCALE_0BIT_USE |
395 | jc .end_f |
389 | jc .end_f |
396 | bt tile_drobn,SCALE_1BIT_USE |
390 | bt tile_drobn,SCALE_1BIT_USE |
397 | jc .end_f |
- | |
398 | 391 | jc .end_f |
|
399 | mov ebx,edx |
392 | mov ebx,edx |
400 | add ebx,0x30003 |
393 | add ebx,0x30003 |
401 | mov edx,tile_rgb_icon ;¯à¨ ¥ã¤ 箬 ®âªàë⨨ ¢ tile_rgb_icon ¯ãâì ª ä ©«ã |
394 | mov edx,tile_rgb_icon ;¯à¨ ¥ã¤ 箬 ®âªàë⨨ ¢ tile_rgb_icon ¯ãâì ª ä ©«ã |
402 | ;;; mov dword[edx+RGB_TILE_SIZE_1N4],0 ;áâ ¢¨¬ 㫨, á«ãç © ¥á«¨ ¢ áâப¥ á ¨¬¥¥¬ ä ©« ¬ãá®à |
395 | ;;; mov dword[edx+RGB_TILE_SIZE_1N4],0 ;áâ ¢¨¬ 㫨, á«ãç © ¥á«¨ ¢ áâப¥ á ¨¬¥¥¬ ä ©« ¬ãá®à |
403 | stdcall [str_len],tile_rgb_icon,RGB_TILE_SIZE_1N4 |
396 | stdcall [str_len],tile_rgb_icon,RGB_TILE_SIZE_1N4 |
Line 404... | Line 397... | ||
404 | mov edi,eax |
397 | mov edi,eax |
405 | 398 | ||
406 | mov eax,4 ;draw text |
399 | mov eax,SF_DRAW_TEXT |
407 | mov ecx,0xff |
400 | mov ecx,0xff |
Line 408... | Line 401... | ||
408 | ;or ecx,0x80000000 |
401 | ;or ecx,0x80000000 |
Line 458... | Line 451... | ||
458 | push eax ebx ecx edi |
451 | push eax ebx ecx edi |
459 | stdcall dword[tl_get_mem_size], tree2,[bmp_icon] |
452 | stdcall dword[tl_get_mem_size], tree2,[bmp_icon] |
460 | inc eax ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ã«ï |
453 | inc eax ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ã«ï |
Line 461... | Line 454... | ||
461 | 454 | ||
462 | m2m [run_file_70.Buffer], [bmp_icon] |
455 | m2m [run_file_70.Buffer], [bmp_icon] |
463 | mov [run_file_70.Function], 2 |
456 | mov [run_file_70.Function], SSF_CREATE_FILE |
464 | mov [run_file_70.Position], 0 |
457 | mov [run_file_70.Position], 0 |
465 | mov [run_file_70.Flags], 0 |
458 | mov [run_file_70.Flags], 0 |
466 | mov [run_file_70.Count], eax |
459 | mov [run_file_70.Count], eax |
467 | mov byte[run_file_70+20], 0 |
460 | mov byte[run_file_70+20], 0 |
468 | mov [run_file_70.FileName], file_name |
461 | mov [run_file_70.FileName], file_name |
469 | mcall 70,run_file_70 |
462 | mcall SF_FILE,run_file_70 |
470 | pop edi ecx ebx eax |
463 | pop edi ecx ebx eax |
Line 471... | Line 464... | ||
471 | jmp still |
464 | jmp still |
472 | 465 | ||
Line 476... | Line 469... | ||
476 | cmp byte[met_fr_opn],0 |
469 | cmp byte[met_fr_opn],0 |
477 | jne .end_f |
470 | jne .end_f |
478 | copy_path fn_metki,sys_path,file_name,0 |
471 | copy_path fn_metki,sys_path,file_name,0 |
479 | pushad |
472 | pushad |
480 | mov byte[met_fr_opn],1 |
473 | mov byte[met_fr_opn],1 |
481 | mov [run_file_70.Function], 0 |
474 | mov [run_file_70.Function], SSF_READ_FILE |
482 | mov [run_file_70.Position], 0 |
475 | mov [run_file_70.Position], 0 |
483 | mov [run_file_70.Flags], 0 |
476 | mov [run_file_70.Flags], 0 |
484 | mov [run_file_70.Count], TREE_ICON_SYS16_BMP_SIZE |
477 | mov [run_file_70.Count], TREE_ICON_SYS16_BMP_SIZE |
485 | mov byte[run_file_70+20], 0 |
478 | mov byte[run_file_70+20], 0 |
486 | mov [run_file_70.FileName], file_name |
479 | mov [run_file_70.FileName], file_name |
487 | m2m [run_file_70.Buffer], [bmp_icon] |
480 | m2m [run_file_70.Buffer], [bmp_icon] |
488 | mcall 70,run_file_70 |
481 | mcall SF_FILE,run_file_70 |
489 | cmp ebx,0xffffffff |
482 | cmp ebx,0xffffffff |
490 | je @f |
483 | je @f |
491 | stdcall [tl_load_mem], tree2,0,[bmp_icon],TREE_ICON_SYS16_BMP_SIZE |
484 | stdcall [tl_load_mem], tree2,0,[bmp_icon],TREE_ICON_SYS16_BMP_SIZE |
492 | stdcall [tl_cur_beg], tree2 |
485 | stdcall [tl_cur_beg], tree2 |
493 | stdcall [tl_draw], tree2 |
486 | stdcall [tl_draw], tree2 |
Line 525... | Line 518... | ||
525 | call but_Refresh |
518 | call but_Refresh |
526 | @@: |
519 | @@: |
527 | pop eax |
520 | pop eax |
528 | ret |
521 | ret |
Line 529... | Line 522... | ||
529 | 522 | ||
530 | ;??? |
523 | ;®¡®¢¨âì ª àâã |
531 | align 4 |
524 | align 4 |
532 | but_Refresh: |
525 | but_Refresh: |
Line 533... | Line 526... | ||
533 | call fun_new_map_type ;¯à®¢¥à塞 ¥ ¯®¬¥ï«áï «¨ ⨯ ¯à®á¬ âਢ ¥¬ëå ä ©«®¢ |
526 | call fun_new_map_type ;¯à®¢¥à塞 ¥ ¯®¬¥ï«áï «¨ ⨯ ¯à®á¬ âਢ ¥¬ëå ä ©«®¢ |
Line 559... | Line 552... | ||
559 | align 4 |
552 | align 4 |
560 | proc load_tile uses eax ebx ecx edi, tile:dword |
553 | proc load_tile uses eax ebx ecx edi, tile:dword |
561 | mov edi,dword[tile] ;ª®¯¨à㥬 㪠§ ⥫ì áâàãªâãàã â ©« , çâ®-¡ë à ¡®â «¨ ª®áâ âë |
554 | mov edi,dword[tile] ;ª®¯¨à㥬 㪠§ ⥫ì áâàãªâãàã â ©« , çâ®-¡ë à ¡®â «¨ ª®áâ âë |
Line 562... | Line 555... | ||
562 | 555 | ||
563 | stdcall mem_copy, map,edi, 9 ;ª®¯¨à㥬 ª®®à¤¨ âë ªãàá®à ¢ áâàãªâãàã â ©« |
- | |
564 | xor eax,eax |
556 | stdcall mem_copy, map,edi, 9 ;ª®¯¨à㥬 ª®®à¤¨ âë ªãàá®à ¢ áâàãªâãàã â ©« |
565 | mov al,tile_delta_x |
557 | movzx eax,tile_delta_x |
566 | add tile_coord_x,eax ;ᤢ¨£ ¥¬ ª®®à¤¨ âë â ©« , ®â®á¨â¥«ì® ªãàá®à |
558 | add tile_coord_x,eax ;ᤢ¨£ ¥¬ ª®®à¤¨ âë â ©« , ®â®á¨â¥«ì® ªãàá®à |
567 | mov al,tile_delta_y |
559 | mov al,tile_delta_y |
568 | add tile_coord_y,eax |
560 | add tile_coord_y,eax |
Line 691... | Line 683... | ||
691 | cmp tile_drobn,FRACT_TILE_ALL ;¥á«¨ á®¡à ¢áï ª à⨪ , ⮠ᢥàåã 㦥 ¥ ¡¥à¥¬ |
683 | cmp tile_drobn,FRACT_TILE_ALL ;¥á«¨ á®¡à ¢áï ª à⨪ , ⮠ᢥàåã 㦥 ¥ ¡¥à¥¬ |
692 | je @f |
684 | je @f |
693 | ;¥ § ¥¬ ¡ë« -«¨ ¢ª«îç¥ ®¯æ¨ï '¡à âì ᨧã', ¤«ï ª®â®à®© ¨§¬¥ï«¨áì ª®®à¤¨ âë |
685 | ;¥ § ¥¬ ¡ë« -«¨ ¢ª«îç¥ ®¯æ¨ï '¡à âì ᨧã', ¤«ï ª®â®à®© ¨§¬¥ï«¨áì ª®®à¤¨ âë |
694 | ;¯®â®¬ã ®¯ïâì ª®¯¨à㥬 ª®®à¤¨ âë ªãàá®à ¢ áâàãªâãàã â ©« |
686 | ;¯®â®¬ã ®¯ïâì ª®¯¨à㥬 ª®®à¤¨ âë ªãàá®à ¢ áâàãªâãàã â ©« |
695 | stdcall mem_copy, map,edi, 9 |
687 | stdcall mem_copy, map,edi, 9 |
696 | xor eax,eax |
- | |
697 | mov al,tile_delta_x |
688 | movzx eax,tile_delta_x |
698 | add tile_coord_x,eax ;ᤢ¨£ ¥¬ ª®®à¤¨ âë â ©« , ®â®á¨â¥«ì® ªãàá®à |
689 | add tile_coord_x,eax ;ᤢ¨£ ¥¬ ª®®à¤¨ âë â ©« , ®â®á¨â¥«ì® ªãàá®à |
699 | mov al,tile_delta_y |
690 | mov al,tile_delta_y |
700 | add tile_coord_y,eax |
691 | add tile_coord_y,eax |
Line 701... | Line 692... | ||
701 | 692 | ||
Line 758... | Line 749... | ||
758 | ;tile - 㪠§ ⥫ì áâàãªâãàã â ©« |
749 | ;tile - 㪠§ ⥫ì áâàãªâãàã â ©« |
759 | align 4 ;§ £à㦠¥â ®¯à¥¤¥«¥ë© â ©« |
750 | align 4 ;§ £à㦠¥â ®¯à¥¤¥«¥ë© â ©« |
760 | proc load_new_tile, tile:dword |
751 | proc load_new_tile, tile:dword |
761 | pushad |
752 | pushad |
Line 762... | Line 753... | ||
762 | 753 | ||
763 | mov [run_file_70.Function], 0 |
754 | mov [run_file_70.Function], SSF_READ_FILE |
764 | mov [run_file_70.Position], 0 |
755 | mov [run_file_70.Position], 0 |
765 | mov [run_file_70.Flags], 0 |
756 | mov [run_file_70.Flags], 0 |
766 | mov [run_file_70.Count], RGB_TILE_SIZE+300 ;+54 |
757 | mov [run_file_70.Count], RGB_TILE_SIZE+300 ;+54 |
767 | m2m [run_file_70.Buffer], [bmp_icon] |
758 | m2m [run_file_70.Buffer], [bmp_icon] |
768 | mov byte[run_file_70+20], 0 |
759 | mov byte[run_file_70+20], 0 |
769 | mov [run_file_70.FileName], file_name |
760 | mov [run_file_70.FileName], file_name |
770 | mcall 70,run_file_70 |
761 | mcall SF_FILE,run_file_70 |
771 | mov edi,[tile] |
762 | mov edi,[tile] |
772 | ; cmp ebx,0xffffffff |
763 | ; cmp ebx,0xffffffff |
773 | ; je .no_load |
764 | ; je .no_load |
774 | cmp al,6 ;®è¨¡ª 6 - ª®£¤ ä ©« § ª®ç¨«áï à ìè¥ ç¥¬ ¡ãä¥à |
765 | cmp al,6 ;®è¨¡ª 6 - ª®£¤ ä ©« § ª®ç¨«áï à ìè¥ ç¥¬ ¡ãä¥à |
Line 810... | Line 801... | ||
810 | @@: |
801 | @@: |
811 | mov byte[edi],0 ;ç¨á⨬ áâபã |
802 | mov byte[edi],0 ;ç¨á⨬ áâபã |
812 | inc edi |
803 | inc edi |
813 | loop @b |
804 | loop @b |
Line 814... | Line 805... | ||
814 | 805 | ||
Line 815... | Line 806... | ||
815 | mov esi,dword[tile] ;¡¥à¥¬ 㪠§ ⥫ì |
806 | mov esi,[tile] ;¡¥à¥¬ 㪠§ ⥫ì |
816 | - | ||
817 | mov ecx,0x80000000 ;rol 0x80000000,1 = 1 |
807 | |
818 | xor eax,eax |
808 | mov ecx,0x80000000 ;rol 0x80000000,1 = 1 |
819 | mov al,byte[esi+8] ;+8 = zoom |
809 | movzx eax,byte[esi+8] ;+8 = zoom |
820 | .calc_coord: |
810 | .calc_coord: |
821 | rol ecx,1 ;ecx = maximum coord |
811 | rol ecx,1 ;ecx = maximum coord |
822 | dec ax |
812 | dec ax |
Line 823... | Line 813... | ||
823 | cmp ax,0 |
813 | cmp ax,0 |
824 | jg .calc_coord |
814 | jg .calc_coord |
825 | 815 | ||
826 | mov byte[txt_tile_path],'z' |
- | |
827 | mov edi,txt_tile_path |
816 | mov byte[txt_tile_path],'z' |
828 | inc edi |
817 | mov edi,txt_tile_path |
Line 829... | Line 818... | ||
829 | xor eax,eax |
818 | inc edi |
830 | mov al,byte[esi+8] ;+8 = zoom |
819 | movzx eax,byte[esi+8] ;+8 = zoom |
831 | stdcall convert_int_to_str, 300 |
820 | stdcall convert_int_to_str, 300 |
Line 892... | Line 881... | ||
892 | ret |
881 | ret |
893 | endp |
882 | endp |
Line 894... | Line 883... | ||
894 | 883 | ||
895 | align 4 |
884 | align 4 |
896 | get_all_path: ;äãªæ¨ï ¤«ï ᮡ¨à ¨ï ¯®«®£® ¯ã⨠¨§ ¢á¥å ªã᪮¢ |
885 | get_all_path: ;äãªæ¨ï ¤«ï ᮡ¨à ¨ï ¯®«®£® ¯ã⨠¨§ ¢á¥å ªã᪮¢ |
897 | mov ecx,dword[edit1.text] |
886 | mov ecx,[edit1.text] |
898 | add ecx,dword[edit1.size] |
887 | add ecx,[edit1.size] |
Line 899... | Line 888... | ||
899 | dec ecx |
888 | dec ecx |
Line 900... | Line 889... | ||
900 | 889 | ||
901 | stdcall [str_copy], file_name,4096-1, dword[edit1.text],dword[edit1.max] |
890 | stdcall [str_copy], file_name,4096-1, [edit1.text],[edit1.max] |
902 | 891 | ||
903 | cmp byte[ecx],'/' |
892 | cmp byte[ecx],'/' |
Line 904... | Line 893... | ||
904 | je @f |
893 | je @f |
905 | stdcall [str_catchar],file_name,4096-1, dword '/' |
894 | stdcall [str_catchar],file_name,4096-1, dword '/' |
906 | @@: |
895 | @@: |