mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-12-25 08:06:49 +03:00
cbf0e458ce
git-svn-id: svn://kolibrios.org@6277 a494cfbc-eb01-0410-851d-a64ba20cac60
2191 lines
51 KiB
NASM
2191 lines
51 KiB
NASM
|
||
WND_COLOR equ 0x02aa00FF
|
||
|
||
use32
|
||
org 0x0
|
||
db 'MENUET01'
|
||
dd 0x01
|
||
dd START
|
||
dd I_END
|
||
dd 0x300000
|
||
dd 0x27fff0
|
||
dd 0x0
|
||
dd 0x0
|
||
|
||
include 'lang.inc'
|
||
include '..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢!
|
||
|
||
include 'ASCL.INC'
|
||
include 'ASCGL.INC'
|
||
|
||
|
||
|
||
gif_hash_offset = gif_hash_area
|
||
COLOR_ORDER equ MENUETOS
|
||
|
||
DELAY equ 2 ; ‡ ¤¥à¦ª ¯¥à¥¤ ¯¥à¥å®¤®¬ ª á«¥¤ãî饬㠪 ¤àã ¢ ¬á¥ª
|
||
|
||
START:
|
||
;****************
|
||
; Žâªàë¢ ¥¬ ä ¨«
|
||
;****************
|
||
openfile:
|
||
; and [entered],0
|
||
; mov ecx,499*3*4 ;at start
|
||
xor ecx,ecx
|
||
mov ecx,1
|
||
|
||
; Convert gif to animation format
|
||
giftoani workarea,Image,ecx
|
||
bmptoimg bullet_bmp, img_bullet
|
||
bmptoimg level_bmp, img_level
|
||
bmptoimg kirpich, img_area
|
||
bmptoimg kirpich2, img_area2
|
||
bmptoimg kirpich3, img_area3
|
||
bmptoimg lest_bmp, img_lestniza
|
||
bmptoimg water1_bmp, img_water1
|
||
bmptoimg water2_bmp, img_water2
|
||
bmptoimg door1_bmp, img_door1
|
||
bmptoimg door2_bmp, img_door2
|
||
|
||
|
||
red:
|
||
call timer
|
||
call draw_window
|
||
; call load_level
|
||
; delay 200
|
||
|
||
still:
|
||
timeevent DELAY,no_event, red, key, button
|
||
|
||
no_event:
|
||
call draw_subimage
|
||
jmp still
|
||
|
||
key:
|
||
; ¡«®ª ¤¢¨¦¥¨ï ¯¥àá® ¦
|
||
mov eax,2
|
||
int 0x40
|
||
cmp ah, 179 ; ¯à ¢® 4
|
||
je go_mov
|
||
cmp ah, 176 ; «¥¢® 1
|
||
je go_mov
|
||
cmp ah, 178 ; ¢¥àå 3
|
||
je go_mov
|
||
cmp ah, 177 ; ¨§ 2
|
||
je go_mov
|
||
cmp ah, 120 ; ¨§ 2
|
||
je go_fire
|
||
cmp ah, 122 ; ¨§ 2
|
||
je go_fire
|
||
cmp ah, 239 ; ¨§ 2
|
||
je go_fire_left
|
||
cmp ah, 231 ; ¨§ 2
|
||
je go_fire
|
||
|
||
|
||
jmp no_mov ; if not left, right, up, down, then go NO MOV
|
||
|
||
go_mov:
|
||
;mov ebx, [v_mov2]
|
||
mov [v_mov2], ah
|
||
sub word [v_mov2], 175 ; ®â¨¬ ¥¬ ®â ª®¤ ª« ¢¨è¨ 175 ¨ ®áâ ¥âáï 1,2,3 ¨«¨ 4 ᮮ⢥âá⢥® ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦
|
||
jmp no_mov ; if not left, right, up, down, then go NO MOV
|
||
|
||
go_fire_left:
|
||
xor eax,eax
|
||
mov ah, 122
|
||
call fire
|
||
jmp no_mov
|
||
go_fire:
|
||
call fire
|
||
no_mov:
|
||
; ª®¥æ ¡«®ª ¤¢¨¦¥¨ï ¯¥àá® ¦
|
||
jmp still
|
||
|
||
button:
|
||
mov eax, 17
|
||
int 0x40
|
||
|
||
cmp ah,1
|
||
jne noclose
|
||
_close:
|
||
or eax,-1
|
||
int 0x40
|
||
noclose:
|
||
jmp still
|
||
|
||
; *********************************************
|
||
; ******* Ž<><C5BD>…„…‹…<E280B9>ˆ… ˆ Ž’<C5BD>ˆ‘Ž‚Š€ ŽŠ<C5BD>€ *******
|
||
; *********************************************
|
||
|
||
draw_window:
|
||
startwd
|
||
|
||
mov eax,0
|
||
mov ebx,50*65536+522
|
||
mov ecx,50*65536+536
|
||
mov edx,WND_COLOR
|
||
mov esi,0x8050FFd0
|
||
mov edi,0x005080d0
|
||
int 0x40
|
||
|
||
label 8,6,'<27>Ž„‡…Œ…‹œ… ¤«ï Š®«¨¡à¨ Ž‘ <<<RU095@YANDEX.RU>>> z/x áâ५ïâì',cl_White+font_Big
|
||
|
||
mov eax,8
|
||
mov ebx,(500)*65536+12
|
||
mov ecx,5*65536+12
|
||
mov edx,1
|
||
mov esi,0x000000
|
||
int 0x40
|
||
|
||
xor ecx,ecx
|
||
call draw_subimage
|
||
cmp [imgcount],1
|
||
je .enddraw
|
||
|
||
mov ecx,[img_index]
|
||
|
||
call draw_subimage
|
||
|
||
.enddraw:
|
||
|
||
endwd
|
||
|
||
|
||
ret
|
||
|
||
;*******************************************
|
||
; LABIRINT
|
||
;*******************************************
|
||
|
||
labirint:
|
||
|
||
; ¢ë¢®¤ ¡«®ª®¢ « ¡¨à¨â
|
||
cycle:
|
||
|
||
mov eax, [Lab]
|
||
shl eax, 5 ; ᤢ¨£ ॣ¨áâà ¢ ¯à ¢® 5 ¯®§¨æ¨¨ ¢á¥ à ¢® ç⮠㬮¦¨«¨ 32
|
||
mov [perem1], eax
|
||
mov eax, [Lab]
|
||
shr eax, 4 ; ᤢ¨£ ॣ¨áâà ¢ «¥¢®
|
||
shl eax, 5 ; ᤢ¨£ ®¡à â® (¢á¥ à ¢® ç⮠楫®ç¨á«¥®¥ ¤¥«¥¨¥ 256)
|
||
mov [perem2], eax
|
||
shl eax, 4 ; ¢á¥ à ¢® çâ® ®â¨¬ ¥¬ ®â ª®®à¤¨ â ¥ã¦ë© ¯à¨à®áâ -> “-256*X
|
||
sbb dword [perem1], eax;
|
||
|
||
mov ebx, [Lab]
|
||
sbb ebx, 1
|
||
mov eax,[Dangeon + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥
|
||
|
||
cmp ah, 1 ;
|
||
je go_block
|
||
|
||
cmp ah, 0 ;
|
||
je back_block
|
||
|
||
cmp ah, 12 ; § ªà áª ä® § «¬ §®¬
|
||
je back_block
|
||
|
||
cmp ah, 3 ;
|
||
je boom_block
|
||
|
||
cmp ah, 16 ;
|
||
je door_block
|
||
|
||
cmp ah, 2 ; § ªà áª ä® § «¬ §®¬
|
||
je cool_block
|
||
|
||
jmp end_block
|
||
go_block:
|
||
imgtoimg img_area,dword [perem1],dword [perem2],canvas
|
||
jmp end_block
|
||
|
||
cool_block:
|
||
imgtoimg img_area3,dword [perem1],dword [perem2],canvas
|
||
jmp end_block
|
||
|
||
|
||
back_block:
|
||
imgtoimg img_area2,dword [perem1],dword [perem2],canvas
|
||
jmp end_block
|
||
|
||
door_block:
|
||
imgtoimg img_door1,dword [perem1],dword [perem2],canvas
|
||
|
||
mov eax, [gold]
|
||
cmp ax, 10 ; ¥á«¨ á®¡à ® ¡®«¥¥ 10 «¬ §®¢ ¤¢¥àì ®âªàëâ
|
||
jna end_block
|
||
imgtoimg img_door2,dword [perem1],dword [perem2],canvas
|
||
jmp end_block
|
||
|
||
|
||
boom_block:
|
||
imgtoimg img_area,dword [perem1],dword [perem2],canvas
|
||
mov ebp,18 ; ª ¤à
|
||
mov eax, dword [perem1]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [perem2]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
|
||
mov ecx, [timer1] ;
|
||
and ecx, 15
|
||
cmp ecx, 0
|
||
jne end_block
|
||
|
||
mov ebx, [Lab]
|
||
mov byte [Dangeon + ebx], 0 ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥
|
||
|
||
|
||
end_block:
|
||
|
||
add word [Lab],1
|
||
mov eax, [Lab]
|
||
|
||
cmp eax, 256 ; if eax == 0
|
||
je cycle_end ; jump to cycle_end:
|
||
jmp cycle ;
|
||
|
||
cycle_end:
|
||
|
||
mov eax, 0
|
||
mov [Lab],eax
|
||
|
||
ret ; END labirint
|
||
|
||
|
||
;*******************************************
|
||
; ‹…‘’<E28098>ˆ–€
|
||
;*******************************************
|
||
lestniza:
|
||
; ¢ë¢®¤ ¡«®ª®¢ « ¡¨à¨â
|
||
cycle2:
|
||
|
||
mov eax, [Lab]
|
||
shl eax, 5 ; ᤢ¨£ ॣ¨áâà ¢ ¯à ¢® 5 ¯®§¨æ¨¨ ¢á¥ à ¢® ç⮠㬮¦¨«¨ 32
|
||
mov [perem1], eax
|
||
mov eax, [Lab]
|
||
shr eax, 4 ; ᤢ¨£ ॣ¨áâà ¢ «¥¢®
|
||
shl eax, 5 ; ᤢ¨£ ®¡à â® (¢á¥ à ¢® ç⮠楫®ç¨á«¥®¥ ¤¥«¥¨¥ 256)
|
||
mov [perem2], eax
|
||
shl eax, 4 ; ¢á¥ à ¢® çâ® ®â¨¬ ¥¬ ®â ª®®à¤¨ â ¥ã¦ë© ¯à¨à®áâ -> “-256*X
|
||
sbb dword [perem1], eax;
|
||
|
||
|
||
mov ebx, [Lab]
|
||
sbb ebx, 1
|
||
mov eax,[Dangeon + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥
|
||
|
||
cmp ah, 8 ;
|
||
je go_lestniza
|
||
|
||
jmp end_lestniza
|
||
go_lestniza:
|
||
|
||
imgtoimg img_lestniza,dword [perem1],dword [perem2],canvas
|
||
end_lestniza:
|
||
|
||
add word [Lab],1
|
||
mov eax, [Lab]
|
||
|
||
cmp eax, 256 ; if eax == 0
|
||
je cycle2_end ; jump to cycle_end:
|
||
jmp cycle2 ;
|
||
|
||
cycle2_end:
|
||
|
||
mov eax, 0
|
||
mov [Lab],eax
|
||
|
||
|
||
ret ; END lestniza
|
||
|
||
|
||
|
||
;*******************************************
|
||
; ‚Ž„€ ¨ €‹Œ€‡›
|
||
;*******************************************
|
||
water:
|
||
|
||
; ¢ë¢®¤ ¢®¤ë « ¡¨à¨â
|
||
cycle3:
|
||
|
||
mov eax, [Lab]
|
||
shl eax, 5 ; ᤢ¨£ ॣ¨áâà ¢ ¯à ¢® 5 ¯®§¨æ¨¨ ¢á¥ à ¢® ç⮠㬮¦¨«¨ 32
|
||
mov [perem1], eax
|
||
mov eax, [Lab]
|
||
shr eax, 4 ; ᤢ¨£ ॣ¨áâà ¢ «¥¢®
|
||
shl eax, 5 ; ᤢ¨£ ®¡à â® (¢á¥ à ¢® ç⮠楫®ç¨á«¥®¥ ¤¥«¥¨¥ 256)
|
||
mov [perem2], eax
|
||
shl eax, 4 ; ¢á¥ à ¢® çâ® ®â¨¬ ¥¬ ®â ª®®à¤¨ â ¥ã¦ë© ¯à¨à®áâ -> “-256*X
|
||
sbb dword [perem1], eax;
|
||
|
||
|
||
mov ebx, [Lab]
|
||
sbb ebx, 1
|
||
mov eax,[Dangeon + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥
|
||
|
||
cmp ah, 4 ;
|
||
je go_water
|
||
|
||
cmp ah, 12 ; à¨á®¢ ¨¥ «¬ §®¢
|
||
je go_almaz
|
||
|
||
jmp end_water
|
||
go_water:
|
||
mov eax,0 ;
|
||
mov eax, [timer1];
|
||
and eax, 15
|
||
cmp eax, 7 ;
|
||
jb go_water2
|
||
|
||
imgtoimg img_water1,dword [perem1],dword [perem2],canvas
|
||
jmp end_water
|
||
|
||
go_water2:
|
||
imgtoimg img_water2,dword [perem1],dword [perem2],canvas
|
||
|
||
jmp end_water
|
||
go_almaz:
|
||
|
||
mov eax,0 ;
|
||
mov eax, [timer1];
|
||
and eax, 31
|
||
|
||
cmp eax, 10
|
||
ja almaz2
|
||
|
||
mov ebp,14 ; ª ¤à
|
||
mov eax, dword [perem1]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [perem2]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
jmp end_water
|
||
|
||
almaz2:
|
||
cmp eax, 20
|
||
ja almaz3
|
||
|
||
mov ebp,15 ; ª ¤à
|
||
mov eax, dword [perem1]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [perem2]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
jmp end_water
|
||
|
||
almaz3:
|
||
mov ebp,16 ; ª ¤à
|
||
mov eax, dword [perem1]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [perem2]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
|
||
|
||
end_water:
|
||
|
||
add word [Lab],1
|
||
mov eax, [Lab]
|
||
|
||
cmp eax, 256 ; if eax == 0
|
||
je cycle3_end ; jump to cycle_end:
|
||
jmp cycle3 ;
|
||
|
||
cycle3_end:
|
||
|
||
mov eax, 0
|
||
mov [Lab],eax
|
||
|
||
|
||
ret ; END water
|
||
|
||
|
||
;*******************************************
|
||
; ‚뢮¤¨¬ á«¥¤ãî騩 ª ¤à ¨§ ᯨ᪠ª à⨮ª
|
||
;*******************************************
|
||
draw_subimage:
|
||
;aframetoimg Image,32, 32,canvas,0x00ffffff ; <20>…‚ˆ„ˆŒ›‰, ¯à®§à çë© –‚…’ ˆ‹ˆ <20>… <20>ˆ‘“…Œ›‰
|
||
|
||
call labirint
|
||
call lestniza
|
||
call enemy_mas
|
||
call enemy_mov
|
||
;-------------------------------------------------------------------------------
|
||
mov ebx, [gold]
|
||
cmp bx, 5 ;㢥«¨ç¥¨¥ ᪮à®á⨠¢à £®¢ ¥á«¨ ãªà « ¡®«¥¥ 9
|
||
jna lov_velo
|
||
call enemy_mas
|
||
call enemy_mov
|
||
lov_velo:
|
||
;-------------------------------------------------------------------------------
|
||
;-------------------------------------------------------------------------------
|
||
mov ebx, [gold]
|
||
cmp bx, 9 ;㢥«¨ç¥¨¥ ᪮à®á⨠¢à £®¢ ¥á«¨ ãªà « ¡®«¥¥ 9
|
||
jna lov_velo2
|
||
call enemy_mas
|
||
call enemy_mov
|
||
lov_velo2:
|
||
;-------------------------------------------------------------------------------
|
||
; call enemy_mas
|
||
; call enemy_mov
|
||
call hiro
|
||
call hiro_mov
|
||
call water
|
||
|
||
call bullet_mov
|
||
call bullet_mov
|
||
call bullet_mov
|
||
call bullet_mas
|
||
call bullet_mov
|
||
call bullet_mov
|
||
call bullet_mov
|
||
call bullet_mas
|
||
call proverka_gold
|
||
call potop
|
||
|
||
setimg 6,20,canvas
|
||
|
||
call timer
|
||
call tablo
|
||
ret
|
||
|
||
;@@@@@@@@@@@@@@@@@@
|
||
animashka:
|
||
;!!!‚€†<E282AC>Ž ¯¥à¥¤ ¢ë§®¢®¬ ¯à®æ¥¤ãàë ¤®«¦¥ ¡ëâì ãáâ ®¢«¥ ebx[®¬¥à ª ¤à ] ¨ x,y
|
||
|
||
mov edi,coords
|
||
mov esi, Image ; £¨ä ¨¬ èª ¢ ¯ ¬ïâ¨
|
||
;
|
||
; mov ebp, dword [edi+8] ;ecx §¤¥áì ª®ªà¥âë© ®¬¥à ¢ë¢®¤¨¬®£® ª ¤à
|
||
; inc ebp ; 㢥«¨ç¥¨¥ ª ¤à
|
||
; cmp ebp,3 ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ ª ¤à®¢ !!!!!!!
|
||
; jna ok_fr ; ¥á«¨ ¢ë¢®¤¨¬ë ª ¤à ¬¥ìè¥ ¬ ªá¨¬ «ì®£® ª®«¨ç¥á⢠ª ¤à®¢
|
||
;!!!!!!!!! mov ebp,2 ;®¡ã«¥¨¥ ª ¤à
|
||
|
||
ok_fr:
|
||
mov dword [edi+8], ebp ;®¬¥à ¢ë¢®¤¨¬®£® ª ¤à
|
||
loo:
|
||
cmp ebp,0 ; ¥á«¨ ª ¤à ã«¥¢®© â® áà §ã ¢ë¢®¤ ?
|
||
je setpic
|
||
movzx eax,word [esi+4] ; ¥á«¨ ¥â ⮠㢥«¨ç¨¢ ¥¬ å ã ?
|
||
movzx ebx,word [esi+6]
|
||
mul ebx ;dword [esi+4] 㬮¦ ¥â ebx eax ¨ १ã«ìâ â ¢ eax edx
|
||
mov ebx,3 ; ª®«¨ç¥á⢮ ª ¤à®¢ ???
|
||
mul ebx
|
||
add eax,8
|
||
add esi,eax
|
||
dec ebp
|
||
jmp loo
|
||
setpic:
|
||
|
||
pushad
|
||
; aframetoimg esi,dword [edi], dword [edi+4],canvas,0x00ffffff ; <20>…‚ˆ„ˆŒ›‰, ¯à®§à çë© –‚…’ ˆ‹ˆ <20>… <20>ˆ‘“…Œ›‰
|
||
; aframetoimg esi,32, 32,canvas,0x00ffffff ; <20>…‚ˆ„ˆŒ›‰, ¯à®§à çë© –‚…’ ˆ‹ˆ <20>… <20>ˆ‘“…Œ›‰
|
||
aframetoimg esi,dword [X_anime],dword [Y_anime],canvas,0x00ffffff ; <20>…‚ˆ„ˆŒ›‰, ¯à®§à çë© –‚…’ ˆ‹ˆ <20>… <20>ˆ‘“…Œ›‰
|
||
;call enemy_mas
|
||
popad
|
||
ret
|
||
;@@@@@@@@@@@@@@
|
||
|
||
|
||
;-------------- TIMER --------------
|
||
timer:
|
||
mov eax,0 ;
|
||
mov eax,[timer1] ;
|
||
add eax, 1;
|
||
mov [timer1], eax
|
||
|
||
cmp eax, 64 ; â ©¬¥à ®â 0 ¤® 64
|
||
je nul_timer
|
||
jmp timer_dalee
|
||
nul_timer :
|
||
mov [timer1], 0
|
||
timer_dalee:
|
||
ret
|
||
;-------------- TIMER --------------
|
||
|
||
|
||
|
||
|
||
|
||
;*******************************************
|
||
; ENEMY
|
||
;*******************************************
|
||
|
||
enemy_mas: ; ¢ë¢®¤ ENEmy ENEMYYYYYYYYYYYYYYY ENEMYYYYYYYYYYYYYY !!!
|
||
|
||
mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12
|
||
|
||
cycle4:
|
||
|
||
mov ebx, 0
|
||
mov ecx, 0
|
||
mov edx, 0
|
||
mov esi, 0
|
||
|
||
mov word bx, [Lab2]
|
||
mov word ax,[Enemy+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥
|
||
|
||
cmp ax, 1 ; ®¡ëçë© ¢à £ ®¬¥à 1
|
||
je go_enemy
|
||
|
||
jmp end_enemy
|
||
go_enemy:
|
||
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word ax, [Enemy + bx]
|
||
mov word [X_enemy], ax
|
||
|
||
add word bx, 2 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word ax, [Enemy + ebx]
|
||
mov word [Y_enemy], ax
|
||
|
||
add word bx, 2 ; ¯®«®¦¥¨¥ ¢ ¬ áᨢ¥ ¤ ®£® ¢à £
|
||
mov word ax, [Enemy + ebx]
|
||
mov word [lab_enemy], ax
|
||
|
||
add word bx, 2 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word ax, [Enemy + ebx]
|
||
mov word [mov_enemy], ax
|
||
|
||
add word bx, 2 ; enemy LIFE
|
||
mov word ax, [Enemy + ebx]
|
||
mov word [life_enemy], ax
|
||
|
||
cmp ax, 499; ; § ¬®à®¦¥ë¥ ¢à £¨
|
||
ja enemy_dalee
|
||
mov ebp,2 ; ª ¤à
|
||
mov eax, dword [X_enemy]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Y_enemy]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
jmp enemy_bmp_end
|
||
|
||
|
||
|
||
enemy_dalee:
|
||
xor eax,eax ;
|
||
mov eax, [X_enemy] ;
|
||
and eax, 15
|
||
cmp ax, 7;
|
||
ja enemy_1
|
||
|
||
jmp enemy_2
|
||
|
||
enemy_1:
|
||
|
||
mov ebp,0 ; ª ¤à
|
||
mov eax, dword [X_enemy]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Y_enemy]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
|
||
jmp enemy_bmp_end
|
||
|
||
enemy_2:
|
||
mov ebp,1 ; ª ¤à
|
||
mov eax, dword [X_enemy]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Y_enemy]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
enemy_bmp_end:
|
||
|
||
end_enemy:
|
||
|
||
mov eax, 0
|
||
mov word ax, [Lab2]
|
||
|
||
cmp ax, 96 ; if eax == 0
|
||
je cycle4_end ; jump to cycle_end:
|
||
|
||
add word [Lab2],12
|
||
|
||
jmp cycle4 ;
|
||
|
||
cycle4_end:
|
||
|
||
ret ; END eNEMYYYYYYYYYYYYYYY ENEMYYYYYYYYYYYYYY !!!
|
||
|
||
;$$$$$$$$$$$$$$$$$$$$$$$$$$
|
||
; ENEMY MOV
|
||
;$$$$$$$$$$$$$$$$$$$$$$$$$$
|
||
enemy_mov:
|
||
mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12
|
||
|
||
cycle5:
|
||
|
||
mov ebx, 0
|
||
mov ecx, 0
|
||
mov edx, 0
|
||
mov esi, 0
|
||
|
||
mov word bx, [Lab2]
|
||
mov word ax,[Enemy+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥
|
||
|
||
cmp ax, 1 ; ®¡ëçë© ¢à £ ®¬¥à 1
|
||
je go_mov_enemy
|
||
|
||
jmp end_mov_enemy
|
||
go_mov_enemy:
|
||
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word ax, [Enemy + bx]
|
||
mov word [X_enemy], ax
|
||
|
||
add word bx, 2 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word ax, [Enemy + ebx]
|
||
mov word [Y_enemy], ax
|
||
|
||
add word bx, 2 ; ¯®«®¦¥¨¥ ¢ ¬ áᨢ¥ ¤ ®£® ¢à £
|
||
mov word ax, [Enemy + ebx]
|
||
mov word [lab_enemy], ax
|
||
|
||
add word bx, 2 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word ax, [Enemy + ebx]
|
||
mov word [mov_enemy], ax
|
||
|
||
add word bx, 2 ; enemy LIFE
|
||
mov word ax, [Enemy + ebx]
|
||
mov word [life_enemy], ax
|
||
|
||
cmp ax, 499; ; § ¬®à®¦¥ë¥ ¢à £¨
|
||
ja dalee_enemy_mov
|
||
add ax, 1
|
||
|
||
mov word [Enemy + ebx], ax
|
||
|
||
jmp end_mov_enemy
|
||
|
||
dalee_enemy_mov:
|
||
; ¡«®ª ¯®¥¤ ¨ï £¥à®ï
|
||
mov ax, [Xpl]
|
||
add ax, 23
|
||
cmp ax, [X_enemy]
|
||
jna ne_em
|
||
sbb ax, 45
|
||
cmp ax, [X_enemy]
|
||
ja ne_em
|
||
mov ax, [Ypl]
|
||
add ax, 23
|
||
cmp ax, [Y_enemy]
|
||
jna ne_em
|
||
sbb ax, 45
|
||
cmp ax, [Y_enemy]
|
||
ja ne_em
|
||
call load_level ; DEAD HIRO
|
||
delay 150
|
||
|
||
ne_em:
|
||
;<3B>«®ª ¯®¯ ¤ ¨ï 1 ¯ã«¨
|
||
|
||
mov word bx, 0
|
||
mov word ax,[Bullet + ebx]
|
||
cmp ax, 0
|
||
je no_bullet
|
||
|
||
add word bx, 2 ; [Xpl]
|
||
mov word cx, [Bullet + ebx]
|
||
|
||
add word bx, 2 ; [Ypl]
|
||
mov word dx, [Bullet + ebx]
|
||
|
||
cmp dx, [Y_enemy]
|
||
jna no_bullet
|
||
sbb dx, 32
|
||
cmp dx, [Y_enemy]
|
||
ja no_bullet
|
||
cmp cx, [X_enemy]
|
||
jna no_bullet
|
||
sbb cx, 32
|
||
cmp cx, [X_enemy]
|
||
ja no_bullet
|
||
mov word bx, [Lab2]
|
||
add word bx, 10 ; enemy LIFE
|
||
mov word [Enemy + ebx],0
|
||
|
||
mov byte [Bullet], 0 ;
|
||
|
||
no_bullet:
|
||
|
||
|
||
;<3B>‹ŽŠ <20><>ˆ<EFBFBD>Ž‘’€ „‚ˆ†…<E280A0>ˆŸ ‚<>€ƒŽ‚
|
||
mov word ax, [mov_enemy] ;
|
||
cmp ax, 1 ; left ;
|
||
jne next_2 ;
|
||
sbb word [X_enemy], 1 ;
|
||
mov word ax, [X_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
;
|
||
next_2: ;
|
||
cmp ax, 2 ; down ;
|
||
jne next_3 ;
|
||
add word [Y_enemy], 1 ;
|
||
mov word ax, [Y_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 4 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
;
|
||
next_3: ;
|
||
cmp ax, 3 ; up ;
|
||
jne next_4 ;
|
||
sbb word [Y_enemy], 1 ;
|
||
mov word ax, [Y_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 4 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
;
|
||
next_4: ;
|
||
cmp ax, 4 ; right ;
|
||
jne next_end
|
||
|
||
;ƒà ¢¨â 樮 ï § ¯« ⪠«¥ç¨â âà ¡« - ª®£¤ ¢à £ ¤¢¨£ ¥âáï á«¥¢ ¯à ¢® â® ¯à®«¥â ¥â ®¤¨ ¯ãá⮩ ¡«®ª
|
||
mov word bx, [X_enemy] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp bx, 0 ;
|
||
jne n4_dalee ;
|
||
mov bx,[lab_enemy]
|
||
add bx,16
|
||
mov ax, [Dangeon + bx]
|
||
and eax,15
|
||
cmp word ax, 0
|
||
je next_end
|
||
cmp word ax, 4
|
||
je next_end
|
||
;ª®¥æ § ¯« ⪨
|
||
|
||
n4_dalee:
|
||
;
|
||
add word [X_enemy], 1 ;
|
||
mov word ax, [X_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
;
|
||
next_end:
|
||
;END <20>‹ŽŠ <20><>ˆ<EFBFBD>Ž‘’€ „‚ˆ†…<E280A0>ˆŸ ‚<>€ƒ
|
||
|
||
;
|
||
|
||
; <20> ¤®¬ë© ¢ë¡®à «¥á¨æ¥
|
||
mov word bx, [X_enemy] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp bx, 0 ;
|
||
jne end_les ;
|
||
mov word bx, [Y_enemy] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp bx, 0 ;
|
||
jne end_les ;
|
||
|
||
random 300, eax
|
||
|
||
cmp eax, 150
|
||
ja les2
|
||
jmp end_up_or_down
|
||
les2:
|
||
|
||
mov eax, [Ypl]
|
||
cmp eax, [Y_enemy]
|
||
jna bolee
|
||
mov word [mov_enemy],2 ; ¢¨§
|
||
mov word ax, [mov_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
jmp end_les
|
||
|
||
bolee:
|
||
mov word [mov_enemy],3 ; up
|
||
mov word ax, [mov_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
jmp end_les
|
||
|
||
end_up_or_down:
|
||
|
||
random 300, eax
|
||
cmp eax, 150
|
||
ja les22
|
||
jmp end_les
|
||
les22:
|
||
|
||
mov eax, [Xpl]
|
||
cmp eax, [X_enemy]
|
||
jna bolee2
|
||
mov word [mov_enemy],4 ; ¢¨§
|
||
mov word ax, [mov_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
jmp end_les
|
||
|
||
bolee2:
|
||
mov word [mov_enemy],1 ; up
|
||
mov word ax, [mov_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
|
||
end_les:
|
||
; end <20> ¤®¬ë© ¢ë¡®à «¥á¨æ¥
|
||
|
||
;ƒà ¢¨â æ¨ï
|
||
mov word bx, [X_enemy] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp bx, 0 ;
|
||
jne end_grava ;
|
||
|
||
mov bx,[lab_enemy]
|
||
add bx,16
|
||
mov ax, [Dangeon + bx]
|
||
|
||
and eax,15
|
||
cmp word ax, 0
|
||
je grava
|
||
cmp word ax, 4
|
||
je grava
|
||
jmp end_grava
|
||
grava:
|
||
mov word [mov_enemy], 2 ; padenie ‚<>€ƒ€
|
||
mov word ax, [mov_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
|
||
end_grava:
|
||
;ª®¥æ £à ¢¨â 樨
|
||
|
||
;¡«®ª à áç¥â ¯®«®¦¥¨ï ¢à £ ¢ « ¡¨à¨â¥
|
||
mov eax, 0 ;
|
||
mov eax, [Y_enemy] ;
|
||
shr eax, 5 ;
|
||
shl eax, 4 ;
|
||
mov ebx, 0 ;
|
||
mov ebx, [X_enemy] ;
|
||
shr ebx, 5 ;
|
||
add eax, ebx ;
|
||
mov [lab_enemy], eax ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 6 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
;¡«®ª à áç¥â ¯®«®¦¥¨ï ¢à £ ¢ « ¡¨à¨â¥
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;<3B>‹ŽŠ ‡<>€<EFBFBD><E282AC>…’€ „‚¨¦¥¨ï
|
||
mov word bx, [Y_enemy] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and bx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp bx, 0 ;
|
||
jne end_zapret ;
|
||
mov word ax, [X_enemy] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and ax, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp ax, 0 ;
|
||
jne end_zapret ;
|
||
|
||
mov word ax, [mov_enemy] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
|
||
cmp ax, 0
|
||
jne duma1
|
||
; <20> ¤®¬ë© ¢ë¡®à ¤¢¨¦¥¨ï
|
||
mov eax, [timer1]
|
||
and eax, 3
|
||
cmp eax, 0
|
||
jne dalee_duma1
|
||
add eax, 4
|
||
dalee_duma1:
|
||
|
||
mov word [mov_enemy], ax ;
|
||
mov word ax, [mov_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
|
||
|
||
|
||
duma1:
|
||
cmp ax, 4
|
||
jne duma2 ; ¯à¢¥àª á¯à ¢
|
||
mov bx,[lab_enemy]
|
||
add bx,1
|
||
mov ax, [Dangeon + bx]
|
||
and eax,3
|
||
cmp ax, 0
|
||
jne duma_stop
|
||
jmp duma_end
|
||
|
||
duma2:
|
||
cmp ax, 1
|
||
jne duma3 ; á«¥¢
|
||
mov bx,[lab_enemy]
|
||
sbb bx,1
|
||
mov ax, [Dangeon + bx]
|
||
and eax,3
|
||
cmp ax, 0
|
||
jne duma_stop
|
||
jmp duma_end
|
||
|
||
duma3:
|
||
cmp ax, 2
|
||
jne duma4 ; ᨧã
|
||
mov bx,[lab_enemy]
|
||
add bx,16
|
||
mov ax, [Dangeon + bx]
|
||
and eax,3
|
||
cmp ax, 0
|
||
jne duma_stop
|
||
jmp duma_end
|
||
|
||
duma4:
|
||
cmp ax, 3
|
||
jne duma_stop ; ᢥàåã
|
||
|
||
mov bx,[lab_enemy] ; ¥á«¨ ª¨à¯¨ç ¤ £®«®¢®©
|
||
sbb bx,16
|
||
mov ax, [Dangeon + bx]
|
||
and eax,3
|
||
cmp ax, 0 ; ¥á«¨ ª¨à¯¨ç ¤ £®«®¢®©
|
||
jne duma_stop
|
||
|
||
mov bx,[lab_enemy] ; ¥á«¨ ¢à £ ¥ «¥á¨æ¥
|
||
mov ax, [Dangeon + bx]
|
||
and eax,15
|
||
cmp ax, 8
|
||
jne duma_stop
|
||
|
||
jmp duma_end
|
||
|
||
duma_stop:
|
||
|
||
mov word [mov_enemy], 0 ; Ž‘’€<E28099>Ž‚Š€ ‚<>€ƒ€
|
||
mov word ax, [mov_enemy] ;
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
|
||
duma_end:
|
||
|
||
end_zapret:
|
||
;ª®¥æ § ¯à¥â
|
||
|
||
end_mov_enemy:
|
||
|
||
mov eax, 0
|
||
mov word ax, [Lab2]
|
||
|
||
cmp ax, 96 ; if eax == 0
|
||
je cycle5_end ; jump to cycle_end:
|
||
|
||
add word [Lab2],12
|
||
|
||
jmp cycle5 ;
|
||
|
||
cycle5_end:
|
||
|
||
|
||
ret
|
||
|
||
;*****************************
|
||
; HIRO
|
||
;*****************************
|
||
|
||
hiro:
|
||
|
||
mov ecx, [v_fire] ;áâ५ì¡
|
||
cmp ecx, 0
|
||
je next_anima
|
||
cmp ecx, 1
|
||
je wprawo
|
||
mov ebp,12 ; ª ¤à
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
mov ecx, [timer1] ;áâ५ì¡
|
||
and ecx, 15
|
||
cmp ecx, 0
|
||
jne end_hiro
|
||
mov dword [v_fire], 0
|
||
jmp end_hiro
|
||
|
||
wprawo:
|
||
mov ebp,11 ; ª ¤à
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
mov ecx, [timer1] ;áâ५ì¡
|
||
and ecx, 15
|
||
cmp ecx, 0
|
||
jne end_hiro
|
||
mov dword [v_fire], 0
|
||
jmp end_hiro
|
||
|
||
;áâ५ì¡
|
||
jmp end_hiro
|
||
|
||
next_anima:
|
||
mov eax, [v_mov]
|
||
cmp eax, 1
|
||
jne next_r
|
||
mov eax,0 ;
|
||
mov eax, [Xpl];
|
||
and eax, 15
|
||
cmp eax, 7 ;
|
||
ja next_l1
|
||
|
||
mov ebp,3 ; ª ¤à
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
jmp end_hiro
|
||
|
||
next_l1:
|
||
mov ebp,5 ; ª ¤à
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
pusha
|
||
mcall 55, eax, , , Music_mov ; §¢ãª ¢ëáâ५
|
||
popa
|
||
|
||
jmp end_hiro
|
||
|
||
next_r:
|
||
cmp eax, 4
|
||
jne next_d
|
||
|
||
mov eax,0 ;
|
||
mov eax, [Xpl];
|
||
and eax, 15
|
||
cmp eax, 7 ;
|
||
ja next_d1
|
||
|
||
mov ebp,4 ; ª ¤à
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
|
||
pusha
|
||
mcall 55, eax, , , Music_mov ; §¢ãª ¢ëáâ५
|
||
popa
|
||
jmp end_hiro
|
||
|
||
next_d1:
|
||
mov ebp,6 ; ª ¤à
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
|
||
jmp end_hiro
|
||
|
||
next_d:
|
||
cmp eax, 2
|
||
jne next_u
|
||
mov ebp,13 ; ª ¤à
|
||
mov eax, [temp2]
|
||
cmp eax, 8
|
||
jne padaem
|
||
mov ebp,10 ; ª ¤à
|
||
padaem:
|
||
mov eax, [temp5]
|
||
cmp eax, 8
|
||
jne padaem2
|
||
mov ebp,10 ; ª ¤à
|
||
padaem2:
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
jmp end_hiro
|
||
|
||
next_u:
|
||
cmp eax, 3
|
||
jne next_s
|
||
mov eax,0 ;
|
||
mov eax, [Ypl];
|
||
and eax, 15
|
||
cmp eax, 7 ;
|
||
ja next_u1
|
||
|
||
mov ebp,10 ; ª ¤à
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
jmp end_hiro
|
||
|
||
next_u1:
|
||
mov ebp,9 ; ª ¤à
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
|
||
jmp end_hiro
|
||
|
||
next_s:
|
||
cmp eax, 0
|
||
jne next_s
|
||
mov ebp,17; ª ¤à
|
||
mov eax, dword [Xpl]
|
||
mov dword [X_anime], eax
|
||
mov eax, dword [Ypl]
|
||
mov dword [Y_anime], eax
|
||
call animashka
|
||
jmp end_hiro
|
||
|
||
end_hiro:
|
||
|
||
ret ; END Hiro
|
||
;**************
|
||
; end HIRO
|
||
;**************
|
||
|
||
|
||
;****************
|
||
; Hiro MOV
|
||
;****************
|
||
hiro_mov:
|
||
|
||
;<3B><>…ƒ<E280A6>€„
|
||
|
||
; ¢ëç¨á«¥¨¥ á®á¥¤¨å ¡«®ª®¢
|
||
mov ebx, [hiro_lab]
|
||
sbb ebx,2
|
||
mov eax,[Dangeon + bx] ; up
|
||
mov [temp1], ah ; temp4
|
||
;
|
||
add ebx,1 ; left hiro right
|
||
mov eax,[Dangeon + bx] ; temp1 temp2 temp3
|
||
mov [temp2], ah ;
|
||
|
||
;-------------------------------------------------------------------------------
|
||
; ‘¡®à «¬ §®¢
|
||
;-------------------------------------------------------------------------------
|
||
mov ecx, [Ypl] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and ecx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
|
||
mov edx, [Xpl] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and edx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
or edx,ecx ; Œë ç¥âª® ᯮ§¨æ¨®¨à®¢ ë ¯® • ¨ “
|
||
cmp edx, 0
|
||
jne no_almaz
|
||
|
||
cmp ah, 12
|
||
jne no_almaz
|
||
xor cx, cx
|
||
add ebx,1 ; ‡€<E280A1>‹€’Š€ !!! ¡¥§ ¥¥ ¯®ç¥¬ãâ® ®¡ã«ï¥â ¥ «¬ §ë á®á¥¤¨¥ ¡«®ª¨
|
||
mov [Dangeon + bx], ch
|
||
sbb ebx, 1 ; ‡€<E280A1>‹€’Š€ !!!
|
||
mov ecx, [gold]
|
||
add ecx, 1
|
||
mov [gold], ecx
|
||
pusha
|
||
mcall 55, eax, , , Music_almaz ; §¢ãª Almaz
|
||
popa
|
||
no_almaz:
|
||
;-------------------------------------------------------------------------------
|
||
; ‘¡®à «¬ §®¢
|
||
;-------------------------------------------------------------------------------
|
||
; down
|
||
add ebx,1 ; temp5
|
||
mov eax,[Dangeon + bx] ;
|
||
mov [temp3], ah
|
||
|
||
sbb ebx,17 ; !!!!!!!!!!!!
|
||
mov eax,[Dangeon + bx] ; ¯à¨ ®âáãâá⢨¨ ¡¨¡«¨®â¥ª¨ MACROS.INC ebx=17 , ¯à¨ ¥¥ ¯à¨áãâá⢨¨ ebx=16
|
||
mov [temp4], ah
|
||
|
||
add ebx,32 ;
|
||
mov eax,[Dangeon + bx] ;
|
||
mov [temp5], ah
|
||
; ¢ëç¨á«¥¨¥ á®á¥¤¨å ¡«®ª®¢
|
||
|
||
|
||
|
||
|
||
|
||
;à §à¥è¥¨¥ ¤¢¨¦¥¨¥
|
||
mov eax,0 ;
|
||
mov eax,[v_mov2] ;
|
||
and eax,7
|
||
and eax,2
|
||
cmp eax, 2
|
||
je smena
|
||
|
||
mov ebx, [Ypl] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp ebx, 0 ;
|
||
jne end_tamgna ;
|
||
smena:
|
||
|
||
mov eax,0 ;
|
||
mov eax,[v_mov2] ;
|
||
and eax,7
|
||
and eax,2
|
||
cmp eax, 0
|
||
je smena2
|
||
|
||
mov ebx, [Xpl] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp ebx, 0 ;
|
||
jne end_tamgna ;
|
||
|
||
smena2:
|
||
mov eax, [v_mov2]
|
||
and eax, 7
|
||
mov [v_mov], eax
|
||
end_tamgna:
|
||
;à §à¥è¥¨¥ ¤¢¨¦¥¨¥
|
||
|
||
|
||
;“<>ˆ<EFBFBD>€<EFBFBD>ˆ… ‚ <20><>…ƒ<E280A6>€„“
|
||
mov ebx, [Ypl] ;
|
||
and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp ebx, 0 ;
|
||
jne end_stop ;
|
||
mov eax, [Xpl] ; ¡¥§ ¬ ªà®á í⮣® ¡«®ª ¥ ¡ë«® ® ¡ë« ¢ãâਠ¡«®ª ã¯¨à ¨©
|
||
and eax, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
cmp eax, 0 ;
|
||
jne end_stop ;
|
||
mov eax, [v_mov]
|
||
|
||
cmp eax, 2
|
||
je stop_d
|
||
jmp stop_u
|
||
|
||
stop_d:
|
||
mov ebx, [temp5]
|
||
;§ ¯« ⪠2 à ¢® 1 ¥á«¨ ¡¥â® â® íâ® ª ª ª¨à¯¨ç, ¨ ç¥ £¥à®© ¯à®å®¤¨â ᪢®§ì ¡¥â®
|
||
|
||
cmp ebx, 2
|
||
jne no_zaplat1
|
||
|
||
sbb ebx,1
|
||
|
||
no_zaplat1:
|
||
|
||
and ebx,3
|
||
or eax, ebx
|
||
|
||
cmp eax, 2
|
||
je end_stop
|
||
mov ebx, 0
|
||
mov [v_mov], ebx
|
||
|
||
stop_u:
|
||
cmp eax, 3
|
||
jne stop_l
|
||
|
||
mov ebx, [temp4]
|
||
and ebx,3
|
||
and eax, ebx
|
||
|
||
; mov ebx, [Ypl] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
; and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
; cmp ebx, 0 ;
|
||
; jne end_stop ;
|
||
|
||
|
||
cmp eax, 0
|
||
je end_stop
|
||
mov ebx, 0
|
||
mov [v_mov], ebx
|
||
|
||
stop_l:
|
||
cmp eax, 1
|
||
jne stop_r
|
||
|
||
mov ebx, [temp1]
|
||
and ebx,3
|
||
|
||
; mov eax, [Xpl] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
; and eax, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
; cmp eax, 0 ;
|
||
; jne end_stop ;
|
||
|
||
cmp ebx, 0
|
||
je end_stop
|
||
mov ebx, 0
|
||
mov [v_mov], ebx
|
||
|
||
stop_r:
|
||
cmp eax, 4
|
||
jne end_stop
|
||
|
||
mov ebx, [temp3]
|
||
and ebx,3
|
||
|
||
cmp ebx, 0
|
||
je end_stop
|
||
mov ebx, 0
|
||
mov [v_mov], ebx
|
||
|
||
end_stop:
|
||
;<3B><>…ƒ<E280A6>€„›
|
||
|
||
|
||
;GRAVITACION
|
||
mov ebx, [Ypl] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
|
||
mov eax, [Xpl] ; <20>â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
and eax, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª
|
||
or eax,ebx ; Œë ç¥âª® ᯮ§¨æ¨®¨à®¢ ë ¯® • ¨ “
|
||
cmp eax, 0
|
||
jne end_grav
|
||
|
||
mov ebx, [temp2] ;
|
||
cmp ebx, 0 ; § ¯à¥â ¯à릪¨ ¢¢¥àå
|
||
jne end_grav ;
|
||
mov ebx, [v_mov] ;
|
||
cmp ebx, 3 ;
|
||
jne dalee_gra ;
|
||
mov ebx, 0 ;
|
||
mov [v_mov],ebx ;
|
||
mov ebx, 0 ;
|
||
mov [v_mov2],ebx ;
|
||
|
||
dalee_gra:
|
||
add eax, [temp5] ;
|
||
cmp eax, 0 ; ¯ ¤¥¨¥ ¢ ¯ãáâ®âã
|
||
jne dalee_g ;
|
||
mov eax, 2 ;
|
||
mov [v_mov],eax ;
|
||
mov eax, 0 ;
|
||
mov [v_mov2],eax ;
|
||
|
||
dalee_g:
|
||
cmp eax, 4 ;
|
||
jne dalee_g2 ; ¯ ¤¥¨¥ ¢ ¢®¤ã
|
||
mov eax, 2 ;
|
||
mov [v_mov],eax ;
|
||
mov eax, 0 ;
|
||
mov [v_mov2],eax ;
|
||
|
||
dalee_g2:
|
||
cmp eax, 12 ;
|
||
jne end_grav ; ¯ ¤¥¨¥ «¬ §
|
||
mov eax, 2 ;
|
||
mov [v_mov],eax ;
|
||
mov eax, 0 ;
|
||
mov [v_mov2],eax ;
|
||
|
||
end_grav:
|
||
;end GRAVITACION
|
||
|
||
|
||
|
||
|
||
; <20><>ˆ<EFBFBD>Ž‘’ ŠŽŽ<C5BD>„ˆ<E2809E>€’ ƒ…<C692>ŽŸ
|
||
mov eax,0 ;
|
||
mov eax,[v_mov] ;
|
||
cmp eax, 2 ;
|
||
je h_down ;
|
||
jmp proverka2 ;
|
||
jmp hiro_mov_end ;
|
||
h_down: ;
|
||
mov ebx, [Ypl] ;
|
||
add ebx, 2 ; 3
|
||
mov [Ypl], ebx ; 1 4
|
||
jmp hiro_mov_end ;
|
||
;
|
||
proverka2: ;
|
||
cmp eax, 3 ; ;
|
||
je h_up ; PRIROST X Y
|
||
jmp proverka3 ;
|
||
jmp hiro_mov_end ;
|
||
h_up: ;
|
||
mov ebx, [Ypl] ;
|
||
sbb ebx, 2 ;
|
||
mov [Ypl], ebx ;
|
||
jmp hiro_mov_end ;
|
||
;
|
||
proverka3: ;
|
||
cmp eax, 1 ; ;
|
||
je h_left ;
|
||
jmp proverka4 ;
|
||
jmp hiro_mov_end ;
|
||
h_left: ;
|
||
mov ebx, [Xpl] ;
|
||
sbb ebx, 2 ;
|
||
mov [Xpl], ebx ;
|
||
jmp hiro_mov_end ;
|
||
;
|
||
proverka4: ;
|
||
cmp eax, 4 ;
|
||
je h_right ;
|
||
jmp hiro_mov_end ;
|
||
jmp hiro_mov_end ;
|
||
h_right: ;
|
||
mov ebx, [Xpl] ;
|
||
add ebx, 2 ;
|
||
mov [Xpl], ebx ;
|
||
jmp hiro_mov_end ;¯à¨à®áâ
|
||
; <20><>ˆ<EFBFBD>Ž‘’ ŠŽŽ<C5BD>„ˆ<E2809E>€’ ƒ…<C692>ŽŸ
|
||
|
||
hiro_mov_end:
|
||
|
||
; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ £¥à®ï ¢ « ¡¨à¨â¥
|
||
mov eax, 0 ;
|
||
mov dword eax, [Ypl] ;
|
||
shr eax, 5 ;
|
||
shl eax, 4 ;
|
||
mov ebx, 0 ;
|
||
mov dword ebx, [Xpl] ;
|
||
shr ebx, 5 ;
|
||
add eax, ebx ;
|
||
mov [hiro_lab], eax ;
|
||
; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ £¥à®ï ¢ « ¡¨à¨â¥
|
||
ret
|
||
;****************
|
||
; end Hiro mov
|
||
;****************
|
||
|
||
|
||
;*******************************************
|
||
; BULLET
|
||
;*******************************************
|
||
bullet_mas:
|
||
mov word [Lab3], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12
|
||
cycle7:
|
||
mov word bx, [Lab3]
|
||
mov word ax, [Bullet+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥
|
||
|
||
cmp ax, 1 ; bullet ok
|
||
je go_bullet
|
||
|
||
jmp end_bullet
|
||
go_bullet:
|
||
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word ax, [Bullet + bx]
|
||
mov word [X_bul], ax
|
||
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word ax, [Bullet + bx]
|
||
mov word [Y_bul], ax
|
||
|
||
imgtoimg img_bullet, dword [X_bul], dword [Y_bul],canvas
|
||
end_bullet:
|
||
|
||
mov eax, 0
|
||
mov word ax, [Lab3]
|
||
|
||
cmp ax, 36 ; if eax == 0
|
||
je cycle7_end ; jump to cycle_end:
|
||
|
||
add word [Lab3],12
|
||
|
||
jmp cycle7 ;
|
||
|
||
cycle7_end:
|
||
ret ; end BULLET
|
||
;-------------------------------------------------------------------------------
|
||
|
||
|
||
;*******************************************
|
||
; BULLET MOV
|
||
;*******************************************
|
||
bullet_mov:
|
||
mov word [Lab3], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12
|
||
|
||
cycle8:
|
||
mov word bx, [Lab3]
|
||
mov word ax, [Bullet+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥
|
||
|
||
cmp ax, 1 ; bullet ok
|
||
je go_bullet_mov
|
||
|
||
jmp end_bullet_mov
|
||
go_bullet_mov:
|
||
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word ax, [Bullet + bx]
|
||
mov word [X_bul], ax
|
||
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word ax, [Bullet + bx]
|
||
mov word [Y_bul], ax
|
||
|
||
add word bx, 2 ;
|
||
mov word ax, [Bullet + bx]
|
||
mov word [mov_bullet], ax
|
||
|
||
cmp ax, 1
|
||
jne bul_muv_left
|
||
mov word ax, [X_bul]
|
||
sbb ax, 2
|
||
mov word bx, [Lab3]
|
||
add word bx, 2
|
||
mov word [Bullet + bx], ax
|
||
|
||
jmp end_bullet_mov
|
||
bul_muv_left:
|
||
mov word ax, [X_bul]
|
||
add ax, 2
|
||
mov word bx, [Lab3]
|
||
add word bx, 2
|
||
mov word [Bullet + bx], ax
|
||
|
||
end_bullet_mov:
|
||
|
||
; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ BULLET ¢ « ¡¨à¨â¥
|
||
mov eax, 0 ;
|
||
mov eax, [Y_bul] ;
|
||
shr eax, 5 ;
|
||
shl eax, 4 ;
|
||
mov ebx, 0 ;
|
||
mov ebx, [X_bul] ;
|
||
shr ebx, 5 ;
|
||
add eax, ebx ;
|
||
mov [lab_bullet], ax ;
|
||
; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ BULLET ¢ « ¡¨à¨â¥
|
||
|
||
mov word bx,[lab_bullet]
|
||
mov dx, [Dangeon + bx]
|
||
and edx,3
|
||
cmp dx, 0
|
||
je letit_dalee
|
||
|
||
cmp dx, 2
|
||
je beton
|
||
mov byte [Dangeon + bx], 3 ; <20>€‡<E282AC>“˜…<CB9C>ˆ… Šˆ<C5A0><CB86>ˆ—…‰
|
||
beton:
|
||
mov bx, [Lab3]
|
||
mov byte [Bullet + ebx], 0 ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥
|
||
|
||
|
||
|
||
|
||
|
||
letit_dalee:
|
||
mov eax, 0
|
||
mov word ax, [Lab3]
|
||
|
||
cmp ax, 36 ; if eax == 0
|
||
je cycle8_end ; jump to cycle_end:
|
||
|
||
add word [Lab3],12
|
||
|
||
jmp cycle8 ;
|
||
|
||
cycle8_end:
|
||
|
||
|
||
ret ; end BULLET
|
||
;-------------------------------------------------------------------------------
|
||
|
||
;-------------------------------------------------------------------------------
|
||
; TABLO TABLO TABLO TABLO TABLO TABLO
|
||
;*****************************************
|
||
tablo:
|
||
; WIWOD CIFR
|
||
;; mov eax, 13
|
||
; mov ebx, 140*65536 + 18
|
||
; mov ecx, 10*65536 + 8
|
||
; mov edx, 0x00ffffff
|
||
; int 0x40
|
||
; outcount [numer_level],140,10,0x224466,3*65536
|
||
|
||
; WIWOD CIFR
|
||
; mov eax, 13
|
||
; mov ebx, 160*65536 + 18
|
||
; mov ecx, 10*65536 + 8
|
||
; mov edx, 0x00ffffff
|
||
; int 0x40
|
||
; outcount [delta_level],160,10,0x224466,3*65536
|
||
|
||
; WIWOD CIFR
|
||
; mov eax, 13
|
||
; mov ebx, 180*65536 + 18
|
||
; mov ecx, 10*65536 + 8
|
||
; mov edx, 0x00ffffff
|
||
; int 0x40
|
||
; outcount [delta_level_end],180,10,0x224466,3*65536
|
||
|
||
ret
|
||
;-------------------------------------------------------------------------------
|
||
fire:
|
||
sbb ah, 121
|
||
mov [v_fire], ah
|
||
|
||
mov word bx, 0
|
||
mov cx, [Bullet + ebx]
|
||
cmp cx, 0
|
||
jne end_fire
|
||
pusha
|
||
mcall 55, eax, , , Music_bah ; §¢ãª ¢ëáâ५
|
||
popa
|
||
|
||
mov byte [Bullet + ebx], 1
|
||
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov ax, [Xpl]
|
||
add ax, 8
|
||
mov word [Bullet + ebx],ax
|
||
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov ax, [Ypl]
|
||
add ax, 16
|
||
mov word [Bullet + ebx],ax
|
||
|
||
add word bx, 2 ;
|
||
mov ax,[v_fire]
|
||
mov word [Bullet + ebx],ax
|
||
|
||
end_fire:
|
||
ret
|
||
;-------------------------------------------------------------------------------
|
||
|
||
|
||
;------------------------‡ £à㧪 ã஢¥©---------------------------------------
|
||
load_level:
|
||
imgtoimg img_level,32,32,canvas
|
||
setimg 6,20,canvas
|
||
|
||
xor eax,eax
|
||
xor ebx,ebx
|
||
xor edx,edx
|
||
xor ecx,ecx
|
||
mov dword [Bullet], eax
|
||
mov dword [Bullet+2], eax
|
||
mov dword [Bullet+4], eax
|
||
mov dword [Bullet+6], eax
|
||
mov dword [Bullet+8], eax
|
||
mov dword [Bullet+10], eax
|
||
mov byte [Lab], 1
|
||
mov [lab_bullet], eax
|
||
mov [mov_bullet], eax
|
||
mov [X_bul], eax
|
||
mov [Y_bul], eax
|
||
mov [gold], eax
|
||
mov dword [Xpl], 32
|
||
mov dword [Ypl], 448
|
||
mov dword [hiro_lab],0 ; ¯à®¥ªæ¨ï £¥à®ï ¢ « ¡¨à¨â
|
||
mov dword [v_mov], 0
|
||
mov dword [v_mov2], 0
|
||
mov dword [v_fire], 0
|
||
|
||
xor eax,eax
|
||
mov eax, [numer_level]
|
||
shl eax, 8
|
||
mov dword [delta_level], eax
|
||
add eax, 256
|
||
mov dword [delta_level_end], eax
|
||
|
||
cycleL:
|
||
|
||
xor ebx, ebx
|
||
mov ebx, [Lab]
|
||
add ebx, [delta_level]
|
||
mov ax,[Dangeon2 + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥
|
||
|
||
sbb ebx, [delta_level]
|
||
mov [Dangeon + ebx], ax ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥
|
||
add word [Lab],1
|
||
mov eax, [Lab]
|
||
|
||
|
||
cmp eax, [delta_level_end] ; if eax == 0
|
||
je cycleL_end ; jump to cycle_end:
|
||
jmp cycleL ;
|
||
cycleL_end:
|
||
|
||
mov eax, 0
|
||
mov [Lab],eax
|
||
|
||
call enemy_plaz
|
||
|
||
ret
|
||
;-------------------------------------------------------------------------------
|
||
|
||
;************************************
|
||
;GOLD
|
||
proverka_gold:
|
||
mov eax, [gold]
|
||
cmp ax, 10
|
||
jna net_deneg
|
||
mov eax, [temp2] ; ¤®¡¥¦ âì ¤® ¤¢¥à¨
|
||
cmp ax, 16
|
||
jne net_deneg
|
||
mov ax, [numer_level] ; 㢥«¨ç¥¨¥ «¥¢¥«
|
||
|
||
add ax, 1
|
||
mov [numer_level], ax
|
||
mov [demon_kolvo], ax ;
|
||
|
||
call load_level
|
||
delay 100
|
||
|
||
net_deneg:
|
||
ret
|
||
|
||
;-------------------------------------------------------------------------------
|
||
; “’Ž<E28099>
|
||
potop:
|
||
mov eax, [temp2] ; ¤®¡¥¦ âì ¤® ¤¢¥à¨
|
||
cmp ax, 4
|
||
jne jiwoy
|
||
mov dword [gold], 0 ; 㢥«¨ç¥¨¥ «¥¢¥«
|
||
|
||
call load_level
|
||
delay 100
|
||
jiwoy:
|
||
ret
|
||
|
||
;************************************
|
||
;¯®«®¦¥¨¥ ¢à £®¢ ®¢®¬ ã஢¥
|
||
enemy_plaz:
|
||
mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12
|
||
mov ax, [demon_kolvo]
|
||
mov [demon], ax
|
||
|
||
cycle55:
|
||
mov ebx, 0
|
||
mov ecx, 0
|
||
mov edx, 0
|
||
mov esi, 0
|
||
|
||
mov cx, [demon]
|
||
cmp cx, 0
|
||
je end_demon
|
||
mov word bx, [Lab2] ;
|
||
mov word [Enemy + bx], 1 ;
|
||
sbb cx, 1
|
||
mov [demon], cx
|
||
end_demon:
|
||
|
||
random 14, eax
|
||
add eax, 1
|
||
shl eax,5
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
;
|
||
random 12, eax
|
||
add eax, 1
|
||
shl eax,5
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 4 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £
|
||
mov word [Enemy + bx], ax ;
|
||
|
||
mov word bx, [Lab2] ;
|
||
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï
|
||
mov word [Enemy + bx], 0 ;
|
||
add word bx, 2 ; ¦¨§ì
|
||
mov word [Enemy + bx], 500 ;
|
||
|
||
|
||
mov eax, 0
|
||
mov word ax, [Lab2]
|
||
|
||
cmp ax, 96 ; if eax == 0
|
||
je cycle55_end ; jump to cycle_end:
|
||
|
||
add word [Lab2],12
|
||
|
||
jmp cycle55 ;
|
||
|
||
cycle55_end:
|
||
|
||
ret
|
||
|
||
|
||
I_END: ; ª®¥æ ¯à®£à ¬¬ë
|
||
|
||
|
||
|
||
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
Xpl: dd 32 ; ª®®à¤¨ âë £¥à®ï
|
||
Ypl: dd 448
|
||
hiro_lab: dd 0 ; ¯à®¥ªæ¨ï £¥à®ï ¢ « ¡¨à¨â
|
||
numer_level: dd 0
|
||
delta_level: dd 0
|
||
delta_level_end: dd 256
|
||
demon: dd 0
|
||
demon_kolvo: dd 1
|
||
|
||
gold: dd 0
|
||
|
||
X_enemy: dd 0
|
||
Y_enemy: dd 0
|
||
|
||
|
||
X_bul: dd 0
|
||
Y_bul: dd 0
|
||
|
||
X_anime: dd 0
|
||
Y_anime: dd 0
|
||
|
||
mov_bullet: dw 0
|
||
lab_bullet: dw 0
|
||
mov_enemy: dw 0
|
||
lab_enemy: dw 0
|
||
life_enemy: dw 0
|
||
|
||
anime : dd 0 ; ¯¥à¥¬¥ ï ¤«ï ¨¬ 樨 £¥à®ï ¨ ¯à
|
||
anime2 : dd 0 ; ¯¥à¥¬¥ ï ¤«ï ¨¬ 樨 £¥à®ï ¨ ¯à
|
||
|
||
temp1: dd 0
|
||
temp2: dd 0
|
||
temp3: dd 0
|
||
temp4: dd 0
|
||
temp5: dd 0
|
||
|
||
|
||
v_mov: dd 0 ; ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦
|
||
v_mov2: dd 0 ; ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦
|
||
v_fire: dd 0 ; ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦
|
||
Lab: dd 0
|
||
Lab2: dw 0
|
||
Lab3: dw 0
|
||
perem1: dd 0
|
||
perem2: dd 0
|
||
|
||
timer1 dd 0 ; â ©¬¥à ¨á¯®«ì§ã¥¬ë© ¤«ï ¨¬ 樨 ¢®¤ë, ¢à £®¢ --- ¡¥£ ¥â ®â 0 ¤® 10
|
||
|
||
;-------------------------------------------------------------------------------
|
||
;1 ®¡ëç ï á⥠, 2 ¥¯à®¡¨¢ ¥¬ ï, 4 ¢®¤ , 8 «¥á¨æ , 12 «¬ §, 0 ¯ãáâ®â 16 - exit
|
||
;-------------------------------------------------------------------------------
|
||
Dangeon:
|
||
db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2
|
||
db 2,1,1,1,1,1,1,0,12,0,0,0,0,0,0,2
|
||
db 2,0,12,12,0,0,0,8,1,8,1,1,1,0,0,2
|
||
db 2,8,1,1,1,1,1,8,1,8,0,0,0,0,0,2
|
||
db 2,8,0,0,0,0,0,8,1,8,2,4,4,2,0,2
|
||
db 2,8,2,4,4,4,2,8,1,8,2,2,2,2,0,2
|
||
db 2,0,2,2,2,2,2,8,1,8,0,0,0,0,0,2
|
||
db 2,0,1,0,0,0,0,8,1,1,1,1,1,1,8,2
|
||
db 2,0,1,1,8,1,1,1,0,0,0,0,0,0,8,2
|
||
db 2,12,1,1,8,0,12,0,1,8,1,1,8,1,1,2
|
||
db 2,0,0,0,8,8,1,8,0,8,0,0,0,0,0,2
|
||
db 2,12,1,8,1,8,1,1,8,1,1,1,1,1,1,2
|
||
db 2,0,1,8,12,12,0,0,0,0,0,0,0,0,0,2
|
||
db 2,0,1,1,1,1,1,8,1,1,1,0,0,0,0,2
|
||
db 2,0,0,0,12,0,0,8,0,0,0,16,0,12,12,2
|
||
db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2
|
||
|
||
Dangeon2:
|
||
db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2
|
||
db 2,1,1,0,1,1,1,0,12,0,0,0,0,0,0,2
|
||
db 2,0,12,12,0,0,0,8,1,8,1,1,1,0,0,2
|
||
db 2,8,1,1,1,1,1,8,1,8,0,0,0,0,0,2
|
||
db 2,8,0,0,0,0,0,8,1,8,2,4,4,2,0,2 ;0
|
||
db 2,8,2,4,4,4,2,8,1,8,2,2,2,2,0,2
|
||
db 2,0,2,2,2,2,2,8,1,8,0,0,0,0,0,2
|
||
db 2,0,1,0,0,0,0,8,1,1,1,1,1,1,8,2
|
||
db 2,0,1,1,8,1,1,1,0,0,0,0,0,0,8,2
|
||
db 2,12,1,1,8,0,12,0,1,8,1,1,8,1,1,2
|
||
db 2,0,0,0,8,8,1,8,0,8,0,0,0,0,0,2
|
||
db 2,12,1,8,1,8,1,1,8,1,1,1,1,1,1,2
|
||
db 2,0,1,8,12,12,0,0,0,0,0,0,0,0,0,2
|
||
db 2,0,1,1,1,1,1,8,1,1,1,0,0,0,0,2
|
||
db 2,0,0,0,12,0,0,8,0,0,0,16,0,12,12,2
|
||
db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
db 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2
|
||
db 2,0,0,0,0,0,0,0,0,0,0,16,0,0,0,2
|
||
db 2,12,1,8,1,0,0,0,0,0,0,1,8,0,0,2
|
||
db 2,0,1,8,1,0,0,0,0,0,0,1,0,8,0,2 ;1
|
||
db 2,12,1,8,1,1,0,0,0,0,1,1,0,8,0,2
|
||
db 2,0,1,8,1,0,12,12,12,12,0,1,8,8,0,2
|
||
db 2,12,1,8,1,0,1,1,1,1,0,1,8,0,0,2
|
||
db 2,0,1,8,0,0,0,0,0,0,0,0,8,0,0,2
|
||
db 2,0,1,1,1,1,8,1,8,1,1,1,1,1,8,2
|
||
db 2,0,0,0,12,0,8,0,8,0,0,0,12,0,8,2
|
||
db 2,0,1,1,1,1,1,0,1,8,1,1,8,1,1,2
|
||
db 2,0,0,0,0,0,0,0,0,8,1,0,8,0,0,2
|
||
db 2,0,1,1,1,1,1,8,1,1,1,1,1,1,8,2
|
||
db 2,0,0,12,0,0,0,8,0,0,12,0,0,0,8,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
||
db 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2
|
||
db 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2
|
||
db 2,0,0,0,0,0,0,0,0,12,0,12,0,0,0,2
|
||
db 2,0,0,0,0,0,0,8,1,1,1,1,1,1,0,2 ;2
|
||
db 2,0,8,0,12,12,0,8,0,0,0,0,0,2,4,2
|
||
db 2,0,8,1,1,1,1,0,0,0,0,0,0,2,2,2
|
||
db 2,0,8,0,0,0,0,12,1,1,1,1,0,0,0,2
|
||
db 2,0,8,1,0,1,0,12,0,0,0,0,0,0,0,2
|
||
db 2,0,8,0,1,1,12,12,0,0,0,8,1,1,1,2
|
||
db 2,0,8,0,12,0,0,12,0,0,0,8,0,12,0,2
|
||
db 2,0,8,0,0,0,8,1,8,0,0,1,8,1,8,2
|
||
db 2,0,8,0,0,8,1,1,1,8,0,0,8,0,8,2
|
||
db 2,0,1,1,1,1,1,1,1,1,1,1,1,1,8,2
|
||
db 2,0,0,0,0,0,0,0,16,0,0,0,0,0,8,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
||
db 2,0,0,0,0,12,0,0,0,0,0,0,16,0,0,2
|
||
db 2,0,8,1,1,1,1,1,1,1,1,1,1,1,0,2
|
||
db 2,0,8,0,0,0,0,0,12,0,0,0,0,0,0,2
|
||
db 2,0,8,0,0,0,0,1,8,1,0,0,0,0,0,2
|
||
db 2,0,8,0,0,0,1,1,8,1,1,0,0,0,0,2
|
||
db 2,0,8,0,12,1,1,1,8,1,1,1,12,0,0,2
|
||
db 2,0,8,0,1,1,12,1,8,1,12,1,1,0,0,2
|
||
db 2,0,0,1,1,1,1,1,8,1,1,1,1,0,0,2 ;3
|
||
db 2,0,1,0,0,0,0,0,8,1,0,0,0,1,0,2
|
||
db 2,0,1,0,1,1,1,1,8,1,1,1,0,1,0,2
|
||
db 2,0,1,1,12,1,12,1,8,1,1,1,0,1,0,2
|
||
db 2,0,1,1,1,1,1,1,8,1,1,1,0,1,0,2
|
||
db 2,0,1,1,12,1,12,1,8,1,1,1,12,1,0,2
|
||
db 2,0,0,0,0,0,0,0,8,0,0,0,0,0,0,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
||
db 2,0,12,0,0,0,0,0,0,0,0,0,16,0,0,2
|
||
db 2,0,1,8,1,1,1,1,1,1,8,1,1,1,8,2
|
||
db 2,0,0,8,0,0,0,0,0,0,8,0,0,0,8,2
|
||
db 2,0,1,1,1,1,1,8,1,1,1,1,1,1,0,2
|
||
db 2,0,0,12,0,0,12,8,0,0,12,0,0,0,0,2
|
||
db 2,12,1,1,1,8,1,1,1,1,8,1,1,1,8,2
|
||
db 2,0,0,0,0,8,0,0,0,0,8,0,0,0,8,2
|
||
db 2,8,1,1,1,1,1,1,8,1,1,1,1,1,0,2 ;4
|
||
db 2,8,0,0,0,12,0,0,8,0,0,12,0,0,0,2
|
||
db 2,0,1,8,1,1,1,1,1,1,1,1,8,1,0,2
|
||
db 2,0,0,8,12,0,0,0,0,12,0,0,8,0,0,2
|
||
db 2,8,1,1,1,1,1,1,8,1,1,1,1,1,8,2
|
||
db 2,8,12,0,0,0,0,0,0,0,0,0,0,12,8,2
|
||
db 2,8,2,4,4,4,4,4,4,4,4,4,4,2,8,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
||
db 2,8,1,8,12,8,1,8,1,8,1,8,1,8,1,2
|
||
db 2,8,2,8,1,8,1,8,1,8,1,8,12,8,12,2
|
||
db 2,8,1,8,1,8,2,8,12,8,1,8,1,8,1,2
|
||
db 2,8,12,8,0,8,0,8,0,8,0,8,0,8,0,2
|
||
db 2,1,8,1,1,1,1,1,8,1,1,1,1,1,8,2
|
||
db 2,0,8,0,0,0,0,0,8,0,0,12,0,0,8,2
|
||
db 2,0,8,12,0,2,12,0,8,1,1,1,1,1,8,2
|
||
db 2,0,1,1,8,1,1,1,8,0,0,0,0,0,8,2 ;5
|
||
db 2,0,1,0,8,0,0,0,8,0,0,12,0,0,8,2
|
||
db 2,0,1,0,8,0,0,0,8,1,1,1,1,1,8,2
|
||
db 2,0,1,12,8,0,0,2,8,0,0,0,0,0,8,2
|
||
db 2,8,1,1,1,1,8,1,1,1,1,8,1,1,1,2
|
||
db 2,8,0,0,0,0,8,2,0,0,2,8,0,0,0,2
|
||
db 2,0,8,0,12,8,8,2,4,4,2,8,0,0,16,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
||
db 2,0,8,0,8,0,8,0,8,0,0,8,0,8,16,2
|
||
db 2,1,8,1,8,1,8,1,8,1,1,8,1,8,1,2
|
||
db 2,0,8,0,8,0,8,0,8,8,0,8,0,8,0,2
|
||
db 2,1,1,8,1,1,1,1,1,8,1,1,8,1,1,2
|
||
db 2,0,0,8,8,0,12,8,0,8,8,12,8,8,0,2
|
||
db 2,1,1,1,8,1,1,8,1,1,8,1,1,8,1,2
|
||
db 2,0,8,0,8,0,12,8,0,0,8,0,12,8,0,2 ;6
|
||
db 2,1,8,1,1,1,1,1,8,1,1,1,1,1,1,2
|
||
db 2,0,8,0,12,8,0,0,8,12,0,8,0,0,0,2
|
||
db 2,1,8,1,1,8,1,1,8,1,1,8,1,1,1,2
|
||
db 2,0,0,8,0,8,8,0,8,8,0,8,8,0,0,2
|
||
db 2,1,1,8,1,1,8,1,1,8,1,1,8,1,1,2
|
||
db 2,0,0,8,12,0,8,0,12,8,0,12,8,12,12,2
|
||
db 2,8,8,1,1,1,1,1,1,1,1,1,1,1,1,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
||
db 2,0,12,0,12,0,12,12,0,12,0,12,0,0,0,2
|
||
db 2,1,1,1,8,1,1,1,1,1,1,8,1,1,1,2
|
||
db 2,0,0,0,8,0,0,12,0,0,0,8,0,0,0,2
|
||
db 2,1,1,1,1,1,1,1,8,1,1,1,1,1,1,2
|
||
db 2,0,0,0,12,0,0,0,8,12,0,0,0,0,0,2
|
||
db 2,1,1,1,8,1,1,1,1,1,1,8,1,1,1,2
|
||
db 2,0,0,0,8,0,0,0,0,0,0,8,0,0,0,2 ; 7
|
||
db 2,1,1,1,1,1,1,1,1,1,1,1,1,8,1,2
|
||
db 2,0,0,0,0,0,0,0,0,0,0,0,0,8,0,2
|
||
db 2,1,1,1,1,1,1,8,1,1,1,1,1,8,1,2
|
||
db 2,0,0,0,0,0,0,8,0,0,0,0,0,8,0,2
|
||
db 2,1,1,8,1,8,1,1,8,1,8,1,1,1,1,2
|
||
db 2,0,0,8,0,8,12,0,8,0,8,12,0,0,16,2
|
||
db 2,8,1,1,1,1,1,1,1,1,1,1,1,1,1,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
||
db 2,0,0,12,0,0,0,0,0,0,0,0,0,16,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,0,8,0,8,0,12,0,0,8,0,8,0,0,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,0,0,8,12,0,0,8,0,0,8,0,0,0,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,0,0,0,0,0,0,0,0,8,0,0,0,12,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,0,8,0,0,0,8,12,0,0,8,0,8,12,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,0,0,8,0,0,0,0,12,8,0,12,8,0,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,0,0,8,0,8,12,0,0,8,12,0,8,12,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
||
db 2,0,0,16,0,0,0,0,0,16,0,0,0,16,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,8,8,8,8,8,12,8,8,8,8,8,8,8,8,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,8,8,8,12,8,8,8,8,8,8,8,8,0,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,12,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,0,8,8,8,8,8,12,8,8,8,8,8,12,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,8,0,8,8,8,8,8,12,8,0,12,8,8,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,0,8,8,8,8,12,0,0,8,12,0,8,12,0,2
|
||
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
|
||
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
|
||
|
||
|
||
;-------------------------------------------------------------------------------
|
||
Bullet: dw 0,0,0,0,0,0
|
||
dw 0,0,0,0,0,0
|
||
dw 0,0,0,0,0,0
|
||
dw 0,0,0,0,0,0
|
||
;-------------------------------------------------------------------------------
|
||
|
||
|
||
Enemy: dw 1,448,128,0,0,500 ;¢à £¨ ª« áá,•,“,¯®«®¦¥¨¥ ¢ « ¡¨à¨â¥, ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï,¦¨§ì
|
||
dw 0,32,32,0,0,0
|
||
dw 0,64,32,0,0,0
|
||
dw 0,416,32,0,0,0
|
||
dw 0,256,256,0,0,0
|
||
dw 0,256,224,0,0,0
|
||
dw 0,320,192,0,0,0
|
||
dw 0,32,256,0,0,0
|
||
dw 0,448,448,0,0,0
|
||
|
||
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
||
bullet_bmp:
|
||
file 'bullet.bmp'
|
||
rb 1
|
||
|
||
level_bmp:
|
||
file 'level2.bmp'
|
||
rb 1
|
||
|
||
kirpich:
|
||
file 'kirpich.bmp'
|
||
rb 1
|
||
|
||
kirpich3:
|
||
file 'kirpich2.bmp'
|
||
rb 1
|
||
|
||
kirpich2:
|
||
file 'oldkirpich.bmp'
|
||
rb 1
|
||
|
||
lest_bmp:
|
||
file 'lestnica.bmp'
|
||
rb 1
|
||
|
||
water1_bmp:
|
||
file 'water1.bmp'
|
||
rb 1
|
||
|
||
water2_bmp:
|
||
file 'water2.bmp'
|
||
rb 1
|
||
|
||
door1_bmp:
|
||
file 'door1.bmp'
|
||
rb 1
|
||
|
||
door2_bmp:
|
||
file 'door2.bmp'
|
||
rb 1
|
||
|
||
|
||
img_level:
|
||
rb 448*448*3+8
|
||
|
||
;img_ded1:
|
||
;rb 448*448*3+8
|
||
|
||
img_area:
|
||
rb 32*32*3+8
|
||
|
||
img_area2:
|
||
rb 32*32*3+8
|
||
|
||
img_area3:
|
||
rb 32*32*3+8
|
||
|
||
img_bullet:
|
||
rb 4*8*3+8
|
||
|
||
img_lestniza:
|
||
rb 32*32*3+8
|
||
|
||
img_water1:
|
||
rb 32*32*3+8
|
||
|
||
img_water2:
|
||
rb 32*32*3+8
|
||
|
||
img_door1:
|
||
rb 32*32*3+8
|
||
|
||
img_door2:
|
||
rb 32*32*3+8
|
||
|
||
img_enemy1:
|
||
rb 32*32*3+8
|
||
|
||
img_enemy2:
|
||
rb 32*32*3+8
|
||
|
||
|
||
Music_bah:
|
||
db 0x0f, 0x09, 0
|
||
|
||
Music_mov:
|
||
db 0x00, 0x00, 0
|
||
|
||
Music_almaz:
|
||
db 0x09, 0x03, 0
|
||
|
||
entered rd 1
|
||
|
||
imgcount rd 1 ; ª®«-¢® ¢á¥£® ª ¤à®¢ ¢ ¨¬ 樨
|
||
img_index rd 1 ; ®¬¥à ⥪ã饣® ª ¤à
|
||
|
||
;hashtable rd 4096 ; à ¡®ç ï ®¡« áâì ¤«ï <20>¥ ¤ƒˆ” ¯à®æ¥¤ãàë
|
||
workarea:
|
||
file 'aniall.gif'
|
||
|
||
|
||
;temp rb 0x100000 ; ¬¥áâ® ¤«ï ƒˆ” ä ¨«
|
||
rb 10
|
||
|
||
canvas:
|
||
xs dd 512
|
||
ys dd 512
|
||
rb 512*512*3
|
||
|
||
gif_hash_area:
|
||
rd 4096+1
|
||
|
||
coords:
|
||
rd 2
|
||
|
||
Image:
|