Subversion Repositories Kolibri OS

Rev

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

Rev 5938 Rev 5944
Line 27... Line 27...
27
key_oy  db 'col_oy',0
27
key_oy  db 'col_oy',0
28
key_oz  db 'col_oz',0
28
key_oz  db 'col_oz',0
29
key_bk  db 'col_bkgnd',0
29
key_bk  db 'col_bkgnd',0
30
key_vert db 'col_vertices',0
30
key_vert db 'col_vertices',0
31
key_face db 'col_faces',0
31
key_face db 'col_faces',0
-
 
32
key_select db 'col_select',0
Line 32... Line 33...
32
 
33
 
Line 33... Line 34...
33
prop_wnd_run db 0 ;¯¥à¥¬¥­­ ï á«¥¤ïé ï §  ⥬ çâ®-¡ë ­¥ § ¯ã᪠âì ¡®«ìè¥ 1-£® ®ª­  ᮠ᢮©á⢠¬¨ ®¤­®¢à¥¬¥­­®
34
prop_wnd_run db 0 ;¯¥à¥¬¥­­ ï á«¥¤ïé ï §  ⥬ çâ®-¡ë ­¥ § ¯ã᪠âì ¡®«ìè¥ 1-£® ®ª­  ᮠ᢮©á⢠¬¨ ®¤­®¢à¥¬¥­­®
34
 
35
 
Line 43... Line 44...
43
obj_point: ;¤®¡ ¢«ï¥¬ë© ®¡ê¥ªâ
44
obj_point: ;¤®¡ ¢«ï¥¬ë© ®¡ê¥ªâ
44
	dd 0   ;㪠§ â¥«ì
45
	dd 0   ;㪠§ â¥«ì
45
.text:
46
.text:
46
	rb MAX_OBJECT_SIZE
47
	rb MAX_OBJECT_SIZE
Line -... Line 48...
-
 
48
 
-
 
49
if lang eq ru
47
 
50
txt_select_vert: db '‚ë¡à ­®: '
-
 
51
else
-
 
52
txt_select_vert: db 'Select: '
-
 
53
end if
-
 
54
.count:
Line 48... Line 55...
48
 
55
dq 0,0
49
 
56
 
50
;¤ ­®¥ ®ª­® (¯à®æ¥áá) ¢ë§ë¢ ¥âìáï ä㭪樥© but_wnd_coords
57
;¤ ­®¥ ®ª­® (¯à®æ¥áá) ¢ë§ë¢ ¥âìáï ä㭪樥© but_wnd_coords
51
align 4
58
align 4
Line 65... Line 72...
65
		add ebx,[open_file_data]
72
		add ebx,[open_file_data]
Line 66... Line 73...
66
 
73
 
67
		cmp word[ebx],CHUNK_OBJBLOCK
74
		cmp word[ebx],CHUNK_OBJBLOCK
68
		jne .end_oblo
75
		jne .end_oblo
69
			mov dword[capt_p],txt_4000
76
			mov dword[capt_p],txt_4000
70
			call found_block_data
77
			stdcall found_block_data, tree1
71
			cmp eax,0
78
			cmp eax,0
72
			je .no_points
79
			je .no_points
73
			mov esi,eax
80
			mov esi,eax
74
			movzx ecx,byte[esi+2] ;cl - ã஢¥­ì ¢ë¡à ­­®£® 㧫 
81
			movzx ecx,byte[esi+2] ;cl - ã஢¥­ì ¢ë¡à ­­®£® 㧫 
Line 88... Line 95...
88
			jmp .no_points
95
			jmp .no_points
89
		.end_oblo:
96
		.end_oblo:
90
		cmp word[ebx],CHUNK_TRIMESH
97
		cmp word[ebx],CHUNK_TRIMESH
91
		jne .end_trim
98
		jne .end_trim
92
			mov dword[capt_p],txt_4100
99
			mov dword[capt_p],txt_4100
93
			call found_block_data
100
			stdcall found_block_data, tree1
94
			cmp eax,0
101
			cmp eax,0
95
			je .no_points
102
			je .no_points
96
			mov esi,eax
103
			mov esi,eax
97
			movzx ecx,byte[esi+2] ;cl - ã஢¥­ì ¢ë¡à ­­®£® 㧫 
104
			movzx ecx,byte[esi+2] ;cl - ã஢¥­ì ¢ë¡à ­­®£® 㧫 
98
			.cycle_1:
105
			.cycle_1:
Line 115... Line 122...
115
			mov dword[capt_p],txt_4110
122
			mov dword[capt_p],txt_4110
116
			.ini_vlist:
123
			.ini_vlist:
117
			movzx edx,word[ebx+6] ;ª®««¨ç¥á⢮ â®ç¥ª
124
			movzx edx,word[ebx+6] ;ª®««¨ç¥á⢮ â®ç¥ª
118
			add ebx,8
125
			add ebx,8
119
			;¯®¨áª ¤ ­­ëå ¤«ï âà¥ã£®«ìª®¢
126
			;¯®¨áª ¤ ­­ëå ¤«ï âà¥ã£®«ìª®¢
120
			call found_block_data
127
			stdcall found_block_data, tree1
121
			cmp eax,0
128
			cmp eax,0
122
			je .set_points
129
			je .set_points
123
			mov esi,eax
130
			mov esi,eax
124
			;¥á«¨ ­ è«¨ ¢ë¡à ­­ë© 㧥«, â® ¤ «¥¥ ¯ëâ ¥¬áï ­ ©â¨ 㧥« á âà¥ã£®«ì­¨ª ¬¨
131
			;¥á«¨ ­ è«¨ ¢ë¡à ­­ë© 㧥«, â® ¤ «¥¥ ¯ëâ ¥¬áï ­ ©â¨ 㧥« á âà¥ã£®«ì­¨ª ¬¨
125
			movzx ecx,byte[esi+2] ;cl - ã஢¥­ì ¢ë¡à ­­®£® 㧫 
132
			movzx ecx,byte[esi+2] ;cl - ã஢¥­ì ¢ë¡à ­­®£® 㧫 
Line 196... Line 203...
196
					mov esi,txt_space.end-1 ;¬¨­¨¬ã¬ 1 ¯à®¡¥« ­ã¦­® ¤®¡ ¢¨âì, çâ®-¡ë æ¨äàë ­¥ ᫨¯ «¨áì
203
					mov esi,txt_space.end-1 ;¬¨­¨¬ã¬ 1 ¯à®¡¥« ­ã¦­® ¤®¡ ¢¨âì, çâ®-¡ë æ¨äàë ­¥ ᫨¯ «¨áì
197
				.normal_size:
204
				.normal_size:
198
				stdcall str_cat, obj_point.text,esi
205
				stdcall str_cat, obj_point.text,esi
199
				stdcall str_cat, obj_point.text,Data_String
206
				stdcall str_cat, obj_point.text,Data_String
200
				loop @b
207
				loop @b
201
			stdcall dword[tl_node_add], tree3,(ID_ICON_DATA shl 16),obj_point 
208
			stdcall dword[tl_node_add], tree3,(ID_ICON_POINT shl 16),obj_point 
202
			stdcall dword[tl_cur_next], tree3
209
			stdcall dword[tl_cur_next], tree3
203
			dec edx
210
			dec edx
204
			cmp edx,0
211
			cmp edx,0
205
			jg .new_point
212
			jg .new_point
206
			stdcall dword[tl_cur_beg], tree3
213
			stdcall dword[tl_cur_beg], tree3
Line 226... Line 233...
226
	mov ebx,[color_oz]
233
	mov ebx,[color_oz]
227
	shr ebx,2
234
	shr ebx,2
228
	and ebx,0x3f3f3f
235
	and ebx,0x3f3f3f
229
	add eax,ebx
236
	add eax,ebx
230
	mov [edit3.color],eax
237
	mov [edit3.color],eax
-
 
238
 
-
 
239
	mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext
-
 
240
	mov eax,[eax] ;eax -> ZBuffer
-
 
241
	mov eax,[eax+offs_zbuf_pbuf] ;eax -> ZBuffer.pbuf
-
 
242
	mov dword[buf_ogl],eax
231
popad
243
popad
Line 232... Line 244...
232
 
244
 
Line 233... Line 245...
233
	call prop_red_win
245
	call prop_red_win
Line 316... Line 328...
316
	call mnu_reset_settings
328
	call mnu_reset_settings
Line 317... Line 329...
317
 
329
 
318
	;®¡­ã«¥­¨¥ 㪠§ â¥«¥© ­  ¤ ­­ë¥ ®¡ê¥ªâ®¢
330
	;®¡­ã«¥­¨¥ 㪠§ â¥«¥© ­  ¤ ­­ë¥ ®¡ê¥ªâ®¢
319
	mov dword[obj_poi_data],0
331
	mov dword[obj_poi_data],0
-
 
332
	mov dword[obj_poi_count],0
320
	mov dword[obj_poi_count],0
333
	mov dword[obj_poi_sel_c],0
321
	mov dword[obj_tri_data],0
334
	mov dword[obj_tri_data],0
322
	mov dword[obj_tri_count],0
335
	mov dword[obj_tri_count],0
Line 323... Line 336...
323
	ret
336
	ret
324
 
337
 
325
;¯®¨áª ¤ ­­ëå
338
;¯®¨áª ¤ ­­ëå
326
;input:
339
;input:
327
;eax - ⥪ã騩 㧥«
340
;eax - ⥪ã騩 㧥«
328
;output:
341
;output:
329
;eax - áâàãªâãà  â¥ªã饣® 㧫  (¨«¨ 0 ¯à¨ ­¥ã¤ ç¥)
342
;eax - áâàãªâãà  â¥ªã饣® 㧫  (¨«¨ 0 ¯à¨ ­¥ã¤ ç¥)
330
align 4
343
align 4
331
found_block_data:
344
proc found_block_data uses ebx ecx edx, tlist:dword
332
push ebx ecx
345
	mov edx,[tlist]
333
	mov ecx,eax
346
	mov ecx,eax
334
	stdcall [tl_node_poi_get_info], tree1,0
347
	stdcall [tl_node_poi_get_info], edx,0
335
	@@:
348
	@@:
336
		mov ebx,eax
349
		mov ebx,eax
337
		stdcall [tl_node_poi_get_data], tree1,ebx
350
		stdcall [tl_node_poi_get_data], edx,ebx
338
		cmp eax,ecx
351
		cmp eax,ecx
339
		je @f ;¥á«¨ ¯®¯ «¨ ­  ¢ë¡à ­­ë© 㧥«
352
		je @f ;¥á«¨ ¯®¯ «¨ ­  ¢ë¡à ­­ë© 㧥«
340
		stdcall [tl_node_poi_get_next_info], tree1,ebx
353
		stdcall [tl_node_poi_get_next_info], edx,ebx
341
		cmp eax,0
354
		cmp eax,0
342
		jne @b
355
		jne @b
343
		jmp .end
356
		jmp .end
344
	@@:
357
	@@:
345
		mov eax,ebx
-
 
346
	.end:
358
		mov eax,ebx
-
 
359
	.end:
Line 347... Line 360...
347
pop ecx ebx
360
	ret
348
	ret
361
endp
349
 
362
 
350
;ãáâ ­®¢ª  à §¬¥à®¢ ®¡ê¥ªâ 
363
;ãáâ ­®¢ª  à §¬¥à®¢ ®¡ê¥ªâ 
Line 547... Line 560...
547
			dec ebx
560
			dec ebx
548
			jnz @b
561
			jnz @b
549
		stdcall [glEnd]
562
		stdcall [glEnd]
550
	.end_points:
563
	.end_points:
Line 551... Line 564...
551
 
564
 
552
	;à¨á®¢ ­¨¥ ¢ë¤¥«¥­­®© â®çª¨
565
	;à¨á®¢ ­¨¥  ªâ¨¢­®© â®çª¨
553
	stdcall [tl_node_get_data],tree3
566
	stdcall [tl_node_get_data],tree3
554
	cmp eax,0
567
	cmp eax,0
555
	je @f
568
	je @f
556
		;¢ë¤¥«¥­¨¥  ªâ¨¢­®© â®çª¨
569
		;¢ë¤¥«¥­¨¥  ªâ¨¢­®© â®çª¨
Line 566... Line 579...
566
		stdcall [glColor3ub],[color_oz+2],[color_oz+1],[color_oz]
579
		stdcall [glColor3ub],[color_oz+2],[color_oz+1],[color_oz]
567
		stdcall [glVertex3f], [eax],[eax+4],[obj_z_min]
580
		stdcall [glVertex3f], [eax],[eax+4],[obj_z_min]
568
		stdcall [glVertex3f], [eax],[eax+4],[obj_z_max]
581
		stdcall [glVertex3f], [eax],[eax+4],[obj_z_max]
569
		stdcall [glEnd]
582
		stdcall [glEnd]
Line 570... Line 583...
570
 
583
 
571
		stdcall [glColor3f], 1.0, 1.0, 0.0
584
		stdcall [glColor3ub],[color_select+2],[color_select+1],[color_select]
572
		stdcall [glPushMatrix]
585
		stdcall [glPushMatrix]
573
			stdcall [glTranslatef], [eax],[eax+4],[eax+8]
586
			stdcall [glTranslatef], [eax],[eax+4],[eax+8]
574
			stdcall [gluSphere], [qObj], [sph_radius], 8,8
587
			stdcall [gluSphere], [qObj], [sph_radius], 8,8
575
		stdcall [glPopMatrix]
588
		stdcall [glPopMatrix]
Line -... Line 589...
-
 
589
	@@:
-
 
590
 
-
 
591
	;à¨á®¢ ­¨¥ ¢ë¤¥«¥­­ëå â®ç¥ª
-
 
592
	cmp dword[obj_poi_sel_c],0
-
 
593
	je .end_select
-
 
594
		mov ecx,dword[obj_poi_sel_c]
-
 
595
		stdcall [glColor3ub],[color_select+2],[color_select+1],[color_select]
-
 
596
		stdcall dword[tl_node_poi_get_info], tree3,0
-
 
597
		@@:
-
 
598
			cmp eax,0
-
 
599
			je .end_select
-
 
600
			mov ebx,eax
-
 
601
			cmp word[ebx],ID_ICON_POINT_SEL
-
 
602
			jne .next_sel
-
 
603
			stdcall [tl_node_poi_get_data], tree3,ebx
-
 
604
			mov eax,[eax]
-
 
605
			stdcall [glPushMatrix]
-
 
606
				stdcall [glTranslatef], [eax],[eax+4],[eax+8]
-
 
607
				stdcall [gluSphere], [qObj], [sph_radius], 4,4
-
 
608
			stdcall [glPopMatrix]
-
 
609
			dec ecx
-
 
610
			jz .end_select
-
 
611
			.next_sel:
-
 
612
			stdcall dword[tl_node_poi_get_next_info], tree3,ebx
-
 
613
			jmp @b
576
	@@:
614
    .end_select:
577
 
615
 
578
	;à¨á®¢ ­¨¥ £à ­¥©
616
	;à¨á®¢ ­¨¥ £à ­¥©
579
	bt dword[draw_mode],bit_faces
617
	bt dword[draw_mode],bit_faces
580
	jnc .end_triangles
618
	jnc .end_triangles
Line 612... Line 650...
612
			jnz @b
650
			jnz @b
613
		stdcall [glEnd]
651
		stdcall [glEnd]
614
	.end_triangles:
652
	.end_triangles:
Line 615... Line 653...
615
 
653
 
-
 
654
	stdcall [glPopMatrix]
-
 
655
	cmp dword[obj_poi_sel_c],0
-
 
656
	je @f
-
 
657
		stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_select_vert,5,3,[color_select]
616
	stdcall [glPopMatrix]
658
	@@:
617
	stdcall [kosglSwapBuffers]
659
	stdcall [kosglSwapBuffers]
618
	.end_f:
660
	.end_f:
Line 619... Line 661...
619
	ret
661
	ret
Line 847... Line 889...
847
					mov esi,txt_space.end-1 ;¬¨­¨¬ã¬ 1 ¯à®¡¥« ­ã¦­® ¤®¡ ¢¨âì, çâ®-¡ë æ¨äàë ­¥ ᫨¯ «¨áì
889
					mov esi,txt_space.end-1 ;¬¨­¨¬ã¬ 1 ¯à®¡¥« ­ã¦­® ¤®¡ ¢¨âì, çâ®-¡ë æ¨äàë ­¥ ᫨¯ «¨áì
848
				.normal_size:
890
				.normal_size:
849
				stdcall str_cat, obj_point.text,esi
891
				stdcall str_cat, obj_point.text,esi
850
				stdcall str_cat, obj_point.text,Data_String
892
				stdcall str_cat, obj_point.text,Data_String
851
				loop .coord
893
				loop .coord
-
 
894
			mov byte[obj_point.text],'*' ;®â¬¥ç ¥¬ çâ® ¢¥à設  ¨§¬¥­ï« áì
852
			stdcall dword[tl_node_set_data], tree3,obj_point
895
			stdcall dword[tl_node_set_data], tree3,obj_point
853
			stdcall dword[tl_draw], tree3
896
			stdcall dword[tl_draw], tree3
854
			mov byte[can_save],1 ;¤«ï ¯®ª §  ª­®¯ª¨ '‘®åà ­¨âì'
897
			mov byte[can_save],1 ;¤«ï ¯®ª §  ª­®¯ª¨ '‘®åà ­¨âì'
855
			mov dword[offs_last_timer],0 ;¤«ï ®¡­®¢«¥­¨ï ¡«®ª  ¢ â ©¬¥à¥
898
			mov dword[offs_last_timer],0 ;¤«ï ®¡­®¢«¥­¨ï ¡«®ª  ¢ â ©¬¥à¥
856
			call draw_3d
899
			call draw_3d
Line 881... Line 924...
881
	cmp ah,9
924
	cmp ah,9
882
	jne @f
925
	jne @f
883
		call mnu_reset_settings
926
		call mnu_reset_settings
884
		jmp prop_still.end
927
		jmp prop_still.end
885
	@@:
928
	@@:
-
 
929
	cmp ah,10
-
 
930
	jne @f
-
 
931
		call mnu_vertexes_select
-
 
932
		jmp prop_still.end
-
 
933
	@@:
-
 
934
	cmp ah,11
-
 
935
	jne @f
-
 
936
		call mnu_vertexes_deselect
-
 
937
		jmp prop_still.end
-
 
938
	@@:
-
 
939
	cmp ah,12
-
 
940
	jne @f
-
 
941
		call mnu_reset_average_x
-
 
942
		jmp prop_still.end
-
 
943
	@@:
-
 
944
	cmp ah,13
-
 
945
	jne @f
-
 
946
		call mnu_reset_average_y
-
 
947
		jmp prop_still.end
-
 
948
	@@:
-
 
949
	cmp ah,14
-
 
950
	jne @f
-
 
951
		call mnu_reset_average_z
-
 
952
		jmp prop_still.end
-
 
953
	@@:
Line 886... Line 954...
886
 
954
 
887
	cmp ah,1
955
	cmp ah,1
888
	jne prop_still.end
956
	jne prop_still.end
889
.exit:
957
.exit:
Line 966... Line 1034...
966
	mov dword[angle_z],0.0
1034
	mov dword[angle_z],0.0
967
	m2m dword[draw_mode],dword[def_dr_mode]
1035
	m2m dword[draw_mode],dword[def_dr_mode]
968
	ret
1036
	ret
Line 969... Line 1037...
969
 
1037
 
-
 
1038
align 4
-
 
1039
proc mnu_vertexes_select uses eax ebx
-
 
1040
	stdcall [tl_node_get_data],tree3
-
 
1041
	cmp eax,0
-
 
1042
	je .no_points
-
 
1043
	stdcall found_block_data,tree3
-
 
1044
	cmp eax,0
-
 
1045
	je .no_points
-
 
1046
		mov bx,word[eax]
-
 
1047
		cmp bx,ID_ICON_POINT_SEL
-
 
1048
		je @f
-
 
1049
			mov word[eax],ID_ICON_POINT_SEL
-
 
1050
			inc dword[obj_poi_sel_c]
-
 
1051
			jmp .change
-
 
1052
		@@:
-
 
1053
			mov word[eax],ID_ICON_POINT
-
 
1054
			dec dword[obj_poi_sel_c]
-
 
1055
		.change:
-
 
1056
			mov eax,[obj_poi_sel_c]
-
 
1057
			stdcall convert_int_to_str, txt_select_vert.count,16
-
 
1058
	.no_points:
-
 
1059
	ret
-
 
1060
endp
-
 
1061
 
-
 
1062
align 4
-
 
1063
proc mnu_vertexes_deselect uses eax
-
 
1064
	cmp dword[obj_poi_sel_c],0
-
 
1065
	je .no_points
-
 
1066
	mov dword[obj_poi_sel_c],0
-
 
1067
	stdcall [tl_node_poi_get_info], tree3,0
-
 
1068
	cmp eax,0
-
 
1069
	je .no_points
-
 
1070
	@@:
-
 
1071
		mov word[eax],ID_ICON_POINT
-
 
1072
		stdcall [tl_node_poi_get_next_info], tree3,eax
-
 
1073
		cmp eax,0
-
 
1074
		jne @b
-
 
1075
	.no_points:
-
 
1076
	ret
-
 
1077
endp
-
 
1078
 
-
 
1079
align 4
-
 
1080
proc mnu_reset_average_x uses eax ebx ecx edx edi
-
 
1081
	cmp dword[obj_poi_sel_c],2
-
 
1082
	jl .end_select
-
 
1083
		finit
-
 
1084
		fldz
-
 
1085
		mov ecx,dword[obj_poi_sel_c]
-
 
1086
		stdcall dword[tl_node_poi_get_info], tree3,0
-
 
1087
		@@:
-
 
1088
			cmp eax,0
-
 
1089
			je .end_select
-
 
1090
			mov ebx,eax
-
 
1091
			cmp word[ebx],ID_ICON_POINT_SEL
-
 
1092
			jne .next_sel0
-
 
1093
				stdcall [tl_node_poi_get_data], tree3,ebx
-
 
1094
				mov eax,[eax]
-
 
1095
				fadd dword[eax]
-
 
1096
				dec ecx
-
 
1097
				jz @f
-
 
1098
			.next_sel0:
-
 
1099
			stdcall dword[tl_node_poi_get_next_info], tree3,ebx
-
 
1100
			jmp @b
-
 
1101
		@@:
-
 
1102
		fidiv dword[obj_poi_sel_c]
-
 
1103
		fstp dword[eax]
-
 
1104
		mov edx,[eax]
-
 
1105
		mov ecx,dword[obj_poi_sel_c]
-
 
1106
		stdcall dword[tl_node_poi_get_info], tree3,0
-
 
1107
		@@:
-
 
1108
			cmp eax,0
-
 
1109
			je .end_select
-
 
1110
			mov ebx,eax
-
 
1111
			cmp word[ebx],ID_ICON_POINT_SEL
-
 
1112
			jne .next_sel1
-
 
1113
				stdcall [tl_node_poi_get_data], tree3,ebx
-
 
1114
				mov edi,eax
-
 
1115
				mov eax,[eax]
-
 
1116
				mov [eax],edx
-
 
1117
				stdcall update_tree, edi
-
 
1118
				dec ecx
-
 
1119
				jz @f
-
 
1120
			.next_sel1:
-
 
1121
			stdcall dword[tl_node_poi_get_next_info], tree3,ebx
-
 
1122
			jmp @b
-
 
1123
		@@:
-
 
1124
    .end_select:
-
 
1125
	ret
-
 
1126
endp
-
 
1127
 
-
 
1128
align 4
-
 
1129
proc mnu_reset_average_y uses eax ebx ecx edx edi
-
 
1130
	cmp dword[obj_poi_sel_c],2
-
 
1131
	jl .end_select
-
 
1132
		finit
-
 
1133
		fldz
-
 
1134
		mov ecx,dword[obj_poi_sel_c]
-
 
1135
		stdcall dword[tl_node_poi_get_info], tree3,0
-
 
1136
		@@:
-
 
1137
			cmp eax,0
-
 
1138
			je .end_select
-
 
1139
			mov ebx,eax
-
 
1140
			cmp word[ebx],ID_ICON_POINT_SEL
-
 
1141
			jne .next_sel0
-
 
1142
				stdcall [tl_node_poi_get_data], tree3,ebx
-
 
1143
				mov eax,[eax]
-
 
1144
				fadd dword[eax+4]
-
 
1145
				dec ecx
-
 
1146
				jz @f
-
 
1147
			.next_sel0:
-
 
1148
			stdcall dword[tl_node_poi_get_next_info], tree3,ebx
-
 
1149
			jmp @b
-
 
1150
		@@:
-
 
1151
		fidiv dword[obj_poi_sel_c]
-
 
1152
		fstp dword[eax+4]
-
 
1153
		mov edx,[eax+4]
-
 
1154
		mov ecx,dword[obj_poi_sel_c]
-
 
1155
		stdcall dword[tl_node_poi_get_info], tree3,0
-
 
1156
		@@:
-
 
1157
			cmp eax,0
-
 
1158
			je .end_select
-
 
1159
			mov ebx,eax
-
 
1160
			cmp word[ebx],ID_ICON_POINT_SEL
-
 
1161
			jne .next_sel1
-
 
1162
				stdcall [tl_node_poi_get_data], tree3,ebx
-
 
1163
				mov edi,eax
-
 
1164
				mov eax,[eax]
-
 
1165
				mov [eax+4],edx
