Subversion Repositories Kolibri OS

Rev

Rev 5388 | Rev 7205 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5388 Rev 6259
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
include '../../../../programs/macros.inc'
6
include '../../../../programs/macros.inc'
13
include '../../../../programs/proc32.inc'
7
include '../../../../programs/proc32.inc'
14
include '../../../../programs/develop/libraries/box_lib/load_lib.mac'
8
include '../../../../programs/KOSfuncs.inc'
15
include '../../../../programs/dll.inc'
9
include '../../../../programs/load_img.inc'
16
include '../trunk/vox_draw.inc'
10
include '../trunk/vox_draw.inc'
17
include '../trunk/vox_rotate.inc'
11
include '../trunk/vox_rotate.inc'
Line 18... Line 12...
18
include '../trunk/str.inc'
12
include '../trunk/str.inc'
19
 
13
 
20
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
-
 
21
caption db 'Voxel mover 29.01.15',0 ;¯®¤¯¨áì ®ª­ 
-
 
22
 
-
 
23
struct FileInfoBlock
-
 
24
	Function dd ?
-
 
25
	Position dd ?
-
 
26
	Flags	 dd ?
-
 
27
	Count	 dd ?
-
 
28
	Buffer	 dd ?
-
 
29
		db ?
-
 
Line 30... Line 14...
30
	FileName dd ?
14
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
31
ends
-
 
Line 32... Line 15...
32
 
15
caption db 'Voxel mover 19.02.16',0 ;¯®¤¯¨áì ®ª­ 
33
run_file_70 FileInfoBlock
-
 
34
image_data dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì. ¤«ï ­ã¦¥­ ¯à¥®¡à §®¢ ­¨ï ¨§®¡à ¦¥­¨ï
16
 
Line 35... Line 17...
35
 
17
run_file_70 FileInfoBlock
36
IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3
18
 
37
IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*18
19
IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3
Line 60... Line 42...
60
key_s_zoom db 's_zoom',0
42
key_s_zoom db 's_zoom',0
61
key_t_size db 'tile_size',0
43
key_t_size db 'tile_size',0
62
key_f_size db 'file_size',0
44
key_f_size db 'file_size',0
63
key_col_b db 'c_background',0
45
key_col_b db 'c_background',0
Line 64... Line -...
64
 
-
 
65
macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨©
-
 
66
	;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥­­®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬
-
 
67
	if path eqtype '' ;¯à®¢¥à塞 § ¤ ­ «¨ áâப®© ¯ à ¬¥âà path
-
 
68
		jmp @f
-
 
69
			local .path_str
-
 
70
			.path_str db path ;ä®à¬¨à㥬 «®ª «ì­ãî ¯¥à¥¬¥­­ãî
-
 
71
			db 0
-
 
72
		@@:
-
 
73
		;32 - áâ ­¤ àâ­ë©  ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥­ ¡ëâì ¡ãä¥à á á¨á⥬­ë¬ ¯ã⥬
-
 
74
		copy_path .path_str,[32],file_name,0x0
-
 
75
	else
-
 
76
		copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
-
 
77
	end if
-
 
78
 
-
 
79
	stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
-
 
80
	mov [buf],eax
-
 
81
 
-
 
82
	mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
-
 
83
	mov [run_file_70.Function], 0
-
 
84
	mov [run_file_70.Position], 0
-
 
85
	mov [run_file_70.Flags], 0
-
 
86
	mov [run_file_70.Count], dword size
-
 
87
	m2m [run_file_70.Buffer], [buf]
-
 
88
	mov byte[run_file_70+20], 0
-
 
89
	mov [run_file_70.FileName], file_name
-
 
90
	mov ebx,run_file_70
-
 
91
	int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
-
 
92
	cmp ebx,0xffffffff
-
 
93
	je @f
-
 
94
		;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
-
 
95
		stdcall dword[img_decode], dword[buf],ebx,0
-
 
96
		mov dword[image_data],eax
-
 
97
		;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
-
 
98
		stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
-
 
99
		;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à image_data
-
 
100
		stdcall dword[img_destroy], dword[image_data]
-
 
101
	@@:
-
 
102
}
-
 
103
 
46
 
104
OT_MAP_X  equ  0
47
OT_MAP_X  equ  0
105
OT_MAP_Y  equ  0
48
OT_MAP_Y  equ  0
106
OT_CAPT_X_COLOR equ  5 ;®âáâ㯠¤«ï ¯®¤¯¨á¨ 梥â 
49
OT_CAPT_X_COLOR equ  5 ;®âáâ㯠¤«ï ¯®¤¯¨á¨ 梥â 
107
OT_CAPT_Y_COLOR equ 30
50
OT_CAPT_Y_COLOR equ 30
Line 114... Line 57...
114
	load_libraries l_libs_start,l_libs_end
57
	load_libraries l_libs_start,l_libs_end
115
	;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ¡¨¡«¨®â¥ª 
58
	;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ¡¨¡«¨®â¥ª 
116
	mov	ebp,lib_2
59
	mov	ebp,lib_2
117
	cmp	dword [ebp+ll_struc_size-4],0
60
	cmp	dword [ebp+ll_struc_size-4],0
118
	jz	@f
61
	jz	@f
119
		mcall -1 ;exit not correct
62
		mcall SF_TERMINATE_PROCESS
120
	@@:
63
	@@:
121
	mcall 48,3,sc,sizeof.system_colors
64
	mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
122
	mcall 40,0x27
65
	mcall SF_SET_EVENTS_MASK,0xC0000027
123
	stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª  ¤¨ «®£ 
66
	stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª  ¤¨ «®£ 
Line 124... Line 67...
124
 
67
 
125
;--- load ini file ---
68
;--- load ini file ---
126
	copy_path ini_name,sys_path,file_name,0
69
	copy_path ini_name,sys_path,file_name,0
Line 172... Line 115...
172
	stdcall [buf2d_create], buf_0z ;ᮧ¤ ­¨¥ ¡ãä¥à  £«ã¡¨­ë
115
	stdcall [buf2d_create], buf_0z ;ᮧ¤ ­¨¥ ¡ãä¥à  £«ã¡¨­ë
173
	stdcall [buf2d_create], buf_pl ;ᮧ¤ ­¨¥ ¡ãä¥à  ¤«ï á¥ç¥­¨ï
116
	stdcall [buf2d_create], buf_pl ;ᮧ¤ ­¨¥ ¡ãä¥à  ¤«ï á¥ç¥­¨ï
Line 174... Line 117...
174
 
117
 
Line 175... Line 118...
175
	stdcall [buf2d_vox_brush_create], buf_vox, vox_6_7_z
118
	stdcall [buf2d_vox_brush_create], buf_vox, vox_6_7_z
Line 176... Line 119...
176
 
119
 
177
	load_image_file 'toolbar_m.png', image_data_toolbar,IMAGE_TOOLBAR_SIZE
120
	load_image_file 'toolbar_m.png', image_data_toolbar
178
 
121
 
179
	stdcall mem.Alloc,[max_open_file_size]
122
	stdcall mem.Alloc,[max_open_file_size]
Line 188... Line 131...
188
red_win:
131
red_win:
189
	call draw_window
132
	call draw_window
Line 190... Line 133...
190
 
133
 
191
align 4
134
align 4
192
still:
135
still:
Line 193... Line 136...
193
	mcall 10
136
	mcall SF_WAIT_EVENT
194
 
137
 
195
	cmp al,1
138
	cmp al,1
196
	jz red_win
139
	jz red_win
197
	cmp al,2
140
	cmp al,2
198
	jz key
141
	jz key
199
	cmp al,3
142
	cmp al,3
200
	jz button
143
	jz button
201
	cmp al,6
144
	cmp al,6
202
	jne @f
145
	jne @f
203
		mcall 9,procinfo,-1
146
		mcall SF_THREAD_INFO,procinfo,-1
204
		cmp ax,word[procinfo+4]
147
		cmp ax,word[procinfo+4]
205
		jne @f ;®ª­® ­¥  ªâ¨¢­®
148
		jne @f ;®ª­® ­¥  ªâ¨¢­®
206
		call mouse
149
		call mouse
Line 207... Line 150...
207
	@@:
150
	@@:
208
	jmp still
151
	jmp still
209
 
152
 
210
align 4
153
align 4
211
mouse:
154
mouse:
212
	pushad
155
	pushad
213
	mcall 37,2
156
	mcall SF_MOUSE_GET,SSF_BUTTON
214
	bt eax,1 ;right button
157
	bt eax,1 ;right button
215
	jnc @f
158
	jnc @f
216
		mcall 37,1 ;get mouse coords
159
		mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
217
		mov ebx,eax
160
		mov ebx,eax
218
		shr ebx,16
161
		shr ebx,16
219
		and eax,0xffff
162
		and eax,0xffff
220
		stdcall get_buf_color, buf_0
163
		stdcall get_buf_color, buf_0
221
		stdcall get_buf_color, buf_pl
164
		stdcall get_buf_color, buf_pl
222
		jmp .end_f
165
		jmp .end_f
223
	@@:
166
	@@:
224
	bt eax,0 ;left button
167
	bt eax,0 ;left button
225
	jnc .end_f
168
	jnc .end_f
226
		mcall 37,1 ;get mouse coords
169
		mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
Line 227... Line 170...
227
		mov ebx,eax
170
		mov ebx,eax
Line 345... Line 288...
345
	ret
288
	ret
Line 346... Line 289...
346
 
289
 
347
align 4
290
align 4
348
draw_window:
291
draw_window:
349
pushad
292
pushad
Line 350... Line 293...
350
	mcall 12,1
293
	mcall SF_REDRAW,SSF_BEGIN_DRAW
351
 
294
 
352
	; *** à¨á®¢ ­¨¥ £« ¢­®£® ®ª­  (¢ë¯®«­ï¥âáï 1 à § ¯à¨ § ¯ã᪥) ***
295
	; *** à¨á®¢ ­¨¥ £« ¢­®£® ®ª­  (¢ë¯®«­ï¥âáï 1 à § ¯à¨ § ¯ã᪥) ***
353
	mov edx,[sc.work]
296
	mov edx,[sc.work]
Line 354... Line 297...
354
	or  edx,(3 shl 24)+0x30000000
297
	or  edx,(3 shl 24)+0x30000000
355
	mcall 0,dword[wnd_s_pos],dword[wnd_s_pos+4],,,caption
298
	mcall SF_CREATE_WINDOW,dword[wnd_s_pos],dword[wnd_s_pos+4],,,caption
356
 
299
 
Line 357... Line 300...
357
	; *** ᮧ¤ ­¨¥ ª­®¯®ª ­  ¯ ­¥«ì ***
300
	; *** ᮧ¤ ­¨¥ ª­®¯®ª ­  ¯ ­¥«ì ***
358
	mov esi,[sc.work_button]
301
	mov esi,[sc.work_button]
359
	mcall 8,(5 shl 16)+20,(5 shl 16)+20,3
302
	mcall SF_DEFINE_BUTTON,(5 shl 16)+20,(5 shl 16)+20,3
360
 
303
 
Line 410... Line 353...
410
	mov edx,20
353
	mov edx,20
411
	int 0x40
354
	int 0x40
Line 412... Line 355...
412
 
355
 
413
	; *** à¨á®¢ ­¨¥ ¨ª®­®ª ­  ª­®¯ª å ***
356
	; *** à¨á®¢ ­¨¥ ¨ª®­®ª ­  ª­®¯ª å ***
414
	mov edx,(7 shl 16)+7 ;icon new
357
	mov edx,(7 shl 16)+7 ;icon new
Line 415... Line 358...
415
	mcall 7,[image_data_toolbar],(16 shl 16)+16
358
	mcall SF_PUT_IMAGE,[image_data_toolbar],(16 shl 16)+16
416
 
359
 
417
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
360
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
418
	add edx,(25 shl 16) ;icon open
361
	add edx,(25 shl 16) ;icon open
Line 469... Line 412...
469
 
412
 
470
	; *** à¨á®¢ ­¨¥ ¡ãä¥à®¢ ***
413
	; *** à¨á®¢ ­¨¥ ¡ãä¥à®¢ ***
471
	call draw_objects
414
	call draw_objects
Line 472... Line 415...
472
	call draw_pok
415
	call draw_pok
473
 
416
 
474
	mcall 12,2
417
	mcall SF_REDRAW,SSF_END_DRAW
Line 475... Line 418...
475
popad
418
popad
476
	ret
419
	ret
477
 
420
 
478
align 4
421
align 4
479
draw_pok:
422
draw_pok:
480
	mov esi,[sc.work_button_text]
423
	mov esi,[sc.work_button_text]
481
	or  esi,(1 shl 30)
424
	or  esi,(1 shl 30)
482
	mov edi,[sc.work_button]
425
	mov edi,[sc.work_button]
483
	mcall 47, (3 shl 16)+(1 shl 31), [v_zoom], ((350+6*9) shl 16)+OT_CAPT_Y_COLOR+2 ;¬ áèâ ¡
426
	mcall SF_DRAW_NUMBER, (3 shl 16)+(1 shl 31), [v_zoom], ((350+6*9) shl 16)+OT_CAPT_Y_COLOR+2 ;¬ áèâ ¡
Line 484... Line 427...
484
	mov ecx,[n_plane]
427
	mov ecx,[n_plane]
Line 515... Line 458...
515
	stdcall str_cat, txt_mov_offs.size,txt_space ;§ ¢¥àè î騩 ¯à®¡¥«
458
	stdcall str_cat, txt_mov_offs.size,txt_space ;§ ¢¥àè î騩 ¯à®¡¥«
Line 516... Line 459...
516
 
459
 
517
	;à¨á®¢ ­¨¥ ⥪áâ 
460
	;à¨á®¢ ­¨¥ ⥪áâ 
518
	mov ecx,[sc.work_text]
461
	mov ecx,[sc.work_text]
519
	or  ecx,0x80000000 ;or (1 shl 30)
462
	or  ecx,0x80000000 ;or (1 shl 30)
Line 520... Line 463...
520
	mcall 4, (OT_CAPT_X_COLOR shl 16)+OT_CAPT_Y_COLOR+2,,txt_color
463
	mcall SF_DRAW_TEXT, (OT_CAPT_X_COLOR shl 16)+OT_CAPT_Y_COLOR+2,,txt_color
521
 
464
 
522
	mov edx,txt_curor
465
	mov edx,txt_curor
523
	add ebx,115 shl 16
466
	add ebx,115 shl 16
Line 543... Line 486...
543
align 4
486
align 4
544
on_change_color:
487
on_change_color:
545
pushad
488
pushad
546
	mov ebx,((OT_CAPT_X_COLOR+35) shl 16)+16 ;¯® ®á¨ x
489
	mov ebx,((OT_CAPT_X_COLOR+35) shl 16)+16 ;¯® ®á¨ x
547
	mov ecx,(OT_CAPT_Y_COLOR shl 16)+12 ;¯® ®á¨ y
490
	mov ecx,(OT_CAPT_Y_COLOR shl 16)+12 ;¯® ®á¨ y
548
	mcall 13,,,[v_color]
491
	mcall SF_DRAW_RECT,,,[v_color]
Line 549... Line 492...
549
 
492
 
550
	mov ecx,edx
493
	mov ecx,edx
551
	mov edx,((OT_CAPT_X_COLOR+55) shl 16)+OT_CAPT_Y_COLOR+2
494
	mov edx,((OT_CAPT_X_COLOR+55) shl 16)+OT_CAPT_Y_COLOR+2
552
	mov esi,[sc.work_text]
495
	mov esi,[sc.work_text]
553
	add esi,(1 shl 30)
496
	add esi,(1 shl 30)
554
	mov edi,[sc.work]
497
	mov edi,[sc.work]
555
	mcall 47,(1 shl 8)+(6 shl 16)
498
	mcall SF_DRAW_NUMBER,(1 shl 8)+(6 shl 16)
556
popad
499
popad
Line 557... Line 500...
557
	ret
500
	ret
558
 
501
 
559
align 4
502
align 4
560
key:
503
key:
Line 561... Line 504...
561
	mcall 2
504
	mcall SF_GET_KEY
562
	jmp still
505
	jmp still
563
 
506
 
564
 
507
 
565
align 4
508
align 4
566
button:
509
button:
567
	mcall 17
510
	mcall SF_GET_BUTTON
568
	cmp ah,3
511
	cmp ah,3
Line 657... Line 600...
657
	@@:
600
	@@:
658
	stdcall [buf2d_vox_brush_delete], buf_vox
601
	stdcall [buf2d_vox_brush_delete], buf_vox
659
	stdcall mem.Free,[image_data_toolbar]
602
	stdcall mem.Free,[image_data_toolbar]
660
	stdcall mem.Free,[open_file_vox]
603
	stdcall mem.Free,[open_file_vox]
661
	stdcall mem.Free,[moved_file_vox]
604
	stdcall mem.Free,[moved_file_vox]
662
	mcall -1
605
	mcall SF_TERMINATE_PROCESS
Line 663... Line 606...
663
 
606
 
664
;¤ ­­ë¥ ¤«ï ¨­¨æ¨ «¨§ æ¨¨ ¢®ªá¥«ì­®£® ®¡ê¥ªâ 
607
;¤ ­­ë¥ ¤«ï ¨­¨æ¨ «¨§ æ¨¨ ¢®ªá¥«ì­®£® ®¡ê¥ªâ 
665
align 4
608
align 4
666
vox_new_data:
609
vox_new_data:
Line 691... Line 634...
691
	stdcall [OpenDialog_Start],OpenDialog_data
634
	stdcall [OpenDialog_Start],OpenDialog_data
692
	cmp [OpenDialog_data.status],2
635
	cmp [OpenDialog_data.status],2
693
	je .end_open_file
636
	je .end_open_file
694
	;ª®¤ ¯à¨ 㤠筮¬ ®âªàë⨨ ¤¨ «®£ 
637
	;ª®¤ ¯à¨ 㤠筮¬ ®âªàë⨨ ¤¨ «®£ 
Line 695... Line -...
695
 
-
 
696
	mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
638
 
697
	mov [run_file_70.Function], 0
639
	mov [run_file_70.Function], SSF_READ_FILE
698
	mov [run_file_70.Position], 0
640
	mov [run_file_70.Position], 0
699
	mov [run_file_70.Flags], 0
641
	mov [run_file_70.Flags], 0
700
	m2m dword[run_file_70.Count], dword[max_open_file_size]
642
	m2m dword[run_file_70.Count], dword[max_open_file_size]
701
	m2m [run_file_70.Buffer], [open_file_vox]
643
	m2m [run_file_70.Buffer], [open_file_vox]
702
	mov byte[run_file_70+20], 0
644
	mov byte[run_file_70+20], 0
703
	mov dword[run_file_70.FileName], openfile_path
645
	mov dword[run_file_70.FileName], openfile_path
704
	mov ebx,run_file_70
-
 
705
	int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
646
	mcall SF_FILE,run_file_70
706
	cmp ebx,0xffffffff
647
	cmp ebx,0xffffffff
Line 707... Line 648...
707
	je .end_open_file
648
	je .end_open_file
708
 
649
 
709
	;add ebx,[open_file_vox]
650
	;add ebx,[open_file_vox]
Line 710... Line 651...
710
	;mov byte[ebx],0 ;­  á«ãç © ¥á«¨ à ­¥¥ ¡ë« ®âªàëâ ä ©« ¡®«ì襣® à §¬¥à  ç¨á⨬ ª®­¥æ ¡ãä¥à  á ä ©«®¬
651
	;mov byte[ebx],0 ;­  á«ãç © ¥á«¨ à ­¥¥ ¡ë« ®âªàëâ ä ©« ¡®«ì襣® à §¬¥à  ç¨á⨬ ª®­¥æ ¡ãä¥à  á ä ©«®¬
711
	mcall 71,1,openfile_path
652
	mcall SF_SET_CAPTION,1,openfile_path
712
 
653
 
713
	;---
654
	;---
Line 737... Line 678...
737
		mov ebx,[moved_file_vox]
678
		mov ebx,[moved_file_vox]
738
		mov byte[ebx],al
679
		mov byte[ebx],al
Line 739... Line 680...
739
 
680
 
740
		stdcall buf2d_vox_obj_get_size, ebx
681
		stdcall buf2d_vox_obj_get_size, ebx
741
		mov dword[run_file_70.Count], eax ;à §¬¥à ä ©« 
-
 
742
		mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
682
		mov dword[run_file_70.Count], eax ;à §¬¥à ä ©« 
743
		mov [run_file_70.Function], 2
683
		mov [run_file_70.Function], SSF_CREATE_FILE
744
		mov [run_file_70.Position], 0
684
		mov [run_file_70.Position], 0
745
		mov [run_file_70.Flags], 0
685
		mov [run_file_70.Flags], 0
746
		mov ebx, dword[moved_file_vox]
686
		mov ebx, dword[moved_file_vox]
747
		mov [run_file_70.Buffer], ebx
687
		mov [run_file_70.Buffer], ebx
748
		mov byte[run_file_70+20], 0
688
		mov byte[run_file_70+20], 0
749
		mov dword[run_file_70.FileName], openfile_path
689
		mov dword[run_file_70.FileName], openfile_path
750
		mov ebx,run_file_70
-
 
751
		int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
690
		mcall SF_FILE,run_file_70
752
		cmp ebx,0xffffffff
691
		cmp ebx,0xffffffff
Line 753... Line 692...
753
		je .end_save_file
692
		je .end_save_file
754
 
693