Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6175 → Rev 6174

/programs/media/voxel_editor/utilites/vox_creator.asm
1,11 → 1,16
use32
org 0x0
db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
dd 1,start,i_end,mem,stacktop,0,sys_path
dd 0x1
dd start
dd i_end ;à §¬¥à ¯à¨«®¦¥­¨ï
dd mem
dd stacktop
dd 0
dd sys_path
 
include '../../../../programs/macros.inc'
include '../../../../programs/proc32.inc'
include '../../../../programs/KOSfuncs.inc'
include '../../../../programs/develop/libraries/box_lib/load_lib.mac'
include '../../../../programs/dll.inc'
include '../trunk/str.inc'
16,7 → 21,7
include '../trunk/vox_rotate.inc'
 
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
caption db 'Voxel creator 08.02.16',0 ;¯®¤¯¨áì ®ª­ 
caption db 'Voxel creator 29.01.15',0 ;¯®¤¯¨áì ®ª­ 
 
struct FileInfoBlock
Function dd ?
65,22 → 70,24
db 0
@@:
;32 - áâ ­¤ àâ­ë©  ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥­ ¡ëâì ¡ãä¥à á á¨á⥬­ë¬ ¯ã⥬
copy_path .path_str,[32],file_name,0
copy_path .path_str,[32],file_name,0x0
else
copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
end if
 
stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
mov [buf],eax
 
mov [run_file_70.Function], SSF_READ_FILE
mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
mov [run_file_70.Function], 0
mov [run_file_70.Position], 0
mov [run_file_70.Flags], 0
mov [run_file_70.Count], dword size
mov [run_file_70.Buffer], eax
m2m [run_file_70.Buffer], [buf]
mov byte[run_file_70+20], 0
mov [run_file_70.FileName], file_name
mcall SF_FILE,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
mov ebx,run_file_70
int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
cmp ebx,0xffffffff
je @f
;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
102,10 → 109,10
mov ebp,lib_0
cmp dword [ebp+ll_struc_size-4],0
jz @f
mcall SF_TERMINATE_PROCESS
mcall -1 ;exit not correct
@@:
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
mcall SF_SET_EVENTS_MASK,0x27
mcall 48,3,sc,sizeof.system_colors
mcall 40,0x27
stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª  ¤¨ «®£ 
 
stdcall [buf2d_create], buf_0 ;ᮧ¤ ­¨¥ ¡ãä¥à 
119,7 → 126,7
stdcall mem.Alloc,max_open_file_size
mov dword[open_file_img],eax
 
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
mcall 26,9
mov [last_time],eax
 
align 4
128,7 → 135,7
 
align 4
still:
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
mcall 26,9
mov ebx,[last_time]
add ebx,10 ;§ ¤¥à¦ª 
cmp ebx,eax
136,7 → 143,11
mov ebx,eax
@@:
sub ebx,eax
mcall SF_WAIT_EVENT_TIMEOUT
;cmp ebx,10 ;§ ¤¥à¦ª 
;ja timer_funct
;test ebx,ebx
;jz timer_funct
mcall 23
cmp eax,0
je timer_funct
 
155,7 → 166,7
je still
 
pushad
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
mcall 26,9
mov [last_time],eax
 
; ᪨¤ë¢ ¥¬ 㪠§ â¥«¨ ¡ãä¥à®¢ buf_npl_p, buf_npl, buf_npl_n
383,16 → 394,17
align 4
draw_window:
pushad
mcall SF_REDRAW,SSF_BEGIN_DRAW
mcall 12,1
 
; *** à¨á®¢ ­¨¥ £« ¢­®£® ®ª­  (¢ë¯®«­ï¥âáï 1 à § ¯à¨ § ¯ã᪥) ***
xor eax,eax
mov edx,[sc.work]
or edx,(3 shl 24)+0x30000000
mcall SF_CREATE_WINDOW,(20 shl 16)+410,(20 shl 16)+520,,,caption
mcall ,(20 shl 16)+410,(20 shl 16)+520,,,caption
 
; *** ᮧ¤ ­¨¥ ª­®¯®ª ­  ¯ ­¥«ì ***
mov esi,[sc.work_button]
mcall SF_DEFINE_BUTTON,(5 shl 16)+20,(5 shl 16)+20,3
mcall 8,(5 shl 16)+20,(5 shl 16)+20,3
 
mov ebx,(30 shl 16)+20
mov edx,4
432,7 → 444,7
 
; *** à¨á®¢ ­¨¥ ¨ª®­®ª ­  ª­®¯ª å ***
mov edx,(7 shl 16)+7 ;icon new
mcall SF_PUT_IMAGE,[image_data_toolbar],(16 shl 16)+16
mcall 7,[image_data_toolbar],(16 shl 16)+16
 
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16) ;icon open
466,7 → 478,7
call draw_buffers
call draw_pok
 
mcall SF_REDRAW,SSF_END_DRAW
mcall 12,2
popad
ret
 
501,19 → 513,19
mov ecx,[sc.work_text]
or ecx,0x80000000 or (1 shl 30)
mov edi,[sc.work] ;梥â ä®­  ®ª­ 
mcall SF_DRAW_TEXT,(275 shl 16)+7,,txt_f_size
mcall 4,(275 shl 16)+7,,txt_f_size
 
ret
 
align 4
key:
mcall SF_GET_KEY
mcall 2
jmp still
 
 
align 4
button:
mcall SF_GET_BUTTON
mcall 17
cmp ah,3
jne @f
call but_new_file
569,7 → 581,7
stdcall mem.Free,[image_data_toolbar]
stdcall mem.Free,[open_file_vox]
stdcall mem.Free,[open_file_img]
mcall SF_TERMINATE_PROCESS
mcall -1
 
 
align 4
629,7 → 641,7
cmp bx,28 ;28=0+1+2+...+7
jne .err_open
 
mcall SF_SET_CAPTION,1,openfile_path
mcall 71,1,openfile_path
stdcall buf2d_vox_obj_get_size,[open_file_vox]
mov [vox_obj_size],eax
call draw_object
1096,11 → 1108,11
jmp .end_0
@@:
; *** ¨§¬¥­ï¥¬ à §¬¥àë ¡ãä¥à®¢
stdcall [buf2d_resize], edi, eax,eax,1
stdcall [buf2d_resize], edi, eax,eax
mov edi,buf_npl_p
stdcall [buf2d_resize], edi, eax,eax,1
stdcall [buf2d_resize], edi, eax,eax
mov edi,buf_npl_n
stdcall [buf2d_resize], edi, eax,eax,1
stdcall [buf2d_resize], edi, eax,eax
.end_0:
mov dword[n_plane],1
mov byte[calc],1
1193,7 → 1205,7
@@:
mov ebx,dword[eax+4]
mov ecx,dword[eax+8]
stdcall [buf2d_resize], edi, ebx,ecx,1 ;¨§¬¥­ï¥¬ à §¬¥àë ¡ãä¥à 
stdcall [buf2d_resize], edi, ebx,ecx ;¨§¬¥­ï¥¬ à §¬¥àë ¡ãä¥à 
imul ecx,ebx
lea ecx,[ecx+ecx*2]
mov edi,buf2d_data