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 |