X-Git-Url: http://git.shiar.nl/wormy.git/blobdiff_plain/5df4f3685fcfcfe6d79661a8f54d256c2e987a59..cba0ecf4d714f5b4d250897781ce818be45ede8b:/wormlvl.z80 diff --git a/wormlvl.z80 b/wormlvl.z80 index 1e0ba72..a1250b8 100644 --- a/wormlvl.z80 +++ b/wormlvl.z80 @@ -1,46 +1,55 @@ +;Drawable screen is (2,2)-(125,54); center is (63.5,28) + #include "asm86.h" #include "ti86asm.inc" - .org $F3E3-16 ;$E9E3-[name size] - .db 'w',89 ;wormLevel header (version .89) - .db 16,"Worm LevelPack I" ;level name - .dw hiscore-single ;leveldata size +;---------- HEADER ---------- + + .org $F3E3-16 + + .db 'w',91 + .db 16,"Worm LevelPack I" + .dw hiscore-single levelsdata: - .dw single ;points to singleplayer levels - .dw 0 ;...peaworm level (0 = no levels/empty level) - .dw deathmatch ;...deathmatch - .dw foodmatch ;...foodmatch - .dw linkmatch ;...linkmatch - .dw hunting ;...hunting - .dw race ;...race - .dw ctf ;...capture the flag + .dw single + .dw peaworm + .dw deathmatch + .dw foodmatch + .dw linkmatch + .dw race + .dw ctf + .dw domination + + .db 1,2,3,1 + .db 6,1,2,1 - .db 2,2,3,2 ;max. choosable level+1 for each gametype - .db 2,2,2,2 ;so: 2 = level 1 only; 4 = level 1 to 3 available + +;---------- LEVELS ---------- single: - .db 5,4,15 ;peas in level, delay (0=fastest), pea-growth - .db 15,5 ;begin_size, sprite size (0=use default sprite) + .db 5,4,15 ;peas/delay/growth + .db 15,5 ;size/spritesize .db %01110000 ;sprite .db %10001000 .db %10001000 .db %10001000 .db %01110000 - .db 0 ;balls (see below) - .db 0,2,63 ;your start d (0=down,$80=up), y, x - .db 128,57 ;field width (128-255), height (57-255) - .db 0,0 ;no additional lines, boxes + .db 0 ;balls + .db 0,2,63 ;d/y/x + .db 128,57 ;field size + .db 0,0 ;no lines/boxes - .db 8,4,15,15,0,0 + .db 8,4,15,15,0 + .db 0 ;no sprite .db $40,14,2 .db 128,57 - .db 1 ;one line: - .db 28,28,100,28 ;line coords: x1,y1,x2,y2 + .db 1 + .db 28,28,100,28 .db 0 .db 9,4,15,15,0,0 @@ -52,10 +61,10 @@ single: .db 0 .db 4,3,15,10,0,1 - .db 2,4,0 ;1 bouncing ball, begin y, x, direction (%11=left+up) + .db 2,4,0 ;ball .db 0,2,124 .db 128,57 - .db 2 + .db 2 ;lines .db 28,14,100,41 .db 28,41,100,14 .db 0 @@ -71,7 +80,7 @@ single: .db 10,3,15,15,0,0 .db 2,8,$40 .db 128,90 - .db 3 + .db 3 ;lines .db 18,20,18,70 .db 110,20,110,70 .db 18,45,110,45 @@ -92,7 +101,7 @@ single: .db 9,3,15,15,0,0 .db $40,4,10 .db 128,82 - .db 3 + .db 3 ;lines .db 0,20,74,20 .db 54,40,128,40 .db 0,60,74,60 @@ -113,7 +122,7 @@ single: .db 8,2,15,15,0,0 .db $C0,67,48 .db 128,128 - .db 13 + .db 13 ;lines .db 34,56,56,34 .db 34,72,56,94 .db 72,34,94,56 @@ -129,45 +138,31 @@ single: .db 91,106,115,106 .db 0 - .db 255 ;end marker - -;Code to run when all levels are done: -;Worm waits a second, then screen is cleared and this code will be run. -;End with (stats-screen will then be displayed.) -;If you don't want an ending, simply put . + .db 255 ld hl,endtext call _puts ;display text jp _getkey ;wait for a key - ;jp ? = call ? + ret + endtext: .db " Congratulations!!",0 -deathmatch: - .db 8,5,15,31,0,0 - .db $40,28,2 ;begin stats for each player - .db $C0,28,125 ;player 2 moves left - .db $00,2,63 ;player 3 moves down - .db $80,54,63 ;player 4 moves up - .db 128,57 +peaworm: + .db 5,4,15 + .db 15,5 + .db %01110000 + .db %10001000 + .db %10001000 + .db %10001000 + .db %01110000 .db 0 - .db 4 ;4 boxes: - .db 16,12,48,12 ;x1,y1,x2,ysize(y2-y1) - .db 80,12,112,12 ;... - .db 16,34,48,12 - .db 80,34,112,12 - - .db 8,4,18,15,0,0 - .db $40,30,2,$C0,30,125, $00,2,64,$80,54,64 + .db 0,2,63 .db 128,57 .db 0,0 - -foodmatch: -ctf: - .db 8,5,18,15,0,0 - .db $40,30,2,$C0,30,125, $00,2,64,$80,54,64 + .db 5,4,15,15,0,0 + .db 0,2,63 .db 128,57 .db 0,0 @@ -179,30 +174,68 @@ linkmatch: .db 0,0 -hunting: - .db 8,7,15,17,0,0 - .db $40,28,2,$C0,28,125, $00,2,63,$80,54,63 - .db 128,57 +deathmatch: + .db 8,5,15,31,0,0 + .db $40,28,2 ;begin stats for each player + .db $C0,28,125 + .db $00,2,63 + .db $80,54,63 + .db 128,57 ;field size .db 0 + .db 4 ;4 boxes + .db 16,12,48,12 + .db 80,12,112,12 + .db 16,34,48,12 + .db 80,34,112,12 + + .db 8,4,18,15,0,0 + .db $20,2,2,$A0,54,125, $E0,2,125,$60,54,2 + .db 128,57 + .db 1 + .db 35,28,92,28 .db 4 - .db 4,19,16,14 - .db 4,19,80,14 - .db 4,19,16,34 - .db 4,19,80,34 + .db 2,20,18,17 + .db 109,20,125,17 + .db 48,2,79,10 + .db 48,47,79,55 + + +foodmatch: +domination: + .db 8,5,18,15,0,0 + .db $40,30,2,$C0,30,125, $00,2,64,$80,54,64 + .db 128,57 + .db 0,0 race: - .db 8,2,15,10,0,0 + .db 8,4,15,10,0,0 .db $40,3,2,$40,6,2, $40,9,2,$40,12,2 .db 128,57 .db 0 - .db 1 - .db 8,29,32,20 + .db 2 + .db 22,21,104,15 + .db 52,10,74,37 + + +ctf: + .db 8,5,18,15,0,0 + .db $00,2,62,$00,2,64, $20,2,7,$A0,54,120 + .db 128,57 + .db 46,117,46,10 + .db 0,0 + + .db 8,5,18,15,0,0 + .db $60,54,2,$E0,2,125, $60,49,2,$E0,7,125 + .db 128,57 + .db 9,10,46,117 + .db 0,1 + .db 20,14,107,31 hiscore: - .dw 0 ;singleplayer hiscore will be saved here - .dw 0 ;same for peaworm hiscore + .dw 0 + .dw 0,0 .end