3 ;(0,0)> |####(BORDER)#####|
9 ; |#################| <(127,56)
11 ;Drawable screen is (2,2)-(125,54); center is (63.5,28)
15 #include "ti86asm.inc"
18 ;---------- HEADER ----------
20 .org $F3E3-16 ;$F3E3-[name size]
21 ;^^ <-MUST EQUAL NAME SIZE BELOW!!! If not, Worm will crash!
23 .db 'w',90 ;wormLevel header (version .90)
24 .db 16,"Worm LevelPack I" ;name size (UPDATE .ORG!!!); level name
25 .dw hiscore-single ;leveldata size
30 .dw single ;points to singleplayer levels below
31 .dw peaworm ;...peaworm level
32 .dw deathmatch ;...deathmatch
33 .dw foodmatch ;...foodmatch
34 .dw linkmatch ;...linkmatch
36 .dw ctf ;...capture the flag
37 .dw domination ;...domination
39 ;note: use <.dw 0> if no levels present (empty level will be used).
41 .db 2,3,3,2 ;max. choosable level+1 for each gametype
42 .db 2,2,2,2 ;so: 2 = level 1 only; 4 = level 1 to 3 available
44 ;again .db 0 indicates no levels present.
47 ;---------- LEVELS ----------
51 ; .db 5 ;nr. of peas in level
52 ; .db 4 ;delay (0=fastest, 4=normal)
53 ; .db 15 ;growth per pea
55 ; .db 4 ;sprite size (1-8; 0=use default sprite)
56 ; .db %01100000 ;the sprite
60 ; .db 2 ;bouncing balls (0-40)
61 ; .db 2 ;BALL #1: begin y-position
63 ; .db %00 ; direction (%00=right+down, %11=left+up)
64 ; .db 2,7,%00 ;BALL #2: y,x,direction
65 ; .db 0 ;your start direction (0=down,$40=right,$80=up,$C0=left)
66 ; .db 2 ;your y-position (2=at top)
67 ; .db 63 ;your x-position (63=center)
68 ; ;IN MULTIPLAYER LEVELS also set positions for worm 2-4:
69 ;(.db $C0,28,125 ) ;player 2 moves left
70 ;(.db $00, 2, 63 ) ;player 3 moves down
71 ;(.db $80,54, 63 ) ;player 4 moves up
73 ; .db 128,57 ;field size: width (128-255), height (57-255)
74 ; ; screen will SCROLL if size is more than 128,57
75 ; .db 2 ;number of lines:
76 ; .db 28,14,100,41 ;LINE #1 coordinates: (x1,y1)-(x2,y2)
77 ; .db 28,41,100,14 ;LINE #2: the same
78 ; .db 1 ;number of boxes:
79 ; .db 16,12,48,12 ;BOX #1: x1,y1,x2,ysize(y2-y1)
80 ;------------ ;THAT'S ALL; repeat for all levels
83 single: ;singleplayer levels start here
85 .db 5,4,15 ;peas/delay/growth
86 .db 15,5 ;size/spritesize
94 .db 128,57 ;field size
95 .db 0,0 ;no lines/boxes
191 .db 255 ;end marker: no more levels
193 ;Code to run when all levels are done:
194 ;Worm waits a second, then screen is cleared and this code will be run.
195 ;End with <ret> (stats-screen will then be displayed.)
196 ;If you don't want an ending, simply put <ret>.
199 call _puts ;display text
200 jp _getkey ;wait for a key
203 .db " Congratulations!!",0
227 .db $40,28,2 ;begin stats for each player
231 .db 128,57 ;field size
240 .db $40,30,2,$C0,30,125, $00,2,64,$80,54,64
249 .db $40,30,2,$C0,30,125, $00,2,64,$80,54,64
256 .db $40,30,2,$C0,30,125, $00,2,64,$80,54,64
263 .db $40,3,2,$40,6,2, $40,9,2,$40,12,2
272 .dw 0 ;singleplayer hiscore will be saved here
273 .dw 1,2 ;peaworm hiscore for each peaworm-level