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'
include 'mem.inc'
include 'dll.inc'
@ 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
GAME_POLE_W equ 315 ;<3B> <> ਭ<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GAME_POLE_H equ 210 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GAME_POLE_BYTES equ GAME_POLE_W * GAME_POLE_H * 3 ;ࠧ<> <E0A0A7> <EFBFBD> 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <EFBFBD>
OFFS_SHADOW_X equ 2 ;ᤢ<> <E1A4A2> ⥭<> <E2A5AD> <20> <> <20> <> <EFBFBD> 'x'
OFFS_SHADOW_Y equ 2 ;ᤢ<> <E1A4A2> ⥭<> <E2A5AD> <20> <> <20> <> <EFBFBD> 'y'
IMAGE_FONT_SIZE equ 128 * 144 * 3
2010-07-30 21:42:39 +04:00
use_but equ 1
if use_but eq 1
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
end if
2010-07-30 01:20:45 +04:00
fn_icon0 db 'curici.png' , 0 ;<3B> <> <EFBFBD> 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﬨ
fn_icon1 db 'wolf.png' , 0 ;<3B> <> <EFBFBD> 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> 楬
fn_icon2 db 'eggs.png' , 0 ;<3B> <> <EFBFBD> 䠩<> <E4A0A9> <20> <20> <> 栬<EFBFBD>
fn_icon3 db 'chi.png' , 0 ;<3B> <> <EFBFBD> 䠩<> <E4A0A9> <20> 樯<> <E6A8AF> ⠬<EFBFBD>
fn_font db 'font8x9.bmp' , 0
2010-07-30 21:42:39 +04:00
;梥<> <E6A2A5> <20> <20> <> <EFBFBD> <EFBFBD>
2010-07-30 01:20:45 +04:00
color_fon dd 0xffffff
color_shadows dd 0xd0d0d0 ;梥<> ⥭<> <E2A5AD>
color_trees dd 0x008000 ;梥<> <20> ࠢ<EFBFBD>
color_wolf dd 0x800000 ;梥<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
color_egg dd 0x404080 ;梥<> <20> <> <EFBFBD> <EFBFBD>
color_chick dd 0x00d0d0 ;梥<> 樯<> <E6A8AF> <EFBFBD> <EFBFBD> <EFBFBD>
color_curici dd 0x8080d0 ;梥<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
color_perilo dd 0x000080 ;梥<> <20> <> ਫ<EFBFBD> (<28> ॡ<EFBFBD> <E0A5A1> )
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>
color_but_bi dd 0x8080ff ;梥<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <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>
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
copy_path path , sys_path , 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>
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>
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-07-30 21:42:39 +04:00
zaac_status db 0
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>
;<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
push edi
mov edi , dword [ buf ]
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-07-30 01:20:45 +04:00
pop edi
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
xor ebx , ebx
mov edi , buf_tr_fon0
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> <EFBFBD>
mov edi , buf_tr_fon1
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>
mov edi , buf_tr_fon2
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> <> ॢ쥢
mov edi , buf_tr_fon0
mov ax , buf2d_t
stdcall [ buf2d_bit_blt_alpha ], esi , 0 , eax , edi ,[ color_perilo ] ;<3B> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
mov edi , buf_tr_fon1
mov ax , buf2d_t
stdcall [ buf2d_bit_blt_alpha ], esi , 0 , eax , edi ,[ color_curici ] ;<3B> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
mov edi , buf_tr_fon2
mov ax , buf2d_t
stdcall [ buf2d_bit_blt_alpha ], esi , 0 , eax , edi ,[ color_trees ] ;<3B> <> <EFBFBD> 㥬 <20> <> ॢ<EFBFBD> <E0A5A2>
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
cmp dword [ game_spd ], 15 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쭠<EFBFBD> <20> <> <EFBFBD> <EFBFBD> প<EFBFBD>
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>
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>
mov byte [ count_last ], 0
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
cmp dword [ b ], 0
jne @ f
mov byte [ game_text + 5 ], '<27> '
mov dword [ game_spd ], 65 ;<3B> <> <EFBFBD> <EFBFBD> প<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
jmp .end_init
@ @ :
mov byte [ game_text + 5 ], '<27> '
mov dword [ game_spd ], 35 ;<3B> <> <EFBFBD> <EFBFBD> প<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
.end_init:
push eax ebx
mcall 26 , 9
mov dword [ rand_x ], eax ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 1-<2D> <20> <> <EFBFBD> 砩<EFBFBD> <E7A0A9> <EFBFBD> <20> <>
pop ebx eax
ret
endp
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>
load_image_file fn_icon0 , image_data_gray , 3 * GAME_POLE_BYTES
mov eax ,[ image_data_gray ]
stdcall CreateTrapharetBuffer , buf_tr_fon0 , eax
add eax , GAME_POLE_BYTES
stdcall CreateTrapharetBuffer , buf_tr_fon1 , eax
add eax , GAME_POLE_BYTES
stdcall CreateTrapharetBuffer , buf_tr_fon2 , eax
stdcall mem.Free ,[ image_data_gray ] ;<3B> <EFBFBD> <E1A2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall [ buf2d_create ], buf_fon ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 䮭<> <E4AEAD> 묨 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﬨ
load_image_file fn_icon1 , image_data_gray , 9 * GAME_POLE_BYTES
mov eax ,[ image_data_gray ]
mov edi , buf_wolf
mov ecx , 9
cld
@ @ : ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> 9 <20> <> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> 楬
mov buf2d_size_lt , 0
mov buf2d_w , GAME_POLE_W
mov buf2d_h , GAME_POLE_H
mov buf2d_color , 0xffffff
mov buf2d_bits , 24
stdcall CreateTrapharetBuffer , edi , eax
add eax , GAME_POLE_BYTES
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>
load_image_file fn_icon2 , image_data_gray , 22 * GAME_POLE_BYTES
mov eax ,[ image_data_gray ]
mov edi , buf_egg
mov ecx , 22
cld
@ @ : ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> 22 <20> <> <EFBFBD> <EFBFBD> <20> <20> <> 栬<EFBFBD>
mov buf2d_size_lt , 0
mov buf2d_w , GAME_POLE_W
mov buf2d_h , GAME_POLE_H
mov buf2d_color , 0xffffff
mov buf2d_bits , 24
stdcall CreateTrapharetBuffer , edi , eax
add eax , GAME_POLE_BYTES
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>
load_image_file fn_icon3 , image_data_gray , 13 * GAME_POLE_BYTES
mov eax ,[ image_data_gray ]
mov edi , buf_chi
mov ecx , 13
cld
@ @ : ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> 13 <20> <> <EFBFBD> <EFBFBD> <20> 樯<> <E6A8AF> ⠬<EFBFBD>
mov buf2d_size_lt , 0
mov buf2d_w , GAME_POLE_W
mov buf2d_h , GAME_POLE_H
mov buf2d_color , 0xffffff
mov buf2d_bits , 24
stdcall CreateTrapharetBuffer , edi , eax
add eax , GAME_POLE_BYTES
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>
load_image_file fn_font , image_data_gray , IMAGE_FONT_SIZE
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> 梥⮬
stdcall [ buf2d_create ], buf_displ ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> 뢮<EFBFBD> <EBA2AE> <20> <> <20> <> ࠭
call InitBackgroundBuffer ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 䮭<> <E4AEAD> 묨 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﬨ
stdcall InitGame , 0
mcall 26 , 9
mov [ last_time ], ebx
align 4
red_win:
call draw_window
align 4
still: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 横<>
mcall 26 , 9
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
;mcall 10
cmp al , 0x1 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
jz red_win
cmp al , 0x2
jz key
cmp al , 0x3
jz button
jmp still
align 4
it_is_time_now:
mcall 26 , 9
mov [ last_time ], eax
;...<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
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>
mcall 9 , procinfo , - 1
mov edi , buf_displ
mov eax , dword [ procinfo.client_box.width ]
cmp eax , GAME_POLE_W
jle @ f
sub eax , GAME_POLE_W
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
add esi , GAME_POLE_W
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
if use_but eq 1
; *** <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
; *** <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 ]
end if
2010-07-30 01:20:45 +04:00
mov ebx , esi
mov ecx , dword [ procinfo.client_box.height ]
inc ecx
mov esi , GAME_POLE_H
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
mov ecx , GAME_POLE_H
int 0x40 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
mcall 12 , 2
popad
ret
align 4
draw_display:
stdcall mem_copy , dword [ buf_fon ], dword [ buf_displ ], GAME_POLE_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>
call DrawZaac
call DrawWolf ;<3B> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
call DrawEggs
stdcall [ buf2d_draw_text ], buf_displ , buf_font , game_text , GAME_POLE_W / 2 , OFFS_SHADOW_X ,[ color_curici ] ;<3B> <> <EFBFBD> 㥬 <20> <> ப<EFBFBD> <20> ⥪<> ⮬
stdcall [ buf2d_draw ], buf_displ
;mov eax,4 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> ⥪<> <E2A5AA> <EFBFBD>
;mov ebx,(GAME_POLE_W/2)*65536+OFFS_SHADOW_X
;mov ecx,[color_curici]
;or ecx,0x80000000
;mov edx,some_text
;mcall
ret
align 4
button:
mcall 17 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⮩ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-07-30 21:42:39 +04:00
if use_but eq 1
cmp ah , 5
jne @ f
stdcall InitGame , 0
@ @ :
cmp ah , 6
jne @ f
stdcall InitGame , 1
@ @ : end if
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>
stdcall [ buf2d_delete ], buf_tr_fon0
stdcall [ buf2d_delete ], buf_tr_fon1
stdcall [ buf2d_delete ], buf_tr_fon2
stdcall [ buf2d_delete ], buf_font
cld
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
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/'
name_buf2d db 'buf2d.obj' , 0
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/'
name_libimg db 'libimg.obj' , 0
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
;library structures
l_libs_start:
lib0 l_libs name_buf2d , 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 name_libimg , sys_path , file_name , system_dir1 , err_message_found_lib1 , head_f_l , import_libimg , err_message_import1 , head_f_i
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>
last_time dd ?
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-07-30 21:42:39 +04:00
hed db 'Nu pogodi 30.07.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>
align 4
buf_fon: ;䮭<> <E4AEAD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
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 GAME_POLE_W ;+8 w
dd GAME_POLE_H ;+12 h
dd 0xffffff ;+16 color
db 24 ;+20 bit in pixel
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
buf_tr_fon0: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ३<> <E0A5A9> <EFBFBD> <EFBFBD>
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 GAME_POLE_W ;+8 w
dd GAME_POLE_H ;+12 h
dd 0xffffff ;+16 color
db 24 ;+20 bit in pixel
align 4
buf_tr_fon1: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> 栬<EFBFBD>
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 GAME_POLE_W ;+8 w
dd GAME_POLE_H ;+12 h
dd 0xffffff ;+16 color
db 24 ;+20 bit in pixel
align 4
buf_tr_fon2: ;<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 0 ;+4 left
dw 0 ;+6 top
dd GAME_POLE_W ;+8 w
dd GAME_POLE_H ;+12 h
dd 0xffffff ;+16 color
db 24 ;+20 bit in pixel
align 4
buf_displ:
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
dw 25 , 0
dd GAME_POLE_W ;+8 w
dd GAME_POLE_H ;+12 h
dd 0 ;+16 color
db 24 ;+20 bit in pixel
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
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
buf2d_cruve_bezier dd sz_buf2d_cruve_bezier
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
sz_buf2d_cruve_bezier db 'buf2d_cruve_bezier' , 0
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
i_end:
rb 1024
align 16
procinfo process_information
stacktop:
sys_path rb 4096
file_name:
rb 4096
plugin_path:
rb 4096
openfile_path:
rb 4096
filename_area:
rb 256
mem: