add 'voxel_editor' to iso, small fixes in 'info3ds'

git-svn-id: svn://kolibrios.org@6247 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2016-02-18 21:02:58 +00:00
parent bbc41a6fd1
commit f0aeaf2628
4 changed files with 61 additions and 132 deletions

View File

@@ -137,6 +137,13 @@ extra_files = {
{"kolibrios/3D/info3ds/TL_SYS_16.PNG", PROGS .. "/develop/info3ds/tl_sys_16.png"}, {"kolibrios/3D/info3ds/TL_SYS_16.PNG", PROGS .. "/develop/info3ds/tl_sys_16.png"},
{"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"}, {"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"},
{"kolibrios/3D/info3ds/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"}, {"kolibrios/3D/info3ds/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
{"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
{"kolibrios/3D/voxel_editor/CURSORS.PNG", PROGS .. "/media/voxel_editor/trunk/cursors.png"},
{"kolibrios/3D/voxel_editor/CURSORS_GR.PNG", PROGS .. "/media/voxel_editor/trunk/cursors_gr.png"},
{"kolibrios/3D/voxel_editor/TOOLBAR.PNG", PROGS .. "/media/voxel_editor/trunk/toolbar.png"},
{"kolibrios/3D/voxel_editor/VOXEL_EDITOR.INI", PROGS .. "/media/voxel_editor/trunk/voxel_editor.ini"},
{"kolibrios/3D/voxel_editor/HOUSE1.VOX", PROGS .. "/media/voxel_editor/trunk/house1.vox"},
{"kolibrios/3D/voxel_editor/HOUSE2.VOX", PROGS .. "/media/voxel_editor/trunk/house2.vox"},
{"kolibrios/emul/dosbox/", "common/emul/DosBox/*"}, {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
{"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"}, {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
{"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"}, {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},

View File

@@ -88,7 +88,7 @@ start:
cmp ebp,l_libs_end cmp ebp,l_libs_end
jl .test_lib_open jl .test_lib_open
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
mcall SF_SET_EVENTS_MASK,0x27 mcall SF_SET_EVENTS_MASK,0xC0000027
stdcall [OpenDialog_Init],OpenDialog_data ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdcall [OpenDialog_Init],OpenDialog_data ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -1029,7 +1029,7 @@ system_dir_3 db '/sys/lib/'
lib_name_3 db 'buf2d.obj',0 lib_name_3 db 'buf2d.obj',0
system_dir_4 db '/sys/lib/' system_dir_4 db '/sys/lib/'
lib_name_4 db 'kmenu.obj',0 lib_name_4 db 'kmenu.obj',0
system_dir_5 db '/sys/lib/' system_dir_5 db '/kolibrios/lib/'
lib_name_5 db 'tinygl.obj',0 lib_name_5 db 'tinygl.obj',0
system_dir_6 db '/sys/lib/' system_dir_6 db '/sys/lib/'
lib_name_6 db 'libini.obj',0 lib_name_6 db 'libini.obj',0
@@ -1083,7 +1083,7 @@ l_libs_start:
lib_4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\ lib_4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\
err_msg_found_lib_4, head_f_l, import_libkmenu,err_msg_import_4,head_f_i err_msg_found_lib_4, head_f_l, import_libkmenu,err_msg_import_4,head_f_i
lib_5 l_libs lib_name_5, sys_path, file_name, system_dir_5,\ lib_5 l_libs lib_name_5, sys_path, file_name, system_dir_5,\
err_msg_found_lib_5, head_f_l, import_lib_tinygl,err_msg_import_5,head_f_i,lib_sub_folder err_msg_found_lib_5, head_f_l, import_lib_tinygl,err_msg_import_5,head_f_i
lib_6 l_libs lib_name_6, sys_path, file_name, system_dir_6,\ lib_6 l_libs lib_name_6, sys_path, file_name, system_dir_6,\
err_msg_found_lib_6, head_f_l, import_libini, err_msg_import_6,head_f_i err_msg_found_lib_6, head_f_l, import_libini, err_msg_import_6,head_f_i
l_libs_end: l_libs_end:
@@ -1367,8 +1367,6 @@ else
capt db 'info 3ds version 18.02.16',0 ;window caption capt db 'info 3ds version 18.02.16',0 ;window caption
end if end if
lib_sub_folder db '../../lib/',0
align 16 align 16
i_end: i_end:
procinfo process_information procinfo process_information

View File

@@ -96,7 +96,7 @@ start:
cmp ebp,l_libs_end cmp ebp,l_libs_end
jl .test_lib_open jl .test_lib_open
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
mcall SF_SET_EVENTS_MASK,0x27 mcall SF_SET_EVENTS_MASK,0xC0000027
stdcall [OpenDialog_Init],OpenDialog_data ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdcall [OpenDialog_Init],OpenDialog_data ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -1069,7 +1069,7 @@ system_dir_3 db '/sys/lib/'
lib_name_3 db 'buf2d.obj',0 lib_name_3 db 'buf2d.obj',0
system_dir_4 db '/sys/lib/' system_dir_4 db '/sys/lib/'
lib_name_4 db 'kmenu.obj',0 lib_name_4 db 'kmenu.obj',0
system_dir_5 db '/sys/lib/' system_dir_5 db '/kolibrios/lib/'
lib_name_5 db 'tinygl.obj',0 lib_name_5 db 'tinygl.obj',0
system_dir_6 db '/sys/lib/' system_dir_6 db '/sys/lib/'
lib_name_6 db 'libini.obj',0 lib_name_6 db 'libini.obj',0
@@ -1123,7 +1123,7 @@ l_libs_start:
lib_4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\ lib_4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\
err_msg_found_lib_4, head_f_l, import_libkmenu,err_msg_import_4,head_f_i err_msg_found_lib_4, head_f_l, import_libkmenu,err_msg_import_4,head_f_i
lib_5 l_libs lib_name_5, sys_path, file_name, system_dir_5,\ lib_5 l_libs lib_name_5, sys_path, file_name, system_dir_5,\
err_msg_found_lib_5, head_f_l, import_lib_tinygl,err_msg_import_5,head_f_i,lib_sub_folder err_msg_found_lib_5, head_f_l, import_lib_tinygl,err_msg_import_5,head_f_i
lib_6 l_libs lib_name_6, sys_path, file_name, system_dir_6,\ lib_6 l_libs lib_name_6, sys_path, file_name, system_dir_6,\
err_msg_found_lib_6, head_f_l, import_libini, err_msg_import_6,head_f_i err_msg_found_lib_6, head_f_l, import_libini, err_msg_import_6,head_f_i
l_libs_end: l_libs_end:
@@ -1402,8 +1402,6 @@ else
capt db 'info 3ds [user] version 18.02.16',0 ;window caption capt db 'info 3ds [user] version 18.02.16',0 ;window caption
end if end if
lib_sub_folder db '../../lib/',0
align 16 align 16
i_end: i_end:
procinfo process_information procinfo process_information

View File

@@ -1,44 +1,23 @@
use32 use32
org 0x0 org 0x0
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD> db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
dd 0x1 dd 1, start, i_end, mem, stacktop, 0, sys_path
dd start
dd i_end ;ࠧ<><E0A0A7><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dd mem
dd stacktop
dd 0
dd sys_path
include '../../../../programs/macros.inc' include '../../../../programs/macros.inc'
include '../../../../programs/proc32.inc' include '../../../../programs/proc32.inc'
include '../../../../programs/develop/libraries/box_lib/load_lib.mac' include '../../../../programs/KOSfuncs.inc'
include '../../../dll.inc' include '../../../../programs/load_img.inc'
include 'vox_draw.inc' include 'vox_draw.inc'
include 'vox_rotate.inc' include 'vox_rotate.inc'
include 'str.inc' include 'str.inc'
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
caption db 'Voxel editor 02.02.15',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> caption db 'Voxel editor 18.02.16',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
struct FileInfoBlock
Function dd ?
Position dd ?
Flags dd ?
Count dd ?
Buffer dd ?
db ?
FileName dd ?
ends
run_file_70 FileInfoBlock
image_data dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><EFBFBD> <20><EFBFBD><EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
fn_toolbar db 'toolbar.png',0 fn_toolbar db 'toolbar.png',0
IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3
IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*27
image_data_toolbar dd 0 image_data_toolbar dd 0
cursors_count equ 4 cursors_count equ 4
IMAGE_CURSORS_SIZE equ 4096*cursors_count ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><E2A8AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;<3B><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><EFBFBD><E7A0AD>, <20><><EFBFBD> ini 䠩<><E4A0A9> ;<3B><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><EFBFBD><E7A0AD>, <20><><EFBFBD> ini 䠩<><E4A0A9>
ini_def_window_t equ 10 ini_def_window_t equ 10
@@ -65,45 +44,6 @@ key_t_size db 'tile_size',0
key_f_size db 'file_size',0 key_f_size db 'file_size',0
key_col_b db 'c_background',0 key_col_b db 'c_background',0
macro load_image_file path,buf,size { ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
;path - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0AEAA><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC>
if path eqtype '' ;<3B><EFBFBD><E0AEA2><20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E0AEAA> <20><><EFBFBD><E0A0AC><EFBFBD> path
jmp @f
local .path_str
.path_str db path ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
db 0
@@:
;32 - <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><>
copy_path .path_str,[32],file_name,0x0
else
copy_path path,[32],file_name,0x0 ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><E4A0A9> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>, <20><><EFBFBD>ࠧ㬥<E0A0A7><E3ACA5><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>
end if
stdcall mem.Alloc, dword size ;<3B><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
mov [buf],eax
mov eax,70 ;70-<2D> <20><EFBFBD><E3ADAA><EFBFBD><><E0A0A1><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD>
mov [run_file_70.Function], 0
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 byte[run_file_70+20], 0
mov [run_file_70.FileName], file_name
mov ebx,run_file_70
int 0x40 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E3A6A0><> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
cmp ebx,0xffffffff
je @f
;<3B><><EFBFBD><E0A5A4><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A5A2><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> image_data
stdcall dword[img_decode], dword[buf],ebx,0
mov dword[image_data],eax
;<3B><EFBFBD>ࠧ㥬 <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0ACA0> rgb
stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
;㤠<><20><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> image_data
stdcall dword[img_destroy], dword[image_data]
@@:
}
OT_MAP_X equ 0 OT_MAP_X equ 0
OT_MAP_Y equ 0 OT_MAP_Y equ 0
OT_CAPT_X_COLOR equ 5 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E6A2A5> OT_CAPT_X_COLOR equ 5 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E6A2A5>
@@ -113,17 +53,23 @@ PEN_MODE_CLEAR equ 0 ;
PEN_MODE_SELECT_COLOR equ 2 ;<><E0A5A6> <20><EFBFBD><EBA1AE><><E6A2A5> PEN_MODE_SELECT_COLOR equ 2 ;<><E0A5A6> <20><EFBFBD><EBA1AE><><E6A2A5>
PEN_MODE_BRUSH equ 3 ;<><E0A5A6><><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PEN_MODE_BRUSH equ 3 ;<><E0A5A6><><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
run_file_70 FileInfoBlock
align 4 align 4
start: start:
load_libraries l_libs_start,l_libs_end load_libraries l_libs_start,l_libs_end
;<3B><EFBFBD><20><><>쪮 㤠筮 <20><><EFBFBD><EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><EFBFBD><20><><>쪮 㤠筮 <20><><EFBFBD><EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebp,lib_2 mov ebp,lib_0
.test_lib_open:
cmp dword [ebp+ll_struc_size-4],0 cmp dword [ebp+ll_struc_size-4],0
jz @f jz @f
mcall -1 ;exit not correct mcall SF_TERMINATE_PROCESS ;exit not correct
@@: @@:
mcall 48,3,sc,sizeof.system_colors add ebp,ll_struc_size
mcall 40,0x27 cmp ebp,l_libs_end
jl .test_lib_open
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
mcall SF_SET_EVENTS_MASK,0xC0000027
stdcall [OpenDialog_Init],OpenDialog_data ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdcall [OpenDialog_Init],OpenDialog_data ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;--- load ini file --- ;--- load ini file ---
@@ -172,11 +118,11 @@ start:
mov [buf_pl.h],eax mov [buf_pl.h],eax
;*** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ;*** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
load_image_file 'cursors_gr.png',image_data_toolbar,IMAGE_CURSORS_SIZE load_image_file 'cursors_gr.png',image_data_toolbar
stdcall [buf2d_create_f_img], buf_curs_8,[image_data_toolbar] ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> stdcall [buf2d_create_f_img], buf_curs_8,[image_data_toolbar] ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
stdcall mem.Free,[image_data_toolbar] ;<3B><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdcall mem.Free,[image_data_toolbar] ;<3B><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
load_image_file 'cursors.png',image_data_toolbar, IMAGE_CURSORS_SIZE load_image_file 'cursors.png',image_data_toolbar
stdcall [buf2d_create_f_img], buf_curs,[image_data_toolbar] ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> stdcall [buf2d_create_f_img], buf_curs,[image_data_toolbar] ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
stdcall mem.Free,[image_data_toolbar] ;<3B><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdcall mem.Free,[image_data_toolbar] ;<3B><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -191,7 +137,7 @@ start:
stdcall [buf2d_vox_brush_create], buf_vox_g3, vox_6_7_z stdcall [buf2d_vox_brush_create], buf_vox_g3, vox_6_7_z
stdcall [buf2d_vox_brush_create], buf_vox_g2, vox_6_4_z stdcall [buf2d_vox_brush_create], buf_vox_g2, vox_6_4_z
load_image_file fn_toolbar, image_data_toolbar,IMAGE_TOOLBAR_SIZE load_image_file fn_toolbar, image_data_toolbar
stdcall mem.Alloc,[max_open_file_size] stdcall mem.Alloc,[max_open_file_size]
mov dword[open_file_vox],eax mov dword[open_file_vox],eax
@@ -207,7 +153,7 @@ red_win:
align 4 align 4
still: still:
mcall 10 mcall SF_WAIT_EVENT
cmp al,1 cmp al,1
jz red_win jz red_win
@@ -217,7 +163,7 @@ still:
jz button jz button
cmp al,6 cmp al,6
jne @f jne @f
mcall 9,procinfo,-1 mcall SF_THREAD_INFO,procinfo,-1
cmp ax,word[procinfo+4] cmp ax,word[procinfo+4]
jne @f ;<3B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E2A8A2> jne @f ;<3B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E2A8A2>
call mouse call mouse
@@ -227,10 +173,10 @@ still:
align 4 align 4
mouse: mouse:
pushad pushad
mcall 37,2 mcall SF_MOUSE_GET,SSF_BUTTON
bt eax,1 ;right button bt eax,1 ;right button
jnc @f jnc @f
mcall 37,1 ;get mouse coords mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
mov ebx,eax mov ebx,eax
shr ebx,16 shr ebx,16
and eax,0xffff and eax,0xffff
@@ -240,7 +186,7 @@ mouse:
@@: @@:
bt eax,0 ;left button bt eax,0 ;left button
jnc .end_f jnc .end_f
mcall 37,1 ;get mouse coords mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
mov ebx,eax mov ebx,eax
shr ebx,16 shr ebx,16
and eax,0xffff and eax,0xffff
@@ -352,7 +298,7 @@ mouse:
mov ecx,dword[v_zoom] mov ecx,dword[v_zoom]
mov edi,eax mov edi,eax
mov esi,ebx mov esi,ebx
mcall 66,3 mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS
and eax,3 ;3 -> <20><><EFBFBD> 0 <20><><EFBFBD><EFBFBD><EFBFBD> Shift <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> 1 <20><EFBFBD><E0A0A2> Shift <20><><EFBFBD><EFBFBD><EFBFBD> and eax,3 ;3 -> <20><><EFBFBD> 0 <20><><EFBFBD><EFBFBD><EFBFBD> Shift <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> 1 <20><EFBFBD><E0A0A2> Shift <20><><EFBFBD><EFBFBD><EFBFBD>
jz .shift_end jz .shift_end
;<3B><20><><EFBFBD><EFBFBD><EFBFBD> Shift, <20><><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2> ;<3B><20><><EFBFBD><EFBFBD><EFBFBD> Shift, <20><><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2>
@@ -432,21 +378,16 @@ convert_y:
align 4 align 4
draw_window: draw_window:
pushad pushad
mcall 12,1 mcall SF_REDRAW,SSF_BEGIN_DRAW
; *** <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 ࠧ <20><><EFBFBD> <20><><EFBFBD><EFBFBD>᪥) *** ; *** <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 ࠧ <20><><EFBFBD> <20><><EFBFBD><EFBFBD>᪥) ***
mov edx,[sc.work] mov edx,[sc.work]
or edx,(3 shl 24)+0x30000000 or edx,(3 shl 24)+0x30000000
mov edi,caption mov edi,caption
mcall 0,dword[wnd_s_pos],dword[wnd_s_pos+4] mcall SF_CREATE_WINDOW,dword[wnd_s_pos],dword[wnd_s_pos+4]
; *** ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *** ; *** ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ***
mov eax,8 mcall SF_DEFINE_BUTTON,(5 shl 16)+20,(5 shl 16)+20,3,[sc.work_button]
mov ebx,(5 shl 16)+20
mov ecx,(5 shl 16)+20
mov edx,3
mov esi,[sc.work_button]
int 0x40
mov ebx,(30 shl 16)+20 mov ebx,(30 shl 16)+20
inc edx inc edx
@@ -528,11 +469,7 @@ pushad
int 0x40 int 0x40
; *** <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *** ; *** <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ***
mov eax,7 mcall SF_PUT_IMAGE,[image_data_toolbar],(16 shl 16)+16,(7 shl 16)+7 ;icon new
mov ebx,[image_data_toolbar]
mov ecx,(16 shl 16)+16
mov edx,(7 shl 16)+7 ;icon new
int 0x40
add ebx,IMAGE_TOOLBAR_ICON_SIZE add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16) ;icon open add edx,(25 shl 16) ;icon open
@@ -618,7 +555,7 @@ pushad
call draw_objects call draw_objects
call draw_pok call draw_pok
mcall 12,2 mcall SF_REDRAW,SSF_END_DRAW
popad popad
ret ret
@@ -660,12 +597,10 @@ draw_pok:
stdcall str_cat, txt_brush.size,edi stdcall str_cat, txt_brush.size,edi
stdcall str_cat, txt_brush.size,txt_space ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><EFBFBD><E0AEA1> stdcall str_cat, txt_brush.size,txt_space ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><EFBFBD><E0AEA1>
mov eax,4 ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><><E2A5AA><EFBFBD>
mov ebx,(OT_CAPT_X_COLOR shl 16)+OT_CAPT_Y_COLOR+2
mov ecx,[sc.work_text] mov ecx,[sc.work_text]
or ecx,0x80000000 ;or (1 shl 30) or ecx,0x80000000 ;or (1 shl 30)
mov edx,txt_color mov edx,txt_color
int 0x40 mcall SF_DRAW_TEXT,(OT_CAPT_X_COLOR shl 16)+OT_CAPT_Y_COLOR+2
mov edx,txt_curor mov edx,txt_curor
add ebx,115 shl 16 add ebx,115 shl 16
@@ -691,30 +626,26 @@ draw_pok:
align 4 align 4
on_change_color: on_change_color:
pushad pushad
mov ebx,((OT_CAPT_X_COLOR+35) shl 16)+16 ;<3B><> <20><><EFBFBD> x mcall SF_DRAW_RECT,((OT_CAPT_X_COLOR+35) shl 16)+16,(OT_CAPT_Y_COLOR shl 16)+12,[v_color]
mov ecx,(OT_CAPT_Y_COLOR shl 16)+12 ;<3B><> <20><><EFBFBD> y
mov edx,[v_color]
mcall 13
mov ebx,(1 shl 8)+(6 shl 16)
mov ecx,edx mov ecx,edx
mov edx,((OT_CAPT_X_COLOR+55) shl 16)+OT_CAPT_Y_COLOR+2 mov edx,((OT_CAPT_X_COLOR+55) shl 16)+OT_CAPT_Y_COLOR+2
mov esi,[sc.work_text] mov esi,[sc.work_text]
add esi,(1 shl 30) add esi,(1 shl 30)
mov edi,[sc.work] mov edi,[sc.work]
mcall 47 mcall SF_DRAW_NUMBER,(1 shl 8)+(6 shl 16)
popad popad
ret ret
align 4 align 4
key: key:
mcall 2 mcall SF_GET_KEY
jmp still jmp still
align 4 align 4
button: button:
mcall 17 mcall SF_GET_BUTTON
cmp ah,3 cmp ah,3
jne @f jne @f
call but_new_file call but_new_file
@@ -842,7 +773,7 @@ button:
stdcall [buf2d_delete],buf_curs_8 stdcall [buf2d_delete],buf_curs_8
stdcall mem.Free,[image_data_toolbar] stdcall mem.Free,[image_data_toolbar]
stdcall mem.Free,[open_file_vox] stdcall mem.Free,[open_file_vox]
mcall -1 mcall SF_TERMINATE_PROCESS
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><20><><EFBFBD>ᥫ쭮<E1A5AB><ECADAE> <20><><EFBFBD><EAA5AA> ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><20><><EFBFBD>ᥫ쭮<E1A5AB><ECADAE> <20><><EFBFBD><EAA5AA>
align 4 align 4
@@ -864,7 +795,6 @@ endp
align 4 align 4
open_file_vox dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9><EFBFBD> open_file_vox dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9><EFBFBD>
open_b rb 560
align 4 align 4
but_open_file: but_open_file:
@@ -876,16 +806,14 @@ but_open_file:
je .end_open_file je .end_open_file
;<3B><><EFBFBD> <20><><EFBFBD> 㤠筮<E3A4A0> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD> <20><><EFBFBD> 㤠筮<E3A4A0> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov eax,70 ;70-<2D> <20><EFBFBD><E3ADAA><EFBFBD><><E0A0A1><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD> mov [run_file_70.Function], SSF_GET_INFO
mov [run_file_70.Function], 5
mov [run_file_70.Position], 0 mov [run_file_70.Position], 0
mov [run_file_70.Flags], 0 mov [run_file_70.Flags], 0
mov dword[run_file_70.Count], 0 mov dword[run_file_70.Count], 0
mov dword[run_file_70.Buffer], open_b mov dword[run_file_70.Buffer], open_b
mov byte[run_file_70+20], 0 mov byte[run_file_70+20], 0
mov dword[run_file_70.FileName], openfile_path mov dword[run_file_70.FileName], openfile_path
mov ebx,run_file_70 mcall SF_FILE,run_file_70
int 0x40
mov ecx,dword[open_b+32] ;+32 qword: ࠧ<><E0A0A7><EFBFBD><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov ecx,dword[open_b+32] ;+32 qword: ࠧ<><E0A0A7><EFBFBD><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp ecx,[max_open_file_size] ;<3B><EFBFBD><E0AEA2>塞 ࠧ<><E0A0A7><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cmp ecx,[max_open_file_size] ;<3B><EFBFBD><E0AEA2>塞 ࠧ<><E0A0A7><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -896,23 +824,20 @@ but_open_file:
notify_window_run txt_need_memory notify_window_run txt_need_memory
@@: @@:
mov eax,70 ;70-<2D> <20><EFBFBD><E3ADAA><EFBFBD><><E0A0A1><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD> mov [run_file_70.Function], SSF_READ_FILE
mov [run_file_70.Function], 0
mov [run_file_70.Position], 0 mov [run_file_70.Position], 0
mov [run_file_70.Flags], 0 mov [run_file_70.Flags], 0
mov dword[run_file_70.Count], ecx mov dword[run_file_70.Count], ecx
m2m dword[run_file_70.Buffer], dword[open_file_vox] m2m dword[run_file_70.Buffer], dword[open_file_vox]
mov byte[run_file_70+20], 0 mov byte[run_file_70+20], 0
mov dword[run_file_70.FileName], openfile_path mov dword[run_file_70.FileName], openfile_path
mov ebx,run_file_70 mcall SF_FILE,run_file_70
int 0x40 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E3A6A0><> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
cmp ebx,0xffffffff cmp ebx,0xffffffff
je .end_open_file je .end_open_file
mcall 71,1,openfile_path mcall SF_SET_CAPTION,1,openfile_path
;--- ;---
;
mov eax,[open_file_vox] mov eax,[open_file_vox]
movzx eax,byte[eax] movzx eax,byte[eax]
and eax,0xff ;<3B><><20><><EFBFBD><EFBFBD><20><><><EFBFBD><E7A0AD> and eax,0xff ;<3B><><20><><EFBFBD><EFBFBD><20><><><EFBFBD><E7A0AD>
@@ -941,14 +866,14 @@ but_save_file:
stdcall buf2d_vox_obj_get_size, ebx stdcall buf2d_vox_obj_get_size, ebx
mov dword[run_file_70.Count], eax ;ࠧ<><E0A0A7><EFBFBD><><E4A0A9> mov dword[run_file_70.Count], eax ;ࠧ<><E0A0A7><EFBFBD><><E4A0A9>
mov [run_file_70.Function], 2 mov [run_file_70.Function], SSF_CREATE_FILE
mov [run_file_70.Position], 0 mov [run_file_70.Position], 0
mov [run_file_70.Flags], 0 mov [run_file_70.Flags], 0
mov ebx, dword[open_file_vox] mov ebx, dword[open_file_vox]
mov [run_file_70.Buffer], ebx mov [run_file_70.Buffer], ebx
mov byte[run_file_70+20], 0 mov byte[run_file_70+20], 0
mov dword[run_file_70.FileName], openfile_path mov dword[run_file_70.FileName], openfile_path
mcall 70,run_file_70 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E3A6A0><> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> mcall SF_FILE,run_file_70 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E3A6A0><> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
cmp ebx,0xffffffff cmp ebx,0xffffffff
je .end_save_file je .end_save_file
@@ -1743,12 +1668,12 @@ proc set_pen_mode uses eax ebx ecx edx, mode:dword, icon:dword, hot_p:dword
mov ecx,[icon] mov ecx,[icon]
shl ecx,12 ;㬭<><E3ACAD><EFBFBD><EFBFBD><EFBFBD> <20><> 4 <20><> shl ecx,12 ;㬭<><E3ACAD><EFBFBD><EFBFBD><EFBFBD> <20><> 4 <20><>
add ecx,[buf_curs.data] add ecx,[buf_curs.data]
mcall 37,4 mcall SF_MOUSE_GET,SSF_LOAD_CURSOR
cmp eax,0 cmp eax,0
je @f je @f
mov [cursor_pointer],eax mov [cursor_pointer],eax
mcall 37,5,[cursor_pointer] mcall SF_MOUSE_GET,SSF_SET_CURSOR,[cursor_pointer]
@@: @@:
ret ret
endp endp
@@ -1817,9 +1742,9 @@ err_msg_found_lib_3 db '
err_msg_import_3 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libini',39,0 err_msg_import_3 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libini',39,0
l_libs_start: l_libs_start:
lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ lib_0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\
err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i
lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ lib_1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\
err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i
lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\ lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\
err_msg_found_lib_2,head_f_l,import_buf2d,err_msg_import_2,head_f_i err_msg_found_lib_2,head_f_l,import_buf2d,err_msg_import_2,head_f_i
@@ -2075,7 +2000,8 @@ align 16
i_end: i_end:
wnd_s_pos: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> wnd_s_pos: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>
rq 0 rq 0
rb 4096 ;2048 rb 4096
align 16
stacktop: stacktop:
sys_path rb 1024 sys_path rb 1024
file_name: file_name: