-;___����________________________________________________________����____________
-; ���� �����
-; ��� ���� ����
-;��� ����� �������� ����� ���� ���� ��� �����
-;��� ������� ����������� ������� ������������� �� ��� ���
-;�� ��� ��� ����� ���� ���� ��� ��� ���� ��� ��� ���� ���
-;�� �� �� �� � ��� ���� ��� ������ ��� ��� ��� ��
-;�� �� �� �� �� ��� ��� ��� ���� ��� ��� ��� ���� ��
-;�� ��� ��� �� �� �� ��� ������� ��� �� ������� ��
-;�� ��� ��� ��� �� �� �� �� ��� ��� ��� ����� ���
-;��� ��� ��� ��� �� �� ��� �� ���� ���� ��� ���
-;��� ����� ��� ��� ��� ��� �� �������� ��� ���
-; ��� ��� ��� ��� ��� ��� ��� ������ ��� ���
-; ���� ������� ���� ��� ��� ���� ��� ����� ����
-; �������� �������� ��������� ��� ��� ���������������
-; ����� ����� ������� �� ��� �����������
+;___▄███________________________________________________________▄▄▄▄____________
+; ███▀ ████▌
+; ███ ▀███ ▐██▄
+;▐██ ▄███▄ ▄▄████▄▄ ▄████ ▄██▄ ▄██▄ ▐██ █████
+;██▌ ███████ ▄██████████ ███████ ████████████▄ ██ ███ ███
+;██ ██▀ ▀██ ▐██▀▀ ▀███ ███▀ ██▌ ██▀ ████ ▀██ ██▌ ▐██▌ ▐██
+;██ ██ ██ ██ ▄ ██▌ ▐██▌ ▐██ ██████ ██▌ ███ ███ ██
+;██ ██ ██ ██ ██ ▐██ ███ ██▌ ███▀ ▐██ ▀██ ███ ▐███ ██
+;██ ██▌ ▐██ ██ ██ ██ ██▌ ██▌▐██▌ ██▌ ██ ██████▀ ██
+;██ ▐██ ██▌ ▐██ ██ ██ ██ ██ ▐██ ██▌ ██▌ ▀███▀ ▐██
+;██▌ ██▄ ▄██ ██▌ ██ ██ ██▌ ██ ▐██▌ ▐██▌ ██▌ ██▌
+;▐██ █████ ▐██ ██▌ ▐██ ██▌ ██ ▀██▄▄██▀ ███ ▐██
+; ███ ███ ██▌ ▐██ ██▌ ███ ██▌ ▀████▀ ▐██ ███
+; ███▄ ▄█████▄ ▄███ ██▌ ███ ▐██▌ ██▌ ███▄▄ ▄███
+; ███████▀ ▀███████ ▐██▄▄███▌ ███ ▐██ ██████████████▌
+; ▀███▀ ▀██▀▀ ▀█████▀ ██ ██▌ ▀█████████▀
;_______________________________________________________________________________
;
; Version : 100% (1.00.36)
grow = 6 ;level
died = 8 ;game:
score = 9
-delay = 11
+wdelay = 11
lives = 12
head = 13
- ; �15B (wormNset)
-tail = 15 ; |also@next level
-storepos = 17 ; |
-reserv = 18 ; |loop (race:lap|ctf:pea)
-left = 19 ; |
-right = 20 ; |
-name = 21 ; |_
+ ; ┌15B (wormNset)
+tail = 15 ; │also@next level
+storepos = 17 ; │
+reserv = 18 ; │loop (race:lap|ctf:pea)
+wleft = 19 ; │
+wright = 20 ; │
+name = 21 ; │_
wormsize = 30 ;^mark^
start: ;turn back NOW!
nop ;and so it begins...
- jp Start
+ jp codestart
#ifndef id2
ld bc,$5242
rst 10h
cal _AHL_PLUS_2_PG3 ;skip past length bytes
cal _Get_Word_ahl
ld hl,levelhead+(levelhead2*256)
- call _cphlde
+ cal _cphlde
ret z
scf
ret
;--- search levels -------------------------------------------------------------
-Start:
+codestart:
cal _runindicoff
cal _flushallmenus
cp K_EXIT
jp z,ExitNoStats
cp K_MORE
- jp z,Start
+ jp z,codestart
psh af
cal menupos
cal loadgamecar
ld (hl),b ;+score+1=0
inc hl
ld c,2
- ld (hl),c ;+delay=2
+ ld (hl),c ;+wdelay=2
inc hl
ld (hl),3 ;+lives=x
wormbeglives =$-1
; 2 = link = 0 + link (name1)
; 3 = worm #2 = #2 + local(name2)
; 4 = link = 0 + link (name2)
- ld e,worm3+left&255
+ ld e,worm3+wleft&255
cal moveworm2 ;3=2
ld l,worm1+name&255
cal sendworm
- ld l,worm2+left&255
+ ld l,worm2+wleft&255
cal linkworm ;worm2+4 over link
pop hl ;loadgamecar
pop de ;leveldata
;--- set/send worms ------------------------------------------------------------
moveworm2:
- ld hl,worm2+left
-moveworm: ;hl=wormN+left
+ ld hl,worm2+wleft
+moveworm: ;hl=wormN+wleft
ld d,worm1/256
ld bc,11
ldir ;keys+name worm(de) = worm(hl)
ret
-linkworm: ;hl=wormN+left
- ld (hl),0 ;worm1|2+left
+linkworm: ;hl=wormN+wleft
+ ld (hl),0 ;worm1|2+wleft
inc hl
inc hl ;+name
ld b,9
cal recvstuff
ld bc,worm3-worm1-11 ;+2
add hl,bc ;b=0
- ld (hl),b ;worm3|4+left
+ ld (hl),b ;worm3|4+wleft
inc hl
inc hl ;+name
ld b,9
; 2 = worm #1 = #1 + local(name1)
; 3 = link = 0 + link (name2)
; 4 = worm #2 = #2 + local(name2)
- ld e,worm4+left&255
+ ld e,worm4+wleft&255
cal moveworm2 ;4=2
- ld e,worm2+left&255
- ld hl,worm1+left
+ ld e,worm2+wleft&255
+ ld hl,worm1+wleft
cal moveworm ;2=1
- ld l,worm1+left&255
+ ld l,worm1+wleft&255
cal linkworm ;worm1+3 over link
ld l,worm2+name&255
cal sendworm
GameLoop:
ld bc,(worm1+pos) ;camera worm #1
- ld a,(worm1+left)
+ ld a,(worm1+wleft)
or a ;if #1 not over link
jr nz,showfield
ld bc,(worm2+pos) ;otherwise view from #2
psh bc
psh hl
- ld bc,left-died
- add hl,bc ;+left
+ ld bc,wleft-died
+ add hl,bc ;+wleft
xor a
- cp (hl) ;left=0 = link
+ cp (hl) ;wleft=0 = link
jr nz,NoLinkIndic
ld a,9
ld (_curCol),a
ld a,h ;previous
cp l ;changed?
ret z
- ld (ix+delay),a ;=0
+ ld (ix+wdelay),a ;=0
ret
saverespawncounter:
- ld (ix+delay),a
+ ld (ix+wdelay),a
jr inputcall
chkkey: ;key=a
turnright =$-1
ld l,a
notright:
- ld a,(ix+right)
+ ld a,(ix+wright)
cal chkkey
ret nc
ld a,l
ld l,a
ret
inputcall:
- ld a,(ix+left)
+ ld a,(ix+wleft)
or a
jr z,inlink ;input by link
cal inkeys ;input by keys
or a
ret nz ;live limit
alive:
- ld a,(ix+delay)
+ ld a,(ix+wdelay)
dec a
jp nz,respawncheck
pop hl ;<<call hitworm
pop hl ;<<call HandleWorm
pop hl ;<<$some other call
- ld (ix+delay),2
+ ld (ix+wdelay),2
jp Nextlevel
chkpeahit: ;bc=ownpos;hl=peapos (destr:ad)
wormdead:
pop hl ;<<call
-WormDead:
ld a,2
ld (flashtime),a
#ifdef w00t
nop
.org $+1
#endif
- ld (ix+delay),rspawndelay
+ ld (ix+wdelay),rspawndelay
thislevel =$+1
ld hl,0
ld a,(gamecar)
rra ;and _datalink
ret nc ;no link
- ld a,(worm1+left)
+ ld a,(worm1+wleft)
or a
jr z,receivenewpeaoverlink
ld c,l ;send pea's pos
_datafood = %01000000 ;food present=0 (6!)
_dataPmult = %10000000 ;multiple peas=1 (no _datafood) (7!)
- ; �game info (see above)
- ; | �lives (0=unlimited)
- ; | | �nrworms (can be altered by user)
- ; | | | �level (reset to 1 at startup)
- ; | | | | �speed/delay (-1=def)
- ; | | | | | �grow speed (-1=none; 0=continuous)
- ; | | | | | | �turn speed (8=def)
- ; | | | | | | | �score limit (0=none)
-gamesingle = 0 ; | | | | | | | |
+ ; ┌game info (see above)
+ ; │ ┌lives (0=unlimited)
+ ; │ │ ┌nrworms (can be altered by user)
+ ; │ │ │ ┌level (reset to 1 at startup)
+ ; │ │ │ │ ┌speed/delay (-1=def)
+ ; │ │ │ │ │ ┌grow speed (-1=none; 0=continuous)
+ ; │ │ │ │ │ │ ┌turn speed (8=def)
+ ; │ │ │ │ │ │ │ ┌score limit (0=none)
+gamesingle = 0 ; │ │ │ │ │ │ │ │
datasingle:.db %00100110,3,1,1,-1,-1, 8, 0 ;Singleplayer (SP; 3 lives)
gamepeas = 1
datapeas: .db %00100100,1,1,1,-1,126,8, 0 ;Peaworm (SP; 1 live, 127 growth)
.end
-.end
\ No newline at end of file
+.end