Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2973 → Rev 2974

/programs/media/voxel_editor/trunk/voxel_editor.asm
17,7 → 17,7
include 'vox_draw.inc'
 
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
caption db 'Voxel editor 23.08.12',0 ;¯®¤¯¨áì ®ª­ 
caption db 'Voxel editor 12.09.12',0 ;¯®¤¯¨áì ®ª­ 
 
struct FileInfoBlock
Function dd ?
34,7 → 34,7
 
fn_toolbar db 'toolbar.png',0
IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3
IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*21
IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*22
image_data_toolbar dd 0
cursors_count equ 4
IMAGE_CURSORS_SIZE equ 4096*cursors_count ;à §¬¥à ª à⨭ª¨ á ªãàá®à ¬¨
494,6 → 494,9
add ebx,25 shl 16
mov edx,23
int 0x40
add ebx,25 shl 16
mov edx,24
int 0x40
 
; *** à¨á®¢ ­¨¥ ¨ª®­®ª ­  ª­®¯ª å ***
mov eax,7
552,6 → 555,9
add edx,(25 shl 16) ;­ à¨á®¢ âì ª¨áâì
int 0x40
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16) ;㤠«¨âì ª¨áâì
int 0x40
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16) ;è¨à¨­  ª¨á⨠-1
int 0x40
add ebx,IMAGE_TOOLBAR_ICON_SIZE
697,11 → 703,11
@@:
cmp ah,10
jne @f
call but_5
call but_plane_inc
@@:
cmp ah,11
jne @f
call but_6
call but_plane_dec
@@:
cmp ah,12
jne @f
738,18 → 744,22
@@:
cmp ah,20
jne @f
call but_bru_w_m
call but_brush_clear
@@:
cmp ah,21
jne @f
call but_bru_w_p
call but_bru_w_m
@@:
cmp ah,22
jne @f
call but_bru_h_m
call but_bru_w_p
@@:
cmp ah,23
jne @f
call but_bru_h_m
@@:
cmp ah,24
jne @f
call but_bru_h_p
@@:
cmp ah,1
769,12 → 779,14
stdcall mem.Free,[open_file_vox]
mcall -1
 
;¤ ­­ë¥ ¤«ï ¨­¨æ¨ «¨§ æ¨¨ ¢®ªá¥«ì­®£® ®¡ê¥ªâ 
align 4
vox_new_data:
db 2,0,0,0
db 000b,001b,010b,011b, 100b,101b,110b,111b ;default table
db 0,1,2,3,4,5,6,7 ;default table
dd 0 ;null node
 
;¨­¨æ¨ «¨§ æ¨ï ¢®ªá¥«ì­®£® ®¡ê¥ªâ 
align 4
proc but_new_file uses ecx edi esi
mov ecx,vox_offs_data+4
941,7 → 953,7
 
;ᤢ¨£ ¥¬ ¯«®áª®áâì á१ 
align 4
but_5:
but_plane_inc:
push eax ecx
inc dword[n_plane]
mov eax,[v_zoom]
984,7 → 996,7
 
;ᤢ¨£ ¥¬ ¯«®áª®áâì á१ 
align 4
but_6:
but_plane_dec:
dec dword[n_plane]
cmp dword[n_plane],0
jge .end_f
1318,6 → 1330,57
ret
 
align 4
but_brush_clear:
cmp dword[v_pen_mode],3
jne .end_f
pushad
mov eax,[v_cur_x]
mov ebx,[n_plane]
mov edx,[v_cur_y]
mov ecx,[v_zoom]
cmp ecx,[scaled_zoom]
jle @f
;¯à¥®¡à §®¢ ­¨¥ ª®®à¤¨­ â, á ãç¥â®¬ 㢥«¨ç¥­¨ï
;sub ecx,[scaled_zoom] ;¢ ecx ¯à¨à®áâ ¬ áèâ ¡  (ecx>0)
mov ecx,[scaled_zoom]
 
mov edi,[cam_x]
shl edi,cl
add eax,edi
mov edi,[cam_y]
shl edi,cl
add ebx,edi
mov edi,[cam_z]
shl edi,cl
add edx,edi
@@:
 
cld
mov edi,brush_data
mov esi,edx
sub esi,[brush_h]
.cycle_0:
mov ecx,[brush_w]
@@:
bt dword[edi],31 ;¡¨â ¯à®§à ç­®áâ¨
jc .end_2
stdcall buf2d_vox_obj_delete_node, [open_file_vox], eax,ebx,edx, [v_zoom]
.end_2:
inc eax
add edi,4
loop @b
dec edx
sub eax,[brush_w]
cmp edx,esi
jg .cycle_0
 
call draw_objects
popad
.end_f:
ret
 
align 4
draw_palete:
stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à
stdcall buf2d_draw_palete, buf_0, 5,3, 9,6, 18, 512