Change `lang` to support new locale codes (Pt.2)
- Update language codes. - Minimal white space sanitation.
This commit is contained in:
parent
5ed9e0195a
commit
3ecb348d06
|
@ -16,7 +16,7 @@ use32
|
|||
dd 0x1000 ; esp
|
||||
dd 0x0 , 0x0 ; I_Param , I_Icon
|
||||
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
include '..\..\..\macros.inc'
|
||||
|
||||
START: ; start of execution
|
||||
|
@ -138,7 +138,7 @@ draw_window:
|
|||
; DATA AREA
|
||||
|
||||
if lang eq ru_RU
|
||||
title db '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||||
title db '’€‰Œ…<EFBFBD>',0
|
||||
else ; Default to en_US
|
||||
title db 'TIMER',0
|
||||
end if
|
||||
|
|
|
@ -1 +1,54 @@
|
|||
if lang eq ru
sz_main_menu_View db '‚¨¤', 0
sz_main_menu_Veiw_Vertexes db '‚¥àè¨ë ¢ª«.', 0
sz_main_menu_Veiw_Faces db 'Š ઠáë¥ £à ¨ ¢ª«.', 0
sz_main_menu_Veiw_Faces_Fill db '‘¯«®èë¥ £à ¨ ¢ª«.', 0
sz_main_menu_Veiw_Light db '‘¢¥â ¢ª«./¢ëª«.', 0
sz_main_menu_Veiw_Smooth db '‘£« ¦¨¢ ¨¥ ¢ª«./¢ëª«.', 0
sz_main_menu_Veiw_Reset db '‘¡à®á áâ஥ª', 0
if version_edit eq 0
sz_main_menu_Veiw_Faces_Mat db '<27> §®æ¢¥âë¥ £à ¨ ¢ª«.', 0
else
sz_main_menu_Vertexes db '‚¥àè¨ë', 0
sz_main_menu_Vertexes_Select db '‚뤥«¨âì ¢¥àè¨ã', 0
sz_main_menu_Vertexes_Deselect db 'Žâ¬¥¨âì ¢áñ ¢ë¤¥«¥¨¥', 0
sz_main_menu_Average_x db '‘।¥¥ x',0
sz_main_menu_Average_y db '‘।¥¥ y',0
sz_main_menu_Average_z db '‘।¥¥ z',0
end if
else
sz_main_menu_View db 'View', 0
sz_main_menu_Veiw_Vertexes db 'Vertexes on', 0
sz_main_menu_Veiw_Faces db 'Edges on', 0
sz_main_menu_Veiw_Faces_Fill db 'Faces on', 0
sz_main_menu_Veiw_Light db 'Light on/off', 0
sz_main_menu_Veiw_Smooth db 'Smooth on/off', 0
sz_main_menu_Veiw_Reset db 'Reset settings', 0
if version_edit eq 0
sz_main_menu_Veiw_Faces_Mat db 'Diferent color faces on', 0
else
sz_main_menu_Vertexes db 'Vertexes', 0
sz_main_menu_Vertexes_Select db 'Select vertex', 0
sz_main_menu_Vertexes_Deselect db 'Deselect all', 0
sz_main_menu_Average_x db 'Average x',0
sz_main_menu_Average_y db 'Average y',0
sz_main_menu_Average_z db 'Average z',0
end if
end if
main_menu dd 0
main_menu_file dd 0
main_menu_view dd 0
main_menu_vertexes dd 0
KMENUITEM_NORMAL equ 0
KMENUITEM_SUBMENU equ 1
KMENUITEM_SEPARATOR equ 2
|
||||
; Language support for locales: ru_RU (CP866), en_US.
|
||||
|
||||
if lang eq ru_RU
|
||||
|
||||
sz_main_menu_View db '<27><><EFBFBD>', 0
|
||||
sz_main_menu_Veiw_Vertexes db '<27><><EFBFBD>設<EFBFBD> <20><><EFBFBD>.', 0
|
||||
sz_main_menu_Veiw_Faces db '<27><>ઠ<EFBFBD><E0AAA0> <20>࠭<EFBFBD> <20><><EFBFBD>.', 0
|
||||
sz_main_menu_Veiw_Faces_Fill db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD> <20><><EFBFBD>.', 0
|
||||
sz_main_menu_Veiw_Light db '<27><><EFBFBD><EFBFBD> <20><><EFBFBD>./<2F>몫.', 0
|
||||
sz_main_menu_Veiw_Smooth db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>./<2F>몫.', 0
|
||||
sz_main_menu_Veiw_Reset db '<27><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>', 0
|
||||
|
||||
if version_edit eq 0
|
||||
sz_main_menu_Veiw_Faces_Mat db '<27><><EFBFBD><EFBFBD><EFBFBD>梥<EFBFBD><E6A2A5> <20>࠭<EFBFBD> <20><><EFBFBD>.', 0
|
||||
else
|
||||
sz_main_menu_Vertexes db '<27><><EFBFBD>設<EFBFBD>', 0
|
||||
sz_main_menu_Vertexes_Select db '<27>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD> <20><><EFBFBD>設<EFBFBD>', 0
|
||||
sz_main_menu_Vertexes_Deselect db '<27>⬥<EFBFBD><E2ACA5><EFBFBD><EFBFBD> <20><><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>', 0
|
||||
sz_main_menu_Average_x db '<27>।<EFBFBD><E0A5A4><EFBFBD> x',0
|
||||
sz_main_menu_Average_y db '<27>।<EFBFBD><E0A5A4><EFBFBD> y',0
|
||||
sz_main_menu_Average_z db '<27>।<EFBFBD><E0A5A4><EFBFBD> z',0
|
||||
end if
|
||||
|
||||
else ; Default to en_US
|
||||
|
||||
sz_main_menu_View db 'View', 0
|
||||
sz_main_menu_Veiw_Vertexes db 'Vertexes on', 0
|
||||
sz_main_menu_Veiw_Faces db 'Edges on', 0
|
||||
sz_main_menu_Veiw_Faces_Fill db 'Faces on', 0
|
||||
sz_main_menu_Veiw_Light db 'Light on/off', 0
|
||||
sz_main_menu_Veiw_Smooth db 'Smooth on/off', 0
|
||||
sz_main_menu_Veiw_Reset db 'Reset settings', 0
|
||||
|
||||
if version_edit eq 0
|
||||
sz_main_menu_Veiw_Faces_Mat db 'Diferent color faces on', 0
|
||||
else
|
||||
sz_main_menu_Vertexes db 'Vertexes', 0
|
||||
sz_main_menu_Vertexes_Select db 'Select vertex', 0
|
||||
sz_main_menu_Vertexes_Deselect db 'Deselect all', 0
|
||||
sz_main_menu_Average_x db 'Average x',0
|
||||
sz_main_menu_Average_y db 'Average y',0
|
||||
sz_main_menu_Average_z db 'Average z',0
|
||||
end if
|
||||
|
||||
end if
|
||||
|
||||
main_menu dd 0
|
||||
main_menu_file dd 0
|
||||
main_menu_view dd 0
|
||||
main_menu_vertexes dd 0
|
||||
|
||||
KMENUITEM_NORMAL equ 0
|
||||
KMENUITEM_SUBMENU equ 1
|
||||
KMENUITEM_SEPARATOR equ 2
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,318 +1,318 @@
|
|||
; <20>à®£à ¬¬ ¤«ï ¯à¥®¡à §®¢ ¨ï ç¨á¥« ¨§ áâப¨
|
||||
; ¢ ä®à¬ â float, double, â ª¦¥ ¨§ 10 ¨«¨ 16 à¨ç®£®
|
||||
; ¢® float.
|
||||
; ‘¤¥« ®á®¢¥ hex2dec2bin ¨ ¯à¨¬¥à®¢ ¨§ ä ©« list2_05.inc
|
||||
; ( ¢â®à Šã« ª®¢ ‚« ¤¨¬¨à ƒ¥ ¤ì¥¢¨ç 24.05.2002),
|
||||
; ª®â®àë¥ ChE ¯¥à¥¤¥« « á 16 32 ¡¨â áᥬ¡«¥à fasm.
|
||||
; <20>à®£à ¬¬ ¯®§¢®«ï¥â à¥è âì â ª¨¥ § ¤ ç¨:
|
||||
; 1) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 4 ¡ ©â (float) ¢ ¬ è¨ë© ¢¨¤
|
||||
; 2) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 8 ¡ ©â (double) ¢ ¬ è¨ë© ¢¨¤
|
||||
; 3) ç¨á«® ¢ ¬ 訮¬ ¢¨¤¥ (float) ¯¥à¥¢¥á⨠¢ áâப®¢ë© ¢¨¤ (5 § ª®¢ ¯®á«¥ § ¯ï⮩)
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 1,start,i_end,e_end,e_end,0,sys_path
|
||||
|
||||
include '../../../proc32.inc'
|
||||
include '../../../macros.inc'
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../load_lib.mac'
|
||||
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||
include '../../../develop/info3ds/info_fun_float.inc'
|
||||
include 'lang.inc'
|
||||
|
||||
@use_library
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_libraries l_libs_start,l_libs_end
|
||||
;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è ¡¨¡«¨®â¥ª
|
||||
mov ebp,lib_0
|
||||
cmp dword[ebp+ll_struc_size-4],0
|
||||
jz @f
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
@@:
|
||||
mcall SF_SET_EVENTS_MASK,0xC0000027
|
||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors
|
||||
edit_boxes_set_sys_color edit1,editboxes_end,sys_colors
|
||||
option_boxes_set_sys_color sys_colors,Option_boxes1
|
||||
|
||||
align 4
|
||||
red:
|
||||
call draw_window
|
||||
|
||||
align 4
|
||||
still:
|
||||
mcall SF_WAIT_EVENT
|
||||
|
||||
cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ?
|
||||
je red ; ¥á«¨ ¤ - ¬¥âªã red
|
||||
cmp eax,2 ; ¦ â ª« ¢¨è ?
|
||||
je key ; ¥á«¨ ¤ - key
|
||||
cmp eax,3 ; ¦ â ª®¯ª ?
|
||||
je button ; ¥á«¨ ¤ - button
|
||||
cmp eax,6
|
||||
je mouse
|
||||
|
||||
jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横«
|
||||
|
||||
align 4
|
||||
key: ; ¦ â ª« ¢¨è ª« ¢¨ âãà¥
|
||||
mcall SF_GET_KEY
|
||||
;cmp ah,13
|
||||
stdcall [edit_box_key], edit1
|
||||
jmp still ; ¢¥àãâìáï ª ç «ã 横«
|
||||
|
||||
align 4
|
||||
button:
|
||||
mcall SF_GET_BUTTON
|
||||
cmp ah, 1 ; ¥á«¨ <20>… ¦ â ª®¯ª á ®¬¥à®¬ 1,
|
||||
jne @f
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
@@:
|
||||
cmp ah, 5
|
||||
jne @f
|
||||
cmp dword[option_group1],opt3
|
||||
jne .opt_3_end
|
||||
stdcall conv_str_to_int,[edit1.text]
|
||||
mov dword[Data_Double],eax
|
||||
finit
|
||||
fld dword[Data_Double]
|
||||
fstp qword[Data_Double]
|
||||
|
||||
; Data_Double - ¯à¥®¡à §ã¥¬®¥ ç¨á«®
|
||||
mov word[NumberSymbolsAD],8 ; ª®«¨ç¥á⢮ § ª®¢ ç¨á« ¯®á«¥ § ¯ï⮩ (1-17)
|
||||
call DoubleFloat_to_String
|
||||
call String_crop_0
|
||||
mov dword[Data_Double],eax ;¢®ááâ ¢«¨¢ ¥¬ § 票¥ ¢ ä®à¬ ⥠float
|
||||
jmp .opt_all_end
|
||||
.opt_3_end:
|
||||
|
||||
mov esi,string1
|
||||
mov edi,Data_String
|
||||
cld
|
||||
mov ecx,32
|
||||
rep movsb
|
||||
|
||||
call String_to_DoubleFloat
|
||||
cmp dword[option_group1],opt1
|
||||
jne .opt_all_end ;¥á«¨ ¢ë¡à float, â® ¯à¥®¡à §ã¥¬ ¨§ à ¥¥ ¯®«ã祮£® double
|
||||
finit
|
||||
fld qword[Data_Double] ;ç¨â ¥¬ ¨§ double
|
||||
fstp dword[Data_Double] ; ¢®§¢à é ¥¬ ¢® float
|
||||
.opt_all_end:
|
||||
jmp red
|
||||
@@:
|
||||
jmp still
|
||||
|
||||
align 4
|
||||
mouse:
|
||||
stdcall [edit_box_mouse], edit1
|
||||
stdcall [option_box_mouse], Option_boxes1
|
||||
jmp still
|
||||
|
||||
;------------------------------------------------
|
||||
align 4
|
||||
draw_window:
|
||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors
|
||||
|
||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||
mov edx, 0x14000000
|
||||
or edx, [sys_colors.work]
|
||||
mcall SF_CREATE_WINDOW, (200 shl 16)+300, (200 shl 16)+175, ,,title
|
||||
|
||||
mcall SF_DEFINE_BUTTON, ((300-53) shl 16)+38, (145 shl 16)+15, 5, [sys_colors.work_button] ; ª®¯ª Ok
|
||||
|
||||
mov ecx, 0x80000000
|
||||
or ecx, [sys_colors.work_text]
|
||||
mcall SF_DRAW_TEXT, (15 shl 16) +30,, binstr,
|
||||
mcall , (15 shl 16) +58,, decstr,
|
||||
mcall , ((240-56*3) shl 16) +58,, Data_String,
|
||||
mcall , (15 shl 16) +72,, hexstr,
|
||||
mcall , (15 shl 16)+150,, numstr,
|
||||
|
||||
mov ecx, 0x80000000
|
||||
or ecx, [sys_colors.work_button_text]
|
||||
mcall , ((300-42) shl 16)+149, , Okstr,3
|
||||
|
||||
cmp dword[option_group1],opt1
|
||||
je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬
|
||||
cmp dword[option_group1],opt3
|
||||
je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬
|
||||
mov ecx, dword[Data_Double+4]
|
||||
mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(185 shl 16)+72,[sys_colors.work_text] ; 16- ï
|
||||
|
||||
mov ecx, dword[Data_Double+4]
|
||||
mcall ,(8 shl 16)+512,,(240 shl 16)+30, ; 2- ï
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56) shl 16)+30,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*2) shl 16)+30,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*3) shl 16)+30,
|
||||
ror ecx, 8
|
||||
@@:
|
||||
|
||||
mov ecx,dword[Data_Double]
|
||||
mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(240 shl 16)+72,[sys_colors.work_text] ; 16- ï
|
||||
|
||||
mov ecx,dword[Data_Double]
|
||||
mcall , (8 shl 16)+512,,(240 shl 16)+44, ; 2- ï
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56) shl 16)+44,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*2) shl 16)+44,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*3) shl 16)+44,
|
||||
ror ecx, 8
|
||||
|
||||
mcall SF_DRAW_LINE, (15 shl 16)+300-15, (137 shl 16)+137, [sys_colors.work_graph]
|
||||
stdcall [edit_box_draw], edit1
|
||||
stdcall [option_box_draw], Option_boxes1
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
|
||||
ret
|
||||
|
||||
|
||||
string1 db 32 dup (0)
|
||||
string1_end:
|
||||
|
||||
|
||||
;input:
|
||||
; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥
|
||||
;output:
|
||||
; eax - ç¨á«®
|
||||
align 4
|
||||
proc conv_str_to_int uses ebx ecx esi, buf:dword
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov esi,[buf]
|
||||
;®¯à¥¤¥«¥¨¥ ®âà¨æ ⥫ìëå ç¨á¥«
|
||||
xor ecx,ecx
|
||||
inc ecx
|
||||
cmp byte[esi],'-'
|
||||
jne @f
|
||||
dec ecx
|
||||
inc esi
|
||||
@@:
|
||||
|
||||
cmp word[esi],'0x'
|
||||
je .load_digit_16
|
||||
|
||||
.load_digit_10: ;áç¨âë¢ ¨¥ 10-â¨çëå æ¨äà
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'9'
|
||||
jg @f
|
||||
sub bl,'0'
|
||||
imul eax,10
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .load_digit_10
|
||||
jmp @f
|
||||
|
||||
.load_digit_16: ;áç¨âë¢ ¨¥ 16-à¨çëå æ¨äà
|
||||
add esi,2
|
||||
.cycle_16:
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'f'
|
||||
jg @f
|
||||
cmp bl,'9'
|
||||
jle .us1
|
||||
cmp bl,'A'
|
||||
jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'9' ¨ <'A'
|
||||
.us1: ;á®áâ ¢®¥ ãá«®¢¨¥
|
||||
cmp bl,'F'
|
||||
jle .us2
|
||||
cmp bl,'a'
|
||||
jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'F' ¨ <'a'
|
||||
sub bl,32 ;¯¥à¥¢®¤¨¬ ᨬ¢®«ë ¢ ¢¥à娩 ॣ¨áâà, ¤«ï ã¯à®é¥¨ï ¨å ¯®á«¥¤ã饩 ®¡à ¡®âª¨
|
||||
.us2: ;á®áâ ¢®¥ ãá«®¢¨¥
|
||||
sub bl,'0'
|
||||
cmp bl,9
|
||||
jle .cor1
|
||||
sub bl,7 ;convert 'A' to '10'
|
||||
.cor1:
|
||||
shl eax,4
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .cycle_16
|
||||
@@:
|
||||
cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ ⥫쮥
|
||||
jne @f
|
||||
sub ecx,eax
|
||||
mov eax,ecx
|
||||
@@:
|
||||
ret
|
||||
endp
|
||||
|
||||
;-------------------------------------------------
|
||||
title db 'string to double 03.01.21',0
|
||||
hexstr db 'hex:',0
|
||||
decstr db 'dec:',0
|
||||
binstr db 'bin:',0
|
||||
|
||||
if lang eq ru
|
||||
numstr db '—¨á«®:',0
|
||||
Okstr db '‚¢®¤',0
|
||||
else
|
||||
numstr db 'Number:',0
|
||||
Okstr db 'Ok',0
|
||||
end if
|
||||
|
||||
mouse_dd dd 0
|
||||
edit1 edit_box 182, 59, 146, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (string1_end-string1), string1, mouse_dd, 0
|
||||
editboxes_end:
|
||||
|
||||
;option_boxes
|
||||
opt1 option_box option_group1, 15, 90, 8, 12, 0xffffff, 0x80ff, 0, op_text.1, 17
|
||||
opt2 option_box option_group1, 15, 106, 8, 12, 0xffffff, 0x80ff, 0, op_text.2, 18
|
||||
opt3 option_box option_group1, 15, 122, 8, 12, 0xffffff, 0x80ff, 0, op_text.3, 21
|
||||
|
||||
op_text: ;⥪áâ ¤«ï à ¤¨® ª®¯®ª
|
||||
.1 db 'str(dec) -> float'
|
||||
.2 db 'str(dec) -> double'
|
||||
.3 db 'float(dec,hex) -> str'
|
||||
;㪠§ ⥫¨ ¤«ï option_box
|
||||
option_group1 dd opt1
|
||||
Option_boxes1 dd opt1, opt2, opt3, 0
|
||||
|
||||
system_dir_0 db '/sys/lib/'
|
||||
lib_name_0 db 'box_lib.obj',0
|
||||
|
||||
|
||||
l_libs_start:
|
||||
lib_0 l_libs lib_name_0, library_path, system_dir_0,import_box_lib
|
||||
l_libs_end:
|
||||
|
||||
align 4
|
||||
import_box_lib:
|
||||
;dd sz_init1
|
||||
edit_box_draw dd sz_edit_box_draw
|
||||
edit_box_key dd sz_edit_box_key
|
||||
edit_box_mouse dd sz_edit_box_mouse
|
||||
;edit_box_set_text dd sz_edit_box_set_text
|
||||
option_box_draw dd aOption_box_draw
|
||||
option_box_mouse dd aOption_box_mouse
|
||||
;version_op dd aVersion_op
|
||||
dd 0,0
|
||||
;sz_init1 db 'lib_init',0
|
||||
sz_edit_box_draw db 'edit_box_draw',0
|
||||
sz_edit_box_key db 'edit_box_key',0
|
||||
sz_edit_box_mouse db 'edit_box_mouse',0
|
||||
;sz_edit_box_set_text db 'edit_box_set_text',0
|
||||
aOption_box_draw db 'option_box_draw',0
|
||||
aOption_box_mouse db 'option_box_mouse',0
|
||||
;aVersion_op db 'version_op',0
|
||||
|
||||
i_end:
|
||||
sys_colors system_colors
|
||||
align 16
|
||||
sys_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 0x400 ;stack
|
||||
e_end: ; ¬¥âª ª®æ ¯à®£à ¬¬ë
|
||||
; <20>à®£à ¬¬ ¤«ï ¯à¥®¡à §®¢ ¨ï ç¨á¥« ¨§ áâப¨
|
||||
; ¢ ä®à¬ â float, double, â ª¦¥ ¨§ 10 ¨«¨ 16 à¨ç®£®
|
||||
; ¢® float.
|
||||
; ‘¤¥« ®á®¢¥ hex2dec2bin ¨ ¯à¨¬¥à®¢ ¨§ ä ©« list2_05.inc
|
||||
; ( ¢â®à Šã« ª®¢ ‚« ¤¨¬¨à ƒ¥ ¤ì¥¢¨ç 24.05.2002),
|
||||
; ª®â®àë¥ ChE ¯¥à¥¤¥« « á 16 32 ¡¨â áᥬ¡«¥à fasm.
|
||||
; <20>à®£à ¬¬ ¯®§¢®«ï¥â à¥è âì â ª¨¥ § ¤ ç¨:
|
||||
; 1) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 4 ¡ ©â (float) ¢ ¬ è¨ë© ¢¨¤
|
||||
; 2) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 8 ¡ ©â (double) ¢ ¬ è¨ë© ¢¨¤
|
||||
; 3) ç¨á«® ¢ ¬ 訮¬ ¢¨¤¥ (float) ¯¥à¥¢¥á⨠¢ áâப®¢ë© ¢¨¤ (5 § ª®¢ ¯®á«¥ § ¯ï⮩)
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 1,start,i_end,e_end,e_end,0,sys_path
|
||||
|
||||
include '../../../proc32.inc'
|
||||
include '../../../macros.inc'
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../load_lib.mac'
|
||||
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||
include '../../../develop/info3ds/info_fun_float.inc'
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
|
||||
@use_library
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_libraries l_libs_start,l_libs_end
|
||||
;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è ¡¨¡«¨®â¥ª
|
||||
mov ebp,lib_0
|
||||
cmp dword[ebp+ll_struc_size-4],0
|
||||
jz @f
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
@@:
|
||||
mcall SF_SET_EVENTS_MASK,0xC0000027
|
||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors
|
||||
edit_boxes_set_sys_color edit1,editboxes_end,sys_colors
|
||||
option_boxes_set_sys_color sys_colors,Option_boxes1
|
||||
|
||||
align 4
|
||||
red:
|
||||
call draw_window
|
||||
|
||||
align 4
|
||||
still:
|
||||
mcall SF_WAIT_EVENT
|
||||
|
||||
cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ?
|
||||
je red ; ¥á«¨ ¤ - ¬¥âªã red
|
||||
cmp eax,2 ; ¦ â ª« ¢¨è ?
|
||||
je key ; ¥á«¨ ¤ - key
|
||||
cmp eax,3 ; ¦ â ª®¯ª ?
|
||||
je button ; ¥á«¨ ¤ - button
|
||||
cmp eax,6
|
||||
je mouse
|
||||
|
||||
jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横«
|
||||
|
||||
align 4
|
||||
key: ; ¦ â ª« ¢¨è ª« ¢¨ âãà¥
|
||||
mcall SF_GET_KEY
|
||||
;cmp ah,13
|
||||
stdcall [edit_box_key], edit1
|
||||
jmp still ; ¢¥àãâìáï ª ç «ã 横«
|
||||
|
||||
align 4
|
||||
button:
|
||||
mcall SF_GET_BUTTON
|
||||
cmp ah, 1 ; ¥á«¨ <20>… ¦ â ª®¯ª á ®¬¥à®¬ 1,
|
||||
jne @f
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
@@:
|
||||
cmp ah, 5
|
||||
jne @f
|
||||
cmp dword[option_group1],opt3
|
||||
jne .opt_3_end
|
||||
stdcall conv_str_to_int,[edit1.text]
|
||||
mov dword[Data_Double],eax
|
||||
finit
|
||||
fld dword[Data_Double]
|
||||
fstp qword[Data_Double]
|
||||
|
||||
; Data_Double - ¯à¥®¡à §ã¥¬®¥ ç¨á«®
|
||||
mov word[NumberSymbolsAD],8 ; ª®«¨ç¥á⢮ § ª®¢ ç¨á« ¯®á«¥ § ¯ï⮩ (1-17)
|
||||
call DoubleFloat_to_String
|
||||
call String_crop_0
|
||||
mov dword[Data_Double],eax ;¢®ááâ ¢«¨¢ ¥¬ § 票¥ ¢ ä®à¬ ⥠float
|
||||
jmp .opt_all_end
|
||||
.opt_3_end:
|
||||
|
||||
mov esi,string1
|
||||
mov edi,Data_String
|
||||
cld
|
||||
mov ecx,32
|
||||
rep movsb
|
||||
|
||||
call String_to_DoubleFloat
|
||||
cmp dword[option_group1],opt1
|
||||
jne .opt_all_end ;¥á«¨ ¢ë¡à float, â® ¯à¥®¡à §ã¥¬ ¨§ à ¥¥ ¯®«ã祮£® double
|
||||
finit
|
||||
fld qword[Data_Double] ;ç¨â ¥¬ ¨§ double
|
||||
fstp dword[Data_Double] ; ¢®§¢à é ¥¬ ¢® float
|
||||
.opt_all_end:
|
||||
jmp red
|
||||
@@:
|
||||
jmp still
|
||||
|
||||
align 4
|
||||
mouse:
|
||||
stdcall [edit_box_mouse], edit1
|
||||
stdcall [option_box_mouse], Option_boxes1
|
||||
jmp still
|
||||
|
||||
;------------------------------------------------
|
||||
align 4
|
||||
draw_window:
|
||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors
|
||||
|
||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||
mov edx, 0x14000000
|
||||
or edx, [sys_colors.work]
|
||||
mcall SF_CREATE_WINDOW, (200 shl 16)+300, (200 shl 16)+175, ,,title
|
||||
|
||||
mcall SF_DEFINE_BUTTON, ((300-53) shl 16)+38, (145 shl 16)+15, 5, [sys_colors.work_button] ; ª®¯ª Ok
|
||||
|
||||
mov ecx, 0x80000000
|
||||
or ecx, [sys_colors.work_text]
|
||||
mcall SF_DRAW_TEXT, (15 shl 16) +30,, binstr,
|
||||
mcall , (15 shl 16) +58,, decstr,
|
||||
mcall , ((240-56*3) shl 16) +58,, Data_String,
|
||||
mcall , (15 shl 16) +72,, hexstr,
|
||||
mcall , (15 shl 16)+150,, numstr,
|
||||
|
||||
mov ecx, 0x80000000
|
||||
or ecx, [sys_colors.work_button_text]
|
||||
mcall , ((300-42) shl 16)+149, , Okstr,3
|
||||
|
||||
cmp dword[option_group1],opt1
|
||||
je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬
|
||||
cmp dword[option_group1],opt3
|
||||
je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬
|
||||
mov ecx, dword[Data_Double+4]
|
||||
mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(185 shl 16)+72,[sys_colors.work_text] ; 16- ï
|
||||
|
||||
mov ecx, dword[Data_Double+4]
|
||||
mcall ,(8 shl 16)+512,,(240 shl 16)+30, ; 2- ï
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56) shl 16)+30,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*2) shl 16)+30,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*3) shl 16)+30,
|
||||
ror ecx, 8
|
||||
@@:
|
||||
|
||||
mov ecx,dword[Data_Double]
|
||||
mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(240 shl 16)+72,[sys_colors.work_text] ; 16- ï
|
||||
|
||||
mov ecx,dword[Data_Double]
|
||||
mcall , (8 shl 16)+512,,(240 shl 16)+44, ; 2- ï
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56) shl 16)+44,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*2) shl 16)+44,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*3) shl 16)+44,
|
||||
ror ecx, 8
|
||||
|
||||
mcall SF_DRAW_LINE, (15 shl 16)+300-15, (137 shl 16)+137, [sys_colors.work_graph]
|
||||
stdcall [edit_box_draw], edit1
|
||||
stdcall [option_box_draw], Option_boxes1
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
|
||||
ret
|
||||
|
||||
|
||||
string1 db 32 dup (0)
|
||||
string1_end:
|
||||
|
||||
|
||||
;input:
|
||||
; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥
|
||||
;output:
|
||||
; eax - ç¨á«®
|
||||
align 4
|
||||
proc conv_str_to_int uses ebx ecx esi, buf:dword
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov esi,[buf]
|
||||
;®¯à¥¤¥«¥¨¥ ®âà¨æ ⥫ìëå ç¨á¥«
|
||||
xor ecx,ecx
|
||||
inc ecx
|
||||
cmp byte[esi],'-'
|
||||
jne @f
|
||||
dec ecx
|
||||
inc esi
|
||||
@@:
|
||||
|
||||
cmp word[esi],'0x'
|
||||
je .load_digit_16
|
||||
|
||||
.load_digit_10: ;áç¨âë¢ ¨¥ 10-â¨çëå æ¨äà
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'9'
|
||||
jg @f
|
||||
sub bl,'0'
|
||||
imul eax,10
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .load_digit_10
|
||||
jmp @f
|
||||
|
||||
.load_digit_16: ;áç¨âë¢ ¨¥ 16-à¨çëå æ¨äà
|
||||
add esi,2
|
||||
.cycle_16:
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'f'
|
||||
jg @f
|
||||
cmp bl,'9'
|
||||
jle .us1
|
||||
cmp bl,'A'
|
||||
jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'9' ¨ <'A'
|
||||
.us1: ;á®áâ ¢®¥ ãá«®¢¨¥
|
||||
cmp bl,'F'
|
||||
jle .us2
|
||||
cmp bl,'a'
|
||||
jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'F' ¨ <'a'
|
||||
sub bl,32 ;¯¥à¥¢®¤¨¬ ᨬ¢®«ë ¢ ¢¥à娩 ॣ¨áâà, ¤«ï ã¯à®é¥¨ï ¨å ¯®á«¥¤ã饩 ®¡à ¡®âª¨
|
||||
.us2: ;á®áâ ¢®¥ ãá«®¢¨¥
|
||||
sub bl,'0'
|
||||
cmp bl,9
|
||||
jle .cor1
|
||||
sub bl,7 ;convert 'A' to '10'
|
||||
.cor1:
|
||||
shl eax,4
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .cycle_16
|
||||
@@:
|
||||
cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ ⥫쮥
|
||||
jne @f
|
||||
sub ecx,eax
|
||||
mov eax,ecx
|
||||
@@:
|
||||
ret
|
||||
endp
|
||||
|
||||
;-------------------------------------------------
|
||||
title db 'string to double 03.01.21',0
|
||||
hexstr db 'hex:',0
|
||||
decstr db 'dec:',0
|
||||
binstr db 'bin:',0
|
||||
|
||||
if lang eq ru_RU
|
||||
numstr db '—¨á«®:',0
|
||||
Okstr db '‚¢®¤',0
|
||||
else ; Default to en_US
|
||||
numstr db 'Number:',0
|
||||
Okstr db 'Ok',0
|
||||
end if
|
||||
|
||||
mouse_dd dd 0
|
||||
edit1 edit_box 182, 59, 146, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (string1_end-string1), string1, mouse_dd, 0
|
||||
editboxes_end:
|
||||
|
||||
;option_boxes
|
||||
opt1 option_box option_group1, 15, 90, 8, 12, 0xffffff, 0x80ff, 0, op_text.1, 17
|
||||
opt2 option_box option_group1, 15, 106, 8, 12, 0xffffff, 0x80ff, 0, op_text.2, 18
|
||||
opt3 option_box option_group1, 15, 122, 8, 12, 0xffffff, 0x80ff, 0, op_text.3, 21
|
||||
|
||||
op_text: ;⥪áâ ¤«ï à ¤¨® ª®¯®ª
|
||||
.1 db 'str(dec) -> float'
|
||||
.2 db 'str(dec) -> double'
|
||||
.3 db 'float(dec,hex) -> str'
|
||||
;㪠§ ⥫¨ ¤«ï option_box
|
||||
option_group1 dd opt1
|
||||
Option_boxes1 dd opt1, opt2, opt3, 0
|
||||
|
||||
system_dir_0 db '/sys/lib/'
|
||||
lib_name_0 db 'box_lib.obj',0
|
||||
|
||||
|
||||
l_libs_start:
|
||||
lib_0 l_libs lib_name_0, library_path, system_dir_0,import_box_lib
|
||||
l_libs_end:
|
||||
|
||||
align 4
|
||||
import_box_lib:
|
||||
;dd sz_init1
|
||||
edit_box_draw dd sz_edit_box_draw
|
||||
edit_box_key dd sz_edit_box_key
|
||||
edit_box_mouse dd sz_edit_box_mouse
|
||||
;edit_box_set_text dd sz_edit_box_set_text
|
||||
option_box_draw dd aOption_box_draw
|
||||
option_box_mouse dd aOption_box_mouse
|
||||
;version_op dd aVersion_op
|
||||
dd 0,0
|
||||
;sz_init1 db 'lib_init',0
|
||||
sz_edit_box_draw db 'edit_box_draw',0
|
||||
sz_edit_box_key db 'edit_box_key',0
|
||||
sz_edit_box_mouse db 'edit_box_mouse',0
|
||||
;sz_edit_box_set_text db 'edit_box_set_text',0
|
||||
aOption_box_draw db 'option_box_draw',0
|
||||
aOption_box_mouse db 'option_box_mouse',0
|
||||
;aVersion_op db 'version_op',0
|
||||
|
||||
i_end:
|
||||
sys_colors system_colors
|
||||
align 16
|
||||
sys_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 0x400 ;stack
|
||||
e_end: ; ¬¥âª ª®æ ¯à®£à ¬¬ë
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
; ;
|
||||
; On base SYSTREE FILE COPIER 1.02 ;
|
||||
; Ivan Poddubny ivan-yar@bk.ru ;
|
||||
; ;
|
||||
; ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;„ ï ¯à®£ ¥é¥ áëà ï ¨ £«îç ï ® 㦥 ª®¥ ª ª à ¡®â ¥â
|
||||
|
@ -23,11 +23,11 @@
|
|||
dd 0x10000 ; esp
|
||||
dd param_area , 0x0 ; I_Param , I_Icon
|
||||
|
||||
include 'lang.inc'
|
||||
include '..\..\..\macros.inc' ; very useful stuff for MeOS
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
include '..\..\..\macros.inc' ; very useful stuff for MeOS
|
||||
include 'ascl.inc'
|
||||
|
||||
START: ; start of execution
|
||||
START: ; start of execution
|
||||
|
||||
; <20> à ¬¥âàë:
|
||||
; db n1 = ¤«¨ ¯ã⨠ª ¨áâ®ç¨ªã
|
||||
|
@ -187,7 +187,7 @@ draw_window:
|
|||
mov edi,labelt ; WINDOW LABEL
|
||||
mcall
|
||||
|
||||
|
||||
|
||||
mov eax,8
|
||||
mov ebx,105*65536+290
|
||||
mov ecx,33*65536+12
|
||||
|
@ -236,7 +236,7 @@ draw_window:
|
|||
ya dd 0x0
|
||||
temp dd 0
|
||||
|
||||
if lang eq ru
|
||||
if lang eq ru_RU
|
||||
text:
|
||||
db ' Ž’Š“„€: |<7C>®áá¨ï, ‘¥«ï⨮, Œ<>Š Œ®áª¢ , 1 Šãàá '
|
||||
db ' Š“„€: | <20> ¢«îè¨ …¢£¥¨©, waptap@mail.ru '
|
||||
|
@ -264,12 +264,13 @@ errors:
|
|||
db "(§ ¯¨áì) ¥¨§¢¥áâ ï ®è¨¡ª "
|
||||
db "<22>ãâì ª ¨áâ®ç¨ªã ¨ ¯à¨¥¬¨ªã ¥ 㪠§ ë!!! "
|
||||
db "<22>ãâì ª ¯à¨¥¬¨ªã ¥ 㪠§ !!! "
|
||||
else
|
||||
|
||||
else ; Default to en_US
|
||||
text:
|
||||
db 'SOURCE: | '
|
||||
db 'DESTINATION: | '
|
||||
db ' '
|
||||
db 'x' ; <- END MARKER, DONT DELETE
|
||||
db 'x' ; <- END MARKER, DO NOT DELETE
|
||||
labelt:
|
||||
db 'SYSTREE FILE COPIER'
|
||||
labellen:
|
||||
|
@ -292,6 +293,7 @@ errors:
|
|||
db "(write) unknown error "
|
||||
db "Path to source is not given!!! "
|
||||
db "Path to destination is not given!!! "
|
||||
|
||||
end if
|
||||
|
||||
;0123456789012345678901234567890123456789012
|
||||
|
|
|
@ -233,7 +233,7 @@ WG_mouse:
|
|||
WG_level:
|
||||
file 'wriggle.bin'
|
||||
|
||||
if lang eq ru
|
||||
if lang eq ru_RU
|
||||
WG_help mstr \
|
||||
'‚ è § ¤ ç - âïãâì ç¥à¢ïª®¢ § £®«®¢ã ¨«¨',\
|
||||
'墮áâ, ¯®ª ª ¦¤ë© ¨§ ¨å ¥ ¯®ªà®¥â ª«¥âª¨',\
|
||||
|
@ -241,7 +241,7 @@ if lang eq ru
|
|||
'—¥à¢ïª¨ ¥ ¬®£ãâ ¯¥à¥ªàë¢ âì ¨ ¯¥à¥á¥ª âì ¤àã£',\
|
||||
'¤à㣠.','',\
|
||||
'http://www.clickmazes.com'
|
||||
else
|
||||
else ; Default to en_US
|
||||
WG_help mstr \
|
||||
'Your aim is to drag the wriggley worms by head or',\
|
||||
'tail until each worm covers the squares of its',\
|
||||
|
|
|
@ -1,321 +1,323 @@
|
|||
; program data
|
||||
|
||||
curMonth dd ?
|
||||
curYear dd ?
|
||||
curDay dd ?
|
||||
|
||||
remainder dd ?
|
||||
quotient dd ?
|
||||
|
||||
firstday dd ?
|
||||
Year dd ?
|
||||
Month dd ?
|
||||
day_sel dd ?
|
||||
|
||||
datestr dd ?
|
||||
leap_year dd ?
|
||||
number dd ?
|
||||
|
||||
; colors
|
||||
COL_WINDOW_BG equ 0x54E7E7E7
|
||||
COL_TOOLBAR_BG equ 0x555555
|
||||
COL_ACTIVE_TEXT equ 0x10e7c750
|
||||
COL_WEEKDAY_BG equ 0xCCCDDD
|
||||
COL_DATE_BUTTONS equ 0xF3F3F3
|
||||
COL_TIME_BUTTONS equ 0x5555dd
|
||||
COL_GO_TODAY_T equ 0xd048c8
|
||||
COL_MONTH_YEAR_B equ 0x555555
|
||||
COL_DROPDOWN_BG equ 0x666666
|
||||
COL_DROPDOWN_T equ 0x10CCCccc
|
||||
COL_NEW_STYLE_T equ 0xef3333
|
||||
|
||||
COL_DATE_INACTIVE_1 equ 0x388CAF
|
||||
COL_DATE_INACTIVE_2 equ 0x75B9D5
|
||||
COL_DATE_INACTIVE_3 equ 0x9ECBDF
|
||||
COL_DATE_INACTIVE_4 equ 0xABD7E8
|
||||
|
||||
COL_DATE_ACTIVE_1 equ 0xA57F2C
|
||||
COL_DATE_ACTIVE_2 equ 0xEFB52D
|
||||
COL_DATE_ACTIVE_3 equ 0xFAD84C
|
||||
COL_DATE_ACTIVE_4 equ 0xFAE995
|
||||
|
||||
COL_DATE_1 equ 0x8C8C8C
|
||||
COL_DATE_2 equ 0xFFFfff
|
||||
COL_DATE_3 equ 0xF2F2F2
|
||||
COL_DATE_4 equ 0xF2F2F2
|
||||
|
||||
; definitions
|
||||
WIN_W equ 275
|
||||
WIN_H equ 326
|
||||
|
||||
DATE_BUTTON_WIDTH equ 32
|
||||
DATE_BUTTON_HEIGHT equ 30
|
||||
|
||||
|
||||
LINE1 equ 27 shl 16+16
|
||||
B_MONTH_X equ 15 shl 16+158
|
||||
B_Y equ LINE1
|
||||
B_MONTH equ 63 shl 16+27
|
||||
|
||||
BT_WBAR_Y equ 283 shl 16+43
|
||||
|
||||
B_WBAR_X equ 1 shl 16+WIN_W-1
|
||||
B_WBAR_Y equ 64 shl 16+20
|
||||
B_WEEK equ 34 shl 16+66
|
||||
B_WX_SHIFT equ 32 shl 16
|
||||
|
||||
B_DROP equ B_MONTH+16
|
||||
B_DAYS_Y equ 106
|
||||
B_DAYS_SHIFT equ 30
|
||||
|
||||
B_YEAR equ 204 shl 16+28
|
||||
|
||||
B_SPIN_X equ 186 shl 16+12
|
||||
B_SPIN equ 188 shl 16+28
|
||||
spinner db '< >'
|
||||
|
||||
B_TODAY_X equ 25 shl 16
|
||||
B_TODAY_Y equ 48 shl 16+10
|
||||
B_TODAY equ 30 shl 16+50
|
||||
|
||||
B_NS_X equ 185 shl 16+75
|
||||
B_NS_Y equ 48 shl 16+10
|
||||
B_NS equ 190 shl 16+50
|
||||
|
||||
FOCUSABLE equ 4
|
||||
|
||||
; multilanguage interface - configuratable in lang.inc
|
||||
day_count db 3,0,3,2,3,2,3,3,2,3,2,3
|
||||
Fkeys db 210,211,212,213,214,215,216,217,208,209,228,159
|
||||
|
||||
month_name:
|
||||
if lang eq ru
|
||||
db 8
|
||||
db 'Ÿ¢ àì '
|
||||
db '”¥¢à «ì '
|
||||
db 'Œ àâ '
|
||||
db '€¯à¥«ì '
|
||||
db 'Œ © '
|
||||
db 'ˆîì '
|
||||
db 'ˆî«ì '
|
||||
db '€¢£ãáâ '
|
||||
db '‘¥âï¡àì'
|
||||
db 'Žªâï¡àì '
|
||||
db '<27>®ï¡àì '
|
||||
db '„¥ª ¡àì '
|
||||
else if lang eq de
|
||||
db 9
|
||||
db 'Januar '
|
||||
db 'Februar '
|
||||
db 'M+rz '
|
||||
db 'April '
|
||||
db 'Mai '
|
||||
db 'Juni '
|
||||
db 'Juli '
|
||||
db 'August '
|
||||
db 'September'
|
||||
db 'Oktober '
|
||||
db 'November '
|
||||
db 'Dezember '
|
||||
else if lang eq fr
|
||||
db 9
|
||||
db 'Janvier '
|
||||
db 'Fevrier '
|
||||
db 'Mars '
|
||||
db 'Avril '
|
||||
db 'Mai '
|
||||
db 'Juin '
|
||||
db 'Juliet '
|
||||
db 'Aout '
|
||||
db 'Septembre'
|
||||
db 'Octobre '
|
||||
db 'Novembre '
|
||||
db 'Decembre '
|
||||
else if lang eq fi
|
||||
db 9
|
||||
db 'Tammikuu '
|
||||
db 'Helmikuu '
|
||||
db 'Maaliskuu'
|
||||
db 'Huhtikuu '
|
||||
db 'Toukokuu '
|
||||
db 'Kes+kuu '
|
||||
db 'Hein+kuu '
|
||||
db 'Elokuu '
|
||||
db 'Syyskuu '
|
||||
db 'Lokakuu '
|
||||
db 'Marraskuu'
|
||||
db 'Joulukuu '
|
||||
else if lang eq et
|
||||
db 9
|
||||
db 'Jaanuar '
|
||||
db 'Veebruar '
|
||||
db 'Märts '
|
||||
db 'Aprill '
|
||||
db 'Mai '
|
||||
db 'Juuni '
|
||||
db 'Juuli '
|
||||
db 'August '
|
||||
db 'September'
|
||||
db 'Oktoober '
|
||||
db 'November '
|
||||
db 'Detsember'
|
||||
else if lang eq it
|
||||
db 9
|
||||
db 'Gennaio '
|
||||
db 'Febbraio '
|
||||
db 'Marzo '
|
||||
db 'Aprile '
|
||||
db 'Maggio '
|
||||
db 'Giugno '
|
||||
db 'Luglio '
|
||||
db 'Agosto '
|
||||
db 'Settembre'
|
||||
db 'Ottobre '
|
||||
db 'Novembre '
|
||||
db 'Dicembre '
|
||||
else
|
||||
db 9
|
||||
db 'January '
|
||||
db 'February '
|
||||
db 'March '
|
||||
db 'April '
|
||||
db 'May '
|
||||
db 'June '
|
||||
db 'July '
|
||||
db 'August '
|
||||
db 'September'
|
||||
db 'October '
|
||||
db 'November '
|
||||
db 'December '
|
||||
end if
|
||||
week_days:
|
||||
if lang eq ru
|
||||
db 2
|
||||
db 1
|
||||
db '<27>'
|
||||
db '‚â'
|
||||
db '‘à'
|
||||
db '—â'
|
||||
db '<27>â'
|
||||
db '‘¡'
|
||||
db '‚á'
|
||||
else if lang eq de
|
||||
db 2
|
||||
db 7
|
||||
db 'So'
|
||||
db 'Mo'
|
||||
db 'Di'
|
||||
db 'Mi'
|
||||
db 'Do'
|
||||
db 'Fr'
|
||||
db 'Sa'
|
||||
else if lang eq fr
|
||||
db 3
|
||||
db 7
|
||||
db 'Dim'
|
||||
db 'Lun'
|
||||
db 'Mar'
|
||||
db 'Mer'
|
||||
db 'Jeu'
|
||||
db 'Ven'
|
||||
db 'Sam'
|
||||
else if lang eq fi
|
||||
db 2
|
||||
db 7
|
||||
db 'Su'
|
||||
db 'Ma'
|
||||
db 'Ti'
|
||||
db 'Ke'
|
||||
db 'To'
|
||||
db 'Pe'
|
||||
db 'La'
|
||||
else if lang eq et
|
||||
db 3
|
||||
db 7
|
||||
db 'Esm'
|
||||
db 'Tei'
|
||||
db 'Kol'
|
||||
db 'Nel'
|
||||
db 'Ree'
|
||||
db 'Lau'
|
||||
db 'Püh'
|
||||
else if lang eq it
|
||||
db 3
|
||||
db 7
|
||||
db 'Dom'
|
||||
db 'Lun'
|
||||
db 'Mar'
|
||||
db 'Mer'
|
||||
db 'Gio'
|
||||
db 'Ven'
|
||||
db 'Sab'
|
||||
else
|
||||
db 3
|
||||
db 7
|
||||
db 'Sun'
|
||||
db 'Mon'
|
||||
db 'Tue'
|
||||
db 'Wed'
|
||||
db 'Thu'
|
||||
db 'Fri'
|
||||
db 'Sat'
|
||||
end if
|
||||
|
||||
title:
|
||||
if lang eq ru
|
||||
db 'Š «¥¤ àì',0
|
||||
else if lang eq ge
|
||||
db 'Kalender',0
|
||||
else if lang eq fr
|
||||
db 'Calendrier',0
|
||||
else if lang eq et
|
||||
db 'Kalender',0
|
||||
else if lang eq it
|
||||
db 'Calendario',0
|
||||
else
|
||||
db 'Calendar',0
|
||||
end if
|
||||
|
||||
today_msg:
|
||||
if lang eq ru
|
||||
db '‘¥£®¤ï'
|
||||
else if lang eq ge
|
||||
db 'Heute'
|
||||
else if lang eq fr
|
||||
db "Aujourd'hui"
|
||||
else if lang eq et
|
||||
db 'Täna'
|
||||
else if lang eq it
|
||||
db 'Oggi'
|
||||
else
|
||||
db 'Today'
|
||||
end if
|
||||
today_end:
|
||||
focus dd 3
|
||||
new_style dd 1
|
||||
dropped db 0
|
||||
|
||||
sys_text:
|
||||
if lang eq ru
|
||||
db '∴•',0
|
||||
else if lang eq it
|
||||
db ' Ora',0
|
||||
else if lang eq et
|
||||
db ' Aeg ',0
|
||||
else
|
||||
db ' Time',0
|
||||
end if
|
||||
separator db ':',0
|
||||
plus db '+',0
|
||||
minus db '-',0
|
||||
set_date_t:
|
||||
if lang eq ru
|
||||
db '“áâ ®¢¨âì ¤ âã',0
|
||||
else if lang eq it
|
||||
db ' Impostazioni ',0
|
||||
else if lang eq et
|
||||
db ' Määra kuupäev ',0
|
||||
else
|
||||
db ' Set date ',0
|
||||
end if
|
||||
|
||||
; program data
|
||||
|
||||
curMonth dd ?
|
||||
curYear dd ?
|
||||
curDay dd ?
|
||||
|
||||
remainder dd ?
|
||||
quotient dd ?
|
||||
|
||||
firstday dd ?
|
||||
Year dd ?
|
||||
Month dd ?
|
||||
day_sel dd ?
|
||||
|
||||
datestr dd ?
|
||||
leap_year dd ?
|
||||
number dd ?
|
||||
|
||||
; colors
|
||||
COL_WINDOW_BG equ 0x54E7E7E7
|
||||
COL_TOOLBAR_BG equ 0x555555
|
||||
COL_ACTIVE_TEXT equ 0x10e7c750
|
||||
COL_WEEKDAY_BG equ 0xCCCDDD
|
||||
COL_DATE_BUTTONS equ 0xF3F3F3
|
||||
COL_TIME_BUTTONS equ 0x5555dd
|
||||
COL_GO_TODAY_T equ 0xd048c8
|
||||
COL_MONTH_YEAR_B equ 0x555555
|
||||
COL_DROPDOWN_BG equ 0x666666
|
||||
COL_DROPDOWN_T equ 0x10CCCccc
|
||||
COL_NEW_STYLE_T equ 0xef3333
|
||||
|
||||
COL_DATE_INACTIVE_1 equ 0x388CAF
|
||||
COL_DATE_INACTIVE_2 equ 0x75B9D5
|
||||
COL_DATE_INACTIVE_3 equ 0x9ECBDF
|
||||
COL_DATE_INACTIVE_4 equ 0xABD7E8
|
||||
|
||||
COL_DATE_ACTIVE_1 equ 0xA57F2C
|
||||
COL_DATE_ACTIVE_2 equ 0xEFB52D
|
||||
COL_DATE_ACTIVE_3 equ 0xFAD84C
|
||||
COL_DATE_ACTIVE_4 equ 0xFAE995
|
||||
|
||||
COL_DATE_1 equ 0x8C8C8C
|
||||
COL_DATE_2 equ 0xFFFfff
|
||||
COL_DATE_3 equ 0xF2F2F2
|
||||
COL_DATE_4 equ 0xF2F2F2
|
||||
|
||||
; definitions
|
||||
WIN_W equ 275
|
||||
WIN_H equ 326
|
||||
|
||||
DATE_BUTTON_WIDTH equ 32
|
||||
DATE_BUTTON_HEIGHT equ 30
|
||||
|
||||
|
||||
LINE1 equ 27 shl 16+16
|
||||
B_MONTH_X equ 15 shl 16+158
|
||||
B_Y equ LINE1
|
||||
B_MONTH equ 63 shl 16+27
|
||||
|
||||
BT_WBAR_Y equ 283 shl 16+43
|
||||
|
||||
B_WBAR_X equ 1 shl 16+WIN_W-1
|
||||
B_WBAR_Y equ 64 shl 16+20
|
||||
B_WEEK equ 34 shl 16+66
|
||||
B_WX_SHIFT equ 32 shl 16
|
||||
|
||||
B_DROP equ B_MONTH+16
|
||||
B_DAYS_Y equ 106
|
||||
B_DAYS_SHIFT equ 30
|
||||
|
||||
B_YEAR equ 204 shl 16+28
|
||||
|
||||
B_SPIN_X equ 186 shl 16+12
|
||||
B_SPIN equ 188 shl 16+28
|
||||
spinner db '< >'
|
||||
|
||||
B_TODAY_X equ 25 shl 16
|
||||
B_TODAY_Y equ 48 shl 16+10
|
||||
B_TODAY equ 30 shl 16+50
|
||||
|
||||
B_NS_X equ 185 shl 16+75
|
||||
B_NS_Y equ 48 shl 16+10
|
||||
B_NS equ 190 shl 16+50
|
||||
|
||||
FOCUSABLE equ 4
|
||||
|
||||
day_count db 3,0,3,2,3,2,3,3,2,3,2,3
|
||||
Fkeys db 210,211,212,213,214,215,216,217,208,209,228,159
|
||||
|
||||
; Multilanguage interface - configurable in lang.inc
|
||||
; Language support for locales: ru_RU (CP866), de_DE, fr_FR, fi_FI, et_ES, it_IT, en_US
|
||||
|
||||
month_name:
|
||||
if lang eq ru_RU
|
||||
db 8
|
||||
db 'Ÿ¢ àì '
|
||||
db '”¥¢à «ì '
|
||||
db 'Œ àâ '
|
||||
db '€¯à¥«ì '
|
||||
db 'Œ © '
|
||||
db 'ˆîì '
|
||||
db 'ˆî«ì '
|
||||
db '€¢£ãáâ '
|
||||
db '‘¥âï¡àì'
|
||||
db 'Žªâï¡àì '
|
||||
db '<27>®ï¡àì '
|
||||
db '„¥ª ¡àì '
|
||||
else if lang eq de_DE
|
||||
db 9
|
||||
db 'Januar '
|
||||
db 'Februar '
|
||||
db 'M+rz '
|
||||
db 'April '
|
||||
db 'Mai '
|
||||
db 'Juni '
|
||||
db 'Juli '
|
||||
db 'August '
|
||||
db 'September'
|
||||
db 'Oktober '
|
||||
db 'November '
|
||||
db 'Dezember '
|
||||
else if lang eq fr_FR
|
||||
db 9
|
||||
db 'Janvier '
|
||||
db 'Fevrier '
|
||||
db 'Mars '
|
||||
db 'Avril '
|
||||
db 'Mai '
|
||||
db 'Juin '
|
||||
db 'Juliet '
|
||||
db 'Aout '
|
||||
db 'Septembre'
|
||||
db 'Octobre '
|
||||
db 'Novembre '
|
||||
db 'Decembre '
|
||||
else if lang eq fi_FI
|
||||
db 9
|
||||
db 'Tammikuu '
|
||||
db 'Helmikuu '
|
||||
db 'Maaliskuu'
|
||||
db 'Huhtikuu '
|
||||
db 'Toukokuu '
|
||||
db 'Kes+kuu '
|
||||
db 'Hein+kuu '
|
||||
db 'Elokuu '
|
||||
db 'Syyskuu '
|
||||
db 'Lokakuu '
|
||||
db 'Marraskuu'
|
||||
db 'Joulukuu '
|
||||
else if lang eq et_EE
|
||||
db 9
|
||||
db 'Jaanuar '
|
||||
db 'Veebruar '
|
||||
db 'Märts '
|
||||
db 'Aprill '
|
||||
db 'Mai '
|
||||
db 'Juuni '
|
||||
db 'Juuli '
|
||||
db 'August '
|
||||
db 'September'
|
||||
db 'Oktoober '
|
||||
db 'November '
|
||||
db 'Detsember'
|
||||
else if lang eq it_IT
|
||||
db 9
|
||||
db 'Gennaio '
|
||||
db 'Febbraio '
|
||||
db 'Marzo '
|
||||
db 'Aprile '
|
||||
db 'Maggio '
|
||||
db 'Giugno '
|
||||
db 'Luglio '
|
||||
db 'Agosto '
|
||||
db 'Settembre'
|
||||
db 'Ottobre '
|
||||
db 'Novembre '
|
||||
db 'Dicembre '
|
||||
else ; Default to en_US
|
||||
db 9
|
||||
db 'January '
|
||||
db 'February '
|
||||
db 'March '
|
||||
db 'April '
|
||||
db 'May '
|
||||
db 'June '
|
||||
db 'July '
|
||||
db 'August '
|
||||
db 'September'
|
||||
db 'October '
|
||||
db 'November '
|
||||
db 'December '
|
||||
end if
|
||||
week_days:
|
||||
if lang eq ru_RU
|
||||
db 2
|
||||
db 1
|
||||
db '<27>'
|
||||
db '‚â'
|
||||
db '‘à'
|
||||
db '—â'
|
||||
db '<27>â'
|
||||
db '‘¡'
|
||||
db '‚á'
|
||||
else if lang eq de_DE
|
||||
db 2
|
||||
db 7
|
||||
db 'So'
|
||||
db 'Mo'
|
||||
db 'Di'
|
||||
db 'Mi'
|
||||
db 'Do'
|
||||
db 'Fr'
|
||||
db 'Sa'
|
||||
else if lang eq fr_FR
|
||||
db 3
|
||||
db 7
|
||||
db 'Dim'
|
||||
db 'Lun'
|
||||
db 'Mar'
|
||||
db 'Mer'
|
||||
db 'Jeu'
|
||||
db 'Ven'
|
||||
db 'Sam'
|
||||
else if lang eq fi_FI
|
||||
db 2
|
||||
db 7
|
||||
db 'Su'
|
||||
db 'Ma'
|
||||
db 'Ti'
|
||||
db 'Ke'
|
||||
db 'To'
|
||||
db 'Pe'
|
||||
db 'La'
|
||||
else if lang eq et_EE
|
||||
db 3
|
||||
db 7
|
||||
db 'Esm'
|
||||
db 'Tei'
|
||||
db 'Kol'
|
||||
db 'Nel'
|
||||
db 'Ree'
|
||||
db 'Lau'
|
||||
db 'Püh'
|
||||
else if lang eq it_IT
|
||||
db 3
|
||||
db 7
|
||||
db 'Dom'
|
||||
db 'Lun'
|
||||
db 'Mar'
|
||||
db 'Mer'
|
||||
db 'Gio'
|
||||
db 'Ven'
|
||||
db 'Sab'
|
||||
else ; Default to en_US
|
||||
db 3
|
||||
db 7
|
||||
db 'Sun'
|
||||
db 'Mon'
|
||||
db 'Tue'
|
||||
db 'Wed'
|
||||
db 'Thu'
|
||||
db 'Fri'
|
||||
db 'Sat'
|
||||
end if
|
||||
|
||||
title:
|
||||
if lang eq ru_RU
|
||||
db 'Š «¥¤ àì',0
|
||||
else if lang eq de_DE
|
||||
db 'Kalender',0
|
||||
else if lang eq fr_FR
|
||||
db 'Calendrier',0
|
||||
else if lang eq et_EE
|
||||
db 'Kalender',0
|
||||
else if lang eq it_IT
|
||||
db 'Calendario',0
|
||||
else ; Default to en_US
|
||||
db 'Calendar',0
|
||||
end if
|
||||
|
||||
today_msg:
|
||||
if lang eq ru_RU
|
||||
db '‘¥£®¤ï'
|
||||
else if lang eq de_DE
|
||||
db 'Heute'
|
||||
else if lang eq fr_FR
|
||||
db "Aujourd'hui"
|
||||
else if lang eq et_EE
|
||||
db 'Täna'
|
||||
else if lang eq it_IT
|
||||
db 'Oggi'
|
||||
else ; Default to en_US
|
||||
db 'Today'
|
||||
end if
|
||||
today_end:
|
||||
focus dd 3
|
||||
new_style dd 1
|
||||
dropped db 0
|
||||
|
||||
sys_text:
|
||||
if lang eq ru_RU
|
||||
db '∴•',0
|
||||
else if lang eq it_IT
|
||||
db ' Ora',0
|
||||
else if lang eq et_EE
|
||||
db ' Aeg ',0
|
||||
else ; Default to en_US
|
||||
db ' Time',0
|
||||
end if
|
||||
separator db ':',0
|
||||
plus db '+',0
|
||||
minus db '-',0
|
||||
|
||||
set_date_t:
|
||||
if lang eq ru_RU
|
||||
db '“áâ ®¢¨âì ¤ âã',0
|
||||
else if lang eq it_IT
|
||||
db ' Impostazioni ',0
|
||||
else if lang eq et_EE
|
||||
db ' Määra kuupäev ',0
|
||||
else ; Default to en_US
|
||||
db ' Set date ',0
|
||||
end if
|
||||
|
|
|
@ -1,227 +1,227 @@
|
|||
;---------------------------------------------------------------------
|
||||
;
|
||||
; DOCPAK FOR KOLIBRI v1.2
|
||||
; Written in pure assembly by Ivushkin Andrey aka Willow
|
||||
;
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
FILE_COUNT=0
|
||||
DEF_FILE equ 'g'
|
||||
|
||||
macro embed_docdir_file fn
|
||||
{
|
||||
forward
|
||||
local label,label2,label3
|
||||
dd label2-label
|
||||
dd label-label3
|
||||
label3:
|
||||
db fn
|
||||
label:
|
||||
file '%DOCDIR%' # fn
|
||||
label2:
|
||||
FILE_COUNT=FILE_COUNT+1
|
||||
}
|
||||
macro embed_local_file fn
|
||||
{
|
||||
forward
|
||||
local label,label2,label3
|
||||
dd label2-label
|
||||
dd label-label3
|
||||
label3:
|
||||
db fn
|
||||
label:
|
||||
file fn
|
||||
label2:
|
||||
FILE_COUNT=FILE_COUNT+1
|
||||
}
|
||||
|
||||
use32
|
||||
org 0x0
|
||||
db 'MENUET01' ; 8 byte id
|
||||
dd 0x01 ; header version
|
||||
dd start ; start of code
|
||||
dd I_END ; size of image
|
||||
dd I_END+0x400 ; memory for app
|
||||
dd I_END+0x400 ; esp
|
||||
dd my_param , 0x0 ; I_Param , I_Icon
|
||||
include '../../../macros.inc'
|
||||
include 'lang.inc'
|
||||
|
||||
start:
|
||||
cmp [my_param],0
|
||||
je red
|
||||
cmp [my_param],'a'
|
||||
jb .par_a
|
||||
cmp [my_param],'z'
|
||||
jbe .ok2
|
||||
.par_a:
|
||||
mov [my_param],DEF_FILE
|
||||
.ok2:
|
||||
movzx ecx,[my_param]
|
||||
mov [my_param],'*'
|
||||
.open:
|
||||
sub ecx,'a'-1
|
||||
mov edx,embedded
|
||||
xor esi,esi
|
||||
.list:
|
||||
lea edx,[edx+esi+8]
|
||||
mov esi,[edx-8]
|
||||
add edx,[edx-4]
|
||||
test esi,esi
|
||||
jz .close
|
||||
loop .list
|
||||
push edx
|
||||
; convert number in esi to decimal representation
|
||||
mov ecx, 10
|
||||
push -'0'
|
||||
mov eax, esi
|
||||
@@:
|
||||
xor edx, edx
|
||||
div ecx
|
||||
push edx
|
||||
test eax, eax
|
||||
jnz @b
|
||||
mov edi, fsize
|
||||
@@:
|
||||
pop eax
|
||||
add al, '0'
|
||||
stosb
|
||||
jnz @b
|
||||
mcall 70,fileinfo
|
||||
mov ecx,eax
|
||||
mcall 5,20
|
||||
pop edx
|
||||
mcall 60,2
|
||||
cmp [my_param],'*'
|
||||
jne still
|
||||
.close:
|
||||
mcall -1
|
||||
|
||||
red:
|
||||
mov [my_param],'a'
|
||||
|
||||
mcall 48, 3, sc, sizeof.system_colors
|
||||
|
||||
mcall 12,1
|
||||
|
||||
BTN_H equ 21
|
||||
|
||||
mov edx,[sc.work]
|
||||
or edx,0x34000000
|
||||
mcall 0, <220,141>, <30,FILECOUNT*(BTN_H+3)+37>, , ,title
|
||||
|
||||
mov ecx,FILECOUNT
|
||||
mov ebx,23 shl 16+100
|
||||
mov esi,[sc.work_button]
|
||||
mov edi,5 shl 16+BTN_H
|
||||
mov edx,10
|
||||
mov eax,8
|
||||
.btnlp:
|
||||
push ecx
|
||||
mcall ,,edi
|
||||
add edi,(BTN_H+3) shl 16
|
||||
inc edx
|
||||
pop ecx
|
||||
loop .btnlp
|
||||
mov ecx,FILECOUNT
|
||||
mov edx,embedded
|
||||
xor edi,edi
|
||||
mov ebx,30 shl 16+8
|
||||
mov eax,4
|
||||
.list:
|
||||
lea edx,[edx+edi+8]
|
||||
mov edi,[edx-8]
|
||||
pusha
|
||||
sub ebx,20 shl 16
|
||||
mov ecx, [sc.work_text]
|
||||
or ecx, 0x30000000
|
||||
mcall ,,,my_param,1
|
||||
inc [my_param]
|
||||
popa
|
||||
push ecx
|
||||
mov esi, [edx-4]
|
||||
sub esi, 4 ;remove .txt extension
|
||||
mov ecx, [sc.work_button_text]
|
||||
or ecx, 0x30000000
|
||||
mcall
|
||||
pop ecx
|
||||
add esi, 4
|
||||
add edx, esi
|
||||
add ebx,(BTN_H+3)
|
||||
loop .list
|
||||
mcall 12,2
|
||||
|
||||
still:
|
||||
mcall 10
|
||||
cmp eax,1
|
||||
je red
|
||||
cmp eax,2
|
||||
jne .nokey
|
||||
mcall 2
|
||||
cmp ah,27 ;Esc
|
||||
je start.close
|
||||
cmp ah,'a'
|
||||
jb still
|
||||
cmp ah,'a'+FILECOUNT
|
||||
jae still
|
||||
jmp .cxax
|
||||
.nokey:
|
||||
mcall 17
|
||||
cmp ah,1
|
||||
je start.close
|
||||
sub ah,10-'a'
|
||||
.cxax:
|
||||
movzx ecx,ah
|
||||
jmp start.open
|
||||
|
||||
fileinfo:
|
||||
dd 7
|
||||
dd 0
|
||||
dd param
|
||||
dd 0 ,0
|
||||
db '/sys/TINYPAD',0
|
||||
|
||||
param db '*'
|
||||
fsize:
|
||||
times 10 db '0'
|
||||
db 0
|
||||
|
||||
embedded:
|
||||
|
||||
; Please use only filenames w/o path!
|
||||
|
||||
; -- Start of embedding area ------
|
||||
embed_docdir_file 'CREDITS.TXT' ;a
|
||||
if lang eq ru_RU
|
||||
embed_docdir_file 'GNU.TXT' ;b
|
||||
else
|
||||
embed_docdir_file 'COPYING.TXT' ;b
|
||||
end if
|
||||
embed_docdir_file 'HOT_KEYS.TXT' ;c
|
||||
embed_local_file 'FASM.TXT' ;d
|
||||
embed_docdir_file 'MTDBG.TXT' ;e
|
||||
if lang eq ru_RU
|
||||
embed_local_file 'SYSFUNCR.TXT' ;f
|
||||
else
|
||||
embed_local_file 'SYSFUNCS.TXT' ;f
|
||||
end if
|
||||
embed_local_file 'STACK.TXT' ;g
|
||||
embed_docdir_file 'KFAR_KEYS.TXT' ;h
|
||||
embed_docdir_file 'INI.TXT' ;i
|
||||
embed_docdir_file 'OPENDIAL.TXT' ;j
|
||||
; -- End of embedding area -------
|
||||
|
||||
dd 0
|
||||
FILECOUNT = FILE_COUNT
|
||||
|
||||
if ~ FILECOUNT>0
|
||||
error 'No embedded files'
|
||||
end if
|
||||
|
||||
my_param db 0
|
||||
rb 256
|
||||
I_END:
|
||||
|
||||
title db 'Doc Pack',0
|
||||
|
||||
sc system_colors
|
||||
;---------------------------------------------------------------------
|
||||
;
|
||||
; DOCPAK FOR KOLIBRI v1.2
|
||||
; Written in pure assembly by Ivushkin Andrey aka Willow
|
||||
;
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
FILE_COUNT=0
|
||||
DEF_FILE equ 'g'
|
||||
|
||||
macro embed_docdir_file fn
|
||||
{
|
||||
forward
|
||||
local label,label2,label3
|
||||
dd label2-label
|
||||
dd label-label3
|
||||
label3:
|
||||
db fn
|
||||
label:
|
||||
file '%DOCDIR%' # fn
|
||||
label2:
|
||||
FILE_COUNT=FILE_COUNT+1
|
||||
}
|
||||
macro embed_local_file fn
|
||||
{
|
||||
forward
|
||||
local label,label2,label3
|
||||
dd label2-label
|
||||
dd label-label3
|
||||
label3:
|
||||
db fn
|
||||
label:
|
||||
file fn
|
||||
label2:
|
||||
FILE_COUNT=FILE_COUNT+1
|
||||
}
|
||||
|
||||
use32
|
||||
org 0x0
|
||||
db 'MENUET01' ; 8 byte id
|
||||
dd 0x01 ; header version
|
||||
dd start ; start of code
|
||||
dd I_END ; size of image
|
||||
dd I_END+0x400 ; memory for app
|
||||
dd I_END+0x400 ; esp
|
||||
dd my_param , 0x0 ; I_Param , I_Icon
|
||||
include '../../../macros.inc'
|
||||
include 'lang.inc' ; Language support for locales: ru_RU, en_US.
|
||||
|
||||
start:
|
||||
cmp [my_param],0
|
||||
je red
|
||||
cmp [my_param],'a'
|
||||
jb .par_a
|
||||
cmp [my_param],'z'
|
||||
jbe .ok2
|
||||
.par_a:
|
||||
mov [my_param],DEF_FILE
|
||||
.ok2:
|
||||
movzx ecx,[my_param]
|
||||
mov [my_param],'*'
|
||||
.open:
|
||||
sub ecx,'a'-1
|
||||
mov edx,embedded
|
||||
xor esi,esi
|
||||
.list:
|
||||
lea edx,[edx+esi+8]
|
||||
mov esi,[edx-8]
|
||||
add edx,[edx-4]
|
||||
test esi,esi
|
||||
jz .close
|
||||
loop .list
|
||||
push edx
|
||||
; convert number in esi to decimal representation
|
||||
mov ecx, 10
|
||||
push -'0'
|
||||
mov eax, esi
|
||||
@@:
|
||||
xor edx, edx
|
||||
div ecx
|
||||
push edx
|
||||
test eax, eax
|
||||
jnz @b
|
||||
mov edi, fsize
|
||||
@@:
|
||||
pop eax
|
||||
add al, '0'
|
||||
stosb
|
||||
jnz @b
|
||||
mcall 70,fileinfo
|
||||
mov ecx,eax
|
||||
mcall 5,20
|
||||
pop edx
|
||||
mcall 60,2
|
||||
cmp [my_param],'*'
|
||||
jne still
|
||||
.close:
|
||||
mcall -1
|
||||
|
||||
red:
|
||||
mov [my_param],'a'
|
||||
|
||||
mcall 48, 3, sc, sizeof.system_colors
|
||||
|
||||
mcall 12,1
|
||||
|
||||
BTN_H equ 21
|
||||
|
||||
mov edx,[sc.work]
|
||||
or edx,0x34000000
|
||||
mcall 0, <220,141>, <30,FILECOUNT*(BTN_H+3)+37>, , ,title
|
||||
|
||||
mov ecx,FILECOUNT
|
||||
mov ebx,23 shl 16+100
|
||||
mov esi,[sc.work_button]
|
||||
mov edi,5 shl 16+BTN_H
|
||||
mov edx,10
|
||||
mov eax,8
|
||||
.btnlp:
|
||||
push ecx
|
||||
mcall ,,edi
|
||||
add edi,(BTN_H+3) shl 16
|
||||
inc edx
|
||||
pop ecx
|
||||
loop .btnlp
|
||||
mov ecx,FILECOUNT
|
||||
mov edx,embedded
|
||||
xor edi,edi
|
||||
mov ebx,30 shl 16+8
|
||||
mov eax,4
|
||||
.list:
|
||||
lea edx,[edx+edi+8]
|
||||
mov edi,[edx-8]
|
||||
pusha
|
||||
sub ebx,20 shl 16
|
||||
mov ecx, [sc.work_text]
|
||||
or ecx, 0x30000000
|
||||
mcall ,,,my_param,1
|
||||
inc [my_param]
|
||||
popa
|
||||
push ecx
|
||||
mov esi, [edx-4]
|
||||
sub esi, 4 ;remove .txt extension
|
||||
mov ecx, [sc.work_button_text]
|
||||
or ecx, 0x30000000
|
||||
mcall
|
||||
pop ecx
|
||||
add esi, 4
|
||||
add edx, esi
|
||||
add ebx,(BTN_H+3)
|
||||
loop .list
|
||||
mcall 12,2
|
||||
|
||||
still:
|
||||
mcall 10
|
||||
cmp eax,1
|
||||
je red
|
||||
cmp eax,2
|
||||
jne .nokey
|
||||
mcall 2
|
||||
cmp ah,27 ;Esc
|
||||
je start.close
|
||||
cmp ah,'a'
|
||||
jb still
|
||||
cmp ah,'a'+FILECOUNT
|
||||
jae still
|
||||
jmp .cxax
|
||||
.nokey:
|
||||
mcall 17
|
||||
cmp ah,1
|
||||
je start.close
|
||||
sub ah,10-'a'
|
||||
.cxax:
|
||||
movzx ecx,ah
|
||||
jmp start.open
|
||||
|
||||
fileinfo:
|
||||
dd 7
|
||||
dd 0
|
||||
dd param
|
||||
dd 0 ,0
|
||||
db '/sys/TINYPAD',0
|
||||
|
||||
param db '*'
|
||||
fsize:
|
||||
times 10 db '0'
|
||||
db 0
|
||||
|
||||
embedded:
|
||||
|
||||
; Please use only filenames w/o path!
|
||||
|
||||
; -- Start of embedding area ------
|
||||
embed_docdir_file 'CREDITS.TXT' ;a
|
||||
if lang eq ru_RU
|
||||
embed_docdir_file 'GNU.TXT' ;b
|
||||
else ; Default to en_US
|
||||
embed_docdir_file 'COPYING.TXT' ;b
|
||||
end if
|
||||
embed_docdir_file 'HOT_KEYS.TXT' ;c
|
||||
embed_local_file 'FASM.TXT' ;d
|
||||
embed_docdir_file 'MTDBG.TXT' ;e
|
||||
if lang eq ru_RU
|
||||
embed_local_file 'SYSFUNCR.TXT' ;f
|
||||
else ; Default to en_US
|
||||
embed_local_file 'SYSFUNCS.TXT' ;f
|
||||
end if
|
||||
embed_local_file 'STACK.TXT' ;g
|
||||
embed_docdir_file 'KFAR_KEYS.TXT' ;h
|
||||
embed_docdir_file 'INI.TXT' ;i
|
||||
embed_docdir_file 'OPENDIAL.TXT' ;j
|
||||
; -- End of embedding area -------
|
||||
|
||||
dd 0
|
||||
FILECOUNT = FILE_COUNT
|
||||
|
||||
if ~ FILECOUNT>0
|
||||
error 'No embedded files'
|
||||
end if
|
||||
|
||||
my_param db 0
|
||||
rb 256
|
||||
I_END:
|
||||
|
||||
title db 'Doc Pack',0
|
||||
|
||||
sc system_colors
|
||||
|
|
|
@ -1,68 +1,71 @@
|
|||
WIN_W = 440
|
||||
WIN_H = 200
|
||||
BOT_PANEL_H = 70
|
||||
;---------------------------------------------------------------------
|
||||
CANCEL_BUTTON_ID = 1+BT_HIDE
|
||||
HOME_BUTTON_ID = 2
|
||||
REBOOT_BUTTON_ID = 3
|
||||
POWEROFF_BUTTON_ID = 4
|
||||
CHECKBOX_BUTTON_ID = 5+BT_HIDE
|
||||
;---------------------------------------------------------------------
|
||||
TEXT_HOME: db 'Home',0
|
||||
TEXT_ENTER: db 'Enter',0
|
||||
TEXT_END: db 'End',0
|
||||
TEXT_CANCEL: db 'x',0
|
||||
;---------------------------------------------------------------------
|
||||
if lang eq ru
|
||||
TEXT_WTITLE: db '‡ ¢¥à襨¥ à ¡®âë',0
|
||||
TEXT_RDSAVE1: db '‘®åà ¨âì ¨§¬¥¥¨ï, ᤥ« ë¥ ¢',0
|
||||
TEXT_RDSAVE2: db '¯à®æ¥áá¥ à ¡®âë ¢ á¨á⥬¥ (Ctrl+S)',0
|
||||
TEXT_KERNEL: db 'Ÿ¤à®',0
|
||||
TEXT_REBOOT: db '<27>¥à¥§ £à㧪 ',0
|
||||
TEXT_OFF: db '‚몫î票¥',0
|
||||
TEXT_SAVING: db '‘®åà ¥¨¥ ®¡à § ...',0
|
||||
else if lang eq ge
|
||||
TEXT_WTITLE: db 'Shutdown computer',0
|
||||
TEXT_RDSAVE1: db 'Save all changes that were done',0
|
||||
TEXT_RDSAVE2: db 'during system work (Ctrl+S)',0
|
||||
TEXT_KERNEL: db 'Kernel',0
|
||||
TEXT_REBOOT: db 'Neustart',0
|
||||
TEXT_OFF: db 'Beenden',0
|
||||
TEXT_SAVING: db 'Saving RAM-drive...',0
|
||||
else if lang eq it
|
||||
TEXT_WTITLE: db 'Shutdown computer',0
|
||||
TEXT_RDSAVE1: db 'Save all changes that were done',0
|
||||
TEXT_RDSAVE2: db 'during system work (Ctrl+S)',0
|
||||
TEXT_KERNEL: db 'Kernel',0
|
||||
TEXT_REBOOT: db 'Riavvio',0
|
||||
TEXT_OFF: db 'Spegni',0
|
||||
TEXT_SAVING: db 'Saving RAM-drive...',0
|
||||
else
|
||||
TEXT_WTITLE: db 'Shutdown computer',0
|
||||
TEXT_RDSAVE1: db 'Save all changes that were done',0
|
||||
TEXT_RDSAVE2: db 'during system work (Ctrl+S)',0
|
||||
TEXT_KERNEL: db 'Kernel',0
|
||||
TEXT_REBOOT: db 'Reboot',0
|
||||
TEXT_OFF: db 'Power off',0
|
||||
TEXT_SAVING: db 'Saving RAM-drive...',0
|
||||
end if
|
||||
;---------------------------------------------------------------------
|
||||
rdsave:
|
||||
dd SSF_START_APP,0,hide,0,0
|
||||
db '/sys/rdsave',0
|
||||
hide db 'h',0
|
||||
asettings db 'settings',0
|
||||
aautosave db 'autosave',0
|
||||
ini_file db '/sys/settings/rdsave.ini',0
|
||||
;---------------------------------------------------------------------
|
||||
importLib:
|
||||
library \
|
||||
libini, 'libini.obj'
|
||||
|
||||
import libini, \
|
||||
ini_set_int ,'ini_set_int', \
|
||||
ini_get_int ,'ini_get_int'
|
||||
;---------------------------------------------------------------------
|
||||
checkbox_sharedname db 'CHECKBOX',0
|
||||
checkbox_img dd ?
|
||||
;---------------------------------------------------------------------
|
||||
WIN_W = 440
|
||||
WIN_H = 200
|
||||
BOT_PANEL_H = 70
|
||||
;---------------------------------------------------------------------
|
||||
CANCEL_BUTTON_ID = 1+BT_HIDE
|
||||
HOME_BUTTON_ID = 2
|
||||
REBOOT_BUTTON_ID = 3
|
||||
POWEROFF_BUTTON_ID = 4
|
||||
CHECKBOX_BUTTON_ID = 5+BT_HIDE
|
||||
;---------------------------------------------------------------------
|
||||
TEXT_HOME: db 'Home',0
|
||||
TEXT_ENTER: db 'Enter',0
|
||||
TEXT_END: db 'End',0
|
||||
TEXT_CANCEL: db 'x',0
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
; Language support for locales: ru_RU (CP866), de_DE, it_IT,en_US
|
||||
|
||||
if lang eq ru_RU
|
||||
TEXT_WTITLE: db '‡ ¢¥à襨¥ à ¡®âë',0
|
||||
TEXT_RDSAVE1: db '‘®åà ¨âì ¨§¬¥¥¨ï, ᤥ« ë¥ ¢',0
|
||||
TEXT_RDSAVE2: db '¯à®æ¥áá¥ à ¡®âë ¢ á¨á⥬¥ (Ctrl+S)',0
|
||||
TEXT_KERNEL: db 'Ÿ¤à®',0
|
||||
TEXT_REBOOT: db '<27>¥à¥§ £à㧪 ',0
|
||||
TEXT_OFF: db '‚몫î票¥',0
|
||||
TEXT_SAVING: db '‘®åà ¥¨¥ ®¡à § ...',0
|
||||
else if lang eq de_DE
|
||||
TEXT_WTITLE: db 'Shutdown computer',0
|
||||
TEXT_RDSAVE1: db 'Save all changes that were done',0
|
||||
TEXT_RDSAVE2: db 'during system work (Ctrl+S)',0
|
||||
TEXT_KERNEL: db 'Kernel',0
|
||||
TEXT_REBOOT: db 'Neustart',0
|
||||
TEXT_OFF: db 'Beenden',0
|
||||
TEXT_SAVING: db 'Saving RAM-drive...',0
|
||||
else if lang eq it_IT
|
||||
TEXT_WTITLE: db 'Shutdown computer',0
|
||||
TEXT_RDSAVE1: db 'Save all changes that were done',0
|
||||
TEXT_RDSAVE2: db 'during system work (Ctrl+S)',0
|
||||
TEXT_KERNEL: db 'Kernel',0
|
||||
TEXT_REBOOT: db 'Riavvio',0
|
||||
TEXT_OFF: db 'Spegni',0
|
||||
TEXT_SAVING: db 'Saving RAM-drive...',0
|
||||
else ; Default to en_US
|
||||
TEXT_WTITLE: db 'Shutdown computer',0
|
||||
TEXT_RDSAVE1: db 'Save all changes that were done',0
|
||||
TEXT_RDSAVE2: db 'during system work (Ctrl+S)',0
|
||||
TEXT_KERNEL: db 'Kernel',0
|
||||
TEXT_REBOOT: db 'Reboot',0
|
||||
TEXT_OFF: db 'Power off',0
|
||||
TEXT_SAVING: db 'Saving RAM-drive...',0
|
||||
end if
|
||||
;---------------------------------------------------------------------
|
||||
rdsave:
|
||||
dd SSF_START_APP,0,hide,0,0
|
||||
db '/sys/rdsave',0
|
||||
hide db 'h',0
|
||||
asettings db 'settings',0
|
||||
aautosave db 'autosave',0
|
||||
ini_file db '/sys/settings/rdsave.ini',0
|
||||
;---------------------------------------------------------------------
|
||||
importLib:
|
||||
library \
|
||||
libini, 'libini.obj'
|
||||
|
||||
import libini, \
|
||||
ini_set_int ,'ini_set_int', \
|
||||
ini_get_int ,'ini_get_int'
|
||||
;---------------------------------------------------------------------
|
||||
checkbox_sharedname db 'CHECKBOX',0
|
||||
checkbox_img dd ?
|
||||
;---------------------------------------------------------------------
|
||||
|
|
|
@ -1,206 +1,209 @@
|
|||
;------------------------------------------------------------------------------
|
||||
tl dd 8
|
||||
yw: dd 51
|
||||
ya dd 0
|
||||
cur_btn dd 40
|
||||
;------------------------------------------------------------------------------
|
||||
; DATA AREA
|
||||
bcolor dd 0x335599
|
||||
;------------------------------------------------------------------------------
|
||||
icon_table:
|
||||
times 4 db 'xxxx xxxx'
|
||||
times 2 db ' '
|
||||
times 1 db ' '
|
||||
times 2 db 'xxxx xxxx'
|
||||
; times 1 db ' '
|
||||
;------------------------------------------------------------------------------
|
||||
icons_reserved:
|
||||
times 9 db ' '
|
||||
;------------------------------------------------------------------------------
|
||||
if lang eq ru
|
||||
text:
|
||||
db 255,255,255,0, ' ’…Š‘’ '
|
||||
db 255,255,255,0, ' <20><>Žƒ<C5BD>€ŒŒ€ '
|
||||
db 255,255,255,0, ' <20>€<EFBFBD>€Œ…’<E280A6>› '
|
||||
db 255,255,255,0, ' <20><>ˆŒ…<C592>ˆ’œ '
|
||||
db 255,255,255,0, ' „Ž<E2809E>€‚ˆ’œ “„€‹ˆ’œ '
|
||||
db 0,0,0,0, '<27>€†Œˆ’… <20>€ <20>Ž‡ˆ–ˆž ˆŠŽ<C5A0>Šˆ „‹Ÿ <20>…„€Š’ˆ<E28099>Ž‚€<E2809A>ˆŸ '
|
||||
db 'x' ; <- END MARKER, DONT DELETE
|
||||
|
||||
add_text db '<27>€†Œˆ’… <20>€ <20>Ž‡ˆ–ˆž <20>…ˆ‘<CB86>Ž‹œ‡“…ŒŽ‰ ˆŠŽ<C5A0>Šˆ ',0
|
||||
rem_text db '<27>€†Œˆ’… <20>€ <20>Ž‡ˆ–ˆž ˆ‘<CB86>Ž‹œ‡“…ŒŽ‰ ˆŠŽ<C5A0>Šˆ ',0
|
||||
title db 'Œ¥¥¤¦¥à ¨ª®®ª',0
|
||||
|
||||
else if lang eq ge
|
||||
text:
|
||||
db 255,255,255,0, ' TITLE '
|
||||
db 255,255,255,0, ' APP NAME '
|
||||
db 255,255,255,0, ' PARAMETER '
|
||||
db 255,255,255,0, ' ANWENDEN '
|
||||
db 255,255,255,0, ' HINZUFUEGEN ENTFERNEN '
|
||||
db 0,0,0,0, 'AUF BUTTON KLICKEN, UM ICON ZU EDITIEREN '
|
||||
db 'x' ; <- END MARKER, DONT DELETE
|
||||
|
||||
add_text db 'AUF UNBENUTZTE ICONPOSITION KLICKEN ',0
|
||||
rem_text db 'ICON ANKLICKEN; DAS GELOESCHT WERDEN SOLL ',0
|
||||
title db 'Icon Manager',0
|
||||
|
||||
else if lang eq it
|
||||
text:
|
||||
db 255,255,255,0, 'Titolo '
|
||||
db 255,255,255,0, 'Nome app '
|
||||
db 255,255,255,0, 'Parametri '
|
||||
db 255,255,255,0, ' Applica modifiche '
|
||||
db 255,255,255,0, ' Aggiungi Rimuovi '
|
||||
db 0,0,0,0, 'Clicca sull icona per effettuare modifiche '
|
||||
db 'x' ; <- END MARKER, DONT DELETE
|
||||
|
||||
add_text db 'Clicca su una posizione non usata ',0
|
||||
rem_text db 'Cliccare sull icona da rimuovere ',0
|
||||
title db 'Gestore Icone',0
|
||||
|
||||
else
|
||||
text:
|
||||
db 255,255,255,0, ' TITLE '
|
||||
db 255,255,255,0, ' APP NAME '
|
||||
db 255,255,255,0, ' PARAMETERS '
|
||||
db 255,255,255,0, ' APPLY CHANGES '
|
||||
db 255,255,255,0, ' ADD ICON REMOVE ICON '
|
||||
db 0,0,0,0, 'CLICK BUTTON ON ICON POSITION FOR EDIT '
|
||||
db 'x' ; <- END MARKER, DONT DELETE
|
||||
add_text db 'CLICK ON A NOT USED POSITION ',0
|
||||
rem_text db 'CLICK ICON POSITION; YOU WANT TO DELETE ',0
|
||||
title db 'Icon Manager',0
|
||||
|
||||
end if
|
||||
;------------------------------------------------------------------------------
|
||||
arrows db '</>'
|
||||
;------------------------------------------------------------------------------
|
||||
iconname:
|
||||
db ICON_APP,0
|
||||
;------------------------------------------------------------------------------
|
||||
icon_default:
|
||||
db 'AA-CALC -004-/SYS/CALC '
|
||||
db '- *'
|
||||
db 13,10
|
||||
;------------------------------------------------------------------------------
|
||||
rep_text:
|
||||
if lang eq ru
|
||||
db '‡<>€—Šˆ - ˆ‡ , ‚›<E2809A><E280BA>€<EFBFBD> #'
|
||||
;else if lang eq it
|
||||
; db 'Icone - di , Selezionate'
|
||||
else
|
||||
db 'ICONS - OF , SELECTED'
|
||||
end if
|
||||
|
||||
rep_text_len:
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
finfo_start:
|
||||
dd 7
|
||||
dd 0
|
||||
.params dd 0
|
||||
dd 0
|
||||
dd 0
|
||||
db 0
|
||||
dd finfo.path
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
finfo:
|
||||
dd 5
|
||||
dd 0
|
||||
dd 0
|
||||
.size dd 0
|
||||
.point dd procinfo
|
||||
.path:
|
||||
db ICON_STRIP,0
|
||||
rb 31-($-.path)
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
positions dd 3,16,47
|
||||
str_lens db 8,30,30
|
||||
|
||||
current_icon dd icon_data
|
||||
|
||||
iconlst db ICONS_DAT,0
|
||||
|
||||
;image dd image_area
|
||||
;------------------------------------------------------------------------------
|
||||
; not change this section!!!
|
||||
; start section
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
image_file dd 0 ;+0
|
||||
raw_pointer dd 0 ;+4
|
||||
return_code dd 0 ;+8
|
||||
img_size dd 0 ;+12
|
||||
deflate_unpack dd 0 ;+16 ; not use for scaling
|
||||
raw_pointer_2 dd 0 ;+20 ; not use for scaling
|
||||
;------------------------------------------------------------------------------
|
||||
; end section
|
||||
;------------------------------------------------------------------------------
|
||||
system_dir_CnvPNG db '/sys/lib/cnv_png.obj',0
|
||||
system_dir_UNPACK db '/sys/lib/archiver.obj',0
|
||||
|
||||
;plugins_directory db 'plugins/',0
|
||||
plugins_directory db 0
|
||||
;------------------------------------------------------------------------------
|
||||
l_libs_start:
|
||||
|
||||
library01 l_libs system_dir_CnvPNG+9,library_path,system_dir_CnvPNG,\
|
||||
cnv_png_import,plugins_directory
|
||||
|
||||
library02 l_libs system_dir_UNPACK+9,library_path,system_dir_UNPACK,\
|
||||
UNPACK_import,plugins_directory
|
||||
|
||||
end_l_libs:
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
cnv_png_import:
|
||||
.Start dd aCP_Start
|
||||
.Version dd aCP_Version
|
||||
.Check dd aCP_Check
|
||||
.Assoc dd aCP_Assoc
|
||||
dd 0
|
||||
dd 0
|
||||
aCP_Start db 'START',0
|
||||
aCP_Version db 'version',0
|
||||
aCP_Check db 'Check_Header',0
|
||||
aCP_Assoc db 'Associations',0
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
UNPACK_import:
|
||||
;unpack_Version dd aUnpack_Version
|
||||
;unpack_PluginLoad dd aUnpack_PluginLoad
|
||||
;unpack_OpenFilePlugin dd aUnpack_OpenFilePlugin
|
||||
;unpack_ClosePlugin dd aUnpack_ClosePlugin
|
||||
;unpack_ReadFolder dd aUnpack_ReadFolder
|
||||
;unpack_SetFolder dd aUnpack_SetFolder
|
||||
;unpack_GetFiles dd aUnpack_GetFiles
|
||||
;unpack_GetOpenPluginInfo dd aUnpack_GetOpenPluginInfo
|
||||
;unpack_Getattr dd aUnpack_Getattr
|
||||
;unpack_Open dd aUnpack_Open
|
||||
;unpack_Read dd aUnpack_Read
|
||||
;unpack_Setpos dd aUnpack_Setpos
|
||||
;unpack_Close dd aUnpack_Close
|
||||
;unpack_DeflateUnpack dd aUnpack_DeflateUnpack
|
||||
unpack_DeflateUnpack2 dd aUnpack_DeflateUnpack2
|
||||
dd 0
|
||||
dd 0
|
||||
|
||||
;aUnpack_Version db 'version',0
|
||||
;aUnpack_PluginLoad db 'plugin_load',0
|
||||
;aUnpack_OpenFilePlugin db 'OpenFilePlugin',0
|
||||
;aUnpack_ClosePlugin db 'ClosePlugin',0
|
||||
;aUnpack_ReadFolder db 'ReadFolder',0
|
||||
;aUnpack_SetFolder db 'SetFolder',0
|
||||
;aUnpack_GetFiles db 'GetFiles',0
|
||||
;aUnpack_GetOpenPluginInfo db 'GetOpenPluginInfo',0
|
||||
;aUnpack_Getattr db 'getattr',0
|
||||
;aUnpack_Open db 'open',0
|
||||
;aUnpack_Read db 'read',0
|
||||
;aUnpack_Setpos db 'setpos',0
|
||||
;aUnpack_Close db 'close',0
|
||||
;aUnpack_DeflateUnpack db 'deflate_unpack',0
|
||||
aUnpack_DeflateUnpack2 db 'deflate_unpack2',0
|
||||
;------------------------------------------------------------------------------
|
||||
;------------------------------------------------------------------------------
|
||||
tl dd 8
|
||||
yw: dd 51
|
||||
ya dd 0
|
||||
cur_btn dd 40
|
||||
;------------------------------------------------------------------------------
|
||||
; DATA AREA
|
||||
bcolor dd 0x335599
|
||||
;------------------------------------------------------------------------------
|
||||
icon_table:
|
||||
times 4 db 'xxxx xxxx'
|
||||
times 2 db ' '
|
||||
times 1 db ' '
|
||||
times 2 db 'xxxx xxxx'
|
||||
; times 1 db ' '
|
||||
;------------------------------------------------------------------------------
|
||||
icons_reserved:
|
||||
times 9 db ' '
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
; Language support for locales: ru_RU (CP866), de_DE, it_IT, en_US
|
||||
|
||||
if lang eq ru_RU
|
||||
text:
|
||||
db 255,255,255,0, ' ’…Š‘’ '
|
||||
db 255,255,255,0, ' <20><>Žƒ<C5BD>€ŒŒ€ '
|
||||
db 255,255,255,0, ' <20>€<EFBFBD>€Œ…’<E280A6>› '
|
||||
db 255,255,255,0, ' <20><>ˆŒ…<C592>ˆ’œ '
|
||||
db 255,255,255,0, ' „Ž<E2809E>€‚ˆ’œ “„€‹ˆ’œ '
|
||||
db 0,0,0,0, '<27>€†Œˆ’… <20>€ <20>Ž‡ˆ–ˆž ˆŠŽ<C5A0>Šˆ „‹Ÿ <20>…„€Š’ˆ<E28099>Ž‚€<E2809A>ˆŸ '
|
||||
db 'x' ; <- END MARKER, DO NOT DELETE
|
||||
|
||||
add_text db '<27>€†Œˆ’… <20>€ <20>Ž‡ˆ–ˆž <20>…ˆ‘<CB86>Ž‹œ‡“…ŒŽ‰ ˆŠŽ<C5A0>Šˆ ',0
|
||||
rem_text db '<27>€†Œˆ’… <20>€ <20>Ž‡ˆ–ˆž ˆ‘<CB86>Ž‹œ‡“…ŒŽ‰ ˆŠŽ<C5A0>Šˆ ',0
|
||||
title db 'Œ¥¥¤¦¥à ¨ª®®ª',0
|
||||
|
||||
else if lang eq de_DE
|
||||
text:
|
||||
db 255,255,255,0, ' TITLE '
|
||||
db 255,255,255,0, ' APP NAME '
|
||||
db 255,255,255,0, ' PARAMETER '
|
||||
db 255,255,255,0, ' ANWENDEN '
|
||||
db 255,255,255,0, ' HINZUFUEGEN ENTFERNEN '
|
||||
db 0,0,0,0, 'AUF BUTTON KLICKEN, UM ICON ZU EDITIEREN '
|
||||
db 'x' ; <- END MARKER, DO NOT DELETE
|
||||
|
||||
add_text db 'AUF UNBENUTZTE ICONPOSITION KLICKEN ',0
|
||||
rem_text db 'ICON ANKLICKEN; DAS GELOESCHT WERDEN SOLL ',0
|
||||
title db 'Icon Manager',0
|
||||
|
||||
else if lang eq it_IT
|
||||
text:
|
||||
db 255,255,255,0, 'Titolo '
|
||||
db 255,255,255,0, 'Nome app '
|
||||
db 255,255,255,0, 'Parametri '
|
||||
db 255,255,255,0, ' Applica modifiche '
|
||||
db 255,255,255,0, ' Aggiungi Rimuovi '
|
||||
db 0,0,0,0, 'Clicca sull icona per effettuare modifiche '
|
||||
db 'x' ; <- END MARKER, DO NOT DELETE
|
||||
|
||||
add_text db 'Clicca su una posizione non usata ',0
|
||||
rem_text db 'Cliccare sull icona da rimuovere ',0
|
||||
title db 'Gestore Icone',0
|
||||
|
||||
else ; Default to en_US
|
||||
text:
|
||||
db 255,255,255,0, ' TITLE '
|
||||
db 255,255,255,0, ' APP NAME '
|
||||
db 255,255,255,0, ' PARAMETERS '
|
||||
db 255,255,255,0, ' APPLY CHANGES '
|
||||
db 255,255,255,0, ' ADD ICON REMOVE ICON '
|
||||
db 0,0,0,0, 'CLICK BUTTON ON ICON POSITION FOR EDIT '
|
||||
db 'x' ; <- END MARKER, DO NOT DELETE
|
||||
add_text db 'CLICK ON A NOT USED POSITION ',0
|
||||
rem_text db 'CLICK ICON POSITION; YOU WANT TO DELETE ',0
|
||||
title db 'Icon Manager',0
|
||||
|
||||
end if
|
||||
;------------------------------------------------------------------------------
|
||||
arrows db '</>'
|
||||
;------------------------------------------------------------------------------
|
||||
iconname:
|
||||
db ICON_APP,0
|
||||
;------------------------------------------------------------------------------
|
||||
icon_default:
|
||||
db 'AA-CALC -004-/SYS/CALC '
|
||||
db '- *'
|
||||
db 13,10
|
||||
;------------------------------------------------------------------------------
|
||||
rep_text:
|
||||
if lang eq ru_RU
|
||||
db '‡<>€—Šˆ - ˆ‡ , ‚›<E2809A><E280BA>€<EFBFBD> #'
|
||||
;else if lang eq it_IT
|
||||
; db 'Icone - di , Selezionate'
|
||||
else ; Default to en_US
|
||||
db 'ICONS - OF , SELECTED'
|
||||
end if
|
||||
|
||||
rep_text_len:
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
finfo_start:
|
||||
dd 7
|
||||
dd 0
|
||||
.params dd 0
|
||||
dd 0
|
||||
dd 0
|
||||
db 0
|
||||
dd finfo.path
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
finfo:
|
||||
dd 5
|
||||
dd 0
|
||||
dd 0
|
||||
.size dd 0
|
||||
.point dd procinfo
|
||||
.path:
|
||||
db ICON_STRIP,0
|
||||
rb 31-($-.path)
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
positions dd 3,16,47
|
||||
str_lens db 8,30,30
|
||||
|
||||
current_icon dd icon_data
|
||||
|
||||
iconlst db ICONS_DAT,0
|
||||
|
||||
;image dd image_area
|
||||
;------------------------------------------------------------------------------
|
||||
; not change this section!!!
|
||||
; start section
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
image_file dd 0 ;+0
|
||||
raw_pointer dd 0 ;+4
|
||||
return_code dd 0 ;+8
|
||||
img_size dd 0 ;+12
|
||||
deflate_unpack dd 0 ;+16 ; not use for scaling
|
||||
raw_pointer_2 dd 0 ;+20 ; not use for scaling
|
||||
;------------------------------------------------------------------------------
|
||||
; end section
|
||||
;------------------------------------------------------------------------------
|
||||
system_dir_CnvPNG db '/sys/lib/cnv_png.obj',0
|
||||
system_dir_UNPACK db '/sys/lib/archiver.obj',0
|
||||
|
||||
;plugins_directory db 'plugins/',0
|
||||
plugins_directory db 0
|
||||
;------------------------------------------------------------------------------
|
||||
l_libs_start:
|
||||
|
||||
library01 l_libs system_dir_CnvPNG+9,library_path,system_dir_CnvPNG,\
|
||||
cnv_png_import,plugins_directory
|
||||
|
||||
library02 l_libs system_dir_UNPACK+9,library_path,system_dir_UNPACK,\
|
||||
UNPACK_import,plugins_directory
|
||||
|
||||
end_l_libs:
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
cnv_png_import:
|
||||
.Start dd aCP_Start
|
||||
.Version dd aCP_Version
|
||||
.Check dd aCP_Check
|
||||
.Assoc dd aCP_Assoc
|
||||
dd 0
|
||||
dd 0
|
||||
aCP_Start db 'START',0
|
||||
aCP_Version db 'version',0
|
||||
aCP_Check db 'Check_Header',0
|
||||
aCP_Assoc db 'Associations',0
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
UNPACK_import:
|
||||
;unpack_Version dd aUnpack_Version
|
||||
;unpack_PluginLoad dd aUnpack_PluginLoad
|
||||
;unpack_OpenFilePlugin dd aUnpack_OpenFilePlugin
|
||||
;unpack_ClosePlugin dd aUnpack_ClosePlugin
|
||||
;unpack_ReadFolder dd aUnpack_ReadFolder
|
||||
;unpack_SetFolder dd aUnpack_SetFolder
|
||||
;unpack_GetFiles dd aUnpack_GetFiles
|
||||
;unpack_GetOpenPluginInfo dd aUnpack_GetOpenPluginInfo
|
||||
;unpack_Getattr dd aUnpack_Getattr
|
||||
;unpack_Open dd aUnpack_Open
|
||||
;unpack_Read dd aUnpack_Read
|
||||
;unpack_Setpos dd aUnpack_Setpos
|
||||
;unpack_Close dd aUnpack_Close
|
||||
;unpack_DeflateUnpack dd aUnpack_DeflateUnpack
|
||||
unpack_DeflateUnpack2 dd aUnpack_DeflateUnpack2
|
||||
dd 0
|
||||
dd 0
|
||||
|
||||
;aUnpack_Version db 'version',0
|
||||
;aUnpack_PluginLoad db 'plugin_load',0
|
||||
;aUnpack_OpenFilePlugin db 'OpenFilePlugin',0
|
||||
;aUnpack_ClosePlugin db 'ClosePlugin',0
|
||||
;aUnpack_ReadFolder db 'ReadFolder',0
|
||||
;aUnpack_SetFolder db 'SetFolder',0
|
||||
;aUnpack_GetFiles db 'GetFiles',0
|
||||
;aUnpack_GetOpenPluginInfo db 'GetOpenPluginInfo',0
|
||||
;aUnpack_Getattr db 'getattr',0
|
||||
;aUnpack_Open db 'open',0
|
||||
;aUnpack_Read db 'read',0
|
||||
;aUnpack_Setpos db 'setpos',0
|
||||
;aUnpack_Close db 'close',0
|
||||
;aUnpack_DeflateUnpack db 'deflate_unpack',0
|
||||
aUnpack_DeflateUnpack2 db 'deflate_unpack2',0
|
||||
;------------------------------------------------------------------------------
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue