2010-10-31 12:06:54 +01:00
|
|
|
;---------------------------------------------------------------------
|
|
|
|
aQuestion db '?'
|
|
|
|
caption_str db 'KPack',0
|
|
|
|
buttons1names db ' InFile:'
|
|
|
|
db 'OutFile:'
|
|
|
|
db ' Path:'
|
|
|
|
aCompress db 'COMPRESS',0
|
|
|
|
aDecompress db 'DECOMPRESS',0
|
|
|
|
definoutname db 0
|
|
|
|
defpath db '/RD/1/'
|
2010-11-03 14:24:14 +01:00
|
|
|
;curedit dd 0
|
2010-10-31 12:06:54 +01:00
|
|
|
|
|
|
|
info_str db 'KPack - Kolibri Packer, version 0.13',10
|
|
|
|
db 'Uses LZMA v4.32 compression library',10,10
|
|
|
|
info_len = $ - info_str
|
|
|
|
usage_str db 'Written by diamond in 2006, 2007, 2009 specially for KolibriOS',10
|
|
|
|
db 'LZMA is copyright (c) 1999-2005 by Igor Pavlov',10
|
|
|
|
db 10
|
|
|
|
db 'Command-line usage:',10
|
|
|
|
db ' kpack infile [outfile]',10
|
|
|
|
db 'If no output file is specified,',10
|
|
|
|
db ' packed data will be written back to input file',10
|
|
|
|
db 10
|
|
|
|
db 'Window usage:',10
|
|
|
|
db " enter input file name, output file name and press needed button",10
|
|
|
|
usage_len = $ - usage_str
|
|
|
|
errload_str db 'Cannot load input file',10
|
|
|
|
errload_len = $ - errload_str
|
|
|
|
outfileerr_str db 'Cannot save output file',10
|
|
|
|
outfileerr_len = $ - outfileerr_str
|
|
|
|
nomem_str db 'No memory',10
|
|
|
|
nomem_len = $ - nomem_str
|
|
|
|
too_big_str db 'failed, output is greater than input.',10
|
|
|
|
too_big_len = $ - too_big_str
|
|
|
|
compressing_str db 'Compressing ... '
|
|
|
|
compressing_len = $ - compressing_str
|
|
|
|
lzma_memsmall_str db 'Warning: not enough memory for default LZMA settings,',10
|
|
|
|
db ' will use less dictionary size',10
|
|
|
|
lzma_memsmall_len = $ - lzma_memsmall_str
|
|
|
|
notpacked_str db 'Input file is not packed with KPack!',10
|
|
|
|
notpacked_len = $ - notpacked_str
|
|
|
|
unpacked_ok db 'Unpacked successful',10
|
|
|
|
unpacked_len = $ - unpacked_ok
|
|
|
|
|
|
|
|
done_str db 'OK! Compression ratio: '
|
|
|
|
ratio dw '00'
|
|
|
|
db '%',10
|
|
|
|
done_len = $ - done_str
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
align 4
|
|
|
|
LiteralNextStates:
|
|
|
|
db 0,0,0,0,1,2,3,4,5,6,4,5
|
|
|
|
MatchNextStates:
|
|
|
|
db 7,7,7,7,7,7,7,10,10,10,10,10
|
|
|
|
RepNextStates:
|
|
|
|
db 8,8,8,8,8,8,8,11,11,11,11,11
|
|
|
|
ShortRepNextStates:
|
|
|
|
db 9,9,9,9,9,9,9,11,11,11,11,11
|
2010-11-03 14:24:14 +01:00
|
|
|
;---------------------------------------------------------------------
|
|
|
|
align 4
|
|
|
|
ProcLib_import:
|
|
|
|
OpenDialog_Init dd aOpenDialog_Init
|
|
|
|
OpenDialog_Start dd aOpenDialog_Start
|
|
|
|
;OpenDialog__Version dd aOpenDialog_Version
|
|
|
|
dd 0
|
|
|
|
dd 0
|
|
|
|
aOpenDialog_Init db 'OpenDialog_init',0
|
|
|
|
aOpenDialog_Start db 'OpenDialog_start',0
|
|
|
|
;aOpenDialog_Version db 'Version_OpenDialog',0
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
align 4
|
|
|
|
Box_lib_import:
|
|
|
|
edit_box_draw dd aEdit_box_draw
|
|
|
|
edit_box_key dd aEdit_box_key
|
|
|
|
edit_box_mouse dd aEdit_box_mouse
|
|
|
|
version_ed dd aVersion_ed
|
|
|
|
|
|
|
|
option_box_draw dd aOption_box_draw
|
|
|
|
option_box_mouse dd aOption_box_mouse
|
|
|
|
version_op dd aVersion_op
|
|
|
|
|
|
|
|
scrollbar_ver_draw dd aScrollbar_ver_draw
|
|
|
|
scrollbar_ver_mouse dd aScrollbar_ver_mouse
|
|
|
|
scrollbar_hor_draw dd aScrollbar_hor_draw
|
|
|
|
scrollbar_hor_mouse dd aScrollbar_hor_mouse
|
|
|
|
version_scrollbar dd aVersion_scrollbar
|
|
|
|
|
|
|
|
menu_bar_draw dd aMenu_bar_draw
|
|
|
|
menu_bar_mouse dd aMenu_bar_mouse
|
|
|
|
version_menu_bar dd aVersion_menu_bar
|
|
|
|
|
|
|
|
dd 0
|
|
|
|
dd 0
|
|
|
|
|
|
|
|
aEdit_box_draw db 'edit_box',0
|
|
|
|
aEdit_box_key db 'edit_box_key',0
|
|
|
|
aEdit_box_mouse db 'edit_box_mouse',0
|
|
|
|
aVersion_ed db 'version_ed',0
|
|
|
|
|
|
|
|
aOption_box_draw db 'option_box_draw',0
|
|
|
|
aOption_box_mouse db 'option_box_mouse',0
|
|
|
|
aVersion_op db 'version_op',0
|
|
|
|
|
|
|
|
aScrollbar_ver_draw db 'scrollbar_v_draw',0
|
|
|
|
aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
|
|
|
|
aScrollbar_hor_draw db 'scrollbar_h_draw',0
|
|
|
|
aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
|
|
|
|
aVersion_scrollbar db 'version_scrollbar',0
|
|
|
|
|
|
|
|
aMenu_bar_draw db 'menu_bar_draw',0
|
|
|
|
aMenu_bar_mouse db 'menu_bar_mouse',0
|
|
|
|
aVersion_menu_bar db 'version_menu_bar',0
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
head_f_i:
|
|
|
|
head_f_l db 'System error',0
|
|
|
|
|
|
|
|
err_message_found_lib1 db 'box_lib.obj - Not found!',0
|
|
|
|
err_message_found_lib2 db 'proc_lib.obj - Not found!',0
|
|
|
|
|
|
|
|
err_message_import1 db 'box_lib.obj - Wrong import!',0
|
|
|
|
err_message_import2 db 'proc_lib.obj - Wrong import!',0
|
|
|
|
|
|
|
|
system_dir_Boxlib db '/sys/lib/box_lib.obj',0
|
|
|
|
system_dir_ProcLib db '/sys/lib/proc_lib.obj',0
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
align 4
|
|
|
|
l_libs_start:
|
|
|
|
; load_library boxlib_name,cur_dir_path,buf_cmd_lin,system_path,\
|
|
|
|
; err_message_found_lib,head_f_l,myimport,err_message_import,head_f_i
|
|
|
|
|
|
|
|
library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
|
|
|
|
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
|
|
|
|
|
|
|
|
library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
|
|
|
|
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
|
|
|
|
|
|
|
|
load_lib_end:
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
align 4
|
|
|
|
OpenDialog_data:
|
|
|
|
.type dd 0
|
|
|
|
.procinfo dd procinfo ;+4
|
|
|
|
.com_area_name dd communication_area_name ;+8
|
|
|
|
.com_area dd 0 ;+12
|
|
|
|
.opendir_pach dd temp_dir_pach ;+16
|
|
|
|
.dir_default_pach dd communication_area_default_pach ;+20
|
|
|
|
.start_path dd open_dialog_path ;+24
|
|
|
|
.draw_window dd draw_window ;+28
|
|
|
|
.status dd 0 ;+32
|
|
|
|
.openfile_pach dd fname_buf ;+36
|
|
|
|
.filename_area dd filename_area ;+40
|
|
|
|
.filter_area dd Filter
|
|
|
|
.x:
|
|
|
|
.x_size dw 420 ;+48 ; Window X size
|
|
|
|
.x_start dw 10 ;+50 ; Window X position
|
|
|
|
.y:
|
|
|
|
.y_size dw 320 ;+52 ; Window y size
|
|
|
|
.y_start dw 10 ;+54 ; Window Y position
|
|
|
|
|
|
|
|
communication_area_name:
|
|
|
|
db 'FFFFFFFF_open_dialog',0
|
|
|
|
open_dialog_path:
|
|
|
|
db '/sys/File Managers/opendial',0
|
|
|
|
communication_area_default_pach:
|
|
|
|
db '/rd/1',0
|
|
|
|
|
|
|
|
path4 db '/rd/1/temp',0
|
|
|
|
|
|
|
|
Filter:
|
|
|
|
dd Filter.end - Filter.1
|
|
|
|
.1:
|
|
|
|
;db 'BIN',0
|
|
|
|
;db 'DAT',0
|
|
|
|
.end:
|
|
|
|
db 0
|
|
|
|
|
|
|
|
start_temp_file_name: db 'temp.bin',0
|
|
|
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
align 4
|
|
|
|
edit1 edit_box 160, 62, 1+22, 0xffffff, 0xff, 0x80ff, 0, 0x8000, 256, inname, mouse_dd, 0, 11,11
|
|
|
|
edit2 edit_box 160, 62, 17+22, 0xffffff, 0xff, 0x80ff, 0, 0x8000,256, outname, mouse_dd, 0, 7,7
|
|
|
|
edit3 edit_box 160, 62, 33+22, 0xffffff, 0xff, 0x80ff, 0, 0x8000,256, path, mouse_dd, 0, 6,6
|
|
|
|
editboxes_end:
|
|
|
|
|
|
|
|
mouse_dd dd 0
|
2010-10-31 12:06:54 +01:00
|
|
|
;---------------------------------------------------------------------
|