2010-07-30 01:20:45 +04:00
use32
org 0x0
db 'MENUET01' ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> . <20> ᯮ<EFBFBD> <E1AFAE> 塞<EFBFBD> <EFA5AC> <EFBFBD> 䠩<> <E4A0A9> <20> ᥣ<EFBFBD> <E1A5A3> 8 <20> <> <EFBFBD> <EFBFBD>
dd 0x1
dd start
dd i_end ;ࠧ<> <E0A0A7> <EFBFBD> <20> ਫ<EFBFBD> <E0A8AB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
dd mem
dd stacktop
dd 0x0
dd sys_path
include '../../../macros.inc'
include '../../../proc32.inc'
include '../../../develop/libraries/box_lib/load_lib.mac'
2010-09-08 23:06:14 +04:00
include '../../../develop/libraries/box_lib/trunk/box_lib.mac' ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⮢ box_lib
2012-11-09 14:42:30 +04:00
include '../../../dll.inc'
2010-07-30 01:20:45 +04:00
@ use_library_mem mem.Alloc , mem.Free , mem.ReAlloc , dl l.Load
;䫠<> <E4ABA0> , <20> <> <EFBFBD> <20> 㭪樨 <20> <> १<EFBFBD> <E0A5A7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
BUF2D_OPT_CROP_TOP equ 1 ;<3B> <> १<EFBFBD> <E0A5A7> ᢥ<> <E1A2A5> <EFBFBD>
BUF2D_OPT_CROP_LEFT equ 2 ;<3B> <> १<EFBFBD> <E0A5A7> <> <E1ABA5>
BUF2D_OPT_CROP_BOTTOM equ 4 ;<3B> <> १<EFBFBD> <E0A5A7> ᭨<> <E1ADA8>
BUF2D_OPT_CROP_RIGHT equ 8 ;<3B> <> १<EFBFBD> <E0A5A7> <20> <> ࠢ<EFBFBD>
BUF2D_BIT_OPT_CROP_TOP equ 0
BUF2D_BIT_OPT_CROP_LEFT equ 1
BUF2D_BIT_OPT_CROP_BOTTOM equ 2
BUF2D_BIT_OPT_CROP_RIGHT equ 3
BUF_STRUCT_SIZE equ 21
buf2d_data equ dword [ edi ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
buf2d_w equ dword [ edi + 8 ] ;<3B> <> ਭ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
buf2d_h equ dword [ edi + 12 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
buf2d_l equ word [ edi + 4 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <> <E1ABA5>
2010-07-30 21:42:39 +04:00
buf2d_t equ word [ edi + 6 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᢥ<> <E1A2A5> <EFBFBD>
2010-07-30 01:20:45 +04:00
buf2d_size_lt equ dword [ edi + 4 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <> <E1ABA5> <20> <20> <> ࠢ<EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
buf2d_color equ dword [ edi + 16 ] ;梥<> 䮭<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
buf2d_bits equ byte [ edi + 20 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ <20> <> <EFBFBD> <20> 1-<2D> <20> <> 窥 <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
struc t FileInfoBlock
Function dd ?
Position dd ?
Flags dd ?
Count dd ?
Buffer dd ?
db ?
FileName dd ?
ends
2010-08-03 18:28:39 +04:00
displ_w dd ? ;<3B> <> ਭ<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
displ_h dd ? ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
displ_bytes dd ? ;ࠧ<> <E0A0A7> <EFBFBD> 1-<2D> <> 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <EFBFBD>
2010-08-20 14:31:17 +04:00
offs_shadow_x dd ? ;ᤢ<> <E1A4A2> ⥭<> <E2A5AD> <20> <> <20> <> <EFBFBD> 'x'
offs_shadow_y dd ? ;ᤢ<> <E1A4A2> ⥭<> <E2A5AD> <20> <> <20> <> <EFBFBD> 'y'
2010-08-03 18:28:39 +04:00
2010-07-30 01:20:45 +04:00
IMAGE_FONT_SIZE equ 128 * 144 * 3
2010-07-30 21:42:39 +04:00
BUT1_T equ 10 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᢥ<> <E1A2A5> <EFBFBD>
BUT1_L equ 15 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <> <E1ABA5>
BUT1_W equ 50 ;<3B> <> ਭ<EFBFBD>
BUT1_H equ 20 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
BUT1_NEXT_TOP equ ( BUT1_T + BUT1_H ) * 65536
2010-08-20 14:31:17 +04:00
2010-09-08 23:06:14 +04:00
game_select_mode db 1 ;० <> <E0A5A6> <20> 롮<EFBFBD> <EBA1AE> <20> <> <EFBFBD> <EFBFBD>
2010-07-30 21:42:39 +04:00
2010-08-04 15:40:19 +04:00
FILE_NAME_MAX equ 20 ;<3B> <> <EFBFBD> ᨬ<EFBFBD> <E1A8AC> 쭠<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> (<28> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> , <20> ⭮<EFBFBD> <E2ADAE> ⥫쭮 ⥪<> 饩)
;<3B> <> <EFBFBD> 祭<EFBFBD> <E7A5AD> <20> <> <EFBFBD> <EFBFBD> <20> <> 㬮<> 砭<EFBFBD> <E7A0AD>
2010-08-20 14:31:17 +04:00
ini_def_decorat_file db 'curici.png' , 0
2010-08-04 15:40:19 +04:00
ini_def_unit_file db 'wolf.png' , 0
2010-08-23 00:42:46 +04:00
ini_def_objects_file db 'eggs.png' , 0
2010-09-08 23:06:14 +04:00
ini_def_lost_file db 'chi.png' , 0
2010-08-04 15:40:19 +04:00
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> <EFBFBD>
2010-08-20 14:31:17 +04:00
fn_icon0 rb FILE_NAME_MAX ;<3B> <> <EFBFBD> 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﬨ
2010-08-04 15:40:19 +04:00
fn_icon1 rb FILE_NAME_MAX ;<3B> <> <EFBFBD> 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> 楬
2010-08-23 00:42:46 +04:00
fn_icon2 rb FILE_NAME_MAX ;<3B> <> <EFBFBD> 䠩<> <E4A0A9> <20> <20> <> 栬<EFBFBD>
2010-09-08 23:06:14 +04:00
fn_icon3 rb FILE_NAME_MAX ;<3B> <> <EFBFBD> 䠩<> <E4A0A9> <20> 樯<> <E6A8AF> ⠬<EFBFBD>
2010-07-30 01:20:45 +04:00
2010-09-08 23:06:14 +04:00
TREE_ICON_SYS16_BMP_SIZE equ 256 * 3 * 11 + 54 ;ࠧ<> <E0A0A7> <EFBFBD> bmp 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> ⥬<EFBFBD> 묨 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ini_m_name db 'main.ini' , 0
key_count db 'count' , 0
key_game db 'g'
key_game_ind db 0 , 0 , 0
ini_name rb FILE_NAME_MAX ;<3B> <> <EFBFBD> ini 䠩<> <E4A0A9> c <20> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> <> ன
2010-08-03 18:28:39 +04:00
ini_sec_files db 'Files' , 0
2010-08-20 14:31:17 +04:00
key_file_decorat db 'file_decorat' , 0
2010-08-04 15:40:19 +04:00
key_file_unit db 'file_unit' , 0
2010-08-23 00:42:46 +04:00
key_file_objects db 'file_objects' , 0
2010-09-08 23:06:14 +04:00
key_file_lost db 'file_lost' , 0
2010-08-03 18:28:39 +04:00
key_displ_w db 'displ_w' , 0
key_displ_h db 'displ_h' , 0
2010-08-20 14:31:17 +04:00
key_shadow_x db 'offs_shadow_x' , 0
key_shadow_y db 'offs_shadow_y' , 0
2010-08-04 15:40:19 +04:00
2010-08-23 00:42:46 +04:00
ini_sec_game db 'Game' , 0
key_delay_a db 'delay_a' , 0
key_delay_b db 'delay_b' , 0
key_delay_min db 'delay_min' , 0
2010-08-03 18:28:39 +04:00
ini_sec_color db 'Colors' , 0
2010-08-20 14:31:17 +04:00
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> 梥⮢ <20> <> *.ini 䠩<> <E4A0A9>
key_color_fon db 'background' , 0
key_color_shadows db 'shadows' , 0
key_color_egg db 'objects' , 0
key_color_chick db 'lost' , 0
key_color_decorat: db 'dec'
.ind: db '?' , 0
2010-08-03 18:28:39 +04:00
key_color_unit db 'unit' , 0
2010-07-30 21:42:39 +04:00
;梥<> <E6A2A5> <20> <20> <> <EFBFBD> <EFBFBD>
2010-08-20 14:31:17 +04:00
color_fon dd ? ;梥<> 䮭<>
color_shadows dd ? ;梥<> ⥭<> <E2A5AD>
color_wolf dd ? ;梥<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
color_egg dd ? ;梥<> <20> <> <EFBFBD> <EFBFBD>
color_chick dd ? ;梥<> 樯<> <E6A8AF> <EFBFBD> <EFBFBD> <EFBFBD>
color_decorat dd ? , ? , ? ;梥<> <E6A2A5> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 権 (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> ਫ<EFBFBD> , ...)
2010-07-30 21:42:39 +04:00
;梥<> <E6A2A5> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 䥩<EFBFBD> <E4A5A9>
color_but_sm dd 0x808080 ;梥<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 쪨<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-08-03 18:28:39 +04:00
color_but_te dd 0xffffff ;梥<> ⥪<> <E2A5AA> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
macro load_image_file path , buf , si ze { ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 㧪<EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
2011-08-17 15:18:45 +04:00
;path - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> ப<EFBFBD> <E0AEAA> <EFBFBD> <EFBFBD> <20> <> ࠬ<EFBFBD> <E0A0AC>
if path eqtype '' ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> ப<EFBFBD> <E0AEAA> <20> <> ࠬ<EFBFBD> <E0A0AC> <EFBFBD> path
jmp @ f
local .path_str
.path_str db path ;<3B> <> ନ<EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD>
db 0
@ @ :
;32 - <20> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> <20> <> ⥬
copy_path .path_str ,[ 32 ], file_name , 0x0
else
copy_path path ,[ 32 ], file_name , 0x0 ;<3B> <> ନ<EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> 䠩<> <E4A0A9> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> ࠧ㬥<E0A0A7> <E3ACA5> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> ணࠬ<E0AEA3> <E0A0AC> <EFBFBD>
end if
2010-08-03 18:28:39 +04:00
2010-07-30 01:20:45 +04:00
stdcall mem.Alloc , dword si ze ;<3B> 뤥<EFBFBD> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
mov [ buf ], eax
mov eax , 70 ;70-<2D> <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> ࠡ<> <E0A0A1> <EFBFBD> <20> 䠩<> <E4A0A9> <EFBFBD> <EFBFBD>
mov [ run_file_70.Function ], 0
mov [ run_file_70.Position ], 0
mov [ run_file_70.Flags ], 0
mov [ run_file_70.Count ], dword si ze
m2m [ run_file_70.Buffer ], [ buf ]
mov byte [ run_file_70 + 20 ], 0
mov [ run_file_70.FileName ], file_name
mov ebx , run_file_70
int 0x40 ;<3B> <> <EFBFBD> <EFBFBD> 㦠<EFBFBD> <E3A6A0> 䠩<> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
cmp ebx , 0xffffffff
je @ f
;<3B> <> ।<EFBFBD> <E0A5A4> 塞 <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <20> <20> <> ॢ<EFBFBD> <E0A5A2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> image_data
stdcall dword [ img_decode ], dword [ buf ], ebx , 0
mov dword [ image_data ], eax
;<3B> ८<EFBFBD> ࠧ㥬 <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <20> <20> <> ଠ <EFBFBD> <E0ACA0> rgb
stdcall dword [ img_to_rgb2 ], dword [ image_data ], dword [ buf ]
;㤠<> 塞 <20> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> image_data
stdcall dword [ img_destroy ], dword [ image_data ]
@ @ :
}
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
bit_zaac equ 2 ;<3B> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
val_zaac equ 4 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> ⢥<EFBFBD> <E2A2A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
bit_mig equ 3 ;<3B> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
val_mig equ 8 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> ⢥<EFBFBD> <E2A2A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
mask_lot_lu equ 1b ;<3B> <> ᪠ <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 孥<EFBFBD> <E5ADA5> <20> <> ⪠
mask_lot_ld equ 100000b ;<3B> <> ᪠ <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ⪠
mask_lot_ru equ 10000000000b ;<3B> <> ᪠ <20> <> <EFBFBD> <20> ࠢ<EFBFBD> <E0A0A2> <EFBFBD> <20> <> <EFBFBD> 孥<EFBFBD> <E5ADA5> <20> <> ⪠
mask_lot_rd equ 1000000000000000b ;<3B> <> ᪠ <20> <> <EFBFBD> <20> ࠢ<EFBFBD> <E0A0A2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ⪠
mask_clear_all equ 11111011111011110111101111011110b ;<3B> <> ᪠ <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⪨ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <20> ਡ<EFBFBD> <E0A8A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 樯<> <E6A8AF> <EFBFBD>
2010-08-20 14:31:17 +04:00
mask_move_eggs equ 11111111111111111111b ;<3B> <> ᪠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
2010-07-30 01:20:45 +04:00
mask_fail_eggs equ 100001000010000100000b ;<3B> <> ᪠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
mask_chi_left equ 11111000000000000000000000b ;<3B> <> ᪠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 樯<> <E6A8AF> <EFBFBD>
mask_chi_right equ 11111000000000000000000000000000b ;<3B> <> ᪠ <20> ࠢ<EFBFBD> <E0A0A2> 樯<> <E6A8AF> <EFBFBD>
mask_chi_cr_l equ 1000000000000000000000b ;<3B> <> ᪠ <20> <> <EFBFBD> ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
mask_chi_cr_r equ 1000000000000000000000000000b ;<3B> <> ᪠ <20> <> <EFBFBD> ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <20> ࠢ<EFBFBD> <E0A0A2> <EFBFBD>
bit_chi_left equ 21 ;1-<2D> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ⢥砥<E2A2A5> <20> <> <20> <> <EFBFBD> <EFBFBD> 饣<EFBFBD> <> <E1ABA5>
bit_chi_right equ 27 ;1-<2D> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ⢥砥<E2A2A5> <20> <> <20> <> <EFBFBD> <EFBFBD> 饣<EFBFBD> <20> ࠢ<EFBFBD>
2010-07-30 21:42:39 +04:00
val_zaac_time_y equ 5 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ ⠪⮢, <20> <> <EFBFBD> <EFBFBD> <20> <> 易⥫쭮 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
val_zaac_time_n equ 7 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ ⠪⮢, <20> <> <EFBFBD> <EFBFBD> <20> <> 易⥫쭮 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
2010-08-03 18:28:39 +04:00
txt_game_a db '<27> <> <EFBFBD> <EFBFBD> <20> ' , 0
txt_game_b db '<27> <> <EFBFBD> <EFBFBD> <20> ' , 0
2010-08-20 14:31:17 +04:00
zaac_status db 0 ;<3B> <> ⠪⮢, <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
pos_wolf db 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 0-<2D> <20> <> <EFBFBD> <> <E1ABA5> /<2F> <> ࠢ<EFBFBD> , 1-<2D> <20> <> <EFBFBD> ᢥ<> <E1A2A5> <EFBFBD> /<2F> <> <EFBFBD> <EFBFBD>
;rb 1
pos_eggs dd 0 ;<3B> <> <EFBFBD> <EFBFBD> 樨 <20> <> ᯮ<EFBFBD> <E1AFAE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> 樯<> <E6A8AF> <EFBFBD>
eggs_count dw 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
game_text db '<27> <> <EFBFBD> <EFBFBD> _' , 13
some_text db '0'
rb 8 ;⥪<> <E2A5AA> <20> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
count_last db 0 ;<3B> <> <EFBFBD> <EFBFBD> 稪 <20> ய<EFBFBD> 饭<EFBFBD> <E9A5AD> <EFBFBD> <20> <> <EFBFBD>
game_spd dd 0 ;<3B> <> <EFBFBD> <EFBFBD> প<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2010-08-23 00:42:46 +04:00
game_delay_a dd ? ;<3B> <> ࢮ<EFBFBD> <E0A2AE> 砫쭠<E7A0AB> <20> <> <EFBFBD> <EFBFBD> প<EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20>
game_delay_b dd ? ;<3B> <> ࢮ<EFBFBD> <E0A2AE> 砫쭠<E7A0AB> <20> <> <EFBFBD> <EFBFBD> প<EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20>
game_delay_min dd ? ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쭠<EFBFBD> <20> <> <EFBFBD> <EFBFBD> প<EFBFBD>
2010-07-30 01:20:45 +04:00
;<3B> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 樨 <20> <> <EFBFBD> 砩<EFBFBD> <E7A0A9> <EFBFBD> <20> <> ᥫ
rand_x dd 0
align 4
rand_next:
;x(k+1) = (a*x(k)+c) mod m
; a=22695477, c=1, m=2^32
push eax
mov eax , dword [ rand_x ]
imul eax , 22695477
inc eax
mov dword [ rand_x ], eax
pop eax
ret
;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <EFBFBD> <E0AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 8 <20> <> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ), <20> <> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD>
;<3B> <> <EFBFBD> buf - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> ᭮<EFBFBD> <E1ADAE> <20> <> <EFBFBD> <EFBFBD> ண<EFBFBD> <20> 㤥<EFBFBD> ᮧ<> <E1AEA7> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
;䮭<> <E4AEAD> <EFBFBD> <EFBFBD> 梥<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 0xffffff, <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> ந<EFBFBD> <E0AEA8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> १<EFBFBD> <E0A5A7>
;<3B> <> 䮭<> <E4AEAD> <EFBFBD> <EFBFBD> <EFBFBD> 梥<> <E6A2A5> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 㤥<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쬭<> <ECACAD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
align 4
proc CreateTrapharetBuffer , buf : dword , img_data : dword
2010-08-03 18:28:39 +04:00
push eax edi
2010-07-30 01:20:45 +04:00
mov edi , dword [ buf ]
2010-08-03 18:28:39 +04:00
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
mov buf2d_size_lt , 0
mov eax , dword [ di sp l_w ]
mov buf2d_w , eax
mov eax , dword [ di sp l_h ]
mov buf2d_h , eax
mov buf2d_color , 0xffffff
mov buf2d_bits , 24
2010-07-30 01:20:45 +04:00
stdcall [ buf2d_create_f_img ], edi ,[ img_data ] ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall [ buf2d_conv_24_to_8 ], edi , 1 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <EFBFBD> <E0AEA7> 筮<EFBFBD> <E7ADAE> <EFBFBD> 8<> <38> <EFBFBD>
2010-07-30 21:42:39 +04:00
;<3B> <> १<EFBFBD> <E0A5A7> <EFBFBD> <20> <> 譨<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ண<EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD>
stdcall [ buf2d_crop_color ], edi , buf2d_color , BUF2D_OPT_CROP_TOP + BUF2D_OPT_CROP_BOTTOM + BUF2D_OPT_CROP_RIGHT + BUF2D_OPT_CROP_LEFT
2010-08-03 18:28:39 +04:00
pop edi eax
2010-07-30 01:20:45 +04:00
ret
endp
align 4
InitBackgroundBuffer: ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> 䮭<> <E4AEAD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
pushad
mov edi , buf_fon
mov eax ,[ color_fon ]
mov buf2d_color , eax
stdcall [ buf2d_clear ], edi , eax
mov esi , edi
xor eax , eax
2010-08-20 14:31:17 +04:00
cld
cmp dword [ offs_shadow_x ], 0
jne @ f
cmp dword [ offs_shadow_y ], 0
jne @ f
jmp .end_shadows
@ @ :
mov edi , buf_decor
xor ebx , ebx
mov ecx , 3
@ @ :
mov ax , buf2d_t
add eax ,[ offs_shadow_y ]
mov bx , buf2d_l
add ebx ,[ offs_shadow_x ]
stdcall [ buf2d_bit_blt_alpha ], esi , ebx , eax , edi ,[ color_shadows ] ;<3B> <> <EFBFBD> 㥬 ⥭<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 権
add edi , BUF_STRUCT_SIZE
loop @ b
.end_shadows:
2010-07-30 01:20:45 +04:00
2010-08-03 18:28:39 +04:00
mov edi , buf_decor
2010-08-20 14:31:17 +04:00
mov ebx , color_decorat
mov ecx , 3
@ @ :
mov ax , buf2d_t
stdcall [ buf2d_bit_blt_alpha ], esi , 0 , eax , edi ,[ ebx ] ;<3B> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 樨
add edi , BUF_STRUCT_SIZE
add ebx , 4
loop @ b
2010-07-30 01:20:45 +04:00
popad
ret
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⨭<EFBFBD> <E2A8AD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> buf <20> <> <20> <> <EFBFBD> ᨢ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> buf_img <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᮬ ind
;<3B> . <20> . buf <- buf_img[ind]
align 4
proc DrawArrayImg , buf : dword , buf_img : dword , ind : dword , color : dword
pushad
mov edi , dword [ ind ]
imul edi , BUF_STRUCT_SIZE
add edi , dword [ buf_img ]
mov esi , dword [ buf ]
xor eax , eax
mov ax , buf2d_t
xor ebx , ebx
mov bx , buf2d_l
stdcall [ buf2d_bit_blt_alpha ], esi , ebx , eax , edi ,[ color ]
popad
ret
endp
align 4
DrawZaac: ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
push eax
bt word [ pos_wolf ], bit_zaac
jae .end_mig
stdcall DrawArrayImg , buf_displ , buf_wolf , 6 ,[ color_wolf ] ;<3B> <> <EFBFBD> 㥬 ⥫<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
mov eax , dword [ pos_eggs ]
and eax , mask_chi_right + mask_chi_left
cmp eax , 0
je .end_mig ;<3B> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 樯<> <E6A8AF> <EFBFBD> , <20> <> <20> <> <EFBFBD> <EFBFBD> <20> 㪮<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
bt word [ pos_wolf ], bit_mig
jc @ f
stdcall DrawArrayImg , buf_displ , buf_wolf , 7 ,[ color_wolf ] ;<3B> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
jmp .end_mig
@ @ :
stdcall DrawArrayImg , buf_displ , buf_wolf , 8 ,[ color_wolf ] ;<3B> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
.end_mig:
pop eax
ret
align 4
DrawWolf: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> ২<EFBFBD> <E0A7A8> <EFBFBD> <EFBFBD>
bt word [ pos_wolf ], 0
jc @ f
stdcall DrawArrayImg , buf_displ , buf_wolf , 0 ,[ color_wolf ]
bt word [ pos_wolf ], 1
jc .corz_ldn
stdcall DrawArrayImg , buf_displ , buf_wolf , 1 ,[ color_wolf ]
jmp .corz_lend
.corz_ldn:
stdcall DrawArrayImg , buf_displ , buf_wolf , 2 ,[ color_wolf ]
.corz_lend:
jmp .wolf_b
@ @ :
stdcall DrawArrayImg , buf_displ , buf_wolf , 3 ,[ color_wolf ]
bt word [ pos_wolf ], 1
jc .corz_rdn
stdcall DrawArrayImg , buf_displ , buf_wolf , 4 ,[ color_wolf ]
jmp .corz_rend
.corz_rdn:
stdcall DrawArrayImg , buf_displ , buf_wolf , 5 ,[ color_wolf ]
.corz_rend:
.wolf_b:
ret
align 4
DrawEggs: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
pushad
cld
mov eax , dword [ pos_eggs ]
xor ebx , ebx
mov ecx , 20 ;横<> <20> <> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
@ @ :
bt eax , ebx
jae .draw_egg
stdcall DrawArrayImg , buf_displ , buf_egg , ebx ,[ color_egg ]
.draw_egg:
inc ebx
loop @ b
;mov eax,dword[pos_eggs]
and eax , mask_chi_left
cmp eax , 0
je @ f
stdcall DrawArrayImg , buf_displ , buf_egg , 20 ,[ color_egg ] ;ࠧ<> <E0A0A7> ⮥ <20> <> <EFBFBD> <EFBFBD> <> <E1ABA5>
@ @ :
mov eax , dword [ pos_eggs ]
and eax , mask_chi_right
cmp eax , 0
je @ f
stdcall DrawArrayImg , buf_displ , buf_egg , 21 ,[ color_egg ] ;ࠧ<> <E0A0A7> ⮥ <20> <> <EFBFBD> <EFBFBD> <20> <> ࠢ<EFBFBD>
@ @ :
mov eax , dword [ pos_eggs ]
xor edx , edx
mov ebx , bit_chi_left
mov ecx , 5 ;横<> <20> <> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 樯<> <E6A8AF> <EFBFBD>
@ @ :
bt eax , ebx
jae .draw_chick_l
stdcall DrawArrayImg , buf_displ , buf_chi , edx ,[ color_chick ]
.draw_chick_l:
inc ebx
inc edx
loop @ b
mov ebx , bit_chi_right
mov ecx , 5 ;横<> <20> <> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> ࠢ<EFBFBD> <E0A0A2> 樯<> <E6A8AF> <EFBFBD>
@ @ :
bt eax , ebx
jae .draw_chick_r
stdcall DrawArrayImg , buf_displ , buf_chi , edx ,[ color_chick ]
.draw_chick_r:
inc ebx
inc edx
loop @ b
xor eax , eax
mov al , byte [ count_last ]
mov ecx , eax ;横<> <20> <> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 窮<EFBFBD>
shr ecx , 1
mov edx , 10 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 砫<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> buf_chi
cmp ecx , 0
je .no_unit_last
@ @ :
stdcall DrawArrayImg , buf_displ , buf_chi , edx ,[ color_chick ]
inc edx
loop @ b
.no_unit_last:
bt ax , 0 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 饥 <20> <> <20> <> ⭮<EFBFBD> <20> 窮
jae @ f
bt word [ pos_wolf ], bit_mig
jc @ f
stdcall DrawArrayImg , buf_displ , buf_chi , edx ,[ color_chick ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> 饥 <20> <> <EFBFBD> <EFBFBD> 䭮<EFBFBD> <20> 窮
@ @ :
popad
ret
align 4
CountEggsInc: ;㢥<> <E3A2A5> 稢<EFBFBD> <E7A8A2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 稪 <20> <> <EFBFBD> <20> <> 1
push eax edi
xor eax , eax
inc word [ eggs_count ] ;㢥<> <E3A2A5> 稢<EFBFBD> <E7A8A2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 稪 <20> <> <EFBFBD>
cmp word [ eggs_count ], 200 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 窨
je @ f
cmp word [ eggs_count ], 500 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 窨
je @ f
jmp .no_bonus
@ @ :
mov byte [ count_last ], 0
.no_bonus:
mov ax , word [ eggs_count ]
mov edi , some_text
call convert_to_str ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 ⥪<> ⮢<EFBFBD> <E2AEA2> <20> <> ப<EFBFBD>
and ax , 0xf ;<3B> <> १ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 16 <20> <> <EFBFBD> 㬥<> <E3ACA5> 蠥<EFBFBD> <20> ६<EFBFBD>
cmp ax , 0
jne @ f
2010-08-23 00:42:46 +04:00
mov edi , dword [ game_delay_min ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쭠<EFBFBD> <20> <> <EFBFBD> <EFBFBD> প<EFBFBD>
cmp dword [ game_spd ], edi
2010-07-30 01:20:45 +04:00
jle @ f
dec dword [ game_spd ]
@ @ :
pop edi eax
ret
;input:
; eax - <20> <> ᪠, 㪠<> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 㯠<> <E3AFA0> <20> <> <EFBFBD> <EFBFBD>
align 4
CountLastInc: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <E1ABA5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 窮<EFBFBD>
inc byte [ count_last ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 䭮<EFBFBD> <E4ADAE> <20> 窠
bt word [ pos_wolf ], bit_zaac
jc @ f
inc byte [ count_last ] ;<3B> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> 1-<2D> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 䭮<EFBFBD> <E4ADAE> <20> 窠
@ @ :
cmp byte [ count_last ], 6
jle @ f
mov byte [ count_last ], 6 ;<3B> ⠢<EFBFBD> <E2A0A2> <20> <> ࠭<EFBFBD> 祭<EFBFBD> <20> <> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 窮<EFBFBD>
@ @ :
or dword [ pos_eggs ], eax ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 饣<EFBFBD> 樯<> <E6A8AF> <EFBFBD> <EFBFBD> <EFBFBD>
ret
align 4
MoveEggs:
pushad
xor byte [ pos_wolf ], val_mig ;<3B> <> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
cmp byte [ count_last ], 6 ;<3B> <> <EFBFBD> ᨬ<EFBFBD> <E1A8AC> 쭮<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 窮<EFBFBD>
je .end_fun
rol dword [ pos_eggs ], 1
mov ecx , dword [ pos_eggs ]
and ecx , mask_fail_eggs
cmp ecx , 0
je .no_fail ;<3B> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <E1ABA5> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> ২<EFBFBD> <E0A7A8>
;<3B> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <E1ABA5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 窮<EFBFBD>
xor ebx , ebx
mov bl , byte [ pos_wolf ] ;<3B> <> ६ <20> <> ࠬ<EFBFBD> <E0A0AC> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
and bl , 3 ;<3B> <> <20> <> 直<EFBFBD> <20> <> <EFBFBD> 砩
bt ecx , 5 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> 孥<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ਫ<EFBFBD>
jae .perilo_lu
cmp bx , 0 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> 稥 <20> <> ২<EFBFBD> <E0A7A8>
jne @ f
call CountEggsInc
jmp .perilo_lu
@ @ :
mov eax , mask_chi_cr_l
call CountLastInc
.perilo_lu:
bt ecx , 10 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ਫ<EFBFBD>
jae .perilo_ld
cmp bx , 2 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> 稥 <20> <> ২<EFBFBD> <E0A7A8>
jne @ f
call CountEggsInc
jmp .perilo_ld
@ @ :
mov eax , mask_chi_cr_l
call CountLastInc
.perilo_ld:
bt ecx , 15 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> 孥<EFBFBD> <20> ࠢ<EFBFBD> <E0A0A2> <20> <> ਫ<EFBFBD>
jae .perilo_ru
cmp bx , 1 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> 稥 <20> <> ২<EFBFBD> <E0A7A8>
jne @ f
call CountEggsInc
jmp .perilo_ru
@ @ :
mov eax , mask_chi_cr_r
call CountLastInc
.perilo_ru:
bt ecx , 20 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ࠢ<EFBFBD> <E0A0A2> <20> <> ਫ<EFBFBD>
jae .perilo_rd
cmp bx , 3 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> 稥 <20> <> ২<EFBFBD> <E0A7A8>
jne @ f
call CountEggsInc
jmp .perilo_rd
@ @ :
mov eax , mask_chi_cr_r
call CountLastInc
.perilo_rd:
.no_fail:
and dword [ pos_eggs ], mask_clear_all ;<3B> <> <EFBFBD> <EFBFBD> ⪠ 㯠<> <E3AFA0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ३
call rand_next
2010-07-30 21:42:39 +04:00
cmp byte [ zaac_status ], 0
jle @ f
dec byte [ zaac_status ]
jmp .no_zaac_move ;<3B> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
@ @ :
bt dword [ rand_x ], 6 ;<3B> <> <EFBFBD> <EFBFBD> <20> <> 䮭<> <E4AEAD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
jc @ f
xor byte [ pos_wolf ], val_zaac ;<3B> <> ᮢ뢠<E1AEA2> <EBA2A0> /<2F> <> ᮢ뢠<E1AEA2> <EBA2A0> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2010-07-30 21:42:39 +04:00
bt word [ pos_wolf ], val_zaac
jc .zaac_n
mov byte [ zaac_status ], val_zaac_time_y ;<3B> ⠢<EFBFBD> <E2A0A2> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쭮<EFBFBD> <20> ६<EFBFBD> <20> <> <EFBFBD> ᬥ<> <E1ACA5> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
jmp @ f
.zaac_n:
mov byte [ zaac_status ], val_zaac_time_n ;<3B> ⠢<EFBFBD> <E2A0A2> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쭮<EFBFBD> <20> ६<EFBFBD> <20> <> <EFBFBD> ᬥ<> <E1ACA5> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
@ @ :
2010-07-30 21:42:39 +04:00
.no_zaac_move:
2010-07-30 01:20:45 +04:00
;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
2010-08-20 14:31:17 +04:00
cmp word [ eggs_count ], 5 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 5 <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 1-<2D> <>
jge @ f
mov ecx , dword [ pos_eggs ]
and ecx , mask_move_eggs
;cmp ecx,0
jnz .end_creat
@ @ :
2010-07-30 01:20:45 +04:00
bt dword [ rand_x ], 4 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> 㤥<EFBFBD> <20> <> ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
jc .end_creat
bt dword [ rand_x ], 5 ;<3B> <EFBFBD> <E0AEA2> 塞 <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> 㤥<EFBFBD> ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
jc .creat_r
bt dword [ rand_x ], 7
jc @ f
or dword [ pos_eggs ], mask_lot_lu
jmp .end_creat
@ @ :
or dword [ pos_eggs ], mask_lot_ld
jmp .end_creat
.creat_r:
bt dword [ rand_x ], 7
jc @ f
or dword [ pos_eggs ], mask_lot_ru
jmp .end_creat
@ @ :
or dword [ pos_eggs ], mask_lot_rd
;jmp .end_creat
.end_creat:
.end_fun:
popad
ret
align 4
proc InitGame , b : dword ;<3B> <> ࢮ<EFBFBD> <E0A2AE> 砫<EFBFBD> <E7A0AB> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ன<EFBFBD> <E0AEA9> <20> <> <EFBFBD> <EFBFBD>
mov word [ eggs_count ], 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
mov byte [ some_text ], '0'
mov byte [ some_text + 1 ], 0 ;⥪<> <E2A5AA> <20> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
2010-08-23 00:42:46 +04:00
mov byte [ count_last ], 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 窨
2010-07-30 01:20:45 +04:00
mov dword [ pos_eggs ], 0
2010-07-30 21:42:39 +04:00
mov byte [ zaac_status ], 0
2010-07-30 01:20:45 +04:00
2010-08-23 00:42:46 +04:00
push eax ebx
2010-07-30 01:20:45 +04:00
cmp dword [ b ], 0
jne @ f
mov byte [ game_text + 5 ], '<27> '
2010-08-23 00:42:46 +04:00
mov eax , dword [ game_delay_a ]
mov dword [ game_spd ], eax ;<3B> <> <EFBFBD> <EFBFBD> প<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
jmp .end_init
@ @ :
mov byte [ game_text + 5 ], '<27> '
2010-08-23 00:42:46 +04:00
mov eax , dword [ game_delay_b ]
mov dword [ game_spd ], eax ;<3B> <> <EFBFBD> <EFBFBD> প<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
.end_init:
2010-08-23 00:42:46 +04:00
mcall 26 , 9
mov dword [ rand_x ], eax ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 1-<2D> <20> <> <EFBFBD> 砩<EFBFBD> <E7A0A9> <EFBFBD> <20> <>
2010-07-30 01:20:45 +04:00
pop ebx eax
ret
endp
2010-08-03 18:28:39 +04:00
align 4
proc LoadArrayBuffer , f_name : dword , buf_start : dword , count : dword
pushad
mov edx , dword [ di sp l_bytes ]
mov ecx , edx
imul ecx , dword [ count ]
mov eax , dword [ f_name ]
load_image_file eax , image_data_gray , ecx
mov edx , dword [ di sp l_bytes ]
mov eax ,[ image_data_gray ]
mov edi , dword [ buf_start ]
mov ecx , dword [ count ]
cld
@ @ : ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> 3 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﬨ
stdcall CreateTrapharetBuffer , edi , eax
add eax , edx
add edi , BUF_STRUCT_SIZE
loop @ b
stdcall mem.Free ,[ image_data_gray ] ;<3B> <EFBFBD> <E1A2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
popad
ret
endp
2010-09-08 23:06:14 +04:00
txt_tile_type_0 rb FILE_NAME_MAX
2010-07-30 01:20:45 +04:00
align 4
2010-09-08 23:06:14 +04:00
user_is_select:
push ecx esi edi
stdcall [ tl_node_get_data ], tree1
pop esi
cmp esi , 0 ;<3B> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⮥
je @ f
mov edi , ini_name
mov ecx , FILE_NAME_MAX
cld
rep movsb
2010-07-30 01:20:45 +04:00
2010-09-08 23:06:14 +04:00
mov byte [ game_select_mode ], 0
call InitAll
2010-07-30 01:20:45 +04:00
@ @ :
2010-09-08 23:06:14 +04:00
pop edi esi ecx
2010-07-30 01:20:45 +04:00
2010-09-08 23:06:14 +04:00
call draw_window
ret
2010-07-30 01:20:45 +04:00
2010-09-08 23:06:14 +04:00
;******************************************************************************
; <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 1 ࠧ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ன<EFBFBD> <E0AEA9> <20> 㦭<EFBFBD> <E3A6AD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
;******************************************************************************
align 4
InitAll:
pushad
2010-08-03 18:28:39 +04:00
;ࠡ<> <E0A0A1> <EFBFBD> <20> 䠩<> <E4A0A9> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
copy_path ini_name , sys_path , file_name , 0x0
stdcall dword [ ini_get_int ], file_name , ini_sec_files , key_displ_w , 210
mov dword [ di sp l_w ], eax
stdcall dword [ ini_get_int ], file_name , ini_sec_files , key_displ_h , 140
mov dword [ di sp l_h ], eax
2010-08-20 14:31:17 +04:00
stdcall dword [ ini_get_str ], file_name , ini_sec_files , key_file_decorat , fn_icon0 , FILE_NAME_MAX , ini_def_decorat_file
stdcall dword [ ini_get_str ], file_name , ini_sec_files , key_file_unit , fn_icon1 , FILE_NAME_MAX , ini_def_unit_file
2010-08-23 00:42:46 +04:00
stdcall dword [ ini_get_str ], file_name , ini_sec_files , key_file_objects , fn_icon2 , FILE_NAME_MAX , ini_def_objects_file
2010-09-08 23:06:14 +04:00
stdcall dword [ ini_get_str ], file_name , ini_sec_files , key_file_lost , fn_icon3 , FILE_NAME_MAX , ini_def_lost_file
2010-08-20 14:31:17 +04:00
stdcall dword [ ini_get_int ], file_name , ini_sec_files , key_shadow_x , 2
mov dword [ offs_shadow_x ], eax
stdcall dword [ ini_get_int ], file_name , ini_sec_files , key_shadow_y , 2
mov dword [ offs_shadow_y ], eax
2010-08-23 00:42:46 +04:00
;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <> <E1AAAE> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
stdcall dword [ ini_get_int ], file_name , ini_sec_game , key_delay_a , 65
mov dword [ game_delay_a ], eax
stdcall dword [ ini_get_int ], file_name , ini_sec_game , key_delay_b , 35
mov dword [ game_delay_b ], eax
stdcall dword [ ini_get_int ], file_name , ini_sec_game , key_delay_min , 15
mov dword [ game_delay_min ], eax
2010-08-20 14:31:17 +04:00
stdcall dword [ ini_get_color ], file_name , ini_sec_color , key_color_fon , 0xffffff
mov dword [ color_fon ], eax
stdcall dword [ ini_get_color ], file_name , ini_sec_color , key_color_shadows , 0xd0d0d0
mov dword [ color_shadows ], eax
2010-08-03 18:28:39 +04:00
stdcall dword [ ini_get_color ], file_name , ini_sec_color , key_color_unit , 0
mov dword [ color_wolf ], eax
2010-08-20 14:31:17 +04:00
stdcall dword [ ini_get_color ], file_name , ini_sec_color , key_color_egg , 0x404080
mov dword [ color_egg ], eax
stdcall dword [ ini_get_color ], file_name , ini_sec_color , key_color_chick , 0x00d0d0
mov dword [ color_chick ], eax
2010-08-04 15:40:19 +04:00
2010-08-20 14:31:17 +04:00
mov ebx , color_decorat
mov byte [ key_color_decorat.ind ], '0'
mov ecx , 3
cld
@ @ :
2010-08-23 00:42:46 +04:00
push ecx ;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> ini_get_color <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> ࠢ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ॣ<> <E0A5A3> <EFBFBD> <EFBFBD> ecx
2010-08-20 14:31:17 +04:00
stdcall dword [ ini_get_color ], file_name , ini_sec_color , key_color_decorat , 0x000080
2010-08-23 00:42:46 +04:00
pop ecx
2010-08-20 14:31:17 +04:00
mov dword [ ebx ], eax
add ebx , 4
inc byte [ key_color_decorat.ind ]
loop @ b
2010-08-03 18:28:39 +04:00
mov edx , dword [ di sp l_w ]
imul edx , dword [ di sp l_h ]
lea edx ,[ edx + edx * 2 ]
mov dword [ di sp l_bytes ], edx ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 ࠧ<> <E0A0A7> <EFBFBD> <20> <> <EFBFBD> <E0AEA2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
stdcall LoadArrayBuffer , fn_icon0 , buf_decor , 3 ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> 3 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﬨ
stdcall LoadArrayBuffer , fn_icon1 , buf_wolf , 9 ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> 9 <20> <> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> 楬
stdcall LoadArrayBuffer , fn_icon2 , buf_egg , 22 ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> 22 <20> <> <EFBFBD> <EFBFBD> <20> <20> <> 栬<EFBFBD>
stdcall LoadArrayBuffer , fn_icon3 , buf_chi , 13 ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> 13 <20> <> <EFBFBD> <EFBFBD> <20> 樯<> <E6A8AF> ⠬<EFBFBD>
2010-07-30 01:20:45 +04:00
2011-08-17 15:18:45 +04:00
load_image_file 'font8x9.bmp' , image_data_gray , IMAGE_FONT_SIZE
2010-07-30 01:20:45 +04:00
stdcall [ buf2d_create_f_img ], buf_font ,[ image_data_gray ] ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall mem.Free ,[ image_data_gray ] ;<3B> <EFBFBD> <E1A2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall [ buf2d_conv_24_to_8 ], buf_font , 1 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <EFBFBD> <E0AEA7> 筮<EFBFBD> <E7ADAE> <EFBFBD> 8 <20> <> <EFBFBD>
stdcall [ buf2d_convert_text_matrix ], buf_font
;<3B> <EFBFBD> ઠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
;mov edi,buf_wolf
;add edi,BUF_STRUCT_SIZE ;<3B> <> <EFBFBD> <EFBFBD> 室<EFBFBD> <E5AEA4> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ২<EFBFBD> <E0A7A8>
;stdcall [buf2d_clear],edi,0x808080 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 梥⮬
2010-08-03 18:28:39 +04:00
mov ebx , dword [ di sp l_w ]
mov edx , dword [ di sp l_h ]
mov edi , buf_displ
mov buf2d_w , ebx
mov buf2d_h , edx
2010-07-30 01:20:45 +04:00
stdcall [ buf2d_create ], buf_displ ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> 뢮<EFBFBD> <EBA2AE> <20> <> <20> <> ࠭
2010-08-03 18:28:39 +04:00
mov edi , buf_fon
mov buf2d_w , ebx
mov buf2d_h , edx
stdcall [ buf2d_create ], buf_fon ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 䮭<> <E4AEAD> 묨 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﬨ
2010-07-30 01:20:45 +04:00
call InitBackgroundBuffer ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 䮭<> <E4AEAD> 묨 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﬨ
stdcall InitGame , 0
2010-09-08 23:06:14 +04:00
popad
ret
align 4
start:
load_libraries l_libs_start , load_lib_end
;<3B> <EFBFBD> ઠ <20> <> <> 쪮 㤠筮 <20> <> <EFBFBD> 㧨<EFBFBD> <E3A7A8> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
mov ebp , lib0
cmp dword [ ebp + ll_struc_size - 4 ], 0
jz @ f
mcall - 1 ;exit not correct
@ @ :
mov ebp , lib1
cmp dword [ ebp + ll_struc_size - 4 ], 0
jz @ f
mcall - 1 ;exit not correct
@ @ :
mcall 40 , 0x27
mcall 48 , 3 , sc , si zeof.system_colors ;<3B> <> <EFBFBD> <EFBFBD> 砥<EFBFBD> <20> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> 梥<> <E6A2A5>
;******************************************************************************
; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ⮢<EFBFBD> <E2AEA2> ᯨ᪠ <20> <> <EFBFBD> <EFBFBD>
;******************************************************************************
stdcall dword [ tl_data_init ], tree1
2011-08-17 15:18:45 +04:00
load_image_file 'tl_sys_16.png' , image_data_gray , TREE_ICON_SYS16_BMP_SIZE
2010-09-08 23:06:14 +04:00
stdcall [ buf2d_create_f_img ], buf_tree_sys ,[ image_data_gray ] ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall mem.Free ,[ image_data_gray ] ;<3B> <EFBFBD> <E1A2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
mov edi , buf_tree_sys
m2m dword [ tree1.data_img_sys ], buf2d_data
;ࠡ<> <E0A0A1> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
copy_path ini_m_name , sys_path , file_name , 0x0
stdcall dword [ ini_get_int ], file_name , ini_sec_files , key_count , 1
mov ecx , eax
mov dl , '0'
cld
@ @ :
mov byte [ key_game_ind ], dl
inc dl
push ecx edx
stdcall dword [ ini_get_str ], file_name , ini_sec_files , key_game , txt_tile_type_0 , FILE_NAME_MAX , ini_def_decorat_file
stdcall dword [ tl_node_add ], txt_tile_type_0 , 0 , tree1 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
stdcall dword [ tl_cur_next ], tree1 ;<3B> <> ७<EFBFBD> ᨬ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> -<2D> <> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 冷<EFBFBD> <20> <> <EFBFBD>
pop edx ecx
loop @ b
stdcall dword [ tl_cur_beg ], tree1 ;<3B> <> ७<EFBFBD> ᨬ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
mcall 26 , 9
2011-08-17 15:18:45 +04:00
mov [ last_time ], eax
2010-07-30 01:20:45 +04:00
align 4
red_win:
call draw_window
align 4
still: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 横<>
2010-09-08 23:06:14 +04:00
cmp byte [ game_select_mode ], 0
jne .select_mode
mcall 26 , 9 ;<3B> <> ६ <20> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> <20> ६<EFBFBD>
2010-07-30 01:20:45 +04:00
mov ebx ,[ last_time ]
add ebx , dword [ game_spd ] ;delay
sub ebx , eax
cmp ebx , dword [ game_spd ] ;delay
ja it_is_time_now
test ebx , ebx
jz it_is_time_now
mcall 23
cmp eax , 0
je it_is_time_now
2010-09-08 23:06:14 +04:00
jmp @ f
.select_mode:
mcall 10
@ @ :
2010-07-30 01:20:45 +04:00
2010-09-08 23:06:14 +04:00
cmp al , 1 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
jz red_win
2010-09-08 23:06:14 +04:00
cmp al , 2
2010-07-30 01:20:45 +04:00
jz key
2010-09-08 23:06:14 +04:00
cmp al , 3
2010-07-30 01:20:45 +04:00
jz button
2010-09-08 23:06:14 +04:00
cmp al , 6
jz mouse
2010-07-30 01:20:45 +04:00
jmp still
2010-09-08 23:06:14 +04:00
align 4
mouse:
cmp byte [ game_select_mode ], 0
je @ f
stdcall [ tl_mouse ], tree1 ;<3B> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> <> <EFBFBD> ࠭<EFBFBD>
@ @ :
jmp still
2010-07-30 01:20:45 +04:00
align 4
it_is_time_now:
mcall 26 , 9
mov [ last_time ], eax
2011-08-17 15:18:45 +04:00
;cmp byte[game_select_mode],0
;jne still
2010-09-08 23:06:14 +04:00
2010-07-30 01:20:45 +04:00
;...<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⢨<EFBFBD> , <20> <> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> delay <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᥪ㭤...
call MoveEggs
call draw_display
jmp still
align 4
key:
push eax ebx
mcall 2
2010-09-08 23:06:14 +04:00
cmp byte [ game_select_mode ], 0
je @ f
stdcall [ tl_key ], tree1
@ @ :
2010-07-30 01:20:45 +04:00
cmp ah , 176 ;Left
jne @ f
and byte [ pos_wolf ], 0xfe
@ @ :
cmp ah , 179 ;Right
jne @ f
or byte [ pos_wolf ], 1
@ @ :
cmp ah , 178 ;Up
jne @ f
and byte [ pos_wolf ], 0xff - 2
@ @ :
cmp ah , 177 ;Down
jne @ f
or byte [ pos_wolf ], 2
@ @ :
cmp ah , 97 ;a
jne @ f
and byte [ pos_wolf ], 0xff - 3 ;00
@ @ :
cmp ah , 122 ;z
jne @ f
and byte [ pos_wolf ], 0xff - 1
or byte [ pos_wolf ], 2 ;10
@ @ :
cmp ah , 39 ;'
jne @ f
and byte [ pos_wolf ], 0xff - 2
or byte [ pos_wolf ], 1 ;01
@ @ :
cmp ah , 47 ;/
jne @ f
or byte [ pos_wolf ], 3 ;11
@ @ :
pop ebx eax
jmp still
align 4
draw_window:
pushad
mcall 12 , 1
xor eax , eax
2010-07-30 21:42:39 +04:00
mov ebx , 20 * 65536 + 480
mov ecx , 20 * 65536 + 270
2010-07-30 01:20:45 +04:00
mov edx ,[ sc.work ]
;or edx,0x33000000
or edx , 0x73000000
mov edi , hed
mcall ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2010-09-17 20:05:21 +04:00
mcall 9 , procinfo , - 1
2010-07-30 01:20:45 +04:00
2010-09-08 23:06:14 +04:00
cmp byte [ game_select_mode ], 0
jne .select_mode
2010-07-30 01:20:45 +04:00
mov edi , buf_displ
mov eax , dword [ procinfo.client_box.width ]
2010-08-03 18:28:39 +04:00
cmp eax , dword [ di sp l_w ]
2010-07-30 01:20:45 +04:00
jle @ f
2010-08-03 18:28:39 +04:00
sub eax , dword [ di sp l_w ]
2010-07-30 01:20:45 +04:00
shr eax , 1
mov buf2d_l , ax ;<3B> <> <EFBFBD> ࠢ<EFBFBD> <E0A0A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 業<> <E6A5AD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
@ @ :
call draw_display
mov eax , 13 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> <ECADA8>
mov edx ,[ sc.work ]
xor esi , esi
mov si , buf2d_l
2010-08-03 18:28:39 +04:00
add esi , dword [ di sp l_w ]
2010-07-30 01:20:45 +04:00
mov ebx , dword [ procinfo.client_box.width ]
inc ebx
cmp esi , ebx
jge @ f
sub ebx , esi
rol ebx , 16
mov bx , si
rol ebx , 16
mov ecx , dword [ procinfo.client_box.height ]
inc ecx
int 0x40 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> ࠢ<EFBFBD> <E0A0A2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
jmp .draw_s
@ @ :
mov esi , dword [ procinfo.client_box.width ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> ਭ<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
inc esi
.draw_s:
2010-07-30 21:42:39 +04:00
; *** <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ***
push esi
mov eax , 8
xor ebx , ebx
mov bx , buf2d_l
add ebx , buf2d_w
add ebx , BUT1_L
shl ebx , 16
mov bx , BUT1_W
mov ecx , BUT1_T * 65536 + BUT1_H
mov edx , 5
;or edx,0x40000000
mov esi , dword [ color_but_sm ]
int 0x40
inc edx
add ecx , BUT1_NEXT_TOP
int 0x40
pop esi
2010-08-03 18:28:39 +04:00
mov eax , 4 ;<3B> <> <EFBFBD> R<EFBFBD> <52> -<2D> ? <20> ?<3F> <> <EFBFBD> <EFBFBD>
mov bx , BUT1_H
add ebx , 3 * 65536 ;+3
mov ecx , dword [ color_but_te ]
or ecx , 0x80000000
mov edx , txt_game_a
int 0x40
ror ebx , 16
add ebx , BUT1_NEXT_TOP
ror ebx , 16
mov edx , txt_game_b
int 0x40
2010-07-30 21:42:39 +04:00
; *** <20> <> <EFBFBD> <EFBFBD> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ࠬ<EFBFBD> <E0A0AC> ***
mov eax , 13 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> <ECADA8>
mov edx ,[ sc.work ]
2010-07-30 01:20:45 +04:00
mov ebx , esi
mov ecx , dword [ procinfo.client_box.height ]
inc ecx
2010-08-03 18:28:39 +04:00
mov esi , dword [ di sp l_h ]
2010-07-30 01:20:45 +04:00
cmp esi , ebx
jge @ f
sub ecx , esi
rol ecx , 16
mov cx , si
rol ecx , 16
int 0x40 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
@ @ :
xor ebx , ebx
mov bx , buf2d_l
2010-08-03 18:28:39 +04:00
mov ecx , dword [ di sp l_h ]
2010-07-30 01:20:45 +04:00
int 0x40 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2010-09-08 23:06:14 +04:00
jmp @ f
.select_mode:
stdcall dword [ tl_draw ], dword tree1
2010-09-17 20:05:21 +04:00
mov edi , tree1
add edi , tl_offs_box
stdcall draw_rect_border , procinfo.client_box , edi
2010-09-08 23:06:14 +04:00
@ @ :
2010-07-30 01:20:45 +04:00
mcall 12 , 2
popad
ret
2010-09-17 20:05:21 +04:00
; <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> <ECADA8> user_box
; ࠧ<> <E0A0A7> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 室<EFBFBD> <20> <> ࠧ<> <E0A0A7> client_rect
; <20> ।<EFBFBD> <E0A5A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> 設<EFBFBD> ⢥ <20> <> <EFBFBD> 砥<EFBFBD> client_rect > user_box
align 4
proc draw_rect_border , cl ient_rect : dword , user_box : dword
pushad
mov edi , dword [ cl ient_rect ]
mov esi , dword [ user_box ]
cmp esi , 0
je @ f
mov ebx , dword [ edi + 8 ] ;+8 = width
inc bx
mov ecx , dword [ esi + 4 ] ;+4 = top
mov edx ,[ sc.work ]
mov eax , 13
int 0x40 ;top
mov eax , dword [ esi + 4 ] ;+4 = top
add eax , dword [ esi + 12 ] ;+12 = height
cmp eax , dword [ edi + 12 ]
jge .no_bottom
mov ecx , eax
shl ecx , 16
mov cx , word [ edi + 12 ] ;+12 = bottom
inc cx
sub cx , ax
mov eax , 13
int 0x40 ;bottom
.no_bottom:
mov ebx , dword [ esi ] ;+0 left
mov ecx , dword [ esi + 4 ] ;+4 = top
shl ecx , 16
mov cx , word [ esi + 12 ] ;+12 = height
inc cx
mov eax , 13
int 0x40 ;left
mov eax , dword [ esi ] ;+0 left
add eax , dword [ esi + 8 ] ;+8 = width
mov ebx , eax
shl ebx , 16
mov bx , word [ edi + 8 ] ;+8 = right
sub bx , ax
inc bx
mov eax , 13
int 0x40 ;right
@ @ :
popad
ret
endp
2010-07-30 01:20:45 +04:00
align 4
draw_display:
2010-09-08 23:06:14 +04:00
stdcall mem_copy , dword [ buf_fon ], dword [ buf_displ ], dword [ di sp l_bytes ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <20> <> 䮭<> <E4AEAD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-08-03 18:28:39 +04:00
call DrawZaac ;<3B> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
call DrawWolf ;<3B> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2010-08-03 18:28:39 +04:00
call DrawEggs ;<3B> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
2010-08-03 18:28:39 +04:00
push eax
mov eax , dword [ di sp l_w ]
shr eax , 1
2010-08-20 14:31:17 +04:00
stdcall [ buf2d_draw_text ], buf_displ , buf_font , game_text , eax ,[ offs_shadow_x ],[ color_wolf ] ;<3B> <> <EFBFBD> 㥬 <20> <> ப<EFBFBD> <20> ⥪<> ⮬
2010-08-03 18:28:39 +04:00
pop eax
2010-07-30 01:20:45 +04:00
stdcall [ buf2d_draw ], buf_displ
ret
align 4
button:
mcall 17 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⮩ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-08-20 14:31:17 +04:00
2010-07-30 21:42:39 +04:00
cmp ah , 5
jne @ f
stdcall InitGame , 0
@ @ :
cmp ah , 6
jne @ f
stdcall InitGame , 1
2010-08-20 14:31:17 +04:00
@ @ :
2010-07-30 01:20:45 +04:00
cmp ah , 1
jne still
.exit:
stdcall [ buf2d_delete ], buf_fon ;㤠<> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall [ buf2d_delete ], buf_displ ;㤠<> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2010-09-08 23:06:14 +04:00
stdcall [ buf2d_delete ], buf_tree_sys
2010-07-30 01:20:45 +04:00
stdcall [ buf2d_delete ], buf_font
cld
2010-08-03 18:28:39 +04:00
mov ecx , 3
mov edi , buf_decor
@ @ : ;㤠<> 塞 3 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall [ buf2d_delete ], edi
add edi , BUF_STRUCT_SIZE
loop @ b
2010-07-30 01:20:45 +04:00
mov ecx , 9
mov edi , buf_wolf
@ @ : ;㤠<> 塞 9 <20> <> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> 楬
stdcall [ buf2d_delete ], edi
add edi , BUF_STRUCT_SIZE
loop @ b
mov ecx , 13
mov edi , buf_chi
@ @ : ;㤠<> 塞 13 <20> <> <EFBFBD> <EFBFBD>
stdcall [ buf2d_delete ], edi
add edi , BUF_STRUCT_SIZE
loop @ b
mov ecx , 22
mov edi , buf_egg
@ @ : ;㤠<> 塞 22 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall [ buf2d_delete ], edi
add edi , BUF_STRUCT_SIZE
loop @ b
2010-09-08 23:06:14 +04:00
mov dword [ tree1.data_img_sys ], 0 ;<3B> <> <EFBFBD> ⨬ 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
stdcall dword [ tl_data_clear ], tree1
2010-07-30 01:20:45 +04:00
mcall - 1 ;<3B> <> 室 <20> <> <20> ணࠬ<E0AEA3> <E0A0AC>
head_f_i:
head_f_l db '<27> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> <20> 訡<EFBFBD> <E8A8A1> ' , 0
system_dir0 db '/sys/lib/'
2010-09-08 23:06:14 +04:00
lib0_name db 'buf2d.obj' , 0
2010-07-30 01:20:45 +04:00
err_message_found_lib0 db '<27> <> 㤠<> <E3A4A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> buf2d.obj' , 0
err_message_import0 db '<27> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> buf2d.obj' , 0
system_dir1 db '/sys/lib/'
2010-09-08 23:06:14 +04:00
lib1_name db 'libimg.obj' , 0
2010-07-30 01:20:45 +04:00
err_message_found_lib1 db '<27> <> 㤠<> <E3A4A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> libimg.obj' , 0
err_message_import1 db '<27> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> libimg.obj' , 0
2010-08-03 18:28:39 +04:00
system_dir2 db '/sys/lib/'
2010-09-08 23:06:14 +04:00
lib2_name db 'libini.obj' , 0
2010-08-03 18:28:39 +04:00
err_message_found_lib2 db '<27> <> 㤠<> <E3A4A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> libini.obj' , 0
err_message_import2 db '<27> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> libini.obj' , 0
2010-09-08 23:06:14 +04:00
system_dir3 db '/sys/lib/'
lib3_name db 'box_lib.obj' , 0
err_message_found_lib3 db '<27> <> 㤠<> <E3A4A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> box_lib.obj' , 0
err_message_import3 db '<27> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> box_lib.obj' , 0
2010-07-30 01:20:45 +04:00
;library structures
l_libs_start:
2010-09-08 23:06:14 +04:00
lib0 l_libs lib0_name , sys_path , file_name , system_dir0 , err_message_found_lib0 , head_f_l , import_buf2d_lib , err_message_import0 , head_f_i
lib1 l_libs lib1_name , sys_path , file_name , system_dir1 , err_message_found_lib1 , head_f_l , import_libimg , err_message_import1 , head_f_i
lib2 l_libs lib2_name , sys_path , file_name , system_dir2 , err_message_found_lib2 , head_f_l , import_libini , err_message_import2 , head_f_i
lib3 l_libs lib3_name , sys_path , file_name , system_dir3 , err_message_found_lib3 , head_f_l , import_box_lib , err_message_import3 , head_f_i
2010-07-30 01:20:45 +04:00
load_lib_end:
align 4
proc mem_copy , source : dword , destination : dword , len : dword
push ecx esi edi
cld
mov esi , dword [ source ]
mov edi , dword [ destination ]
mov ecx , dword [ len ]
rep movsb
pop edi esi ecx
ret
endp
align 4
convert_to_str:
pushad
;mov eax,dword[value]
;mov edi,dword[text]
mov dword [ edi + 1 ], 0
cld
call .str
popad
ret
align 4
.str:
mov ecx , 0x0a ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⥬<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <E1ABA5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ॣ<> <E0A5A3> <EFBFBD> <EFBFBD> <EFBFBD> ebx,eax,ecx,edx <20> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> ࠬ<EFBFBD> <E0A0AC> <EFBFBD> <EFBFBD> eax - <20> <>
;<3B> <> <EFBFBD> ॢ<EFBFBD> <E0A5A2> <20> <> <20> ASCII <20> <> ப<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ecx=<3D> <> <EFBFBD> ⥬<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <E1ABA5> edi <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 㤠 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> , <20> 㤥<EFBFBD> <20> <> ப<EFBFBD> , <20> <> <EFBFBD> 祬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD>
cmp eax , ecx ;<3B> ࠢ<EFBFBD> <E0A0A2> <EFBFBD> <EFBFBD> <20> <20> eax <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 祬 <20> ecx <20> <> <20> <> ३<EFBFBD> <E0A5A9> <20> <> @@-1 <20> .<2E> . <20> <> pop eax
jb @ f
xor edx , edx ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> edx
div ecx ;ࠧ<> <E0A0A7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> - <20> <> <EFBFBD> <EFBFBD> ⮪ <20> edx
push edx ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> ⥪
;dec edi ;ᬥ饭<E1ACA5> <E9A5AD> <20> <> <EFBFBD> <EFBFBD> 室<EFBFBD> <E5AEA4> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ப<EFBFBD>
call .str ;<3B> <> ३<EFBFBD> <E0A5A9> <20> <> ᠬ<> ᥡ<> <20> .<2E> . <20> 맢<EFBFBD> <EBA7A2> <EFBFBD> ᠬ<> ᥡ<> <20> ⠪ <20> <> ⮣<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> eax <20> <> <20> ⠭<EFBFBD> <E2A0AD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 祬 <20> ecx
pop eax
@ @ : ;cmp al,10 ;<3B> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> 祭<EFBFBD> <E7A5AD> <20> al 祬 10 (<28> <> <EFBFBD> <20> <> <EFBFBD> ⥬<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <E1ABA5> 10 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> - <20> <> 譠<EFBFBD> ))
;sbb al,$69 ;- <20> <> <EFBFBD> ⭮ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⠢<EFBFBD> <E2A0A2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 㬠<EFBFBD> <E3ACA0> <EFBFBD> <EFBFBD> <20> .<2E> . <20> <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> ࠡ<> ⠥<EFBFBD>
;das ;<3B> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> ந<EFBFBD> 室<EFBFBD> <E5AEA4> 㬥<> <E3ACA5> 襭<EFBFBD> <E8A5AD> al <20> <> 66h (<28> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ᠭ<EFBFBD> <20> <> 㣮<EFBFBD> )
or al , 0x30 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 祬 <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
stosb ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ॣ<> <E0A5A3> <EFBFBD> <EFBFBD> <EFBFBD> al <20> <20> 祪<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> es:edi
ret ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 祭<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 室 <20> .<2E> . <20> <> <EFBFBD> <EFBFBD> <20> <20> ⥪<EFBFBD> <20> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> -<2D> <> <20> 맮<EFBFBD> <EBA7AE> <EFBFBD> <20> <> <20> ⮫쪮 ࠧ <20> <> <20> <20> 㤥<EFBFBD> <20> <> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <EFBFBD>
2011-08-17 15:18:45 +04:00
last_time dd 0
2010-07-30 01:20:45 +04:00
image_data dd 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> ८<EFBFBD> ࠧ<EFBFBD> <E0A0A7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⨭<EFBFBD> <E2A8AD> <20> 㭪<EFBFBD> <E3ADAA> ﬨ libimg
image_data_gray dd 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> ६<EFBFBD> <E0A5AC> <EFBFBD> 묨 <20> <> <EFBFBD> 묨 <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> ﬨ <20> <20> <> ଠ <EFBFBD> <E0ACA0> 24-bit, <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
run_file_70 FileInfoBlock
2010-09-17 20:05:21 +04:00
hed db 'Nu pogodi 17.09.10' , 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
sc system_colors ;<3B> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> 梥<> <E6A2A5>
2010-09-08 23:06:14 +04:00
count_of_dir_list_files equ 10
el_focus dd tree1
tree1 tree_list FILE_NAME_MAX , count_of_dir_list_files + 2 , tl_key_no_edit + tl_draw_par_line + tl_list_box_mode , \
1 6 , 1 6 , 0 x8080ff , 0x0000ff , 0xffffff , 10 , 10 , 140 , 100 , 0 , 0 , 0 , el_focus , \
0 , user_is_select
align 4
buf_tree_sys:
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
dw 0 ;+4 left
dw 0 ;+6 top
dd 16 ;+8 w
dd 16 * 11 ;+12 h
dd 0 ;+16 color
db 24 ;+20 bit in pixel
2010-07-30 01:20:45 +04:00
align 4
buf_font: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> ⮬
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
dw 25 ;+4 left
dw 25 ;+6 top
dd 128 ;+8 w
dd 144 ;+12 h
dd 0 ;+16 color
db 24 ;+20 bit in pixel
align 4
2010-08-03 18:28:39 +04:00
buf_displ:
2010-07-30 01:20:45 +04:00
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
2010-08-03 18:28:39 +04:00
dw 25 , 0
dd ? ;+8 w
dd ? ;+12 h
dd 0 ;+16 color
2010-07-30 01:20:45 +04:00
db 24 ;+20 bit in pixel
2010-08-03 18:28:39 +04:00
2010-07-30 01:20:45 +04:00
align 4
2010-08-03 18:28:39 +04:00
buf_fon: ;䮭<> <E4AEAD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
dw 0 ;+4 left
dw 0 ;+6 top
2010-08-03 18:28:39 +04:00
dd ? ;+8 w
dd ? ;+12 h
2010-07-30 01:20:45 +04:00
dd 0xffffff ;+16 color
db 24 ;+20 bit in pixel
align 4
2010-08-03 18:28:39 +04:00
buf_decor: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﬨ: <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ३<> <E0A5A9> <EFBFBD> <EFBFBD> ; <20> <20> <> <EFBFBD> <EFBFBD> 栬<EFBFBD> ; <20> <20> <> <EFBFBD> ⥭<EFBFBD> ﬨ
rb 3 * BUF_STRUCT_SIZE
2010-07-30 01:20:45 +04:00
align 4
buf_wolf:
rb 9 * BUF_STRUCT_SIZE
align 4
buf_egg:
rb 22 * BUF_STRUCT_SIZE
align 4
buf_chi:
rb 13 * BUF_STRUCT_SIZE
2010-08-03 18:28:39 +04:00
align 4
2010-09-08 23:06:14 +04:00
import_libini:
2010-08-03 18:28:39 +04:00
dd al ib_init0
ini_get_str dd aini_get_str
ini_get_int dd aini_get_int
ini_get_color dd aini_get_color
dd 0 , 0
alib_init0 db 'lib_init' , 0
aini_get_str db 'ini_get_str' , 0
aini_get_int db 'ini_get_int' , 0
aini_get_color db 'ini_get_color' , 0
2010-07-30 01:20:45 +04:00
align 4
import_libimg:
dd al ib_init1
img_is_img dd aimg_is_img
img_info dd aimg_info
img_from_file dd aimg_from_file
img_to_file dd aimg_to_file
img_from_rgb dd aimg_from_rgb
img_to_rgb dd aimg_to_rgb
img_to_rgb2 dd aimg_to_rgb2
img_decode dd aimg_decode
img_encode dd aimg_encode
img_create dd aimg_create
img_destroy dd aimg_destroy
img_destroy_layer dd aimg_destroy_layer
img_count dd aimg_count
img_lock_bits dd aimg_lock_bits
img_unlock_bits dd aimg_unlock_bits
img_flip dd aimg_flip
img_flip_layer dd aimg_flip_layer
img_rotate dd aimg_rotate
img_rotate_layer dd aimg_rotate_layer
img_draw dd aimg_draw
dd 0 , 0
alib_init1 db 'lib_init' , 0
aimg_is_img db 'img_is_img' , 0 ;<3B> <> ।<EFBFBD> <E0A5A4> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> ᤥ<> <E1A4A5> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
aimg_info db 'img_info' , 0
aimg_from_file db 'img_from_file' , 0
aimg_to_file db 'img_to_file' , 0
aimg_from_rgb db 'img_from_rgb' , 0
aimg_to_rgb db 'img_to_rgb' , 0 ;<3B> ८<EFBFBD> ࠧ<EFBFBD> <E0A0A7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> RGB
aimg_to_rgb2 db 'img_to_rgb2' , 0
aimg_decode db 'img_decode' , 0 ;<3B> <> ⮬<EFBFBD> <E2AEAC> <EFBFBD> <EFBFBD> <EFBFBD> ᪨ <20> <> ।<EFBFBD> <E0A5A4> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ଠ <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᪨<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
aimg_encode db 'img_encode' , 0
aimg_create db 'img_create' , 0
aimg_destroy db 'img_destroy' , 0
aimg_destroy_layer db 'img_destroy_layer' , 0
aimg_count db 'img_count' , 0
aimg_lock_bits db 'img_lock_bits' , 0
aimg_unlock_bits db 'img_unlock_bits' , 0
aimg_flip db 'img_flip' , 0
aimg_flip_layer db 'img_flip_layer' , 0
aimg_rotate db 'img_rotate' , 0
aimg_rotate_layer db 'img_rotate_layer' , 0
aimg_draw db 'img_draw' , 0
align 4
import_buf2d_lib:
dd sz_lib_init
buf2d_create dd sz_buf2d_create
buf2d_create_f_img dd sz_buf2d_create_f_img
buf2d_clear dd sz_buf2d_clear
buf2d_draw dd sz_buf2d_draw
buf2d_delete dd sz_buf2d_delete
buf2d_line dd sz_buf2d_line
buf2d_circle dd sz_buf2d_circle
buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
buf2d_bit_blt dd sz_buf2d_bit_blt
buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
2010-12-22 20:03:22 +03:00
buf2d_curve_bezier dd sz_buf2d_curve_bezier
2010-07-30 01:20:45 +04:00
buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
buf2d_draw_text dd sz_buf2d_draw_text
buf2d_crop_color dd sz_buf2d_crop_color
buf2d_offset_h dd sz_buf2d_offset_h
dd 0 , 0
sz_lib_init db 'lib_init' , 0
sz_buf2d_create db 'buf2d_create' , 0
sz_buf2d_create_f_img db 'buf2d_create_f_img' , 0
sz_buf2d_clear db 'buf2d_clear' , 0
sz_buf2d_draw db 'buf2d_draw' , 0
sz_buf2d_delete db 'buf2d_delete' , 0
sz_buf2d_line db 'buf2d_line' , 0
sz_buf2d_circle db 'buf2d_circle' , 0 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 㦭<EFBFBD> <E3A6AD> <EFBFBD> <EFBFBD>
sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2' , 0
sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2' , 0
sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8' , 0
sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32' , 0
sz_buf2d_bit_blt db 'buf2d_bit_blt' , 0
sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp' , 0
sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha' , 0
2010-12-22 20:03:22 +03:00
sz_buf2d_curve_bezier db 'buf2d_curve_bezier' , 0
2010-07-30 01:20:45 +04:00
sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix' , 0
sz_buf2d_draw_text db 'buf2d_draw_text' , 0
sz_buf2d_crop_color db 'buf2d_crop_color' , 0
sz_buf2d_offset_h db 'buf2d_offset_h' , 0
2010-09-08 23:06:14 +04:00
align 4
import_box_lib:
dd al ib_init2
;scrollbar_ver_draw dd aScrollbar_ver_draw
tl_data_init dd sz_tl_data_init
tl_data_clear dd sz_tl_data_clear
tl_info_clear dd sz_tl_info_clear
tl_key dd sz_tl_key
tl_mouse dd sz_tl_mouse
tl_draw dd sz_tl_draw
tl_info_undo dd sz_tl_info_undo
tl_info_redo dd sz_tl_info_redo
tl_node_add dd sz_tl_node_add
tl_node_set_data dd sz_tl_node_set_data
tl_node_get_data dd sz_tl_node_get_data
tl_node_delete dd sz_tl_node_delete
tl_cur_beg dd sz_tl_cur_beg
tl_cur_next dd sz_tl_cur_next
tl_cur_perv dd sz_tl_cur_perv
tl_node_close_open dd sz_tl_node_close_open
tl_node_lev_inc dd sz_tl_node_lev_inc
tl_node_lev_dec dd sz_tl_node_lev_dec
dd 0 , 0
alib_init2 db 'lib_init' , 0
;aScrollbar_ver_draw db 'scrollbar_v_draw',0
sz_tl_data_init db 'tl_data_init' , 0
sz_tl_data_clear db 'tl_data_clear' , 0
sz_tl_info_clear db 'tl_info_clear' , 0
sz_tl_key db 'tl_key' , 0
sz_tl_mouse db 'tl_mouse' , 0
sz_tl_draw db 'tl_draw' , 0
sz_tl_info_undo db 'tl_info_undo' , 0
sz_tl_info_redo db 'tl_info_redo' , 0
sz_tl_node_add db 'tl_node_add' , 0
sz_tl_node_set_data db 'tl_node_set_data' , 0
sz_tl_node_get_data db 'tl_node_get_data' , 0
sz_tl_node_delete db 'tl_node_delete' , 0
sz_tl_cur_beg db 'tl_cur_beg' , 0
sz_tl_cur_next db 'tl_cur_next' , 0
sz_tl_cur_perv db 'tl_cur_perv' , 0
sz_tl_node_close_open db 'tl_node_close_open' , 0
sz_tl_node_lev_inc db 'tl_node_lev_inc' , 0
sz_tl_node_lev_dec db 'tl_node_lev_dec' , 0
2010-07-30 01:20:45 +04:00
i_end:
rb 1024
align 16
procinfo process_information
stacktop:
sys_path rb 4096
file_name:
rb 4096
openfile_path:
rb 4096
filename_area:
rb 256
2012-11-09 14:42:30 +04:00
mem: