-; ���� ����
+;___����________________________________________________________����____________
; ���� �����
; ��� ���� ����
;��� ����� �������� ����� ���� ���� ��� �����
; ��� ��� ��� ��� ��� ��� ��� ������ ��� ���
; ���� ������� ���� ��� ��� ���� ��� ����� ����
; �������� �������� ��������� ��� ��� ���������������
-; ����� ����� ������� �� ��� �����������
+; ����� ����� ������� �� ��� �����������
+;_______________________________________________________________________________
;
-; Version : 97% (0.97.13)
-; Release Date : UUHHhhh... soon?!?
-; Author(s) : Shiar
-; Email Address : wormy@shiar.org
-; Web Page : www.shiar.org
-; Description : ruling Nibbles-like game 1-4 players
-; Where to get this game : www.shiar.org (home of Wormy)
-; Other games by author(s) : Nemesis beta
-; Additional Credits to : Matthew Shepcar (wrote original Peaworm, end'98)
-; Jonah Cohen (helped writing worm)
-; Files : wormy.z80 (80898 bytes) 1234
-
-;-----------------------------
-;----------- TO-DO -----------
-;-----------------------------
+; Version : 97% (0.97.15)
+; Release Date : 2002 January 15
+; Author(s) : Shiar
+; Email Address : wormy@shiar.org
+; Web Page : www.shiar.org
+; Description : ruling Nibbles-like game 1-4 players
+; Where to get this game : www.shiar.org (home of Wormy)
+; Other games by author(s) : Nemesis beta
+; Additional Credits to : Matthew Shepcar : wrote original Peaworm, end'98
+; Jonah Cohen : helped writing worm
+; Files : wormy.z80 (89kB) : 515ad14b922572bdc8a96e780b8b24ca
+; wormy.86p (6532) : efef32a8c541b4585087f55deb31f51d
+;_______________________________________________________________________________
+
+;NOTES:
+;* Use for LEARNING practises ONLY!
+; Don't _ever_ release altered code w/o permission!
+;* Code was originally by Scabby (Matthew Shepcar),
+; a few lines by Jonah Cohen,
+; and everything else by me - Shiar (Mischa Poslawsky).
+;* Although I've commented & labeled quite some stuff, I can't guarantee
+; everybody will understand it. This is probably not the best source
+; to learn z80 from. w00t the Shyer Way (tm).
+;* Don't scroll down if you get scared easily.
+
+;_______________________________________________________________________________
+; _______ _____ ______ _____
+; | | | | \ | |
+; | |_____| _____ |_____/ |_____|
+;_______________________________________________________________________________
; 97% = DONE
-; 1% * misc (bugs, &&&, pollish, &&, &)
-; * score >9 dispay
+; 2% * misc (bugs, &&&, pollish, &&, &)
+; X score >9 dispay [15]
; * mem at worm #4 (still 12 bytes or so.. or more? or less?)
; * look at init-z in line routine again
+; X sp modes not configurable [15]
+; * team score
+; * random pixel still occurs
+; * levels: Wormage | Jonah? | 2 | 3 | 4
; * LINK
; 1% * fix transmit game/level data (?)
; * >Somehow do a lot of testing with 2 calcs< *sigh*
;100% = bugs fixed + levels done
-; arrow to offscreen peas
-; multiple peas in sp level
+; * arrow to offscreen peas
+; * multiple peas in sp level
;>110%: sound, startpos (?)
;>120%: coop (DON'T COUNT ON IT)
-;-----------------------------
-;-----------------------------
-;------- W O R M Y ---------
-;-----------------------------
-;-----------------------------
-
-;NOTES:
-;* Use for LEARNING practises ONLY!
-; Don't ever release altered code w/o permission!
-;* Code was originally by Scabby (Matthew Shepcar),
-; a few lines by Jonah Cohen,
-; and everything else by me - Shiar (Mischa Poslawsky).
-;* Although I've commented quite some stuff, I can't guarantee
-; everybody will understand it. This is probably not the best source
-; to learn z80 from. w00t the Shyer Way (tm).
-;* Don't scroll down if you get scared easily.
-
-#define buffer ;use display buffer (otherwise write directly to screen)
-#define readymask ;"greys" out the field before starting a level
-#define coolzgfx ;nice graphics for game over screen
-multpeas
-
-;#define intlevels ;internal levels
-;#define readytext ;displays "prepare" before level starts
-;#define invincible ;worms cannot die =)
-;#define optdie ;in race games worms don't die when they run into each other
-
-#define cal call
-#define psh push
-#define dnz djnz
+;_______________________________________________________________________________
+; _/_/_____ __ _ _______ _ _ ______ _______
+; _/_/ | | \ | | | | | | \ |______
+; / / __|__ | \_| |_____ |_____ |_____| |_____/ |______
+;_______________________________________________________________________________
#include "asm86.h"
#include "ti86asm.inc"
+
+ #define cal call
+ #define psh push
+ #define dnz djnz
+
_SHRACC = $4383 ;4x srl a
_SHLACC = $438B ;4x sll a
_divHLby10 = $4044 ;hl=hl/10
_writeb_inc_ahl = $5567 ;ld (ahl++),c
_jforce = $409C ;TI-OS stack restored
_EXLP = $4493 ;swap (hl),(de) b times
-_GETB_AHL = $46C3 ;a=(ahl) \ hl=ahl
+_GETB_AHL = $46C3 ;a=(ahl) \ hl=ahl
-;-----------------------------
-;------- data storage -------
-;-----------------------------
+ #define buffer ;use display buffer (otherwise write directly to screen)
+ #define readymask ;"greys" out the field before starting a level
+ #define coolzgfx ;nice graphics for game over screen
+ #define spprotect ;options not changable for singleplayer modes
+;#define intlevels ;-internal levels
+;#define readytext ;-displays "prepare" before level starts
+;#define invincible ;-worms cannot die =)
+;#define optdie ;-in race games worms dont die when they run into each other
-;--- permanent
+;_______________________________________________________________________________
+; _______ _______ _____ ______ _______ ______ _______
+; |______ | | | |_____/ |_____| | ____ |______
+; ______| | |_____| | \_ | | |_____| |______
+;_______________________________________________________________________________
+
+;--- permanent ---
ScrBuffer = $8820 ;-A7FF (20*FF=1FE0)
worm2p = $A800 ;-ABFF (400) %10101O00
; |..[------]||[]|......[-----]|[].| ;if you still understand
; | SCREEN 2* 13 PRGM 4LV | ;after looking at this
-;--- temporary
+;--- temporary ---
namelength = $BC00 ;(1) @menu
datalink = $BC00 ;(8) @init
DispBuffer = $FC70
#endif
lefttotalb = $AFFF
+drawctfpea1 = peaspos+4
+drawctfpea2 = peaspos+6
-;-----------------------------
-;------- program start -------
-;-----------------------------
+;_______________________________________________________________________________
+; _____ ______ _____ ______ _______ _______ _______ ______ _______
+; |_____] |_____/ | | | ____ |______ | |_____| |_____/ |
+; | | \_ |_____| |_____| _____ ______| | | | | \_ |
+;_______________________________________________________________________________
.org %1101011101001000
.db %1010010
jr nz,$+47
dec l
- .db " 97% .13",0
+ .db " 97% .15",0
WormIcon:
.db 8,2
.db %00000000,%00111100
jr nz,loadgametype
ret
+;_______________________________________________________________________________
+; _______ _ _ _______ _______ _______ _______ _______
+; | |______ \ / |______ |______ | |______ | |
+; |_____ |______ \/ _____ ______| |______ |_____ |______ |_____ |
+;_______________________________________________________________________________
+
searchcomplete:
ld a,255
ld (ix),a ;end mark
add hl,de ;next
dnz setdeflevels
-;-----------------------------
-;----- build trig tables -----
-;-----------------------------
+;_______________________________________________________________________________
+; _______ _____ ______ _______ _____ __ _ _____ _______
+; | | | | | |_____/ |______ | | \ | | |
+; | | | |_____| | \_ |______ _____ __|__ | \_| __|__ |
+;_______________________________________________________________________________
+
+;--- trig tables ---
ld hl,TrigPrecalc ;I believe this
ld de,SinCosTable ;is one of the few
inc de
dnz NegativeSineWave
-;-----------------------------
-;---------- menu -------------
-;-----------------------------
+;_______________________________________________________________________________
+; _______ _______ _____ __ _ _______ _______ __ _ _ _
+; | | | |_____| | | \ | | | | |______ | \ | | |
+; | | | | | __|__ | \_| _____ | | | |______ | \_| |_____|
+;_______________________________________________________________________________
-DisplayMenu: ;---draw menu---
+;---draw menu---
+
+DisplayMenu:
cal linkok
cal _clrWindow
ld de,$FC40 ;(0,4)
dnz hrloop
ret
-;--- menu loop ---
+;--- options menu ---
dispoptionmenu:
ld hl,txtoMenu
cal dispmenucommon_
dispomenusets:
+#ifdef spprotect
+ ld a,(gameCar)
+ and _datasingl
+ jp nz,LetsGetThisPartyOn
+#endif
cal clrold
ld hl,$1E3E
ld (_penCol),hl
cal loadgamecar
psh hl
- cal cshowA0 ;lives
+ cal cshowA ;lives
ld hl,$2A3E
ld (_penCol),hl
cal _vputs
jr dispspeeddone
dispspeed:
- cal cshowA0
+ cal cshowA
dispspeeddone:
ld hl,$363E
psh hl
ld a,(hl) ;(growth)
inc a ;-1=None; 0..98->1..99
- cal cshowA0
+ cal cshowA
ld hl,$303E
ld (_penCol),hl
cal _vputs
jr dispturndone
dispturn:
- cal cshowA0 ;turn speed
+ cal cshowA ;turn speed
dispturndone:
ld hl,$243E
ld a,(hl) ;(scorelimit)
or a
psh af
- cal cshowA0 ;limit
+ cal cshowA ;limit
pop af ;a==0?
jr z,optionMenu ;do not display 0 behind 'None'
ld a,'0'
jr z,__optionMenu ;<-1
jr changedgrowth
-;---
+;--- main menu ---
mainMenu:
cal menupos
cal getcustomkey ;right
; jr dispmenusets
-;---display current settings---
+;--- display current settings ---
dispmenusets:
cal clrold
or a ;gamesingle
jr nz,displvlname
ld a,(Level)
- cal cshowA0
+ cal cshowA00
jr lvldisped
displvlname:
cal _vputs
ld (ix+8),0 ;end mark
jp DisplayMenu
-;-----------------------------
-;------- procs-n-stuff -------
-;-----------------------------
+;_______________________________________________________________________________
+; _______ _____ _______ _______ _____ ______ _____ _______ _______
+; | | | | |______ | |_____] |_____/ | | | |______
+; | | | __|__ ______| |_____ _____ | | \_ |_____| |_____ ______|
+;_______________________________________________________________________________
ubergetkey:
halt ;woo hoo
ld (wormbeglives),a
ret
-;-----------------------------
-;-------- start game ---------
-;-----------------------------
+;_______________________________________________________________________________
+; _______ _______ _______ ______ _______ ______ _______ _______ _______
+; |______ | |_____| |_____/ | | ____ |_____| | | | |______
+; ______| | | | | \_ | _____ |_____| | | | | | |______
+;_______________________________________________________________________________
LetsGetThisPartyOn:
ld a,$17 ;no exit
rra ;and _datalink
jr nc,_StartLevel
-;--------- link ------------
+;--- link ---
wormVhost = 095
wormVclient = 195
ld b,168
cal recvstuff
-;-------- load level ---------
+;--- load level ---
StartLevel:
pop hl ;loadgamecar
ld h,0
ld a,(gameCar)
rla
- ld a,0 ;(Left)=256
+ ld a,h ;(Left)=256
jr nc,setscorelimit
ld a,l
ld l,h
inc a ;ld a,2
ld (flashtime),a
-;-------- draw level ---------
+;--- draw level ---
initlevel:
ld a,(de)
cal drawstuff
-;--------- prepare -----------
+;--- prepare ---
leveldone:
psh hl ; >> levelp new
#endif
ld a,(gameCar)
- bit _bitfood,a
- jr nz,nofood
-; ld ix,worm1
- cal NewPea
- xor a
-nofood:
rla ;bit _bitmultpeas,a
- cal c,multnewpea
+ cal c,multnewpea ;a=0
+ rla ;bit _bitfood,a
+ cal nc,NewPea
+nofood:
ld bc,(worm1+pos)
cal DisplayField
dnz ReadyDelay
cal releasekeys
-;-----------------------------
-;----------- LOOP ------------
-;-----------------------------
+;_______________________________________________________________________________
+; ______ _______ _______ _______ _____ _____ _____
+; | ____ |_____| | | | |______ | | | | | |_____]
+; |_____| | | | | | |______ _____ |_____ |_____| |_____| |
+;_______________________________________________________________________________
GameLoop:
ld bc,(worm1+pos) ;camera worm #1
inc (hl) ;0..nrworms-1
dnz handleworms
-;-----------------------------
-;---------- keys -------------
-;-----------------------------
+;_______________________________________________________________________________
+; _ _ _______ __ __ _______
+; |____/ |______ \_/ |______
+; | \_ |______ | ______|
+;_______________________________________________________________________________
HandleKeys:
ld a,%10111111
jp c,GameLoop
jp Exit ;jr?
-;------- pause menu -------
+;--- pause menu ---
disppausemenu:
ld hl,txtpMenu
cal releasekeys
jp GameLoop
+;_______________________________________________________________________________
+; ______ _______ _______ _______ _____ _ _ _______ ______
+; | ____ |_____| | | | |______ | | \ / |______ |_____/
+; |_____| | | | | | |______ _____ |_____| \/ |______ | \_
+;_______________________________________________________________________________
+
Exit:
cal releasekeys
ld sp,0 ;pop all
dnz finddmwinner
ld (dmwinner),a
-;---display worms---
+;--- display worms ---
ld a,(nrworms)
ld b,a
psh hl
inc hl ;worm+score
cal _ldHLind
- cal showHL
+ cal _D_HL_DECI
+ cal _puts ;showHL
pop hl
ld bc,worm2-worm1
ld hl,highsave+2
cal _puts
ld hl,(highsave)
- cal showHL
+ cal _D_HL_DECI
+ cal _puts ;showHL
hiscorecheckdone:
waitkey:
ld a,'*'
jp _putc ;..then put *
-;-----------------------------
-;----------- worm ------------
-;-----------------------------
+;_______________________________________________________________________________
+; _ _ _ _____ ______ _______ _______ _______ _ _ _______ _______
+; | | | | | |_____/ | | | |______ | | | |______ |______
+; |__|__| |_____| | \_ | | | _____ ______| | |_____| | |
+;_______________________________________________________________________________
respawncheck:
cp respawndelay-1
ld l,c
ret
-;-----------------------------
-;------- handle worm ---------
-;-----------------------------
+;_______________________________________________________________________________
+; _ _ _ _____ ______ _______ _______ _____ _ _ _______
+; | | | | | |_____/ | | | |_____| | | \ / |______
+; |__|__| |_____| | \_ | | | _____ | | |_____ __|__ \/ |______
+;_______________________________________________________________________________
HandleWorm:
xor a
pop hl
#endif
-;-------- move worm ----------
+;--- move worm ---
Wormmove:
psh bc ; >> pos
rl d
jp nc,Drawworm
-;--------- worm hit ----------
+;--- worm hit ---
Hitworm:
ld a,(gameCar)
- ld h,a
#ifdef optdie
; if race - originally
+ ld h,a
cal checkhitotherworm
ld a,h
#endif
- and _datactfpeas ;&&bit
+ bit _bitctfpeas,a
jr nz,chkctfpeas
- ld a,h
- and _datamultpeas ;&&bit
- jp nz,chkmultpeas
- ld a,h
- and _datafood
- jp nz,WormDead ;no food
+ rla ;and _datamultpeas
+ jp c,chkmultpeas
+ rla ;and _datafood
+ jp c,WormDead ;no food
ld hl,0
PeaY =$-2
cal IncScore
pop af
jp nz,Drawworm ;continue
-; ld a,(gameCar) ;(Left)>256
-; and _datafoodl
-; jp z,Drawworm
ld a,(Gametype)
or a
jp nz,Exit ;stack restored
pop af ;which flag? (=and %1)
ld hl,drawctfpea1 ;restore #1
jr z,nottheotherflag
- ld hl,drawctfpea2 ;restore #2
+ inc hl ;ld hl,drawctfpea2
+ inc hl ;restore #2
nottheotherflag:
ld (hl),3 ;draw delay 3 turns
ret
-drawctfpea1: .db 0
-drawctfpea2: .db 0
-
hitflag: ;correct pea hit
ld a,e ;pop a
xor %11 ;invert flag taken + ownflag
cal DrawPea
jp pickpea_
-;-----------------------------
+;--- misc ---
+#ifdef optdie
nextotherwormbit:
ld a,c
sub (hl)
cal _cphlde
jr nz,nextotherwormbit
ret ;z
+#endif
checkhitlapline:
ld a,(peaspos) ;63
pop bc
ret
-;-------- draw worm ----------
+;--- draw worm ---
Drawworm:
ld c,(ix+pos)
ld (hl),a
ret
-;-----------------------------
-;---------- ball -------------
-;-----------------------------
+;_______________________________________________________________________________
+; ______ _____ _ _ __ _ _______ __ __ ______ _______
+; |_____] | | | | | \ | | \_/ |_____] |_____| | |
+; |_____] |_____| |_____| | \_| |_____ | |_____] | | |_____ |_____
+;_______________________________________________________________________________
handlethoseneatlittleballs:
ld hl,balls
pop de
ret
-;-----------------------------
-;----------- procs -----------
-;-----------------------------
+;_______________________________________________________________________________
+; _____ ______ _____ _______ _______
+; |_____] |_____/ | | | |______
+; | | \_ |_____| |_____ ______|
+;_______________________________________________________________________________
releasekeys:
halt
inc (ix+died)
dec (ix+lives)
psh af
- ld de,10
ld a,(Gametype)
cp gamectf ;ctf no death penalty
- cal nz,DecScore
+ cal nz,DecScore10
pop af
ret nz ;HandleWorm done
ld a,(wormbeglives)
checkhitotherworm:
.db $dd,$7d ;ld a,lx
cp worm2&255
- psh ix
- jr nz,chkworm2 ; ret nz
+ psh ix
+ jr nz,chkworm2 ;ret nz
ld ix,worm1
- jr chkworm
+ jr chkworm
chkworm2:
- ld ix,worm2
-
+ ld ix,worm2
chkworm:
- ld h,(ix+tail+1)
- ld l,(ix+tail)
- ld e,(ix+head)
- ld d,(ix+head+1)
+ ld h,(ix+tail+1)
+ ld l,(ix+tail)
+ ld e,(ix+head)
+ ld d,(ix+head+1)
cal ChkWorm
- pop ix
+ pop ix
ret z ;not hit
pop bc ;call
-
stopworm:
ld bc,0
previouspos =$-2
ldi
pop bc
dnz multpealoop
+ ld a,-1
ret
NewPea:
dnz sprloopy
ret
-;----------- score -----------
+;_______________________________________________________________________________
+; _______ _______ _____ ______ _______
+; |______ | | | |_____/ |______
+; ______| |_____ |_____| | \_ |______
+;_______________________________________________________________________________
timematchscore:
;piece of crap checking whether you've already won in timematch
inc (ix+lives)
jr scorecommon
-DecScore: ;&&&
- ld h,(ix+score+1)
- ld l,(ix+score)
- or a
- sbc hl,de
- jr c,showstats ;<0=0
+DecScore10:
+ cal ldscoreinhl
+ ld de,-10
+ add hl,de
+ jr nc,showstats ;<0=0
jr scorecommon
IncScore: ;inc score by e
ld d,0
_IncScore ; inc by de
- ld h,(ix+score+1)
- ld l,(ix+score)
+ cal ldscoreinhl
ld a,(Gametype)
or a ;if singleplayer...
jr z,extralives
ld hl,$FC00 ;&&&only necessary in deathmatch
ld b,6*16-1
clearstats:
- ld (hl),a ;=0
+ ; ld (hl),a ;=0
+ ;&&&&&&
inc hl
dnz clearstats
forceshowstats:
cp gamedeathm
jr z,showlives
showscore:
- ld h,(ix+score+1)
- ld l,(ix+score)
+ cal ldscoreinhl
cal _D_HL_DECI
jr __vputs
showlives:
ld a,(ix+lives)
-showA: ;small w/o leading 0 (&&&combine w/ cshowA0??)
- cp 10
- jr c,showleastsign
+ jr cshowA00
+
+cshowA: ;small w/ leading 0
+ or a
+ jr nz,cshowA00
+ ld hl,txtNone
+ jp _vputs
+cshowA00:
ld l,a
ld h,0
cal _divHLby10
add a,'0'
cal __vputmap
pop af
-showleastsign:
+cshowA0:
add a,'0'
__vputmap:
psh ix
cal __vputs
ld a,0
Level =$-1
- cal showA
+ cp 10
+ psh af
+ cal c,cshowA0
+ pop af
+ cal nc,cshowA00
- ld a,98
+ ld a,97
ld (_penCol),a
cal showscore
ld a,123
ld (_penCol),a
- cal showlives
+ ld a,(ix+lives)
+ cal cshowA0 ;showlives
ld a,(gameCar)
and _datafoodl
pop ix
ret z
showleft:
- ld a,31
+ ld a,33
ld (_penCol),a
ld a,0
Left =$-1
- cal cshowA0
+ cal cshowA
ld hl,txtLeft
__vputs:
add a,'0'
jp _putc
-cshowA0: ;small w/ leading 0
- or a
- jr nz,cshowavalue
- ld hl,txtNone
- jp _vputs
-cshowavalue:
- ld l,a
- ld h,0
- cal _divHLby10
- psh af
- ld a,l
- add a,'0'
- cal __vputmap
- pop af
- add a,'0'
- jp __vputmap
-
-showHL:
- cal _D_HL_DECI
- jp _puts
-
_D_HL_DECI:
ld de,savestr+4
ld b,5
savestr:
.db "00000",0
-;-----------------------------
+ldscoreinhl:
+ ld h,(ix+score+1)
+ ld l,(ix+score)
+ ret
+
+;_______________________________________________________________________________
+; ______ _____ _______ _____ _______ __ __
+; | \ | |______ |_____] | |_____| \_/
+; |_____/ __|__ ______| | |_____ | | |
+;_______________________________________________________________________________
DisplayField: ;all done by Jonah Cohen iirc. (-scrolling is scary-)
ld a,c ;not the fastest routine outthere, but it does get the job done.
ld c,$37 ;scf
ret
-;----------- draw ------------
+;_______________________________________________________________________________
+; ______ ______ _______ _ _ _
+; | \ |_____/ |_____| | | |
+; |_____/ | \_ | | |__|__|
+;_______________________________________________________________________________
;--- pixel ---
; dec a ;4 = circle
; jp z,drawcircle
+;--- circle ---
+
;IMHO, one weery nice routine. Oh lemme be proud just *once*.
;Not perfect since it uses a screwy lineroutine to draw stuff
;but, just _look_ at it. Ain't it grand? Z80 at its best.
pop hl
ret ;thats it
+;--- box ---
+
drawbox: ;(d,e)-(h,l)
ld b,l ;Delta-y
ld l,e
dnz boxloop
ret
+;--- fatline ---
+
drawfatline:
cal drawline
inc d
dec h
; jp drawline
+;--- line ---
+
;A lot like Scabby's line routine in Wonderworm (dunno whether he wrote it
;himself tho.) I did make a few optimizations and commented the thing.
;A nice routine (also Bresenham), but for Wormy not perfect since really
; jr Qsend ;that's why it's here
;..and last but not least..:
-;-----------------------------
-;----------- link ------------
-;-----------------------------
+;_______________________________________________________________________________
+; _____ __ _ _ _ /
+; | | | \ | |____/ /
+; |_____ __|__ | \_| | \_ .
+;_______________________________________________________________________________
timeout = $8000
lossout = 20
-;---- SEND ----
+;--- send ---
Qsend: ;--- try to send 8 bits in C; CF=error --- destr:abcde ---
nop \ nop
ld (linklosses),a ;reset number of losses
ret ;=ok
-;---- RECV ----
+;--- recv ---
Crecv: ;--- receive 8 bits into A/C --- destr:abCde ---
cal Qrecv
ld (linklosses),a ;reset number of losses
ret
-;---- COMMON ----
+;--- common ---
linkok:
ld a,D0HD1H
jp Exit
#ifdef intlevels
-
-;-----------------------------
-;---------- levels -----------
-;-----------------------------
+;_______________________________________________________________________________
+; _____ __ _ _______ _______ _ _ _______ _______
+; | | \ | | | |______ \ / |______ | |______
+; __|__ | \_| | _____ |_____ |______ \/ |______ |_____ ______|
+;_______________________________________________________________________________
LevelDef:
.db 5,4,15,15,0,0 ;peas,speed,growth,begin_size,sprite,balls
#endif
-;-----------------------------
-;---------- data -------------
-;-----------------------------
+;_______________________________________________________________________________
+; ______ _______ _______ _______
+; | \ |_____| | |_____|
+; |_____/ | | | | |
+;_______________________________________________________________________________
wtPicture: ;title
.db %00011110,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000001,%11000000,%00000000,%00000000,%00000001,%10000000,%00000000,%00001111,%10000000
_datafoodl = %00000010 ;left=0 limit
_datasingl = %00000100 ;singleplayer=1 (=hiscore+keep_length+nextlevel)
_datactfpeas = %00001000 ;ctf peas=1
+_bitctfpeas = 3
_datatime = %00010000 ;time incs score (timematch)
-_datafood = %00100000 ;food present=0
-_bitfood = 5
+_datafood = %01000000 ;food present=0
+_bitfood = 6
_datamultpeas = %10000000 ;multiple peas=1 (no _datafood)
_bitmultpeas = 7
-;reserved %01000000 ;for future use
+;reserved %00100000 ;for future use
savestart: ; �game info (see above)
; | �lives (0=unlimited)
; | | | | | | �turn speed (8=def)
; | | | | | | | �score limit (0=none)
gamesingle = 0 ; | | | | | | | |
-datasingle: .db %01000110,3,1,1,-1,-1, 8, 0 ;Singleplayer (SP; 3 lives)
+datasingle: .db %00000110,3,1,1,-1,-1, 8, 0 ;Singleplayer (SP; 3 lives)
gamepeas = 1
-datapeas: .db %01000100,1,1,1,-1,-1, 8, 0 ;Peaworm (SP; 1 live)
+datapeas: .db %00000100,1,1,1,-1,-1, 8, 0 ;Peaworm (SP; 1 live)
gametron = 2
-datatron: .db %01110100,1,1,1,-1, 0, 8, 0 ;Tron (SP; 1 live, cont.growth)
+datatron: .db %01010100,1,1,1,-1, 0, 8, 0 ;Tron (SP; 1 live, cont.growth)
gamedeathm = 3
-datadeathm: .db %01100000,3,2,1,-1,49, 8, 0 ;Deathmatch (3 lives, 50 growth)
+datadeathm: .db %01000000,3,2,1,-1,49, 8, 0 ;Deathmatch (3 lives, 50 growth)
gamefoodm = 4
-datafoodm: .db %01000000,0,2,1,-1,-1, 8,10 ;Foodmatch (100 score)
+datafoodm: .db %00000000,0,2,1,-1,-1, 8,10 ;Foodmatch (100 score)
gamemfoodm = 5
-datamfoodm: .db %11100010,0,2,1,-1,-1, 8,10 ;MuchFoodmatch (10 peas))
+datamfoodm: .db %11000010,0,2,1,-1,-1, 8,10 ;MuchFoodmatch (10 peas))
gametimem = 6
-datatimem: .db %01110000,1,2,1,-1, 0, 8, 0 ;Timematch (tron, 100 score)
+datatimem: .db %01010000,1,2,1,-1, 0, 8, 0 ;Timematch (tron, 100 score)
gamerace = 7
-datarace: .db %01100000,0,2,1,-1,-1, 8,10 ;Race (100 score)
+datarace: .db %01000000,0,2,1,-1,-1, 8,10 ;Race (100 score)
gamectf = 8
datactf: .db %01001000,0,4,1,-1,-1, 8,10 ;CTF (100 score)
#endif
templevels:
-;-----------------------------
-;----------- end -------------
-;-----------------------------
+;_______________________________________________________________________________
+; _______ _ _ _______ _______ . _______ _______
+; | |_____| |_____| | ' |______ |_____| | |
+; | | | | | | ______| _____ | | |_____ |_____
+;_______________________________________________________________________________
.end