Subversion Repositories Kolibri OS

Rev

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

Rev 6022 Rev 6046
Line 11... Line 11...
11
include '../../dll.inc'
11
include '../../dll.inc'
12
include 'lang.inc'
12
include 'lang.inc'
13
include 'info_fun_float.inc'
13
include 'info_fun_float.inc'
14
include 'info_menu.inc'
14
include 'info_menu.inc'
Line 15... Line -...
15
 
-
 
16
offs_zbuf_pbuf equ 24 ;const. from 'zbuffer.inc'
-
 
17
 
15
 
Line 18... Line 16...
18
debug equ 0
16
version_edit equ 1
Line 19... Line 17...
19
 
17
 
20
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
18
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
Line 27... Line 25...
27
	Buffer	 dd ?
25
	Buffer	 dd ?
28
		db ?
26
		db ?
29
	FileName dd ?
27
	FileName dd ?
30
ends
28
ends
Line -... Line 29...
-
 
29
 
-
 
30
ID_ICON_CHUNK_MAIN equ 0 ;¨ª®­ª  £« ¢­®£® ¡«®ª 
-
 
31
ID_ICON_CHUNK_NOT_FOUND equ 1 ;¨ª®­ª  ­¥ ¨§¢¥áâ­®£® ¡«®ª 
-
 
32
ID_ICON_DATA equ 2 ;¨ª®­ª  ¤«ï ¤ ­­ëå ¡«®ª , ­¥ ®¯à¥¤¥«¥­­®© áâàãªâãàë
-
 
33
ID_ICON_POINT equ 8
-
 
34
ID_ICON_POINT_SEL equ 9
-
 
35
 
-
 
36
FILE_ERROR_CHUNK_SIZE equ -3 ;®è¨¡ª  ¢ à §¬¥à¥ ¡«®ª 
-
 
37
 
-
 
38
include 'info_o3d.inc'
31
 
39
 
32
align 4
40
align 4
33
fl255 dd 255.0
41
fl255 dd 255.0
34
image_data dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì, ­ã¦¥­ ¤«ï ¯à¥®¡à §®¢ ­¨ï ¨§®¡à ¦¥­¨ï
42
image_data dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì, ­ã¦¥­ ¤«ï ¯à¥®¡à §®¢ ­¨ï ¨§®¡à ¦¥­¨ï
35
open_file_data dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï ®âªàëâ¨ï ä ©«®¢ 3ds
43
open_file_data dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï ®âªàëâ¨ï ä ©«®¢ 3ds
Line 91... Line 99...
91
include 'data.inc'
99
include 'data.inc'
Line 92... Line 100...
92
 
100
 
93
level_stack dd 0
101
level_stack dd 0
Line 94... Line -...
94
offs_last_timer dd 0 ;¯®á«¥¤­¨© ᤢ¨£ ¯®ª § ­ë© ¢ ä㭪樨 â ©¬¥à 
-
 
95
 
-
 
96
ID_ICON_CHUNK_MAIN equ 0 ;¨ª®­ª  £« ¢­®£® ¡«®ª 
-
 
97
ID_ICON_CHUNK_NOT_FOUND equ 1 ;¨ª®­ª  ­¥ ¨§¢¥áâ­®£® ¡«®ª 
-
 
98
ID_ICON_DATA equ 2 ;¨ª®­ª  ¤«ï ¤ ­­ëå ¡«®ª , ­¥ ®¯à¥¤¥«¥­­®© áâàãªâãàë
-
 
99
ID_ICON_POINT equ 8
-
 
100
ID_ICON_POINT_SEL equ 9
-
 
101
 
-
 
102
FILE_ERROR_CHUNK_SIZE equ -3 ;®è¨¡ª  ¢ à §¬¥à¥ ¡«®ª 
102
offs_last_timer dd 0 ;¯®á«¥¤­¨© ᤢ¨£ ¯®ª § ­ë© ¢ ä㭪樨 â ©¬¥à 
103
 
103
 
104
align 4
104
align 4
105
file_3ds: ;¯¥à¥¬¥­­ë¥ ¨á¯®«ì§ã¥¬ë¥ ¯à¨ ®âªàë⨨ ä ©« 
105
file_3ds: ;¯¥à¥¬¥­­ë¥ ¨á¯®«ì§ã¥¬ë¥ ¯à¨ ®âªàë⨨ ä ©« 
106
.offs: dd 0 ;+0 㪠§ â¥«ì ­  ­ ç «® ¡«®ª 
106
.offs: dd 0 ;+0 㪠§ â¥«ì ­  ­ ç «® ¡«®ª 
Line 589... Line 589...
589
	;mcall 71,1,openfile_path
589
	;mcall 71,1,openfile_path
Line 590... Line 590...
590
 
590
 
591
	mov byte[can_save],0
591
	mov byte[can_save],0
592
	call init_tree
592
	call init_tree
593
	stdcall [buf2d_draw], buf_0 ;®¡­®¢«ï¥¬ ¡ãä¥à ­  íªà ­¥
593
	stdcall [buf2d_draw], buf_0 ;®¡­®¢«ï¥¬ ¡ãä¥à ­  íªà ­¥
594
	call prop_wnd_clear_param ;ç¨á⨬ ¯ à ¬¥âàë ®ª­  á ª®®à¤¨­ â ¬¨
594
	stdcall obj_clear_param, o3d ;ç¨á⨬ ¯ à ¬¥âàë ®ª­  á ª®®à¤¨­ â ¬¨
595
	cmp byte[prop_wnd_run],0
595
	cmp byte[prop_wnd_run],0
596
	je @f
596
	je @f
597
		;ç¨á⨬ ®ª­® á ª®®à¤¨­ â ¬¨
597
		;ç¨á⨬ ®ª­® á ª®®à¤¨­ â ¬¨
598
		stdcall [tl_info_clear], tree3
598
		stdcall [tl_info_clear], tree3
Line 711... Line 711...
711
			xor eax,eax
711
			xor eax,eax
712
			mov ax,[esi]
712
			mov ax,[esi]
713
			shl eax,3
713
			shl eax,3
714
			add esi,2
714
			add esi,2
715
			sub ecx,2
715
			sub ecx,2
716
			stdcall add_3ds_object, ID_ICON_DATA,ebx,eax,0 ;¤ ­­ë¥ ¢¥à設
716
			stdcall add_3ds_object, ID_ICON_DATA,ebx,eax,0 ;¤ ­­ë¥ £à ­¥©
Line 717... Line 717...
717
 
717
 
718
			sub ecx,eax
718
			sub ecx,eax
719
			cmp ecx,1
719
			cmp ecx,1
720
			jl .data_3 ;¯à®¢¥à塞 ¥áâì «¨ ¡«®ª ®¯¨á뢠î騩 ¬ â¥à¨ «, ¯à¨¬¥­ï¥¬ë© ª ®¡ê¥ªâã
720
			jl .data_3 ;¯à®¢¥à塞 ¥áâì «¨ ¡«®ª ®¯¨á뢠î騩 ¬ â¥à¨ «, ¯à¨¬¥­ï¥¬ë© ª ®¡ê¥ªâã
Line 884... Line 884...
884
			rep movsb
884
			rep movsb
885
			mov byte[buffer+size_one_list-1],0 ;0 - ᨬ¢®« ª®­æ  áâப¨
885
			mov byte[buffer+size_one_list-1],0 ;0 - ᨬ¢®« ª®­æ  áâப¨
886
		.no_capt:
886
		.no_capt:
887
		stdcall [tl_node_add], tree1, ebx, buffer
887
		stdcall [tl_node_add], tree1, ebx, buffer
888
		stdcall [tl_cur_next], tree1
888
		stdcall [tl_cur_next], tree1
889
		if debug
-
 
890
			stdcall print_err,sz_add_3ds_object,buffer+list_offs_text
-
 
891
		end if
-
 
892
	popad
-
 
893
	ret
-
 
894
endp
-
 
895
 
-
 
896
if debug
-
 
897
sz_add_3ds_object db 13,10,'3ds_object',0
-
 
898
 
-
 
899
align 4
-
 
900
proc print_err, fun:dword, mes:dword ;¢ë¢®¤¨¬ á®®¡é¥­¨¥ ®¡ 訡ª¥ ­  ¤®áªã ®â« ¤ª¨
-
 
901
	pushad
-
 
902
	mov eax,63
-
 
903
	mov ebx,1
-
 
904
 
-
 
905
	mov esi,[fun]
-
 
906
	@@:
-
 
907
		mov cl,byte[esi]
-
 
908
		int 0x40
-
 
909
		inc esi
-
 
910
		cmp byte[esi],0
-
 
911
		jne @b
-
 
912
	mov cl,':'
-
 
913
	int 0x40
-
 
914
	mov cl,' '
-
 
915
	int 0x40
-
 
916
	mov esi,[mes]
-
 
917
	@@:
-
 
918
		mov cl,byte[esi]
-
 
919
		int 0x40
-
 
920
		inc esi
-
 
921
		cmp byte[esi],0
-
 
922
		jne @b
-
 
923
	popad
889
	popad
924
	ret
890
	ret
925
endp
891
endp
Line 926... Line -...
926
 
-
 
927
end if
-
 
928
 
892
 
929
;input:
893
;input:
930
; eax - value
894
; eax - value
931
; buf - string buffer
895
; buf - string buffer
932
; len - buffer len
896
; len - buffer len
Line 1077... Line 1041...
1077
	notify_window_run txt_not_delete
1041
	notify_window_run txt_not_delete
1078
	.end_f:
1042
	.end_f:
1079
	popad
1043
	popad
1080
	ret
1044
	ret
Line 1081... Line -...
1081
 
-
 
1082
;input:
-
 
1083
; buf - 㪠§ â¥«ì ­  áâபã, ç¨á«® ¤®«¦­® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç­®¬ ¢¨¤¥
-
 
1084
;output:
-
 
1085
; eax - ç¨á«®
-
 
1086
align 4
-
 
1087
proc conv_str_to_int uses ebx ecx esi, buf:dword
-
 
1088
	xor eax,eax
-
 
1089
	xor ebx,ebx
-
 
1090
	mov esi,[buf]
-
 
1091
	;®¯à¥¤¥«¥­¨¥ ®âà¨æ â¥«ì­ëå ç¨á¥«
-
 
1092
	xor ecx,ecx
-
 
1093
	inc ecx
-
 
1094
	cmp byte[esi],'-'
-
 
1095
	jne @f
-
 
1096
		dec ecx
-
 
1097
		inc esi
-
 
1098
	@@:
-
 
1099
 
-
 
1100
	cmp word[esi],'0x'
-
 
1101
	je .load_digit_16
-
 
1102
 
-
 
1103
	.load_digit_10: ;áç¨â뢠­¨¥ 10-â¨ç­ëå æ¨äà
-
 
1104
		mov bl,byte[esi]
-
 
1105
		cmp bl,'0'
-
 
1106
		jl @f
-
 
1107
		cmp bl,'9'
-
 
1108
		jg @f
-
 
1109
			sub bl,'0'
-
 
1110
			imul eax,10
-
 
1111
			add eax,ebx
-
 
1112
			inc esi
-
 
1113
			jmp .load_digit_10
-
 
1114
	jmp @f
-
 
1115
 
-
 
1116
	.load_digit_16: ;áç¨â뢠­¨¥ 16-à¨ç­ëå æ¨äà
-
 
1117
		add esi,2
-
 
1118
	.cycle_16:
-
 
1119
		mov bl,byte[esi]
-
 
1120
		cmp bl,'0'
-
 
1121
		jl @f
-
 
1122
		cmp bl,'f'
-
 
1123
		jg @f
-
 
1124
		cmp bl,'9'
-
 
1125
		jle .us1
-
 
1126
			cmp bl,'A'
-
 
1127
			jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'9' ¨ <'A'
-
 
1128
		.us1: ;á®áâ ¢­®¥ ãá«®¢¨¥
-
 
1129
		cmp bl,'F'
-
 
1130
		jle .us2
-
 
1131
			cmp bl,'a'
-
 
1132
			jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'F' ¨ <'a'
-
 
1133
			sub bl,32 ;¯¥à¥¢®¤¨¬ ᨬ¢®«ë ¢ ¢¥àå­¨© ॣ¨áâà, ¤«ï ã¯à®é¥­¨ï ¨å ¯®á«¥¤ã饩 ®¡à ¡®âª¨
-
 
1134
		.us2: ;á®áâ ¢­®¥ ãá«®¢¨¥
-
 
1135
			sub bl,'0'
-
 
1136
			cmp bl,9
-
 
1137
			jle .cor1
-
 
1138
				sub bl,7 ;convert 'A' to '10'
-
 
1139
			.cor1:
-
 
1140
			shl eax,4
-
 
1141
			add eax,ebx
-
 
1142
			inc esi
-
 
1143
			jmp .cycle_16
-
 
1144
	@@:
-
 
1145
	cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ â¥«ì­®¥
-
 
1146
	jne @f
-
 
1147
		sub ecx,eax
-
 
1148
		mov eax,ecx
-
 
1149
	@@:
-
 
1150
	ret
-
 
1151
endp
-
 
1152
 
1045
 
1153
;¤ ­­ë¥ ¤«ï ¤¨ «®£  ®âªàëâ¨ï ä ©«®¢
1046
;¤ ­­ë¥ ¤«ï ¤¨ «®£  ®âªàëâ¨ï ä ©«®¢
1154
align 4
1047
align 4
1155
OpenDialog_data:
1048
OpenDialog_data:
1156
.type			dd 0 ;0 - ®âªàëâì, 1 - á®åà ­¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î
1049
.type			dd 0 ;0 - ®âªàëâì, 1 - á®åà ­¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î
Line 1489... Line 1382...
1489
	aini_get_str   db 'ini_get_str',0
1382
	aini_get_str   db 'ini_get_str',0
1490
	aini_get_int   db 'ini_get_int',0
1383
	aini_get_int   db 'ini_get_int',0
1491
	aini_get_color db 'ini_get_color',0
1384
	aini_get_color db 'ini_get_color',0
Line 1492... Line 1385...
1492
 
1385
 
1493
align 4
1386
align 4
1494
mouse_dd dd 0x0
1387
mouse_dd dd 0
Line 1495... Line 1388...
1495
last_time dd 0
1388
last_time dd 0
1496
 
1389
 
1497
align 4
1390
align 4
Line 1540... Line 1433...
1540
mat_shininess dd 3.0 ;  §¬¥à ¡«¨ª  (®¡à â­ ï ¯à®¯®àæ¨ï)
1433
mat_shininess dd 3.0 ;  §¬¥à ¡«¨ª  (®¡à â­ ï ¯à®¯®àæ¨ï)
1541
white_light dd 0.8, 0.8, 0.8, 1.0 ; –¢¥â ¨ ¨­â¥­á¨¢­®áâì ®á¢¥é¥­¨ï, £¥­¥à¨à㥬®£® ¨áâ®ç­¨ª®¬
1434
white_light dd 0.8, 0.8, 0.8, 1.0 ; –¢¥â ¨ ¨­â¥­á¨¢­®áâì ®á¢¥é¥­¨ï, £¥­¥à¨à㥬®£® ¨áâ®ç­¨ª®¬
1542
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ;  à ¬¥âàë ä®­®¢®£® ®á¢¥é¥­¨ï
1435
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ;  à ¬¥âàë ä®­®¢®£® ®á¢¥é¥­¨ï
Line 1543... Line 1436...
1543
 
1436
 
1544
if lang eq ru
1437
if lang eq ru
1545
capt db 'info 3ds ¢¥àá¨ï 01.01.16',0 ;¯®¤¯¨áì ®ª­ 
1438
capt db 'info 3ds ¢¥àá¨ï 09.01.16',0 ;¯®¤¯¨áì ®ª­ 
1546
else
1439
else
1547
capt db 'info 3ds version 01.01.16',0 ;window caption
1440
capt db 'info 3ds version 09.01.16',0 ;window caption
Line 1548... Line 1441...
1548
end if
1441
end if
1549
 
1442
 
1550
align 16
1443
align 16
Line 1561... Line 1454...
1561
	color_oz rd 1
1454
	color_oz rd 1
1562
	color_bk rd 3
1455
	color_bk rd 3
1563
	color_vert rd 1
1456
	color_vert rd 1
1564
	color_face rd 1
1457
	color_face rd 1
1565
	color_select rd 1
1458
	color_select rd 1
-
 
1459
	obj_poi_sel_c rd 1
-
 
1460
	o3d obj_3d
1566
	rb 2048
1461
	rb 2048
1567
align 16
1462
align 16
1568
thread_coords:
1463
thread_coords:
1569
	rb 2048
1464
	rb 2048
1570
stacktop:
1465
stacktop: