Subversion Repositories Kolibri OS

Rev

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

Rev 6889 Rev 7610
Line 14... Line 14...
14
include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc'
14
include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc'
15
include 'lang.inc'
15
include 'lang.inc'
16
include 'info_fun_float.inc'
16
include 'info_fun_float.inc'
17
include 'info_menu.inc'
17
include 'info_menu.inc'
18
include 'data.inc'
18
include 'data.inc'
-
 
19
include 'convert_stl_3ds.inc'
Line 19... Line 20...
19
 
20
 
20
3d_wnd_l equ 205 ;®âáâ㯠¤«ï tinygl ¡ãä¥à  á«¥¢ 
21
3d_wnd_l equ 205 ;®âáâ㯠¤«ï tinygl ¡ãä¥à  á«¥¢ 
21
3d_wnd_t equ  47 ;®âáâ㯠¤«ï tinygl ¡ãä¥à  ᢥàåã
22
3d_wnd_t equ  47 ;®âáâ㯠¤«ï tinygl ¡ãä¥à  ᢥàåã
22
3d_wnd_w equ 344
23
3d_wnd_w equ 344
Line 76... Line 77...
76
	;--- copy cmd line ---
77
	;--- copy cmd line ---
77
	mov esi,file_name
78
	mov esi,file_name
78
	mov edi,openfile_path
79
	mov edi,openfile_path
79
@@:
80
@@:
80
	lodsd
81
	lodsd
81
	cmp eax,0
82
	or eax,eax
82
	je @f ;¢ë室, ¥á«¨ 0
83
	jz @f ;¢ë室, ¥á«¨ 0
83
	stosd
84
	stosd
84
	jmp @b
85
	jmp @b
85
@@:
86
@@:
86
	stosd
87
	stosd
Line 128... Line 129...
128
	stdcall [ksubmenu_add], [main_menu_view], eax
129
	stdcall [ksubmenu_add], [main_menu_view], eax
129
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_View, [main_menu_view]
130
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_View, [main_menu_view]
130
	stdcall [ksubmenu_add], [main_menu], eax
131
	stdcall [ksubmenu_add], [main_menu], eax
Line 131... Line 132...
131
 
132
 
132
	mov dword[w_scr_t1.type],1
133
	mov dword[w_scr_t1.type],1
133
	stdcall dword[tl_data_init], tree1
134
	stdcall [tl_data_init], tree1
134
	;á¨á⥬­ë¥ ¨ª®­ª¨ 16*16 ¤«ï tree_list
135
	;á¨á⥬­ë¥ ¨ª®­ª¨ 16*16 ¤«ï tree_list
135
	load_image_file 'tl_sys_16.png', icon_tl_sys
136
	include_image_file 'tl_sys_16.png', icon_tl_sys
136
	;¥á«¨ ¨§®¡à ¦¥­¨¥ ­¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ
137
	;¥á«¨ ¨§®¡à ¦¥­¨¥ ­¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ
137
	;­¥ ¨­¨æ¨ «¨§¨à®¢ ­­ë¥ ¤ ­­ë¥, ­® ®è¨¡ª¨ ­¥ ¡ã¤¥â, â. ª. ¡ãä¥à ­ã¦­®£® à §¬¥à 
138
	;­¥ ¨­¨æ¨ «¨§¨à®¢ ­­ë¥ ¤ ­­ë¥, ­® ®è¨¡ª¨ ­¥ ¡ã¤¥â, â. ª. ¡ãä¥à ­ã¦­®£® à §¬¥à 
138
	mov eax,dword[icon_tl_sys]
139
	mov eax,dword[icon_tl_sys]
Line 250... Line 251...
250
	jge @f
251
	jge @f
251
		mov ebx,eax
252
		mov ebx,eax
252
	@@:
253
	@@:
253
	sub ebx,eax
254
	sub ebx,eax
254
	mcall SF_WAIT_EVENT_TIMEOUT
255
	mcall SF_WAIT_EVENT_TIMEOUT
255
	cmp eax,0
256
	or eax,eax
256
	je timer_funct
257
	jz timer_funct
Line 257... Line 258...
257
 
258
 
258
	cmp al,1
259
	cmp al,1
259
	jne @f
260
	jne @f
260
		call draw_window
261
		call draw_window
Line 282... Line 283...
282
		;mouse l. but. move
283
		;mouse l. but. move
283
		cmp dword[mouse_drag],1
284
		cmp dword[mouse_drag],1
284
		jne .end_m
285
		jne .end_m
Line 285... Line 286...
285
 
286
 
286
		stdcall [tl_node_get_data],tree1
287
		stdcall [tl_node_get_data],tree1
287
		cmp eax,0
288
		or eax,eax
288
		je .end_d
289
		jz .end_d
289
			mov ebx,dword[eax]
290
			mov ebx,dword[eax]
290
			add ebx,dword[open_file_data] ;¯®«ãç ¥¬ §­ ç¥­¨¥ ᤢ¨£  ¢ ¯ ¬ïâ¨
291
			add ebx,dword[open_file_data] ;¯®«ãç ¥¬ §­ ç¥­¨¥ ᤢ¨£  ¢ ¯ ¬ïâ¨
291
			cmp word[ebx],CHUNK_OBJBLOCK
292
			cmp word[ebx],CHUNK_OBJBLOCK
Line 373... Line 374...
373
	mcall SF_SYSTEM_GET,SSF_TIME_COUNT
374
	mcall SF_SYSTEM_GET,SSF_TIME_COUNT
374
	mov [last_time],eax
375
	mov [last_time],eax
Line 375... Line 376...
375
 
376
 
376
	;¯à®á¬ âਢ ¥¬ ¢ë¤¥«¥­­ë© ¡«®ª ¤ ­­ëå
377
	;¯à®á¬ âਢ ¥¬ ¢ë¤¥«¥­­ë© ¡«®ª ¤ ­­ëå
377
	stdcall [tl_node_get_data],tree1
378
	stdcall [tl_node_get_data],tree1
378
	cmp eax,0
379
	or eax,eax
379
	je .end_f
380
	jz .end_f
380
		mov edi,eax
381
		mov edi,eax
381
		add edi,list_offs_obj3d
382
		add edi,list_offs_obj3d
382
		mov ebx,eax
383
		mov ebx,eax
383
		mov eax,dword[ebx]
384
		mov eax,dword[ebx]
Line 420... Line 421...
420
			.end_mblo:
421
			.end_mblo:
Line 421... Line 422...
421
 
422
 
422
			stdcall buf_draw_beg, buf_ogl
423
			stdcall buf_draw_beg, buf_ogl
423
			stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_3ds_offs,5,35,0xb000
424
			stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_3ds_offs,5,35,0xb000
424
			mov edx,dword[ebx+list_offs_p_data]
425
			mov edx,dword[ebx+list_offs_p_data]
425
			cmp edx,0 ;ᬮâਬ ¥áâì «¨ ®¯¨á ­¨¥ ¡«®ª 
426
			or edx,edx ;ᬮâਬ ¥áâì «¨ ®¯¨á ­¨¥ ¡«®ª 
426
			je .no_info
427
			jz .no_info
427
				stdcall [buf2d_draw_text], buf_ogl, buf_1,edx,5,45,0xb000
428
				stdcall [buf2d_draw_text], buf_ogl, buf_1,edx,5,45,0xb000
428
			.no_info:
429
			.no_info:
429
			stdcall [buf2d_draw], buf_ogl ;®¡­®¢«ï¥¬ ¡ãä¥à ­  íªà ­¥
430
			stdcall [buf2d_draw], buf_ogl ;®¡­®¢«ï¥¬ ¡ãä¥à ­  íªà ­¥
430
	.end_f:
431
	.end_f:
Line 506... Line 507...
506
	jne @f
507
	jne @f
507
		fld dword[angle_x]
508
		fld dword[angle_x]
508
		fadd dword[delt_size]
509
		fadd dword[delt_size]
509
		fstp dword[angle_x]
510
		fstp dword[angle_x]
510
		stdcall [tl_node_get_data],tree1
511
		stdcall [tl_node_get_data],tree1
511
		cmp eax,0
512
		or eax,eax
512
		je .end
513
		jz .end
513
		add eax,list_offs_obj3d
514
		add eax,list_offs_obj3d
514
		stdcall draw_3d, eax
515
		stdcall draw_3d, eax
515
		jmp .end
516
		jmp .end
516
	@@:
517
	@@:
517
	cmp ah,177 ;Down
518
	cmp ah,177 ;Down
518
	jne @f
519
	jne @f
519
		fld dword[angle_x]
520
		fld dword[angle_x]
520
		fsub dword[delt_size]
521
		fsub dword[delt_size]
521
		fstp dword[angle_x]
522
		fstp dword[angle_x]
522
		stdcall [tl_node_get_data],tree1
523
		stdcall [tl_node_get_data],tree1
523
		cmp eax,0
524
		or eax,eax
524
		je .end
525
		jz .end
525
		add eax,list_offs_obj3d
526
		add eax,list_offs_obj3d
526
		stdcall draw_3d, eax
527
		stdcall draw_3d, eax
527
		jmp .end
528
		jmp .end
528
	@@:
529
	@@:
529
	cmp ah,176 ;Left
530
	cmp ah,176 ;Left
530
	jne @f
531
	jne @f
531
		fld dword[angle_y]
532
		fld dword[angle_y]
532
		fadd dword[delt_size]
533
		fadd dword[delt_size]
533
		fstp dword[angle_y]
534
		fstp dword[angle_y]
534
		stdcall [tl_node_get_data],tree1
535
		stdcall [tl_node_get_data],tree1
535
		cmp eax,0
536
		or eax,eax
536
		je .end
537
		jz .end
537
		add eax,list_offs_obj3d
538
		add eax,list_offs_obj3d
538
		stdcall draw_3d, eax
539
		stdcall draw_3d, eax
539
		jmp .end
540
		jmp .end
540
	@@:
541
	@@:
541
	cmp ah,179 ;Right
542
	cmp ah,179 ;Right
542
	jne @f
543
	jne @f
543
		fld dword[angle_y]
544
		fld dword[angle_y]
544
		fsub dword[delt_size]
545
		fsub dword[delt_size]
545
		fstp dword[angle_y]
546
		fstp dword[angle_y]
546
		stdcall [tl_node_get_data],tree1
547
		stdcall [tl_node_get_data],tree1
547
		cmp eax,0
548
		or eax,eax
548
		je .end
549
		jz .end
549
		add eax,list_offs_obj3d
550
		add eax,list_offs_obj3d
550
		stdcall draw_3d, eax
551
		stdcall draw_3d, eax
551
		;jmp .end
552
		;jmp .end
552
	@@:
553
	@@:
Line 625... Line 626...
625
 
626
 
626
 
627
 
627
align 4
628
align 4
628
but_new_file:
629
but_new_file:
629
push eax ebx
630
push eax ebx
630
	stdcall dword[tl_node_poi_get_info], tree1,0
631
	stdcall [tl_node_poi_get_info], tree1,0
631
	@@:
632
	@@:
632
		cmp eax,0
633
		or eax,eax
633
		je @f
634
		jz @f
634
		mov ebx,eax
635
		mov ebx,eax
635
		stdcall [tl_node_poi_get_data], tree1,ebx
636
		stdcall [tl_node_poi_get_data], tree1,ebx
636
		add eax,list_offs_obj3d
637
		add eax,list_offs_obj3d
637
		stdcall obj_clear_param, eax
638
		stdcall obj_clear_param, eax
638
		stdcall dword[tl_node_poi_get_next_info], tree1,ebx
639
		stdcall [tl_node_poi_get_next_info], tree1,ebx
639
		cmp eax,0
640
		or eax,eax
640
		jne @b
641
		jnz @b
641
	@@:
642
	@@:
642
pop ebx eax
643
pop ebx eax
643
	stdcall [tl_info_clear], tree1 ;®ç¨á⪠ ᯨ᪠ ®¡ê¥ªâ®¢
644
	stdcall [tl_info_clear], tree1 ;®ç¨á⪠ ᯨ᪠ ®¡ê¥ªâ®¢
Line 692... Line 693...
692
	ret
693
	ret
Line 693... Line 694...
693
 
694
 
694
align 4
695
align 4
695
init_tree:
696
init_tree:
696
	;ç¨á⨬ ¯ ¬ïâì § ­ïâãî ®¡ê¥ªâ ¬¨
697
	;ç¨á⨬ ¯ ¬ïâì § ­ïâãî ®¡ê¥ªâ ¬¨
697
	stdcall dword[tl_node_poi_get_info], tree1,0
698
	stdcall [tl_node_poi_get_info], tree1,0
698
	@@:
699
	@@:
699
		cmp eax,0
700
		or eax,eax
700
		je @f
701
		jz @f
701
		mov ebx,eax
702
		mov ebx,eax
702
		stdcall [tl_node_poi_get_data], tree1,ebx
703
		stdcall [tl_node_poi_get_data], tree1,ebx
703
		cmp eax,0
704
		or eax,eax
704
		je @f
705
		jz @f
705
			add eax,list_offs_obj3d
706
			add eax,list_offs_obj3d
706
			stdcall obj_clear_param, eax
707
			stdcall obj_clear_param, eax
707
			stdcall dword[tl_node_poi_get_next_info], tree1,ebx
708
			stdcall [tl_node_poi_get_next_info], tree1,ebx
708
			cmp eax,0
709
			or eax,eax
709
			jne @b
710
			jnz @b
710
	@@:
711
	@@:
Line 711... Line 712...
711
	stdcall [tl_info_clear], tree1 ;®ç¨á⪠ ᯨ᪠ ®¡ê¥ªâ®¢
712
	stdcall [tl_info_clear], tree1 ;®ç¨á⪠ ᯨ᪠ ®¡ê¥ªâ®¢
-
 
713
 
-
 
714
	mov esi,[open_file_data]
-
 
715
	stdcall convert_stl_3ds, esi,[open_file_size] ;¯à®¢¥à塞 ä ©« ä®à¬ â  *.stl ?
-
 
716
	or eax,eax
-
 
717
	jz @f
-
 
718
		;¥á«¨ ä ©« ¢ ä®à¬ â¥ *.stl
-
 
719
		mov [open_file_size],ecx
-
 
720
		mov esi,eax
-
 
721
		stdcall mem.Free,[open_file_data]
-
 
722
		mov [open_file_data],esi
712
 
723
		mov byte[can_save],1
713
	mov esi,dword[open_file_data]
724
	@@:
-
 
725
	cmp word[esi],CHUNK_MAIN
-
 
726
	je @f
-
 
727
		mov eax,[esi]
714
	cmp word[esi],CHUNK_MAIN
728
		bswap eax
715
	je @f
729
		stdcall hex_in_str, txt_no_3ds.zag, eax,8
716
		stdcall buf_draw_beg, buf_ogl
730
		stdcall buf_draw_beg, buf_ogl
717
		stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_no_3ds,5,25,0xff0000 ;à¨á㥬 áâபã á ⥪á⮬
731
		stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_no_3ds,5,25,0xff0000 ;à¨á㥬 áâபã á ⥪á⮬
718
		jmp .end_open
732
		jmp .end_open
Line 723... Line 737...
723
	mov dword[offs_last_timer],0
737
	mov dword[offs_last_timer],0
724
	;--- ¤®¡ ¢«¥­¨¥ £« ¢­®£® ¡«®ª  ¢ ᯨ᮪
738
	;--- ¤®¡ ¢«¥­¨¥ £« ¢­®£® ¡«®ª  ¢ ᯨ᮪
725
	stdcall add_3ds_object, ID_ICON_CHUNK_MAIN,0,dword[esi+2],0
739
	stdcall add_3ds_object, ID_ICON_CHUNK_MAIN,0,dword[esi+2],0
726
	call block_children ;¢å®¤ ¢ ¤®ç¥à­¨© ¡«®ª
740
	call block_children ;¢å®¤ ¢ ¤®ç¥à­¨© ¡«®ª
Line 727... Line 741...
727
 
741
 
728
	mov edi,dword[file_3ds.offs]
742
	mov edi,[file_3ds.offs]
729
	add edi,dword[file_3ds.size]
743
	add edi,[file_3ds.size]
730
	.cycle_main:
744
	.cycle_main:
731
		cmp dword[level_stack],0
745
		cmp dword[level_stack],0
Line 732... Line 746...
732
		jle .end_cycle
746
		jle .end_cycle
733
		
747
		
Line 734... Line 748...
734
		cmp esi,edi ;¥á«¨ ª®­¥æ ä ©« 
748
		cmp esi,edi ;¥á«¨ ª®­¥æ ä ©« 
735
		jge .end_cycle
749
		jge .end_cycle
736
 
750
 
737
		mov edx,dword[esi+2] ;à §¬¥à ¡«®ª 
751
		mov edx,[esi+2] ;à §¬¥à ¡«®ª 
738
		call block_analiz
752
		call block_analiz
739
		cmp word[esi],CHUNK_MATERIAL
753
		cmp word[esi],CHUNK_MATERIAL
Line 794... Line 808...
794
;output:
808
;output:
795
; eax - new stack pointer
809
; eax - new stack pointer
796
; esi - new memory pointer
810
; esi - new memory pointer
797
align 4
811
align 4
798
proc block_analiz_data uses ebx ecx edx edi
812
proc block_analiz_data uses ebx ecx edx edi
799
	mov dx,word[esi]
813
	mov dx,[esi]
800
	mov ecx,dword[esi+2]
814
	mov ecx,[esi+2]
801
	sub ecx,6 ;à §¬¥à ¤ ­­ëå ¢ ¡«®ª¥
815
	sub ecx,6 ;à §¬¥à ¤ ­­ëå ¢ ¡«®ª¥
802
	add esi,6
816
	add esi,6
803
	mov ebx,dword[level_stack]
817
	mov ebx,dword[level_stack]
804
	inc ebx
818
	inc ebx
805
	; ***  ­ «¨§ ¡«®ª®¢ á à §­ë¬¨ ¤ ­­ë¬¨ ¨ ¢ë¤¥«¥­¨¥¬ ¯®¤¡«®ª®¢
819
	; ***  ­ «¨§ ¡«®ª®¢ á à §­ë¬¨ ¤ ­­ë¬¨ ¨ ¢ë¤¥«¥­¨¥¬ ¯®¤¡«®ª®¢
Line 900... Line 914...
900
; esi - ­ ç «® ¤ ­­ëå த¨â¥«ì᪮£® ¡«®ª 
914
; esi - ­ ç «® ¤ ­­ëå த¨â¥«ì᪮£® ¡«®ª 
901
align 4
915
align 4
902
block_children:
916
block_children:
903
	push ecx
917
	push ecx
904
		;¯à®¢¥àª  ¯à ¢¨«ì­®á⨠ࠧ¬¥à®¢ ¤®ç¥à­¥£® ¡«®ª 
918
		;¯à®¢¥àª  ¯à ¢¨«ì­®á⨠ࠧ¬¥à®¢ ¤®ç¥à­¥£® ¡«®ª 
905
		mov ebx,esi
-
 
906
		add ebx,6 ;¯¥à¥å®¤ ­  ­ ç «® ¤®ç¥à­¥£® ¡«®ª 
919
		lea ebx,[esi+6] ;¯¥à¥å®¤ ­  ­ ç «® ¤®ç¥à­¥£® ¡«®ª 
907
		add ebx,dword[ebx+2] ;¤®¡ ¢«ï¥¬ à §¬¥à ¤®ç¥à­¥£® ¡«®ª 
920
		add ebx,[ebx+2] ;¤®¡ ¢«ï¥¬ à §¬¥à ¤®ç¥à­¥£® ¡«®ª 
908
		mov ecx,esi
921
		mov ecx,esi
909
		add ecx,dword[esi+2] ;¤®¡ ¢«ï¥¬ à §¬¥à த¨â¥«ì᪮£® ¡«®ª 
922
		add ecx,[esi+2] ;¤®¡ ¢«ï¥¬ à §¬¥à த¨â¥«ì᪮£® ¡«®ª 
910
		cmp ebx,ecx ;ãç¨â뢠âì § £®«®¢ª¨ ­¥ ­ã¦­®, â. ª. áà ¢­¨¢ îâáï ⮫쪮 ¤ ­­ë¥ ¡«®ª®¢
923
		cmp ebx,ecx ;ãç¨â뢠âì § £®«®¢ª¨ ­¥ ­ã¦­®, â. ª. áà ¢­¨¢ îâáï ⮫쪮 ¤ ­­ë¥ ¡«®ª®¢
911
		jle @f
924
		jle @f
912
			;¤¨ £­®áâ¨à®¢ «¨ ®è¨¡ªã ä ©« , ¤®ç¥à­¨© ¡«®ª ¢ë室¨â §  ¯à¥¤¥«ë த¨â¥«ì᪮£®
925
			;¤¨ £­®áâ¨à®¢ «¨ ®è¨¡ªã ä ©« , ¤®ç¥à­¨© ¡«®ª ¢ë室¨â §  ¯à¥¤¥«ë த¨â¥«ì᪮£®
913
			mov dword[level_stack],FILE_ERROR_CHUNK_SIZE
926
			mov dword[level_stack],FILE_ERROR_CHUNK_SIZE
914
			jmp .end_f
927
			jmp .end_f
915
		@@:
928
		@@:
916
		mov dword[eax],esi ;㪠§ â¥«ì ­  ­ ç «® ¡«®ª 
929
		mov [eax],esi ;㪠§ â¥«ì ­  ­ ç «® ¡«®ª 
917
		mov ebx,dword[esi+2]
930
		mov ebx,[esi+2]
918
		mov dword[eax+4],ebx ;à §¬¥à ¡«®ª 
931
		mov [eax+4],ebx ;à §¬¥à ¡«®ª 
919
		add esi,6 ;¯¥à¥å®¤¨¬ ª ¤ ­­ë¬ ¡«®ª 
932
		add esi,6 ;¯¥à¥å®¤¨¬ ª ¤ ­­ë¬ ¡«®ª 
920
		inc dword[level_stack]
933
		inc dword[level_stack]
921
		add eax,8
934
		add eax,8
922
	.end_f:
935
	.end_f:
923
	pop ecx
936
	pop ecx
Line 970... Line 983...
970
popad
983
popad
971
	ret
984
	ret
Line 972... Line 985...
972
 
985
 
973
;input:
986
;input:
-
 
987
; esi - 㪠§ â¥«ì ­   ­ «¨§¨àã¥¬ë¥ ¤ ­­ë¥
974
; esi - 㪠§ â¥«ì ­   ­ «¨§¨àã¥¬ë¥ ¤ ­­ë¥
988
; icon - ­®¬¥à ¨ª®­ª¨
975
; level - ã஢¥­ì ¢«®¦¥­­®á⨠㧫 
989
; level - ã஢¥­ì ¢«®¦¥­­®á⨠㧫 
-
 
990
; size_bl - à §¬¥à ¡«®ª 
976
; size_bl - à §¬¥à ¡«®ª 
991
; info_bl - áâப  á ®¯¨á ­¨¥¬ ¡«®ª 
977
align 4
992
align 4
978
proc add_3ds_object, icon:dword,level:dword,size_bl:dword,info_bl:dword
993
proc add_3ds_object, icon:dword, level:dword, size_bl:dword, info_bl:dword
979
	pushad
994
	pushad
980
		mov bx,word[icon]
995
		mov bx,word[icon]
Line 985... Line 1000...
985
		sub eax,dword[open_file_data]
1000
		sub eax,dword[open_file_data]
986
		mov dword[buffer],eax ;ᬥ饭¨¥ ¡«®ª 
1001
		mov dword[buffer],eax ;ᬥ饭¨¥ ¡«®ª 
987
		mov ecx,dword[size_bl]
1002
		mov ecx,dword[size_bl]
988
		mov dword[buffer+4],ecx ;à §¬¥à ¡«®ª  (¨á¯®«ì§ã¥âáï ¢ ä㭪樨 buf_draw_hex_table ¤«ï à¨á®¢ ­¨ï «¨­¨¨)
1003
		mov dword[buffer+4],ecx ;à §¬¥à ¡«®ª  (¨á¯®«ì§ã¥âáï ¢ ä㭪樨 buf_draw_hex_table ¤«ï à¨á®¢ ­¨ï «¨­¨¨)
989
		mov ecx,dword[bl_found]
1004
		mov ecx,dword[bl_found]
990
		cmp ecx,0
1005
		or ecx,ecx
991
		je @f
1006
		jz @f
992
			;... §¤¥áì ­ã¦¥­ ¤à㣮©  «£®à¨â¬ § é¨âë ®â 㤠«¥­¨ï
1007
			;... §¤¥áì ­ã¦¥­ ¤à㣮©  «£®à¨â¬ § é¨âë ®â 㤠«¥­¨ï
993
			mov cl,byte[ecx+4]
1008
			mov cl,byte[ecx+4]
994
		@@:
1009
		@@:
995
		mov byte[buffer+list_offs_chunk_del],cl
1010
		mov byte[buffer+list_offs_chunk_del],cl
996
		mov ecx,[level]
1011
		mov ecx,[level]
997
		mov byte[buffer+list_offs_chunk_lev],cl
1012
		mov byte[buffer+list_offs_chunk_lev],cl
998
		mov ecx,dword[info_bl]
1013
		mov ecx,dword[info_bl]
999
		mov dword[buffer+list_offs_p_data],ecx
1014
		mov dword[buffer+list_offs_p_data],ecx
1000
		stdcall hex_in_str, buffer+list_offs_text,dword[esi+1],2
1015
		stdcall hex_in_str, buffer+list_offs_text,dword[esi+1],2
1001
		stdcall hex_in_str, buffer+list_offs_text+2,dword[esi],2 ;ª®¤ 3ds ¡«®ª 
1016
		stdcall hex_in_str, buffer+list_offs_text+2,dword[esi],2 ;ª®¤ 3ds ¡«®ª 
1002
		cmp ecx,0
1017
		or ecx,ecx
1003
		jne @f
1018
		jnz @f
1004
			mov byte[buffer+list_offs_text+4],0 ;0 - ᨬ¢®« ª®­æ  áâப¨
1019
			mov byte[buffer+list_offs_text+4],0 ;0 - ᨬ¢®« ª®­æ  áâப¨
1005
			jmp .no_capt
1020
			jmp .no_capt
1006
		@@:
1021
		@@:
1007
			mov byte[buffer+list_offs_text+4],' '
1022
			mov byte[buffer+list_offs_text+4],' '
1008
			mov esi,ecx
1023
			mov esi,ecx
Line 1040... Line 1055...
1040
	ret
1055
	ret
1041
endp
1056
endp
Line 1042... Line 1057...
1042
 
1057
 
1043
align 4
1058
align 4
1044
.str:
1059
.str:
1045
	mov ecx,0x0a
1060
	mov ecx,10
1046
	cmp eax,ecx
1061
	cmp eax,ecx
1047
	jb @f
1062
	jb @f
1048
		xor edx,edx
1063
		xor edx,edx
1049
		div ecx
1064
		div ecx
Line 1092... Line 1107...
1092
 
1107
 
1093
Filter:
1108
Filter:
1094
dd Filter.end - Filter.1
1109
dd Filter.end - Filter.1
1095
.1:
1110
.1:
-
 
1111
db '3DS',0
1096
db '3DS',0
1112
db 'STL',0
1097
db 'PNG',0
1113
db 'PNG',0
1098
.end:
1114
.end:
Line 1115... Line 1131...
1115
system_dir_6 db '/sys/lib/'
1131
system_dir_6 db '/sys/lib/'
1116
lib_name_6 db 'libini.obj',0
1132
lib_name_6 db 'libini.obj',0
Line 1117... Line 1133...
1117
 
1133
 
1118
if lang eq ru
1134
if lang eq ru
1119
	head_f_i:
1135
	head_f_i:
1120
	head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
1136
	head_f_l db '"‘¨á⥬­ ï ®è¨¡ª ',0
1121
	err_msg_found_lib_0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'proc_lib.obj',39,0
1137
	err_msg_found_lib_0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'proc_lib.obj',39,'" -tE',0
1122
	err_msg_import_0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0
1138
	err_msg_import_0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,'" -tW',0
1123
	err_msg_found_lib_1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libimg.obj',39,0
1139
	err_msg_found_lib_1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libimg.obj',39,'" -tE',0
1124
	err_msg_import_1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,0
1140
	err_msg_import_1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,'" -tW',0
1125
	err_msg_found_lib_2 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'box_lib.obj',39,0
1141
	err_msg_found_lib_2 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'box_lib.obj',39,'" -tE',0
1126
	err_msg_import_2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0
1142
	err_msg_import_2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,'" -tW',0
1127
	err_msg_found_lib_3 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'buf2d.obj',39,0
1143
	err_msg_found_lib_3 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'buf2d.obj',39,'" -tE',0
1128
	err_msg_import_3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'buf2d',39,0
1144
	err_msg_import_3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'buf2d',39,'" -tW',0
1129
	err_msg_found_lib_4 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'kmenu.obj',39,0
1145
	err_msg_found_lib_4 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'kmenu.obj',39,'" -tE',0
1130
	err_msg_import_4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,0
1146
	err_msg_import_4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,'" -tW',0
1131
	err_msg_found_lib_5 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'tinygl.obj',39,0
1147
	err_msg_found_lib_5 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'tinygl.obj',39,'" -tE',0
1132
	err_msg_import_5 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'tinygl',39,0
1148
	err_msg_import_5 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'tinygl',39,'" -tW',0
1133
	err_msg_found_lib_6 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libini.obj',39,0
1149
	err_msg_found_lib_6 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libini.obj',39,'" -tE',0
1134
	err_msg_import_6 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libini',39,0
1150
	err_msg_import_6 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libini',39,'" -tW',0
1135
else
1151
else
1136
	head_f_i:
1152
	head_f_i:
1137
	head_f_l db 'System error',0
1153
	head_f_l db '"System error',0
1138
	err_msg_found_lib_0 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0
1154
	err_msg_found_lib_0 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,'" -tE',0
1139
	err_msg_import_0 db 'Error on load import library ',39,'proc_lib.obj',39,0
1155
	err_msg_import_0 db 'Error on load import library ',39,'proc_lib.obj',39,'" -tW',0
1140
	err_msg_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
1156
	err_msg_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,'" -tE',0
1141
	err_msg_import_1 db 'Error on load import library ',39,'libimg.obj',39,0
1157
	err_msg_import_1 db 'Error on load import library ',39,'libimg.obj',39,'" -tW',0
1142
	err_msg_found_lib_2 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
1158
	err_msg_found_lib_2 db 'Sorry I cannot found library ',39,'box_lib.obj',39,'" -tE',0
1143
	err_msg_import_2 db 'Error on load import library ',39,'box_lib.obj',39,0
1159
	err_msg_import_2 db 'Error on load import library ',39,'box_lib.obj',39,'" -tW',0
1144
	err_msg_found_lib_3 db 'Sorry I cannot found library ',39,'buf2d.obj',39,0
1160
	err_msg_found_lib_3 db 'Sorry I cannot found library ',39,'buf2d.obj',39,'" -tE',0
1145
	err_msg_import_3 db 'Error on load import library ',39,'buf2d.obj',39,0
1161
	err_msg_import_3 db 'Error on load import library ',39,'buf2d.obj',39,'" -tW',0
1146
	err_msg_found_lib_4 db 'Sorry I cannot found library ',39,'kmenu.obj',39,0
1162
	err_msg_found_lib_4 db 'Sorry I cannot found library ',39,'kmenu.obj',39,'" -tE',0
1147
	err_msg_import_4 db 'Error on load import library ',39,'kmenu.obj',39,0
1163
	err_msg_import_4 db 'Error on load import library ',39,'kmenu.obj',39,'" -tW',0
1148
	err_msg_found_lib_5 db 'Sorry I cannot found library ',39,'tinygl.obj',39,0
1164
	err_msg_found_lib_5 db 'Sorry I cannot found library ',39,'tinygl.obj',39,'" -tE',0
1149
	err_msg_import_5 db 'Error on load import library ',39,'tinygl',39,0
1165
	err_msg_import_5 db 'Error on load import library ',39,'tinygl',39,'" -tW',0
1150
	err_msg_found_lib_6 db 'Sorry I cannot found library ',39,'libini.obj',39,0
1166
	err_msg_found_lib_6 db 'Sorry I cannot found library ',39,'libini.obj',39,'" -tE',0
1151
	err_msg_import_6 db 'Error on load import library ',39,'libini',39,0
1167
	err_msg_import_6 db 'Error on load import library ',39,'libini',39,'" -tW',0
Line 1152... Line 1168...
1152
end if
1168
end if
1153
 
1169
 
1154
align 4
1170
align 4
Line 1437... Line 1453...
1437
mat_shininess dd 3.0 ;  §¬¥à ¡«¨ª  (®¡à â­ ï ¯à®¯®àæ¨ï)
1453
mat_shininess dd 3.0 ;  §¬¥à ¡«¨ª  (®¡à â­ ï ¯à®¯®àæ¨ï)
1438
white_light dd 0.8, 0.8, 0.8, 1.0 ; –¢¥â ¨ ¨­â¥­á¨¢­®áâì ®á¢¥é¥­¨ï, £¥­¥à¨à㥬®£® ¨áâ®ç­¨ª®¬
1454
white_light dd 0.8, 0.8, 0.8, 1.0 ; –¢¥â ¨ ¨­â¥­á¨¢­®áâì ®á¢¥é¥­¨ï, £¥­¥à¨à㥬®£® ¨áâ®ç­¨ª®¬
1439
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ;  à ¬¥âàë ä®­®¢®£® ®á¢¥é¥­¨ï
1455
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ;  à ¬¥âàë ä®­®¢®£® ®á¢¥é¥­¨ï
Line 1440... Line 1456...
1440
 
1456
 
1441
if lang eq ru
1457
if lang eq ru
1442
capt db 'info 3ds [user] ¢¥àá¨ï 18.04.17',0 ;¯®¤¯¨áì ®ª­ 
1458
capt db 'info 3ds [user] ¢¥àá¨ï 14.03.19',0 ;¯®¤¯¨áì ®ª­ 
1443
else
1459
else
1444
capt db 'info 3ds [user] version 18.04.17',0 ;window caption
1460
capt db 'info 3ds [user] version 14.03.19',0 ;window caption
Line 1445... Line 1461...
1445
end if
1461
end if
1446
 
1462
 
1447
align 16
1463
align 16