17,7 → 17,7 |
include 'vox_draw.inc' |
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
caption db 'Voxel editor 12.06.12',0 ;¯®¤¯¨áì ®ª |
caption db 'Voxel editor 19.06.12',0 ;¯®¤¯¨áì ®ª |
|
struct FileInfoBlock |
Function dd ? |
474,13 → 474,13 |
mov edi,[sc.work_button] |
int 0x40 ;¬ áèâ ¡ |
mov ecx,[v_cur_x] |
add edx,(6*2)*65536+9 |
int 0x40 ; |
add edx,9 |
int 0x40 ;ªãàá®à x |
mov ecx,[v_cur_y] |
add edx,(6*0)*65536+9 |
int 0x40 ; |
add edx,9 |
int 0x40 ;ªãàá®à y |
mov ecx,[n_plane] |
add edx,(6*0)*65536+9 |
add edx,9 |
int 0x40 ;®¬¥à á¥ç¥¨ï |
|
mov eax,4 ;à¨á®¢ ¨¥ ⥪áâ |
914,7 → 914,8 |
mov ebx,[scaled_zoom] |
sub eax,ebx |
inc ebx |
stdcall [buf2d_vox_obj_draw_3g_scaled], buf_r_img, buf_r_z, buf_vox, [open_file_vox], 0,0, 0, ebx, [cam_x],[cam_y],[cam_z],eax, 0xd080d0 |
stdcall [buf2d_vox_obj_draw_3g_scaled], buf_r_img, buf_r_z, buf_vox,\ |
[open_file_vox], 0,0, 0, ebx, [cam_x],[cam_y],[cam_z],eax, [sc.work_graph] |
bt dword[mode_light],0 |
jnc @f |
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_r_img, buf_r_z, buf_vox, 0,0, 0, ebx, 3 |
1038,14 → 1039,66 |
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_0, buf_0z, buf_vox, 0,0, 0, [scaled_zoom], 3 |
.end_2: |
.end_0: |
|
pop ecx ebx eax |
|
call draw_vox_cursor |
stdcall [buf2d_draw], buf_0 ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
stdcall [buf2d_draw], buf_pl ;®¡®¢«ï¥¬ ¡ãä¥à íªà ¥ |
.end_f: |
ret |
|
;à¨á®¢ ¨¥ ªãàá®à |
align 4 |
draw_vox_cursor: |
pushad |
mov ecx,[v_zoom] |
cmp ecx,[scaled_zoom] |
jle @f |
mov ecx,[scaled_zoom] |
@@: |
xor edx,edx |
inc edx |
shl edx,cl |
|
mov eax,[v_cur_x] |
cmp eax,edx |
jge .end_f ;ªãàá®à § ¯à¥¤¥« ¬¨ ¯®«ï |
mov edi,TILE_SIZE |
imul eax,edi |
add eax,OT_MAP_X |
mov ebx,edx |
dec ebx |
sub ebx,[v_cur_y] |
imul ebx,edi |
add ebx,OT_MAP_Y |
inc eax |
inc ebx |
sub edi,2 |
stdcall [buf2d_rect_by_size], buf_pl, eax,ebx, edi,edi,[sc.work_graph] |
dec ebx |
add edi,2 |
|
;£®à¨§®â «ìë¥ «¨¨¨ |
sub eax,2 |
mov ecx,edi |
imul edi,edx |
shr ecx,1 |
add ebx,ecx ;æ¥â஢ª ¯® á¥à¥¤¨¥ ª«¥âª¨ |
mov ecx,OT_MAP_X |
add edi,ecx |
stdcall [buf2d_line], buf_pl, ecx,ebx, eax,ebx,[sc.work_graph] |
add eax,TILE_SIZE |
inc eax |
cmp eax,edi |
jge @f ;¥á«¨ ªãàá®à ªà î ¯®«ï |
dec edi |
stdcall [buf2d_line], buf_pl, eax,ebx, edi,ebx,[sc.work_graph] |
@@: |
|
.end_f: |
popad |
ret |
|
if 0 |
;input: |
; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥ |