forked from KolibriOS/kolibrios
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:
parent
bbc41a6fd1
commit
f0aeaf2628
@ -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"},
|
||||||
|
@ -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 ;¯®¤£®â®¢ª ¤¨ «®£
|
stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£
|
||||||
|
|
||||||
@ -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
|
||||||
|
@ -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 ;¯®¤£®â®¢ª ¤¨ «®£
|
stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£
|
||||||
|
|
||||||
@ -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
|
||||||
|
@ -1,44 +1,23 @@
|
|||||||
use32
|
use32
|
||||||
org 0x0
|
org 0x0
|
||||||
db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â
|
db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â
|
||||||
dd 0x1
|
dd 1, start, i_end, mem, stacktop, 0, sys_path
|
||||||
dd start
|
|
||||||
dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï
|
|
||||||
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 ;¯®¤¯¨áì ®ª
|
caption db 'Voxel editor 18.02.16',0 ;¯®¤¯¨áì ®ª
|
||||||
|
|
||||||
struct FileInfoBlock
|
|
||||||
Function dd ?
|
|
||||||
Position dd ?
|
|
||||||
Flags dd ?
|
|
||||||
Count dd ?
|
|
||||||
Buffer dd ?
|
|
||||||
db ?
|
|
||||||
FileName dd ?
|
|
||||||
ends
|
|
||||||
|
|
||||||
run_file_70 FileInfoBlock
|
|
||||||
image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì. ¤«ï 㦥 ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï
|
|
||||||
|
|
||||||
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 ;à §¬¥à ª à⨪¨ á ªãàá®à ¬¨
|
|
||||||
|
|
||||||
;§ ç¥¨ï § ¤ ¢ ¥¬ë¥ ¯® 㬮«ç ¨î, ¡¥§ ini ä ©«
|
;§ ç¥¨ï § ¤ ¢ ¥¬ë¥ ¯® 㬮«ç ¨î, ¡¥§ ini ä ©«
|
||||||
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 { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨©
|
|
||||||
;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬
|
|
||||||
if path eqtype '' ;¯à®¢¥à塞 § ¤ «¨ áâப®© ¯ à ¬¥âà path
|
|
||||||
jmp @f
|
|
||||||
local .path_str
|
|
||||||
.path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî
|
|
||||||
db 0
|
|
||||||
@@:
|
|
||||||
;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬
|
|
||||||
copy_path .path_str,[32],file_name,0x0
|
|
||||||
else
|
|
||||||
copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
|
|
||||||
end if
|
|
||||||
|
|
||||||
stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï
|
|
||||||
mov [buf],eax
|
|
||||||
|
|
||||||
mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨
|
|
||||||
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 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï
|
|
||||||
cmp ebx,0xffffffff
|
|
||||||
je @f
|
|
||||||
;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data
|
|
||||||
stdcall dword[img_decode], dword[buf],ebx,0
|
|
||||||
mov dword[image_data],eax
|
|
||||||
;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb
|
|
||||||
stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
|
|
||||||
;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à 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 ;®âáâ㯠¤«ï ¯®¤¯¨á¨ 梥â
|
OT_CAPT_X_COLOR equ 5 ;®âáâ㯠¤«ï ¯®¤¯¨á¨ 梥â
|
||||||
@ -113,17 +53,23 @@ PEN_MODE_CLEAR equ 0 ;०
|
|||||||
PEN_MODE_SELECT_COLOR equ 2 ;०¨¬ ¢ë¡®à 梥â
|
PEN_MODE_SELECT_COLOR equ 2 ;०¨¬ ¢ë¡®à 梥â
|
||||||
PEN_MODE_BRUSH equ 3 ;०¨¬ à ¡®âë á ª¨áâìî
|
PEN_MODE_BRUSH equ 3 ;०¨¬ à ¡®âë á ª¨áâìî
|
||||||
|
|
||||||
|
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
|
||||||
;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª
|
;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨
|
||||||
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 ;¯®¤£®â®¢ª ¤¨ «®£
|
stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£
|
||||||
|
|
||||||
;--- load ini file ---
|
;--- load ini file ---
|
||||||
@ -172,11 +118,11 @@ start:
|
|||||||
mov [buf_pl.h],eax
|
mov [buf_pl.h],eax
|
||||||
|
|
||||||
;*** § £à㧪 ªãàá®à®¢
|
;*** § £à㧪 ªãàá®à®¢
|
||||||
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] ;ᮧ¤ ¥¬ ¡ãä¥à
|
stdcall [buf2d_create_f_img], buf_curs_8,[image_data_toolbar] ;ᮧ¤ ¥¬ ¡ãä¥à
|
||||||
stdcall mem.Free,[image_data_toolbar] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
|
stdcall mem.Free,[image_data_toolbar] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
|
||||||
|
|
||||||
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] ;ᮧ¤ ¥¬ ¡ãä¥à
|
stdcall [buf2d_create_f_img], buf_curs,[image_data_toolbar] ;ᮧ¤ ¥¬ ¡ãä¥à
|
||||||
stdcall mem.Free,[image_data_toolbar] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
|
stdcall mem.Free,[image_data_toolbar] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
|
||||||
|
|
||||||
@ -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 ;®ª® ¥ ªâ¨¢®
|
jne @f ;®ª® ¥ ªâ¨¢®
|
||||||
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 -> ¡¨â 0 «¥¢ë© Shift ¦ â, ¡¨â 1 ¯à ¢ë© Shift ¦ â
|
and eax,3 ;3 -> ¡¨â 0 «¥¢ë© Shift ¦ â, ¡¨â 1 ¯à ¢ë© Shift ¦ â
|
||||||
jz .shift_end
|
jz .shift_end
|
||||||
;¥á«¨ ¦ â Shift, ⮠। ªâ¨à㥬 ¢¥à奬 ã஢¥
|
;¥á«¨ ¦ â Shift, ⮠। ªâ¨à㥬 ¢¥à奬 ã஢¥
|
||||||
@ -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
|
||||||
|
|
||||||
; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) ***
|
; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) ***
|
||||||
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]
|
||||||
|
|
||||||
; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì ***
|
; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì ***
|
||||||
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
|
||||||
|
|
||||||
; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å ***
|
; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å ***
|
||||||
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 ;§ ¢¥àè î騩 ¯à®¡¥«
|
stdcall str_cat, txt_brush.size,txt_space ;§ ¢¥àè î騩 ¯à®¡¥«
|
||||||
|
|
||||||
mov eax,4 ;à¨á®¢ ¨¥ ⥪áâ
|
|
||||||
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 ;¯® ®á¨ 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 ;¯® ®á¨ 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
|
||||||
|
|
||||||
;¤ ë¥ ¤«ï ¨¨æ¨ «¨§ 樨 ¢®ªá¥«ì®£® ®¡ê¥ªâ
|
;¤ ë¥ ¤«ï ¨¨æ¨ «¨§ 樨 ¢®ªá¥«ì®£® ®¡ê¥ªâ
|
||||||
align 4
|
align 4
|
||||||
@ -864,7 +795,6 @@ endp
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
open_file_vox dd 0 ;㪠§ â¥«ì ®¡« áâì ¤«ï ®âªàëâ¨ï ä ©«®¢
|
open_file_vox dd 0 ;㪠§ â¥«ì ®¡« áâì ¤«ï ®âªàëâ¨ï ä ©«®¢
|
||||||
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
|
||||||
;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£
|
;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£
|
||||||
|
|
||||||
mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨
|
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: à §¬¥à ä ©« ¢ ¡ ©â å
|
mov ecx,dword[open_b+32] ;+32 qword: à §¬¥à ä ©« ¢ ¡ ©â å
|
||||||
cmp ecx,[max_open_file_size] ;¯à®¢¥à塞 à §¬¥à ¢ë¤¥«¥®© ¯ ¬ïâ¨
|
cmp ecx,[max_open_file_size] ;¯à®¢¥à塞 à §¬¥à ¢ë¤¥«¥®© ¯ ¬ïâ¨
|
||||||
@ -896,23 +824,20 @@ but_open_file:
|
|||||||
notify_window_run txt_need_memory
|
notify_window_run txt_need_memory
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨
|
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 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï
|
|
||||||
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 ;¡¥à¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î
|
and eax,0xff ;¡¥à¥¬ ¬ áèâ ¡ ¯® 㬮«ç ¨î
|
||||||
@ -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 ;à §¬¥à ä ©«
|
mov dword[run_file_70.Count], eax ;à §¬¥à ä ©«
|
||||||
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 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï
|
mcall SF_FILE,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï
|
||||||
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 ;㬮¦ ¥¬ 4 ª¡
|
shl ecx,12 ;㬮¦ ¥¬ 4 ª¡
|
||||||
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 'Žè¨¡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libini',39,0
|
err_msg_import_3 db 'Žè¨¡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',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: ;¬¥áâ® ¤«ï áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª
|
wnd_s_pos: ;¬¥áâ® ¤«ï áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª
|
||||||
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:
|
||||||
|
Loading…
Reference in New Issue
Block a user