31,8 → 31,8 |
buf2d_data equ dword[edi] ;¤ ë¥ ¡ãä¥à ¨§®¡à ¦¥¨ï |
buf2d_w equ dword[edi+8] ;è¨à¨ ¡ãä¥à |
buf2d_h equ dword[edi+12] ;¢ëá®â ¡ãä¥à |
buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ |
buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã |
buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ |
buf2d_size_lt equ dword[edi+4] ;®âáâ㯠᫥¢ ¨ á¯à ¢ ¤«ï ¡ãä¥à |
buf2d_color equ dword[edi+16] ;梥â ä® ¡ãä¥à |
buf2d_bits equ byte[edi+20] ;ª®«¨ç¥á⢮ ¡¨â ¢ 1-© â®çª¥ ¨§®¡à ¦¥¨ï |
54,6 → 54,16 |
OFFS_SHADOW_Y equ 2 ;ᤢ¨£ ⥥© ¯® ®á¨ 'y' |
IMAGE_FONT_SIZE equ 128*144*3 |
|
use_but equ 1 |
|
if use_but eq 1 |
BUT1_T equ 10 ;®âáâ㯠ᢥàåã |
BUT1_L equ 15 ;®âáâ㯠᫥¢ |
BUT1_W equ 50 ;è¨à¨ |
BUT1_H equ 20 ;¢ëá®â |
BUT1_NEXT_TOP equ (BUT1_T+BUT1_H)*65536 |
end if |
|
fn_icon0 db 'curici.png',0 ;¨¬ï ä ©« á ¤¥ª®à æ¨ï¬¨ |
fn_icon1 db 'wolf.png',0 ;¨¬ï ä ©« á ¢®«ª®¬ ¨ § ©æ¥¬ |
fn_icon2 db 'eggs.png',0 ;¨¬ï ä ©« á ï©æ ¬¨ |
60,6 → 70,7 |
fn_icon3 db 'chi.png',0 ;¨¬ï ä ©« á 樯«ïâ ¬¨ |
fn_font db 'font8x9.bmp',0 |
|
;梥⠢ ¨£à¥ |
color_fon dd 0xffffff |
color_shadows dd 0xd0d0d0 ;梥â ⥥© |
color_trees dd 0x008000 ;梥â âà ¢ë |
68,6 → 79,9 |
color_chick dd 0x00d0d0 ;梥â 樯«¥ª |
color_curici dd 0x8080d0 ;梥⠪ãà¨æë |
color_perilo dd 0x000080 ;梥⠯¥à¨« (£à¥¡ï) |
;梥⠨â¥à䥩á |
color_but_sm dd 0x808080 ;梥⠬ «¥ìª¨å ª®¯®ª |
color_but_bi dd 0x8080ff ;梥⠡®«ìè¨å ª®¯®ª |
|
macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
113,7 → 127,10 |
mask_chi_cr_r equ 1000000000000000000000000000b ;¬ ᪠¤«ï ᮧ¤ ¨ï ¯à ¢®£® |
bit_chi_left equ 21 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® á«¥¢ |
bit_chi_right equ 27 ;1-© ¡¨â ª®â®àë© ®â¢¥ç ¥â § ¡¥£ã饣® ¯à ¢ |
val_zaac_time_y equ 5 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¯à®¢¨á¥âì § ïæ |
val_zaac_time_n equ 7 ;ª®««¨ç¥á⢮ ⠪⮢, ª®â®à®¥ ®¡ï§ â¥«ì® ¤®«¦¥ ¡ëâì á¯àïâ ë¬ § ïæ |
|
zaac_status db 0 |
pos_wolf db 0 ;¯®§¨æ¨ï ¢®«ª 0-© ¡¨â á«¥¢ /á¯à ¢ , 1-© ¡¨â ᢥàåã/¢¨§ |
;rb 1 |
pos_eggs dd 0 ;¯®§¨æ¨¨ à ᯮ«®¦¥¨ï ï¨æ ¨ 樯«ïâ |
149,7 → 166,8 |
mov edi,dword[buf] |
stdcall [buf2d_create_f_img], edi,[img_data] ;ᮧ¤ ¥¬ ¡ãä¥à |
stdcall [buf2d_conv_24_to_8], edi,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç®á⨠8¡¨â |
stdcall [buf2d_crop_color], edi,buf2d_color,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM+BUF2D_OPT_CROP_RIGHT |
;®¡à¥§ ¥¬ «¨è¨¥ ªà ï ¡ãä¥à , ¤«ï ¡®«¥¥ ¡ëáâண® à¨á®¢ ¨ï |
stdcall [buf2d_crop_color], edi,buf2d_color,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM+BUF2D_OPT_CROP_RIGHT+BUF2D_OPT_CROP_LEFT |
pop edi |
ret |
endp |
444,14 → 462,23 |
and dword[pos_eggs],mask_clear_all ;®ç¨á⪠㯠¢è¨å ï¨æ ¨ ¤®¡¥¦ ¢è¨å ªã३ |
|
call rand_next |
bt dword[rand_x],6 |
cmp byte[zaac_status],0 |
jle @f |
dec byte[zaac_status] |
jmp .no_zaac_move ;§ ïæ ¯®ª ¥ ¤¢¨£ ¥âáï |
@@: |
|
bt dword[rand_x],6 ;§ ïæ ®â ä® àï ¬¥ï¥â áâ âãá |
jc @f |
bt dword[rand_x],8 |
jc @f |
bt dword[rand_x],9 |
jc @f |
xor byte[pos_wolf],val_zaac ;¢ëá®¢ë¢ ¥¬/§ á®¢ë¢ ¥¬ § ©æ |
bt word[pos_wolf],val_zaac |
jc .zaac_n |
mov byte[zaac_status],val_zaac_time_y ;áâ ¢¨¬ ¬¨¨¬ «ì®¥ ¢à¥¬ï ¤«ï ᬥë áâ âãá |
jmp @f |
.zaac_n: |
mov byte[zaac_status],val_zaac_time_n ;áâ ¢¨¬ ¬¨¨¬ «ì®¥ ¢à¥¬ï ¤«ï ᬥë áâ âãá |
@@: |
.no_zaac_move: |
|
;ᮧ¤ ¨¥ ®¢ëå ï¨æ |
bt dword[rand_x],4 ;¯à®¢¥à塞 ¡ã¤¥¬ «¨ ᮧ¤ ¢ âì ®¢®¥ ï©æ® |
486,6 → 513,7 |
mov byte[some_text+1],0 ;⥪áâ á ç¨á«®¬ ¯®©¬ ëå ï¨æ |
mov byte[count_last],0 |
mov dword[pos_eggs],0 |
mov byte[zaac_status],0 |
|
cmp dword[b],0 |
jne @f |
697,8 → 725,8 |
mcall 12,1 |
|
xor eax,eax |
mov ebx,20*65536+370 |
mov ecx,20*65536+280 |
mov ebx,20*65536+480 |
mov ecx,20*65536+270 |
mov edx,[sc.work] |
;or edx,0x33000000 |
or edx,0x73000000 |
739,6 → 767,32 |
inc esi |
.draw_s: |
|
if use_but eq 1 |
; *** à¨á®¢ ¨¥ ª®¯®ª *** |
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 |
|
; *** ¢®ááâ ®¢«¥¨¥ ¯ à ¬¥â஢ *** |
mov eax,13 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª |
mov edx,[sc.work] |
end if |
|
mov ebx,esi |
mov ecx,dword[procinfo.client_box.height] |
inc ecx |
785,6 → 839,15 |
align 4 |
button: |
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
if use_but eq 1 |
cmp ah,5 |
jne @f |
stdcall InitGame,0 |
@@: |
cmp ah,6 |
jne @f |
stdcall InitGame,1 |
@@: end if |
cmp ah,1 |
jne still |
.exit: |
887,7 → 950,7 |
image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥ë¬¨ á¥à묨 ¨§®¡à ¦¥¨ï¬¨ ¢ ä®à¬ ⥠24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë |
|
run_file_70 FileInfoBlock |
hed db 'Nu pogodi 29.07.10',0 ;¯®¤¯¨áì ®ª |
hed db 'Nu pogodi 30.07.10',0 ;¯®¤¯¨áì ®ª |
sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
|
align 4 |