Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5949 → Rev 6175

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