Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3951 → Rev 3969

/programs/media/voxel_editor/trunk/toolbar.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/media/voxel_editor/trunk/vox_draw.inc
87,56 → 87,6
endp
 
;
;x0y0 - x1y0
;x1y0 - x1y1
;x0y1 - x0y0
;x1y1 - x0y1
align 4
proc vox_obj_rot_z uses eax ebx ecx, v_obj:dword
mov ebx,[v_obj]
add ebx,vox_offs_tree_table
mov ecx,2
cld
@@:
mov eax,dword[ebx]
mov byte[ebx+1],al
mov byte[ebx+3],ah
shr eax,16
mov byte[ebx],al
mov byte[ebx+2],ah
add ebx,4
loop @b
ret
endp
 
;
;y0z0 - y0z1
;y0z1 - y1z1
;y1z1 - y1z0
;y1z0 - y0z0
align 4
proc vox_obj_rot_x uses eax ebx ecx, v_obj:dword
mov ebx,[v_obj]
add ebx,vox_offs_tree_table
mov eax,dword[ebx]
mov ecx,dword[ebx+4]
 
mov byte[ebx+4],al
mov byte[ebx+5],ah
shr eax,16
mov byte[ebx+0],al
mov byte[ebx+1],ah
 
mov byte[ebx+6],cl
mov byte[ebx+7],ch
shr ecx,16
mov byte[ebx+2],cl
mov byte[ebx+3],ch
 
ret
endp
 
;
;output:
; eax - ç¨á«® 㧫®¢ ¢ ®¡ê¥ªâ¥ v_obj
align 4
/programs/media/voxel_editor/trunk/vox_rotate.inc
0,0 → 1,199
;
; Ôóíêöèè äëÿ èçìåíåíèÿ âîêñåëüíîé òàáëèöû.
; Â âîêñåëüíîé òàáëèöå ñîäåðæàòñÿ 8 öèôð,
; êîòîðûå çàäàþò íàïðàâëåíèå äëÿ ðàñïîëîæåíèÿ
; äî÷åðíèõ âîêñåëåé. Èçìåíÿÿ öèôðû â ýòîé òàáëèöå
; ìîæíî ïîëó÷èòü ïîâîðîòû è çåðêàëüíûå îòîáðàæåíèÿ
; âîêñåëüíîãî èçîáðàæåíèÿ.
;
; Ñõåìà íóìåðàöèè óãëîâ â òàáëèöå:
; 4
; 5 6
; | 7 |
; | 0 |
; 1 2
; 3
; ãäå:
; 0-1 îñü x
; 0-2 îñü y
; 0-4 îñü z
 
; ïîâîðîò âîêðóã îñè z
align 4
proc vox_obj_rot_z uses eax ebx ecx, v_obj:dword
mov ebx,[v_obj]
add ebx,vox_offs_tree_table
 
;(1)
call vox_tbl_copy
 
;(2)
;0 -> 1 4 -> 5
;^ | ^ |
;2 <- 3 6 <- 7
 
mov edx,dword[eax]
mov byte[eax+1],dl ;0->1
mov byte[eax+3],dh ;1->3
shr edx,16
mov byte[eax],dl ;2->0
mov byte[eax+2],dh ;3->2
 
mov edx,dword[eax+4]
mov byte[eax+5],dl ;4->5
mov byte[eax+7],dh ;5->7
shr edx,16
mov byte[eax+4],dl ;6->4
mov byte[eax+6],dh ;7->6
;(3)
call vox_tbl_paste
 
ret
endp
 
; ïîâîðîò âîêðóã îñè y
align 4
proc vox_obj_rot_y uses eax ebx ecx, v_obj:dword
mov ebx,[v_obj]
add ebx,vox_offs_tree_table
 
;(1)
call vox_tbl_copy
 
;(2)
;0 -> 4 1 -> 5
;^ | ^ |
;2 <- 6 3 <- 7
 
mov edx,dword[eax]
mov ecx,dword[eax+4]
 
mov byte[eax+4],dl ;0->4
mov byte[eax+5],dh ;1->5
shr edx,16
mov byte[eax+0],dl ;2->0
mov byte[eax+1],dh ;3->1
 
mov byte[eax+6],cl ;4->6
mov byte[eax+7],ch ;5->7
shr ecx,16
mov byte[eax+2],cl ;6->2
mov byte[eax+3],ch ;7->3
;(3)
call vox_tbl_paste
ret
endp
 
; ïîâîðîò âîêðóã îñè x
align 4
proc vox_obj_rot_x uses eax ebx ecx, v_obj:dword
mov ebx,[v_obj]
add ebx,vox_offs_tree_table
 
;(1)
call vox_tbl_copy
 
;(2)
;0 -> 4 2 -> 6
;^ | ^ |
;1 <- 5 3 <- 7
 
mov edx,dword[eax]
mov ecx,dword[eax+4]
 
mov byte[eax+4],dl ;0->4
mov byte[eax+0],dh ;1->0
shr edx,16
mov byte[eax+6],dl ;2->6
mov byte[eax+2],dh ;3->2
 
mov byte[eax+5],cl ;4->5
mov byte[eax+1],ch ;5->1
shr ecx,16
mov byte[eax+7],cl ;6->7
mov byte[eax+3],ch ;7->3
;(3)
call vox_tbl_paste
ret
endp
 
 
;input:
; ebx = vox_offs_tree_table
align 4
vox_tbl_copy:
;(1)
mov eax,txt_buf
 
movzx ecx,byte[ebx]
add ecx,eax
mov byte[ecx],0
 
movzx ecx,byte[ebx+1]
add ecx,eax
mov byte[ecx],1
 
movzx ecx,byte[ebx+2]
add ecx,eax
mov byte[ecx],2
 
movzx ecx,byte[ebx+3]
add ecx,eax
mov byte[ecx],3
 
movzx ecx,byte[ebx+4]
add ecx,eax
mov byte[ecx],4
 
movzx ecx,byte[ebx+5]
add ecx,eax
mov byte[ecx],5
 
movzx ecx,byte[ebx+6]
add ecx,eax
mov byte[ecx],6
 
movzx ecx,byte[ebx+7]
add ecx,eax
mov byte[ecx],7
ret
 
;input:
; ebx = vox_offs_tree_table
align 4
vox_tbl_paste:
movzx ecx,byte[eax]
add ecx,ebx
mov byte[ecx],0
 
movzx ecx,byte[eax+1]
add ecx,ebx
mov byte[ecx],1
 
movzx ecx,byte[eax+2]
add ecx,ebx
mov byte[ecx],2
 
movzx ecx,byte[eax+3]
add ecx,ebx
mov byte[ecx],3
 
movzx ecx,byte[eax+4]
add ecx,ebx
mov byte[ecx],4
 
movzx ecx,byte[eax+5]
add ecx,ebx
mov byte[ecx],5
 
movzx ecx,byte[eax+6]
add ecx,ebx
mov byte[ecx],6
 
movzx ecx,byte[eax+7]
add ecx,ebx
mov byte[ecx],7
ret
/programs/media/voxel_editor/trunk/voxel_editor.asm
14,9 → 14,10
include '../../../../programs/develop/libraries/box_lib/load_lib.mac'
include '../../../dll.inc'
include 'vox_draw.inc'
include 'vox_rotate.inc'
 
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
caption db 'Voxel editor 16.11.12',0 ;¯®¤¯¨áì ®ª­ 
caption db 'Voxel editor 03.10.13',0 ;¯®¤¯¨áì ®ª­ 
 
struct FileInfoBlock
Function dd ?
33,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*23
IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*24
image_data_toolbar dd 0
cursors_count equ 4
IMAGE_CURSORS_SIZE equ 4096*cursors_count ;à §¬¥à ª à⨭ª¨ á ªãàá®à ¬¨
512,6 → 513,9
add ebx,25 shl 16
mov edx,25
int 0x40
add ebx,25 shl 16
mov edx,26
int 0x40
 
; *** à¨á®¢ ­¨¥ ¨ª®­®ª ­  ª­®¯ª å ***
mov eax,7
537,12 → 541,15
add edx,(25 shl 16) ;camera 3g 2g
int 0x40
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16) ;¯®¢®à®â 1
add edx,(25 shl 16) ;¯®¢®à®â z
int 0x40
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16) ;¯®¢®à®â 2
add edx,(25 shl 16) ;¯®¢®à®â x
int 0x40
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16) ;¯®¢®à®â y
int 0x40
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16) ;ᤢ¨£ ¯«®áª®á⨠+
int 0x40
add ebx,IMAGE_TOOLBAR_ICON_SIZE
717,70 → 724,74
@@:
cmp ah,9
jne @f
call but_3
call but_r_z
@@:
cmp ah,10
jne @f
call but_4
call but_r_x
@@:
cmp ah,11
jne @f
call but_plane_inc
call but_r_y
@@:
cmp ah,12
jne @f
call but_plane_dec
call but_plane_inc
@@:
cmp ah,13
jne @f
call but_mode_pen
call but_plane_dec
@@:
cmp ah,14
jne @f
call but_mode_brush
call but_mode_pen
@@:
cmp ah,15
jne @f
call but_mode_clear
call but_mode_brush
@@:
cmp ah,16
jne @f
call but_mode_clear
@@:
cmp ah,17
jne @f
stdcall set_pen_mode,PEN_MODE_SELECT_COLOR,3,((9 shl 8)+9) shl 16
call draw_palete
@@:
cmp ah,17
cmp ah,18
jne @f
call but_light
@@:
cmp ah,18
cmp ah,19
jne @f
call but_rend_2_2
@@:
cmp ah,19
cmp ah,20
jne @f
call but_brush_copy
@@:
cmp ah,20
cmp ah,21
jne @f
call but_brush_draw
@@:
cmp ah,21
cmp ah,22
jne @f
call but_brush_clear
@@:
cmp ah,22
cmp ah,23
jne @f
call but_bru_w_m
@@:
cmp ah,23
cmp ah,24
jne @f
call but_bru_w_p
@@:
cmp ah,24
cmp ah,25
jne @f
call but_bru_h_m
@@:
cmp ah,25
cmp ah,26
jne @f
call but_bru_h_p
@@:
976,17 → 987,23
ret
 
align 4
but_3:
but_r_z:
stdcall vox_obj_rot_z, [open_file_vox]
call draw_objects
ret
 
align 4
but_4:
but_r_x:
stdcall vox_obj_rot_x, [open_file_vox]
call draw_objects
ret
 
align 4
but_r_y:
stdcall vox_obj_rot_y, [open_file_vox]
call draw_objects
ret
 
;ᤢ¨£ ¥¬ ¯«®áª®áâì á१ 
align 4
but_plane_inc:
/programs/media/voxel_editor/utilites/toolbar.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/media/voxel_editor/utilites/toolbar_m.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/media/voxel_editor/utilites/vox_creator.asm
12,11 → 12,15
include '../../../../programs/macros.inc'
include '../../../../programs/proc32.inc'
include '../../../../programs/develop/libraries/box_lib/load_lib.mac'
include '../trunk/mem.inc'
include '../trunk/dll.inc'
include '../../../../programs/dll.inc'
 
vox_offs_tree_table equ 4
vox_offs_data equ 12
txt_buf rb 8
include '../trunk/vox_rotate.inc'
 
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
caption db 'Voxel creator 8.08.12',0 ;¯®¤¯¨áì ®ª­ 
caption db 'Voxel creator 03.10.13',0 ;¯®¤¯¨áì ®ª­ 
 
struct FileInfoBlock
Function dd ?
386,30 → 390,7
.end_f:
ret
 
;
;x0y0 - x1y0
;x1y0 - x1y1
;x0y1 - x0y0
;x1y1 - x0y1
align 4
proc vox_obj_rot_z uses eax ebx ecx, v_obj:dword
mov ebx,[v_obj]
add ebx,vox_offs_tree_table
mov ecx,2
cld
@@:
mov eax,dword[ebx]
mov byte[ebx+1],al
mov byte[ebx+3],ah
shr eax,16
mov byte[ebx],al
mov byte[ebx+2],ah
add ebx,4
loop @b
ret
endp
 
align 4
draw_window:
pushad
mcall 12,1
524,6 → 505,7
;®¡­®¢«¥­¨¥ ¯®¤¯¨á¨ à §¬¥à  ä ©« 
mov edi,txt_f_size.size
mov dword[edi],0
mov dword[edi+4],0
mov eax,dword[vox_obj_size]
mov ebx,txt_pref
.cycle:
533,6 → 515,7
add ebx,4
jmp .cycle
@@:
 
call convert_int_to_str
stdcall str_cat, edi,ebx
stdcall str_cat, edi,txt_space ;§ ¢¥àè î騩 ¯à®¡¥«
/programs/media/voxel_editor/utilites/vox_mover.asm
12,9 → 12,9
include '../../../../programs/macros.inc'
include '../../../../programs/proc32.inc'
include '../../../../programs/develop/libraries/box_lib/load_lib.mac'
include '../trunk/mem.inc'
include '../trunk/dll.inc'
include '../../../../programs/dll.inc'
include '../trunk/vox_draw.inc'
include '../trunk/vox_rotate.inc'
 
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
caption db 'Voxel mover 13.09.12',0 ;¯®¤¯¨áì ®ª­