-
 
1166
				stdcall update_tree, edi
-
 
1167
				dec ecx
-
 
1168
				jz @f
-
 
1169
			.next_sel1:
-
 
1170
			stdcall dword[tl_node_poi_get_next_info], tree3,ebx
-
 
1171
			jmp @b
-
 
1172
		@@:
-
 
1173
    .end_select:
-
 
1174
	ret
-
 
1175
endp
-
 
1176
 
-
 
1177
align 4
-
 
1178
proc mnu_reset_average_z uses eax ebx ecx edx edi
-
 
1179
	cmp dword[obj_poi_sel_c],2
-
 
1180
	jl .end_select
-
 
1181
		finit
-
 
1182
		fldz
-
 
1183
		mov ecx,dword[obj_poi_sel_c]
-
 
1184
		stdcall dword[tl_node_poi_get_info], tree3,0
-
 
1185
		@@:
-
 
1186
			cmp eax,0
-
 
1187
			je .end_select
-
 
1188
			mov ebx,eax
-
 
1189
			cmp word[ebx],ID_ICON_POINT_SEL
-
 
1190
			jne .next_sel0
-
 
1191
				stdcall [tl_node_poi_get_data], tree3,ebx
-
 
1192
				mov eax,[eax]
-
 
1193
				fadd dword[eax+8]
-
 
1194
				dec ecx
-
 
1195
				jz @f
-
 
1196
			.next_sel0:
-
 
1197
			stdcall dword[tl_node_poi_get_next_info], tree3,ebx
-
 
1198
			jmp @b
-
 
1199
		@@:
-
 
1200
		fidiv dword[obj_poi_sel_c]
-
 
1201
		fstp dword[eax+8]
-
 
1202
		mov edx,[eax+8]
-
 
1203
		mov ecx,dword[obj_poi_sel_c]
-
 
1204
		stdcall dword[tl_node_poi_get_info], tree3,0
-
 
1205
		@@:
-
 
1206
			cmp eax,0
-
 
1207
			je .end_select
-
 
1208
			mov ebx,eax
-
 
1209
			cmp word[ebx],ID_ICON_POINT_SEL
-
 
1210
			jne .next_sel1
-
 
1211
				stdcall [tl_node_poi_get_data], tree3,ebx
-
 
1212
				mov edi,eax
-
 
1213
				mov eax,[eax]
-
 
1214
				mov [eax+8],edx
-
 
1215
				stdcall update_tree, edi
-
 
1216
				dec ecx
-
 
1217
				jz @f
-
 
1218
			.next_sel1:
-
 
1219
			stdcall dword[tl_node_poi_get_next_info], tree3,ebx
-
 
1220
			jmp @b
-
 
1221
		@@:
-
 
1222
    .end_select:
-
 
1223
	ret
-
 
1224
endp
-
 
1225
 
-
 
1226
align 4
-
 
1227
proc update_tree h_mem:dword
-
 
1228
pushad
-
 
1229
	mov edi,[h_mem]
-
 
1230
	mov ebx,[edi]
-
 
1231
	finit
-
 
1232
 
-
 
1233
	;®¡­®¢«¥­¨¥ ¨§¬¥­¥­­®£® 㧫  ¢ ᯨ᪥ tree3 ¨ £« ¢­®£® ®ª­  (¯® â ©¬¥àã)
-
 
1234
	mov word[NumberSymbolsAD],5
-
 
1235
	mov dword[obj_point.text],0
-
 
1236
	cld
-
 
1237
	mov ecx,3
-
 
1238
	.coord:
-
 
1239
		fld dword[ebx]
-
 
1240
		fstp qword[Data_Double]
-
 
1241
		call DoubleFloat_to_String
-
 
1242
		add ebx,4
-
 
1243
		stdcall str_len, Data_String
-
 
1244
		mov esi,txt_space
-
 
1245
		add esi,eax
-
 
1246
		cmp esi,txt_space.end
-
 
1247
		jl .normal_size
-
 
1248
			mov esi,txt_space.end-1 ;¬¨­¨¬ã¬ 1 ¯à®¡¥« ­ã¦­® ¤®¡ ¢¨âì, çâ®-¡ë æ¨äàë ­¥ ᫨¯ «¨áì
-
 
1249
		.normal_size:
-
 
1250
		stdcall str_cat, obj_point.text,esi
-
 
1251
		stdcall str_cat, obj_point.text,Data_String
