Rev 8442 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8442 | Rev 9587 | ||
---|---|---|---|
1 | use32 |
1 | use32 |
2 | org 0 |
2 | org 0 |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
4 | dd 1, start, i_end, mem, stacktop, openfile_path, sys_path |
4 | dd 1, start, i_end, mem, stacktop, openfile_path, sys_path |
5 | 5 | ||
6 | include '../../../macros.inc' |
6 | include '../../../macros.inc' |
7 | include '../../../proc32.inc' |
7 | include '../../../proc32.inc' |
8 | include '../../../KOSfuncs.inc' |
8 | include '../../../KOSfuncs.inc' |
9 | include '../../../load_img.inc' |
9 | include '../../../load_img.inc' |
10 | include '../../../load_lib.mac' |
10 | include '../../../load_lib.mac' |
11 | include '../../../develop/libraries/TinyGL/asm_fork/opengl_const.inc' |
11 | include '../../../develop/libraries/TinyGL/asm_fork/opengl_const.inc' |
12 | include '../../../develop/libraries/TinyGL/asm_fork/zbuffer.inc' |
12 | include '../../../develop/libraries/TinyGL/asm_fork/zbuffer.inc' |
13 | include 'vox_3d.inc' |
13 | include 'vox_3d.inc' |
14 | include '../trunk/str.inc' |
14 | include '../trunk/str.inc' |
15 | include 'lang.inc' |
15 | include 'lang.inc' |
16 | 16 | ||
17 | @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
17 | @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
18 | if lang eq ru |
18 | if lang eq ru |
19 | caption db 'à®á¬®âà ¢®ªá¥«¥© 11.11.20',0 ;¯®¤¯¨áì ®ª |
19 | caption db 'à®á¬®âà ¢®ªá¥«¥© 11.11.20',0 ;¯®¤¯¨áì ®ª |
20 | else |
20 | else |
21 | caption db 'Voxel viewer 11.11.20',0 |
21 | caption db 'Voxel viewer 11.11.20',0 |
22 | end if |
22 | end if |
23 | 23 | ||
24 | 3d_wnd_l equ 5 ;®âáâ㯠¤«ï tinygl ¡ãä¥à á«¥¢ |
24 | 3d_wnd_l equ 5 ;®âáâ㯠¤«ï tinygl ¡ãä¥à á«¥¢ |
25 | 3d_wnd_t equ 30 ;®âáâ㯠¤«ï tinygl ¡ãä¥à ᢥàåã |
25 | 3d_wnd_t equ 30 ;®âáâ㯠¤«ï tinygl ¡ãä¥à ᢥàåã |
26 | 3d_wnd_w equ 512 |
26 | 3d_wnd_w equ 512 |
27 | 3d_wnd_h equ 512 |
27 | 3d_wnd_h equ 512 |
28 | 28 | ||
29 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
29 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
30 | IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*10 |
30 | IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*10 |
31 | 31 | ||
32 | align 4 |
32 | align 4 |
33 | start: |
33 | start: |
34 | load_libraries l_libs_start,l_libs_end |
34 | load_libraries l_libs_start,l_libs_end |
35 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
35 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
36 | mov ebp,lib_0 |
36 | mov ebp,lib_0 |
37 | cmp dword [ebp+ll_struc_size-4],0 |
37 | cmp dword [ebp+ll_struc_size-4],0 |
38 | jz @f |
38 | jz @f |
39 | mcall SF_TERMINATE_PROCESS |
39 | mcall SF_TERMINATE_PROCESS |
40 | @@: |
40 | @@: |
41 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors |
41 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors |
42 | mcall SF_SET_EVENTS_MASK,0xC0000027 |
42 | mcall SF_SET_EVENTS_MASK,0xC0000027 |
43 | stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£ |
43 | stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£ |
44 | 44 | ||
45 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
45 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
46 | 46 | ||
47 | include_image_file 'toolbar_t.png', image_data_toolbar,,,6 ;6 - for gray icons |
47 | include_image_file 'toolbar_t.png', image_data_toolbar,,,6 ;6 - for gray icons |
48 | mov eax,[image_data_toolbar] |
48 | mov eax,[image_data_toolbar] |
49 | add eax,IMAGE_TOOLBAR_SIZE |
49 | add eax,IMAGE_TOOLBAR_SIZE |
50 | stdcall img_to_gray, [image_data_toolbar],eax,(IMAGE_TOOLBAR_SIZE)/3 |
50 | stdcall img_to_gray, [image_data_toolbar],eax,(IMAGE_TOOLBAR_SIZE)/3 |
51 | 51 | ||
52 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
52 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
53 | mov [last_time],eax |
53 | mov [last_time],eax |
54 | 54 | ||
55 | stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,3d_wnd_w,3d_wnd_h,ctx1 |
55 | stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,3d_wnd_w,3d_wnd_h,ctx1 |
56 | stdcall [glEnable], GL_DEPTH_TEST |
56 | stdcall [glEnable], GL_DEPTH_TEST |
57 | stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ®à¬ «¨ ®¤¨ ª®¢®© ¢¥«¨ç¨ë ¢® ¨§¡¥¦ ¨¥ àâ¥ä ªâ®¢ |
57 | stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ®à¬ «¨ ®¤¨ ª®¢®© ¢¥«¨ç¨ë ¢® ¨§¡¥¦ ¨¥ àâ¥ä ªâ®¢ |
58 | stdcall [glClearColor], 0.0,0.0,0.0,0.0 |
58 | stdcall [glClearColor], 0.0,0.0,0.0,0.0 |
59 | stdcall [glShadeModel], GL_SMOOTH |
59 | stdcall [glShadeModel], GL_SMOOTH |
60 | 60 | ||
61 | call but_new_file |
61 | call but_new_file |
62 | ;¯à®¢¥àª ª®¬ ¤®© áâப¨ |
62 | ;¯à®¢¥àª ª®¬ ¤®© áâப¨ |
63 | cmp dword[openfile_path],0 |
63 | cmp dword[openfile_path],0 |
64 | je @f |
64 | je @f |
65 | call but_open_file_cmd_lin |
65 | call but_open_file_cmd_lin |
66 | @@: |
66 | @@: |
67 | 67 | ||
68 | align 4 |
68 | align 4 |
69 | red_win: |
69 | red_win: |
70 | call draw_window |
70 | call draw_window |
71 | 71 | ||
72 | align 4 |
72 | align 4 |
73 | still: |
73 | still: |
74 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
74 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
75 | mov ebx,[last_time] |
75 | mov ebx,[last_time] |
76 | add ebx,50 ;§ ¤¥à¦ª |
76 | add ebx,50 ;§ ¤¥à¦ª |
77 | cmp ebx,eax |
77 | cmp ebx,eax |
78 | jge @f |
78 | jge @f |
79 | mov ebx,eax |
79 | mov ebx,eax |
80 | @@: |
80 | @@: |
81 | sub ebx,eax |
81 | sub ebx,eax |
82 | mcall SF_WAIT_EVENT_TIMEOUT |
82 | mcall SF_WAIT_EVENT_TIMEOUT |
83 | bt word[opt_auto_rotate],0 |
83 | bt word[opt_auto_rotate],0 |
84 | jnc @f |
84 | jnc @f |
85 | or eax,eax |
85 | or eax,eax |
86 | jz timer_funct |
86 | jz timer_funct |
87 | @@: |
87 | @@: |
88 | 88 | ||
89 | cmp al,1 |
89 | cmp al,1 |
90 | jz red_win |
90 | jz red_win |
91 | cmp al,2 |
91 | cmp al,2 |
92 | jz key |
92 | jz key |
93 | cmp al,3 |
93 | cmp al,3 |
94 | jz button |
94 | jz button |
95 | cmp al,6 |
95 | cmp al,6 |
96 | jne @f |
96 | jne @f |
97 | call mouse |
97 | call mouse |
98 | @@: |
98 | @@: |
99 | 99 | ||
100 | jmp still |
100 | jmp still |
101 | 101 | ||
102 | align 4 |
102 | align 4 |
103 | timer_funct: |
103 | timer_funct: |
104 | pushad |
104 | pushad |
105 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
105 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
106 | mov [last_time],eax |
106 | mov [last_time],eax |
107 | 107 | ||
108 | ; ¢â®¬ â¨ç¥áª®¥ ¨§¬¥¥¨¥ 㣫 ®¡§®à |
108 | ; ¢â®¬ â¨ç¥áª®¥ ¨§¬¥¥¨¥ 㣫 ®¡§®à |
109 | fld dword[angle_y] |
109 | fld dword[angle_y] |
110 | fsub dword[delt_size] |
110 | fsub dword[delt_size] |
111 | fstp dword[angle_y] |
111 | fstp dword[angle_y] |
112 | call draw_3d |
112 | call draw_3d |
113 | call [kosglSwapBuffers] |
113 | call [kosglSwapBuffers] |
114 | 114 | ||
115 | popad |
115 | popad |
116 | jmp still |
116 | jmp still |
117 | 117 | ||
118 | align 4 |
118 | align 4 |
119 | draw_window: |
119 | draw_window: |
120 | pushad |
120 | pushad |
121 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
121 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
122 | 122 | ||
123 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
123 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
124 | mov edx,[sc.work] |
124 | mov edx,[sc.work] |
125 | or edx,(3 shl 24)+0x30000000 |
125 | or edx,(3 shl 24)+0x30000000 |
126 | mcall SF_CREATE_WINDOW,(20 shl 16)+800,(20 shl 16)+570,,,caption |
126 | mcall SF_CREATE_WINDOW,(20 shl 16)+800,(20 shl 16)+570,,,caption |
127 | 127 | ||
128 | ; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì *** |
128 | ; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì *** |
129 | mcall SF_DEFINE_BUTTON,(5 shl 16)+20,(5 shl 16)+20,3,[sc.work_button] |
129 | mcall SF_DEFINE_BUTTON,(5 shl 16)+20,(5 shl 16)+20,3,[sc.work_button] |
130 | 130 | ||
131 | mov ebx,(30 shl 16)+20 |
131 | mov ebx,(30 shl 16)+20 |
132 | mcall ,,,4 |
132 | mcall ,,,4 |
133 | add ebx,25 shl 16 |
133 | add ebx,25 shl 16 |
134 | mcall ,,,5 |
134 | mcall ,,,5 |
135 | add ebx,30 shl 16 |
135 | add ebx,30 shl 16 |
136 | mcall ,,,6 |
136 | mcall ,,,6 |
137 | add ebx,25 shl 16 |
137 | add ebx,25 shl 16 |
138 | mcall ,,,7 |
138 | mcall ,,,7 |
139 | add ebx,25 shl 16 |
139 | add ebx,25 shl 16 |
140 | mcall ,,,8 |
140 | mcall ,,,8 |
141 | add ebx,25 shl 16 |
141 | add ebx,25 shl 16 |
142 | mcall ,,,9 |
142 | mcall ,,,9 |
143 | add ebx,25 shl 16 |
143 | add ebx,25 shl 16 |
144 | mcall ,,,10 |
144 | mcall ,,,10 |
145 | add ebx,25 shl 16 |
145 | add ebx,25 shl 16 |
146 | mcall ,,,11 |
146 | mcall ,,,11 |
147 | add ebx,25 shl 16 |
147 | add ebx,25 shl 16 |
148 | mcall ,,,12 |
148 | mcall ,,,12 |
149 | 149 | ||
150 | call draw_toolbar_i |
150 | call draw_toolbar_i |
151 | 151 | ||
152 | stdcall [buf2d_draw], buf_0 |
152 | stdcall [buf2d_draw], buf_0 |
153 | call [kosglSwapBuffers] |
153 | call [kosglSwapBuffers] |
154 | 154 | ||
155 | mcall SF_REDRAW,SSF_END_DRAW |
155 | mcall SF_REDRAW,SSF_END_DRAW |
156 | popad |
156 | popad |
157 | ret |
157 | ret |
158 | 158 | ||
159 | 159 | ||
160 | align 4 |
160 | align 4 |
161 | draw_toolbar_i: |
161 | draw_toolbar_i: |
162 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
162 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
163 | mov edx,(7 shl 16)+7 ;icon new |
163 | mov edx,(7 shl 16)+7 ;icon new |
164 | mcall SF_PUT_IMAGE,[image_data_toolbar],(16 shl 16)+16 |
164 | mcall SF_PUT_IMAGE,[image_data_toolbar],(16 shl 16)+16 |
165 | 165 | ||
166 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
166 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
167 | add edx,(25 shl 16) ;icon open |
167 | add edx,(25 shl 16) ;icon open |
168 | int 0x40 |
168 | int 0x40 |
169 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
169 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
170 | add edx,(25 shl 16) ;icon save |
170 | add edx,(25 shl 16) ;icon save |
171 | int 0x40 |
171 | int 0x40 |
172 | 172 | ||
173 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
173 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
174 | add edx,(30 shl 16) ;zoom + |
174 | add edx,(30 shl 16) ;zoom + |
175 | int 0x40 |
175 | int 0x40 |
176 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
176 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
177 | add edx,(25 shl 16) ;zoom - |
177 | add edx,(25 shl 16) ;zoom - |
178 | int 0x40 |
178 | int 0x40 |
179 | 179 | ||
180 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
180 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
181 | cmp word[opt_light],0 |
181 | cmp word[opt_light],0 |
182 | jne @f |
182 | jne @f |
183 | add ebx,IMAGE_TOOLBAR_SIZE ;make gray icon |
183 | add ebx,IMAGE_TOOLBAR_SIZE ;make gray icon |
184 | @@: |
184 | @@: |
185 | add edx,(25 shl 16) ;light on/off |
185 | add edx,(25 shl 16) ;light on/off |
186 | int 0x40 |
186 | int 0x40 |
187 | cmp word[opt_light],0 |
187 | cmp word[opt_light],0 |
188 | jne @f |
188 | jne @f |
189 | sub ebx,IMAGE_TOOLBAR_SIZE |
189 | sub ebx,IMAGE_TOOLBAR_SIZE |
190 | @@: |
190 | @@: |
191 | 191 | ||
192 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
192 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
193 | cmp word[opt_cube_box],0 |
193 | cmp word[opt_cube_box],0 |
194 | jne @f |
194 | jne @f |
195 | add ebx,IMAGE_TOOLBAR_SIZE ;make gray icon |
195 | add ebx,IMAGE_TOOLBAR_SIZE ;make gray icon |
196 | @@: |
196 | @@: |
197 | add edx,(25 shl 16) ;box on/off |
197 | add edx,(25 shl 16) ;box on/off |
198 | int 0x40 |
198 | int 0x40 |
199 | cmp word[opt_cube_box],0 |
199 | cmp word[opt_cube_box],0 |
200 | jne @f |
200 | jne @f |
201 | sub ebx,IMAGE_TOOLBAR_SIZE |
201 | sub ebx,IMAGE_TOOLBAR_SIZE |
202 | @@: |
202 | @@: |
203 | 203 | ||
204 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
204 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
205 | cmp word[opt_auto_rotate],0 |
205 | cmp word[opt_auto_rotate],0 |
206 | jne @f |
206 | jne @f |
207 | add ebx,IMAGE_TOOLBAR_SIZE ;make gray icon |
207 | add ebx,IMAGE_TOOLBAR_SIZE ;make gray icon |
208 | @@: |
208 | @@: |
209 | add edx,(25 shl 16) ;auto rotate on/off |
209 | add edx,(25 shl 16) ;auto rotate on/off |
210 | int 0x40 |
210 | int 0x40 |
211 | cmp word[opt_auto_rotate],0 |
211 | cmp word[opt_auto_rotate],0 |
212 | jne @f |
212 | jne @f |
213 | sub ebx,IMAGE_TOOLBAR_SIZE |
213 | sub ebx,IMAGE_TOOLBAR_SIZE |
214 | @@: |
214 | @@: |
215 | 215 | ||
216 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
216 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
217 | add edx,(25 shl 16) ;info voxels |
217 | add edx,(25 shl 16) ;info voxels |
218 | int 0x40 |
218 | int 0x40 |
219 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
219 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
220 | add edx,(25 shl 16) ;refresh |
220 | add edx,(25 shl 16) ;refresh |
221 | int 0x40 |
221 | int 0x40 |
222 | ret |
222 | ret |
223 | 223 | ||
224 | 224 | ||
225 | align 4 |
225 | align 4 |
226 | key: |
226 | key: |
227 | mcall SF_GET_KEY |
227 | mcall SF_GET_KEY |
228 | 228 | ||
229 | cmp ah,178 ;Up |
229 | cmp ah,178 ;Up |
230 | jne @f |
230 | jne @f |
231 | fld dword[angle_x] |
231 | fld dword[angle_x] |
232 | fadd dword[delt_size] |
232 | fadd dword[delt_size] |
233 | fstp dword[angle_x] |
233 | fstp dword[angle_x] |
234 | jmp .end0 |
234 | jmp .end0 |
235 | @@: |
235 | @@: |
236 | cmp ah,177 ;Down |
236 | cmp ah,177 ;Down |
237 | jne @f |
237 | jne @f |
238 | fld dword[angle_x] |
238 | fld dword[angle_x] |
239 | fsub dword[delt_size] |
239 | fsub dword[delt_size] |
240 | fstp dword[angle_x] |
240 | fstp dword[angle_x] |
241 | jmp .end0 |
241 | jmp .end0 |
242 | @@: |
242 | @@: |
243 | cmp ah,176 ;Left |
243 | cmp ah,176 ;Left |
244 | jne @f |
244 | jne @f |
245 | fld dword[angle_y] |
245 | fld dword[angle_y] |
246 | fadd dword[delt_size] |
246 | fadd dword[delt_size] |
247 | fstp dword[angle_y] |
247 | fstp dword[angle_y] |
248 | jmp .end0 |
248 | jmp .end0 |
249 | @@: |
249 | @@: |
250 | cmp ah,179 ;Right |
250 | cmp ah,179 ;Right |
251 | jne still ;@f |
251 | jne still ;@f |
252 | fld dword[angle_y] |
252 | fld dword[angle_y] |
253 | fsub dword[delt_size] |
253 | fsub dword[delt_size] |
254 | fstp dword[angle_y] |
254 | fstp dword[angle_y] |
255 | .end0: |
255 | .end0: |
256 | call draw_3d |
256 | call draw_3d |
257 | call [kosglSwapBuffers] |
257 | call [kosglSwapBuffers] |
258 | ;@@: |
258 | ;@@: |
259 | jmp still |
259 | jmp still |
260 | 260 | ||
261 | 261 | ||
262 | align 4 |
262 | align 4 |
263 | mouse: |
263 | mouse: |
264 | push eax ebx |
264 | push eax ebx |
265 | mcall SF_MOUSE_GET,SSF_BUTTON_EXT |
265 | mcall SF_MOUSE_GET,SSF_BUTTON_EXT |
266 | bt eax,0 |
266 | bt eax,0 |
267 | jnc .end_m |
267 | jnc .end_m |
268 | ;mouse l. but. move |
268 | ;mouse l. but. move |
269 | cmp dword[mouse_drag],1 |
269 | cmp dword[mouse_drag],1 |
270 | jne .end_m |
270 | jne .end_m |
271 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
271 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
272 | mov ebx,eax |
272 | mov ebx,eax |
273 | shr ebx,16 ;mouse.x |
273 | shr ebx,16 ;mouse.x |
274 | cmp ebx,3d_wnd_l |
274 | cmp ebx,3d_wnd_l |
275 | jg @f |
275 | jg @f |
276 | mov ebx,3d_wnd_l |
276 | mov ebx,3d_wnd_l |
277 | @@: |
277 | @@: |
278 | sub ebx,3d_wnd_l |
278 | sub ebx,3d_wnd_l |
279 | cmp ebx,3d_wnd_w |
279 | cmp ebx,3d_wnd_w |
280 | jle @f |
280 | jle @f |
281 | mov ebx,3d_wnd_w |
281 | mov ebx,3d_wnd_w |
282 | @@: |
282 | @@: |
283 | and eax,0xffff ;mouse.y |
283 | and eax,0xffff ;mouse.y |
284 | cmp eax,3d_wnd_t |
284 | cmp eax,3d_wnd_t |
285 | jg @f |
285 | jg @f |
286 | mov eax,3d_wnd_t |
286 | mov eax,3d_wnd_t |
287 | @@: |
287 | @@: |
288 | sub eax,3d_wnd_t |
288 | sub eax,3d_wnd_t |
289 | cmp eax,3d_wnd_h |
289 | cmp eax,3d_wnd_h |
290 | jle @f |
290 | jle @f |
291 | mov eax,3d_wnd_h |
291 | mov eax,3d_wnd_h |
292 | @@: |
292 | @@: |
293 | finit |
293 | finit |
294 | fild dword[mouse_y] |
294 | fild dword[mouse_y] |
295 | mov [mouse_y],eax |
295 | mov [mouse_y],eax |
296 | fisub dword[mouse_y] |
296 | fisub dword[mouse_y] |
297 | fdiv dword[angle_dxm] ;¥á«¨ ªãàá®à ¤¢¨¦¥âáï ¯® ®á¨ y (¢¢¥àå ¨«¨ ¢¨§) â® ¯®¢®à®â ¤¥« ¥¬ ¢®ªà㣠®á¨ x |
297 | fdiv dword[angle_dxm] ;¥á«¨ ªãàá®à ¤¢¨¦¥âáï ¯® ®á¨ y (¢¢¥àå ¨«¨ ¢¨§) â® ¯®¢®à®â ¤¥« ¥¬ ¢®ªà㣠®á¨ x |
298 | fadd dword[angle_x] |
298 | fadd dword[angle_x] |
299 | fstp dword[angle_x] |
299 | fstp dword[angle_x] |
300 | 300 | ||
301 | fild dword[mouse_x] |
301 | fild dword[mouse_x] |
302 | mov [mouse_x],ebx |
302 | mov [mouse_x],ebx |
303 | fisub dword[mouse_x] |
303 | fisub dword[mouse_x] |
304 | fdiv dword[angle_dym] ;¥á«¨ ªãàá®à ¤¢¨¦¥âáï ¯® ®á¨ x (¢¢¥àå ¨«¨ ¢¨§) â® ¯®¢®à®â ¤¥« ¥¬ ¢®ªà㣠®á¨ y |
304 | fdiv dword[angle_dym] ;¥á«¨ ªãàá®à ¤¢¨¦¥âáï ¯® ®á¨ x (¢¢¥àå ¨«¨ ¢¨§) â® ¯®¢®à®â ¤¥« ¥¬ ¢®ªà㣠®á¨ y |
305 | fadd dword[angle_y] |
305 | fadd dword[angle_y] |
306 | fstp dword[angle_y] |
306 | fstp dword[angle_y] |
307 | 307 | ||
308 | call draw_3d |
308 | call draw_3d |
309 | call [kosglSwapBuffers] |
309 | call [kosglSwapBuffers] |
310 | jmp .end_d |
310 | jmp .end_d |
311 | .end_m: |
311 | .end_m: |
312 | bt eax,16 |
312 | bt eax,16 |
313 | jnc @f |
313 | jnc @f |
314 | ;mouse l. but. up |
314 | ;mouse l. but. up |
315 | mov dword[mouse_drag],0 |
315 | mov dword[mouse_drag],0 |
316 | jmp .end_d |
316 | jmp .end_d |
317 | @@: |
317 | @@: |
318 | bt eax,8 |
318 | bt eax,8 |
319 | jnc .end_d |
319 | jnc .end_d |
320 | ;mouse l. but. press |
320 | ;mouse l. but. press |
321 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
321 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
322 | mov ebx,eax |
322 | mov ebx,eax |
323 | shr ebx,16 ;mouse.x |
323 | shr ebx,16 ;mouse.x |
324 | cmp ebx,3d_wnd_l |
324 | cmp ebx,3d_wnd_l |
325 | jl .end_d |
325 | jl .end_d |
326 | sub ebx,3d_wnd_l |
326 | sub ebx,3d_wnd_l |
327 | cmp ebx,3d_wnd_w |
327 | cmp ebx,3d_wnd_w |
328 | jg .end_d |
328 | jg .end_d |
329 | and eax,0xffff ;mouse.y |
329 | and eax,0xffff ;mouse.y |
330 | cmp eax,3d_wnd_t |
330 | cmp eax,3d_wnd_t |
331 | jl .end_d |
331 | jl .end_d |
332 | sub eax,3d_wnd_t |
332 | sub eax,3d_wnd_t |
333 | cmp eax,3d_wnd_h |
333 | cmp eax,3d_wnd_h |
334 | jg .end_d |
334 | jg .end_d |
335 | mov dword[mouse_drag],1 |
335 | mov dword[mouse_drag],1 |
336 | mov dword[mouse_x],ebx |
336 | mov dword[mouse_x],ebx |
337 | mov dword[mouse_y],eax |
337 | mov dword[mouse_y],eax |
338 | .end_d: |
338 | .end_d: |
339 | 339 | ||
340 | ;stdcall [kmainmenu_dispatch_cursorevent], [main_menu] |
340 | ;stdcall [kmainmenu_dispatch_cursorevent], [main_menu] |
341 | pop ebx eax |
341 | pop ebx eax |
342 | ret |
342 | ret |
343 | 343 | ||
344 | align 4 |
344 | align 4 |
345 | button: |
345 | button: |
346 | mcall SF_GET_BUTTON |
346 | mcall SF_GET_BUTTON |
347 | cmp ah,3 |
347 | cmp ah,3 |
348 | jne @f |
348 | jne @f |
349 | call but_new_file |
349 | call but_new_file |
350 | jmp still |
350 | jmp still |
351 | @@: |
351 | @@: |
352 | cmp ah,4 |
352 | cmp ah,4 |
353 | jne @f |
353 | jne @f |
354 | call but_open_file |
354 | call but_open_file |
355 | jmp still |
355 | jmp still |
356 | @@: |
356 | @@: |
357 | cmp ah,5 |
357 | cmp ah,5 |
358 | jne @f |
358 | jne @f |
359 | call but_save_file |
359 | call but_save_file |
360 | jmp still |
360 | jmp still |
361 | @@: |
361 | @@: |
362 | cmp ah,6 |
362 | cmp ah,6 |
363 | jne @f |
363 | jne @f |
364 | call but_zoom_p |
364 | call but_zoom_p |
365 | jmp still |
365 | jmp still |
366 | @@: |
366 | @@: |
367 | cmp ah,7 |
367 | cmp ah,7 |
368 | jne @f |
368 | jne @f |
369 | call but_zoom_m |
369 | call but_zoom_m |
370 | jmp still |
370 | jmp still |
371 | @@: |
371 | @@: |
372 | cmp ah,8 |
372 | cmp ah,8 |
373 | jne @f |
373 | jne @f |
374 | call but_light |
374 | call but_light |
375 | jmp still |
375 | jmp still |
376 | @@: |
376 | @@: |
377 | cmp ah,9 |
377 | cmp ah,9 |
378 | jne @f |
378 | jne @f |
379 | call but_4 |
379 | call but_4 |
380 | jmp still |
380 | jmp still |
381 | @@: |
381 | @@: |
382 | cmp ah,10 |
382 | cmp ah,10 |
383 | jne @f |
383 | jne @f |
384 | call but_5 |
384 | call but_5 |
385 | jmp still |
385 | jmp still |
386 | @@: |
386 | @@: |
387 | cmp ah,11 |
387 | cmp ah,11 |
388 | jne @f |
388 | jne @f |
389 | call but_info |
389 | call but_info |
390 | jmp still |
390 | jmp still |
391 | @@: |
391 | @@: |
392 | cmp ah,12 |
392 | cmp ah,12 |
393 | jne @f |
393 | jne @f |
394 | call but_draw_cadr |
394 | call but_draw_cadr |
395 | jmp still |
395 | jmp still |
396 | @@: |
396 | @@: |
397 | cmp ah,1 |
397 | cmp ah,1 |
398 | jne still |
398 | jne still |
399 | .exit: |
399 | .exit: |
400 | stdcall [buf2d_delete],buf_0 |
400 | stdcall [buf2d_delete],buf_0 |
401 | stdcall mem.Free,[image_data_toolbar] |
401 | stdcall mem.Free,[image_data_toolbar] |
402 | stdcall mem.Free,[open_file_data] |
402 | stdcall mem.Free,[open_file_data] |
403 | stdcall mem.Free,[open_file_ogl] |
403 | stdcall mem.Free,[open_file_ogl] |
404 | mcall SF_TERMINATE_PROCESS |
404 | mcall SF_TERMINATE_PROCESS |
405 | 405 | ||
406 | 406 | ||
407 | align 4 |
407 | align 4 |
408 | but_new_file: |
408 | but_new_file: |
409 | mov dword[angle_x], -30.0 |
409 | mov dword[angle_x], -30.0 |
410 | mov dword[angle_y], 180.0 |
410 | mov dword[angle_y], 180.0 |
411 | mov dword[angle_z], 180.0 |
411 | mov dword[angle_z], 180.0 |
412 | ret |
412 | ret |
413 | 413 | ||
414 | align 4 |
414 | align 4 |
415 | open_file_data dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï ®âªàëâ¨ï ä ©«®¢ |
415 | open_file_data dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï ®âªàëâ¨ï ä ©«®¢ |
416 | open_file_size dd 0 ;à §¬¥à ®âªàë⮣® ä ©« |
416 | open_file_size dd 0 ;à §¬¥à ®âªàë⮣® ä ©« |
417 | open_file_ogl dd 0 ;¤«ï § ¯¨á¨ ª®®à¤¨ â èà ¥© ¢®ªá¥«¥© ¢ ¯®ª §¥ opengl |
417 | open_file_ogl dd 0 ;¤«ï § ¯¨á¨ ª®®à¤¨ â èà ¥© ¢®ªá¥«¥© ¢ ¯®ª §¥ opengl |
418 | v_zoom dd 0 |
418 | v_zoom dd 0 |
419 | 419 | ||
420 | align 4 |
420 | align 4 |
421 | but_open_file: |
421 | but_open_file: |
422 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
422 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
423 | pushad |
423 | pushad |
424 | mov [OpenDialog_data.type],0 |
424 | mov [OpenDialog_data.type],0 |
425 | stdcall [OpenDialog_Start],OpenDialog_data |
425 | stdcall [OpenDialog_Start],OpenDialog_data |
426 | cmp [OpenDialog_data.status],2 |
426 | cmp [OpenDialog_data.status],2 |
427 | je @f |
427 | je @f |
428 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
428 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
429 | call but_open_file_cmd_lin |
429 | call but_open_file_cmd_lin |
430 | @@: |
430 | @@: |
431 | popad |
431 | popad |
432 | ret |
432 | ret |
433 | 433 | ||
434 | align 4 |
434 | align 4 |
435 | but_open_file_cmd_lin: |
435 | but_open_file_cmd_lin: |
436 | pushad |
436 | pushad |
437 | mov [run_file_70.Function], SSF_GET_INFO |
437 | mov [run_file_70.Function], SSF_GET_INFO |
438 | mov [run_file_70.Position], 0 |
438 | mov [run_file_70.Position], 0 |
439 | mov [run_file_70.Flags], 0 |
439 | mov [run_file_70.Flags], 0 |
440 | mov dword[run_file_70.Count], 0 |
440 | mov dword[run_file_70.Count], 0 |
441 | mov dword[run_file_70.Buffer], open_b |
441 | mov dword[run_file_70.Buffer], open_b |
442 | mov byte[run_file_70+20], 0 |
442 | mov byte[run_file_70+20], 0 |
443 | mov dword[run_file_70.FileName], openfile_path |
443 | mov dword[run_file_70.FileName], openfile_path |
444 | mcall SF_FILE,run_file_70 |
444 | mcall SF_FILE,run_file_70 |
445 | 445 | ||
446 | mov ecx,dword[open_b+32] ;+32 qword: à §¬¥à ä ©« ¢ ¡ ©â å |
446 | mov ecx,dword[open_b+32] ;+32 qword: à §¬¥à ä ©« ¢ ¡ ©â å |
447 | stdcall mem.ReAlloc,[open_file_data],ecx |
447 | stdcall mem.ReAlloc,[open_file_data],ecx |
448 | mov [open_file_data],eax |
448 | mov [open_file_data],eax |
449 | 449 | ||
450 | mov [run_file_70.Function], SSF_READ_FILE |
450 | mov [run_file_70.Function], SSF_READ_FILE |
451 | mov [run_file_70.Position], 0 |
451 | mov [run_file_70.Position], 0 |
452 | mov [run_file_70.Flags], 0 |
452 | mov [run_file_70.Flags], 0 |
453 | mov dword[run_file_70.Count], ecx |
453 | mov dword[run_file_70.Count], ecx |
454 | m2m dword[run_file_70.Buffer], dword[open_file_data] |
454 | m2m dword[run_file_70.Buffer], dword[open_file_data] |
455 | mov byte[run_file_70+20], 0 |
455 | mov byte[run_file_70+20], 0 |
456 | mov dword[run_file_70.FileName], openfile_path |
456 | mov dword[run_file_70.FileName], openfile_path |
457 | mcall SF_FILE,run_file_70 |
457 | mcall SF_FILE,run_file_70 |
458 | cmp ebx,0xffffffff |
458 | cmp ebx,0xffffffff |
459 | je .end_open_file |
459 | je .end_open_file |
460 | 460 | ||
461 | mov [open_file_size],ebx |
461 | mov [open_file_size],ebx |
462 | mcall SF_SET_CAPTION,1,openfile_path |
462 | mcall SF_SET_CAPTION,1,openfile_path |
463 | 463 | ||
464 | mov eax,[open_file_data] |
464 | mov eax,[open_file_data] |
465 | movzx eax,byte[eax] |
465 | movzx eax,byte[eax] |
466 | mov dword[v_zoom],eax ;¡¥à¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î |
466 | mov dword[v_zoom],eax ;¡¥à¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î |
467 | mov ecx,[open_file_size] |
467 | mov ecx,[open_file_size] |
468 | sub ecx,vox_offs_data |
468 | sub ecx,vox_offs_data |
469 | shr ecx,2 |
469 | shr ecx,2 |
470 | imul ecx,vox_ogl_size |
470 | imul ecx,vox_ogl_size |
471 | add ecx,4 ;ecx = à §¬¥à ¯ ¬ï⨠¥®¡å®¤¨¬®© ¤«ï à ᯠª®¢ª¨ ª®®à¤¨ â |
471 | add ecx,4 ;ecx = à §¬¥à ¯ ¬ï⨠¥®¡å®¤¨¬®© ¤«ï à ᯠª®¢ª¨ ª®®à¤¨ â |
472 | stdcall mem.ReAlloc,[open_file_ogl],ecx |
472 | stdcall mem.ReAlloc,[open_file_ogl],ecx |
473 | or eax,eax |
473 | or eax,eax |
474 | jz .end_open_file |
474 | jz .end_open_file |
475 | mov [open_file_ogl],eax |
475 | mov [open_file_ogl],eax |
476 | stdcall buf_vox_obj_create_3d,[open_file_data],eax,0,0,[v_zoom] |
476 | stdcall buf_vox_obj_create_3d,[open_file_data],eax,0,0,[v_zoom] |
477 | call draw_cadr_8 |
477 | call draw_cadr_8 |
478 | .end_open_file: |
478 | .end_open_file: |
479 | popad |
479 | popad |
480 | ret |
480 | ret |
481 | 481 | ||
482 | ;description: |
482 | ;description: |
483 | ; à¨á®¢ ¨¥ 8-¬¨ ª ¤à®¢ ¯®¤ à §ë¬¨ 㣫 ¬¨ ¯®¢®à®â |
483 | ; à¨á®¢ ¨¥ 8-¬¨ ª ¤à®¢ ¯®¤ à §ë¬¨ 㣫 ¬¨ ¯®¢®à®â |
484 | align 4 |
484 | align 4 |
485 | draw_cadr_8: |
485 | draw_cadr_8: |
486 | call but_new_file ;ãáâ ®¢ª 㣫®¢ ¯®¢®à®â ¯® 㬮«ç ¨î |
486 | call but_new_file ;ãáâ ®¢ª 㣫®¢ ¯®¢®à®â ¯® 㬮«ç ¨î |
487 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
487 | stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à |
488 | 488 | ||
489 | ;à¨á®¢ ¨¥ 8-¬¨ ª ¤à®¢ |
489 | ;à¨á®¢ ¨¥ 8-¬¨ ª ¤à®¢ |
490 | fild dword[rot_angles+4] |
490 | fild dword[rot_angles+4] |
491 | fstp dword[angle_y] |
491 | fstp dword[angle_y] |
492 | call draw_3d |
492 | call draw_3d |
493 | call draw_cadr |
493 | call draw_cadr |
494 | stdcall [buf2d_bit_blt], buf_0, 128, 0, buf_1 |
494 | stdcall [buf2d_bit_blt], buf_0, 128, 0, buf_1 |
495 | 495 | ||
496 | fild dword[rot_angles+8] |
496 | fild dword[rot_angles+8] |
497 | fstp dword[angle_y] |
497 | fstp dword[angle_y] |
498 | call draw_3d |
498 | call draw_3d |
499 | call draw_cadr |
499 | call draw_cadr |
500 | stdcall [buf2d_bit_blt], buf_0, 0, 128, buf_1 |
500 | stdcall [buf2d_bit_blt], buf_0, 0, 128, buf_1 |
501 | 501 | ||
502 | fild dword[rot_angles+12] |
502 | fild dword[rot_angles+12] |
503 | fstp dword[angle_y] |
503 | fstp dword[angle_y] |
504 | call draw_3d |
504 | call draw_3d |
505 | call draw_cadr |
505 | call draw_cadr |
506 | stdcall [buf2d_bit_blt], buf_0, 128, 128, buf_1 |
506 | stdcall [buf2d_bit_blt], buf_0, 128, 128, buf_1 |
507 | 507 | ||
508 | fild dword[rot_angles+16] |
508 | fild dword[rot_angles+16] |
509 | fstp dword[angle_y] |
509 | fstp dword[angle_y] |
510 | call draw_3d |
510 | call draw_3d |
511 | call draw_cadr |
511 | call draw_cadr |
512 | stdcall [buf2d_bit_blt], buf_0, 0, 256, buf_1 |
512 | stdcall [buf2d_bit_blt], buf_0, 0, 256, buf_1 |
513 | 513 | ||
514 | fild dword[rot_angles+20] |
514 | fild dword[rot_angles+20] |
515 | fstp dword[angle_y] |
515 | fstp dword[angle_y] |
516 | call draw_3d |
516 | call draw_3d |
517 | call draw_cadr |
517 | call draw_cadr |
518 | stdcall [buf2d_bit_blt], buf_0, 128, 256, buf_1 |
518 | stdcall [buf2d_bit_blt], buf_0, 128, 256, buf_1 |
519 | 519 | ||
520 | fild dword[rot_angles+24] |
520 | fild dword[rot_angles+24] |
521 | fstp dword[angle_y] |
521 | fstp dword[angle_y] |
522 | call draw_3d |
522 | call draw_3d |
523 | call draw_cadr |
523 | call draw_cadr |
524 | stdcall [buf2d_bit_blt], buf_0, 0, 384, buf_1 |
524 | stdcall [buf2d_bit_blt], buf_0, 0, 384, buf_1 |
525 | 525 | ||
526 | fild dword[rot_angles+28] |
526 | fild dword[rot_angles+28] |
527 | fstp dword[angle_y] |
527 | fstp dword[angle_y] |
528 | call draw_3d |
528 | call draw_3d |
529 | call draw_cadr |
529 | call draw_cadr |
530 | stdcall [buf2d_bit_blt], buf_0, 128, 384, buf_1 |
530 | stdcall [buf2d_bit_blt], buf_0, 128, 384, buf_1 |
531 | 531 | ||
532 | ; *** ¯®á«¥¤¨© ª ¤à *** |
532 | ; *** ¯®á«¥¤¨© ª ¤à *** |
533 | fild dword[rot_angles] |
533 | fild dword[rot_angles] |
534 | fstp dword[angle_y] |
534 | fstp dword[angle_y] |
535 | call draw_3d |
535 | call draw_3d |
536 | call draw_cadr |
536 | call draw_cadr |
537 | stdcall [buf2d_bit_blt], buf_0, 0, 0, buf_1 |
537 | stdcall [buf2d_bit_blt], buf_0, 0, 0, buf_1 |
538 | 538 | ||
539 | call draw_3d |
539 | call draw_3d |
540 | ; *** |
540 | ; *** |
541 | 541 | ||
542 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
542 | stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
543 | ret |
543 | ret |
544 | 544 | ||
545 | align 4 |
545 | align 4 |
546 | rot_angles dd 180,225,270,315,0,45,90,135 |
546 | rot_angles dd 180,225,270,315,0,45,90,135 |
547 | 547 | ||
548 | align 4 |
548 | align 4 |
549 | draw_cadr: |
549 | draw_cadr: |
550 | mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext |
550 | mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext |
551 | mov eax,[eax] ;eax -> ZBuffer |
551 | mov eax,[eax] ;eax -> ZBuffer |
552 | mov eax,[eax+ZBuffer.pbuf] |
552 | mov eax,[eax+ZBuffer.pbuf] |
553 | mov dword[buf_1],eax |
553 | mov dword[buf_1],eax |
554 | 554 | ||
555 | mov dword[buf_1.w],512 |
555 | mov dword[buf_1.w],512 |
556 | mov dword[buf_1.h],512 |
556 | mov dword[buf_1.h],512 |
557 | stdcall [buf2d_img_hdiv2],buf_1 |
557 | stdcall [buf2d_img_hdiv2],buf_1 |
558 | mov dword[buf_1.h],256 |
558 | mov dword[buf_1.h],256 |
559 | stdcall [buf2d_img_hdiv2],buf_1 |
559 | stdcall [buf2d_img_hdiv2],buf_1 |
560 | mov dword[buf_1.h],128 |
560 | mov dword[buf_1.h],128 |
561 | stdcall [buf2d_img_wdiv2],buf_1 |
561 | stdcall [buf2d_img_wdiv2],buf_1 |
562 | mov dword[buf_1.w],256 |
562 | mov dword[buf_1.w],256 |
563 | stdcall [buf2d_img_wdiv2],buf_1 |
563 | stdcall [buf2d_img_wdiv2],buf_1 |
564 | mov dword[buf_1.w],128 |
564 | mov dword[buf_1.w],128 |
565 | ret |
565 | ret |
566 | 566 | ||
567 | align 4 |
567 | align 4 |
568 | but_save_file: |
568 | but_save_file: |
569 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
569 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
570 | pushad |
570 | pushad |
571 | mov [OpenDialog_data.type],1 |
571 | mov [OpenDialog_data.type],1 |
572 | stdcall [OpenDialog_Start],OpenDialog_data |
572 | stdcall [OpenDialog_Start],OpenDialog_data |
573 | cmp [OpenDialog_data.status],2 |
573 | cmp [OpenDialog_data.status],2 |
574 | je .end_save_file |
574 | je .end_save_file |
575 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
575 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
576 | 576 | ||
577 | mov [run_file_70.Function], SSF_CREATE_FILE |
577 | mov [run_file_70.Function], SSF_CREATE_FILE |
578 | mov [run_file_70.Position], 0 |
578 | mov [run_file_70.Position], 0 |
579 | mov [run_file_70.Flags], 0 |
579 | mov [run_file_70.Flags], 0 |
580 | mov ebx, dword[open_file_data] |
580 | mov ebx, dword[open_file_data] |
581 | ;¯¨è¥¬ ¢ ä ©« ®¢ë© ¬ áèâ ¡ |
581 | ;¯¨è¥¬ ¢ ä ©« ®¢ë© ¬ áèâ ¡ |
582 | mov edx,dword[v_zoom] |
582 | mov edx,dword[v_zoom] |
583 | mov byte[ebx],dl |
583 | mov byte[ebx],dl |
584 | mov [run_file_70.Buffer], ebx |
584 | mov [run_file_70.Buffer], ebx |
585 | mov ebx,[open_file_size] |
585 | mov ebx,[open_file_size] |
586 | mov dword[run_file_70.Count], ebx ;à §¬¥à ä ©« |
586 | mov dword[run_file_70.Count], ebx ;à §¬¥à ä ©« |
587 | mov byte[run_file_70+20], 0 |
587 | mov byte[run_file_70+20], 0 |
588 | mov dword[run_file_70.FileName], openfile_path |
588 | mov dword[run_file_70.FileName], openfile_path |
589 | mcall SF_FILE,run_file_70 |
589 | mcall SF_FILE,run_file_70 |
590 | ;cmp ebx,0xffffffff |
590 | ;cmp ebx,0xffffffff |
591 | ;je .end_save_file |
591 | ;je .end_save_file |
592 | ; ... á®®¡é¥¨¥ ® ¥ã¤ 箬 á®åà ¥¨¨ ... |
592 | ; ... á®®¡é¥¨¥ ® ¥ã¤ 箬 á®åà ¥¨¨ ... |
593 | 593 | ||
594 | .end_save_file: |
594 | .end_save_file: |
595 | popad |
595 | popad |
596 | ret |
596 | ret |
597 | 597 | ||
598 | align 4 |
598 | align 4 |
599 | proc but_zoom_p uses eax |
599 | proc but_zoom_p uses eax |
600 | cmp dword[v_zoom],11 ;max=2^11=2048 |
600 | cmp dword[v_zoom],11 ;max=2^11=2048 |
601 | jge @f |
601 | jge @f |
602 | inc dword[v_zoom] |
602 | inc dword[v_zoom] |
603 | stdcall buf_vox_obj_create_3d,[open_file_data],[open_file_ogl],0,0,[v_zoom] |
603 | stdcall buf_vox_obj_create_3d,[open_file_data],[open_file_ogl],0,0,[v_zoom] |
604 | call draw_3d |
604 | call draw_3d |
605 | call [kosglSwapBuffers] |
605 | call [kosglSwapBuffers] |
606 | @@: |
606 | @@: |
607 | ret |
607 | ret |
608 | endp |
608 | endp |
609 | 609 | ||
610 | align 4 |
610 | align 4 |
611 | proc but_zoom_m uses eax |
611 | proc but_zoom_m uses eax |
612 | cmp dword[v_zoom],1 |
612 | cmp dword[v_zoom],1 |
613 | jle @f |
613 | jle @f |
614 | dec dword[v_zoom] |
614 | dec dword[v_zoom] |
615 | stdcall buf_vox_obj_create_3d,[open_file_data],[open_file_ogl],0,0,[v_zoom] |
615 | stdcall buf_vox_obj_create_3d,[open_file_data],[open_file_ogl],0,0,[v_zoom] |
616 | call draw_3d |
616 | call draw_3d |
617 | call [kosglSwapBuffers] |
617 | call [kosglSwapBuffers] |
618 | @@: |
618 | @@: |
619 | ret |
619 | ret |
620 | endp |
620 | endp |
621 | 621 | ||
622 | align 4 |
622 | align 4 |
623 | proc but_light uses eax ebx ecx edx |
623 | proc but_light uses eax ebx ecx edx |
624 | xor word[opt_light],1 |
624 | xor word[opt_light],1 |
625 | cmp word[opt_light],0 |
625 | cmp word[opt_light],0 |
626 | je @f |
626 | je @f |
627 | stdcall [glEnable], GL_LIGHTING |
627 | stdcall [glEnable], GL_LIGHTING |
628 | stdcall [glEnable], GL_LIGHT0 |
628 | stdcall [glEnable], GL_LIGHT0 |
629 | jmp .end_light |
629 | jmp .end_light |
630 | @@: |
630 | @@: |
631 | stdcall [glDisable], GL_LIGHTING |
631 | stdcall [glDisable], GL_LIGHTING |
632 | stdcall [glDisable], GL_LIGHT0 |
632 | stdcall [glDisable], GL_LIGHT0 |
633 | .end_light: |
633 | .end_light: |
634 | call draw_toolbar_i |
634 | call draw_toolbar_i |
635 | call draw_3d |
635 | call draw_3d |
636 | call [kosglSwapBuffers] |
636 | call [kosglSwapBuffers] |
637 | ret |
637 | ret |
638 | endp |
638 | endp |
639 | 639 | ||
640 | align 4 |
640 | align 4 |
641 | proc but_4 uses eax ebx ecx edx |
641 | proc but_4 uses eax ebx ecx edx |
642 | xor word[opt_cube_box],1 |
642 | xor word[opt_cube_box],1 |
643 | call draw_toolbar_i |
643 | call draw_toolbar_i |
644 | call draw_3d |
644 | call draw_3d |
645 | call [kosglSwapBuffers] |
645 | call [kosglSwapBuffers] |
646 | ret |
646 | ret |
647 | endp |
647 | endp |
648 | 648 | ||
649 | align 4 |
649 | align 4 |
650 | proc but_5 uses eax ebx ecx edx |
650 | proc but_5 uses eax ebx ecx edx |
651 | xor word[opt_auto_rotate],1 |
651 | xor word[opt_auto_rotate],1 |
652 | call draw_toolbar_i |
652 | call draw_toolbar_i |
653 | ret |
653 | ret |
654 | endp |
654 | endp |
655 | 655 | ||
656 | align 4 |
656 | align 4 |
657 | proc but_info uses eax ebx ecx edx edi |
657 | proc but_info uses eax ebx ecx edx edi |
658 | ;¢ëç¨á«¥¨¥ áâ â¨á⨪¨ ¯® ¢®ªá¥«ï¬ |
658 | ;¢ëç¨á«¥¨¥ áâ â¨á⨪¨ ¯® ¢®ªá¥«ï¬ |
659 | mov eax,[open_file_ogl] |
659 | mov eax,[open_file_ogl] |
660 | or eax,eax |
660 | or eax,eax |
661 | jz .end_stat |
661 | jz .end_stat |
662 | mov ebx,[eax] |
662 | mov ebx,[eax] |
663 | mov ecx,ebx |
663 | mov ecx,ebx |
664 | mov edx,ebx |
664 | mov edx,ebx |
665 | imul ebx,6 |
665 | imul ebx,6 |
666 | add eax,4 |
666 | add eax,4 |
667 | align 4 |
667 | align 4 |
668 | .cycle_0: |
668 | .cycle_0: |
669 | bt word[eax+vox_ogl_planes],vox_ogl_gran_z0 |
669 | bt word[eax+vox_ogl_planes],vox_ogl_gran_z0 |
670 | jc @f |
670 | jc @f |
671 | dec ebx |
671 | dec ebx |
672 | @@: |
672 | @@: |
673 | bt word[eax+vox_ogl_planes],vox_ogl_gran_z1 |
673 | bt word[eax+vox_ogl_planes],vox_ogl_gran_z1 |
674 | jc @f |
674 | jc @f |
675 | dec ebx |
675 | dec ebx |
676 | @@: |
676 | @@: |
677 | bt word[eax+vox_ogl_planes],vox_ogl_gran_y0 |
677 | bt word[eax+vox_ogl_planes],vox_ogl_gran_y0 |
678 | jc @f |
678 | jc @f |
679 | dec ebx |
679 | dec ebx |
680 | @@: |
680 | @@: |
681 | bt word[eax+vox_ogl_planes],vox_ogl_gran_y1 |
681 | bt word[eax+vox_ogl_planes],vox_ogl_gran_y1 |
682 | jc @f |
682 | jc @f |
683 | dec ebx |
683 | dec ebx |
684 | @@: |
684 | @@: |
685 | bt word[eax+vox_ogl_planes],vox_ogl_gran_x0 |
685 | bt word[eax+vox_ogl_planes],vox_ogl_gran_x0 |
686 | jc @f |
686 | jc @f |
687 | dec ebx |
687 | dec ebx |
688 | @@: |
688 | @@: |
689 | bt word[eax+vox_ogl_planes],vox_ogl_gran_x1 |
689 | bt word[eax+vox_ogl_planes],vox_ogl_gran_x1 |
690 | jc @f |
690 | jc @f |
691 | dec ebx |
691 | dec ebx |
692 | @@: |
692 | @@: |
693 | add eax,vox_ogl_size |
693 | add eax,vox_ogl_size |
694 | loop .cycle_0 |
694 | loop .cycle_0 |
695 | 695 | ||
696 | mov eax,edx |
696 | mov eax,edx |
697 | mov edi,txt_stat_m1.v |
697 | mov edi,txt_stat_m1.v |
698 | stdcall convert_int_to_str,20 |
698 | stdcall convert_int_to_str,20 |
699 | 699 | ||
700 | mov eax,ebx |
700 | mov eax,ebx |
701 | mov edi,txt_stat_m2.v |
701 | mov edi,txt_stat_m2.v |
702 | stdcall convert_int_to_str,20 |
702 | stdcall convert_int_to_str,20 |
703 | 703 | ||
704 | stdcall str_n_cat,txt_stat_m1.v,txt_stat_m2,50 |
704 | stdcall str_n_cat,txt_stat_m1.v,txt_stat_m2,50 |
705 | notify_window_run txt_stat_m1 |
705 | notify_window_run txt_stat_m1 |
706 | .end_stat: |
706 | .end_stat: |
707 | ret |
707 | ret |
708 | endp |
708 | endp |
709 | 709 | ||
710 | align 4 |
710 | align 4 |
711 | txt_stat_m1: |
711 | txt_stat_m1: |
712 | if lang eq ru |
712 | if lang eq ru |
713 | db 'â â¨á⨪ ',13,10,'®ªá¥«¥©: ' |
713 | db 'â â¨á⨪ ',13,10,'®ªá¥«¥©: ' |
714 | .v: rb 70 |
714 | .v: rb 70 |
715 | txt_stat_m2: |
715 | txt_stat_m2: |
716 | db 13,10,'â®¡à ¦ ¥¬ëå £à ¥©: ' |
716 | db 13,10,'â®¡à ¦ ¥¬ëå £à ¥©: ' |
717 | else |
717 | else |
718 | db 'Statistics',13,10,'Voxels: ' |
718 | db 'Statistics',13,10,'Voxels: ' |
719 | .v: rb 70 |
719 | .v: rb 70 |
720 | txt_stat_m2: |
720 | txt_stat_m2: |
721 | db 13,10,'Facets displayed: ' |
721 | db 13,10,'Facets displayed: ' |
722 | end if |
722 | end if |
723 | .v: rb 20 |
723 | .v: rb 20 |
724 | 724 | ||
725 | align 4 |
725 | align 4 |
726 | proc but_draw_cadr uses eax ebx ecx edx |
726 | proc but_draw_cadr uses eax ebx ecx edx |
727 | mov ebx,[angle_x] |
727 | mov ebx,[angle_x] |
728 | mov ecx,[angle_y] |
728 | mov ecx,[angle_y] |
729 | mov edx,[angle_z] |
729 | mov edx,[angle_z] |
730 | call draw_cadr_8 |
730 | call draw_cadr_8 |
731 | mov [angle_x],ebx |
731 | mov [angle_x],ebx |
732 | mov [angle_y],ecx |
732 | mov [angle_y],ecx |
733 | mov [angle_z],edx |
733 | mov [angle_z],edx |
734 | cmp word[opt_auto_rotate],0 |
734 | cmp word[opt_auto_rotate],0 |
735 | jne @f |
735 | jne @f |
736 | call draw_3d |
736 | call draw_3d |
737 | ;call [kosglSwapBuffers] |
737 | ;call [kosglSwapBuffers] |
738 | @@: |
738 | @@: |
739 | ret |
739 | ret |
740 | endp |
740 | endp |
741 | 741 | ||
742 | align 4 |
742 | align 4 |
743 | draw_3d: |
743 | draw_3d: |
744 | stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;®ç¨á⨬ ¡ãä¥à 梥⠨ £«ã¡¨ë |
744 | stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;®ç¨á⨬ ¡ãä¥à 梥⠨ £«ã¡¨ë |
745 | stdcall [glPushMatrix] |
745 | stdcall [glPushMatrix] |
746 | 746 | ||
747 | cmp word[opt_light],0 |
747 | cmp word[opt_light],0 |
748 | je @f |
748 | je @f |
749 | call SetLight |
749 | call SetLight |
750 | @@: |
750 | @@: |
751 | stdcall [glTranslatef], 0.0,0.0,0.5 ;ª®®à¤¨ âë ¯® ®á¨ z ¤®«¦ë ¡ëâì ¢ ¯à¥¤¥« å ®â 0.0 ¤® 1.0, ¨ ç¥ ¨§®¡à ¦¥¨¥ ¡ã¤¥â ®âᥪ âìáï |
751 | stdcall [glTranslatef], 0.0,0.0,0.5 ;ª®®à¤¨ âë ¯® ®á¨ z ¤®«¦ë ¡ëâì ¢ ¯à¥¤¥« å ®â 0.0 ¤® 1.0, ¨ ç¥ ¨§®¡à ¦¥¨¥ ¡ã¤¥â ®âᥪ âìáï |
752 | ;¢®ªá¥«ìë© ®¡ê¥ªâ ¨¬¥¥â ª®®à¤¨ âë ¯® ®áï¬ ®â -0.5 ¤® 0.5, ¯®â®¬ã ¥£® ¤¢¨£ ¥¬ +0.5 |
752 | ;¢®ªá¥«ìë© ®¡ê¥ªâ ¨¬¥¥â ª®®à¤¨ âë ¯® ®áï¬ ®â -0.5 ¤® 0.5, ¯®â®¬ã ¥£® ¤¢¨£ ¥¬ +0.5 |
753 | ;® ¢á¥ ¦¥ ¯à¨ ¯®¢®à®â å ¡ã¤ãâ ®âᥪ âáï ªà ï, ª®â®àë¥ ¢ë«¥§ãâ § ¯à¥¤¥«ë ¯«®áª®á⥩ ®âá¥ç¥¨ï |
753 | ;® ¢á¥ ¦¥ ¯à¨ ¯®¢®à®â å ¡ã¤ãâ ®âᥪ âáï ªà ï, ª®â®àë¥ ¢ë«¥§ãâ § ¯à¥¤¥«ë ¯«®áª®á⥩ ®âá¥ç¥¨ï |
754 | ;¢ ¢¥àᨨ opengl ¯®¤ Win ª®®à¤¨ âë ¨¤ãâ ®â -1.0 ¤® 1.0 ¯®â®¬ã â ¬ í⮣® ¤¥« âì ¥ 㦮 |
754 | ;¢ ¢¥àᨨ opengl ¯®¤ Win ª®®à¤¨ âë ¨¤ãâ ®â -1.0 ¤® 1.0 ¯®â®¬ã â ¬ í⮣® ¤¥« âì ¥ 㦮 |
755 | stdcall [glScalef], [scale], [scale], [scale] ;㢥«¨ç¨¢ ¥¬ ¢®ªá¥«ìë© ®¡ê¥ªâ, çâ®-¡ë ¥ ¡ë« ®ç¥ì ¬ «¥ìª¨¬ |
755 | stdcall [glScalef], [scale], [scale], [scale] ;㢥«¨ç¨¢ ¥¬ ¢®ªá¥«ìë© ®¡ê¥ªâ, çâ®-¡ë ¥ ¡ë« ®ç¥ì ¬ «¥ìª¨¬ |
756 | stdcall [glScalef], 1.0, 1.0, 0.25 ;çâ®-¡ë ªà ï ®¡ê¥ªâ ¥ ¢ë« §¨«¨ § £à ¨ ®âá¥ç¥¨ï |
756 | stdcall [glScalef], 1.0, 1.0, 0.25 ;çâ®-¡ë ªà ï ®¡ê¥ªâ ¥ ¢ë« §¨«¨ § £à ¨ ®âá¥ç¥¨ï |
757 | stdcall [glRotatef], [angle_x],1.0,0.0,0.0 |
757 | stdcall [glRotatef], [angle_x],1.0,0.0,0.0 |
758 | stdcall [glRotatef], [angle_y],0.0,1.0,0.0 |
758 | stdcall [glRotatef], [angle_y],0.0,1.0,0.0 |
759 | stdcall [glRotatef], [angle_z],0.0,0.0,1.0 |
759 | stdcall [glRotatef], [angle_z],0.0,0.0,1.0 |
760 | stdcall draw_voxels_3d,[open_file_ogl] |
760 | stdcall draw_voxels_3d,[open_file_ogl] |
761 | 761 | ||
762 | call [glPopMatrix] |
762 | call [glPopMatrix] |
763 | ret |
763 | ret |
764 | 764 | ||
765 | align 4 |
765 | align 4 |
766 | proc SetLight |
766 | proc SetLight |
767 | stdcall [glLightfv], GL_LIGHT0, GL_POSITION, light_position |
767 | stdcall [glLightfv], GL_LIGHT0, GL_POSITION, light_position |
768 | stdcall [glLightfv], GL_LIGHT0, GL_SPOT_DIRECTION, light_dir |
768 | stdcall [glLightfv], GL_LIGHT0, GL_SPOT_DIRECTION, light_dir |
769 | 769 | ||
770 | stdcall [glLightfv], GL_LIGHT0, GL_DIFFUSE, white_light |
770 | stdcall [glLightfv], GL_LIGHT0, GL_DIFFUSE, white_light |
771 | stdcall [glLightfv], GL_LIGHT0, GL_SPECULAR, white_light |
771 | stdcall [glLightfv], GL_LIGHT0, GL_SPECULAR, white_light |
772 | 772 | ||
773 | stdcall [glEnable], GL_COLOR_MATERIAL |
773 | stdcall [glEnable], GL_COLOR_MATERIAL |
774 | stdcall [glColorMaterial], GL_FRONT, GL_AMBIENT_AND_DIFFUSE |
774 | stdcall [glColorMaterial], GL_FRONT, GL_AMBIENT_AND_DIFFUSE |
775 | stdcall [glMaterialfv], GL_FRONT, GL_SPECULAR, mat_specular |
775 | stdcall [glMaterialfv], GL_FRONT, GL_SPECULAR, mat_specular |
776 | stdcall [glMaterialf], GL_FRONT, GL_SHININESS, mat_shininess |
776 | stdcall [glMaterialf], GL_FRONT, GL_SHININESS, mat_shininess |
777 | stdcall [glLightModelfv], GL_LIGHT_MODEL_AMBIENT, lmodel_ambient |
777 | stdcall [glLightModelfv], GL_LIGHT_MODEL_AMBIENT, lmodel_ambient |
778 | 778 | ||
779 | stdcall [glEnable], GL_LIGHTING |
779 | stdcall [glEnable], GL_LIGHTING |
780 | stdcall [glEnable], GL_LIGHT0 |
780 | stdcall [glEnable], GL_LIGHT0 |
781 | 781 | ||
782 | ;;;stdcall [glLightModeli], GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE |
782 | ;;;stdcall [glLightModeli], GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE |
783 | ret |
783 | ret |
784 | endp |
784 | endp |
785 | 785 | ||
786 | align 4 |
786 | align 4 |
787 | proc img_to_gray, buf_rgb:dword, buf_g24:dword, pixels:dword |
787 | proc img_to_gray, buf_rgb:dword, buf_g24:dword, pixels:dword |
788 | pushad |
788 | pushad |
789 | mov esi,[buf_rgb] |
789 | mov esi,[buf_rgb] |
790 | mov edi,[buf_g24] |
790 | mov edi,[buf_g24] |
791 | mov ecx,[pixels] |
791 | mov ecx,[pixels] |
792 | mov ebx,3 |
792 | mov ebx,3 |
793 | align 4 |
793 | align 4 |
794 | @@: |
794 | @@: |
795 | movzx eax,byte[esi] |
795 | movzx eax,byte[esi] |
796 | movzx edx,byte[esi+1] |
796 | movzx edx,byte[esi+1] |
797 | add eax,edx |
797 | add eax,edx |
798 | movzx edx,byte[esi+2] |
798 | movzx edx,byte[esi+2] |
799 | add eax,edx |
799 | add eax,edx |
800 | xor edx,edx |
800 | xor edx,edx |
801 | div ebx ;shr eax,2 |
801 | div ebx ;shr eax,2 |
802 | mov ah,al |
802 | mov ah,al |
803 | mov word[edi],ax |
803 | mov word[edi],ax |
804 | mov byte[edi+2],al |
804 | mov byte[edi+2],al |
805 | add esi,3 |
805 | add esi,3 |
806 | add edi,3 |
806 | add edi,3 |
807 | loop @b |
807 | loop @b |
808 | popad |
808 | popad |
809 | ret |
809 | ret |
810 | endp |
810 | endp |
811 | 811 | ||
812 | 812 | ||
813 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
813 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
814 | align 4 |
814 | align 4 |
815 | OpenDialog_data: |
815 | OpenDialog_data: |
816 | .type dd 0 ;0 - ®âªàëâì, 1 - á®åà ¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î |
816 | .type dd 0 ;0 - ®âªàëâì, 1 - á®åà ¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î |
817 | .procinfo dd procinfo ;+4 |
817 | .procinfo dd procinfo ;+4 |
818 | .com_area_name dd communication_area_name ;+8 |
818 | .com_area_name dd communication_area_name ;+8 |
819 | .com_area dd 0 ;+12 |
819 | .com_area dd 0 ;+12 |
820 | .opendir_path dd plugin_path ;+16 |
820 | .opendir_path dd plugin_path ;+16 |
821 | .dir_default_path dd default_dir ;+20 |
821 | .dir_default_path dd default_dir ;+20 |
822 | .start_path dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢ |
822 | .start_path dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢ |
823 | .draw_window dd draw_window ;+28 |
823 | .draw_window dd draw_window ;+28 |
824 | .status dd 0 ;+32 |
824 | .status dd 0 ;+32 |
825 | .openfile_path dd openfile_path ;+36 ¯ãâì ª ®âªàë¢ ¥¬®¬ã ä ©«ã |
825 | .openfile_path dd openfile_path ;+36 ¯ãâì ª ®âªàë¢ ¥¬®¬ã ä ©«ã |
826 | .filename_area dd filename_area ;+40 |
826 | .filename_area dd filename_area ;+40 |
827 | .filter_area dd Filter |
827 | .filter_area dd Filter |
828 | .x: |
828 | .x: |
829 | .x_size dw 420 ;+48 ; Window X size |
829 | .x_size dw 420 ;+48 ; Window X size |
830 | .x_start dw 10 ;+50 ; Window X position |
830 | .x_start dw 10 ;+50 ; Window X position |
831 | .y: |
831 | .y: |
832 | .y_size dw 320 ;+52 ; Window y size |
832 | .y_size dw 320 ;+52 ; Window y size |
833 | .y_start dw 10 ;+54 ; Window Y position |
833 | .y_start dw 10 ;+54 ; Window Y position |
834 | 834 | ||
835 | default_dir db '/rd/1',0 |
835 | default_dir db '/sys',0 |
836 | 836 | ||
837 | communication_area_name: |
837 | communication_area_name: |
838 | db 'FFFFFFFF_open_dialog',0 |
838 | db 'FFFFFFFF_open_dialog',0 |
839 | open_dialog_name: |
839 | open_dialog_name: |
840 | db 'opendial',0 |
840 | db 'opendial',0 |
841 | communication_area_default_path: |
841 | communication_area_default_path: |
842 | db '/rd/1/File managers/',0 |
842 | db '/sys/File managers/',0 |
843 | 843 | ||
844 | Filter: |
844 | Filter: |
845 | dd Filter.end - Filter ;.1 |
845 | dd Filter.end - Filter ;.1 |
846 | .1: |
846 | .1: |
847 | db 'VOX',0 |
847 | db 'VOX',0 |
848 | db 'TXT',0 |
848 | db 'TXT',0 |
849 | .end: |
849 | .end: |
850 | db 0 |
850 | db 0 |
851 | 851 | ||
852 | 852 | ||
853 | system_dir_0 db '/sys/lib/' |
853 | system_dir_0 db '/sys/lib/' |
854 | lib_name_0 db 'proc_lib.obj',0 |
854 | lib_name_0 db 'proc_lib.obj',0 |
855 | system_dir_1 db '/sys/lib/' |
855 | system_dir_1 db '/sys/lib/' |
856 | lib_name_1 db 'libimg.obj',0 |
856 | lib_name_1 db 'libimg.obj',0 |
857 | system_dir_2 db '/sys/lib/' |
857 | system_dir_2 db '/sys/lib/' |
858 | lib_name_2 db 'buf2d.obj',0 |
858 | lib_name_2 db 'buf2d.obj',0 |
859 | system_dir_3 db '/sys/lib/' |
859 | system_dir_3 db '/sys/lib/' |
860 | lib_name_3 db 'tinygl.obj',0 |
860 | lib_name_3 db 'tinygl.obj',0 |
861 | 861 | ||
862 | l_libs_start: |
862 | l_libs_start: |
863 | lib_0 l_libs lib_name_0, file_name, system_dir_0, import_proclib |
863 | lib_0 l_libs lib_name_0, file_name, system_dir_0, import_proclib |
864 | lib_1 l_libs lib_name_1, file_name, system_dir_1, import_libimg |
864 | lib_1 l_libs lib_name_1, file_name, system_dir_1, import_libimg |
865 | lib_2 l_libs lib_name_2, file_name, system_dir_2, import_buf2d |
865 | lib_2 l_libs lib_name_2, file_name, system_dir_2, import_buf2d |
866 | lib_3 l_libs lib_name_3, file_name, system_dir_3, import_tinygl |
866 | lib_3 l_libs lib_name_3, file_name, system_dir_3, import_tinygl |
867 | l_libs_end: |
867 | l_libs_end: |
868 | 868 | ||
869 | align 4 |
869 | align 4 |
870 | import_libimg: |
870 | import_libimg: |
871 | dd alib_init1 |
871 | dd alib_init1 |
872 | ; img_is_img dd aimg_is_img |
872 | ; img_is_img dd aimg_is_img |
873 | ; img_info dd aimg_info |
873 | ; img_info dd aimg_info |
874 | ; img_from_file dd aimg_from_file |
874 | ; img_from_file dd aimg_from_file |
875 | ; img_to_file dd aimg_to_file |
875 | ; img_to_file dd aimg_to_file |
876 | ; img_from_rgb dd aimg_from_rgb |
876 | ; img_from_rgb dd aimg_from_rgb |
877 | ; img_to_rgb dd aimg_to_rgb |
877 | ; img_to_rgb dd aimg_to_rgb |
878 | img_to_rgb2 dd aimg_to_rgb2 |
878 | img_to_rgb2 dd aimg_to_rgb2 |
879 | img_decode dd aimg_decode |
879 | img_decode dd aimg_decode |
880 | ; img_encode dd aimg_encode |
880 | ; img_encode dd aimg_encode |
881 | ; img_create dd aimg_create |
881 | ; img_create dd aimg_create |
882 | img_destroy dd aimg_destroy |
882 | img_destroy dd aimg_destroy |
883 | ; img_destroy_layer dd aimg_destroy_layer |
883 | ; img_destroy_layer dd aimg_destroy_layer |
884 | ; img_count dd aimg_count |
884 | ; img_count dd aimg_count |
885 | ; img_lock_bits dd aimg_lock_bits |
885 | ; img_lock_bits dd aimg_lock_bits |
886 | ; img_unlock_bits dd aimg_unlock_bits |
886 | ; img_unlock_bits dd aimg_unlock_bits |
887 | ; img_flip dd aimg_flip |
887 | ; img_flip dd aimg_flip |
888 | ; img_flip_layer dd aimg_flip_layer |
888 | ; img_flip_layer dd aimg_flip_layer |
889 | ; img_rotate dd aimg_rotate |
889 | ; img_rotate dd aimg_rotate |
890 | ; img_rotate_layer dd aimg_rotate_layer |
890 | ; img_rotate_layer dd aimg_rotate_layer |
891 | ; img_draw dd aimg_draw |
891 | ; img_draw dd aimg_draw |
892 | ; img_convert dd aimg_convert |
892 | ; img_convert dd aimg_convert |
893 | 893 | ||
894 | dd 0,0 |
894 | dd 0,0 |
895 | alib_init1 db 'lib_init',0 |
895 | alib_init1 db 'lib_init',0 |
896 | ; aimg_is_img db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª ᤥ« âì ¨§ ¨å ¨§®¡à ¦¥¨¥ |
896 | ; aimg_is_img db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª ᤥ« âì ¨§ ¨å ¨§®¡à ¦¥¨¥ |
897 | ; aimg_info db 'img_info',0 |
897 | ; aimg_info db 'img_info',0 |
898 | ; aimg_from_file db 'img_from_file',0 |
898 | ; aimg_from_file db 'img_from_file',0 |
899 | ; aimg_to_file db 'img_to_file',0 |
899 | ; aimg_to_file db 'img_to_file',0 |
900 | ; aimg_from_rgb db 'img_from_rgb',0 |
900 | ; aimg_from_rgb db 'img_from_rgb',0 |
901 | ; aimg_to_rgb db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ¨¥ ¨§®¡à ¦¥¨ï ¢ ¤ ë¥ RGB |
901 | ; aimg_to_rgb db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ¨¥ ¨§®¡à ¦¥¨ï ¢ ¤ ë¥ RGB |
902 | aimg_to_rgb2 db 'img_to_rgb2',0 |
902 | aimg_to_rgb2 db 'img_to_rgb2',0 |
903 | aimg_decode db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ëå |
903 | aimg_decode db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ëå |
904 | ; aimg_encode db 'img_encode',0 |
904 | ; aimg_encode db 'img_encode',0 |
905 | ; aimg_create db 'img_create',0 |
905 | ; aimg_create db 'img_create',0 |
906 | aimg_destroy db 'img_destroy',0 |
906 | aimg_destroy db 'img_destroy',0 |
907 | ; aimg_destroy_layer db 'img_destroy_layer',0 |
907 | ; aimg_destroy_layer db 'img_destroy_layer',0 |
908 | ; aimg_count db 'img_count',0 |
908 | ; aimg_count db 'img_count',0 |
909 | ; aimg_lock_bits db 'img_lock_bits',0 |
909 | ; aimg_lock_bits db 'img_lock_bits',0 |
910 | ; aimg_unlock_bits db 'img_unlock_bits',0 |
910 | ; aimg_unlock_bits db 'img_unlock_bits',0 |
911 | ; aimg_flip db 'img_flip',0 |
911 | ; aimg_flip db 'img_flip',0 |
912 | ; aimg_flip_layer db 'img_flip_layer',0 |
912 | ; aimg_flip_layer db 'img_flip_layer',0 |
913 | ; aimg_rotate db 'img_rotate',0 |
913 | ; aimg_rotate db 'img_rotate',0 |
914 | ; aimg_rotate_layer db 'img_rotate_layer',0 |
914 | ; aimg_rotate_layer db 'img_rotate_layer',0 |
915 | ; aimg_draw db 'img_draw',0 |
915 | ; aimg_draw db 'img_draw',0 |
916 | ; aimg_convert db 'img_convert',0 |
916 | ; aimg_convert db 'img_convert',0 |
917 | 917 | ||
918 | align 4 |
918 | align 4 |
919 | import_proclib: |
919 | import_proclib: |
920 | OpenDialog_Init dd aOpenDialog_Init |
920 | OpenDialog_Init dd aOpenDialog_Init |
921 | OpenDialog_Start dd aOpenDialog_Start |
921 | OpenDialog_Start dd aOpenDialog_Start |
922 | dd 0,0 |
922 | dd 0,0 |
923 | aOpenDialog_Init db 'OpenDialog_init',0 |
923 | aOpenDialog_Init db 'OpenDialog_init',0 |
924 | aOpenDialog_Start db 'OpenDialog_start',0 |
924 | aOpenDialog_Start db 'OpenDialog_start',0 |
925 | 925 | ||
926 | align 4 |
926 | align 4 |
927 | import_buf2d: |
927 | import_buf2d: |
928 | init dd sz_init |
928 | init dd sz_init |
929 | buf2d_create dd sz_buf2d_create |
929 | buf2d_create dd sz_buf2d_create |
930 | buf2d_create_f_img dd sz_buf2d_create_f_img |
930 | buf2d_create_f_img dd sz_buf2d_create_f_img |
931 | buf2d_clear dd sz_buf2d_clear |
931 | buf2d_clear dd sz_buf2d_clear |
932 | buf2d_draw dd sz_buf2d_draw |
932 | buf2d_draw dd sz_buf2d_draw |
933 | buf2d_delete dd sz_buf2d_delete |
933 | buf2d_delete dd sz_buf2d_delete |
934 | buf2d_line dd sz_buf2d_line |
934 | buf2d_line dd sz_buf2d_line |
935 | buf2d_rect_by_size dd sz_buf2d_rect_by_size |
935 | buf2d_rect_by_size dd sz_buf2d_rect_by_size |
936 | buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
936 | buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
937 | buf2d_circle dd sz_buf2d_circle |
937 | buf2d_circle dd sz_buf2d_circle |
938 | buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
938 | buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
939 | buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
939 | buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
940 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
940 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
941 | buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
941 | buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
942 | buf2d_bit_blt dd sz_buf2d_bit_blt |
942 | buf2d_bit_blt dd sz_buf2d_bit_blt |
943 | buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
943 | buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
944 | buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
944 | buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
945 | buf2d_curve_bezier dd sz_buf2d_curve_bezier |
945 | buf2d_curve_bezier dd sz_buf2d_curve_bezier |
946 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
946 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
947 | buf2d_draw_text dd sz_buf2d_draw_text |
947 | buf2d_draw_text dd sz_buf2d_draw_text |
948 | buf2d_crop_color dd sz_buf2d_crop_color |
948 | buf2d_crop_color dd sz_buf2d_crop_color |
949 | buf2d_offset_h dd sz_buf2d_offset_h |
949 | buf2d_offset_h dd sz_buf2d_offset_h |
950 | buf2d_flood_fill dd sz_buf2d_flood_fill |
950 | buf2d_flood_fill dd sz_buf2d_flood_fill |
951 | buf2d_set_pixel dd sz_buf2d_set_pixel |
951 | buf2d_set_pixel dd sz_buf2d_set_pixel |
952 | dd 0,0 |
952 | dd 0,0 |
953 | sz_init db 'lib_init',0 |
953 | sz_init db 'lib_init',0 |
954 | sz_buf2d_create db 'buf2d_create',0 |
954 | sz_buf2d_create db 'buf2d_create',0 |
955 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
955 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
956 | sz_buf2d_clear db 'buf2d_clear',0 |
956 | sz_buf2d_clear db 'buf2d_clear',0 |
957 | sz_buf2d_draw db 'buf2d_draw',0 |
957 | sz_buf2d_draw db 'buf2d_draw',0 |
958 | sz_buf2d_delete db 'buf2d_delete',0 |
958 | sz_buf2d_delete db 'buf2d_delete',0 |
959 | sz_buf2d_line db 'buf2d_line',0 |
959 | sz_buf2d_line db 'buf2d_line',0 |
960 | sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 |
960 | sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 |
961 | sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
961 | sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
962 | sz_buf2d_circle db 'buf2d_circle',0 |
962 | sz_buf2d_circle db 'buf2d_circle',0 |
963 | sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
963 | sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
964 | sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
964 | sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
965 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
965 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
966 | sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
966 | sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
967 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
967 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
968 | sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
968 | sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
969 | sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
969 | sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
970 | sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 |
970 | sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 |
971 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
971 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
972 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
972 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
973 | sz_buf2d_crop_color db 'buf2d_crop_color',0 |
973 | sz_buf2d_crop_color db 'buf2d_crop_color',0 |
974 | sz_buf2d_offset_h db 'buf2d_offset_h',0 |
974 | sz_buf2d_offset_h db 'buf2d_offset_h',0 |
975 | sz_buf2d_flood_fill db 'buf2d_flood_fill',0 |
975 | sz_buf2d_flood_fill db 'buf2d_flood_fill',0 |
976 | sz_buf2d_set_pixel db 'buf2d_set_pixel',0 |
976 | sz_buf2d_set_pixel db 'buf2d_set_pixel',0 |
977 | 977 | ||
978 | ;-------------------------------------------------- |
978 | ;-------------------------------------------------- |
979 | align 4 |
979 | align 4 |
980 | import_tinygl: |
980 | import_tinygl: |
981 | 981 | ||
982 | macro E_LIB n |
982 | macro E_LIB n |
983 | { |
983 | { |
984 | n dd sz_#n |
984 | n dd sz_#n |
985 | } |
985 | } |
986 | include '../../../develop/libraries/TinyGL/asm_fork/export.inc' |
986 | include '../../../develop/libraries/TinyGL/asm_fork/export.inc' |
987 | dd 0,0 |
987 | dd 0,0 |
988 | macro E_LIB n |
988 | macro E_LIB n |
989 | { |
989 | { |
990 | sz_#n db `n,0 |
990 | sz_#n db `n,0 |
991 | } |
991 | } |
992 | include '../../../develop/libraries/TinyGL/asm_fork/export.inc' |
992 | include '../../../develop/libraries/TinyGL/asm_fork/export.inc' |
993 | 993 | ||
994 | last_time dd 0 |
994 | last_time dd 0 |
995 | 995 | ||
996 | align 4 |
996 | align 4 |
997 | buf_0: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
997 | buf_0: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
998 | dw 530 ;+4 left |
998 | dw 530 ;+4 left |
999 | dw 30 ;+6 top |
999 | dw 30 ;+6 top |
1000 | .w: dd 256 ;+8 w |
1000 | .w: dd 256 ;+8 w |
1001 | .h: dd 512 ;+12 h |
1001 | .h: dd 512 ;+12 h |
1002 | .color: dd 0xffffd0 ;+16 color |
1002 | .color: dd 0xffffd0 ;+16 color |
1003 | db 24 ;+20 bit in pixel |
1003 | db 24 ;+20 bit in pixel |
1004 | 1004 | ||
1005 | align 4 |
1005 | align 4 |
1006 | buf_1: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1006 | buf_1: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1007 | dw 0 ;+4 left |
1007 | dw 0 ;+4 left |
1008 | dw 0 ;+6 top |
1008 | dw 0 ;+6 top |
1009 | .w: dd 512 ;+8 w |
1009 | .w: dd 512 ;+8 w |
1010 | .h: dd 512 ;+12 h |
1010 | .h: dd 512 ;+12 h |
1011 | .color: dd 0xffffff ;+16 color |
1011 | .color: dd 0xffffff ;+16 color |
1012 | db 24 ;+20 bit in pixel |
1012 | db 24 ;+20 bit in pixel |
1013 | 1013 | ||
1014 | scale dd 1.414213562 |
1014 | scale dd 1.414213562 |
1015 | angle_x dd 0.0 |
1015 | angle_x dd 0.0 |
1016 | angle_y dd 0.0 |
1016 | angle_y dd 0.0 |
1017 | angle_z dd 0.0 |
1017 | angle_z dd 0.0 |
1018 | delt_size dd 3.0 |
1018 | delt_size dd 3.0 |
1019 | angle_dxm dd 2.8444 ;~ 3d_wnd_w/180 - ¯à¨¡ ¢«¥¨¥ 㣫®¢ ¯®¢®à®â áæ¥ë ¯à¨ ¢à 饨¨ ¬ë襩 |
1019 | angle_dxm dd 2.8444 ;~ 3d_wnd_w/180 - ¯à¨¡ ¢«¥¨¥ 㣫®¢ ¯®¢®à®â áæ¥ë ¯à¨ ¢à 饨¨ ¬ë襩 |
1020 | angle_dym dd 2.8444 ;~ 3d_wnd_h/180 |
1020 | angle_dym dd 2.8444 ;~ 3d_wnd_h/180 |
1021 | 1021 | ||
1022 | opt_light dw 0 ;®¯æ¨ï ¤«ï ¢ª«î票ï/¢ëª«î票ï ᢥâ |
1022 | opt_light dw 0 ;®¯æ¨ï ¤«ï ¢ª«î票ï/¢ëª«î票ï ᢥâ |
1023 | opt_cube_box dw 1 ;®¯æ¨ï ¤«ï à¨á®¢ ¨ï à ¬ª¨ ¢®ªà㣠®¡ê¥ªâ |
1023 | opt_cube_box dw 1 ;®¯æ¨ï ¤«ï à¨á®¢ ¨ï à ¬ª¨ ¢®ªà㣠®¡ê¥ªâ |
1024 | opt_auto_rotate dw 0 ;®¯æ¨ï ¤«ï ¢â®¬ â¨ç¥áª®£® ¯®¢®à®â ®¡ê¥ªâ |
1024 | opt_auto_rotate dw 0 ;®¯æ¨ï ¤«ï ¢â®¬ â¨ç¥áª®£® ¯®¢®à®â ®¡ê¥ªâ |
1025 | 1025 | ||
1026 | light_position dd 0.0, 0.0, 2.0, 1.0 ; ᯮ«®¦¥¨¥ ¨áâ®ç¨ª [0][1][2] |
1026 | light_position dd 0.0, 0.0, 2.0, 1.0 ; ᯮ«®¦¥¨¥ ¨áâ®ç¨ª [0][1][2] |
1027 | ;[3] = (0.0 - ¡¥áª®¥ç® 㤠«¥ë© ¨áâ®ç¨ª, 1.0 - ¨áâ®ç¨ª ᢥ⠮¯à¥¤¥«¥®¬ à ááâ®ï¨¨) |
1027 | ;[3] = (0.0 - ¡¥áª®¥ç® 㤠«¥ë© ¨áâ®ç¨ª, 1.0 - ¨áâ®ç¨ª ᢥ⠮¯à¥¤¥«¥®¬ à ááâ®ï¨¨) |
1028 | light_dir dd 0.0,0.0,0.0 ; ¯à ¢«¥¨¥ « ¬¯ë |
1028 | light_dir dd 0.0,0.0,0.0 ; ¯à ¢«¥¨¥ « ¬¯ë |
1029 | 1029 | ||
1030 | mat_specular dd 0.3, 0.3, 0.3, 1.0 ; ¢¥â ¡«¨ª |
1030 | mat_specular dd 0.3, 0.3, 0.3, 1.0 ; ¢¥â ¡«¨ª |
1031 | mat_shininess dd 3.0 ; §¬¥à ¡«¨ª (®¡à â ï ¯à®¯®àæ¨ï) |
1031 | mat_shininess dd 3.0 ; §¬¥à ¡«¨ª (®¡à â ï ¯à®¯®àæ¨ï) |
1032 | white_light dd 0.8, 0.8, 0.8, 1.0 ; ¢¥â ¨ ¨â¥á¨¢®áâì ®á¢¥é¥¨ï, £¥¥à¨à㥬®£® ¨áâ®ç¨ª®¬ |
1032 | white_light dd 0.8, 0.8, 0.8, 1.0 ; ¢¥â ¨ ¨â¥á¨¢®áâì ®á¢¥é¥¨ï, £¥¥à¨à㥬®£® ¨áâ®ç¨ª®¬ |
1033 | lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; à ¬¥âàë ä®®¢®£® ®á¢¥é¥¨ï |
1033 | lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; à ¬¥âàë ä®®¢®£® ®á¢¥é¥¨ï |
1034 | 1034 | ||
1035 | 1035 | ||
1036 | align 16 |
1036 | align 16 |
1037 | i_end: |
1037 | i_end: |
1038 | ctx1 rb 28 ;sizeof.TinyGLContext = 28 |
1038 | ctx1 rb 28 ;sizeof.TinyGLContext = 28 |
1039 | image_data_toolbar dd ? |
1039 | image_data_toolbar dd ? |
1040 | mouse_drag dd ? ;०¨¬ ¯®¢®à®â áæ¥ë ®â ¯¥à¥¬¥é¥¨¨ ªãàá®à ¬ëè¨ |
1040 | mouse_drag dd ? ;०¨¬ ¯®¢®à®â áæ¥ë ®â ¯¥à¥¬¥é¥¨¨ ªãàá®à ¬ëè¨ |
1041 | mouse_x dd ? |
1041 | mouse_x dd ? |
1042 | mouse_y dd ? |
1042 | mouse_y dd ? |
1043 | rb 4096 |
1043 | rb 4096 |
1044 | stacktop: |
1044 | stacktop: |
1045 | sys_path rb 1024 |
1045 | sys_path rb 1024 |
1046 | file_name rb 2048 |
1046 | file_name rb 2048 |
1047 | plugin_path rb 4096 |
1047 | plugin_path rb 4096 |
1048 | openfile_path rb 4096 |
1048 | openfile_path rb 4096 |
1049 | filename_area rb 256 |
1049 | filename_area rb 256 |
1050 | sc system_colors |
1050 | sc system_colors |
1051 | procinfo process_information |
1051 | procinfo process_information |
1052 | run_file_70 FileInfoBlock |
1052 | run_file_70 FileInfoBlock |
1053 | mem: |
1053 | mem: |