Rev 5916 | Rev 8408 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5916 | Rev 6213 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | use32 |
1 | use32 |
2 | org 0x0 |
2 | org 0x0 |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
4 | dd 0x1 |
- | |
5 | dd start |
- | |
6 | dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
4 | dd 1,start,i_end,mem,stacktop,0,sys_path |
7 | dd mem |
- | |
8 | dd stacktop |
- | |
9 | dd 0 |
- | |
10 | dd sys_path |
- | |
Line 11... | Line 5... | ||
11 | 5 | ||
12 | ini_def_c_bkgnd equ 0 |
6 | ini_def_c_bkgnd equ 0 |
13 | ini_def_c_border equ 0xff0000 |
7 | ini_def_c_border equ 0xff0000 |
14 | color_s0 equ 0xff ;ᨣ « 0 |
8 | color_s0 equ 0xff ;ᨣ « 0 |
Line 44... | Line 38... | ||
44 | points_max equ 1000 |
38 | points_max equ 1000 |
45 | capt_offs equ 10 ;ᬥ饨¥ ¤«ï ç « ¯®¤¯¨á¨ ¢ «¨á⥠tree1 |
39 | capt_offs equ 10 ;ᬥ饨¥ ¤«ï ç « ¯®¤¯¨á¨ ¢ «¨á⥠tree1 |
Line 46... | Line 40... | ||
46 | 40 | ||
47 | include '../../../macros.inc' |
41 | include '../../../macros.inc' |
- | 42 | include '../../../proc32.inc' |
|
48 | include '../../../proc32.inc' |
43 | include '../../../KOSfuncs.inc' |
49 | include '../../../develop/libraries/box_lib/load_lib.mac' |
44 | include '../../../load_img.inc' |
50 | include '../../../develop/libraries/box_lib/trunk/box_lib.mac' |
- | |
51 | include '../../../dll.inc' |
45 | include '../../../develop/libraries/box_lib/trunk/box_lib.mac' |
52 | include 'le_pole.inc' |
46 | include 'le_pole.inc' |
Line 53... | Line 47... | ||
53 | include 'le_signal.inc' |
47 | include 'le_signal.inc' |
54 | 48 | ||
Line 55... | Line 49... | ||
55 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
49 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
56 | caption db '®£¨ç¥áª¨¥ í«¥¬¥âë 15.11.15',0 ;¯®¤¯¨áì ®ª |
50 | caption db '®£¨ç¥áª¨¥ í«¥¬¥âë 13.02.16',0 ;¯®¤¯¨áì ®ª |
57 | 51 | ||
58 | panel_0_coord_top equ 5 ;¢¥àåïï ª®®à¤¨ â 0-£® àï¤ ¯ ¥«¨ ¨áâà㬥⮢ |
52 | panel_0_coord_top equ 5 ;¢¥àåïï ª®®à¤¨ â 0-£® àï¤ ¯ ¥«¨ ¨áâà㬥⮢ |
Line -... | Line 53... | ||
- | 53 | panel_1_coord_top equ 35 |
|
- | 54 | panel_2_coord_top equ 60 |
|
- | 55 | panel_3_coord_top equ 85 |
|
- | 56 | ||
- | 57 | ;input: |
|
- | 58 | ; eax - coord x |
|
59 | panel_1_coord_top equ 35 |
59 | ; ebx - coord y |
60 | panel_2_coord_top equ 60 |
60 | ;output: |
61 | panel_3_coord_top equ 85 |
61 | ; eax - coord x + d_x * cos(angle) |
62 | 62 | ; ebx - coord y + d_x * sin(angle) |
|
63 | align 4 |
63 | align 4 |
Line 72... | Line 72... | ||
72 | add eax,ecx |
72 | add eax,ecx |
Line 73... | Line 73... | ||
73 | 73 | ||
74 | mov ecx,[d_x] |
74 | mov ecx,[d_x] |
75 | imul ecx,dword[edi+8] |
75 | imul ecx,dword[edi+8] |
76 | add ebx,ecx |
- | |
77 | 76 | add ebx,ecx |
|
78 | ret |
77 | ret |
Line 79... | Line -... | ||
79 | endp |
- | |
80 | - | ||
81 | struct FileInfoBlock |
- | |
82 | Function dd ? |
- | |
83 | Position dd ? |
- | |
84 | Flags dd ? |
- | |
85 | Count dd ? |
- | |
86 | Buffer dd ? |
- | |
87 | db ? |
- | |
88 | FileName dd ? |
- | |
89 | ends |
78 | endp |
90 | 79 | ||
91 | macro elOpt nam,col,box_x,box_y,table, tbl_i_legs, ol0, ol1, ol2 |
80 | macro elOpt nam,col,box_x,box_y,table, tbl_i_legs, ol0, ol1, ol2 |
92 | { |
81 | { |
93 | @@: db nam,0 |
82 | @@: db nam,0 |
Line 179... | Line 168... | ||
179 | mcs dd 1, 0, 0, 1,\ |
168 | mcs dd 1, 0, 0, 1,\ |
180 | 0, 1,-1, 0,\ |
169 | 0, 1,-1, 0,\ |
181 | -1, 0, 0,-1,\ |
170 | -1, 0, 0,-1,\ |
182 | 0,-1, 1, 0 |
171 | 0,-1, 1, 0 |
Line 183... | Line -... | ||
183 | - | ||
184 | run_file_70 FileInfoBlock |
- | |
185 | image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì. ¤«ï 㦥 ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
- | |
186 | 172 | ||
187 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
- | |
188 | IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*25 |
173 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
Line 189... | Line -... | ||
189 | image_data_toolbar dd 0 |
- | |
190 | 174 | image_data_toolbar dd 0 |
|
191 | TREE_ICON_SYS16_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*11+54 ;à §¬¥à bmp ä ©« á á¨á⥬묨 ¨ª®ª ¬¨ |
- | |
192 | icon_tl_sys dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï á¨á⥬ëå ¨ª®®ª |
175 | |
Line 193... | Line -... | ||
193 | TOOLBAR_ICON_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*5+54 ;à §¬¥à bmp ä ©« á ¨ª®ª ¬¨ ®¡ê¥ªâ®¢ |
- | |
194 | icon_toolbar dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï ¨ª®®ª ®¡ê¥ªâ®¢ |
176 | icon_tl_sys dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï á¨á⥬ëå ¨ª®®ª |
Line 195... | Line 177... | ||
195 | 177 | icon_toolbar dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï ¨ª®®ª ®¡ê¥ªâ®¢ |
|
196 | IMAGE_FONT_SIZE equ 128*144*3 |
- | |
197 | image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥ë¬¨ á¥à묨 ¨§®¡à ¦¥¨ï¬¨ ¢ ä®à¬ ⥠24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë |
- | |
198 | - | ||
199 | cursors_count equ 4 |
- | |
200 | IMAGE_CURSORS_SIZE equ 4096*cursors_count ;à §¬¥à ª à⨪¨ á ªãàá®à ¬¨ |
- | |
201 | - | ||
202 | macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
- | |
203 | ;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬ |
- | |
204 | if path eqtype '' ;¯à®¢¥à塞 § ¤ «¨ áâப®© ¯ à ¬¥âà path |
- | |
205 | jmp @f |
- | |
206 | local .path_str |
- | |
207 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
- | |
208 | db 0 |
- | |
209 | @@: |
- | |
210 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
- | |
211 | copy_path .path_str,[32],file_name,0 |
- | |
212 | else |
- | |
213 | copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
- | |
214 | end if |
- | |
215 | - | ||
216 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
- | |
217 | mov [buf],eax |
- | |
218 | - | ||
219 | mov [run_file_70.Function], 0 |
- | |
220 | mov [run_file_70.Position], 0 |
- | |
221 | mov [run_file_70.Flags], 0 |
- | |
222 | mov [run_file_70.Count], dword size |
- | |
223 | m2m [run_file_70.Buffer], eax |
- | |
224 | mov byte[run_file_70+20], 0 |
- | |
225 | mov [run_file_70.FileName], file_name |
- | |
226 | mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
- | |
227 | cmp ebx,0xffffffff |
- | |
228 | je @f |
- | |
229 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
- | |
230 | stdcall dword[img_decode], dword[buf],ebx,0 |
- | |
231 | mov dword[image_data],eax |
- | |
232 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
- | |
233 | stdcall dword[img_to_rgb2], dword[image_data],dword[buf] |
- | |
Line 234... | Line 178... | ||
234 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
178 | |
235 | stdcall dword[img_destroy], dword[image_data] |
179 | image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥ë¬¨ á¥à묨 ¨§®¡à ¦¥¨ï¬¨ ¢ ä®à¬ ⥠24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë |
236 | @@: |
180 | |
237 | } |
181 | cursors_count equ 4 |
Line 253... | Line 197... | ||
253 | load_libraries l_libs_start,l_libs_end |
197 | load_libraries l_libs_start,l_libs_end |
254 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
198 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
255 | mov ebp,lib_7 |
199 | mov ebp,lib_7 |
256 | cmp dword [ebp+ll_struc_size-4],0 |
200 | cmp dword [ebp+ll_struc_size-4],0 |
257 | jz @f |
201 | jz @f |
258 | mcall -1 ;exit not correct |
202 | mcall SF_TERMINATE_PROCESS |
259 | @@: |
203 | @@: |
260 | mcall 48,3,sc,sizeof.system_colors |
204 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors |
261 | mcall 40,0x27 |
205 | mcall SF_SET_EVENTS_MASK,0x27 |
Line 262... | Line 206... | ||
262 | 206 | ||
263 | ;*** áç¨âë¢ ¨¥ áâ஥ª ¨§ *.ini ä ©« |
207 | ;*** áç¨âë¢ ¨¥ áâ஥ª ¨§ *.ini ä ©« |
Line 264... | Line 208... | ||
264 | copy_path ini_name,sys_path,file_name,0x0 |
208 | copy_path ini_name,sys_path,file_name,0x0 |
Line 293... | Line 237... | ||
293 | mov dword[opt_fast_mode],eax |
237 | mov dword[opt_fast_mode],eax |
Line 294... | Line 238... | ||
294 | 238 | ||
295 | ;*** ¯®¤£®â®¢ª ¤¨ «®£ |
239 | ;*** ¯®¤£®â®¢ª ¤¨ «®£ |
296 | stdcall [OpenDialog_Init],OpenDialog_data |
240 | stdcall [OpenDialog_Init],OpenDialog_data |
297 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
241 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
Line 298... | Line 242... | ||
298 | load_image_file 'toolbar.png', image_data_toolbar,IMAGE_TOOLBAR_SIZE |
242 | load_image_file 'toolbar.png', image_data_toolbar |
299 | 243 | ||
300 | stdcall pole_init, pole |
244 | stdcall pole_init, pole |
Line 301... | Line 245... | ||
301 | stdcall dword[tl_data_init], tree1 |
245 | stdcall dword[tl_data_init], tree1 |
302 | stdcall dword[tl_data_init], tree2 |
246 | stdcall dword[tl_data_init], tree2 |
303 | 247 | ||
304 | ;á¨áâ¥¬ë¥ ¨ª®ª¨ 16*16 ¤«ï tree_list |
248 | ;á¨áâ¥¬ë¥ ¨ª®ª¨ 16*16 ¤«ï tree_list |
305 | load_image_file 'tl_sys_16.png', icon_tl_sys,TREE_ICON_SYS16_BMP_SIZE |
249 | load_image_file 'tl_sys_16.png', icon_tl_sys |
306 | ;¥á«¨ ¨§®¡à ¦¥¨¥ ¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ |
250 | ;¥á«¨ ¨§®¡à ¦¥¨¥ ¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ |
307 | ;¥ ¨¨æ¨ «¨§¨à®¢ ë¥ ¤ ë¥, ® ®è¨¡ª¨ ¥ ¡ã¤¥â, â. ª. ¡ãä¥à 㦮£® à §¬¥à |
251 | ;¥ ¨¨æ¨ «¨§¨à®¢ ë¥ ¤ ë¥, ® ®è¨¡ª¨ ¥ ¡ã¤¥â, â. ª. ¡ãä¥à 㦮£® à §¬¥à |
Line 308... | Line 252... | ||
308 | mov eax,dword[icon_tl_sys] |
252 | mov eax,dword[icon_tl_sys] |
309 | mov dword[tree1.data_img_sys],eax |
253 | mov dword[tree1.data_img_sys],eax |
310 | mov dword[tree2.data_img_sys],eax |
254 | mov dword[tree2.data_img_sys],eax |
311 | 255 | ||
Line 312... | Line 256... | ||
312 | load_image_file 'objects.png', icon_toolbar,TOOLBAR_ICON_BMP_SIZE |
256 | load_image_file 'objects.png', icon_toolbar |
313 | mov eax,dword[icon_toolbar] |
257 | mov eax,dword[icon_toolbar] |
314 | mov dword[tree1.data_img],eax |
258 | mov dword[tree1.data_img],eax |
315 | mov dword[tree2.data_img],eax |
259 | mov dword[tree2.data_img],eax |
Line 316... | Line 260... | ||
316 | 260 | ||
317 | ;*** § £à㧪 èà¨äâ |
261 | ;*** § £à㧪 èà¨äâ |
Line 318... | Line 262... | ||
318 | load_image_file 'font6x9.bmp', image_data_gray,IMAGE_FONT_SIZE |
262 | load_image_file 'font6x9.bmp', image_data_gray |
319 | stdcall [buf2d_create_f_img], buf_font,[image_data_gray] ;ᮧ¤ ¥¬ ¡ãä¥à |
263 | stdcall [buf2d_create_f_img], buf_font,[image_data_gray] ;ᮧ¤ ¥¬ ¡ãä¥à |
320 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
264 | stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
321 | 265 | ||
Line 322... | Line 266... | ||
322 | stdcall [buf2d_conv_24_to_8], buf_font,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8 ¡¨â |
266 | stdcall [buf2d_conv_24_to_8], buf_font,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8 ¡¨â |
323 | stdcall [buf2d_convert_text_matrix], buf_font |
267 | stdcall [buf2d_convert_text_matrix], buf_font |
324 | 268 | ||
Line 325... | Line 269... | ||
325 | ;*** § £à㧪 ªãàá®à®¢ |
269 | ;*** § £à㧪 ªãàá®à®¢ |
326 | load_image_file 'cursors_gr.png',image_data_gray,IMAGE_CURSORS_SIZE |
270 | load_image_file 'cursors_gr.png',image_data_gray |
Line 344... | Line 288... | ||
344 | add eax,size_el_opt |
288 | add eax,size_el_opt |
345 | loop @b |
289 | loop @b |
346 | stdcall [tl_cur_beg], tree2 |
290 | stdcall [tl_cur_beg], tree2 |
Line 347... | Line 291... | ||
347 | 291 | ||
348 | ;*** ãáâ ®¢ª ¢à¥¬¥¨ ¤«ï â ©¬¥à |
292 | ;*** ãáâ ®¢ª ¢à¥¬¥¨ ¤«ï â ©¬¥à |
349 | mcall 26,9 |
293 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
Line 350... | Line 294... | ||
350 | mov [last_time],eax |
294 | mov [last_time],eax |
351 | 295 | ||
352 | align 4 |
296 | align 4 |
Line 353... | Line 297... | ||
353 | red_win: |
297 | red_win: |
354 | call draw_window |
298 | call draw_window |
355 | 299 | ||
356 | align 4 |
300 | align 4 |
357 | still: |
301 | still: |
358 | mcall 26,9 |
302 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
359 | mov ebx,[last_time] |
303 | mov ebx,[last_time] |
360 | add ebx,10 ;§ ¤¥à¦ª |
304 | add ebx,10 ;§ ¤¥à¦ª |
361 | cmp ebx,eax |
305 | cmp ebx,eax |
362 | jge @f |
306 | jge @f |
363 | mov ebx,eax |
307 | mov ebx,eax |
364 | @@: |
- | |
365 | sub ebx,eax |
- | |
366 | ;cmp ebx,10 ;§ ¤¥à¦ª |
- | |
367 | ;ja timer_funct |
- | |
368 | ;test ebx,ebx |
308 | @@: |
369 | ;jz timer_funct |
309 | sub ebx,eax |
Line 370... | Line 310... | ||
370 | mcall 23 |
310 | mcall SF_WAIT_EVENT_TIMEOUT |
371 | cmp eax,0 |
311 | cmp eax,0 |
Line 384... | Line 324... | ||
384 | jmp still |
324 | jmp still |
Line 385... | Line 325... | ||
385 | 325 | ||
386 | align 4 |
326 | align 4 |
387 | timer_funct: |
327 | timer_funct: |
388 | pushad |
328 | pushad |
389 | mcall 26,9 |
329 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
Line 390... | Line 330... | ||
390 | mov [last_time],eax |
330 | mov [last_time],eax |
391 | 331 | ||
392 | cmp byte[tim_ch],0 |
332 | cmp byte[tim_ch],0 |
Line 422... | Line 362... | ||
422 | mouse: |
362 | mouse: |
423 | stdcall [tl_mouse], tree1 |
363 | stdcall [tl_mouse], tree1 |
424 | stdcall [tl_mouse], tree2 |
364 | stdcall [tl_mouse], tree2 |
Line 425... | Line 365... | ||
425 | 365 | ||
426 | pushad |
366 | pushad |
427 | mcall 37,2 ; ¦ âë¥ ª®¯ª¨ ¬ëè¨ |
367 | mcall SF_MOUSE_GET,SSF_BUTTON |
428 | bt eax,0 ;«¥¢ ï ª®¯ª ¦ â ? |
368 | bt eax,0 ;«¥¢ ï ª®¯ª ¦ â ? |
429 | jc @f |
369 | jc @f |
430 | bt eax,1 ;¯à ¢ ï ª®¯ª ¦ â ? |
370 | bt eax,1 ;¯à ¢ ï ª®¯ª ¦ â ? |
431 | jc @f |
371 | jc @f |
Line 434... | Line 374... | ||
434 | mov [pen_coord_y],eax |
374 | mov [pen_coord_y],eax |
435 | jmp .end_buf_wnd |
375 | jmp .end_buf_wnd |
436 | @@: |
376 | @@: |
437 | mov esi,eax |
377 | mov esi,eax |
Line 438... | Line 378... | ||
438 | 378 | ||
439 | mcall 37,1 ;eax = (x shl 16) + y |
379 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION ;eax = (x shl 16) + y |
440 | cmp ax,word[buf_0.t] |
380 | cmp ax,word[buf_0.t] |
Line 441... | Line 381... | ||
441 | jl .end_buf_wnd ;¥ ¯®¯ «¨ ¢ ®ª® ¡ãä¥à ¯® ®á¨ y |
381 | jl .end_buf_wnd ;¥ ¯®¯ «¨ ¢ ®ª® ¡ãä¥à ¯® ®á¨ y |
442 | 382 | ||
Line 691... | Line 631... | ||
691 | endp |
631 | endp |
Line 692... | Line 632... | ||
692 | 632 | ||
693 | align 4 |
633 | align 4 |
694 | draw_window: |
634 | draw_window: |
695 | pushad |
635 | pushad |
Line 696... | Line 636... | ||
696 | mcall 12,1 |
636 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
697 | - | ||
698 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
- | |
699 | xor eax,eax |
- | |
700 | mov ebx,(20 shl 16)+580 |
637 | |
701 | mov ecx,(20 shl 16)+415 |
638 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
702 | mov edx,[sc.work] |
639 | mov edx,[sc.work] |
703 | or edx,(3 shl 24)+0x10000000+0x20000000 |
640 | or edx,(3 shl 24)+0x10000000+0x20000000 |
Line 704... | Line 641... | ||
704 | mov edi,caption |
641 | mov edi,caption |
705 | int 0x40 |
- | |
706 | - | ||
707 | ; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì *** |
642 | mcall SF_CREATE_WINDOW, (20 shl 16)+580,(20 shl 16)+415 |
708 | mov eax,8 |
- | |
709 | mov ebx,(5 shl 16)+20 |
- | |
710 | mov ecx,(panel_0_coord_top shl 16)+20 |
- | |
Line 711... | Line 643... | ||
711 | mov edx,3 |
643 | |
712 | mov esi,[sc.work_button] |
644 | ; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì *** |
713 | int 0x40 |
645 | mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (panel_0_coord_top shl 16)+20, 3,, [sc.work_button] |
Line 767... | Line 699... | ||
767 | add ebx,25 shl 16 |
699 | add ebx,25 shl 16 |
768 | mov edx,17 ;ᤢ¨£ áå¥¬ë ¢¨§ |
700 | mov edx,17 ;ᤢ¨£ áå¥¬ë ¢¨§ |
769 | int 0x40 |
701 | int 0x40 |
Line 770... | Line 702... | ||
770 | 702 | ||
771 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
- | |
772 | mov eax,7 |
- | |
773 | mov ebx,[image_data_toolbar] |
- | |
774 | mov ecx,(16 shl 16)+16 |
703 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
775 | mov edx,(7 shl 16)+panel_0_coord_top+2 ;icon new |
704 | mov edx,(7 shl 16)+panel_0_coord_top+2 ;icon new |
Line 776... | Line 705... | ||
776 | int 0x40 |
705 | mcall SF_PUT_IMAGE, [image_data_toolbar],(16 shl 16)+16 |
777 | 706 | ||
778 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
707 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
779 | add edx,(25 shl 16) ;icon open |
708 | add edx,(25 shl 16) ;icon open |
Line 828... | Line 757... | ||
828 | stdcall [tl_draw], tree2 |
757 | stdcall [tl_draw], tree2 |
829 | stdcall pole_draw_pok, pole |
758 | stdcall pole_draw_pok, pole |
Line 830... | Line 759... | ||
830 | 759 | ||
831 | ; *** ᮧ¤ ¨¥ ª®¯®ª ãáâ ®¢ª¨ ᨣ «®¢ set_0 ¨ set_1 *** |
760 | ; *** ᮧ¤ ¨¥ ª®¯®ª ãáâ ®¢ª¨ ᨣ «®¢ set_0 ¨ set_1 *** |
832 | mov esi,[sc.work_button] |
761 | mov esi,[sc.work_button] |
Line 833... | Line 762... | ||
833 | mcall 8, (5 shl 16)+20, (panel_1_coord_top shl 16)+20, 20 |
762 | mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (panel_1_coord_top shl 16)+20, 20 |
834 | 763 | ||
835 | add ebx,25 shl 16 |
764 | add ebx,25 shl 16 |
Line 853... | Line 782... | ||
853 | int 0x40 |
782 | int 0x40 |
Line 854... | Line 783... | ||
854 | 783 | ||
855 | mov ecx,[sc.work_text] |
784 | mov ecx,[sc.work_text] |
856 | or ecx,0x80000000 ;or (1 shl 30) |
785 | or ecx,0x80000000 ;or (1 shl 30) |
857 | ;mov edi,[sc.work] |
786 | ;mov edi,[sc.work] |
Line 858... | Line 787... | ||
858 | mcall 4, (12 shl 16)+panel_1_coord_top+6,, txt_set_0 |
787 | mcall SF_DRAW_TEXT, (12 shl 16)+panel_1_coord_top+6,, txt_set_0 |
859 | 788 | ||
860 | add ebx,25 shl 16 |
789 | add ebx,25 shl 16 |
Line 861... | Line 790... | ||
861 | mov edx,txt_set_1 |
790 | mov edx,txt_set_1 |
862 | int 0x40 |
791 | int 0x40 |
863 | 792 | ||
864 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
793 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
Line 865... | Line 794... | ||
865 | mov ebx,[image_data_toolbar] |
794 | mov ebx,[image_data_toolbar] |
866 | add ebx,IMAGE_TOOLBAR_ICON_SIZE*15 |
795 | add ebx,IMAGE_TOOLBAR_ICON_SIZE*15 |
867 | mcall 7,, (16 shl 16)+16, (62 shl 16)+panel_1_coord_top+2 |
796 | mcall SF_PUT_IMAGE,, (16 shl 16)+16, (62 shl 16)+panel_1_coord_top+2 |
Line 878... | Line 807... | ||
878 | add edx,(25 shl 16) |
807 | add edx,(25 shl 16) |
879 | int 0x40 |
808 | int 0x40 |
Line 880... | Line 809... | ||
880 | 809 | ||
881 | ; *** ᮧ¤ ¨¥ ª®¯®ª à¨á®¢ ¨ï ¯à®¢®¤ *** |
810 | ; *** ᮧ¤ ¨¥ ª®¯®ª à¨á®¢ ¨ï ¯à®¢®¤ *** |
882 | mov esi,[sc.work_button] |
811 | mov esi,[sc.work_button] |
Line 883... | Line 812... | ||
883 | mcall 8, (5 shl 16)+20, (panel_2_coord_top shl 16)+20, 30 |
812 | mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (panel_2_coord_top shl 16)+20, 30 |
884 | 813 | ||
885 | add ebx,30 shl 16 |
814 | add ebx,30 shl 16 |
Line 901... | Line 830... | ||
901 | add ebx,25 shl 16 |
830 | add ebx,25 shl 16 |
902 | mov edx,35 |
831 | mov edx,35 |
903 | int 0x40 |
832 | int 0x40 |
Line 904... | Line 833... | ||
904 | 833 | ||
905 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
- | |
906 | mov eax,7 |
834 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
907 | mov ebx,[image_data_toolbar] |
- | |
908 | mov ecx,(16 shl 16)+16 |
- | |
909 | mov edx,(7 shl 16)+panel_2_coord_top+2 ;¨ª®ª áâ५ |
- | |
910 | 835 | mov ebx,[image_data_toolbar] |
|
911 | add ebx,IMAGE_TOOLBAR_ICON_SIZE*19 |
- | |
- | 836 | add ebx,IMAGE_TOOLBAR_ICON_SIZE*19 |
|
Line 912... | Line 837... | ||
912 | int 0x40 |
837 | mcall SF_PUT_IMAGE,, (16 shl 16)+16,(7 shl 16)+panel_2_coord_top+2 ;¨ª®ª áâ५ |
913 | 838 | ||
914 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
839 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
Line 929... | Line 854... | ||
929 | 854 | ||
930 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
855 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
931 | add edx,(25 shl 16) ;icon - § â¨à çª |
856 | add edx,(25 shl 16) ;icon - § â¨à çª |
Line 932... | Line 857... | ||
932 | int 0x40 |
857 | int 0x40 |
933 | 858 | ||
934 | mcall 12,2 |
859 | mcall SF_REDRAW,SSF_END_DRAW |
Line 935... | Line 860... | ||
935 | popad |
860 | popad |
936 | ret |
861 | ret |
937 | 862 | ||
938 | align 4 |
863 | align 4 |
939 | key: |
864 | key: |
940 | mcall 2 |
865 | mcall SF_GET_KEY |
Line 941... | Line 866... | ||
941 | stdcall [tl_key], dword tree1 |
866 | stdcall [tl_key], tree1 |
942 | stdcall [tl_key], dword tree2 |
867 | stdcall [tl_key], tree2 |
943 | jmp still |
868 | jmp still |
944 | 869 | ||
945 | 870 | ||
946 | align 4 |
871 | align 4 |
947 | button: |
872 | button: |
948 | mcall 17 |
873 | mcall SF_GET_BUTTON |
Line 1085... | Line 1010... | ||
1085 | mov dword[tree2.data_img_sys],0 |
1010 | mov dword[tree2.data_img_sys],0 |
1086 | mov dword[tree2.data_img],0 |
1011 | mov dword[tree2.data_img],0 |
1087 | stdcall [tl_data_clear], tree2 |
1012 | stdcall [tl_data_clear], tree2 |
1088 | cmp [cursor_pointer],0 |
1013 | cmp [cursor_pointer],0 |
1089 | je @f |
1014 | je @f |
1090 | mcall 37,6,[cursor_pointer] |
1015 | mcall SF_MOUSE_GET,SSF_DEL_CURSOR,[cursor_pointer] |
1091 | @@: |
1016 | @@: |
1092 | mcall -1 |
1017 | mcall SF_TERMINATE_PROCESS |
Line 1093... | Line 1018... | ||
1093 | 1018 | ||
1094 | ;ᮧ¤ ¨¥ ®¢®© á奬ë |
1019 | ;ᮧ¤ ¨¥ ®¢®© á奬ë |
1095 | align 4 |
1020 | align 4 |
1096 | proc but_new_file uses eax |
1021 | proc but_new_file uses eax |
Line 1130... | Line 1055... | ||
1130 | stdcall [OpenDialog_Start],OpenDialog_data |
1055 | stdcall [OpenDialog_Start],OpenDialog_data |
1131 | cmp [OpenDialog_data.status],1 ;0 - Cancel 1 - Open 2 - Error open dialog |
1056 | cmp [OpenDialog_data.status],1 ;0 - Cancel 1 - Open 2 - Error open dialog |
1132 | jne .end_open_file |
1057 | jne .end_open_file |
1133 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
1058 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
Line 1134... | Line 1059... | ||
1134 | 1059 | ||
1135 | mov [run_file_70.Function], 0 |
1060 | mov [run_file_70.Function], SSF_READ_FILE |
1136 | mov [run_file_70.Position], 0 |
1061 | mov [run_file_70.Position], 0 |
1137 | mov [run_file_70.Flags], 0 |
1062 | mov [run_file_70.Flags], 0 |
1138 | mov dword[run_file_70.Count], open_file_lif.end-open_file_lif |
1063 | mov dword[run_file_70.Count], open_file_lif.end-open_file_lif |
1139 | m2m [run_file_70.Buffer], open_file_lif |
1064 | m2m [run_file_70.Buffer], open_file_lif |
1140 | mov byte[run_file_70+20], 0 |
1065 | mov byte[run_file_70+20], 0 |
1141 | mov dword[run_file_70.FileName], openfile_path |
1066 | mov dword[run_file_70.FileName], openfile_path |
1142 | mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« |
1067 | mcall SF_FILE,run_file_70 ;§ £à㦠¥¬ ä ©« |
1143 | cmp ebx,0xffffffff |
1068 | cmp ebx,0xffffffff |
Line 1144... | Line 1069... | ||
1144 | je .end_open_file |
1069 | je .end_open_file |
1145 | 1070 | ||
1146 | mov dword[f_size],ebx |
1071 | mov dword[f_size],ebx |
1147 | add ebx,open_file_lif |
1072 | add ebx,open_file_lif |
1148 | mov byte[ebx],0 ; á«ãç © ¥á«¨ à ¥¥ ¡ë« ®âªàëâ ä ©« ¡®«ì襣® à §¬¥à ç¨á⨬ ª®¥æ ¡ãä¥à á ä ©«®¬ |
1073 | mov byte[ebx],0 ; á«ãç © ¥á«¨ à ¥¥ ¡ë« ®âªàëâ ä ©« ¡®«ì襣® à §¬¥à ç¨á⨬ ª®¥æ ¡ãä¥à á ä ©«®¬ |
Line 1149... | Line 1074... | ||
1149 | mcall 71,1,openfile_path |
1074 | mcall SF_SET_CAPTION,1,openfile_path |
1150 | ;--- |
1075 | ;--- |
1151 | 1076 | ||
Line 1818... | Line 1743... | ||
1818 | ;*** ®¯à¥¤¥«¥¨¥ ¯ à ¬¥â஢ ä ©« |
1743 | ;*** ®¯à¥¤¥«¥¨¥ ¯ à ¬¥â஢ ä ©« |
1819 | mov edi,open_file_lif |
1744 | mov edi,open_file_lif |
1820 | stdcall str_len,edi |
1745 | stdcall str_len,edi |
Line 1821... | Line 1746... | ||
1821 | 1746 | ||
1822 | ;*** § ¯¨áì ä ©« |
1747 | ;*** § ¯¨áì ä ©« |
1823 | mov [run_file_70.Function], 2 |
1748 | mov [run_file_70.Function], SSF_CREATE_FILE |
1824 | mov [run_file_70.Position], 0 |
1749 | mov [run_file_70.Position], 0 |
1825 | mov [run_file_70.Flags], 0 |
1750 | mov [run_file_70.Flags], 0 |
1826 | mov dword[run_file_70.Count], eax |
1751 | mov dword[run_file_70.Count], eax |
1827 | mov [run_file_70.Buffer], edi |
1752 | mov [run_file_70.Buffer], edi |
1828 | mov byte[run_file_70+20], 0 |
1753 | mov byte[run_file_70+20], 0 |
1829 | mov dword[run_file_70.FileName], openfile_path |
1754 | mov dword[run_file_70.FileName], openfile_path |
Line 1830... | Line 1755... | ||
1830 | mcall 70,run_file_70 ;á®åà 塞 ä ©« |
1755 | mcall SF_FILE,run_file_70 ;á®åà 塞 ä ©« |
1831 | 1756 | ||
1832 | call redraw_pole |
1757 | call redraw_pole |
1833 | .end_save_file: |
1758 | .end_save_file: |
Line 2343... | Line 2268... | ||
2343 | proc but_set_none |
2268 | proc but_set_none |
2344 | mov byte[pen_mode],0 |
2269 | mov byte[pen_mode],0 |
2345 | cmp [cursor_pointer],0 |
2270 | cmp [cursor_pointer],0 |
2346 | je @f |
2271 | je @f |
2347 | push eax ebx ecx |
2272 | push eax ebx ecx |
2348 | mcall 37,6,[cursor_pointer] |
2273 | mcall SF_MOUSE_GET,SSF_DEL_CURSOR,[cursor_pointer] |
2349 | pop ecx ebx eax |
2274 | pop ecx ebx eax |
2350 | @@: |
2275 | @@: |
2351 | ret |
2276 | ret |
2352 | endp |
2277 | endp |
Line 2361... | Line 2286... | ||
2361 | mov edx,[hot_p] |
2286 | mov edx,[hot_p] |
2362 | mov dx,2 ;LOAD_INDIRECT |
2287 | mov dx,2 ;LOAD_INDIRECT |
2363 | mov ecx,[icon] |
2288 | mov ecx,[icon] |
2364 | shl ecx,12 ;㬮¦ ¥¬ 4 ª¡ |
2289 | shl ecx,12 ;㬮¦ ¥¬ 4 ª¡ |
2365 | add ecx,[buf_curs.data] |
2290 | add ecx,[buf_curs.data] |
2366 | mcall 37,4 |
2291 | mcall SF_MOUSE_GET,SSF_LOAD_CURSOR |
Line 2367... | Line 2292... | ||
2367 | 2292 | ||
2368 | cmp eax,0 |
2293 | cmp eax,0 |
2369 | je @f |
2294 | je @f |
2370 | mov [cursor_pointer],eax |
2295 | mov [cursor_pointer],eax |
2371 | mcall 37,5,[cursor_pointer] |
2296 | mcall SF_MOUSE_GET,SSF_SET_CURSOR,[cursor_pointer] |
2372 | @@: |
2297 | @@: |
2373 | ret |
2298 | ret |
Line 2374... | Line 2299... | ||
2374 | endp |
2299 | endp |
Line 2687... | Line 2612... | ||
2687 | call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
2612 | call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
2688 | pop eax |
2613 | pop eax |
2689 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
2614 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
2690 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
2615 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
2691 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
2616 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
2692 | ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
2617 | ret ;¢¥àãâìáï ®ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
Line 2693... | Line 2618... | ||
2693 | 2618 | ||
2694 | align 16 |
2619 | align 16 |
- | 2620 | i_end: |
|
2695 | i_end: |
2621 | run_file_70 FileInfoBlock |
2696 | rb 1024 |
2622 | rb 1024 |
2697 | stacktop: |
2623 | stacktop: |
2698 | sys_path rb 1024 |
2624 | sys_path rb 1024 |
2699 | file_name: |
2625 | file_name: |