Rev 4332 | Rev 5911 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4332 | Rev 5881 | ||
---|---|---|---|
Line 30... | Line 30... | ||
30 | db ? |
30 | db ? |
31 | FileName dd ? |
31 | FileName dd ? |
32 | ends |
32 | ends |
Line 33... | Line 33... | ||
33 | 33 | ||
34 | run_file_70 FileInfoBlock |
34 | run_file_70 FileInfoBlock |
35 | image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì. ¤«ï 㦥 ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
35 | image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì, 㦥 ¤«ï ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
36 | open_file_lif dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï ®âªàëâ¨ï ä ©«®¢ 3ds |
36 | open_file_lif dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï ®âªàëâ¨ï ä ©«®¢ 3ds |
Line 37... | Line 37... | ||
37 | open_file_size dd 0 ;à §¬¥à ®âªàë⮣® ä ©« |
37 | open_file_size dd 0 ;à §¬¥à ®âªàë⮣® ä ©« |
38 | 38 | ||
Line 56... | Line 56... | ||
56 | local .path_str |
56 | local .path_str |
57 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
57 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
58 | db 0 |
58 | db 0 |
59 | @@: |
59 | @@: |
60 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
60 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
61 | copy_path .path_str,[32],file_name,0x0 |
61 | copy_path .path_str,[32],file_name,0 |
62 | else |
62 | else |
63 | copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
63 | copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
64 | end if |
64 | end if |
Line 65... | Line 65... | ||
65 | 65 | ||
66 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
66 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
Line 119... | Line 119... | ||
119 | include 'info_wnd_coords.inc' |
119 | include 'info_wnd_coords.inc' |
Line 120... | Line 120... | ||
120 | 120 | ||
121 | align 4 |
121 | align 4 |
122 | start: |
122 | start: |
123 | load_libraries l_libs_start,l_libs_end |
123 | load_libraries l_libs_start,l_libs_end |
- | 124 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨ |
|
- | 125 | mov ebp,lib_0 |
|
- | 126 | cmp dword [ebp+ll_struc_size-4],0 |
|
- | 127 | jz @f |
|
- | 128 | mov ebp,lib_1 |
|
- | 129 | cmp dword [ebp+ll_struc_size-4],0 |
|
- | 130 | jz @f |
|
- | 131 | mov ebp,lib_2 |
|
- | 132 | cmp dword [ebp+ll_struc_size-4],0 |
|
124 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è «¨¡ |
133 | jz @f |
125 | mov ebp,lib_7 |
134 | mov ebp,lib_3 |
126 | cmp dword [ebp+ll_struc_size-4],0 |
135 | cmp dword [ebp+ll_struc_size-4],0 |
127 | jz @f |
136 | jz @f |
128 | mcall -1 ;exit not correct |
137 | mcall -1 ;exit not correct |
129 | @@: |
138 | @@: |
Line 203... | Line 212... | ||
203 | 212 | ||
204 | align 4 |
213 | align 4 |
205 | timer_funct: |
214 | timer_funct: |
206 | pushad |
215 | pushad |
207 | if debug |
- | |
208 | mov eax,4 |
- | |
209 | mov ebx,(5 shl 16)+8 |
216 | if debug |
210 | mov ecx,0xff+0x80000000 |
- | |
211 | mov edx,txt_0002 |
- | |
212 | int 0x40 |
217 | mcall 4, (5 shl 16)+8, 0xff+0x80000000, txt_0002 |
213 | end if |
218 | end if |
214 | mcall 26,9 |
219 | mcall 26,9 |
Line 215... | Line 220... | ||
215 | mov [last_time],eax |
220 | mov [last_time],eax |
Line 421... | Line 426... | ||
421 | button: |
426 | button: |
422 | mcall 17 |
427 | mcall 17 |
423 | cmp ah,3 |
428 | cmp ah,3 |
424 | jne @f |
429 | jne @f |
425 | call but_new_file |
430 | call but_new_file |
- | 431 | jmp still |
|
426 | @@: |
432 | @@: |
427 | cmp ah,4 |
433 | cmp ah,4 |
428 | jne @f |
434 | jne @f |
429 | call but_open_file |
435 | call but_open_file |
- | 436 | jmp still |
|
430 | @@: |
437 | @@: |
431 | cmp ah,5 |
438 | cmp ah,5 |
432 | jne @f |
439 | jne @f |
433 | call but_save_file |
440 | call but_save_file |
- | 441 | jmp still |
|
434 | @@: |
442 | @@: |
435 | cmp ah,6 |
443 | cmp ah,6 |
436 | jne @f |
444 | jne @f |
437 | call but_wnd_coords |
445 | call but_wnd_coords |
- | 446 | jmp still |
|
438 | @@: |
447 | @@: |
439 | cmp ah,7 |
448 | cmp ah,7 |
440 | jne @f |
449 | jne @f |
441 | call but_delete_chunk |
450 | call but_delete_chunk |
- | 451 | jmp still |
|
442 | @@: |
452 | @@: |
Line 443... | Line 453... | ||
443 | 453 | ||
444 | cmp ah,1 |
454 | cmp ah,1 |
445 | jne still |
455 | jne still |
Line 463... | Line 473... | ||
463 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
473 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
464 | ret |
474 | ret |
Line 465... | Line 475... | ||
465 | 475 | ||
466 | align 4 |
476 | align 4 |
467 | but_open_file: |
- | |
468 | pushad |
477 | but_open_file: |
- | 478 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
|
469 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
479 | pushad |
470 | mov [OpenDialog_data.type],0 |
480 | mov [OpenDialog_data.type],0 |
471 | stdcall [OpenDialog_Start],OpenDialog_data |
481 | stdcall [OpenDialog_Start],OpenDialog_data |
472 | cmp [OpenDialog_data.status],2 |
482 | cmp [OpenDialog_data.status],2 |
473 | je .end_open_file |
483 | je .end_open_file |
Line 950... | Line 960... | ||
950 | ;input: |
960 | ;input: |
951 | ; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥ |
961 | ; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥ |
952 | ;output: |
962 | ;output: |
953 | ; eax - ç¨á«® |
963 | ; eax - ç¨á«® |
954 | align 4 |
964 | align 4 |
955 | proc conv_str_to_int, buf:dword |
965 | proc conv_str_to_int uses ebx ecx esi, buf:dword |
956 | xor eax,eax |
966 | xor eax,eax |
957 | push ebx ecx esi |
- | |
958 | xor ebx,ebx |
967 | xor ebx,ebx |
959 | mov esi,[buf] |
968 | mov esi,[buf] |
960 | ;®¯à¥¤¥«¥¨¥ ®âà¨æ ⥫ìëå ç¨á¥« |
969 | ;®¯à¥¤¥«¥¨¥ ®âà¨æ ⥫ìëå ç¨á¥« |
961 | xor ecx,ecx |
970 | xor ecx,ecx |
962 | inc ecx |
971 | inc ecx |
Line 1014... | Line 1023... | ||
1014 | cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ ⥫쮥 |
1023 | cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ ⥫쮥 |
1015 | jne @f |
1024 | jne @f |
1016 | sub ecx,eax |
1025 | sub ecx,eax |
1017 | mov eax,ecx |
1026 | mov eax,ecx |
1018 | @@: |
1027 | @@: |
1019 | pop esi ecx ebx |
- | |
1020 | ret |
1028 | ret |
1021 | endp |
1029 | endp |
Line 1022... | Line 1030... | ||
1022 | 1030 | ||
1023 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
1031 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
Line 1077... | Line 1085... | ||
1077 | system_dir_2 db '/sys/lib/' |
1085 | system_dir_2 db '/sys/lib/' |
1078 | lib_name_2 db 'box_lib.obj',0 |
1086 | lib_name_2 db 'box_lib.obj',0 |
1079 | err_msg_found_lib_2 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'box_lib.obj',39,0 |
1087 | err_msg_found_lib_2 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'box_lib.obj',39,0 |
1080 | err_msg_import_2 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0 |
1088 | err_msg_import_2 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0 |
Line 1081... | Line 1089... | ||
1081 | 1089 | ||
1082 | system_dir_7 db '/sys/lib/' |
1090 | system_dir_3 db '/sys/lib/' |
1083 | lib_name_7 db 'buf2d.obj',0 |
1091 | lib_name_3 db 'buf2d.obj',0 |
1084 | err_msg_found_lib_7 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'buf2d.obj',39,0 |
1092 | err_msg_found_lib_3 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'buf2d.obj',39,0 |
Line 1085... | Line 1093... | ||
1085 | err_msg_import_7 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'buf2d',39,0 |
1093 | err_msg_import_3 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'buf2d',39,0 |
1086 | 1094 | ||
1087 | l_libs_start: |
1095 | l_libs_start: |
1088 | lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ |
1096 | lib_0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ |
1089 | err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i |
1097 | err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i |
1090 | lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ |
1098 | lib_1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ |
1091 | err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i |
1099 | err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i |
1092 | lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\ |
1100 | lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\ |
1093 | err_msg_found_lib_2,head_f_l,import_box_lib,err_msg_import_2,head_f_i |
1101 | err_msg_found_lib_2,head_f_l,import_box_lib,err_msg_import_2,head_f_i |
1094 | lib_7 l_libs lib_name_7, sys_path, library_path, system_dir_7,\ |
1102 | lib_3 l_libs lib_name_3, sys_path, library_path, system_dir_3,\ |
Line 1095... | Line 1103... | ||
1095 | err_msg_found_lib_7,head_f_l,import_buf2d,err_msg_import_7,head_f_i |
1103 | err_msg_found_lib_3,head_f_l,import_buf2d,err_msg_import_3,head_f_i |
1096 | l_libs_end: |
1104 | l_libs_end: |
1097 | 1105 | ||
Line 1325... | Line 1333... | ||
1325 | rb 2+2+2+2+4+4+4+4+4+4 |
1333 | rb 2+2+2+2+4+4+4+4+4+4 |
1326 | .all_redraw dd 0 ;+80 |
1334 | .all_redraw dd 0 ;+80 |
1327 | .ar_offset dd 1 ;+84 |
1335 | .ar_offset dd 1 ;+84 |
Line 1328... | Line -... | ||
1328 | - | ||
1329 | - | ||
1330 | - | ||
1331 | ;íâ®â ª®¤ ¥ ¬®©, ® ¯à¥®¡à §ã¥â ç¨á«® ¢ áâபã |
- | |
1332 | ;input: |
- | |
1333 | ; eax = value |
- | |
1334 | ; edi = string buffer |
- | |
1335 | ;output: |
- | |
1336 | align 4 |
- | |
1337 | tl_convert_to_str: |
- | |
1338 | pushad |
- | |
1339 | mov dword[edi+1],0;0x20202020 |
- | |
1340 | call .str |
- | |
1341 | popad |
- | |
1342 | ret |
1336 | |
1343 | - | ||
1344 | align 4 |
- | |
1345 | .str: |
- | |
1346 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
- | |
1347 | ;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
- | |
1348 | cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
- | |
1349 | jb @f |
- | |
1350 | xor edx,edx ;®ç¨áâ¨âì edx |
- | |
1351 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
- | |
1352 | push edx ;¯®«®¦¨âì ¢ á⥪ |
- | |
1353 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
- | |
1354 | call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
- | |
1355 | pop eax |
- | |
1356 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
- | |
1357 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
- | |
1358 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
- | |
1359 | ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
1337 | |
1360 | 1338 | align 4 |
|
1361 | i_end: |
1339 | i_end: |
1362 | rb 1024 |
1340 | rb 1024 |
1363 | thread_coords: |
1341 | thread_coords: |
1364 | rb 1024 |
1342 | rb 1024 |
1365 | stacktop: |
1343 | stacktop: |
1366 | sys_path rb 1024 |
1344 | sys_path rb 1024 |
1367 | file_name: |
1345 | file_name: |
1368 | rb 1024 ;4096 |
1346 | rb 4096 |
1369 | library_path rb 1024 |
1347 | library_path rb 1024 |
1370 | plugin_path rb 4096 |
1348 | plugin_path rb 4096 |
1371 | openfile_path rb 4096 |
1349 | openfile_path rb 4096 |