16,7 → 16,7 |
include '../trunk/dll.inc' |
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
caption db 'Voxel creator 1.08.12',0 ;¯®¤¯¨áì ®ª |
caption db 'Voxel creator 8.08.12',0 ;¯®¤¯¨áì ®ª |
|
struct FileInfoBlock |
Function dd ? |
44,6 → 44,10 |
run_file_70 FileInfoBlock |
image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì. ¤«ï 㦥 ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
vox_obj_size dd 0 ;à §¬¥à ¢®ªá¥«ì®£® ®¡ê¥ªâ (¤«ï ãáª®à¥¨ï ¢áâ ¢ª¨) |
txt_space db ' ',0 |
txt_pref db ' ¡ ',0,' ¡',0,' ¡',0,' ¡',0 ;¯à¨áâ ¢ª¨: ª¨«®, ¬¥£ , £¨£ |
txt_f_size: db ' §¬¥à: ' |
.size: rb 16 |
|
fn_toolbar db 'toolbar.png',0 |
IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
217,6 → 221,7 |
|
stdcall [buf2d_draw], buf_npl |
inc dword[n_plane] ;¯¥à¥¬¥é ¥¬ ¯«®áª®áâì á¥ç¥¨ï |
call draw_pok |
.end_f: |
popad |
jmp still |
499,6 → 504,7 |
int 0x40 |
|
call draw_buffers |
call draw_pok |
|
mcall 12,2 |
popad |
514,6 → 520,34 |
ret |
|
align 4 |
draw_pok: |
;®¡®¢«¥¨¥ ¯®¤¯¨á¨ à §¬¥à ä ©« |
mov edi,txt_f_size.size |
mov dword[edi],0 |
mov eax,dword[vox_obj_size] |
mov ebx,txt_pref |
.cycle: |
cmp eax,1024 |
jl @f |
shr eax,10 |
add ebx,4 |
jmp .cycle |
@@: |
call convert_int_to_str |
stdcall str_cat, edi,ebx |
stdcall str_cat, edi,txt_space ;§ ¢¥àè î騩 ¯à®¡¥« |
|
mov eax,4 ;à¨á®¢ ¨¥ ⥪áâ |
mov ebx,(275 shl 16)+7 |
mov ecx,[sc.work_text] |
or ecx,0x80000000 or (1 shl 30) |
mov edx,txt_f_size |
mov edi,[sc.work] ;梥â ä® ®ª |
int 0x40 |
|
ret |
|
align 4 |
key: |
mcall 2 |
jmp still |
1293,6 → 1327,35 |
ret |
endp |
|
align 4 |
proc str_cat uses eax ecx edi esi, str1:dword, str2:dword |
mov esi,dword[str2] |
stdcall str_len,esi |
mov ecx,eax |
inc ecx |
mov edi,dword[str1] |
stdcall str_len,edi |
add edi,eax |
cld |
repne movsb |
ret |
endp |
|
;output: |
; eax = strlen |
align 4 |
proc str_len, str1:dword |
mov eax,[str1] |
@@: |
cmp byte[eax],0 |
je @f |
inc eax |
jmp @b |
@@: |
sub eax,[str1] |
ret |
endp |
|
msgbox_0: |
db 1,0 |
db '¨¬ ¨¥',0 |
1646,15 → 1709,16 |
|
|
|
;íâ®â ª®¤ ¥ ¬®©, ® ¯à¥®¡à §ã¥â ç¨á«® ¢ áâபã |
;input: |
; eax = value |
; edi = string buffer |
;output: |
align 4 |
tl_convert_to_str: |
convert_int_to_str: |
pushad |
cld |
mov dword[edi+1],0 |
mov word[edi+5],0 |
call .str |
popad |
ret |
1677,9 → 1741,9 |
ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
|
i_end: |
rb 1024 |
rb 2048 |
thread: |
rb 1024 |
rb 2048 |
stacktop: |
sys_path rb 1024 |
file_name: |