Rev 5415 | Rev 6889 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5415 | Rev 5949 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | use32 |
1 | use32 |
2 | org 0x0 |
2 | org 0x0 |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
4 | dd 0x1 |
- | |
5 | dd start |
- | |
6 | dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
4 | dd 1, start, i_end, mem, stacktop, 0, sys_path |
7 | dd mem |
- | |
8 | dd stacktop |
- | |
9 | dd 0 |
- | |
10 | dd sys_path |
- | |
Line 11... | Line 5... | ||
11 | 5 | ||
12 | include '../../../../programs/macros.inc' |
6 | include '../../../../programs/macros.inc' |
13 | include '../../../../programs/proc32.inc' |
7 | include '../../../../programs/proc32.inc' |
14 | include '../../../../programs/develop/libraries/box_lib/load_lib.mac' |
8 | include '../../../../programs/develop/libraries/box_lib/load_lib.mac' |
15 | include '../../../../programs/dll.inc' |
9 | include '../../../../programs/dll.inc' |
16 | include '../../../../programs/develop/libraries/TinyGL/asm_fork/opengl_const.inc' |
10 | include '../../../../programs/develop/libraries/TinyGL/asm_fork/opengl_const.inc' |
17 | include 'vox_3d.inc' |
11 | include 'vox_3d.inc' |
Line 18... | Line 12... | ||
18 | include '../trunk/str.inc' |
12 | include '../trunk/str.inc' |
19 | 13 | ||
Line 20... | Line 14... | ||
20 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
14 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
21 | caption db 'Voxel viewer 17.02.15',0 ;¯®¤¯¨áì ®ª |
15 | caption db 'Voxel viewer 07.12.15',0 ;¯®¤¯¨áì ®ª |
22 | 16 | ||
23 | struct FileInfoBlock |
17 | struct FileInfoBlock |
Line 28... | Line 22... | ||
28 | Buffer dd ? |
22 | Buffer dd ? |
29 | db ? |
23 | db ? |
30 | FileName dd ? |
24 | FileName dd ? |
31 | ends |
25 | ends |
Line -... | Line 26... | ||
- | 26 | ||
- | 27 | 3d_wnd_l equ 5 ;®âáâ㯠¤«ï tinygl ¡ãä¥à á«¥¢ |
|
- | 28 | 3d_wnd_t equ 30 ;®âáâ㯠¤«ï tinygl ¡ãä¥à ᢥàåã |
|
32 | 29 | 3d_wnd_w equ 512 |
|
- | 30 | 3d_wnd_h equ 512 |
|
33 | run_file_70 FileInfoBlock |
31 | |
Line 34... | Line 32... | ||
34 | image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì. ¤«ï 㦥 ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
32 | image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì. ¤«ï 㦥 ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
35 | 33 | ||
36 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
34 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
Line 46... | Line 44... | ||
46 | local .path_str |
44 | local .path_str |
47 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
45 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
48 | db 0 |
46 | db 0 |
49 | @@: |
47 | @@: |
50 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
48 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
51 | copy_path .path_str,[32],file_name,0x0 |
49 | copy_path .path_str,[32],file_name,0 |
52 | else |
50 | else |
53 | copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
51 | copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
54 | end if |
52 | end if |
Line 55... | Line 53... | ||
55 | 53 | ||
56 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
54 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
Line 57... | Line -... | ||
57 | mov [buf],eax |
- | |
58 | 55 | mov [buf],eax |
|
59 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
56 | |
60 | mov [run_file_70.Function], 0 |
57 | mov [run_file_70.Function], 0 |
61 | mov [run_file_70.Position], 0 |
58 | mov [run_file_70.Position], 0 |
62 | mov [run_file_70.Flags], 0 |
59 | mov [run_file_70.Flags], 0 |
63 | mov [run_file_70.Count], dword size |
60 | mov [run_file_70.Count], dword size |
64 | m2m [run_file_70.Buffer], [buf] |
61 | mov [run_file_70.Buffer], eax |
65 | mov byte[run_file_70+20], 0 |
- | |
66 | mov [run_file_70.FileName], file_name |
62 | mov byte[run_file_70+20], 0 |
67 | mov ebx,run_file_70 |
63 | mov [run_file_70.FileName], file_name |
68 | int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
64 | mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
69 | cmp ebx,0xffffffff |
65 | cmp ebx,0xffffffff |
70 | je @f |
66 | je @f |
71 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
67 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
Line 101... | Line 97... | ||
101 | stdcall img_to_gray, [image_data_toolbar],eax,(IMAGE_TOOLBAR_SIZE)/3 |
97 | stdcall img_to_gray, [image_data_toolbar],eax,(IMAGE_TOOLBAR_SIZE)/3 |
Line 102... | Line 98... | ||
102 | 98 | ||
103 | mcall 26,9 |
99 | mcall 26,9 |
Line 104... | Line 100... | ||
104 | mov [last_time],eax |
100 | mov [last_time],eax |
105 | 101 | ||
106 | stdcall [kosglMakeCurrent], 5,30,512,512,ctx1 |
102 | stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,3d_wnd_w,3d_wnd_h,ctx1 |
107 | stdcall [glEnable], GL_DEPTH_TEST |
103 | stdcall [glEnable], GL_DEPTH_TEST |
108 | stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ®à¬ «¨ ®¤¨ ª®¢®© ¢¥«¨ç¨ë ¢® ¨§¡¥¦ ¨¥ àâ¥ä ªâ®¢ |
104 | stdcall [glEnable], GL_NORMALIZE ;¤¥« ¬ ®à¬ «¨ ®¤¨ ª®¢®© ¢¥«¨ç¨ë ¢® ¨§¡¥¦ ¨¥ àâ¥ä ªâ®¢ |
Line 137... | Line 133... | ||
137 | jz red_win |
133 | jz red_win |
138 | cmp al,2 |
134 | cmp al,2 |
139 | jz key |
135 | jz key |
140 | cmp al,3 |
136 | cmp al,3 |
141 | jz button |
137 | jz button |
- | 138 | cmp al,6 |
|
- | 139 | jne @f |
|
- | 140 | call mouse |
|
- | 141 | @@: |
|
Line 142... | Line 142... | ||
142 | 142 | ||
Line 143... | Line 143... | ||
143 | jmp still |
143 | jmp still |
144 | 144 | ||
Line 315... | Line 315... | ||
315 | 315 | ||
Line 316... | Line 316... | ||
316 | jmp still |
316 | jmp still |
- | 317 | ||
- | 318 | ||
- | 319 | align 4 |
|
- | 320 | mouse: |
|
- | 321 | push eax ebx |
|
- | 322 | mcall 37,3 |
|
- | 323 | bt eax,0 |
|
- | 324 | jnc .end_m |
|
- | 325 | ;mouse l. but. move |
|
- | 326 | cmp dword[mouse_drag],1 |
|
- | 327 | jne .end_m |
|
- | 328 | mcall 37,1 ;get mouse coords |
|
- | 329 | mov ebx,eax |
|
- | 330 | shr ebx,16 ;mouse.x |
|
- | 331 | cmp ebx,3d_wnd_l |
|
- | 332 | jg @f |
|
- | 333 | mov ebx,3d_wnd_l |
|
- | 334 | @@: |
|
- | 335 | sub ebx,3d_wnd_l |
|
- | 336 | cmp ebx,3d_wnd_w |
|
- | 337 | jle @f |
|
- | 338 | mov ebx,3d_wnd_w |
|
- | 339 | @@: |
|
- | 340 | and eax,0xffff ;mouse.y |
|
- | 341 | cmp eax,3d_wnd_t |
|
- | 342 | jg @f |
|
- | 343 | mov eax,3d_wnd_t |
|
- | 344 | @@: |
|
- | 345 | sub eax,3d_wnd_t |
|
- | 346 | cmp eax,3d_wnd_h |
|
- | 347 | jle @f |
|
- | 348 | mov eax,3d_wnd_h |
|
- | 349 | @@: |
|
- | 350 | finit |
|
- | 351 | fild dword[mouse_y] |
|
- | 352 | mov [mouse_y],eax |
|
- | 353 | fisub dword[mouse_y] |
|
- | 354 | fdiv dword[angle_dxm] ;¥á«¨ ªãàá®à ¤¢¨¦¥âáï ¯® ®á¨ y (¢¢¥àå ¨«¨ ¢¨§) â® ¯®¢®à®â ¤¥« ¥¬ ¢®ªà㣠®á¨ x |
|
- | 355 | fadd dword[angle_x] |
|
- | 356 | fstp dword[angle_x] |
|
- | 357 | ||
- | 358 | fild dword[mouse_x] |
|
- | 359 | mov [mouse_x],ebx |
|
- | 360 | fisub dword[mouse_x] |
|
- | 361 | fdiv dword[angle_dym] ;¥á«¨ ªãàá®à ¤¢¨¦¥âáï ¯® ®á¨ x (¢¢¥àå ¨«¨ ¢¨§) â® ¯®¢®à®â ¤¥« ¥¬ ¢®ªà㣠®á¨ y |
|
- | 362 | fadd dword[angle_y] |
|
- | 363 | fstp dword[angle_y] |
|
- | 364 | ||
- | 365 | call draw_3d |
|
- | 366 | stdcall [kosglSwapBuffers] |
|
- | 367 | jmp .end_d |
|
- | 368 | .end_m: |
|
- | 369 | bt eax,16 |
|
- | 370 | jnc @f |
|
- | 371 | ;mouse l. but. up |
|
- | 372 | mov dword[mouse_drag],0 |
|
- | 373 | jmp .end_d |
|
- | 374 | @@: |
|
- | 375 | bt eax,8 |
|
- | 376 | jnc .end_d |
|
- | 377 | ;mouse l. but. press |
|
- | 378 | mcall 37,1 ;get mouse coords |
|
- | 379 | mov ebx,eax |
|
- | 380 | shr ebx,16 ;mouse.x |
|
- | 381 | cmp ebx,3d_wnd_l |
|
- | 382 | jl .end_d |
|
- | 383 | sub ebx,3d_wnd_l |
|
- | 384 | cmp ebx,3d_wnd_w |
|
- | 385 | jg .end_d |
|
- | 386 | and eax,0xffff ;mouse.y |
|
- | 387 | cmp eax,3d_wnd_t |
|
- | 388 | jl .end_d |
|
- | 389 | sub eax,3d_wnd_t |
|
- | 390 | cmp eax,3d_wnd_h |
|
- | 391 | jg .end_d |
|
- | 392 | mov dword[mouse_drag],1 |
|
- | 393 | mov dword[mouse_x],ebx |
|
- | 394 | mov dword[mouse_y],eax |
|
- | 395 | .end_d: |
|
- | 396 | ||
- | 397 | ;stdcall [kmainmenu_dispatch_cursorevent], [main_menu] |
|
- | 398 | pop ebx eax |
|
317 | 399 | ret |
|
318 | 400 | ||
319 | align 4 |
401 | align 4 |
320 | button: |
402 | button: |
321 | mcall 17 |
403 | mcall 17 |
Line 666... | Line 748... | ||
666 | 748 | ||
667 | mov eax,edx |
749 | mov eax,edx |
668 | mov edi,txt_stat_m1.v |
750 | mov edi,txt_stat_m1.v |
Line 669... | Line 751... | ||
669 | stdcall convert_int_to_str,20 |
751 | stdcall convert_int_to_str,20 |
670 | 752 | ||
671 | ;mov eax,ebx |
753 | mov eax,ebx |
Line 672... | Line 754... | ||
672 | ;mov edi,txt_stat_m2.v |
754 | mov edi,txt_stat_m2.v |
673 | ;stdcall convert_int_to_str,20 |
755 | stdcall convert_int_to_str,20 |
674 | 756 | ||
675 | ;stdcall str_n_cat,txt_stat_m1.v,txt_stat_m2,50 |
757 | stdcall str_n_cat,txt_stat_m1.v,txt_stat_m2,50 |
676 | notify_window_run txt_stat_m1 |
758 | notify_window_run txt_stat_m1 |
Line 677... | Line 759... | ||
677 | .end_stat: |
759 | .end_stat: |
678 | ret |
760 | ret |
679 | endp |
761 | endp |
680 | 762 | ||
681 | align 4 |
763 | align 4 |
682 | txt_stat_m1: |
764 | txt_stat_m1: |
683 | db 'â â¨á⨪ ',13,10,'®ªá¥«¥©: ' |
765 | db 'â â¨á⨪ ',13,10,'®ªá¥«¥©: ' |
Line 684... | Line 766... | ||
684 | .v: rb 50 |
766 | .v: rb 70 |
Line 715... | Line 797... | ||
715 | stdcall [glTranslatef], 0.0,0.0,0.5 ;ª®®à¤¨ âë ¯® ®á¨ z ¤®«¦ë ¡ëâì ¢ ¯à¥¤¥« å ®â 0.0 ¤® 1.0, ¨ ç¥ ¨§®¡à ¦¥¨¥ ¡ã¤¥â ®âᥪ âìáï |
797 | stdcall [glTranslatef], 0.0,0.0,0.5 ;ª®®à¤¨ âë ¯® ®á¨ z ¤®«¦ë ¡ëâì ¢ ¯à¥¤¥« å ®â 0.0 ¤® 1.0, ¨ ç¥ ¨§®¡à ¦¥¨¥ ¡ã¤¥â ®âᥪ âìáï |
716 | ;¢®ªá¥«ìë© ®¡ê¥ªâ ¨¬¥¥â ª®®à¤¨ âë ¯® ®áï¬ ®â -0.5 ¤® 0.5, ¯®â®¬ã ¥£® ¤¢¨£ ¥¬ +0.5 |
798 | ;¢®ªá¥«ìë© ®¡ê¥ªâ ¨¬¥¥â ª®®à¤¨ âë ¯® ®áï¬ ®â -0.5 ¤® 0.5, ¯®â®¬ã ¥£® ¤¢¨£ ¥¬ +0.5 |
717 | ;® ¢á¥ ¦¥ ¯à¨ ¯®¢®à®â å ¡ã¤ãâ ®âᥪ âáï ªà ï, ª®â®àë¥ ¢ë«¥§ãâ § ¯à¥¤¥«ë ¯«®áª®á⥩ ®âá¥ç¥¨ï |
799 | ;® ¢á¥ ¦¥ ¯à¨ ¯®¢®à®â å ¡ã¤ãâ ®âᥪ âáï ªà ï, ª®â®àë¥ ¢ë«¥§ãâ § ¯à¥¤¥«ë ¯«®áª®á⥩ ®âá¥ç¥¨ï |
718 | ;¢ ¢¥àᨨ opengl ¯®¤ Win ª®®à¤¨ âë ¨¤ãâ ®â -1.0 ¤® 1.0 ¯®â®¬ã â ¬ í⮣® ¤¥« âì ¥ 㦮 |
800 | ;¢ ¢¥àᨨ opengl ¯®¤ Win ª®®à¤¨ âë ¨¤ãâ ®â -1.0 ¤® 1.0 ¯®â®¬ã â ¬ í⮣® ¤¥« âì ¥ 㦮 |
719 | stdcall [glScalef], [scale], [scale], [scale] ;㢥«¨ç¨¢ ¥¬ ¢®ªá¥«ìë© ®¡ê¥ªâ, çâ®-¡ë ¥ ¡ë« ®ç¥ì ¬ «¥ìª¨¬ |
801 | stdcall [glScalef], [scale], [scale], [scale] ;㢥«¨ç¨¢ ¥¬ ¢®ªá¥«ìë© ®¡ê¥ªâ, çâ®-¡ë ¥ ¡ë« ®ç¥ì ¬ «¥ìª¨¬ |
- | 802 | stdcall [glScalef], 1.0, 1.0, 0.5 ;çâ®-¡ë ªà ï ®¡ê¥ªâ ¥ ¢ë« §¨«¨ § £à ¨ ®âá¥ç¥¨ï |
|
720 | stdcall [glRotatef], [angle_x],1.0,0.0,0.0 |
803 | stdcall [glRotatef], [angle_x],1.0,0.0,0.0 |
721 | stdcall [glRotatef], [angle_y],0.0,1.0,0.0 |
804 | stdcall [glRotatef], [angle_y],0.0,1.0,0.0 |
722 | stdcall [glRotatef], [angle_z],0.0,0.0,1.0 |
805 | stdcall [glRotatef], [angle_z],0.0,0.0,1.0 |
723 | stdcall draw_voxels_3d,[open_file_ogl] |
806 | stdcall draw_voxels_3d,[open_file_ogl] |
Line 971... | Line 1054... | ||
971 | lib_name_3 db 'tinygl.obj',0 |
1054 | lib_name_3 db 'tinygl.obj',0 |
972 | err_msg_found_lib_3 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'tinygl.obj',39,0 |
1055 | err_msg_found_lib_3 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'tinygl.obj',39,0 |
973 | err_msg_import_3 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'tinygl',39,0 |
1056 | err_msg_import_3 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'tinygl',39,0 |
974 | ;-------------------------------------------------- |
1057 | ;-------------------------------------------------- |
Line 975... | Line -... | ||
975 | - | ||
976 | sc system_colors |
1058 | |
Line 977... | Line -... | ||
977 | last_time dd 0 |
- | |
978 | - | ||
979 | align 16 |
- | |
980 | procinfo process_information |
1059 | last_time dd 0 |
981 | 1060 | ||
982 | align 4 |
1061 | align 4 |
983 | buf_0: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
1062 | buf_0: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
984 | dw 530 ;+4 left |
1063 | dw 530 ;+4 left |
Line 1004... | Line 1083... | ||
1004 | scale dd 1.414213562 |
1083 | scale dd 1.414213562 |
1005 | angle_x dd 0.0 |
1084 | angle_x dd 0.0 |
1006 | angle_y dd 0.0 |
1085 | angle_y dd 0.0 |
1007 | angle_z dd 0.0 |
1086 | angle_z dd 0.0 |
1008 | delt_size dd 3.0 |
1087 | delt_size dd 3.0 |
- | 1088 | mouse_drag dd 0 ;०¨¬ ¯®¢®à®â áæ¥ë ®â ¯¥à¥¬¥é¥¨¨ ªãàá®à ¬ëè¨ |
|
- | 1089 | mouse_x dd 0 |
|
- | 1090 | mouse_y dd 0 |
|
- | 1091 | angle_dxm dd 2.8444 ;~ 3d_wnd_w/180 - ¯à¨¡ ¢«¥¨¥ 㣫®¢ ¯®¢®à®â áæ¥ë ¯à¨ ¢à 饨¨ ¬ë襩 |
|
- | 1092 | angle_dym dd 2.8444 ;~ 3d_wnd_h/180 |
|
Line 1009... | Line 1093... | ||
1009 | 1093 | ||
1010 | opt_light dw 0 ;®¯æ¨ï ¤«ï ¢ª«î票ï/¢ëª«î票ï ᢥâ |
1094 | opt_light dw 0 ;®¯æ¨ï ¤«ï ¢ª«î票ï/¢ëª«î票ï ᢥâ |
1011 | opt_cube_box dw 1 ;®¯æ¨ï ¤«ï à¨á®¢ ¨ï à ¬ª¨ ¢®ªà㣠®¡ê¥ªâ |
1095 | opt_cube_box dw 1 ;®¯æ¨ï ¤«ï à¨á®¢ ¨ï à ¬ª¨ ¢®ªà㣠®¡ê¥ªâ |
Line 1024... | Line 1108... | ||
1024 | align 16 |
1108 | align 16 |
1025 | i_end: |
1109 | i_end: |
1026 | rb 4096 |
1110 | rb 4096 |
1027 | stacktop: |
1111 | stacktop: |
1028 | sys_path rb 1024 |
1112 | sys_path rb 1024 |
1029 | file_name: |
1113 | file_name rb 2048 |
1030 | rb 1024 ;4096 |
- | |
1031 | library_path rb 1024 |
1114 | library_path rb 1024 |
1032 | plugin_path rb 4096 |
1115 | plugin_path rb 4096 |
1033 | openfile_path rb 4096 |
1116 | openfile_path rb 4096 |
1034 | filename_area rb 256 |
1117 | filename_area rb 256 |
- | 1118 | sc system_colors |
|
- | 1119 | procinfo process_information |
|
- | 1120 | run_file_70 FileInfoBlock |
|
1035 | mem: |
1121 | mem: |