Rev 5911 | Rev 5935 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5911 | Rev 5930 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; |
1 | ; |
2 | ; ¢ í⮬ ä ©«¥ ᮡà ë äãªæ¨¨ ã¦ë¥ ¤«ï ᮧ¤ ¨ï ¨ |
2 | ; ¢ í⮬ ä ©«¥ ᮡà ë äãªæ¨¨ ã¦ë¥ ¤«ï ᮧ¤ ¨ï ¨ |
3 | ; à ¡®âë ®ª á ª®®à¤¨ â ¬¨ |
3 | ; à ¡®âë ®ª á ª®®à¤¨ â ¬¨ |
4 | ; |
4 | ; |
Line 5... | Line 5... | ||
5 | 5 | ||
- | 6 | prop_wnd_width equ 340 ;è¨à¨ ®ª ᮠ᢮©á⢠¬¨ ®¡ê¥ªâ |
|
6 | prop_wnd_width equ 350 ;è¨à¨ ®ª ᮠ᢮©á⢠¬¨ ®¡ê¥ªâ |
7 | prop_wnd_height equ 460 |
7 | SIZE_ONE_FLOAT equ 14 |
8 | SIZE_ONE_FLOAT equ 14 |
Line 8... | Line 9... | ||
8 | MAX_OBJECT_SIZE equ (4+SIZE_ONE_FLOAT*3+1) |
9 | MAX_OBJECT_SIZE equ (4+SIZE_ONE_FLOAT*3+1) |
Line 13... | Line 14... | ||
13 | txt_space: |
14 | txt_space: |
14 | db SIZE_ONE_FLOAT dup(' ') |
15 | db SIZE_ONE_FLOAT dup(' ') |
15 | .end: |
16 | .end: |
16 | db 0 |
17 | db 0 |
Line -... | Line 18... | ||
- | 18 | ||
- | 19 | rad_c dd 150 ;¤«ï ¢ëç¨á«¥¨ï à ¤¨ãá |
|
17 | 20 | ||
18 | obj_point: ;¤®¡ ¢«ï¥¬ë© ®¡ê¥ªâ |
21 | obj_point: ;¤®¡ ¢«ï¥¬ë© ®¡ê¥ªâ |
19 | dd 0 ;㪠§ ⥫ì |
22 | dd 0 ;㪠§ ⥫ì |
20 | .text: |
23 | .text: |
Line 26... | Line 29... | ||
26 | align 4 |
29 | align 4 |
27 | prop_start: |
30 | prop_start: |
28 | pushad |
31 | pushad |
29 | mcall 40,0x27 ;¬ ᪠®¦¨¤ ¥¬ëå ᮡë⨩ |
32 | mcall 40,0x27 ;¬ ᪠®¦¨¤ ¥¬ëå ᮡë⨩ |
30 | inc byte[prop_wnd_run] |
33 | inc byte[prop_wnd_run] |
- | 34 | mov dword[w_scr_t3.type],1 |
|
Line 31... | Line 35... | ||
31 | 35 | ||
32 | stdcall [tl_node_get_data],tree1 |
36 | stdcall [tl_node_get_data],tree1 |
33 | xor edx,edx |
37 | xor edx,edx |
34 | mov dword[capt_p],txt_q |
38 | mov dword[capt_p],txt_q |
Line 98... | Line 102... | ||
98 | dec edx |
102 | dec edx |
99 | cmp edx,0 |
103 | cmp edx,0 |
100 | jg .new_point |
104 | jg .new_point |
101 | stdcall dword[tl_cur_beg], tree3 |
105 | stdcall dword[tl_cur_beg], tree3 |
102 | .no_object: |
106 | .no_object: |
- | 107 | call obj_set_sizes |
|
103 | edit_boxes_set_sys_color edit1,editboxes_end,sc ;ãáâ ®¢ª á¨á⥬ëå 梥⮢ |
108 | edit_boxes_set_sys_color edit1,editboxes_end,sc ;ãáâ ®¢ª á¨á⥬ëå 梥⮢ |
104 | stdcall [edit_box_set_text], edit1, txt_q |
109 | stdcall [edit_box_set_text], edit1, txt_q |
105 | stdcall [edit_box_set_text], edit2, txt_q |
110 | stdcall [edit_box_set_text], edit2, txt_q |
106 | stdcall [edit_box_set_text], edit3, txt_q |
111 | stdcall [edit_box_set_text], edit3, txt_q |
107 | popad |
112 | popad |
Line -... | Line 113... | ||
- | 113 | ||
- | 114 | call prop_red_win |
|
- | 115 | ||
- | 116 | ;¥ ®âàë¢ âì íâã äãªæ¨î ®â ¯à¥¤ë¤ã饩 |
|
- | 117 | align 4 |
|
- | 118 | prop_still: |
|
- | 119 | pushad |
|
- | 120 | mcall 10 |
|
- | 121 | ||
- | 122 | cmp al,1 ;¨§¬. ¯®«®¦¥¨¥ ®ª |
|
- | 123 | jne @f |
|
- | 124 | call prop_red_win |
|
- | 125 | jmp .end |
|
- | 126 | @@: |
|
- | 127 | cmp al,2 |
|
- | 128 | jne @f |
|
- | 129 | call prop_key |
|
- | 130 | jmp .end |
|
- | 131 | @@: |
|
- | 132 | cmp al,3 |
|
- | 133 | jz prop_button |
|
- | 134 | cmp al,6 |
|
- | 135 | jne @f |
|
- | 136 | call prop_mouse |
|
- | 137 | @@: |
|
- | 138 | .end: |
|
- | 139 | popad |
|
- | 140 | jmp prop_still |
|
108 | 141 | ||
109 | align 4 |
142 | align 4 |
110 | prop_red_win: |
143 | prop_red_win: |
111 | pushad |
144 | pushad |
Line 112... | Line 145... | ||
112 | mcall 12,1 |
145 | mcall 12,1 |
113 | 146 | ||
114 | xor eax,eax |
147 | xor eax,eax |
115 | mov edi,dword[capt_p] ;children window caption |
148 | mov edi,dword[capt_p] ;children window caption |
- | 149 | mov bx,word[procinfo.box.left] |
|
116 | mov bx,word[procinfo.box.left] |
150 | add bx,word[buf_0.l] |
117 | add bx,word[buf_0.l] |
151 | add bx,5 ;è¨à¨ ¡®ª®¢®© à ¬ª¨ |
118 | shl ebx,16 |
152 | shl ebx,16 |
119 | mov bx,prop_wnd_width |
153 | mov bx,prop_wnd_width |
120 | mov cx,word[procinfo.box.top] |
154 | mov cx,word[procinfo.box.top] |
121 | add cx,word[buf_0.t] |
- | |
122 | shl ecx,16 |
155 | add cx,word[buf_0.t] |
123 | mov cx,250 |
156 | shl ecx,16 |
124 | mov edx,0xffffd0 |
157 | mov cx,prop_wnd_height |
Line 125... | Line -... | ||
125 | or edx,0x33000000 |
- | |
126 | int 0x40 |
- | |
127 | - | ||
128 | mov eax,8 |
- | |
129 | mov ebx,(5 shl 16)+20 |
158 | mov edx,0xffffd0+0x33000000 |
130 | mov ecx,(195 shl 16)+20 |
- | |
131 | mov edx,3 |
- | |
132 | mov esi,[sc.work_button] |
159 | int 0x40 |
133 | int 0x40 |
160 | |
134 | - | ||
135 | mov ebx,(30 shl 16)+20 |
- | |
Line 136... | Line -... | ||
136 | mov ecx,(195 shl 16)+20 |
- | |
137 | mov edx,4 |
161 | mov esi,[sc.work_button] |
138 | int 0x40 |
162 | mcall 8, (5 shl 16)+20, (246 shl 16)+20, 3 |
139 | - | ||
140 | mov eax,7 |
163 | mcall , (30 shl 16)+20, (246 shl 16)+20, 4 |
141 | mov ebx,[image_data_toolbar] |
- | |
Line 142... | Line 164... | ||
142 | add ebx,4*IMAGE_TOOLBAR_ICON_SIZE |
164 | |
143 | mov ecx,(16 shl 16)+16 |
165 | mov ebx,[image_data_toolbar] |
144 | mov edx,(7 shl 16)+197 ;load |
166 | add ebx,4*IMAGE_TOOLBAR_ICON_SIZE |
Line 145... | Line 167... | ||
145 | int 0x40 |
167 | mcall 7, , (16 shl 16)+16, (7 shl 16)+247 ;load |
146 | 168 | ||
147 | sub ebx,IMAGE_TOOLBAR_ICON_SIZE |
169 | sub ebx,IMAGE_TOOLBAR_ICON_SIZE |
148 | mov edx,(32 shl 16)+197 ;save |
170 | mov edx,(32 shl 16)+247 ;save |
149 | int 0x40 |
171 | int 0x40 |
150 | 172 | ||
- | 173 | mov dword[w_scr_t3.all_redraw],1 |
|
- | 174 | stdcall [scrollbar_ver_draw],dword w_scr_t3 |
|
151 | mov dword[w_scr_t3.all_redraw],1 |
175 | stdcall [tl_draw], tree3 |
152 | stdcall [scrollbar_ver_draw],dword w_scr_t3 |
176 | stdcall [edit_box_draw], edit1 |
- | 177 | stdcall [edit_box_draw], edit2 |
|
Line 153... | Line -... | ||
153 | stdcall [tl_draw], tree3 |
- | |
154 | stdcall [edit_box_draw], edit1 |
178 | stdcall [edit_box_draw], edit3 |
- | 179 | ||
- | 180 | call draw_3d |
|
155 | stdcall [edit_box_draw], edit2 |
181 | mcall 12,2 |
156 | stdcall [edit_box_draw], edit3 |
182 | popad |
- | 183 | ret |
|
157 | mcall 12,2 |
184 | |
- | 185 | align 4 |
|
- | 186 | proc obj_set_sizes uses eax ebx esi |
|
- | 187 | stdcall dword[tl_node_poi_get_info], tree3,0 |
|
- | 188 | cmp eax,0 |
|
- | 189 | je .end |
|
- | 190 | stdcall [tl_node_poi_get_data], tree3,eax |
|
- | 191 | finit |
|
- | 192 | mov eax,[eax] |
|
- | 193 | mov ebx,dword[eax] |
|
- | 194 | mov [obj_x_min],ebx |
|
Line -... | Line 195... | ||
- | 195 | mov [obj_x_max],ebx |
|
- | 196 | mov ebx,dword[eax+4] |
|
158 | popad |
197 | mov [obj_y_min],ebx |
- | 198 | mov [obj_y_max],ebx |
|
- | 199 | mov ebx,dword[eax+8] |
|
- | 200 | mov [obj_z_min],ebx |
|
- | 201 | mov [obj_z_max],ebx |
|
- | 202 | ||
159 | 203 | stdcall dword[tl_node_poi_get_info], tree3,0 |
|
- | 204 | align 4 |
|
- | 205 | .cycle_0: ;à ¡®â á ª®®à¤¨ ⮩ x |
|
160 | ;¥ ®âàë¢ âì íâã äãªæ¨î ®â ¯à¥¤ë¤ã饩 |
206 | mov esi,eax |
161 | align 4 |
207 | stdcall [tl_node_poi_get_data], tree3,esi |
- | 208 | mov ebx,[eax] |
|
- | 209 | ||
- | 210 | fld dword[ebx] |
|
- | 211 | fld dword[obj_x_min] |
|
162 | prop_still: |
212 | fcomp |
163 | pushad |
213 | fstsw ax |
- | 214 | sahf |
|
- | 215 | jb @f |
|
- | 216 | mov eax,[ebx] |
|
- | 217 | mov [obj_x_min],eax |
|
- | 218 | ffree st0 |
|
- | 219 | fincstp |
|
- | 220 | jmp .next_x |
|
- | 221 | @@: |
|
- | 222 | fld dword[obj_x_max] |
|
- | 223 | fcompp |
|
- | 224 | fstsw ax |
|
- | 225 | sahf |
|
- | 226 | ja .next_x |
|
- | 227 | mov eax,[ebx] |
|
- | 228 | mov [obj_x_max],eax |
|
- | 229 | .next_x: |
|
- | 230 | ||
- | 231 | stdcall dword[tl_node_poi_get_next_info], tree3,esi |
|
- | 232 | cmp eax,0 |
|
- | 233 | jne .cycle_0 |
|
- | 234 | ||
- | 235 | fld1 |
|
- | 236 | fld dword[obj_x_max] |
|
- | 237 | fsub dword[obj_x_min] |
|
- | 238 | fst dword[obj_x_centr] |
|
- | 239 | fdivp ;1/size.x |
|
- | 240 | fstp dword[obj_x_scale] |
|
- | 241 | ||
- | 242 | fld dword[obj_x_centr] |
|
- | 243 | fld1 |
|
- | 244 | fld1 |
|
- | 245 | faddp |
|
- | 246 | fdivp ;centr.x = size.x/2 |
|
- | 247 | fadd dword[obj_x_min] |
|
- | 248 | fchs |
|
- | 249 | fstp dword[obj_x_centr] |
|
- | 250 | ||
- | 251 | stdcall dword[tl_node_poi_get_info], tree3,0 |
|
- | 252 | align 4 |
|
- | 253 | .cycle_1: ;à ¡®â á ª®®à¤¨ ⮩ y |
|
- | 254 | mov esi,eax |
|
- | 255 | stdcall [tl_node_poi_get_data], tree3,esi |
|
- | 256 | mov ebx,[eax] |
|
- | 257 | ||
- | 258 | fld dword[ebx+4] |
|
- | 259 | fld dword[obj_y_min] |
|
- | 260 | fcomp |
|
- | 261 | fstsw ax |
|
- | 262 | sahf |
|
- | 263 | jb @f |
|
- | 264 | mov eax,[ebx+4] |
|
- | 265 | mov [obj_y_min],eax |
|
- | 266 | ffree st0 |
|
- | 267 | fincstp |
|
- | 268 | jmp .next_y |
|
- | 269 | @@: |
|
- | 270 | fld dword[obj_y_max] |
|
- | 271 | fcompp |
|
164 | mcall 10 |
272 | fstsw ax |
- | 273 | sahf |
|
- | 274 | ja .next_y |
|
- | 275 | mov eax,[ebx+4] |
|
- | 276 | mov [obj_y_max],eax |
|
- | 277 | .next_y: |
|
- | 278 | ||
- | 279 | stdcall dword[tl_node_poi_get_next_info], tree3,esi |
|
- | 280 | cmp eax,0 |
|
- | 281 | jne .cycle_1 |
|
- | 282 | ||
- | 283 | fld1 |
|
- | 284 | fld dword[obj_y_max] |
|
- | 285 | fsub dword[obj_y_min] |
|
- | 286 | fst dword[obj_y_centr] |
|
- | 287 | fdivp ;1/size.y |
|
- | 288 | fstp dword[obj_y_scale] |
|
- | 289 | ||
- | 290 | fld dword[obj_y_centr] |
|
- | 291 | fld1 |
|
- | 292 | fld1 |
|
- | 293 | faddp |
|
- | 294 | fdivp ;centr.y = size.y/2 |
|
- | 295 | fadd dword[obj_y_min] |
|
- | 296 | fchs |
|
- | 297 | fstp dword[obj_y_centr] |
|
- | 298 | ||
- | 299 | stdcall dword[tl_node_poi_get_info], tree3,0 |
|
- | 300 | align 4 |
|
- | 301 | .cycle_2: ;à ¡®â á ª®®à¤¨ ⮩ z |
|
- | 302 | mov esi,eax |
|
- | 303 | stdcall [tl_node_poi_get_data], tree3,esi |
|
- | 304 | mov ebx,[eax] |
|
- | 305 | ||
- | 306 | fld dword[ebx+8] |
|
- | 307 | fld dword[obj_z_min] |
|
- | 308 | fcomp |
|
- | 309 | fstsw ax |
|
- | 310 | sahf |
|
- | 311 | jb @f |
|
- | 312 | mov eax,[ebx+8] |
|
- | 313 | mov [obj_z_min],eax |
|
165 | 314 | ffree st0 |
|
- | 315 | fincstp |
|
- | 316 | jmp .next_z |
|
- | 317 | @@: |
|
- | 318 | fld dword[obj_z_max] |
|
- | 319 | fcompp |
|
- | 320 | fstsw ax |
|
- | 321 | sahf |
|
- | 322 | ja .next_z |
|
- | 323 | mov eax,[ebx+8] |
|
- | 324 | mov [obj_z_max],eax |
|
- | 325 | .next_z: |
|
- | 326 | ||
- | 327 | stdcall dword[tl_node_poi_get_next_info], tree3,esi |
|
- | 328 | cmp eax,0 |
|
- | 329 | jne .cycle_2 |
|
- | 330 | ||
- | 331 | fld1 |
|
- | 332 | fld dword[obj_z_max] |
|
- | 333 | fsub dword[obj_z_min] |
|
- | 334 | fst dword[obj_z_centr] |
|
- | 335 | fdivp ;1/size.z |
|
- | 336 | fstp dword[obj_z_scale] |
|
- | 337 | ||
- | 338 | fld dword[obj_z_centr] |
|
- | 339 | fld1 |
|
- | 340 | fld1 |
|
- | 341 | faddp |
|
- | 342 | fdivp ;centr.z = size.z/2 |
|
- | 343 | fadd dword[obj_z_min] |
|
- | 344 | fchs |
|
- | 345 | fstp dword[obj_z_centr] |
|
- | 346 | ||
- | 347 | ; 室¨¬ à ¤¨ãá ¤«ï áä¥àë |
|
- | 348 | fld dword[obj_x_max] |
|
- | 349 | fsub dword[obj_x_min] |
|
- | 350 | fld dword[obj_y_max] |
|
- | 351 | fsub dword[obj_y_min] |
|
- | 352 | faddp |
|
- | 353 | fild dword[rad_c] |
|
- | 354 | fdivp ;radius=(size.x+size.y)/rad_c |
|
- | 355 | fstp dword[sph_radius] |
|
- | 356 | .end: |
|
- | 357 | ret |
|
- | 358 | endp |
|
- | 359 | ||
- | 360 | ;à¨á®¢ ¨¥ â®ç¥ª ¢ 3d |
|
- | 361 | align 4 |
|
- | 362 | draw_3d: |
|
- | 363 | stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;®ç¨á⨬ ¡ãä¥à 梥⠨ £«ã¡¨ë |
|
- | 364 | stdcall [glPushMatrix] |
|
- | 365 | stdcall [glTranslatef], 0.0,0.0,0.5 ;correct for z |
|
- | 366 | stdcall [glScalef], [obj_x_scale],[obj_y_scale],[obj_z_scale] |
|
- | 367 | stdcall [glScalef], 1.0,1.0,0.7 ;correct for z |
|
- | 368 | stdcall [glRotatef], [angle_z],0.0,0.0,1.0 |
|
- | 369 | stdcall [glRotatef], [angle_y],0.0,1.0,0.0 |
|
- | 370 | stdcall [glRotatef], [angle_x],1.0,0.0,0.0 |
|
- | 371 | stdcall [glTranslatef], [obj_x_centr],[obj_y_centr],[obj_z_centr] |
|
- | 372 | ||
- | 373 | stdcall [glColor3f], 1.0,1.0,1.0 |
|
- | 374 | stdcall [glBegin],GL_POINTS |
|
- | 375 | ||
- | 376 | stdcall dword[tl_node_poi_get_info], tree3,0 |
|
- | 377 | @@: |
|
- | 378 | cmp eax,0 |
|
- | 379 | je @f |
|
- | 380 | mov esi,eax |
|
- | 381 | stdcall [tl_node_poi_get_data], tree3,esi |
|
166 | cmp al,1 ;¨§¬. ¯®«®¦¥¨¥ ®ª |
382 | mov eax,[eax] |
167 | jz prop_red_win |
383 | stdcall [glVertex3f], [eax],[eax+4],[eax+8] |
- | 384 | stdcall dword[tl_node_poi_get_next_info], tree3,esi |
|
- | 385 | jmp @b |
|
- | 386 | @@: |
|
- | 387 | stdcall [glEnd] |
|
- | 388 | ||
- | 389 | stdcall [tl_node_get_data],tree3 |
|
- | 390 | cmp eax,0 |
|
- | 391 | je @f |
|
- | 392 | ;¢ë¤¥«¥¨¥ ªâ¨¢®© â®çª¨ |
|
- | 393 | mov eax,[eax] |
|
- | 394 | ||
- | 395 | stdcall [glBegin],GL_LINES |
|
- | 396 | stdcall [glColor3f], 1.0, 0.0, 0.0 |
|
168 | cmp al,2 |
397 | stdcall [glVertex3f], [obj_x_min],[eax+4],[eax+8] |
- | 398 | stdcall [glVertex3f], [obj_x_max],[eax+4],[eax+8] |
|
- | 399 | stdcall [glColor3f], 0.0, 0.0, 1.0 |
|
- | 400 | stdcall [glVertex3f], [eax],[obj_y_min],[eax+8] |
|
- | 401 | stdcall [glVertex3f], [eax],[obj_y_max],[eax+8] |
|
169 | jne @f |
402 | stdcall [glColor3f], 0.0, 1.0, 0.0 |
170 | call prop_key |
403 | stdcall [glVertex3f], [eax],[eax+4],[obj_z_min] |
171 | @@: |
404 | stdcall [glVertex3f], [eax],[eax+4],[obj_z_max] |
- | 405 | stdcall [glEnd] |
|
- | 406 | ||
Line 172... | Line 407... | ||
172 | cmp al,3 |
407 | stdcall [glColor3f], 1.0, 1.0, 0.0 |
173 | jz prop_button |
408 | stdcall [glTranslatef], [eax],[eax+4],[eax+8] |
174 | cmp al,6 |
409 | stdcall [gluSphere], [qObj], [sph_radius], 8,8 |
175 | jne @f |
410 | @@: |
- | 411 | ||
- | 412 | stdcall [glPopMatrix] |
|
- | 413 | stdcall [kosglSwapBuffers] |
|
176 | call prop_mouse |
414 | ret |
- | 415 | ||
- | 416 | align 4 |
|
- | 417 | prop_key: |
|
- | 418 | push eax |
|
177 | @@: |
419 | mcall 2 |
- | 420 | ||
- | 421 | test word [edit1.flags],10b ;ed_focus |
|
- | 422 | je @f |
|
- | 423 | stdcall [edit_box_key], edit1 |
|
178 | popad |
424 | jmp .end |
- | 425 | @@: |
|
- | 426 | test word [edit2.flags],10b |
|
179 | jmp prop_still |
427 | je @f |
- | 428 | stdcall [edit_box_key], edit2 |
|
- | 429 | jmp .end |
|
- | 430 | @@: |
|
- | 431 | test word [edit3.flags],10b |
|
- | 432 | je @f |
|
- | 433 | stdcall [edit_box_key], edit3 |
|
- | 434 | jmp .end |
|
- | 435 | @@: |
|
- | 436 | stdcall [tl_key], tree3 |
|
- | 437 | ||
- | 438 | cmp ah,178 ;Up |
|
- | 439 | jne @f |
|
- | 440 | fld dword[angle_x] |
|
- | 441 | fadd dword[delt_size] |
|
- | 442 | fstp dword[angle_x] |
|
- | 443 | call draw_3d |
|
- | 444 | jmp .end |
|
- | 445 | @@: |
|
- | 446 | cmp ah,177 ;Down |
|
- | 447 | jne @f |
|
- | 448 | fld dword[angle_x] |
|
- | 449 | fsub dword[delt_size] |
|
- | 450 | fstp dword[angle_x] |
|
- | 451 | call draw_3d |
|
- | 452 | jmp .end |
|
- | 453 | @@: |
|
- | 454 | cmp ah,176 ;Left |
|
- | 455 | jne @f |
|
- | 456 | fld dword[angle_y] |
|
- | 457 | fadd dword[delt_size] |
|
- | 458 | fstp dword[angle_y] |
|
- | 459 | call draw_3d |
|
- | 460 | jmp .end |
|
- | 461 | @@: |
|
180 | 462 | cmp ah,179 ;Right |
|
181 | align 4 |
463 | jne @f |
Line 182... | Line 464... | ||
182 | prop_key: |
464 | fld dword[angle_y] |
183 | push eax |
465 | fsub dword[delt_size] |
Line 203... | Line 485... | ||
203 | prop_button: |
485 | prop_button: |
204 | mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
486 | mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
Line 205... | Line 487... | ||
205 | 487 | ||
206 | cmp ah,3 |
488 | cmp ah,3 |
207 | jne @f |
- | |
208 | ;§ £à㧪 ª®®à¤¨ â ¢ editbox-ë |
- | |
209 | push eax ebx |
489 | jne @f |
210 | stdcall [tl_node_get_data],tree3 |
490 | call get_point_coords |
211 | cmp eax,0 |
- | |
212 | je .no_select_0 |
- | |
213 | mov ebx,[eax] |
- | |
214 | mov word[NumberSymbolsAD],8 |
- | |
215 | finit |
- | |
216 | fld dword[ebx] |
- | |
217 | fstp qword[Data_Double] |
- | |
218 | call DoubleFloat_to_String |
- | |
219 | stdcall [edit_box_set_text], edit1, Data_String |
- | |
220 | fld dword[ebx+4] |
- | |
221 | fstp qword[Data_Double] |
- | |
222 | call DoubleFloat_to_String |
- | |
223 | stdcall [edit_box_set_text], edit2, Data_String |
- | |
224 | fld dword[ebx+8] |
- | |
225 | fstp qword[Data_Double] |
- | |
226 | call DoubleFloat_to_String |
- | |
227 | stdcall [edit_box_set_text], edit3, Data_String |
- | |
228 | stdcall [edit_box_draw], edit1 |
- | |
229 | stdcall [edit_box_draw], edit2 |
- | |
230 | stdcall [edit_box_draw], edit3 |
- | |
231 | .no_select_0: |
- | |
232 | pop ebx eax |
491 | call draw_3d |
233 | jmp prop_still |
492 | jmp prop_still.end |
234 | @@: |
493 | @@: |
235 | cmp ah,4 |
494 | cmp ah,4 |
236 | jne @f |
495 | jne @f |
237 | push eax ebx ecx edi esi |
496 | push eax ebx ecx edi esi |
Line 242... | Line 501... | ||
242 | finit |
501 | finit |
Line 243... | Line 502... | ||
243 | 502 | ||
244 | mov esi,string1 |
503 | mov esi,string1 |
245 | mov edi,Data_String |
504 | mov edi,Data_String |
246 | cld |
505 | cld |
247 | mov ecx,32 |
506 | mov ecx,8 |
248 | rep movsb |
507 | rep movsd |
249 | call String_to_DoubleFloat |
508 | call String_to_DoubleFloat |
250 | fld qword[Data_Double] ;áç¨âë¢ ¥¬ ª ª double |
509 | fld qword[Data_Double] ;áç¨âë¢ ¥¬ ª ª double |
Line 251... | Line 510... | ||
251 | fstp dword[ebx] ;á®åà 塞 ª ª float |
510 | fstp dword[ebx] ;á®åà 塞 ª ª float |
252 | 511 | ||
253 | mov esi,string2 |
512 | mov esi,string2 |
254 | mov edi,Data_String |
513 | mov edi,Data_String |
255 | cld |
514 | cld |
256 | mov ecx,32 |
515 | mov ecx,8 |
257 | rep movsb |
516 | rep movsd |
258 | call String_to_DoubleFloat |
517 | call String_to_DoubleFloat |
Line 259... | Line 518... | ||
259 | fld qword[Data_Double] ;áç¨âë¢ ¥¬ ª ª double |
518 | fld qword[Data_Double] ;áç¨âë¢ ¥¬ ª ª double |
260 | fstp dword[ebx+4] ;á®åà 塞 ª ª float |
519 | fstp dword[ebx+4] ;á®åà 塞 ª ª float |
261 | 520 | ||
262 | mov esi,string3 |
521 | mov esi,string3 |
263 | mov edi,Data_String |
522 | mov edi,Data_String |
264 | cld |
523 | cld |
265 | mov ecx,32 |
524 | mov ecx,8 |
266 | rep movsb |
525 | rep movsd |
Line 267... | Line 526... | ||
267 | call String_to_DoubleFloat |
526 | call String_to_DoubleFloat |
Line 291... | Line 550... | ||
291 | loop .coord |
550 | loop .coord |
292 | stdcall dword[tl_node_set_data], tree3,obj_point |
551 | stdcall dword[tl_node_set_data], tree3,obj_point |
293 | stdcall dword[tl_draw], tree3 |
552 | stdcall dword[tl_draw], tree3 |
294 | mov byte[can_save],1 ;¤«ï ¯®ª § ª®¯ª¨ '®åà ¨âì' |
553 | mov byte[can_save],1 ;¤«ï ¯®ª § ª®¯ª¨ '®åà ¨âì' |
295 | mov dword[offs_last_timer],0 ;¤«ï ®¡®¢«¥¨ï ¡«®ª ¢ â ©¬¥à¥ |
554 | mov dword[offs_last_timer],0 ;¤«ï ®¡®¢«¥¨ï ¡«®ª ¢ â ©¬¥à¥ |
- | 555 | call draw_3d |
|
296 | .no_select_1: |
556 | .no_select_1: |
297 | pop esi edi ecx ebx eax |
557 | pop esi edi ecx ebx eax |
298 | jmp prop_still |
558 | jmp prop_still.end |
299 | @@: |
559 | @@: |
Line 300... | Line 560... | ||
300 | 560 | ||
301 | cmp ah,1 |
561 | cmp ah,1 |
302 | jne prop_still |
562 | jne prop_still.end |
303 | .exit: |
563 | .exit: |
304 | mov dword[tree3.data_img],0 ;ç¨á⨬ 㪠§ ⥫¨ ¨ª®ª¨ çâ®-¡ë ¨å ¥ 㤠«¨« ¤¥áâàãªâ®à |
564 | mov dword[tree3.data_img],0 ;ç¨á⨬ 㪠§ ⥫¨ ¨ª®ª¨ çâ®-¡ë ¨å ¥ 㤠«¨« ¤¥áâàãªâ®à |
305 | mov dword[tree3.data_img_sys],0 ;â. ª. ®¨ ¥é¥ ¨á¯®«ì§ãîâìáï ¢ ¤à㣨å í«¥¬¥â å |
565 | mov dword[tree3.data_img_sys],0 ;â. ª. ®¨ ¥é¥ ¨á¯®«ì§ãîâìáï ¢ ¤à㣨å í«¥¬¥â å |
306 | stdcall dword[tl_data_clear], tree3 |
566 | stdcall dword[tl_data_clear], tree3 |
307 | mov byte[prop_wnd_run],0 ;®¡ã«ï¥¬ áç¥â稪 ®ª® |
567 | mov byte[prop_wnd_run],0 ;®¡ã«ï¥¬ áç¥â稪 ®ª® |
Line -... | Line 568... | ||
- | 568 | mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
|
- | 569 | ||
- | 570 | align 4 |
|
- | 571 | get_point_coords: |
|
- | 572 | ;§ £à㧪 ª®®à¤¨ â ¢ editbox-ë |
|
- | 573 | push eax ebx |
|
- | 574 | stdcall [tl_node_get_data],tree3 |
|
- | 575 | cmp eax,0 |
|
- | 576 | je @f |
|
- | 577 | mov ebx,[eax] |
|
- | 578 | mov word[NumberSymbolsAD],8 |
|
- | 579 | finit |
|
- | 580 | fld dword[ebx] |
|
- | 581 | fstp qword[Data_Double] |
|
- | 582 | call DoubleFloat_to_String |
|
- | 583 | stdcall [edit_box_set_text], edit1, Data_String |
|
- | 584 | fld dword[ebx+4] |
|
- | 585 | fstp qword[Data_Double] |
|
- | 586 | call DoubleFloat_to_String |
|
- | 587 | stdcall [edit_box_set_text], edit2, Data_String |
|
- | 588 | fld dword[ebx+8] |
|
- | 589 | fstp qword[Data_Double] |
|
- | 590 | call DoubleFloat_to_String |
|
- | 591 | stdcall [edit_box_set_text], edit3, Data_String |
|
- | 592 | stdcall [edit_box_draw], edit1 |
|
- | 593 | stdcall [edit_box_draw], edit2 |
|
- | 594 | stdcall [edit_box_draw], edit3 |
|
- | 595 | @@: |
|
- | 596 | pop ebx eax |
|
- | 597 | ret |
|
- | 598 | ||
- | 599 | align 4 |
|
- | 600 | sph_radius dd 0 ;à ¤¨ãá áä¥àë ¤«ï ¢ë¤¥«¥¨ï ªâ¨¢®© â®çª¨ |
|
- | 601 | obj_x_max dd 0 |
|
- | 602 | obj_x_min dd 0 |
|
- | 603 | obj_x_centr dd 0 |
|
- | 604 | obj_x_scale dd 1.0 |
|
- | 605 | obj_y_max dd 0 |
|
- | 606 | obj_y_min dd 0 |
|
- | 607 | obj_y_centr dd 0 |
|
- | 608 | obj_y_scale dd 1.0 |
|
- | 609 | obj_z_max dd 0 |
|
- | 610 | obj_z_min dd 0 |
|
- | 611 | obj_z_centr dd 0 |
|
308 | mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
612 | obj_z_scale dd 1.0 |
Line 309... | Line 613... | ||
309 | 613 | ||
310 | capt_p dd 0 |
614 | capt_p dd 0 |
311 | - | ||
312 | ;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ ⥫ì᪮¬ ä ©«¥ |
615 | |
313 | tree3 tree_list MAX_OBJECT_SIZE,3,\ |
616 | ;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ ⥫ì᪮¬ ä ©«¥ |
314 | tl_key_no_edit+tl_list_box_mode,\ |
617 | tree3 tree_list MAX_OBJECT_SIZE,3, tl_key_no_edit+tl_list_box_mode,\ |
315 | 16,16, 0xffffff,0xb0d0ff,0xd000ff, 5,30,300,160, 16, 4,0, el_focus,\ |
618 | 16,16, 0xffffff,0xb0d0ff,0x400040, 5,270,303,160, 16, 4,0, el_focus,\ |
316 | w_scr_t3,0 |
619 | w_scr_t3,get_point_coords |
317 | 620 | ||
318 | edit1 edit_box 80, 70, 200, 0xffffff, 0xff, 0x80ff, 0, 0x8000, 34, string1, mouse_dd, 0 |
621 | edit1 edit_box 80, 76, 249, 0xffd0d0, 0xff, 0x80ff, 0, 0x8000, 34, string1, mouse_dd, 0 |
Line 319... | Line 622... | ||
319 | edit2 edit_box 80, 154, 200, 0xffffff, 0xff, 0x80ff, 0, 0x8000, 34, string2, mouse_dd, 0 |
622 | edit2 edit_box 80, 160, 249, 0xd0d0ff, 0xff, 0x80ff, 0, 0x8000, 34, string2, mouse_dd, 0 |
320 | edit3 edit_box 80, 238, 200, 0xffffff, 0xff, 0x80ff, 0, 0x8000, 34, string3, mouse_dd, 0 |
623 | edit3 edit_box 80, 244, 249, 0xd0ffd0, 0xff, 0x80ff, 0, 0x8000, 34, string3, mouse_dd, 0 |
321 | editboxes_end: |
624 | editboxes_end: |
Line 322... | Line 625... | ||
322 | 625 | ||
323 | string1 rb 34 |
- | |
324 | string2 rb 34 |
- | |
325 | string3 rb 34 |
- | |
326 | - | ||
327 | align 4 |
- | |
328 | w_scr_t3: |
- | |
329 | .size_x dw 16 ;+0 |
- | |
330 | rb 2+2+2 |
- | |
331 | .btn_high dd 15 ;+8 |
626 | string1 rb 34 |
332 | .type dd 1 ;+12 |
- | |
333 | .max_area dd 100 ;+16 |
- | |
334 | rb 4+4 |
- | |
335 | .bckg_col dd 0xeeeeee ;+28 |
- | |
336 | .frnt_col dd 0xbbddff ;+32 |
- | |
337 | .line_col dd 0 ;+36 |
- | |
338 | rb 4+2+2 |
- |