Subversion Repositories Kolibri OS

Rev

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

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