Rev 5930 | Rev 5938 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5930 | Rev 5935 | ||
---|---|---|---|
1 | use32 |
1 | use32 |
2 | org 0x0 |
2 | org 0x0 |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
4 | dd 1, start, i_end, mem, stacktop, 0, sys_path |
4 | dd 1, start, i_end, mem, stacktop, 0, sys_path |
5 | 5 | ||
6 | include '../../macros.inc' |
6 | include '../../macros.inc' |
7 | include '../../proc32.inc' |
7 | include '../../proc32.inc' |
8 | include '../../develop/libraries/box_lib/load_lib.mac' |
8 | include '../../develop/libraries/box_lib/load_lib.mac' |
9 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
9 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
10 | include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc' |
10 | include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc' |
11 | include '../../dll.inc' |
11 | include '../../dll.inc' |
12 | include 'lang.inc' |
12 | include 'lang.inc' |
13 | include 'info_fun_float.inc' |
13 | include 'info_fun_float.inc' |
- | 14 | include 'info_menu.inc' |
|
14 | 15 | ||
15 | debug equ 0 |
16 | debug equ 0 |
16 | 17 | ||
17 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
18 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
18 | 19 | ||
19 | struct FileInfoBlock |
20 | struct FileInfoBlock |
20 | Function dd ? |
21 | Function dd ? |
21 | Position dd ? |
22 | Position dd ? |
22 | Flags dd ? |
23 | Flags dd ? |
23 | Count dd ? |
24 | Count dd ? |
24 | Buffer dd ? |
25 | Buffer dd ? |
25 | db ? |
26 | db ? |
26 | FileName dd ? |
27 | FileName dd ? |
27 | ends |
28 | ends |
28 | 29 | ||
29 | run_file_70 FileInfoBlock |
30 | run_file_70 FileInfoBlock |
30 | image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì, 㦥 ¤«ï ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
31 | image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì, 㦥 ¤«ï ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
31 | open_file_lif dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï ®âªàëâ¨ï ä ©«®¢ 3ds |
32 | open_file_lif dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï ®âªàëâ¨ï ä ©«®¢ 3ds |
32 | open_file_size dd 0 ;à §¬¥à ®âªàë⮣® ä ©« |
33 | open_file_size dd 0 ;à §¬¥à ®âªàë⮣® ä ©« |
33 | 34 | ||
34 | ; |
35 | ; |
35 | main_wnd_height equ 460 ;¢ëá®â £« ¢®£® ®ª ¯à®£à ¬¬ë |
36 | main_wnd_height equ 460 ;¢ëá®â £« ¢®£® ®ª ¯à®£à ¬¬ë |
36 | fn_toolbar db 'toolbar.png',0 |
37 | fn_toolbar db 'toolbar.png',0 |
37 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
38 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
38 | IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*7 |
39 | IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*7 |
39 | image_data_toolbar dd 0 |
40 | image_data_toolbar dd 0 |
40 | ; |
41 | ; |
41 | TREE_ICON_SYS16_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*11+54 ;à §¬¥à bmp ä ©« á á¨á⥬묨 ¨ª®ª ¬¨ |
42 | TREE_ICON_SYS16_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*11+54 ;à §¬¥à bmp ä ©« á á¨á⥬묨 ¨ª®ª ¬¨ |
42 | icon_tl_sys dd 0 ;㪠§ ⥥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï á¨á⥬ëå ¨ª®®ª |
43 | icon_tl_sys dd 0 ;㪠§ ⥥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï á¨á⥬ëå ¨ª®®ª |
43 | icon_toolbar dd 0 ;㪠§ ⥥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï ¨ª®®ª ®¡ê¥ªâ®¢ |
44 | icon_toolbar dd 0 ;㪠§ ⥥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï ¨ª®®ª ®¡ê¥ªâ®¢ |
44 | TOOLBAR_ICON_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*8+54 ;à §¬¥à bmp ä ©« á ¨ª®ª ¬¨ ®¡ê¥ªâ®¢ |
45 | TOOLBAR_ICON_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*8+54 ;à §¬¥à bmp ä ©« á ¨ª®ª ¬¨ ®¡ê¥ªâ®¢ |
45 | ; |
46 | ; |
46 | IMAGE_FILE1_SIZE equ 128*144*3+54 ;à §¬¥à ä ©« á ¨§®¡à ¦¥¨¥¬ |
47 | IMAGE_FILE1_SIZE equ 128*144*3+54 ;à §¬¥à ä ©« á ¨§®¡à ¦¥¨¥¬ |
47 | 48 | ||
48 | macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
49 | macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
49 | ;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬ |
50 | ;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬ |
50 | if path eqtype '' ;¯à®¢¥à塞 § ¤ «¨ áâப®© ¯ à ¬¥âà path |
51 | if path eqtype '' ;¯à®¢¥à塞 § ¤ «¨ áâப®© ¯ à ¬¥âà path |
51 | jmp @f |
52 | jmp @f |
52 | local .path_str |
53 | local .path_str |
53 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
54 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
54 | db 0 |
55 | db 0 |
55 | @@: |
56 | @@: |
56 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
57 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
57 | copy_path .path_str,[32],file_name,0 |
58 | copy_path .path_str,[32],file_name,0 |
58 | else |
59 | else |
59 | copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
60 | copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
60 | end if |
61 | end if |
61 | 62 | ||
62 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
63 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
63 | mov [buf],eax |
64 | mov [buf],eax |
64 | 65 | ||
65 | mov [run_file_70.Function], 0 |
66 | mov [run_file_70.Function], 0 |
66 | mov [run_file_70.Position], 0 |
67 | mov [run_file_70.Position], 0 |
67 | mov [run_file_70.Flags], 0 |
68 | mov [run_file_70.Flags], 0 |
68 | mov [run_file_70.Count], dword size |
69 | mov [run_file_70.Count], dword size |
69 | mov [run_file_70.Buffer], eax |
70 | mov [run_file_70.Buffer], eax |
70 | mov byte[run_file_70+20], 0 |
71 | mov byte[run_file_70+20], 0 |
71 | mov [run_file_70.FileName], file_name |
72 | mov [run_file_70.FileName], file_name |
72 | mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
73 | mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
73 | cmp ebx,0xffffffff |
74 | cmp ebx,0xffffffff |
74 | je @f |
75 | je @f |
75 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
76 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
76 | stdcall dword[img_decode], dword[buf],ebx,0 |
77 | stdcall dword[img_decode], dword[buf],ebx,0 |
77 | mov dword[image_data],eax |
78 | mov dword[image_data],eax |
78 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
79 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
79 | stdcall dword[img_to_rgb2], dword[image_data],dword[buf] |
80 | stdcall dword[img_to_rgb2], dword[image_data],dword[buf] |
80 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
81 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
81 | stdcall dword[img_destroy], dword[image_data] |
82 | stdcall dword[img_destroy], dword[image_data] |
82 | @@: |
83 | @@: |
83 | } |
84 | } |
84 | 85 | ||
85 | ;-------------------------------------- |
86 | ;-------------------------------------- |
86 | include 'data.inc' |
87 | include 'data.inc' |
87 | 88 | ||
88 | level_stack dd 0 |
89 | level_stack dd 0 |
89 | offs_last_timer dd 0 ;¯®á«¥¤¨© ᤢ¨£ ¯®ª § ë© ¢ äãªæ¨¨ â ©¬¥à |
90 | offs_last_timer dd 0 ;¯®á«¥¤¨© ᤢ¨£ ¯®ª § ë© ¢ äãªæ¨¨ â ©¬¥à |
90 | 91 | ||
91 | ID_ICON_CHUNK_MAIN equ 0 ;¨ª®ª £« ¢®£® ¡«®ª |
92 | ID_ICON_CHUNK_MAIN equ 0 ;¨ª®ª £« ¢®£® ¡«®ª |
92 | ID_ICON_CHUNK_NOT_FOUND equ 1 ;¨ª®ª ¥ ¨§¢¥á⮣® ¡«®ª |
93 | ID_ICON_CHUNK_NOT_FOUND equ 1 ;¨ª®ª ¥ ¨§¢¥á⮣® ¡«®ª |
93 | ID_ICON_DATA equ 2 ;¨ª®ª ¤«ï ¤ ëå ¡«®ª , ¥ ®¯à¥¤¥«¥®© áâàãªâãàë |
94 | ID_ICON_DATA equ 2 ;¨ª®ª ¤«ï ¤ ëå ¡«®ª , ¥ ®¯à¥¤¥«¥®© áâàãªâãàë |
94 | 95 | ||
95 | FILE_ERROR_CHUNK_SIZE equ -3 ;®è¨¡ª ¢ à §¬¥à¥ ¡«®ª |
96 | FILE_ERROR_CHUNK_SIZE equ -3 ;®è¨¡ª ¢ à §¬¥à¥ ¡«®ª |
96 | 97 | ||
97 | align 4 |
98 | align 4 |
98 | file_3ds: ;¯¥à¥¬¥ë¥ ¨á¯®«ì§ã¥¬ë¥ ¯à¨ ®âªàë⨨ ä ©« |
99 | file_3ds: ;¯¥à¥¬¥ë¥ ¨á¯®«ì§ã¥¬ë¥ ¯à¨ ®âªàë⨨ ä ©« |
99 | .offs: dd 0 ;+0 㪠§ ⥫ì ç «® ¡«®ª |
100 | .offs: dd 0 ;+0 㪠§ ⥫ì ç «® ¡«®ª |
100 | .size: dd 0 ;+4 à §¬¥à ¡«®ª (¤«ï 1-£® ¯ à ¬¥âà = à §¬¥à ä ©« 3ds) |
101 | .size: dd 0 ;+4 à §¬¥à ¡«®ª (¤«ï 1-£® ¯ à ¬¥âà = à §¬¥à ä ©« 3ds) |
101 | rb 8*MAX_FILE_LEVEL |
102 | rb 8*MAX_FILE_LEVEL |
102 | 103 | ||
103 | size_one_list equ 42 |
104 | size_one_list equ 42 |
104 | list_offs_chunk_del equ 8 ;¬®¦¥â «¨ ¡«®ª 㤠«ïâáï |
105 | list_offs_chunk_del equ 8 ;¬®¦¥â «¨ ¡«®ª 㤠«ïâáï |
105 | list_offs_chunk_lev equ 9 ;ã஢¥ì ¡«®ª (¯à®¯¨á ¢ ¤ ë¥ ã§« ) |
106 | list_offs_chunk_lev equ 9 ;ã஢¥ì ¡«®ª (¯à®¯¨á ¢ ¤ ë¥ ã§« ) |
106 | list_offs_p_data equ 10 ;㪠§ â¥«ì ¯®¤¯¨áì ¡«®ª |
107 | list_offs_p_data equ 10 ;㪠§ â¥«ì ¯®¤¯¨áì ¡«®ª |
107 | list_offs_text equ 14 ;ᤢ¨£ ç « ⥪áâ ¢ «¨á⥠|
108 | list_offs_text equ 14 ;ᤢ¨£ ç « ⥪áâ ¢ «¨á⥠|
108 | buffer rb size_one_list ;¡ãä¥à ¤«ï ¤®¡ ¢«¥¨ï áâàãªâãà ¢ ᯨ᮪ tree1 |
109 | buffer rb size_one_list ;¡ãä¥à ¤«ï ¤®¡ ¢«¥¨ï áâàãªâãà ¢ ᯨ᮪ tree1 |
109 | 110 | ||
110 | txt_3ds_symb db 0,0 |
111 | txt_3ds_symb db 0,0 |
111 | ;-------------------------------------- |
112 | ;-------------------------------------- |
112 | 113 | ||
113 | include 'info_wnd_coords.inc' |
114 | include 'info_wnd_coords.inc' |
114 | 115 | ||
115 | align 4 |
116 | align 4 |
116 | start: |
117 | start: |
117 | load_libraries l_libs_start,l_libs_end |
118 | load_libraries l_libs_start,l_libs_end |
118 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨ |
119 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨ |
119 | mov ebp,lib_0 |
120 | mov ebp,lib_0 |
120 | .test_lib_open: |
121 | .test_lib_open: |
121 | cmp dword [ebp+ll_struc_size-4],0 |
122 | cmp dword [ebp+ll_struc_size-4],0 |
122 | jz @f |
123 | jz @f |
123 | mcall -1 ;exit not correct |
124 | mcall -1 ;exit not correct |
124 | @@: |
125 | @@: |
125 | add ebp,ll_struc_size |
126 | add ebp,ll_struc_size |
126 | cmp ebp,l_libs_end |
127 | cmp ebp,l_libs_end |
127 | jl .test_lib_open |
128 | jl .test_lib_open |
128 | mcall 48,3,sc,sizeof.system_colors |
129 | mcall 48,3,sc,sizeof.system_colors |
129 | mcall 40,0x27 |
130 | mcall 40,0x27 |
130 | stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£ |
131 | stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£ |
- | 132 | ||
- | 133 | ;kmenu initialisation |
|
- | 134 | stdcall [kmenu_init],sc |
|
- | 135 | stdcall [ksubmenu_new] |
|
- | 136 | mov [main_menu], eax |
|
- | 137 | ||
- | 138 | stdcall [ksubmenu_new] |
|
- | 139 | mov [main_menu_view], eax |
|
- | 140 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_Vertexes, 5 |
|
- | 141 | stdcall [ksubmenu_add], [main_menu_view], eax |
|
- | 142 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_Faces, 6 |
|
- | 143 | stdcall [ksubmenu_add], [main_menu_view], eax |
|
- | 144 | stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0 |
|
- | 145 | stdcall [ksubmenu_add], [main_menu_view], eax |
|
- | 146 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_Light, 7 |
|
- | 147 | stdcall [ksubmenu_add], [main_menu_view], eax |
|
- | 148 | stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_View, [main_menu_view] |
|
- | 149 | stdcall [ksubmenu_add], [main_menu], eax |
|
131 | 150 | ||
132 | mov dword[w_scr_t1.type],1 |
151 | mov dword[w_scr_t1.type],1 |
133 | stdcall dword[tl_data_init], tree1 |
152 | stdcall dword[tl_data_init], tree1 |
134 | ;á¨áâ¥¬ë¥ ¨ª®ª¨ 16*16 ¤«ï tree_list |
153 | ;á¨áâ¥¬ë¥ ¨ª®ª¨ 16*16 ¤«ï tree_list |
135 | load_image_file 'tl_sys_16.png', icon_tl_sys,TREE_ICON_SYS16_BMP_SIZE |
154 | load_image_file 'tl_sys_16.png', icon_tl_sys,TREE_ICON_SYS16_BMP_SIZE |
136 | ;¥á«¨ ¨§®¡à ¦¥¨¥ ¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ |
155 | ;¥á«¨ ¨§®¡à ¦¥¨¥ ¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ |
137 | ;¥ ¨¨æ¨ «¨§¨à®¢ ë¥ ¤ ë¥, ® ®è¨¡ª¨ ¥ ¡ã¤¥â, â. ª. ¡ãä¥à 㦮£® à §¬¥à |
156 | ;¥ ¨¨æ¨ «¨§¨à®¢ ë¥ ¤ ë¥, ® ®è¨¡ª¨ ¥ ¡ã¤¥â, â. ª. ¡ãä¥à 㦮£® à §¬¥à |
138 | mov eax,dword[icon_tl_sys] |
157 | mov eax,dword[icon_tl_sys] |
139 | mov dword[tree1.data_img_sys],eax |
158 | mov dword[tree1.data_img_sys],eax |
140 | 159 | ||
141 | load_image_file 'objects.png', icon_toolbar,TOOLBAR_ICON_BMP_SIZE |
160 | load_image_file 'objects.png', icon_toolbar,TOOLBAR_ICON_BMP_SIZE |
142 | mov eax,dword[icon_toolbar] |
161 | mov eax,dword[icon_toolbar] |
143 | mov dword[tree1.data_img],eax |
162 | mov dword[tree1.data_img],eax |
144 | 163 | ||
145 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
164 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
146 | 165 | ||
147 | load_image_file 'font8x9.bmp', image_data_toolbar,IMAGE_FILE1_SIZE |
166 | load_image_file 'font8x9.bmp', image_data_toolbar,IMAGE_FILE1_SIZE |
148 | stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;ᮧ¤ ¥¬ ¡ãä¥à |
167 | stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;ᮧ¤ ¥¬ ¡ãä¥à |
149 | stdcall mem.Free,[image_data_toolbar] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
168 | stdcall mem.Free,[image_data_toolbar] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
150 | stdcall [buf2d_conv_24_to_8], buf_1,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8 ¡¨â |
169 | stdcall [buf2d_conv_24_to_8], buf_1,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8 ¡¨â |
151 | stdcall [buf2d_convert_text_matrix], buf_1 |
170 | stdcall [buf2d_convert_text_matrix], buf_1 |
152 | 171 | ||
153 | load_image_file fn_toolbar, image_data_toolbar,IMAGE_TOOLBAR_SIZE |
172 | load_image_file fn_toolbar, image_data_toolbar,IMAGE_TOOLBAR_SIZE |
154 | 173 | ||
155 | stdcall mem.Alloc,MAX_FILE_SIZE |
174 | stdcall mem.Alloc,MAX_FILE_SIZE |
156 | mov dword[open_file_lif],eax |
175 | mov dword[open_file_lif],eax |
157 | 176 | ||
158 | mcall 26,9 |
177 | mcall 26,9 |
159 | mov [last_time],eax |
178 | mov [last_time],eax |
160 | 179 | ||
161 | stdcall [kosglMakeCurrent], 5,3,320,240,ctx1 |
180 | stdcall [kosglMakeCurrent], 5,23,320,240,ctx1 |
162 | stdcall [glEnable], GL_DEPTH_TEST |
181 | stdcall [glEnable], GL_DEPTH_TEST |
163 | stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ®à¬ «¨ ®¤¨ ª®¢®© ¢¥«¨ç¨ë ¢® ¨§¡¥¦ ¨¥ àâ¥ä ªâ®¢ |
182 | stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ®à¬ «¨ ®¤¨ ª®¢®© ¢¥«¨ç¨ë ¢® ¨§¡¥¦ ¨¥ àâ¥ä ªâ®¢ |
164 | stdcall [glClearColor], 0.0,0.0,0.0,0.0 |
183 | stdcall [glClearColor], 0.0,0.0,0.0,0.0 |
165 | stdcall [glShadeModel], GL_SMOOTH |
184 | stdcall [glShadeModel], GL_SMOOTH |
166 | stdcall [gluNewQuadric] |
185 | stdcall [gluNewQuadric] |
167 | mov [qObj],eax |
186 | mov [qObj],eax |
168 | 187 | ||
169 | call draw_window |
188 | call draw_window |
170 | 189 | ||
171 | align 4 |
190 | align 4 |
172 | still: |
191 | still: |
173 | mcall 26,9 |
192 | mcall 26,9 |
174 | mov ebx,[last_time] |
193 | mov ebx,[last_time] |
175 | add ebx,10 ;§ ¤¥à¦ª |
194 | add ebx,10 ;§ ¤¥à¦ª |
176 | cmp ebx,eax |
195 | cmp ebx,eax |
177 | jge @f |
196 | jge @f |
178 | mov ebx,eax |
197 | mov ebx,eax |
179 | @@: |
198 | @@: |
180 | sub ebx,eax |
199 | sub ebx,eax |
181 | mcall 23 |
200 | mcall 23 |
182 | cmp eax,0 |
201 | cmp eax,0 |
183 | je timer_funct |
202 | je timer_funct |
184 | 203 | ||
185 | cmp al,1 |
204 | cmp al,1 |
186 | jne @f |
205 | jne @f |
187 | call draw_window |
206 | call draw_window |
188 | jmp still |
207 | jmp still |
189 | @@: |
208 | @@: |
190 | cmp al,2 |
209 | cmp al,2 |
191 | jz key |
210 | jz key |
192 | cmp al,3 |
211 | cmp al,3 |
193 | jz button |
212 | jz button |
194 | cmp al,6 |
213 | cmp al,6 |
195 | jne @f |
214 | jne @f |
196 | mcall 9,procinfo,-1 |
215 | mcall 9,procinfo,-1 |
197 | cmp ax,word[procinfo+4] |
216 | cmp ax,word[procinfo+4] |
198 | jne @f ;®ª® ¥ ªâ¨¢® |
217 | jne @f ;®ª® ¥ ªâ¨¢® |
199 | call mouse |
218 | call mouse |
200 | @@: |
219 | @@: |
201 | jmp still |
220 | jmp still |
202 | 221 | ||
203 | align 4 |
222 | align 4 |
204 | mouse: |
223 | mouse: |
205 | stdcall [tl_mouse], dword tree1 |
224 | stdcall [tl_mouse], dword tree1 |
206 | ret |
225 | ret |
207 | 226 | ||
208 | align 4 |
227 | align 4 |
209 | timer_funct: |
228 | timer_funct: |
210 | pushad |
229 | pushad |
211 | if debug |
- | |
212 | mcall 4, (5 shl 16)+8, 0xff+0x80000000, txt_0002 |
- | |
213 | end if |
- | |
214 | mcall 26,9 |
230 | mcall 26,9 |
215 | mov [last_time],eax |
231 | mov [last_time],eax |
216 | - | ||
- | 232 | ||
217 | ; |
233 | ;¯à®á¬ âਢ ¥¬ ¢ë¤¥«¥ë© ¡«®ª ¤ ëå |
218 | stdcall [tl_node_get_data],tree1 |
234 | stdcall [tl_node_get_data],tree1 |
219 | cmp eax,0 |
235 | cmp eax,0 |
220 | je @f |
236 | je @f |
221 | mov ebx,eax |
237 | mov ebx,eax |
222 | mov eax,dword[ebx] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ë¡à ®£® ¡«®ª ®â®á¨â¥«ì® ç « ä ©« |
238 | mov eax,dword[ebx] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ë¡à ®£® ¡«®ª ®â®á¨â¥«ì® ç « ä ©« |
223 | mov ecx,dword[ebx+4] ;à §¬¥à ¡«®ª |
239 | mov ecx,dword[ebx+4] ;à §¬¥à ¡«®ª |
224 | stdcall hex_in_str, txt_3ds_offs.dig, eax,8 |
240 | stdcall hex_in_str, txt_3ds_offs.dig, eax,8 |
225 | stdcall hex_in_str, txt_3ds_offs.siz, ecx,8 |
241 | stdcall hex_in_str, txt_3ds_offs.siz, ecx,8 |
226 | 242 | ||
227 | add eax,dword[open_file_lif] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ ¯ ¬ï⨠|
243 | add eax,dword[open_file_lif] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ ¯ ¬ï⨠|
228 | cmp dword[offs_last_timer],eax |
244 | cmp dword[offs_last_timer],eax |
229 | je @f |
245 | je @f |
- | 246 | ;¥á«¨ ¢ë¤¥«¥ë© ¡«®ª ¤ ëå ¥ ᮢ¯ ¤ ¥â á ¯®á«¥¤¨¬ § ¯®¬¥ë¬ |
|
230 | mov dword[offs_last_timer],eax |
247 | mov dword[offs_last_timer],eax |
231 | call buf_draw_beg |
248 | call buf_draw_beg |
232 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_offs,5,35,0xb000 |
249 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_offs,5,35,0xb000 |
233 | mov edx,dword[ebx+list_offs_p_data] |
250 | mov edx,dword[ebx+list_offs_p_data] |
234 | cmp edx,0 ;ᬮâਬ ¥áâì «¨ ®¯¨á ¨¥ ¡«®ª |
251 | cmp edx,0 ;ᬮâਬ ¥áâì «¨ ®¯¨á ¨¥ ¡«®ª |
235 | je .no_info |
252 | je .no_info |
236 | stdcall [buf2d_draw_text], buf_0, buf_1,edx,5,45,0xb000 |
253 | stdcall [buf2d_draw_text], buf_0, buf_1,edx,5,45,0xb000 |
237 | .no_info: |
254 | .no_info: |
238 | add ecx,eax ;¯®«ãç ¥¬ à §¬¥à ¡«®ª |
255 | add ecx,eax ;¯®«ãç ¥¬ à §¬¥à ¡«®ª |
239 | stdcall buf_draw_hex_table,eax,ecx ;¤®¡ ¢«¥¨¥ 16-à¨çëå ¤ ëå |
256 | stdcall buf_draw_hex_table,eax,ecx ;¤®¡ ¢«¥¨¥ 16-à¨çëå ¤ ëå |
240 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
257 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
241 | @@: |
258 | @@: |
242 | popad |
259 | popad |
- | 260 | ||
- | 261 | ;¯à®á¬®âà ®ª á ª®®à¤¨ â ¬¨ â®ç¥ª |
|
- | 262 | ;cmp byte[prop_wnd_run],0 |
|
- | 263 | ;je @f |
|
- | 264 | ; call prop_timer_funct |
|
- | 265 | ;@@: |
|
243 | jmp still |
266 | jmp still |
244 | 267 | ||
245 | align 4 |
268 | align 4 |
246 | buf_draw_beg: |
269 | buf_draw_beg: |
247 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
270 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
248 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_open_3ds,5,5,0xff |
271 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_open_3ds,5,5,0xff |
249 | stdcall [buf2d_draw_text], buf_0, buf_1,openfile_path,5,15,0xff |
272 | stdcall [buf2d_draw_text], buf_0, buf_1,openfile_path,5,15,0xff |
250 | cmp dword[level_stack],FILE_ERROR_CHUNK_SIZE ;¢®§¬®¦ ®è¨¡ª ä ©« |
273 | cmp dword[level_stack],FILE_ERROR_CHUNK_SIZE ;¢®§¬®¦ ®è¨¡ª ä ©« |
251 | jne @f |
274 | jne @f |
252 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_err_sizes,5,25,0xff0000 |
275 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_err_sizes,5,25,0xff0000 |
253 | @@: |
276 | @@: |
254 | ret |
277 | ret |
255 | 278 | ||
256 | align 4 |
279 | align 4 |
257 | proc buf_draw_hex_table, offs:dword, size_line:dword |
280 | proc buf_draw_hex_table, offs:dword, size_line:dword |
258 | pushad |
281 | pushad |
259 | locals |
282 | locals |
260 | coord_y dd 55 ;ª®®à¤¨ â y ¤«ï ç « ¢ë¢®¤ â ¡«¨æë |
283 | coord_y dd 55 ;ª®®à¤¨ â y ¤«ï ç « ¢ë¢®¤ â ¡«¨æë |
261 | endl |
284 | endl |
262 | mov esi,dword[offs] |
285 | mov esi,dword[offs] |
263 | mov edi,dword[open_file_lif] |
286 | mov edi,dword[open_file_lif] |
264 | add edi,dword[file_3ds.size] ;edi - 㪠§ â¥«ì ª®¥æ ä ©« ¢ ¯ ¬ï⨠|
287 | add edi,dword[file_3ds.size] ;edi - 㪠§ â¥«ì ª®¥æ ä ©« ¢ ¯ ¬ï⨠|
265 | mov dword[txt_3ds_offs.dig],0 |
288 | mov dword[txt_3ds_offs.dig],0 |
266 | cld |
289 | cld |
267 | .cycle_rows: |
290 | .cycle_rows: |
268 | mov ebx,5 ;®âáâ㯠᫥¢ ¤«ï æ¨äà |
291 | mov ebx,5 ;®âáâ㯠᫥¢ ¤«ï æ¨äà |
269 | mov edx,5+10*24 ;®âáâ㯠᫥¢ ¤«ï ⥪áâ |
292 | mov edx,5+10*24 ;®âáâ㯠᫥¢ ¤«ï ⥪áâ |
270 | mov ecx,10 |
293 | mov ecx,10 |
271 | @@: |
294 | @@: |
272 | stdcall hex_in_str, txt_3ds_offs.dig, dword[esi],2 |
295 | stdcall hex_in_str, txt_3ds_offs.dig, dword[esi],2 |
273 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_offs.dig,ebx,[coord_y],0 |
296 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_offs.dig,ebx,[coord_y],0 |
274 | 297 | ||
275 | mov al,byte[esi] |
298 | mov al,byte[esi] |
276 | mov byte[txt_3ds_symb],al |
299 | mov byte[txt_3ds_symb],al |
277 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_symb,edx,[coord_y],0x808080 |
300 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_symb,edx,[coord_y],0x808080 |
278 | inc esi |
301 | inc esi |
279 | cmp esi,dword[size_line] |
302 | cmp esi,dword[size_line] |
280 | jne .end_block |
303 | jne .end_block |
281 | stdcall draw_block_end_line, dword[coord_y] |
304 | stdcall draw_block_end_line, dword[coord_y] |
282 | .end_block: |
305 | .end_block: |
283 | cmp esi,edi |
306 | cmp esi,edi |
284 | jge @f ;jg ??? |
307 | jge @f ;jg ??? |
285 | add ebx,24 |
308 | add ebx,24 |
286 | add edx,9 ;è¨à¨ 1-£® ᨬ¢®« +1pix |
309 | add edx,9 ;è¨à¨ 1-£® ᨬ¢®« +1pix |
287 | loop @b |
310 | loop @b |
288 | add dword[coord_y],10 ;¢ëá®â 1-£® ᨬ¢®« (¨«¨ ¨â¥à¢ « ¬¥¦¤ã áâப ¬¨) |
311 | add dword[coord_y],10 ;¢ëá®â 1-£® ᨬ¢®« (¨«¨ ¨â¥à¢ « ¬¥¦¤ã áâப ¬¨) |
289 | mov ebx,dword[buf_0.h] |
312 | mov ebx,dword[buf_0.h] |
290 | cmp dword[coord_y],ebx |
313 | cmp dword[coord_y],ebx |
291 | jl .cycle_rows |
314 | jl .cycle_rows |
292 | @@: |
315 | @@: |
293 | popad |
316 | popad |
294 | ret |
317 | ret |
295 | endp |
318 | endp |
296 | 319 | ||
297 | align 4 |
320 | align 4 |
298 | proc draw_block_end_line uses eax ebx ecx, coord_y:dword |
321 | proc draw_block_end_line uses eax ebx ecx, coord_y:dword |
299 | add ebx,20 ;20 = width 2.5 symbols |
322 | add ebx,20 ;20 = width 2.5 symbols |
300 | mov eax,[coord_y] |
323 | mov eax,[coord_y] |
301 | sub eax,2 |
324 | sub eax,2 |
302 | mov ecx,eax |
325 | mov ecx,eax |
303 | add ecx,10 |
326 | add ecx,10 |
304 | stdcall [buf2d_line], buf_0, 0,ecx,ebx,ecx ,0xff |
327 | stdcall [buf2d_line], buf_0, 0,ecx,ebx,ecx ,0xff |
305 | stdcall [buf2d_line], buf_0, ebx,ecx,ebx,eax ,0xff |
328 | stdcall [buf2d_line], buf_0, ebx,ecx,ebx,eax ,0xff |
306 | stdcall [buf2d_line], buf_0, ebx,eax,5+10*24-4,eax ,0xff |
329 | stdcall [buf2d_line], buf_0, ebx,eax,5+10*24-4,eax ,0xff |
307 | ret |
330 | ret |
308 | endp |
331 | endp |
309 | 332 | ||
310 | align 4 |
333 | align 4 |
311 | draw_window: |
334 | draw_window: |
312 | pushad |
335 | pushad |
313 | mcall 12,1 |
336 | mcall 12,1 |
314 | xor eax,eax |
337 | xor eax,eax |
315 | mov edx,[sc.work] |
338 | mov edx,[sc.work] |
316 | or edx,0x33000000 |
339 | or edx,0x33000000 |
317 | mov edi,capt |
340 | mov edi,capt |
318 | mcall , (20 shl 16)+560, (20 shl 16)+main_wnd_height |
341 | mcall , (20 shl 16)+560, (20 shl 16)+main_wnd_height |
319 | 342 | ||
320 | mcall 9,procinfo,-1 |
343 | mcall 9,procinfo,-1 |
321 | mov eax,dword[procinfo.box.height] |
344 | mov eax,dword[procinfo.box.height] |
322 | cmp eax,250 |
345 | cmp eax,250 |
323 | jge @f |
346 | jge @f |
324 | mov eax,250 |
347 | mov eax,250 |
325 | @@: |
348 | @@: |
326 | sub eax,65 |
349 | sub eax,65 |
327 | mov dword[tree1.box_height],eax |
350 | mov dword[tree1.box_height],eax |
328 | mov word[w_scr_t1+4],ax ;®¢ë¥ à §¬¥àë áªà®««¨£ |
351 | mov word[w_scr_t1+4],ax ;®¢ë¥ à §¬¥àë áªà®««¨£ |
329 | cmp eax,dword[buf_0.h] ;㢥«¨ç¨¢ ¥¬ ¢ëá®âã ¡ãä¥à |
352 | cmp eax,dword[buf_0.h] ;㢥«¨ç¨¢ ¥¬ ¢ëá®âã ¡ãä¥à |
330 | jle @f |
353 | jle @f |
331 | stdcall [buf2d_resize],buf_0,0,eax |
354 | stdcall [buf2d_resize],buf_0,0,eax |
332 | mov dword[offs_last_timer],0 ;¤«ï ®¡®¢«¥¨ï ¡ãä¥à ¢ â ©¬¥à¥ |
355 | mov dword[offs_last_timer],0 ;¤«ï ®¡®¢«¥¨ï ¡ãä¥à ¢ â ©¬¥à¥ |
333 | @@: |
356 | @@: |
334 | 357 | ||
335 | mov eax,dword[procinfo.box.width] |
358 | mov eax,dword[procinfo.box.width] |
336 | cmp eax,400 |
359 | cmp eax,400 |
337 | jge @f |
360 | jge @f |
338 | mov eax,400 |
361 | mov eax,400 |
339 | @@: |
362 | @@: |
340 | sub eax,[buf_0.w] |
363 | sub eax,[buf_0.w] |
341 | sub eax,41 |
364 | sub eax,41 |
342 | mov dword[tree1.box_width],eax |
365 | mov dword[tree1.box_width],eax |
343 | add ax,word[tree1.box_left] |
366 | add ax,word[tree1.box_left] |
344 | mov word[w_scr_t1+sb_offs_start_x],ax |
367 | mov word[w_scr_t1+sb_offs_start_x],ax |
345 | add ax,16+5 |
368 | add ax,16+5 |
346 | mov word[buf_0.l],ax |
369 | mov word[buf_0.l],ax |
347 | 370 | ||
348 | mov esi,[sc.work_button] |
371 | mov esi,[sc.work_button] |
349 | mcall 8,(5 shl 16)+20,(5 shl 16)+20,3 |
372 | mcall 8,(5 shl 16)+20,(5 shl 16)+20,3 |
350 | 373 | ||
351 | mov ebx,(30 shl 16)+20 |
374 | mov ebx,(30 shl 16)+20 |
352 | mov edx,4 |
375 | mov edx,4 |
353 | int 0x40 |
376 | int 0x40 |
354 | 377 | ||
355 | cmp byte[can_save],0 |
378 | cmp byte[can_save],0 |
356 | je @f |
379 | je @f |
357 | mov ebx,(55 shl 16)+20 |
380 | mov ebx,(55 shl 16)+20 |
358 | mov edx,5 |
381 | mov edx,5 |
359 | int 0x40 |
382 | int 0x40 |
360 | @@: |
383 | @@: |
361 | 384 | ||
362 | mcall ,(85 shl 16)+20,,6 ;®ª® á ª®®à¤¨ â ¬¨ |
385 | mcall ,(85 shl 16)+20,,6 ;®ª® á ª®®à¤¨ â ¬¨ |
363 | mcall ,(110 shl 16)+20,,7 ;㤠«¥¨¥ ¡«®ª |
386 | mcall ,(110 shl 16)+20,,7 ;㤠«¥¨¥ ¡«®ª |
364 | 387 | ||
365 | mcall 7,[image_data_toolbar],(16 shl 16)+16,(7 shl 16)+7 ;new |
388 | mcall 7,[image_data_toolbar],(16 shl 16)+16,(7 shl 16)+7 ;new |
366 | 389 | ||
367 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
390 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
368 | mov edx,(32 shl 16)+7 ;open |
391 | mov edx,(32 shl 16)+7 ;open |
369 | int 0x40 |
392 | int 0x40 |
370 | 393 | ||
371 | cmp byte[can_save],0 |
394 | cmp byte[can_save],0 |
372 | je @f |
395 | je @f |
373 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
396 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
374 | mov edx,(57 shl 16)+7 ;save |
397 | mov edx,(57 shl 16)+7 ;save |
375 | int 0x40 |
398 | int 0x40 |
376 | sub ebx,IMAGE_TOOLBAR_ICON_SIZE |
399 | sub ebx,IMAGE_TOOLBAR_ICON_SIZE |
377 | @@: |
400 | @@: |
378 | 401 | ||
379 | add ebx,4*IMAGE_TOOLBAR_ICON_SIZE |
402 | add ebx,4*IMAGE_TOOLBAR_ICON_SIZE |
380 | mov edx,(87 shl 16)+7 |
403 | mov edx,(87 shl 16)+7 |
381 | int 0x40 |
404 | int 0x40 |
382 | 405 | ||
383 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
406 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
384 | mov edx,(112 shl 16)+7 |
407 | mov edx,(112 shl 16)+7 |
385 | int 0x40 |
408 | int 0x40 |
386 | 409 | ||
387 | mov dword[w_scr_t1.all_redraw],1 |
410 | mov dword[w_scr_t1.all_redraw],1 |
388 | stdcall [tl_draw],dword tree1 |
411 | stdcall [tl_draw],dword tree1 |
389 | 412 | ||
390 | stdcall [buf2d_draw], buf_0 |
413 | stdcall [buf2d_draw], buf_0 |
391 | 414 | ||
392 | mcall 12,2 |
415 | mcall 12,2 |
393 | popad |
416 | popad |
394 | ret |
417 | ret |
395 | 418 | ||
396 | align 4 |
419 | align 4 |
397 | key: |
420 | key: |
398 | mcall 2 |
421 | mcall 2 |
399 | stdcall [tl_key], dword tree1 |
422 | stdcall [tl_key], dword tree1 |
400 | jmp still |
423 | jmp still |
401 | 424 | ||
402 | 425 | ||
403 | align 4 |
426 | align 4 |
404 | button: |
427 | button: |
405 | mcall 17 |
428 | mcall 17 |
406 | cmp ah,3 |
429 | cmp ah,3 |
407 | jne @f |
430 | jne @f |
408 | call but_new_file |
431 | call but_new_file |
409 | jmp still |
432 | jmp still |
410 | @@: |
433 | @@: |
411 | cmp ah,4 |
434 | cmp ah,4 |
412 | jne @f |
435 | jne @f |
413 | call but_open_file |
436 | call but_open_file |
414 | jmp still |
437 | jmp still |
415 | @@: |
438 | @@: |
416 | cmp ah,5 |
439 | cmp ah,5 |
417 | jne @f |
440 | jne @f |
418 | call but_save_file |
441 | call but_save_file |
419 | jmp still |
442 | jmp still |
420 | @@: |
443 | @@: |
421 | cmp ah,6 |
444 | cmp ah,6 |
422 | jne @f |
445 | jne @f |
423 | call but_wnd_coords |
446 | call but_wnd_coords |
424 | jmp still |
447 | jmp still |
425 | @@: |
448 | @@: |
426 | cmp ah,7 |
449 | cmp ah,7 |
427 | jne @f |
450 | jne @f |
428 | call but_delete_chunk |
451 | call but_delete_chunk |
429 | jmp still |
452 | jmp still |
430 | @@: |
453 | @@: |
431 | 454 | ||
432 | cmp ah,1 |
455 | cmp ah,1 |
433 | jne still |
456 | jne still |
434 | .exit: |
457 | .exit: |
435 | mov dword[tree1.data_img],0 |
458 | mov dword[tree1.data_img],0 |
436 | mov dword[tree1.data_img_sys],0 |
459 | mov dword[tree1.data_img_sys],0 |
437 | stdcall [tl_data_clear], tree1 |
460 | stdcall [tl_data_clear], tree1 |
438 | stdcall [buf2d_delete],buf_0 |
461 | stdcall [buf2d_delete],buf_0 |
439 | stdcall [buf2d_delete],buf_1 ;㤠«ï¥¬ ¡ãä¥à |
462 | stdcall [buf2d_delete],buf_1 ;㤠«ï¥¬ ¡ãä¥à |
440 | stdcall mem.Free,[image_data_toolbar] |
463 | stdcall mem.Free,[image_data_toolbar] |
441 | stdcall mem.Free,[open_file_lif] |
464 | stdcall mem.Free,[open_file_lif] |
442 | stdcall [gluDeleteQuadric], [qObj] |
465 | stdcall [gluDeleteQuadric], [qObj] |
443 | mcall -1 |
466 | mcall -1 |
444 | 467 | ||
445 | 468 | ||
446 | align 4 |
469 | align 4 |
447 | but_new_file: |
470 | but_new_file: |
448 | mov byte[can_save],0 |
471 | mov byte[can_save],0 |
449 | stdcall [tl_info_clear], tree1 ;®ç¨á⪠ᯨ᪠®¡ê¥ªâ®¢ |
472 | stdcall [tl_info_clear], tree1 ;®ç¨á⪠ᯨ᪠®¡ê¥ªâ®¢ |
450 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
473 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
451 | stdcall [tl_draw], tree1 |
474 | stdcall [tl_draw], tree1 |
452 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
475 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
453 | ret |
476 | ret |
454 | 477 | ||
455 | align 4 |
478 | align 4 |
456 | but_open_file: |
479 | but_open_file: |
457 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
480 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
458 | pushad |
481 | pushad |
459 | mov [OpenDialog_data.type],0 |
482 | mov [OpenDialog_data.type],0 |
460 | stdcall [OpenDialog_Start],OpenDialog_data |
483 | stdcall [OpenDialog_Start],OpenDialog_data |
461 | cmp [OpenDialog_data.status],2 |
484 | cmp [OpenDialog_data.status],2 |
462 | je .end_open_file |
485 | je .end_open_file |
463 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
486 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
464 | 487 | ||
465 | mov [run_file_70.Function], 0 |
488 | mov [run_file_70.Function], 0 |
466 | mov [run_file_70.Position], 0 |
489 | mov [run_file_70.Position], 0 |
467 | mov [run_file_70.Flags], 0 |
490 | mov [run_file_70.Flags], 0 |
468 | mov dword[run_file_70.Count], MAX_FILE_SIZE |
491 | mov dword[run_file_70.Count], MAX_FILE_SIZE |
469 | m2m [run_file_70.Buffer], dword[open_file_lif] |
492 | m2m [run_file_70.Buffer], dword[open_file_lif] |
470 | mov byte[run_file_70+20], 0 |
493 | mov byte[run_file_70+20], 0 |
471 | mov dword[run_file_70.FileName], openfile_path |
494 | mov dword[run_file_70.FileName], openfile_path |
472 | mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
495 | mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
473 | cmp ebx,0xffffffff |
496 | cmp ebx,0xffffffff |
474 | je .end_open_file |
497 | je .end_open_file |
475 | 498 | ||
476 | mov [open_file_size],ebx |
499 | mov [open_file_size],ebx |
477 | ;mcall 71,1,openfile_path |
500 | ;mcall 71,1,openfile_path |
478 | 501 | ||
479 | mov byte[can_save],0 |
502 | mov byte[can_save],0 |
480 | call init_tree |
503 | call init_tree |
481 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
504 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
482 | mov dword[angle_x],0.0 |
- | |
483 | mov dword[angle_y],0.0 |
- | |
484 | mov dword[angle_z],0.0 |
505 | call prop_wnd_clear_param ;ç¨á⨬ ¯ à ¬¥âàë ®ª á ª®®à¤¨ â ¬¨ |
485 | cmp byte[prop_wnd_run],0 |
506 | cmp byte[prop_wnd_run],0 |
486 | je @f |
507 | je @f |
487 | ;ç¨á⨬ ®ª® á ª®®à¤¨ â ¬¨ |
508 | ;ç¨á⨬ ®ª® á ª®®à¤¨ â ¬¨ |
488 | stdcall [tl_info_clear], tree3 |
509 | stdcall [tl_info_clear], tree3 |
489 | @@: |
510 | @@: |
490 | 511 | ||
491 | .end_open_file: |
512 | .end_open_file: |
492 | popad |
513 | popad |
493 | ret |
514 | ret |
494 | 515 | ||
495 | align 4 |
516 | align 4 |
496 | init_tree: |
517 | init_tree: |
497 | stdcall [tl_info_clear], tree1 ;®ç¨á⪠ᯨ᪠®¡ê¥ªâ®¢ |
518 | stdcall [tl_info_clear], tree1 ;®ç¨á⪠ᯨ᪠®¡ê¥ªâ®¢ |
498 | 519 | ||
499 | mov esi,dword[open_file_lif] |
520 | mov esi,dword[open_file_lif] |
500 | cmp word[esi],CHUNK_MAIN |
521 | cmp word[esi],CHUNK_MAIN |
501 | je @f |
522 | je @f |
502 | call buf_draw_beg |
523 | call buf_draw_beg |
503 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_no_3ds,5,25,0xff0000 ;à¨á㥬 áâபã á ⥪á⮬ |
524 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_no_3ds,5,25,0xff0000 ;à¨á㥬 áâபã á ⥪á⮬ |
504 | jmp .end_open |
525 | jmp .end_open |
505 | @@: |
526 | @@: |
506 | cmp dword[esi+2],MAX_FILE_SIZE |
527 | cmp dword[esi+2],MAX_FILE_SIZE |
507 | jle @f |
528 | jle @f |
508 | call buf_draw_beg |
529 | call buf_draw_beg |
509 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_big_file,5,25,0xff0000 ;à¨á㥬 áâபã á ⥪á⮬ |
530 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_big_file,5,25,0xff0000 ;à¨á㥬 áâபã á ⥪á⮬ |
510 | jmp .end_open |
531 | jmp .end_open |
511 | @@: |
532 | @@: |
512 | ;--- ®¡à ¡®âª ®âªàë⮣® *.3ds ä ©« |
533 | ;--- ®¡à ¡®âª ®âªàë⮣® *.3ds ä ©« |
513 | mov eax,file_3ds |
534 | mov eax,file_3ds |
514 | mov dword[level_stack],0 ;®¡ã«ï¥¬ ã஢¥ì á⥪ |
535 | mov dword[level_stack],0 ;®¡ã«ï¥¬ ã஢¥ì á⥪ |
515 | mov dword[offs_last_timer],0 |
536 | mov dword[offs_last_timer],0 |
516 | ;--- ¤®¡ ¢«¥¨¥ £« ¢®£® ¡«®ª ¢ ᯨ᮪ |
537 | ;--- ¤®¡ ¢«¥¨¥ £« ¢®£® ¡«®ª ¢ ᯨ᮪ |
517 | stdcall add_3ds_object, ID_ICON_CHUNK_MAIN,0,dword[esi+2],0 |
538 | stdcall add_3ds_object, ID_ICON_CHUNK_MAIN,0,dword[esi+2],0 |
518 | call block_children ;¢å®¤ ¢ ¤®ç¥à¨© ¡«®ª |
539 | call block_children ;¢å®¤ ¢ ¤®ç¥à¨© ¡«®ª |
519 | 540 | ||
520 | mov edi,dword[file_3ds.offs] |
541 | mov edi,dword[file_3ds.offs] |
521 | add edi,dword[file_3ds.size] |
542 | add edi,dword[file_3ds.size] |
522 | .cycle_main: |
543 | .cycle_main: |
523 | cmp dword[level_stack],0 |
544 | cmp dword[level_stack],0 |
524 | jle .end_cycle |
545 | jle .end_cycle |
525 | 546 | ||
526 | cmp esi,edi ;¥á«¨ ª®¥æ ä ©« |
547 | cmp esi,edi ;¥á«¨ ª®¥æ ä ©« |
527 | jge .end_cycle |
548 | jge .end_cycle |
528 | 549 | ||
529 | mov edx,dword[esi+2] ;à §¬¥à ¡«®ª |
550 | mov edx,dword[esi+2] ;à §¬¥à ¡«®ª |
530 | call block_analiz |
551 | call block_analiz |
531 | cmp dword[bl_found],0 |
552 | cmp dword[bl_found],0 |
532 | jne @f |
553 | jne @f |
533 | ;®¡ê¥ªâ ¥ ¨§¢¥á⮣® ¢¨¤ |
554 | ;®¡ê¥ªâ ¥ ¨§¢¥á⮣® ¢¨¤ |
534 | stdcall add_3ds_object, ID_ICON_CHUNK_NOT_FOUND,dword[level_stack],edx,0 |
555 | stdcall add_3ds_object, ID_ICON_CHUNK_NOT_FOUND,dword[level_stack],edx,0 |
535 | call block_next |
556 | call block_next |
536 | jmp .cycle_main |
557 | jmp .cycle_main |
537 | @@: |
558 | @@: |
538 | ;®¡ê¥ªâ ¨§¢¥á⮣® ¢¨¤ |
559 | ;®¡ê¥ªâ ¨§¢¥á⮣® ¢¨¤ |
539 | mov ecx,dword[bl_found] |
560 | mov ecx,dword[bl_found] |
540 | mov bx,word[ecx+2] ;®¬¥à ¨ª®ª¨ ¤«ï ®¡ê¥ªâ |
561 | mov bx,word[ecx+2] ;®¬¥à ¨ª®ª¨ ¤«ï ®¡ê¥ªâ |
541 | stdcall add_3ds_object, ebx,dword[level_stack],edx,dword[ecx+5] |
562 | stdcall add_3ds_object, ebx,dword[level_stack],edx,dword[ecx+5] |
542 | cmp byte[ecx+4],1 |
563 | cmp byte[ecx+4],1 |
543 | je .bl_data |
564 | je .bl_data |
544 | ;¡«®ª ᮤ¥à¦¨â ¤®ç¥à¨¥ ¡«®ª¨ |
565 | ;¡«®ª ᮤ¥à¦¨â ¤®ç¥à¨¥ ¡«®ª¨ |
545 | call block_children ;¢å®¤ ¢ ¤®ç¥à¨© ¡«®ª |
566 | call block_children ;¢å®¤ ¢ ¤®ç¥à¨© ¡«®ª |
546 | jmp .cycle_main |
567 | jmp .cycle_main |
547 | .bl_data: |
568 | .bl_data: |
548 | ;¡«®ª ᮤ¥à¦¨â ¤ ë¥ |
569 | ;¡«®ª ᮤ¥à¦¨â ¤ ë¥ |
549 | call block_analiz_data |
570 | call block_analiz_data |
550 | jmp .cycle_main |
571 | jmp .cycle_main |
551 | .end_cycle: |
572 | .end_cycle: |
552 | stdcall [tl_cur_beg], tree1 |
573 | stdcall [tl_cur_beg], tree1 |
553 | stdcall [tl_draw], tree1 |
574 | stdcall [tl_draw], tree1 |
554 | .end_open: |
575 | .end_open: |
555 | ret |
576 | ret |
556 | 577 | ||
557 | ; «¨§ ¤ ëå ¡«®ª |
578 | ; «¨§ ¤ ëå ¡«®ª |
558 | ;input: |
579 | ;input: |
559 | ; esi - memory pointer |
580 | ; esi - memory pointer |
560 | ;output: |
581 | ;output: |
561 | ; eax - new stack pointer |
582 | ; eax - new stack pointer |
562 | ; esi - new memory pointer |
583 | ; esi - new memory pointer |
563 | align 4 |
584 | align 4 |
564 | block_analiz_data: |
585 | block_analiz_data: |
565 | push ebx ecx edx edi |
586 | push ebx ecx edx edi |
566 | mov dx,word[esi] |
587 | mov dx,word[esi] |
567 | mov ecx,dword[esi+2] |
588 | mov ecx,dword[esi+2] |
568 | sub ecx,6 ;à §¬¥à ¤ ëå ¢ ¡«®ª¥ |
589 | sub ecx,6 ;à §¬¥à ¤ ëå ¢ ¡«®ª¥ |
569 | add esi,6 |
590 | add esi,6 |
570 | mov ebx,dword[level_stack] |
591 | mov ebx,dword[level_stack] |
571 | inc ebx |
592 | inc ebx |
572 | ; *** «¨§ ¡«®ª®¢ á à §ë¬¨ ¤ 묨 ¨ ¢ë¤¥«¥¨¥¬ ¯®¤¡«®ª®¢ |
593 | ; *** «¨§ ¡«®ª®¢ á à §ë¬¨ ¤ 묨 ¨ ¢ë¤¥«¥¨¥¬ ¯®¤¡«®ª®¢ |
573 | cmp dx,CHUNK_OBJBLOCK ;®¡ê¥ªâ |
594 | cmp dx,CHUNK_OBJBLOCK ;®¡ê¥ªâ |
574 | jne @f |
595 | jne @f |
575 | push ax |
596 | push ax |
576 | cld |
597 | cld |
577 | xor al,al |
598 | xor al,al |
578 | mov edi,esi |
599 | mov edi,esi |
579 | repne scasb |
600 | repne scasb |
580 | pop ax |
601 | pop ax |
581 | sub edi,esi ;edi - strlen |
602 | sub edi,esi ;edi - strlen |
582 | stdcall add_3ds_object, ID_ICON_DATA,ebx,edi,0 ; §¢ ¨¥ ®¡ê¥ªâ |
603 | stdcall add_3ds_object, ID_ICON_DATA,ebx,edi,0 ; §¢ ¨¥ ®¡ê¥ªâ |
583 | add esi,edi |
604 | add esi,edi |
584 | ;sub ecx,edi ;㦥 ᤥ« ® ¢ repne |
605 | ;sub ecx,edi ;㦥 ᤥ« ® ¢ repne |
585 | jmp .next_bl |
606 | jmp .next_bl |
586 | @@: |
607 | @@: |
587 | cmp dx,CHUNK_VERTLIST ;ᯨ᮪ ¢¥àè¨ |
608 | cmp dx,CHUNK_VERTLIST ;ᯨ᮪ ¢¥àè¨ |
588 | je .vertexes |
609 | je .vertexes |
589 | cmp dx,0x4111 ;ä« £¨ ¢¥àè¨ |
610 | cmp dx,0x4111 ;ä« £¨ ¢¥àè¨ |
590 | je .vertexes |
611 | je .vertexes |
591 | cmp dx,CHUNK_MAPLIST ;⥪áâãàë¥ ª®®à¤¨ âë |
612 | cmp dx,CHUNK_MAPLIST ;⥪áâãàë¥ ª®®à¤¨ âë |
592 | je .vertexes |
613 | je .vertexes |
593 | jmp @f |
614 | jmp @f |
594 | .vertexes: ;®¡à ¡®âª ¡«®ª®¢, ᮤ¥à¦ é¨å ¤ ë¥ ¢¥àè¨ |
615 | .vertexes: ;®¡à ¡®âª ¡«®ª®¢, ᮤ¥à¦ é¨å ¤ ë¥ ¢¥àè¨ |
595 | stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;ç¨á«® ¢¥àè¨ |
616 | stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;ç¨á«® ¢¥àè¨ |
596 | add esi,2 |
617 | add esi,2 |
597 | sub ecx,2 |
618 | sub ecx,2 |
598 | stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;¤ ë¥ ¢¥àè¨ |
619 | stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;¤ ë¥ ¢¥àè¨ |
599 | sub esi,8 ;¢®ááâ ®¢«¥¨¥ esi |
620 | sub esi,8 ;¢®ááâ ®¢«¥¨¥ esi |
600 | call block_next |
621 | call block_next |
601 | jmp .end_f |
622 | jmp .end_f |
602 | @@: |
623 | @@: |
603 | cmp dx,CHUNK_FACELIST ;ᯨ᮪ £à ¥© |
624 | cmp dx,CHUNK_FACELIST ;ᯨ᮪ £à ¥© |
604 | jne @f |
625 | jne @f |
605 | stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;ç¨á«® £à ¥© |
626 | stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;ç¨á«® £à ¥© |
606 | push eax |
627 | push eax |
607 | xor eax,eax |
628 | xor eax,eax |
608 | mov ax,[esi] |
629 | mov ax,[esi] |
609 | shl eax,3 |
630 | shl eax,3 |
610 | add esi,2 |
631 | add esi,2 |
611 | sub ecx,2 |
632 | sub ecx,2 |
612 | stdcall add_3ds_object, ID_ICON_DATA,ebx,eax,0 ;¤ ë¥ ¢¥àè¨ |
633 | stdcall add_3ds_object, ID_ICON_DATA,ebx,eax,0 ;¤ ë¥ ¢¥àè¨ |
613 | 634 | ||
614 | sub ecx,eax |
635 | sub ecx,eax |
615 | cmp ecx,1 |
636 | cmp ecx,1 |
616 | jl .data_3 ;¯à®¢¥à塞 ¥áâì «¨ ¡«®ª ®¯¨áë¢ î騩 ¬ â¥à¨ «, ¯à¨¬¥ï¥¬ë© ª ®¡ê¥ªâã |
637 | jl .data_3 ;¯à®¢¥à塞 ¥áâì «¨ ¡«®ª ®¯¨áë¢ î騩 ¬ â¥à¨ «, ¯à¨¬¥ï¥¬ë© ª ®¡ê¥ªâã |
617 | add esi,eax |
638 | add esi,eax |
618 | pop eax |
639 | pop eax |
619 | jmp .next_bl |
640 | jmp .next_bl |
620 | ;stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;¤ ë¥ ¬ â¥à¨ « |
641 | ;stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;¤ ë¥ ¬ â¥à¨ « |
621 | ;sub esi,eax ;¢®ááâ ®¢«¥¨¥ esi |
642 | ;sub esi,eax ;¢®ááâ ®¢«¥¨¥ esi |
622 | .data_3: |
643 | .data_3: |
623 | 644 | ||
624 | sub esi,8 ;¢®ááâ ®¢«¥¨¥ esi |
645 | sub esi,8 ;¢®ááâ ®¢«¥¨¥ esi |
625 | pop eax |
646 | pop eax |
626 | call block_next |
647 | call block_next |
627 | jmp .end_f |
648 | jmp .end_f |
628 | @@: |
649 | @@: |
629 | cmp dx,CHUNK_FACEMAT ;¬ â¥à¨ «ë £à ¥© |
650 | cmp dx,CHUNK_FACEMAT ;¬ â¥à¨ «ë £à ¥© |
630 | jne @f |
651 | jne @f |
631 | push ax |
652 | push ax |
632 | cld |
653 | cld |
633 | xor al,al |
654 | xor al,al |
634 | mov edi,esi |
655 | mov edi,esi |
635 | repne scasb |
656 | repne scasb |
636 | pop ax |
657 | pop ax |
637 | sub edi,esi ;edi - strlen |
658 | sub edi,esi ;edi - strlen |
638 | stdcall add_3ds_object, ID_ICON_DATA,ebx,edi,0 ; §¢ ¨¥ ®¡ê¥ªâ |
659 | stdcall add_3ds_object, ID_ICON_DATA,ebx,edi,0 ; §¢ ¨¥ ®¡ê¥ªâ |
639 | add esi,edi |
660 | add esi,edi |
640 | ;sub ecx,edi ;㦥 ᤥ« ® ¢ repne |
661 | ;sub ecx,edi ;㦥 ᤥ« ® ¢ repne |
641 | stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;ç¨á«® £à ¥© |
662 | stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;ç¨á«® £à ¥© |
642 | add esi,2 |
663 | add esi,2 |
643 | sub ecx,2 |
664 | sub ecx,2 |
644 | stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;®¬¥à £à ¥©, ª ª®â®àë¬ ¯à¨¬¥¥ ¬ â¥à¨ « |
665 | stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;®¬¥à £à ¥©, ª ª®â®àë¬ ¯à¨¬¥¥ ¬ â¥à¨ « |
645 | sub esi,edi ;¢®ááâ ®¢«¥¨¥ esi (1) |
666 | sub esi,edi ;¢®ááâ ®¢«¥¨¥ esi (1) |
646 | sub esi,8 ;¢®ááâ ®¢«¥¨¥ esi (2) |
667 | sub esi,8 ;¢®ááâ ®¢«¥¨¥ esi (2) |
647 | call block_next |
668 | call block_next |
648 | jmp .end_f |
669 | jmp .end_f |
649 | @@: |
670 | @@: |
650 | ; *** «¨§ ¡«®ª á ¤ 묨 ¯® 㬮«ç ¨î (¡¥§ ¢ë¤¥«¥¨ï ¯®¤¡«®ª®¢) |
671 | ; *** «¨§ ¡«®ª á ¤ 묨 ¯® 㬮«ç ¨î (¡¥§ ¢ë¤¥«¥¨ï ¯®¤¡«®ª®¢) |
651 | stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 |
672 | stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 |
652 | sub esi,6 ;¢®ááâ ®¢«¥¨¥ esi |
673 | sub esi,6 ;¢®ááâ ®¢«¥¨¥ esi |
653 | call block_next |
674 | call block_next |
654 | jmp .end_f |
675 | jmp .end_f |
655 | .next_bl: |
676 | .next_bl: |
656 | ; *** áâனª¨ ¤«ï «¨§ ®áâ ¢è¨åáï ¯®¤¡«®ª®¢ |
677 | ; *** áâனª¨ ¤«ï «¨§ ®áâ ¢è¨åáï ¯®¤¡«®ª®¢ |
657 | mov dword[eax],esi ;㪠§ ⥫ì ç «® ¡«®ª |
678 | mov dword[eax],esi ;㪠§ ⥫ì ç «® ¡«®ª |
658 | mov ebx,dword[esi+2] |
679 | mov ebx,dword[esi+2] |
659 | mov dword[eax+4],ebx ;à §¬¥à ¡«®ª |
680 | mov dword[eax+4],ebx ;à §¬¥à ¡«®ª |
660 | inc dword[level_stack] |
681 | inc dword[level_stack] |
661 | add eax,8 |
682 | add eax,8 |
662 | .end_f: |
683 | .end_f: |
663 | pop edi edx ecx ebx |
684 | pop edi edx ecx ebx |
664 | ret |
685 | ret |
665 | 686 | ||
666 | ;¢å®¤ ¢ 1-© ¤®ç¥à¨© ¡«®ª |
687 | ;¢å®¤ ¢ 1-© ¤®ç¥à¨© ¡«®ª |
667 | ;output: |
688 | ;output: |
668 | ; edx - destroy |
689 | ; edx - destroy |
669 | align 4 |
690 | align 4 |
670 | block_children: |
691 | block_children: |
671 | push ecx |
692 | push ecx |
672 | ;¯à®¢¥àª ¯à ¢¨«ì®áâ¨ à §¬¥à®¢ ¤®ç¥à¥£® ¡«®ª |
693 | ;¯à®¢¥àª ¯à ¢¨«ì®áâ¨ à §¬¥à®¢ ¤®ç¥à¥£® ¡«®ª |
673 | mov ebx,esi ;ᬥ饨¥ ç « த¨â¥«ì᪮£® ¡«®ª |
694 | mov ebx,esi ;ᬥ饨¥ ç « த¨â¥«ì᪮£® ¡«®ª |
674 | add ebx,6 ;¯¥à¥å®¤ ç «® ¤®ç¥à¥£® ¡«®ª |
695 | add ebx,6 ;¯¥à¥å®¤ ç «® ¤®ç¥à¥£® ¡«®ª |
675 | add ebx,dword[ebx+2] ;¤®¡ ¢«ï¥¬ à §¬¥à ¤®ç¥à¥£® ¡«®ª |
696 | add ebx,dword[ebx+2] ;¤®¡ ¢«ï¥¬ à §¬¥à ¤®ç¥à¥£® ¡«®ª |
676 | mov ecx,esi ;ᬥ饨¥ ç « த¨â¥«ì᪮£® ¡«®ª |
697 | mov ecx,esi ;ᬥ饨¥ ç « த¨â¥«ì᪮£® ¡«®ª |
677 | add ecx,dword[esi+2] ;¤®¡ ¢«ï¥¬ à §¬¥à த¨â¥«ì᪮£® ¡«®ª |
698 | add ecx,dword[esi+2] ;¤®¡ ¢«ï¥¬ à §¬¥à த¨â¥«ì᪮£® ¡«®ª |
678 | cmp ebx,ecx ;ãç¨âë¢ âì § £®«®¢ª¨ ¥ 㦮, â. ª. áà ¢¨¢ îâáï ⮫쪮 ¤ ë¥ ¡«®ª®¢ |
699 | cmp ebx,ecx ;ãç¨âë¢ âì § £®«®¢ª¨ ¥ 㦮, â. ª. áà ¢¨¢ îâáï ⮫쪮 ¤ ë¥ ¡«®ª®¢ |
679 | jle @f |
700 | jle @f |
680 | ;¤¨ £®áâ¨à®¢ «¨ ®è¨¡ªã ä ©« , ¤®ç¥à¨© ¡«®ª ¢ë室¨â § ¯à¥¤¥«ë த¨â¥«ì᪮£® |
701 | ;¤¨ £®áâ¨à®¢ «¨ ®è¨¡ªã ä ©« , ¤®ç¥à¨© ¡«®ª ¢ë室¨â § ¯à¥¤¥«ë த¨â¥«ì᪮£® |
681 | mov dword[level_stack],FILE_ERROR_CHUNK_SIZE |
702 | mov dword[level_stack],FILE_ERROR_CHUNK_SIZE |
682 | jmp .end_f |
703 | jmp .end_f |
683 | @@: |
704 | @@: |
684 | mov dword[eax],esi ;㪠§ ⥫ì ç «® ¡«®ª |
705 | mov dword[eax],esi ;㪠§ ⥫ì ç «® ¡«®ª |
685 | mov ebx,dword[esi+2] |
706 | mov ebx,dword[esi+2] |
686 | mov dword[eax+4],ebx ;à §¬¥à ¡«®ª |
707 | mov dword[eax+4],ebx ;à §¬¥à ¡«®ª |
687 | add esi,6 ;¯¥à¥å®¤¨¬ ª ¤ ë¬ ¡«®ª |
708 | add esi,6 ;¯¥à¥å®¤¨¬ ª ¤ ë¬ ¡«®ª |
688 | inc dword[level_stack] |
709 | inc dword[level_stack] |
689 | add eax,8 |
710 | add eax,8 |
690 | .end_f: |
711 | .end_f: |
691 | pop ecx |
712 | pop ecx |
692 | ret |
713 | ret |
693 | 714 | ||
694 | ;¯¥à¥å®¤ ª á«¥¤ã饬㠡«®ªã ⥪ã饣® ã஢ï |
715 | ;¯¥à¥å®¤ ª á«¥¤ã饬㠡«®ªã ⥪ã饣® ã஢ï |
695 | ;input: |
716 | ;input: |
696 | ; eax - ¤à¥á áâàãªâãàë á ¯¥à¥¬¥ë¬¨ |
717 | ; eax - ¤à¥á áâàãªâãàë á ¯¥à¥¬¥ë¬¨ |
697 | align 4 |
718 | align 4 |
698 | block_next: |
719 | block_next: |
699 | push ebx |
720 | push ebx |
700 | add esi,dword[esi+2] ;¯à®¯ã᪠¥¬ ¤ ë¥ ¡«®ª |
721 | add esi,dword[esi+2] ;¯à®¯ã᪠¥¬ ¤ ë¥ ¡«®ª |
701 | 722 | ||
702 | ;¯à®¢¥àª à §¬¥à®¢ த¨â¥«ì᪮£® ¡«®ª , ¤«ï ¢®§¬®¦®£® ¢ë室 ¢¥à娩 ã஢¥ì ¥á«¨ ª®¥æ ¡«®ª |
723 | ;¯à®¢¥àª à §¬¥à®¢ த¨â¥«ì᪮£® ¡«®ª , ¤«ï ¢®§¬®¦®£® ¢ë室 ¢¥à娩 ã஢¥ì ¥á«¨ ª®¥æ ¡«®ª |
703 | @@: |
724 | @@: |
704 | mov ebx,dword[eax-8] |
725 | mov ebx,dword[eax-8] |
705 | add ebx,dword[eax-4] |
726 | add ebx,dword[eax-4] |
706 | cmp esi,ebx |
727 | cmp esi,ebx |
707 | jl @f |
728 | jl @f |
708 | dec dword[level_stack] |
729 | dec dword[level_stack] |
709 | sub eax,8 |
730 | sub eax,8 |
710 | cmp dword[level_stack],0 |
731 | cmp dword[level_stack],0 |
711 | jg @b |
732 | jg @b |
712 | @@: |
733 | @@: |
713 | pop ebx |
734 | pop ebx |
714 | ret |
735 | ret |
715 | 736 | ||
716 | ;äãªæ¨ï ¯®¨áª áâàãªâãàë ®¯¨áë¢ î饩 ¡«®ª |
737 | ;äãªæ¨ï ¯®¨áª áâàãªâãàë ®¯¨áë¢ î饩 ¡«®ª |
717 | ;input: |
738 | ;input: |
718 | ;esi - memory pointer |
739 | ;esi - memory pointer |
719 | ;output: |
740 | ;output: |
720 | ;dword[bl_found] - pointer to chunk struct (= 0 if not found) |
741 | ;dword[bl_found] - pointer to chunk struct (= 0 if not found) |
721 | align 4 |
742 | align 4 |
722 | bl_found dd 0 |
743 | bl_found dd 0 |
723 | block_analiz: |
744 | block_analiz: |
724 | pushad |
745 | pushad |
725 | mov dword[bl_found],0 |
746 | mov dword[bl_found],0 |
726 | mov ecx,type_bloks |
747 | mov ecx,type_bloks |
727 | @@: |
748 | @@: |
728 | mov bx,word[ecx] |
749 | mov bx,word[ecx] |
729 | cmp word[esi],bx |
750 | cmp word[esi],bx |
730 | je .found |
751 | je .found |
731 | add ecx,sizeof.block_3ds |
752 | add ecx,sizeof.block_3ds |
732 | cmp ecx,type_bloks.end |
753 | cmp ecx,type_bloks.end |
733 | jl @b |
754 | jl @b |
734 | jmp .no_found |
755 | jmp .no_found |
735 | .found: |
756 | .found: |
736 | mov dword[bl_found],ecx |
757 | mov dword[bl_found],ecx |
737 | .no_found: |
758 | .no_found: |
738 | popad |
759 | popad |
739 | ret |
760 | ret |
740 | 761 | ||
741 | ;input: |
762 | ;input: |
742 | ; esi - 㪠§ â¥«ì «¨§¨àã¥¬ë¥ ¤ ë¥ |
763 | ; esi - 㪠§ â¥«ì «¨§¨àã¥¬ë¥ ¤ ë¥ |
743 | ; level - ã஢¥ì ¢«®¦¥®á⨠㧫 |
764 | ; level - ã஢¥ì ¢«®¦¥®á⨠㧫 |
744 | ; size_bl - à §¬¥à ¡«®ª |
765 | ; size_bl - à §¬¥à ¡«®ª |
745 | align 4 |
766 | align 4 |
746 | proc add_3ds_object, icon:dword,level:dword,size_bl:dword,info_bl:dword |
767 | proc add_3ds_object, icon:dword,level:dword,size_bl:dword,info_bl:dword |
747 | pushad |
768 | pushad |
748 | mov bx,word[icon] |
769 | mov bx,word[icon] |
749 | shl ebx,16 |
770 | shl ebx,16 |
750 | mov bx,word[level] |
771 | mov bx,word[level] |
751 | 772 | ||
752 | mov eax,esi |
773 | mov eax,esi |
753 | sub eax,dword[open_file_lif] |
774 | sub eax,dword[open_file_lif] |
754 | mov dword[buffer],eax ;ᬥ饨¥ ¡«®ª |
775 | mov dword[buffer],eax ;ᬥ饨¥ ¡«®ª |
755 | mov ecx,dword[size_bl] |
776 | mov ecx,dword[size_bl] |
756 | mov dword[buffer+4],ecx ;à §¬¥à ¡«®ª (¨á¯®«ì§ã¥âáï ¢ äãªæ¨¨ buf_draw_hex_table ¤«ï à¨á®¢ ¨ï «¨¨¨) |
777 | mov dword[buffer+4],ecx ;à §¬¥à ¡«®ª (¨á¯®«ì§ã¥âáï ¢ äãªæ¨¨ buf_draw_hex_table ¤«ï à¨á®¢ ¨ï «¨¨¨) |
757 | mov ecx,dword[bl_found] |
778 | mov ecx,dword[bl_found] |
758 | cmp ecx,0 |
779 | cmp ecx,0 |
759 | je @f |
780 | je @f |
760 | ;... §¤¥áì 㦥 ¤à㣮© «£®à¨â¬ § é¨âë ®â 㤠«¥¨ï |
781 | ;... §¤¥áì 㦥 ¤à㣮© «£®à¨â¬ § é¨âë ®â 㤠«¥¨ï |
761 | mov cl,byte[ecx+4] |
782 | mov cl,byte[ecx+4] |
762 | @@: |
783 | @@: |
763 | mov byte[buffer+list_offs_chunk_del],cl |
784 | mov byte[buffer+list_offs_chunk_del],cl |
764 | mov ecx,[level] |
785 | mov ecx,[level] |
765 | mov byte[buffer+list_offs_chunk_lev],cl |
786 | mov byte[buffer+list_offs_chunk_lev],cl |
766 | mov ecx,dword[info_bl] |
787 | mov ecx,dword[info_bl] |
767 | mov dword[buffer+list_offs_p_data],ecx |
788 | mov dword[buffer+list_offs_p_data],ecx |
768 | stdcall hex_in_str, buffer+list_offs_text,dword[esi+1],2 |
789 | stdcall hex_in_str, buffer+list_offs_text,dword[esi+1],2 |
769 | stdcall hex_in_str, buffer+list_offs_text+2,dword[esi],2 ;ª®¤ 3ds ¡«®ª |
790 | stdcall hex_in_str, buffer+list_offs_text+2,dword[esi],2 ;ª®¤ 3ds ¡«®ª |
770 | cmp ecx,0 |
791 | cmp ecx,0 |
771 | jne @f |
792 | jne @f |
772 | mov byte[buffer+list_offs_text+4],0 ;0 - ᨬ¢®« ª®æ áâப¨ |
793 | mov byte[buffer+list_offs_text+4],0 ;0 - ᨬ¢®« ª®æ áâப¨ |
773 | jmp .no_capt |
794 | jmp .no_capt |
774 | @@: |
795 | @@: |
775 | mov byte[buffer+list_offs_text+4],' ' |
796 | mov byte[buffer+list_offs_text+4],' ' |
776 | mov esi,ecx |
797 | mov esi,ecx |
777 | mov edi,buffer+list_offs_text+5 |
798 | mov edi,buffer+list_offs_text+5 |
778 | mov ecx,size_one_list-(list_offs_text+5) |
799 | mov ecx,size_one_list-(list_offs_text+5) |
779 | cld |
800 | cld |
780 | rep movsb |
801 | rep movsb |
781 | mov byte[buffer+size_one_list-1],0 ;0 - ᨬ¢®« ª®¥æ áâப¨ |
802 | mov byte[buffer+size_one_list-1],0 ;0 - ᨬ¢®« ª®æ áâப¨ |
782 | .no_capt: |
803 | .no_capt: |
783 | stdcall [tl_node_add], tree1, ebx, buffer |
804 | stdcall [tl_node_add], tree1, ebx, buffer |
784 | stdcall [tl_cur_next], tree1 |
805 | stdcall [tl_cur_next], tree1 |
785 | if debug |
806 | if debug |
786 | stdcall print_err,sz_add_3ds_object,buffer+list_offs_text |
807 | stdcall print_err,sz_add_3ds_object,buffer+list_offs_text |
787 | end if |
808 | end if |
788 | popad |
809 | popad |
789 | ret |
810 | ret |
790 | endp |
811 | endp |
791 | 812 | ||
792 | if debug |
813 | if debug |
793 | sz_add_3ds_object db 13,10,'3ds_object',0 |
814 | sz_add_3ds_object db 13,10,'3ds_object',0 |
794 | 815 | ||
795 | align 4 |
816 | align 4 |
796 | proc print_err, fun:dword, mes:dword ;¢ë¢®¤¨¬ á®®¡é¥¨¥ ®¡ 訡ª¥ ¤®áªã ®â« ¤ª¨ |
817 | proc print_err, fun:dword, mes:dword ;¢ë¢®¤¨¬ á®®¡é¥¨¥ ®¡ 訡ª¥ ¤®áªã ®â« ¤ª¨ |
797 | pushad |
818 | pushad |
798 | mov eax,63 |
819 | mov eax,63 |
799 | mov ebx,1 |
820 | mov ebx,1 |
800 | 821 | ||
801 | mov esi,[fun] |
822 | mov esi,[fun] |
802 | @@: |
823 | @@: |
803 | mov cl,byte[esi] |
824 | mov cl,byte[esi] |
804 | int 0x40 |
825 | int 0x40 |
805 | inc esi |
826 | inc esi |
806 | cmp byte[esi],0 |
827 | cmp byte[esi],0 |
807 | jne @b |
828 | jne @b |
808 | mov cl,':' |
829 | mov cl,':' |
809 | int 0x40 |
830 | int 0x40 |
810 | mov cl,' ' |
831 | mov cl,' ' |
811 | int 0x40 |
832 | int 0x40 |
812 | mov esi,[mes] |
833 | mov esi,[mes] |
813 | @@: |
834 | @@: |
814 | mov cl,byte[esi] |
835 | mov cl,byte[esi] |
815 | int 0x40 |
836 | int 0x40 |
816 | inc esi |
837 | inc esi |
817 | cmp byte[esi],0 |
838 | cmp byte[esi],0 |
818 | jne @b |
839 | jne @b |
819 | popad |
840 | popad |
820 | ret |
841 | ret |
821 | endp |
842 | endp |
- | 843 | ||
- | 844 | ;input: |
|
- | 845 | ; eax - value |
|
- | 846 | ; edi - string buffer |
|
- | 847 | ; len - buffer len |
|
- | 848 | ;output: |
|
- | 849 | align 4 |
|
- | 850 | proc convert_int_to_str, len:dword |
|
- | 851 | pushad |
|
- | 852 | mov esi,[len] |
|
- | 853 | add esi,edi |
|
- | 854 | dec esi |
|
- | 855 | call .str |
|
- | 856 | popad |
|
- | 857 | ret |
|
- | 858 | endp |
|
- | 859 | ||
- | 860 | align 4 |
|
- | 861 | .str: |
|
- | 862 | mov ecx,0x0a |
|
- | 863 | cmp eax,ecx |
|
- | 864 | jb @f |
|
- | 865 | xor edx,edx |
|
- | 866 | div ecx |
|
- | 867 | push edx |
|
- | 868 | call .str |
|
- | 869 | pop eax |
|
- | 870 | @@: |
|
- | 871 | cmp edi,esi |
|
- | 872 | jge @f |
|
- | 873 | or al,0x30 |
|
- | 874 | stosb |
|
- | 875 | mov byte[edi],0 |
|
- | 876 | @@: |
|
- | 877 | ret |
|
- | 878 | ||
822 | end if |
879 | end if |
823 | 880 | ||
824 | align 4 |
881 | align 4 |
825 | proc hex_in_str, buf:dword,val:dword,zif:dword |
882 | proc hex_in_str, buf:dword,val:dword,zif:dword |
826 | pushad |
883 | pushad |
827 | mov edi,dword[buf] |
884 | mov edi,dword[buf] |
828 | mov ecx,dword[zif] |
885 | mov ecx,dword[zif] |
829 | add edi,ecx |
886 | add edi,ecx |
830 | dec edi |
887 | dec edi |
831 | mov ebx,dword[val] |
888 | mov ebx,dword[val] |
832 | 889 | ||
833 | .cycle: |
890 | .cycle: |
834 | mov al,bl |
891 | mov al,bl |
835 | and al,0xf |
892 | and al,0xf |
836 | cmp al,10 |
893 | cmp al,10 |
837 | jl @f |
894 | jl @f |
838 | add al,'a'-'0'-10 |
895 | add al,'a'-'0'-10 |
839 | @@: |
896 | @@: |
840 | add al,'0' |
897 | add al,'0' |
841 | mov byte[edi],al |
898 | mov byte[edi],al |
842 | dec edi |
899 | dec edi |
843 | shr ebx,4 |
900 | shr ebx,4 |
844 | loop .cycle |
901 | loop .cycle |
845 | 902 | ||
846 | popad |
903 | popad |
847 | ret |
904 | ret |
848 | endp |
905 | endp |
849 | 906 | ||
850 | align 4 |
907 | align 4 |
851 | but_save_file: |
908 | but_save_file: |
852 | pushad |
909 | pushad |
853 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
910 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
854 | mov [OpenDialog_data.type],1 |
911 | mov [OpenDialog_data.type],1 |
855 | stdcall [OpenDialog_Start],OpenDialog_data |
912 | stdcall [OpenDialog_Start],OpenDialog_data |
856 | cmp [OpenDialog_data.status],2 |
913 | cmp [OpenDialog_data.status],2 |
857 | je .end_save_file |
914 | je .end_save_file |
858 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
915 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
859 | - | ||
860 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
916 | |
861 | mov [run_file_70.Function], 2 |
917 | mov [run_file_70.Function], 2 |
862 | mov [run_file_70.Position], 0 |
918 | mov [run_file_70.Position], 0 |
863 | mov [run_file_70.Flags], 0 |
919 | mov [run_file_70.Flags], 0 |
864 | mov ebx, dword[open_file_lif] |
920 | mov ebx, dword[open_file_lif] |
865 | mov [run_file_70.Buffer], ebx |
921 | mov [run_file_70.Buffer], ebx |
866 | mov ebx,dword[ebx+2] |
922 | mov ebx,dword[ebx+2] |
867 | mov dword[run_file_70.Count], ebx ;à §¬¥à ä ©« |
923 | mov dword[run_file_70.Count], ebx ;à §¬¥à ä ©« |
868 | mov byte[run_file_70+20], 0 |
924 | mov byte[run_file_70+20], 0 |
869 | mov dword[run_file_70.FileName], openfile_path |
925 | mov dword[run_file_70.FileName], openfile_path |
870 | mov ebx,run_file_70 |
926 | mcall 70,run_file_70 |
871 | int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
- | |
872 | cmp ebx,0xffffffff |
927 | cmp ebx,0xffffffff |
873 | je .end_save_file |
928 | je .end_save_file |
874 | - | ||
- | 929 | ;...á®®¡é¥¨¥... |
|
875 | .end_save_file: |
930 | .end_save_file: |
876 | popad |
931 | popad |
877 | ret |
932 | ret |
878 | 933 | ||
879 | align 4 |
934 | align 4 |
880 | but_wnd_coords: |
935 | but_wnd_coords: |
881 | cmp byte[prop_wnd_run],0 |
936 | cmp byte[prop_wnd_run],0 |
882 | jne @f |
937 | jne @f |
883 | pushad |
938 | pushad |
884 | mcall 51,1,prop_start,thread_coords |
939 | mcall 51,1,prop_start,thread_coords |
885 | popad |
940 | popad |
886 | @@: |
941 | @@: |
887 | ret |
942 | ret |
888 | 943 | ||
889 | ;description: |
944 | ;description: |
890 | ; 㤠«¥¨¥ ¢ë¡à ®£® ¡«®ª ¨§ ®âªàë⮣® ä ©« |
945 | ; 㤠«¥¨¥ ¢ë¡à ®£® ¡«®ª ¨§ ®âªàë⮣® ä ©« |
891 | align 4 |
946 | align 4 |
892 | but_delete_chunk: |
947 | but_delete_chunk: |
893 | pushad |
948 | pushad |
894 | stdcall [tl_node_get_data],tree1 |
949 | stdcall [tl_node_get_data],tree1 |
895 | cmp eax,0 |
950 | cmp eax,0 |
896 | je .end_f |
951 | je .end_f |
897 | cmp byte[eax+list_offs_chunk_del],0 ;¥á«¨ ¡«®ª § é¨é¥ ®â 㤠«¥¨ï |
952 | cmp byte[eax+list_offs_chunk_del],0 ;¥á«¨ ¡«®ª § é¨é¥ ®â 㤠«¥¨ï |
898 | jne .notify |
953 | jne .notify |
899 | 954 | ||
900 | ;(1) ª®¯¨à®¢ ¨¥ ¨¦¥© ç áâ¨ ä ©« |
955 | ;(1) ª®¯¨à®¢ ¨¥ ¨¦¥© ç áâ¨ ä ©« |
901 | mov edx,dword[eax+4] ;à §¬¥à ¡«®ª |
956 | mov edx,dword[eax+4] ;à §¬¥à ¡«®ª |
902 | sub [open_file_size],edx ;¨§¬¥¥¨¥ à §¬¥à®¢ ä ©« |
957 | sub [open_file_size],edx ;¨§¬¥¥¨¥ à §¬¥à®¢ ä ©« |
903 | mov ecx,[open_file_size] |
958 | mov ecx,[open_file_size] |
904 | mov ebx,dword[eax] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ë¡à ®£® ¡«®ª ®â®á¨â¥«ì® ç « ä ©« |
959 | mov ebx,dword[eax] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ë¡à ®£® ¡«®ª ®â®á¨â¥«ì® ç « ä ©« |
905 | sub ecx,ebx ;ecx - à §¬¥à ¨¦¥© ᤢ¨£ ¥¬®© ç áâ¨ ä ©« |
960 | sub ecx,ebx ;ecx - à §¬¥à ¨¦¥© ᤢ¨£ ¥¬®© ç áâ¨ ä ©« |
906 | add ebx,dword[open_file_lif] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ ¯ ¬ï⨠|
961 | add ebx,dword[open_file_lif] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ ¯ ¬ï⨠|
907 | mov edi,ebx |
962 | mov edi,ebx |
908 | mov esi,ebx |
963 | mov esi,ebx |
909 | add esi,edx |
964 | add esi,edx |
910 | mov bl,byte[eax+list_offs_chunk_lev] ;¡¥à¥¬ ã஢¥ì ⥪ã饣® 㧫 |
965 | mov bl,byte[eax+list_offs_chunk_lev] ;¡¥à¥¬ ã஢¥ì ⥪ã饣® 㧫 |
911 | rep movsb |
966 | rep movsb |
912 | mov byte[can_save],1 |
967 | mov byte[can_save],1 |
913 | 968 | ||
914 | ;(2) ¨§¬¥¥¨¥ à §¬¥à®¢ த¨â¥«ìáª¨å ¡«®ª®¢ |
969 | ;(2) ¨§¬¥¥¨¥ à §¬¥à®¢ த¨â¥«ìáª¨å ¡«®ª®¢ |
915 | cmp bl,0 |
970 | cmp bl,0 |
916 | je .end_2 |
971 | je .end_2 |
917 | .cycle_2: |
972 | .cycle_2: |
918 | stdcall [tl_cur_perv], tree1 |
973 | stdcall [tl_cur_perv], tree1 |
919 | stdcall [tl_node_get_data],tree1 |
974 | stdcall [tl_node_get_data],tree1 |
920 | cmp eax,0 |
975 | cmp eax,0 |
921 | je .end_2 |
976 | je .end_2 |
922 | cmp byte[eax+list_offs_chunk_lev],bl |
977 | cmp byte[eax+list_offs_chunk_lev],bl |
923 | jge .cycle_2 |
978 | jge .cycle_2 |
924 | mov bl,byte[eax+list_offs_chunk_lev] |
979 | mov bl,byte[eax+list_offs_chunk_lev] |
925 | mov ecx,[eax] |
980 | mov ecx,[eax] |
926 | add ecx,[open_file_lif] |
981 | add ecx,[open_file_lif] |
927 | sub dword[ecx+2],edx |
982 | sub dword[ecx+2],edx |
928 | cmp bl,0 ;¥á«¨ á ¬ë© ¢¥à娩 㧥«, â® bl=0 |
983 | cmp bl,0 ;¥á«¨ á ¬ë© ¢¥à娩 㧥«, â® bl=0 |
929 | jne .cycle_2 |
984 | jne .cycle_2 |
930 | .end_2: |
985 | .end_2: |
931 | 986 | ||
932 | ;(3) ®¡®¢«¥¨¥ ᯨ᪠tree1 |
987 | ;(3) ®¡®¢«¥¨¥ ᯨ᪠tree1 |
933 | call init_tree |
988 | call init_tree |
934 | call draw_window |
989 | call draw_window |
935 | 990 | ||
936 | jmp .end_f |
991 | jmp .end_f |
937 | .notify: |
992 | .notify: |
938 | notify_window_run txt_not_delete |
993 | notify_window_run txt_not_delete |
939 | .end_f: |
994 | .end_f: |
940 | popad |
995 | popad |
941 | ret |
996 | ret |
942 | 997 | ||
943 | ;input: |
998 | ;input: |
944 | ; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥ |
999 | ; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥ |
945 | ;output: |
1000 | ;output: |
946 | ; eax - ç¨á«® |
1001 | ; eax - ç¨á«® |
947 | align 4 |
1002 | align 4 |
948 | proc conv_str_to_int uses ebx ecx esi, buf:dword |
1003 | proc conv_str_to_int uses ebx ecx esi, buf:dword |
949 | xor eax,eax |
1004 | xor eax,eax |
950 | xor ebx,ebx |
1005 | xor ebx,ebx |
951 | mov esi,[buf] |
1006 | mov esi,[buf] |
952 | ;®¯à¥¤¥«¥¨¥ ®âà¨æ ⥫ìëå ç¨á¥« |
1007 | ;®¯à¥¤¥«¥¨¥ ®âà¨æ ⥫ìëå ç¨á¥« |
953 | xor ecx,ecx |
1008 | xor ecx,ecx |
954 | inc ecx |
1009 | inc ecx |
955 | cmp byte[esi],'-' |
1010 | cmp byte[esi],'-' |
956 | jne @f |
1011 | jne @f |
957 | dec ecx |
1012 | dec ecx |
958 | inc esi |
1013 | inc esi |
959 | @@: |
1014 | @@: |
960 | 1015 | ||
961 | cmp word[esi],'0x' |
1016 | cmp word[esi],'0x' |
962 | je .load_digit_16 |
1017 | je .load_digit_16 |
963 | 1018 | ||
964 | .load_digit_10: ;áç¨âë¢ ¨¥ 10-â¨çëå æ¨äà |
1019 | .load_digit_10: ;áç¨âë¢ ¨¥ 10-â¨çëå æ¨äà |
965 | mov bl,byte[esi] |
1020 | mov bl,byte[esi] |
966 | cmp bl,'0' |
1021 | cmp bl,'0' |
967 | jl @f |
1022 | jl @f |
968 | cmp bl,'9' |
1023 | cmp bl,'9' |
969 | jg @f |
1024 | jg @f |
970 | sub bl,'0' |
1025 | sub bl,'0' |
971 | imul eax,10 |
1026 | imul eax,10 |
972 | add eax,ebx |
1027 | add eax,ebx |
973 | inc esi |
1028 | inc esi |
974 | jmp .load_digit_10 |
1029 | jmp .load_digit_10 |
975 | jmp @f |
1030 | jmp @f |
976 | 1031 | ||
977 | .load_digit_16: ;áç¨âë¢ ¨¥ 16-à¨çëå æ¨äà |
1032 | .load_digit_16: ;áç¨âë¢ ¨¥ 16-à¨çëå æ¨äà |
978 | add esi,2 |
1033 | add esi,2 |
979 | .cycle_16: |
1034 | .cycle_16: |
980 | mov bl,byte[esi] |
1035 | mov bl,byte[esi] |
981 | cmp bl,'0' |
1036 | cmp bl,'0' |
982 | jl @f |
1037 | jl @f |
983 | cmp bl,'f' |
1038 | cmp bl,'f' |
984 | jg @f |
1039 | jg @f |
985 | cmp bl,'9' |
1040 | cmp bl,'9' |
986 | jle .us1 |
1041 | jle .us1 |
987 | cmp bl,'A' |
1042 | cmp bl,'A' |
988 | jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'9' ¨ <'A' |
1043 | jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'9' ¨ <'A' |
989 | .us1: ;á®áâ ¢®¥ ãá«®¢¨¥ |
1044 | .us1: ;á®áâ ¢®¥ ãá«®¢¨¥ |
990 | cmp bl,'F' |
1045 | cmp bl,'F' |
991 | jle .us2 |
1046 | jle .us2 |
992 | cmp bl,'a' |
1047 | cmp bl,'a' |
993 | jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'F' ¨ <'a' |
1048 | jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'F' ¨ <'a' |
994 | sub bl,32 ;¯¥à¥¢®¤¨¬ ᨬ¢®«ë ¢ ¢¥à娩 ॣ¨áâà, ¤«ï ã¯à®é¥¨ï ¨å ¯®á«¥¤ã饩 ®¡à ¡®âª¨ |
1049 | sub bl,32 ;¯¥à¥¢®¤¨¬ ᨬ¢®«ë ¢ ¢¥à娩 ॣ¨áâà, ¤«ï ã¯à®é¥¨ï ¨å ¯®á«¥¤ã饩 ®¡à ¡®âª¨ |
995 | .us2: ;á®áâ ¢®¥ ãá«®¢¨¥ |
1050 | .us2: ;á®áâ ¢®¥ ãá«®¢¨¥ |
996 | sub bl,'0' |
1051 | sub bl,'0' |
997 | cmp bl,9 |
1052 | cmp bl,9 |
998 | jle .cor1 |
1053 | jle .cor1 |
999 | sub bl,7 ;convert 'A' to '10' |
1054 | sub bl,7 ;convert 'A' to '10' |
1000 | .cor1: |
1055 | .cor1: |
1001 | shl eax,4 |
1056 | shl eax,4 |
1002 | add eax,ebx |
1057 | add eax,ebx |
1003 | inc esi |
1058 | inc esi |
1004 | jmp .cycle_16 |
1059 | jmp .cycle_16 |
1005 | @@: |
1060 | @@: |
1006 | cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ ⥫쮥 |
1061 | cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ ⥫쮥 |
1007 | jne @f |
1062 | jne @f |
1008 | sub ecx,eax |
1063 | sub ecx,eax |
1009 | mov eax,ecx |
1064 | mov eax,ecx |
1010 | @@: |
1065 | @@: |
1011 | ret |
1066 | ret |
1012 | endp |
1067 | endp |
1013 | 1068 | ||
1014 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
1069 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
1015 | align 4 |
1070 | align 4 |
1016 | OpenDialog_data: |
1071 | OpenDialog_data: |
1017 | .type dd 0 ;0 - ®âªàëâì, 1 - á®åà ¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î |
1072 | .type dd 0 ;0 - ®âªàëâì, 1 - á®åà ¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î |
1018 | .procinfo dd procinfo ;+4 |
1073 | .procinfo dd procinfo ;+4 |
1019 | .com_area_name dd communication_area_name ;+8 |
1074 | .com_area_name dd communication_area_name ;+8 |
1020 | .com_area dd 0 ;+12 |
1075 | .com_area dd 0 ;+12 |
1021 | .opendir_path dd plugin_path ;+16 |
1076 | .opendir_path dd plugin_path ;+16 |
1022 | .dir_default_path dd default_dir ;+20 |
1077 | .dir_default_path dd default_dir ;+20 |
1023 | .start_path dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢ |
1078 | .start_path dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢ |
1024 | .draw_window dd draw_window ;+28 |
1079 | .draw_window dd draw_window ;+28 |
1025 | .status dd 0 ;+32 |
1080 | .status dd 0 ;+32 |
1026 | .openfile_path dd openfile_path ;+36 ¯ãâì ª ®âªàë¢ ¥¬®¬ã ä ©«ã |
1081 | .openfile_path dd openfile_path ;+36 ¯ãâì ª ®âªàë¢ ¥¬®¬ã ä ©«ã |
1027 | .filename_area dd filename_area ;+40 |
1082 | .filename_area dd filename_area ;+40 |
1028 | .filter_area dd Filter |
1083 | .filter_area dd Filter |
1029 | .x: |
1084 | .x: |
1030 | .x_size dw 420 ;+48 ; Window X size |
1085 | .x_size dw 420 ;+48 ; Window X size |
1031 | .x_start dw 10 ;+50 ; Window X position |
1086 | .x_start dw 10 ;+50 ; Window X position |
1032 | .y: |
1087 | .y: |
1033 | .y_size dw 320 ;+52 ; Window y size |
1088 | .y_size dw 320 ;+52 ; Window y size |
1034 | .y_start dw 10 ;+54 ; Window Y position |
1089 | .y_start dw 10 ;+54 ; Window Y position |
1035 | 1090 | ||
1036 | default_dir db '/rd/1',0 |
1091 | default_dir db '/rd/1',0 |
1037 | 1092 | ||
1038 | communication_area_name: |
1093 | communication_area_name: |
1039 | db 'FFFFFFFF_open_dialog',0 |
1094 | db 'FFFFFFFF_open_dialog',0 |
1040 | open_dialog_name: |
1095 | open_dialog_name: |
1041 | db 'opendial',0 |
1096 | db 'opendial',0 |
1042 | communication_area_default_path: |
1097 | communication_area_default_path: |
1043 | db '/rd/1/File managers/',0 |
1098 | db '/rd/1/File managers/',0 |
1044 | 1099 | ||
1045 | Filter: |
1100 | Filter: |
1046 | dd Filter.end - Filter.1 |
1101 | dd Filter.end - Filter.1 |
1047 | .1: |
1102 | .1: |
1048 | db '3DS',0 |
1103 | db '3DS',0 |
1049 | db 'TXT',0 |
1104 | db 'TXT',0 |
1050 | .end: |
1105 | .end: |
1051 | db 0 |
1106 | db 0 |
1052 | 1107 | ||
1053 | 1108 | ||
1054 | align 4 |
1109 | align 4 |
1055 | system_dir_0 db '/sys/lib/' |
1110 | system_dir_0 db '/sys/lib/' |
1056 | lib_name_0 db 'proc_lib.obj',0 |
1111 | lib_name_0 db 'proc_lib.obj',0 |
1057 | system_dir_1 db '/sys/lib/' |
1112 | system_dir_1 db '/sys/lib/' |
1058 | lib_name_1 db 'libimg.obj',0 |
1113 | lib_name_1 db 'libimg.obj',0 |
1059 | system_dir_2 db '/sys/lib/' |
1114 | system_dir_2 db '/sys/lib/' |
1060 | lib_name_2 db 'box_lib.obj',0 |
1115 | lib_name_2 db 'box_lib.obj',0 |
1061 | system_dir_3 db '/sys/lib/' |
1116 | system_dir_3 db '/sys/lib/' |
1062 | lib_name_3 db 'buf2d.obj',0 |
1117 | lib_name_3 db 'buf2d.obj',0 |
1063 | system_dir_4 db '/sys/lib/' |
1118 | system_dir_4 db '/sys/lib/' |
1064 | lib_name_4 db 'kmenu.obj',0 |
1119 | lib_name_4 db 'kmenu.obj',0 |
1065 | system_dir_5 db '/sys/lib/' |
1120 | system_dir_5 db '/sys/lib/' |
1066 | lib_name_5 db 'tinygl.obj',0 |
1121 | lib_name_5 db 'tinygl.obj',0 |
1067 | 1122 | ||
1068 | if lang eq ru |
1123 | if lang eq ru |
1069 | head_f_i: |
1124 | head_f_i: |
1070 | head_f_l db '¨á⥬ ï ®è¨¡ª ',0 |
1125 | head_f_l db '¨á⥬ ï ®è¨¡ª ',0 |
1071 | err_msg_found_lib_0 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'proc_lib.obj',39,0 |
1126 | err_msg_found_lib_0 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'proc_lib.obj',39,0 |
1072 | err_msg_import_0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0 |
1127 | err_msg_import_0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0 |
1073 | err_msg_found_lib_1 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'libimg.obj',39,0 |
1128 | err_msg_found_lib_1 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'libimg.obj',39,0 |
1074 | err_msg_import_1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,0 |
1129 | err_msg_import_1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,0 |
1075 | err_msg_found_lib_2 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'box_lib.obj',39,0 |
1130 | err_msg_found_lib_2 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'box_lib.obj',39,0 |
1076 | err_msg_import_2 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0 |
1131 | err_msg_import_2 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0 |
1077 | err_msg_found_lib_3 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'buf2d.obj',39,0 |
1132 | err_msg_found_lib_3 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'buf2d.obj',39,0 |
1078 | err_msg_import_3 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'buf2d',39,0 |
1133 | err_msg_import_3 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'buf2d',39,0 |
1079 | err_msg_found_lib_4 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'kmenu.obj',39,0 |
1134 | err_msg_found_lib_4 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'kmenu.obj',39,0 |
1080 | err_msg_import_4 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,0 |
1135 | err_msg_import_4 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,0 |
1081 | err_msg_found_lib_5 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'tinygl.obj',39,0 |
1136 | err_msg_found_lib_5 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'tinygl.obj',39,0 |
1082 | err_msg_import_5 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'tinygl',39,0 |
1137 | err_msg_import_5 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'tinygl',39,0 |
1083 | else |
1138 | else |
1084 | head_f_i: |
1139 | head_f_i: |
1085 | head_f_l db 'System error',0 |
1140 | head_f_l db 'System error',0 |
1086 | err_msg_found_lib_0 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0 |
1141 | err_msg_found_lib_0 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0 |
1087 | err_msg_import_0 db 'Error on load import library ',39,'proc_lib.obj',39,0 |
1142 | err_msg_import_0 db 'Error on load import library ',39,'proc_lib.obj',39,0 |
1088 | err_msg_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,0 |
1143 | err_msg_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,0 |
1089 | err_msg_import_1 db 'Error on load import library ',39,'libimg.obj',39,0 |
1144 | err_msg_import_1 db 'Error on load import library ',39,'libimg.obj',39,0 |
1090 | err_msg_found_lib_2 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0 |
1145 | err_msg_found_lib_2 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0 |
1091 | err_msg_import_2 db 'Error on load import library ',39,'box_lib.obj',39,0 |
1146 | err_msg_import_2 db 'Error on load import library ',39,'box_lib.obj',39,0 |
1092 | err_msg_found_lib_3 db 'Sorry I cannot found library ',39,'buf2d.obj',39,0 |
1147 | err_msg_found_lib_3 db 'Sorry I cannot found library ',39,'buf2d.obj',39,0 |
1093 | err_msg_import_3 db 'Error on load import library ',39,'buf2d.obj',39,0 |
1148 | err_msg_import_3 db 'Error on load import library ',39,'buf2d.obj',39,0 |
1094 | err_msg_found_lib_4 db 'Sorry I cannot found library ',39,'kmenu.obj',39,0 |
1149 | err_msg_found_lib_4 db 'Sorry I cannot found library ',39,'kmenu.obj',39,0 |
1095 | err_msg_import_4 db 'Error on load import library ',39,'kmenu.obj',39,0 |
1150 | err_msg_import_4 db 'Error on load import library ',39,'kmenu.obj',39,0 |
1096 | err_msg_found_lib_5 db 'Sorry I cannot found library ',39,'tinygl.obj',39,0 |
1151 | err_msg_found_lib_5 db 'Sorry I cannot found library ',39,'tinygl.obj',39,0 |
1097 | err_msg_import_5 db 'Error on load import library ',39,'tinygl',39,0 |
1152 | err_msg_import_5 db 'Error on load import library ',39,'tinygl',39,0 |
1098 | end if |
1153 | end if |
1099 | 1154 | ||
1100 | align 4 |
1155 | align 4 |
1101 | l_libs_start: |
1156 | l_libs_start: |
1102 | lib_0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ |
1157 | lib_0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ |
1103 | err_msg_found_lib_0, head_f_l, proclib_import,err_msg_import_0, head_f_i |
1158 | err_msg_found_lib_0, head_f_l, proclib_import,err_msg_import_0, head_f_i |
1104 | lib_1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ |
1159 | lib_1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ |
1105 | err_msg_found_lib_1, head_f_l, import_libimg, err_msg_import_1, head_f_i |
1160 | err_msg_found_lib_1, head_f_l, import_libimg, err_msg_import_1, head_f_i |
1106 | lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\ |
1161 | lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\ |
1107 | err_msg_found_lib_2, head_f_l, import_box_lib,err_msg_import_2,head_f_i |
1162 | err_msg_found_lib_2, head_f_l, import_box_lib,err_msg_import_2,head_f_i |
1108 | lib_3 l_libs lib_name_3, sys_path, library_path, system_dir_3,\ |
1163 | lib_3 l_libs lib_name_3, sys_path, library_path, system_dir_3,\ |
1109 | err_msg_found_lib_3, head_f_l, import_buf2d, err_msg_import_3,head_f_i |
1164 | err_msg_found_lib_3, head_f_l, import_buf2d, err_msg_import_3,head_f_i |
1110 | lib_4 l_libs lib_name_4, sys_path, library_path, system_dir_4,\ |
1165 | lib_4 l_libs lib_name_4, sys_path, library_path, system_dir_4,\ |
1111 | err_msg_found_lib_4, head_f_l, import_libkmenu,err_msg_import_4,head_f_i |
1166 | err_msg_found_lib_4, head_f_l, import_libkmenu,err_msg_import_4,head_f_i |
1112 | lib_5 l_libs lib_name_5, sys_path, library_path, system_dir_5,\ |
1167 | lib_5 l_libs lib_name_5, sys_path, library_path, system_dir_5,\ |
1113 | err_msg_found_lib_5, head_f_l, import_lib_tinygl,err_msg_import_5,head_f_i |
1168 | err_msg_found_lib_5, head_f_l, import_lib_tinygl,err_msg_import_5,head_f_i |
1114 | l_libs_end: |
1169 | l_libs_end: |
1115 | 1170 | ||
1116 | align 4 |
1171 | align 4 |
1117 | import_libimg: |
1172 | import_libimg: |
1118 | dd alib_init1 |
1173 | dd alib_init1 |
1119 | img_is_img dd aimg_is_img |
1174 | img_is_img dd aimg_is_img |
1120 | img_info dd aimg_info |
1175 | img_info dd aimg_info |
1121 | img_from_file dd aimg_from_file |
1176 | img_from_file dd aimg_from_file |
1122 | img_to_file dd aimg_to_file |
1177 | img_to_file dd aimg_to_file |
1123 | img_from_rgb dd aimg_from_rgb |
1178 | img_from_rgb dd aimg_from_rgb |
1124 | img_to_rgb dd aimg_to_rgb |
1179 | img_to_rgb dd aimg_to_rgb |
1125 | img_to_rgb2 dd aimg_to_rgb2 |
1180 | img_to_rgb2 dd aimg_to_rgb2 |
1126 | img_decode dd aimg_decode |
1181 | img_decode dd aimg_decode |
1127 | img_encode dd aimg_encode |
1182 | img_encode dd aimg_encode |
1128 | img_create dd aimg_create |
1183 | img_create dd aimg_create |
1129 | img_destroy dd aimg_destroy |
1184 | img_destroy dd aimg_destroy |
1130 | img_destroy_layer dd aimg_destroy_layer |
1185 | img_destroy_layer dd aimg_destroy_layer |
1131 | img_count dd aimg_count |
1186 | img_count dd aimg_count |
1132 | img_lock_bits dd aimg_lock_bits |
1187 | img_lock_bits dd aimg_lock_bits |
1133 | img_unlock_bits dd aimg_unlock_bits |
1188 | img_unlock_bits dd aimg_unlock_bits |
1134 | img_flip dd aimg_flip |
1189 | img_flip dd aimg_flip |
1135 | img_flip_layer dd aimg_flip_layer |
1190 | img_flip_layer dd aimg_flip_layer |
1136 | img_rotate dd aimg_rotate |
1191 | img_rotate dd aimg_rotate |
1137 | img_rotate_layer dd aimg_rotate_layer |
1192 | img_rotate_layer dd aimg_rotate_layer |
1138 | img_draw dd aimg_draw |
1193 | img_draw dd aimg_draw |
1139 | 1194 | ||
1140 | dd 0,0 |
1195 | dd 0,0 |
1141 | alib_init1 db 'lib_init',0 |
1196 | alib_init1 db 'lib_init',0 |
1142 | aimg_is_img db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª ᤥ« âì ¨§ ¨å ¨§®¡à ¦¥¨¥ |
1197 | aimg_is_img db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª ᤥ« âì ¨§ ¨å ¨§®¡à ¦¥¨¥ |
1143 | aimg_info db 'img_info',0 |
1198 | aimg_info db 'img_info',0 |
1144 | aimg_from_file db 'img_from_file',0 |
1199 | aimg_from_file db 'img_from_file',0 |
1145 | aimg_to_file db 'img_to_file',0 |
1200 | aimg_to_file db 'img_to_file',0 |
1146 | aimg_from_rgb db 'img_from_rgb',0 |
1201 | aimg_from_rgb db 'img_from_rgb',0 |
1147 | aimg_to_rgb db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ¨¥ ¨§®¡à ¦¥¨ï ¢ ¤ ë¥ RGB |
1202 | aimg_to_rgb db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ¨¥ ¨§®¡à ¦¥¨ï ¢ ¤ ë¥ RGB |
1148 | aimg_to_rgb2 db 'img_to_rgb2',0 |
1203 | aimg_to_rgb2 db 'img_to_rgb2',0 |
1149 | aimg_decode db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ëå |
1204 | aimg_decode db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ëå |
1150 | aimg_encode db 'img_encode',0 |
1205 | aimg_encode db 'img_encode',0 |
1151 | aimg_create db 'img_create',0 |
1206 | aimg_create db 'img_create',0 |
1152 | aimg_destroy db 'img_destroy',0 |
1207 | aimg_destroy db 'img_destroy',0 |
1153 | aimg_destroy_layer db 'img_destroy_layer',0 |
1208 | aimg_destroy_layer db 'img_destroy_layer',0 |
1154 | aimg_count db 'img_count',0 |
1209 | aimg_count db 'img_count',0 |
1155 | aimg_lock_bits db 'img_lock_bits',0 |
1210 | aimg_lock_bits db 'img_lock_bits',0 |
1156 | aimg_unlock_bits db 'img_unlock_bits',0 |
1211 | aimg_unlock_bits db 'img_unlock_bits',0 |
1157 | aimg_flip db 'img_flip',0 |
1212 | aimg_flip db 'img_flip',0 |
1158 | aimg_flip_layer db 'img_flip_layer',0 |
1213 | aimg_flip_layer db 'img_flip_layer',0 |
1159 | aimg_rotate db 'img_rotate',0 |
1214 | aimg_rotate db 'img_rotate',0 |
1160 | aimg_rotate_layer db 'img_rotate_layer',0 |
1215 | aimg_rotate_layer db 'img_rotate_layer',0 |
1161 | aimg_draw db 'img_draw',0 |
1216 | aimg_draw db 'img_draw',0 |
1162 | 1217 | ||
1163 | align 4 |
1218 | align 4 |
1164 | proclib_import: ;®¯¨á ¨¥ íªá¯®àâ¨à㥬ëå äãªæ¨© |
1219 | proclib_import: ;®¯¨á ¨¥ íªá¯®àâ¨à㥬ëå äãªæ¨© |
1165 | OpenDialog_Init dd aOpenDialog_Init |
1220 | OpenDialog_Init dd aOpenDialog_Init |
1166 | OpenDialog_Start dd aOpenDialog_Start |
1221 | OpenDialog_Start dd aOpenDialog_Start |
1167 | dd 0,0 |
1222 | dd 0,0 |
1168 | aOpenDialog_Init db 'OpenDialog_init',0 |
1223 | aOpenDialog_Init db 'OpenDialog_init',0 |
1169 | aOpenDialog_Start db 'OpenDialog_start',0 |
1224 | aOpenDialog_Start db 'OpenDialog_start',0 |
1170 | 1225 | ||
1171 | align 4 |
1226 | align 4 |
1172 | import_buf2d: |
1227 | import_buf2d: |
1173 | dd sz_init0 |
1228 | dd sz_init0 |
1174 | buf2d_create dd sz_buf2d_create |
1229 | buf2d_create dd sz_buf2d_create |
1175 | buf2d_create_f_img dd sz_buf2d_create_f_img |
1230 | buf2d_create_f_img dd sz_buf2d_create_f_img |
1176 | buf2d_clear dd sz_buf2d_clear |
1231 | buf2d_clear dd sz_buf2d_clear |
1177 | buf2d_draw dd sz_buf2d_draw |
1232 | buf2d_draw dd sz_buf2d_draw |
1178 | buf2d_delete dd sz_buf2d_delete |
1233 | buf2d_delete dd sz_buf2d_delete |
1179 | buf2d_resize dd sz_buf2d_resize |
1234 | buf2d_resize dd sz_buf2d_resize |
1180 | buf2d_line dd sz_buf2d_line |
1235 | buf2d_line dd sz_buf2d_line |
1181 | buf2d_rect_by_size dd sz_buf2d_rect_by_size |
1236 | buf2d_rect_by_size dd sz_buf2d_rect_by_size |
1182 | buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
1237 | buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
1183 | buf2d_circle dd sz_buf2d_circle |
1238 | buf2d_circle dd sz_buf2d_circle |
1184 | buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
1239 | buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
1185 | buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
1240 | buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
1186 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
1241 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
1187 | buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
1242 | buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
1188 | buf2d_bit_blt dd sz_buf2d_bit_blt |
1243 | buf2d_bit_blt dd sz_buf2d_bit_blt |
1189 | buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
1244 | buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
1190 | buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
1245 | buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
1191 | buf2d_curve_bezier dd sz_buf2d_curve_bezier |
1246 | buf2d_curve_bezier dd sz_buf2d_curve_bezier |
1192 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
1247 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
1193 | buf2d_draw_text dd sz_buf2d_draw_text |
1248 | buf2d_draw_text dd sz_buf2d_draw_text |
1194 | buf2d_crop_color dd sz_buf2d_crop_color |
1249 | buf2d_crop_color dd sz_buf2d_crop_color |
1195 | buf2d_offset_h dd sz_buf2d_offset_h |
1250 | buf2d_offset_h dd sz_buf2d_offset_h |
1196 | buf2d_flood_fill dd sz_buf2d_flood_fill |
1251 | buf2d_flood_fill dd sz_buf2d_flood_fill |
1197 | buf2d_set_pixel dd sz_buf2d_set_pixel |
1252 | buf2d_set_pixel dd sz_buf2d_set_pixel |
1198 | dd 0,0 |
1253 | dd 0,0 |
1199 | sz_init0 db 'lib_init',0 |
1254 | sz_init0 db 'lib_init',0 |
1200 | sz_buf2d_create db 'buf2d_create',0 |
1255 | sz_buf2d_create db 'buf2d_create',0 |
1201 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
1256 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
1202 | sz_buf2d_clear db 'buf2d_clear',0 |
1257 | sz_buf2d_clear db 'buf2d_clear',0 |
1203 | sz_buf2d_draw db 'buf2d_draw',0 |
1258 | sz_buf2d_draw db 'buf2d_draw',0 |
1204 | sz_buf2d_delete db 'buf2d_delete',0 |
1259 | sz_buf2d_delete db 'buf2d_delete',0 |
1205 | sz_buf2d_resize db 'buf2d_resize',0 |
1260 | sz_buf2d_resize db 'buf2d_resize',0 |
1206 | sz_buf2d_line db 'buf2d_line',0 |
1261 | sz_buf2d_line db 'buf2d_line',0 |
1207 | sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 |
1262 | sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 |
1208 | sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
1263 | sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
1209 | sz_buf2d_circle db 'buf2d_circle',0 |
1264 | sz_buf2d_circle db 'buf2d_circle',0 |
1210 | sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
1265 | sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
1211 | sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
1266 | sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
1212 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
1267 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
1213 | sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
1268 | sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
1214 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
1269 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
1215 | sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
1270 | sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
1216 | sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
1271 | sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
1217 | sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 |
1272 | sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 |
1218 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
1273 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
1219 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
1274 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
1220 | sz_buf2d_crop_color db 'buf2d_crop_color',0 |
1275 | sz_buf2d_crop_color db 'buf2d_crop_color',0 |
1221 | sz_buf2d_offset_h db 'buf2d_offset_h',0 |
1276 | sz_buf2d_offset_h db 'buf2d_offset_h',0 |
1222 | sz_buf2d_flood_fill db 'buf2d_flood_fill',0 |
1277 | sz_buf2d_flood_fill db 'buf2d_flood_fill',0 |
1223 | sz_buf2d_set_pixel db 'buf2d_set_pixel',0 |
1278 | sz_buf2d_set_pixel db 'buf2d_set_pixel',0 |
1224 | 1279 | ||
1225 | align 4 |
1280 | align 4 |
1226 | import_box_lib: |
1281 | import_box_lib: |
1227 | dd sz_init1 |
1282 | dd sz_init1 |
1228 | init_checkbox dd sz_init_checkbox |
1283 | init_checkbox dd sz_init_checkbox |
1229 | check_box_draw dd sz_check_box_draw |
1284 | check_box_draw dd sz_check_box_draw |
1230 | edit_box_draw dd sz_edit_box_draw |
1285 | edit_box_draw dd sz_edit_box_draw |
1231 | edit_box_key dd sz_edit_box_key |
1286 | edit_box_key dd sz_edit_box_key |
1232 | edit_box_mouse dd sz_edit_box_mouse |
1287 | edit_box_mouse dd sz_edit_box_mouse |
1233 | edit_box_set_text dd sz_edit_box_set_text |
1288 | edit_box_set_text dd sz_edit_box_set_text |
1234 | scrollbar_ver_draw dd sz_scrollbar_ver_draw |
1289 | scrollbar_ver_draw dd sz_scrollbar_ver_draw |
1235 | scrollbar_hor_draw dd sz_scrollbar_hor_draw |
1290 | scrollbar_hor_draw dd sz_scrollbar_hor_draw |
1236 | 1291 | ||
1237 | tl_data_init dd sz_tl_data_init |
1292 | tl_data_init dd sz_tl_data_init |
1238 | tl_data_clear dd sz_tl_data_clear |
1293 | tl_data_clear dd sz_tl_data_clear |
1239 | tl_info_clear dd sz_tl_info_clear |
1294 | tl_info_clear dd sz_tl_info_clear |
1240 | tl_key dd sz_tl_key |
1295 | tl_key dd sz_tl_key |
1241 | tl_mouse dd sz_tl_mouse |
1296 | tl_mouse dd sz_tl_mouse |
1242 | tl_draw dd sz_tl_draw |
1297 | tl_draw dd sz_tl_draw |
1243 | tl_info_undo dd sz_tl_info_undo |
1298 | tl_info_undo dd sz_tl_info_undo |
1244 | tl_info_redo dd sz_tl_info_redo |
1299 | tl_info_redo dd sz_tl_info_redo |
1245 | tl_node_add dd sz_tl_node_add |
1300 | tl_node_add dd sz_tl_node_add |
1246 | tl_node_set_data dd sz_tl_node_set_data |
1301 | tl_node_set_data dd sz_tl_node_set_data |
1247 | tl_node_get_data dd sz_tl_node_get_data |
1302 | tl_node_get_data dd sz_tl_node_get_data |
1248 | tl_node_delete dd sz_tl_node_delete |
1303 | tl_node_delete dd sz_tl_node_delete |
1249 | tl_node_move_up dd sz_tl_node_move_up |
1304 | tl_node_move_up dd sz_tl_node_move_up |
1250 | tl_node_move_down dd sz_tl_node_move_down |
1305 | tl_node_move_down dd sz_tl_node_move_down |
1251 | tl_cur_beg dd sz_tl_cur_beg |
1306 | tl_cur_beg dd sz_tl_cur_beg |
1252 | tl_cur_next dd sz_tl_cur_next |
1307 | tl_cur_next dd sz_tl_cur_next |
1253 | tl_cur_perv dd sz_tl_cur_perv |
1308 | tl_cur_perv dd sz_tl_cur_perv |
1254 | tl_node_close_open dd sz_tl_node_close_open |
1309 | tl_node_close_open dd sz_tl_node_close_open |
1255 | tl_node_lev_inc dd sz_tl_node_lev_inc |
1310 | tl_node_lev_inc dd sz_tl_node_lev_inc |
1256 | tl_node_lev_dec dd sz_tl_node_lev_dec |
1311 | tl_node_lev_dec dd sz_tl_node_lev_dec |
1257 | tl_node_poi_get_info dd sz_tl_node_poi_get_info |
1312 | tl_node_poi_get_info dd sz_tl_node_poi_get_info |
1258 | tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info |
1313 | tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info |
1259 | tl_node_poi_get_data dd sz_tl_node_poi_get_data |
1314 | tl_node_poi_get_data dd sz_tl_node_poi_get_data |
1260 | 1315 | ||
1261 | dd 0,0 |
1316 | dd 0,0 |
1262 | sz_init1 db 'lib_init',0 |
1317 | sz_init1 db 'lib_init',0 |
1263 | sz_init_checkbox db 'init_checkbox2',0 |
1318 | sz_init_checkbox db 'init_checkbox2',0 |
1264 | sz_check_box_draw db 'check_box_draw2',0 |
1319 | sz_check_box_draw db 'check_box_draw2',0 |
1265 | sz_edit_box_draw db 'edit_box',0 |
1320 | sz_edit_box_draw db 'edit_box',0 |
1266 | sz_edit_box_key db 'edit_box_key',0 |
1321 | sz_edit_box_key db 'edit_box_key',0 |
1267 | sz_edit_box_mouse db 'edit_box_mouse',0 |
1322 | sz_edit_box_mouse db 'edit_box_mouse',0 |
1268 | sz_edit_box_set_text db 'edit_box_set_text',0 |
1323 | sz_edit_box_set_text db 'edit_box_set_text',0 |
1269 | sz_scrollbar_ver_draw db 'scrollbar_v_draw',0 |
1324 | sz_scrollbar_ver_draw db 'scrollbar_v_draw',0 |
1270 | sz_scrollbar_hor_draw db 'scrollbar_h_draw',0 |
1325 | sz_scrollbar_hor_draw db 'scrollbar_h_draw',0 |
1271 | 1326 | ||
1272 | sz_tl_data_init db 'tl_data_init',0 |
1327 | sz_tl_data_init db 'tl_data_init',0 |
1273 | sz_tl_data_clear db 'tl_data_clear',0 |
1328 | sz_tl_data_clear db 'tl_data_clear',0 |
1274 | sz_tl_info_clear db 'tl_info_clear',0 |
1329 | sz_tl_info_clear db 'tl_info_clear',0 |
1275 | sz_tl_key db 'tl_key',0 |
1330 | sz_tl_key db 'tl_key',0 |
1276 | sz_tl_mouse db 'tl_mouse',0 |
1331 | sz_tl_mouse db 'tl_mouse',0 |
1277 | sz_tl_draw db 'tl_draw',0 |
1332 | sz_tl_draw db 'tl_draw',0 |
1278 | sz_tl_info_undo db 'tl_info_undo',0 |
1333 | sz_tl_info_undo db 'tl_info_undo',0 |
1279 | sz_tl_info_redo db 'tl_info_redo',0 |
1334 | sz_tl_info_redo db 'tl_info_redo',0 |
1280 | sz_tl_node_add db 'tl_node_add',0 |
1335 | sz_tl_node_add db 'tl_node_add',0 |
1281 | sz_tl_node_set_data db 'tl_node_set_data',0 |
1336 | sz_tl_node_set_data db 'tl_node_set_data',0 |
1282 | sz_tl_node_get_data db 'tl_node_get_data',0 |
1337 | sz_tl_node_get_data db 'tl_node_get_data',0 |
1283 | sz_tl_node_delete db 'tl_node_delete',0 |
1338 | sz_tl_node_delete db 'tl_node_delete',0 |
1284 | sz_tl_node_move_up db 'tl_node_move_up',0 |
1339 | sz_tl_node_move_up db 'tl_node_move_up',0 |
1285 | sz_tl_node_move_down db 'tl_node_move_down',0 |
1340 | sz_tl_node_move_down db 'tl_node_move_down',0 |
1286 | sz_tl_cur_beg db 'tl_cur_beg',0 |
1341 | sz_tl_cur_beg db 'tl_cur_beg',0 |
1287 | sz_tl_cur_next db 'tl_cur_next',0 |
1342 | sz_tl_cur_next db 'tl_cur_next',0 |
1288 | sz_tl_cur_perv db 'tl_cur_perv',0 |
1343 | sz_tl_cur_perv db 'tl_cur_perv',0 |
1289 | sz_tl_node_close_open db 'tl_node_close_open',0 |
1344 | sz_tl_node_close_open db 'tl_node_close_open',0 |
1290 | sz_tl_node_lev_inc db 'tl_node_lev_inc',0 |
1345 | sz_tl_node_lev_inc db 'tl_node_lev_inc',0 |
1291 | sz_tl_node_lev_dec db 'tl_node_lev_dec',0 |
1346 | sz_tl_node_lev_dec db 'tl_node_lev_dec',0 |
1292 | sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0 |
1347 | sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0 |
1293 | sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0 |
1348 | sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0 |
1294 | sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0 |
1349 | sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0 |
1295 | 1350 | ||
1296 | align 4 |
1351 | align 4 |
1297 | import_libkmenu: |
1352 | import_libkmenu: |
1298 | kmenu_init dd akmenu_init |
1353 | kmenu_init dd akmenu_init |
1299 | kmainmenu_draw dd akmainmenu_draw |
1354 | kmainmenu_draw dd akmainmenu_draw |
1300 | kmainmenu_dispatch_cursorevent dd akmainmenu_dispatch_cursorevent |
1355 | kmainmenu_dispatch_cursorevent dd akmainmenu_dispatch_cursorevent |
1301 | ksubmenu_new dd aksubmenu_new |
1356 | ksubmenu_new dd aksubmenu_new |
1302 | ksubmenu_delete dd aksubmenu_delete |
1357 | ksubmenu_delete dd aksubmenu_delete |
1303 | ksubmenu_draw dd aksubmenu_draw |
1358 | ksubmenu_draw dd aksubmenu_draw |
1304 | ksubmenu_add dd aksubmenu_add |
1359 | ksubmenu_add dd aksubmenu_add |
1305 | kmenuitem_new dd akmenuitem_new |
1360 | kmenuitem_new dd akmenuitem_new |
1306 | kmenuitem_delete dd akmenuitem_delete |
1361 | kmenuitem_delete dd akmenuitem_delete |
1307 | kmenuitem_draw dd akmenuitem_draw |
1362 | kmenuitem_draw dd akmenuitem_draw |
1308 | dd 0,0 |
1363 | dd 0,0 |
1309 | akmenu_init db 'kmenu_init',0 |
1364 | akmenu_init db 'kmenu_init',0 |
1310 | akmainmenu_draw db 'kmainmenu_draw',0 |
1365 | akmainmenu_draw db 'kmainmenu_draw',0 |
1311 | akmainmenu_dispatch_cursorevent db 'kmainmenu_dispatch_cursorevent',0 |
1366 | akmainmenu_dispatch_cursorevent db 'kmainmenu_dispatch_cursorevent',0 |
1312 | aksubmenu_new db 'ksubmenu_new',0 |
1367 | aksubmenu_new db 'ksubmenu_new',0 |
1313 | aksubmenu_delete db 'ksubmenu_delete',0 |
1368 | aksubmenu_delete db 'ksubmenu_delete',0 |
1314 | aksubmenu_draw db 'ksubmenu_draw',0 |
1369 | aksubmenu_draw db 'ksubmenu_draw',0 |
1315 | aksubmenu_add db 'ksubmenu_add',0 |
1370 | aksubmenu_add db 'ksubmenu_add',0 |
1316 | akmenuitem_new db 'kmenuitem_new',0 |
1371 | akmenuitem_new db 'kmenuitem_new',0 |
1317 | akmenuitem_delete db 'kmenuitem_delete',0 |
1372 | akmenuitem_delete db 'kmenuitem_delete',0 |
1318 | akmenuitem_draw db 'kmenuitem_draw',0 |
1373 | akmenuitem_draw db 'kmenuitem_draw',0 |
1319 | 1374 | ||
1320 | align 4 |
1375 | align 4 |
1321 | import_lib_tinygl: |
1376 | import_lib_tinygl: |
1322 | macro E_LIB n |
1377 | macro E_LIB n |
1323 | { |
1378 | { |
1324 | n dd sz_#n |
1379 | n dd sz_#n |
1325 | } |
1380 | } |
1326 | include '../../develop/libraries/TinyGL/asm_fork/export.inc' |
1381 | include '../../develop/libraries/TinyGL/asm_fork/export.inc' |
1327 | dd 0,0 |
1382 | dd 0,0 |
1328 | macro E_LIB n |
1383 | macro E_LIB n |
1329 | { |
1384 | { |
1330 | sz_#n db `n,0 |
1385 | sz_#n db `n,0 |
1331 | } |
1386 | } |
1332 | include '../../develop/libraries/TinyGL/asm_fork/export.inc' |
1387 | include '../../develop/libraries/TinyGL/asm_fork/export.inc' |
1333 | 1388 | ||
1334 | align 4 |
1389 | align 4 |
1335 | mouse_dd dd 0x0 |
1390 | mouse_dd dd 0x0 |
1336 | sc system_colors |
- | |
1337 | last_time dd 0 |
1391 | last_time dd 0 |
1338 | 1392 | ||
1339 | align 4 |
1393 | align 4 |
1340 | buf_0: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1394 | buf_0: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1341 | .l: dw 205 ;+4 left |
1395 | .l: dw 205 ;+4 left |
1342 | .t: dw 35 ;+6 top |
1396 | .t: dw 35 ;+6 top |
1343 | .w: dd 340 ;+8 w |
1397 | .w: dd 340 ;+8 w |
1344 | .h: dd main_wnd_height-65 ;+12 h |
1398 | .h: dd main_wnd_height-65 ;+12 h |
1345 | .color: dd 0xffffd0 ;+16 color |
1399 | .color: dd 0xffffd0 ;+16 color |
1346 | db 24 ;+20 bit in pixel |
1400 | db 24 ;+20 bit in pixel |
1347 | 1401 | ||
1348 | align 4 |
1402 | align 4 |
1349 | buf_1: |
1403 | buf_1: |
1350 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1404 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1351 | dw 25,25 ;+4 left,top |
1405 | dw 25,25 ;+4 left,top |
1352 | dd 128,144 ;+8 w,h |
1406 | dd 128,144 ;+8 w,h |
1353 | dd 0,24 ;+16 color,bit in pixel |
1407 | dd 0,24 ;+16 color,bit in pixel |
1354 | 1408 | ||
1355 | align 4 |
1409 | align 4 |
1356 | el_focus dd tree1 |
1410 | el_focus dd tree1 |
1357 | tree1 tree_list size_one_list,300+2, tl_key_no_edit+tl_draw_par_line,\ |
1411 | tree1 tree_list size_one_list,300+2, tl_key_no_edit+tl_draw_par_line,\ |
1358 | 16,16, 0xffffff,0xb0d0ff,0x400040, 5,35,195-16,250, 16,list_offs_text,0, el_focus,\ |
1412 | 16,16, 0xffffff,0xb0d0ff,0x400040, 5,35,195-16,250, 16,list_offs_text,0, el_focus,\ |
1359 | w_scr_t1,0 |
1413 | w_scr_t1,0 |
1360 | 1414 | ||
1361 | align 4 |
1415 | align 4 |
1362 | w_scr_t1 scrollbar 16,0, 3,0, 15, 100, 0,0, 0,0,0, 1 |
1416 | w_scr_t1 scrollbar 16,0, 3,0, 15, 100, 0,0, 0,0,0, 1 |
1363 | 1417 | ||
1364 | align 4 |
1418 | align 4 |
1365 | ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext |
1419 | ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext |
1366 | ;sizeof.TinyGLContext = 28 |
1420 | ;sizeof.TinyGLContext = 28 |
1367 | 1421 | ||
1368 | qObj dd 0 |
1422 | qObj dd 0 |
1369 | angle_x dd 0.0 |
1423 | angle_x dd 0.0 |
1370 | angle_y dd 0.0 |
1424 | angle_y dd 0.0 |
1371 | angle_z dd 0.0 |
1425 | angle_z dd 0.0 |
1372 | delt_size dd 3.0 |
1426 | delt_size dd 3.0 |
1373 | 1427 | ||
1374 | light_position dd 0.0, 0.0, 2.0, 1.0 ; ᯮ«®¦¥¨¥ ¨áâ®ç¨ª [0][1][2] |
1428 | light_position dd 0.0, 0.0, -2.0, 1.0 ; ᯮ«®¦¥¨¥ ¨áâ®ç¨ª [0][1][2] |
1375 | ;[3] = (0.0 - ¡¥áª®¥ç® 㤠«¥ë© ¨áâ®ç¨ª, 1.0 - ¨áâ®ç¨ª ᢥ⠮¯à¥¤¥«¥®¬ à ááâ®ï¨¨) |
1429 | ;[3] = (0.0 - ¡¥áª®¥ç® 㤠«¥ë© ¨áâ®ç¨ª, 1.0 - ¨áâ®ç¨ª ᢥ⠮¯à¥¤¥«¥®¬ à ááâ®ï¨¨) |
1376 | light_dir dd 0.0,0.0,0.0 ; ¯à ¢«¥¨¥ « ¬¯ë |
1430 | light_dir dd 0.0,0.0,0.0 ; ¯à ¢«¥¨¥ « ¬¯ë |
1377 | 1431 | ||
1378 | mat_specular dd 0.3, 0.3, 0.3, 1.0 ; ¢¥â ¡«¨ª |
1432 | mat_specular dd 0.3, 0.3, 0.3, 1.0 ; ¢¥â ¡«¨ª |
1379 | mat_shininess dd 3.0 ; §¬¥à ¡«¨ª (®¡à â ï ¯à®¯®àæ¨ï) |
1433 | mat_shininess dd 3.0 ; §¬¥à ¡«¨ª (®¡à â ï ¯à®¯®àæ¨ï) |
1380 | white_light dd 0.8, 0.8, 0.8, 1.0 ; ¢¥â ¨ ¨â¥á¨¢®áâì ®á¢¥é¥¨ï, £¥¥à¨à㥬®£® ¨áâ®ç¨ª®¬ |
1434 | white_light dd 0.8, 0.8, 0.8, 1.0 ; ¢¥â ¨ ¨â¥á¨¢®áâì ®á¢¥é¥¨ï, £¥¥à¨à㥬®£® ¨áâ®ç¨ª®¬ |
1381 | lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; à ¬¥âàë ä®®¢®£® ®á¢¥é¥¨ï |
1435 | lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; à ¬¥âàë ä®®¢®£® ®á¢¥é¥¨ï |
1382 | 1436 | ||
1383 | align 16 |
1437 | align 16 |
1384 | i_end: |
1438 | i_end: |
1385 | procinfo process_information |
1439 | procinfo process_information |
- | 1440 | sc system_colors |
|
1386 | rb 2048 |
1441 | rb 2048 |
1387 | align 16 |
1442 | align 16 |
1388 | thread_coords: |
1443 | thread_coords: |
1389 | rb 2048 |
1444 | rb 2048 |
1390 | stacktop: |
1445 | stacktop: |
1391 | sys_path rb 2048 |
1446 | sys_path rb 2048 |
1392 | file_name rb 4096 |
1447 | file_name rb 4096 |
1393 | library_path rb 2048 |
1448 | library_path rb 2048 |
1394 | plugin_path rb 4096 |
1449 | plugin_path rb 4096 |
1395 | openfile_path rb 4096 |
1450 | openfile_path rb 4096 |
1396 | filename_area rb 256 |
1451 | filename_area rb 256 |
1397 | mem:'a' |
1452 | mem:'a' |
1398 | >'A' |
1453 | >'A' |
1399 | > |
1454 | > |