Rev 7616 | Rev 8255 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7616 | Rev 8083 | ||
---|---|---|---|
Line 225... | Line 225... | ||
225 | stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,3d_wnd_w,3d_wnd_h,ctx1 |
225 | stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,3d_wnd_w,3d_wnd_h,ctx1 |
226 | stdcall [glEnable], GL_DEPTH_TEST |
226 | stdcall [glEnable], GL_DEPTH_TEST |
227 | stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ®à¬ «¨ ®¤¨ ª®¢®© ¢¥«¨ç¨ë ¢® ¨§¡¥¦ ¨¥ àâ¥ä ªâ®¢ |
227 | stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ®à¬ «¨ ®¤¨ ª®¢®© ¢¥«¨ç¨ë ¢® ¨§¡¥¦ ¨¥ àâ¥ä ªâ®¢ |
228 | stdcall [glClearColor], [color_bk+8],[color_bk+4],[color_bk],0.0 |
228 | stdcall [glClearColor], [color_bk+8],[color_bk+4],[color_bk],0.0 |
229 | stdcall [glShadeModel], GL_SMOOTH |
229 | stdcall [glShadeModel], GL_SMOOTH |
230 | stdcall [gluNewQuadric] |
230 | call [gluNewQuadric] |
231 | mov [qObj],eax |
231 | mov [qObj],eax |
Line 232... | Line 232... | ||
232 | 232 | ||
233 | mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext |
233 | mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext |
234 | mov eax,[eax] ;eax -> ZBuffer |
234 | mov eax,[eax] ;eax -> ZBuffer |
235 | mov eax,[eax+offs_zbuf_pbuf] ;eax -> ZBuffer.pbuf |
235 | mov eax,[eax+ZBuffer.pbuf] |
Line 236... | Line 236... | ||
236 | mov dword[buf_ogl],eax |
236 | mov dword[buf_ogl],eax |
237 | 237 | ||
238 | ;open file from cmd line |
238 | ;open file from cmd line |
Line 285... | Line 285... | ||
285 | jne .end_m |
285 | jne .end_m |
Line 286... | Line 286... | ||
286 | 286 | ||
287 | stdcall [tl_node_get_data],tree1 |
287 | stdcall [tl_node_get_data],tree1 |
288 | or eax,eax |
288 | or eax,eax |
289 | jz .end_d |
289 | jz .end_d |
290 | mov ebx,dword[eax] |
290 | mov ebx,[eax] |
291 | add ebx,dword[open_file_data] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ ¯ ¬ï⨠|
291 | add ebx,dword[open_file_data] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ ¯ ¬ï⨠|
292 | cmp word[ebx],CHUNK_OBJBLOCK |
292 | cmp word[ebx],CHUNK_OBJBLOCK |
Line 293... | Line 293... | ||
293 | jne .end_d |
293 | jne .end_d |
294 | 294 | ||
295 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
295 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
296 | mov ebx,eax |
296 | mov ebx,eax |
297 | shr ebx,16 ;mouse.x |
297 | sar ebx,16 ;mouse.x |
298 | cmp ebx,3d_wnd_l |
298 | cmp ebx,3d_wnd_l |
299 | jg @f |
299 | jg @f |
300 | mov ebx,3d_wnd_l |
300 | mov ebx,3d_wnd_l |
301 | @@: |
301 | @@: |
302 | sub ebx,3d_wnd_l |
302 | sub ebx,3d_wnd_l |
303 | cmp ebx,3d_wnd_w |
303 | cmp ebx,3d_wnd_w |
304 | jle @f |
304 | jle @f |
305 | mov ebx,3d_wnd_w |
305 | mov ebx,3d_wnd_w |
306 | @@: |
306 | @@: |
307 | and eax,0xffff ;mouse.y |
307 | movsx eax,ax ;mouse.y |
308 | cmp eax,3d_wnd_t |
308 | cmp eax,3d_wnd_t |
309 | jg @f |
309 | jg @f |
310 | mov eax,3d_wnd_t |
310 | mov eax,3d_wnd_t |
Line 344... | Line 344... | ||
344 | bt eax,8 |
344 | bt eax,8 |
345 | jnc .end_d |
345 | jnc .end_d |
346 | ;mouse l. but. press |
346 | ;mouse l. but. press |
347 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
347 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
348 | mov ebx,eax |
348 | mov ebx,eax |
349 | shr ebx,16 ;mouse.x |
349 | sar ebx,16 ;mouse.x |
350 | cmp ebx,3d_wnd_l |
350 | cmp ebx,3d_wnd_l |
351 | jl .end_d |
351 | jl .end_d |
352 | sub ebx,3d_wnd_l |
352 | sub ebx,3d_wnd_l |
353 | cmp ebx,3d_wnd_w |
353 | cmp ebx,3d_wnd_w |
354 | jg .end_d |
354 | jg .end_d |
355 | and eax,0xffff ;mouse.y |
355 | movsx eax,ax ;mouse.y |
356 | cmp eax,3d_wnd_t |
356 | cmp eax,3d_wnd_t |
357 | jl .end_d |
357 | jl .end_d |
358 | sub eax,3d_wnd_t |
358 | sub eax,3d_wnd_t |
359 | cmp eax,3d_wnd_h |
359 | cmp eax,3d_wnd_h |
360 | jg .end_d |
360 | jg .end_d |
361 | mov dword[mouse_drag],1 |
361 | mov dword[mouse_drag],1 |
362 | mov dword[mouse_x],ebx |
362 | mov dword[mouse_x],ebx |
363 | mov dword[mouse_y],eax |
363 | mov dword[mouse_y],eax |
364 | .end_d: |
364 | .end_d: |
Line 365... | Line 365... | ||
365 | 365 | ||
366 | stdcall [tl_mouse], dword tree1 |
366 | stdcall [tl_mouse], tree1 |
367 | stdcall [kmainmenu_dispatch_cursorevent], [main_menu] |
367 | stdcall [kmainmenu_dispatch_cursorevent], [main_menu] |
368 | pop ebx eax |
368 | pop ebx eax |
Line 369... | Line 369... | ||
369 | ret |
369 | ret |
Line 376... | Line 376... | ||
376 | 376 | ||
377 | ;¯à®á¬ âਢ ¥¬ ¢ë¤¥«¥ë© ¡«®ª ¤ ëå |
377 | ;¯à®á¬ âਢ ¥¬ ¢ë¤¥«¥ë© ¡«®ª ¤ ëå |
378 | stdcall [tl_node_get_data],tree1 |
378 | stdcall [tl_node_get_data],tree1 |
379 | or eax,eax |
379 | or eax,eax |
380 | jz .end_f |
- | |
381 | mov edi,eax |
380 | jz .end_f |
382 | add edi,list_offs_obj3d |
381 | lea edi,[eax+list_offs_obj3d] |
383 | mov ebx,eax |
382 | mov ebx,eax |
384 | mov eax,dword[ebx] |
383 | mov eax,[ebx] |
385 | mov ecx,dword[ebx+4] ;à §¬¥à ¡«®ª |
384 | mov ecx,[ebx+4] ;à §¬¥à ¡«®ª |
386 | stdcall hex_in_str, txt_3ds_offs.dig, eax,8 |
385 | stdcall hex_in_str, txt_3ds_offs.dig, eax,8 |
Line 387... | Line 386... | ||
387 | stdcall hex_in_str, txt_3ds_offs.siz, ecx,8 |
386 | stdcall hex_in_str, txt_3ds_offs.siz, ecx,8 |
388 | 387 | ||
389 | add eax,dword[open_file_data] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ ¯ ¬ï⨠|
388 | add eax,[open_file_data] ;¯®«ãç ¥¬ § 票¥ ᤢ¨£ ¢ ¯ ¬ï⨠|
390 | cmp dword[offs_last_timer],eax |
389 | cmp [offs_last_timer],eax |
391 | je .end_f |
390 | je .end_f |
Line 392... | Line 391... | ||
392 | ;¥á«¨ ¢ë¤¥«¥ë© ¡«®ª ¤ ëå ¥ ᮢ¯ ¤ ¥â á ¯®á«¥¤¨¬ § ¯®¬¥ë¬ |
391 | ;¥á«¨ ¢ë¤¥«¥ë© ¡«®ª ¤ ëå ¥ ᮢ¯ ¤ ¥â á ¯®á«¥¤¨¬ § ¯®¬¥ë¬ |
393 | mov dword[offs_last_timer],eax |
392 | mov [offs_last_timer],eax |
394 | 393 | ||
395 | cmp word[eax],CHUNK_OBJBLOCK |
394 | cmp word[eax],CHUNK_OBJBLOCK |
Line 420... | Line 419... | ||
420 | jmp .end_f |
419 | jmp .end_f |
421 | .end_mblo: |
420 | .end_mblo: |
Line 422... | Line 421... | ||
422 | 421 | ||
423 | stdcall buf_draw_beg, buf_ogl |
422 | stdcall buf_draw_beg, buf_ogl |
424 | stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_3ds_offs,5,35,0xb000 |
423 | stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_3ds_offs,5,35,0xb000 |
425 | mov edx,dword[ebx+list_offs_p_data] |
424 | mov edx,[ebx+list_offs_p_data] |
426 | or edx,edx ;ᬮâਬ ¥áâì «¨ ®¯¨á ¨¥ ¡«®ª |
425 | or edx,edx ;ᬮâਬ ¥áâì «¨ ®¯¨á ¨¥ ¡«®ª |
427 | jz .no_info |
426 | jz .no_info |
428 | stdcall [buf2d_draw_text], buf_ogl, buf_1,edx,5,45,0xb000 |
427 | stdcall [buf2d_draw_text], buf_ogl, buf_1,edx,5,45,0xb000 |
429 | .no_info: |
428 | .no_info: |
Line 1041... | Line 1040... | ||
1041 | rep movsb |
1040 | rep movsb |
1042 | mov byte[buffer+size_one_list-1],0 ;0 - ᨬ¢®« ª®æ áâப¨ |
1041 | mov byte[buffer+size_one_list-1],0 ;0 - ᨬ¢®« ª®æ áâப¨ |
1043 | .no_capt: |
1042 | .no_capt: |
1044 | mov ecx,(sizeof.obj_3d)/4 |
1043 | mov ecx,(sizeof.obj_3d)/4 |
1045 | xor eax,eax |
1044 | xor eax,eax |
1046 | mov edi,buffer |
- | |
1047 | add edi,list_offs_obj3d |
1045 | mov edi,buffer+list_offs_obj3d |
1048 | rep stosd |
1046 | rep stosd |
1049 | stdcall [tl_node_add], tree1, ebx, buffer |
1047 | stdcall [tl_node_add], tree1, ebx, buffer |
1050 | stdcall [tl_cur_next], tree1 |
1048 | stdcall [tl_cur_next], tree1 |
1051 | popad |
1049 | popad |
1052 | ret |
1050 | ret |
Line 1457... | Line 1455... | ||
1457 | 1455 | ||
1458 | align 4 |
1456 | align 4 |
Line 1459... | Line 1457... | ||
1459 | w_scr_t1 scrollbar 16,0, 3,0, 15, 100, 0,0, 0,0,0, 1 |
1457 | w_scr_t1 scrollbar 16,0, 3,0, 15, 100, 0,0, 0,0,0, 1 |
1460 | - | ||
1461 | align 4 |
- | |
1462 | ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext |
- | |
1463 | ;sizeof.TinyGLContext = 28 |
1458 | |
Line 1464... | Line 1459... | ||
1464 | 1459 | align 4 |
|
1465 | qObj dd 0 |
1460 | qObj dd 0 |
1466 | 1461 | ||
Line 1472... | Line 1467... | ||
1472 | mat_shininess dd 3.0 ; §¬¥à ¡«¨ª (®¡à â ï ¯à®¯®àæ¨ï) |
1467 | mat_shininess dd 3.0 ; §¬¥à ¡«¨ª (®¡à â ï ¯à®¯®àæ¨ï) |
1473 | white_light dd 0.8, 0.8, 0.8, 1.0 ; ¢¥â ¨ ¨â¥á¨¢®áâì ®á¢¥é¥¨ï, £¥¥à¨à㥬®£® ¨áâ®ç¨ª®¬ |
1468 | white_light dd 0.8, 0.8, 0.8, 1.0 ; ¢¥â ¨ ¨â¥á¨¢®áâì ®á¢¥é¥¨ï, £¥¥à¨à㥬®£® ¨áâ®ç¨ª®¬ |
1474 | lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; à ¬¥âàë ä®®¢®£® ®á¢¥é¥¨ï |
1469 | lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; à ¬¥âàë ä®®¢®£® ®á¢¥é¥¨ï |
Line 1475... | Line 1470... | ||
1475 | 1470 | ||
1476 | if lang eq ru |
1471 | if lang eq ru |
1477 | capt db 'info 3ds [user] ¢¥àá¨ï 23.03.19',0 ;¯®¤¯¨áì ®ª |
1472 | capt db 'info 3ds [user] ¢¥àá¨ï 29.09.20',0 ;¯®¤¯¨áì ®ª |
1478 | else |
1473 | else |
1479 | capt db 'info 3ds [user] version 23.03.19',0 ;window caption |
1474 | capt db 'info 3ds [user] version 29.09.20',0 ;window caption |
Line 1480... | Line 1475... | ||
1480 | end if |
1475 | end if |
1481 | 1476 | ||
- | 1477 | align 16 |
|
1482 | align 16 |
1478 | i_end: |
1483 | i_end: |
1479 | ctx1 rb 28 ;sizeof.TinyGLContext = 28 |
1484 | procinfo process_information |
1480 | procinfo process_information |
1485 | run_file_70 FileInfoBlock |
1481 | run_file_70 FileInfoBlock |
1486 | sc system_colors |
1482 | sc system_colors |