-
 
1252
		loop .coord
-
 
1253
	mov esi,obj_point.text
-
 
1254
	mov byte[esi],'*' ;®â¬¥ç ¥¬ çâ® ¢¥à設  ¨§¬¥­ï« áì
-
 
1255
	mov byte[can_save],1 ;¤«ï ¯®ª §  ª­®¯ª¨ '‘®åà ­¨âì'
-
 
1256
	add edi,4
-
 
1257
	mov ecx,MAX_OBJECT_SIZE-4
-
 
1258
	rep movsb
-
 
1259
popad
-
 
1260
	ret
-
 
1261
endp
-
 
1262
 
970
align 4
1263
align 4
971
def_dr_mode dd 0 ;०¨¬ à¨á®¢ ­¨ï ¯® 㬮«ç ­¨î
1264
def_dr_mode dd 0 ;०¨¬ à¨á®¢ ­¨ï ¯® 㬮«ç ­¨î
972
delt_size dd 3.0 ;¨§¬¥­¥­¨¥ 㣫®¢ ¯à¨ ¯®¢®à®â å á ª«¨¢¨ âãàë
1265
delt_size dd 3.0 ;¨§¬¥­¥­¨¥ 㣫®¢ ¯à¨ ¯®¢®à®â å á ª«¨¢¨ âãàë
973
mouse_drag dd 0 ;०¨¬ ¯®¢®à®â  áæ¥­ë ®â ¯¥à¥¬¥é¥­¨¨ ªãàá®à  ¬ëè¨
1266
mouse_drag dd 0 ;०¨¬ ¯®¢®à®â  áæ¥­ë ®â ¯¥à¥¬¥é¥­¨¨ ªãàá®à  ¬ëè¨
974
mouse_x dd 0
1267
mouse_x dd 0
Line 977... Line 1270...
977
angle_dym dd 1.3335 ;~ 3d_wnd_h/180
1270
angle_dym dd 1.3335 ;~ 3d_wnd_h/180
978
;angle_dzm dd ?
1271
;angle_dzm dd ?
979
draw_mode dd 0 ;०¨¬ à¨á®¢ ­¨ï ®¡ê¥ªâ 
1272
draw_mode dd 0 ;०¨¬ à¨á®¢ ­¨ï ®¡ê¥ªâ 
980
obj_poi_data dd 0 ;㪠§ â¥«ì ­  ª®®à¤¨­ âë ¢¥à設
1273
obj_poi_data dd 0 ;㪠§ â¥«ì ­  ª®®à¤¨­ âë ¢¥à設
981
obj_poi_count dd 0 ;ª®««¨ç¥á⢮ ¢¥à設
1274
obj_poi_count dd 0 ;ª®««¨ç¥á⢮ ¢¥à設
-
 
1275
obj_poi_sel_c dd 0 ;ª®««¨ç¥á⢮ ¢ë¤¥«¥­­ëå ¢¥à設
982
obj_tri_data dd 0 ;㪠§ â¥«ì ­  ¤ ­­ë¥ âà¥ã£®«ì­¨ª®¢
1276
obj_tri_data dd 0 ;㪠§ â¥«ì ­  ¤ ­­ë¥ âà¥ã£®«ì­¨ª®¢
983
obj_tri_count dd 0 ;ª®««¨ç¥á⢮ âà¥ã£®«ì­¨ª®¢
1277
obj_tri_count dd 0 ;ª®««¨ç¥á⢮ âà¥ã£®«ì­¨ª®¢
984
cursor_last_draw dd 0 ;¯®«®¦¥­¨¥ ªãàá®à  ¯à¨ ¯®á«¥¤­¥© ¯à®à¨á®¢ª¥ 3d ®ª­ 
1278
cursor_last_draw dd 0 ;¯®«®¦¥­¨¥ ªãàá®à  ¯à¨ ¯®á«¥¤­¥© ¯à®à¨á®¢ª¥ 3d ®ª­ 
985
sph_radius dd 0 ;à ¤¨ãá áä¥àë ¤«ï ¢ë¤¥«¥­¨ï  ªâ¨¢­®© â®çª¨
1279
sph_radius dd 0 ;à ¤¨ãá áä¥àë ¤«ï ¢ë¤¥«¥­¨ï  ªâ¨¢­®© â®çª¨
986
obj_x_max dd 0
1280
obj_x_max dd 0