- Added new sprite images
- Added new tile: trampoline - Bugfix: Collision detection sometimes didn't work - Bugfix: Jumping out of water didn't work - Spiders now have a delay between drops - Bugfix: Jumping near a wall sometimes didn't work - There are now 2 layer of tiles - so that tiles such as spikes can be placed on top of any tile type. - Removed tiles which are now redundant: waterspikes, cavespikes, etc - Made some tiles transparent now that a 2nd layer is possible (eg. ladder, bridge)
10
defs.h
|
@ -85,7 +85,7 @@
|
|||
/* enums */
|
||||
|
||||
/* sounds */
|
||||
#define MAXFX 14
|
||||
#define MAXFX 15
|
||||
#define FX_SHOOT 0
|
||||
#define FX_SLAM 1
|
||||
#define FX_KILL 2
|
||||
|
@ -100,6 +100,7 @@
|
|||
#define FX_BONUS 11
|
||||
#define FX_MORPH 12
|
||||
#define FX_BOOM 13
|
||||
#define FX_SPRING 14
|
||||
|
||||
// Slope types
|
||||
#define S_NOTSOLID 0
|
||||
|
@ -191,6 +192,8 @@
|
|||
#define T_WATERTOP 15
|
||||
#define T_WATERSPIKES 16
|
||||
#define T_BRIDGE 17 // like land but you can drop down through it
|
||||
#define T_TRAMPUP 18
|
||||
#define T_TRAMPDOWN 19
|
||||
|
||||
// death states
|
||||
#define D_INITIAL (1) // Need to trigger death sequence
|
||||
|
@ -263,6 +266,7 @@ typedef struct level_s {
|
|||
char *tileset;
|
||||
char name[SMALLBUFLEN];
|
||||
int map[LEVELW*LEVELH];
|
||||
int map2[LEVELW*LEVELH]; // second map layer
|
||||
int tileframe[LEVELW*LEVELH]; // tracks frame numbers for tiles
|
||||
int *animtiles; // array of offsets to map positions which are animated
|
||||
struct level_s *next;
|
||||
|
@ -307,6 +311,10 @@ typedef struct sprite_s {
|
|||
int netystart; // y position of start of net
|
||||
int powerup; // what temp powerup does the player have?
|
||||
|
||||
int ontramp; // on a trampoline?
|
||||
int trampx; // x,y coords for trampoline we are/were on
|
||||
int trampy; //
|
||||
|
||||
// monster only
|
||||
int willbecome; // what fruit this will become when dead
|
||||
int angry; // is this sprite in ANGRY mode for its AI?
|
||||
|
|
38
edit.c
|
@ -30,6 +30,8 @@ int modified = B_FALSE; // has the current level been modified since last save?
|
|||
int curworld = 1;
|
||||
int curlevelnum;
|
||||
|
||||
int layer = 1; // which layer we are editting, either 1 or 2
|
||||
|
||||
int main (int argc, char **argv) {
|
||||
Uint8 *keys;
|
||||
char filename[BUFLEN];
|
||||
|
@ -194,8 +196,19 @@ int main (int argc, char **argv) {
|
|||
/* place selected tile at mouse pos */
|
||||
x = (mx / TILEW);
|
||||
y = (my / TILEH);
|
||||
curlevel->map[y*LEVELW+x] = seltile->uniqid;
|
||||
curlevel->tileframe[y*LEVELW+x] = 0;
|
||||
if (layer == 1) {
|
||||
curlevel->map[y*LEVELW+x] = seltile->uniqid;
|
||||
curlevel->tileframe[y*LEVELW+x] = 0;
|
||||
} else {
|
||||
// if there's nothing at layer1, it goes there
|
||||
//if (curlevel->map[y*LEVELW+x] == T_BLANK) {
|
||||
// printf("falling to layer 1\n");
|
||||
// curlevel->map[y*LEVELW+x] = seltile->uniqid;
|
||||
// curlevel->tileframe[y*LEVELW+x] = 0;
|
||||
//} else {
|
||||
curlevel->map2[y*LEVELW+x] = seltile->uniqid;
|
||||
//}
|
||||
}
|
||||
// redraw tile and sprites
|
||||
drawtile(screen,x,y);
|
||||
drawsprites();
|
||||
|
@ -263,6 +276,14 @@ int main (int argc, char **argv) {
|
|||
|
||||
|
||||
|
||||
if (keys[SDLK_1]) { // toggle layer
|
||||
if (toggletimer == 0) {
|
||||
layer = 3 - layer;
|
||||
printf("Now editting layer %d\n",layer);
|
||||
toggletimer = 30;
|
||||
}
|
||||
}
|
||||
|
||||
if (keys[SDLK_x]) { // delete monster
|
||||
int donesomething = B_FALSE;
|
||||
sprite_t *s, *nextone;
|
||||
|
@ -306,10 +327,12 @@ int main (int argc, char **argv) {
|
|||
} else {
|
||||
curlevel->map[offset] = T_BLANK;
|
||||
}
|
||||
curlevel->map2[offset] = T_BLANK;
|
||||
drawtile(screen,x,y);
|
||||
}
|
||||
}
|
||||
printf("cleared level\n");
|
||||
toggletimer = 30;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -605,6 +628,17 @@ int savelevel(int wnum, int lnum) {
|
|||
fprintf(f, "\n");
|
||||
}
|
||||
|
||||
fprintf(f, "layer2\n");
|
||||
/* 2nd layer data - only where needed */
|
||||
for (y = 0; y < LEVELH; y++) {
|
||||
for (x = 0; x < LEVELW; x++) {
|
||||
if (level->map2[y*LEVELW+x] != T_BLANK) {
|
||||
// x,y,tileid
|
||||
fprintf(f, "%d,%d,%d\n",x,y,level->map2[y*LEVELW+x]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fclose(f);
|
||||
|
||||
printf("Level saved to '%s'\n",filename);
|
||||
|
|
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 398 B |
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 349 B |
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 325 B |
Before Width: | Height: | Size: 663 B After Width: | Height: | Size: 378 B |
Before Width: | Height: | Size: 695 B |
After Width: | Height: | Size: 306 B |
Before Width: | Height: | Size: 213 B After Width: | Height: | Size: 276 B |
Before Width: | Height: | Size: 579 B After Width: | Height: | Size: 348 B |
After Width: | Height: | Size: 400 B |
After Width: | Height: | Size: 418 B |
322
rc.c
|
@ -179,7 +179,6 @@ int main (int argc, char **argv) {
|
|||
curlevelnum-- ; // since nexlevel() will increment it
|
||||
nextlevel();
|
||||
//drawlevel();
|
||||
/* TODO: place player */
|
||||
flip();
|
||||
|
||||
timer = 0;
|
||||
|
@ -305,10 +304,31 @@ int main (int argc, char **argv) {
|
|||
}
|
||||
if (keys[SDLK_x]) {
|
||||
if (isinwater(player)) {
|
||||
player->jumping = B_FALSE;
|
||||
player->falling = B_FALSE;
|
||||
if (!isroofabove(player)) {
|
||||
player->y -= (getspeed(player)*3);
|
||||
if (!player->jumping) {
|
||||
//player->jumping = B_FALSE;
|
||||
player->falling = B_FALSE;
|
||||
if (!isroofabove(player)) {
|
||||
// is there water above us too?
|
||||
if (isinwaterpoint(player->x, player->y-TILEH)) {
|
||||
// if so, swim up
|
||||
player->y -= (getspeed(player)*3);
|
||||
} else {
|
||||
int whichway;
|
||||
// if not, jump up
|
||||
player->climbing = B_FALSE;
|
||||
if (keys[SDLK_RIGHT]) {
|
||||
whichway = 1;
|
||||
} else if (keys[SDLK_LEFT]) {
|
||||
whichway = -1;
|
||||
} else {
|
||||
whichway = 0;
|
||||
}
|
||||
// TODO: change to splash
|
||||
playfx(FX_JUMP);
|
||||
jump(player, whichway);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!player->jumping) {
|
||||
|
@ -332,7 +352,12 @@ int main (int argc, char **argv) {
|
|||
} else {
|
||||
whichway = 0;
|
||||
}
|
||||
playfx(FX_JUMP);
|
||||
if (player->ontramp) {
|
||||
playfx(FX_SPRING);
|
||||
} else {
|
||||
playfx(FX_JUMP);
|
||||
}
|
||||
|
||||
jump(player, whichway);
|
||||
}
|
||||
}
|
||||
|
@ -610,7 +635,7 @@ void jump(sprite_t *s, int dir) {
|
|||
if (s->jumping) return;
|
||||
if (s->jumptimer) return;
|
||||
|
||||
if (isonground(s)) {
|
||||
if (isonground(s) || isinwater(s)) {
|
||||
if (ismonster(s->id)) {
|
||||
s->jumpdir = dir;
|
||||
if (s->jumpdir != 0) {
|
||||
|
@ -623,7 +648,11 @@ void jump(sprite_t *s, int dir) {
|
|||
s->dir = s->jumpdir;
|
||||
}
|
||||
s->jumping = 1;
|
||||
s->jumpspeed = 5;
|
||||
if (s->ontramp) {
|
||||
s->jumpspeed = 7;
|
||||
} else {
|
||||
s->jumpspeed = 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -702,96 +731,107 @@ void cleanup(void) {
|
|||
|
||||
void checkcollide(sprite_t *s) {
|
||||
sprite_t *s2;
|
||||
int collide;
|
||||
int keepchecking;
|
||||
int xdiff,ydiff;
|
||||
|
||||
for (s2 = sprite ; s2 ; s2 = s2->next) {
|
||||
collide = B_TRUE;
|
||||
if (s2 == s) collide = B_FALSE;
|
||||
else if (s->dead) collide = B_FALSE;
|
||||
else if (s2->dead) collide = B_FALSE;
|
||||
else if (s->caughtby) collide = B_FALSE;
|
||||
else if (s2->caughtby) collide = B_FALSE;
|
||||
|
||||
if (collide) {
|
||||
/* check for colission with our net */
|
||||
if ((s->netting) && (!s2->caughtby)) {
|
||||
if (ismonster(s2->id) && s2->id != P_CLOUD) {
|
||||
xdiff = (s->x + s->netlen*s->netdir) - s2->x;
|
||||
if (xdiff < 0) xdiff = -xdiff;
|
||||
ydiff = s->netystart - (s2->y - s2->img->h/2);
|
||||
if (ydiff < 0) ydiff = -ydiff;
|
||||
if (s2 == s) continue;
|
||||
else if (s->dead) continue;
|
||||
else if (s2->dead) continue;
|
||||
else if (s->caughtby) continue;
|
||||
else if (s2->caughtby) continue;
|
||||
else if (s2->teleporting) continue;
|
||||
|
||||
if ((xdiff <= s2->img->w/2) && (ydiff <= s2->img->h)) {
|
||||
// we hit something!
|
||||
keepchecking = B_TRUE;
|
||||
|
||||
// if we have a boxing glove, it dies
|
||||
if (s->powerup == PW_BOXING) {
|
||||
s2->dead = D_BOUNCING;// die as soon as it hits a wall
|
||||
s2->bounces = 1;
|
||||
s2->quickdie = B_TRUE;
|
||||
|
||||
/* go FAST in the direction player is facing */
|
||||
s2->xs = s->dir * 5;
|
||||
s2->ys = 0;
|
||||
|
||||
/* slightly raise the sprite to avoid isonground() being true */
|
||||
s2->y -= 3;
|
||||
|
||||
/* make sure we're not too high since we'll never get lower now */
|
||||
if (s2->y <= TILEH) s2->y = TILEH+1;
|
||||
|
||||
// become something special
|
||||
s2->willbecome = P_DIAMOND;
|
||||
|
||||
playfx(FX_KILL);
|
||||
} else {
|
||||
// otherwise we caught it if we have enough nets
|
||||
if (s->netcaught < s->netmax) {
|
||||
s2->caughtby = s;
|
||||
s2->jumping = 0;
|
||||
s2->falling = 0;
|
||||
s2->caughtstate = C_NETTING;
|
||||
s->netcaught++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* check for collision with us */
|
||||
xdiff = s->x - s2->x;
|
||||
/* check for colission with our net */
|
||||
if (s->netting ) {
|
||||
if (ismonster(s2->id) && s2->id != P_CLOUD) {
|
||||
xdiff = (s->x + s->netlen*s->netdir) - s2->x;
|
||||
if (xdiff < 0) xdiff = -xdiff;
|
||||
ydiff = (s->y-(s->img->h/2)) - (s2->y-(s2->img->h/2));
|
||||
ydiff = s->netystart - (s2->y - s2->img->h/2);
|
||||
if (ydiff < 0) ydiff = -ydiff;
|
||||
|
||||
if ((xdiff <= s->img->w/2 + s2->img->w/2) &&
|
||||
(ydiff <= s->img->h/2 + s2->img->h/2)) {
|
||||
/* COLLISION! */
|
||||
if (isfruit(s2->id) && (s2->teleporting == 0)) {
|
||||
if (s == player) {
|
||||
int gotscore = s2->score;
|
||||
|
||||
/* kill the fruit */
|
||||
s2->dead = D_FINAL;
|
||||
/* give points to the player */
|
||||
player->score = player->score + gotscore;
|
||||
/* handle fruit effects */
|
||||
if (!dofruiteffect(s2)) {
|
||||
playfx(FX_FRUIT);
|
||||
sprintf(tempm, "%d", gotscore);
|
||||
addtext(s2->x,s2->y - s2->img->h/2, TEXTSIZE_POINTS, tempm, &white,POINTSDELAY);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ismonster(s2->id) || isbullet(s2->id)) {
|
||||
if ((s == player) && (!s->invuln)) {
|
||||
die(s);
|
||||
if ((xdiff <= s2->img->w/2) && (ydiff <= s2->img->h)) {
|
||||
// we hit something!
|
||||
|
||||
// if we have a boxing glove, it dies
|
||||
if (s->powerup == PW_BOXING) {
|
||||
s2->dead = D_BOUNCING;// die as soon as it hits a wall
|
||||
s2->bounces = 1;
|
||||
s2->quickdie = B_TRUE;
|
||||
|
||||
/* go FAST in the direction player is facing */
|
||||
s2->xs = s->dir * 5;
|
||||
s2->ys = 0;
|
||||
|
||||
/* slightly raise the sprite to avoid isonground() being true */
|
||||
s2->y -= 3;
|
||||
|
||||
/* make sure we're not too high since we'll never get lower now */
|
||||
if (s2->y <= TILEH) s2->y = TILEH+1;
|
||||
|
||||
// become something special
|
||||
s2->willbecome = P_DIAMOND;
|
||||
|
||||
playfx(FX_KILL);
|
||||
|
||||
keepchecking = B_FALSE;
|
||||
} else {
|
||||
// otherwise we caught it if we have enough nets
|
||||
if (s->netcaught < s->netmax) {
|
||||
s2->caughtby = s;
|
||||
s2->jumping = B_FALSE;
|
||||
s2->falling = 0;
|
||||
s2->caughtstate = C_NETTING;
|
||||
s->netcaught++;
|
||||
|
||||
keepchecking = B_FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} // end if s->netting
|
||||
|
||||
|
||||
// don't keep going if this sprite has now been killed/caught
|
||||
if (!keepchecking) continue;
|
||||
|
||||
/* now check for collision with us */
|
||||
xdiff = s->x - s2->x;
|
||||
if (xdiff < 0) xdiff = -xdiff;
|
||||
ydiff = (s->y-(s->img->h/2)) - (s2->y-(s2->img->h/2));
|
||||
if (ydiff < 0) ydiff = -ydiff;
|
||||
|
||||
if ((xdiff <= s->img->w/2 + s2->img->w/2) &&
|
||||
(ydiff <= s->img->h/2 + s2->img->h/2)) {
|
||||
/* COLLISION! */
|
||||
|
||||
// was it with the player?
|
||||
if (s == player) { // TODO: redundant - we only ever call checkcollide() for the player!
|
||||
//if (isfruit(s2->id) && (s2->teleporting == 0)) {
|
||||
if (isfruit(s2->id)) {
|
||||
int gotscore = s2->score;
|
||||
|
||||
/* kill the fruit */
|
||||
s2->dead = D_FINAL;
|
||||
/* give points to the player */
|
||||
player->score = player->score + gotscore;
|
||||
/* handle fruit effects */
|
||||
if (!dofruiteffect(s2)) {
|
||||
playfx(FX_FRUIT);
|
||||
sprintf(tempm, "%d", gotscore);
|
||||
addtext(s2->x,s2->y - s2->img->h/2, TEXTSIZE_POINTS, tempm, &white,POINTSDELAY);
|
||||
}
|
||||
} else if (ismonster(s2->id) || isbullet(s2->id)) {
|
||||
if (!s->invuln) {
|
||||
die(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} // end for each sprite
|
||||
}
|
||||
|
||||
|
||||
|
@ -1238,7 +1278,6 @@ void movesprite(sprite_t *s) {
|
|||
if (s->timer1) {
|
||||
s->timer1--;
|
||||
if (s->timer1 == 0) {
|
||||
printf("can shoot again\n");
|
||||
}
|
||||
}
|
||||
if (!s->falling) {
|
||||
|
@ -1391,6 +1430,16 @@ printf("can shoot again\n");
|
|||
s->dir = absxs;
|
||||
s->moved = B_TRUE;
|
||||
} else if (s->id == P_SPIDER) {
|
||||
/* timer1 loopsfrom 0 - 45
|
||||
|
||||
if timer2 is 0, we can shoot. if it is 1, we can't.
|
||||
|
||||
*/
|
||||
|
||||
if (s->timer1) {
|
||||
s->timer1--;
|
||||
}
|
||||
|
||||
/* if on ground, go up */
|
||||
if (isonground(s) && !s->flies) {
|
||||
s->flies = B_TRUE;
|
||||
|
@ -1428,7 +1477,9 @@ printf("can shoot again\n");
|
|||
/* drop if player is close */
|
||||
xdiff = player->x - s->x;
|
||||
if (xdiff < 0) xdiff =-xdiff;
|
||||
if ((player->y > s->y) && (xdiff <= (TILEW*2))) {
|
||||
|
||||
if ((player->y > s->y) && (xdiff <= (TILEW*2)) && (s->timer1 == 0)) {
|
||||
s->timer1 = 100;
|
||||
s->flies = B_FALSE;
|
||||
s->falling = B_TRUE;
|
||||
s->fallspeed = 8;
|
||||
|
@ -1523,13 +1574,14 @@ void dotileeffects(sprite_t *s) {
|
|||
tiletype_t *tt;
|
||||
int finished = B_FALSE;
|
||||
int state = 0;
|
||||
int tilex,tiley;
|
||||
|
||||
if (s->jumping || s->dead || s->caughtby) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* check where we are */
|
||||
tt = gettileat(s->x,s->y-2,NULL,NULL);
|
||||
tt = gettileat(s->x,s->y-2,&tilex,&tiley);
|
||||
if ((tt->id == T_TELEPORT) || (tt->id == T_TELEPORT2)) {
|
||||
if (s->id == P_PLAYER || ismonster(s->id)) {
|
||||
if (s->id != P_CLOUD) {
|
||||
|
@ -1537,10 +1589,15 @@ void dotileeffects(sprite_t *s) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* check under us */
|
||||
tt = gettileat(s->x,s->y+3,NULL,NULL);
|
||||
tt = gettileat(s->x,s->y+3,&tilex,&tiley);
|
||||
|
||||
// CHECKS WHICH COUlD APPLY TO TILES UNDER AND SLIGHTLY LEFT/RIGHT OF US
|
||||
while (!finished) {
|
||||
|
||||
|
||||
if (tt->id == T_RIGHT) {
|
||||
if (!ismonster(s->id) && !isfruit(s->id)) {
|
||||
movex(s, 1.5);
|
||||
|
@ -1560,14 +1617,39 @@ void dotileeffects(sprite_t *s) {
|
|||
}
|
||||
}
|
||||
finished = B_TRUE;
|
||||
} else if (tt->id == T_TRAMPUP) {
|
||||
/* tile changes to trampoline down */
|
||||
|
||||
// are we on a trampoline already?
|
||||
if (s->ontramp) {
|
||||
// a different one?
|
||||
if ((s->trampx != tilex) || (s->trampy != tiley)) {
|
||||
// if a different one, release it
|
||||
curlevel->map[s->trampy * LEVELW + s->trampx] = getuniq(T_TRAMPUP);
|
||||
drawtile(temps, s->trampx, s->trampy);
|
||||
}
|
||||
} else {
|
||||
// remember we were on it so it can release
|
||||
s->ontramp = B_TRUE;
|
||||
s->trampx = tilex;
|
||||
s->trampy = tiley;
|
||||
|
||||
// move it down then draw it
|
||||
curlevel->map[tiley*LEVELW+tilex] = getuniq(T_TRAMPDOWN);
|
||||
drawtile(temps, tilex, tiley);
|
||||
}
|
||||
finished = B_TRUE;
|
||||
} else if (tt->id == T_TRAMPDOWN) {
|
||||
// don't keep checking tiles left/right
|
||||
finished = B_TRUE;
|
||||
} else {
|
||||
if (state == 0) {
|
||||
/* check tile to our right */
|
||||
tt = gettileat(s->x + s->img->w/2,s->y+3,NULL,NULL);
|
||||
tt = gettileat(s->x + s->img->w/2,s->y+3,&tilex,&tiley);
|
||||
state = 1;
|
||||
} else if (state == 1) {
|
||||
/* check tile to our left */
|
||||
tt = gettileat(s->x - s->img->w/2,s->y+3,NULL,NULL);
|
||||
tt = gettileat(s->x - s->img->w/2,s->y+3,&tilex,&tiley);
|
||||
state = 2;
|
||||
} else {
|
||||
finished = B_TRUE;
|
||||
|
@ -2152,8 +2234,12 @@ int isladderabove(sprite_t *s) {
|
|||
}
|
||||
|
||||
int isinwater(sprite_t *s) {
|
||||
return isinwaterpoint(s->x, s->y - s->img->h/2);
|
||||
}
|
||||
|
||||
int isinwaterpoint(int x, int y) {
|
||||
tiletype_t *tt;
|
||||
tt = gettileat(s->x, s->y - s->img->h/2, NULL, NULL);
|
||||
tt = gettileat(x, y, NULL, NULL);
|
||||
if (tt->water) {
|
||||
return B_TRUE;
|
||||
}
|
||||
|
@ -2167,9 +2253,9 @@ int isroofabove(sprite_t *s) {
|
|||
/* get tile above sprite's head */
|
||||
tt = gettileat(s->x, s->y - s->img->h,NULL,NULL);
|
||||
if (tt->solid) return B_TRUE;
|
||||
tt = gettileat(s->x + s->img->w/2, s->y - s->img->h,NULL,NULL);
|
||||
tt = gettileat(s->x + s->img->w/3, s->y - s->img->h,NULL,NULL);
|
||||
if (tt->solid) return B_TRUE;
|
||||
tt = gettileat(s->x - s->img->w/2, s->y - s->img->h,NULL,NULL);
|
||||
tt = gettileat(s->x - s->img->w/3, s->y - s->img->h,NULL,NULL);
|
||||
if (tt->solid) return B_TRUE;
|
||||
|
||||
return B_FALSE;
|
||||
|
@ -2275,6 +2361,25 @@ int isongroundpoint(sprite_t *s, int x,int y) {
|
|||
|
||||
void dogravity(sprite_t *s) {
|
||||
sprite_t *s2;
|
||||
tiletype_t *tt;
|
||||
int tilex,tiley;
|
||||
|
||||
|
||||
// if we were on a trampoline and are now not, it releases */
|
||||
tt = gettileat(s->x,s->y,&tilex,&tiley);
|
||||
if (s->ontramp) {
|
||||
if (s->trampy != tiley) {
|
||||
// change tile type
|
||||
curlevel->map[s->trampy * LEVELW + s->trampx] = getuniq(T_TRAMPUP);
|
||||
drawtile(temps, s->trampx, s->trampy);
|
||||
|
||||
// update sprite settings
|
||||
s->ontramp = B_FALSE;
|
||||
s->trampx = -1;
|
||||
s->trampy = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (s->dead) return;
|
||||
if (s->flies) return;
|
||||
|
@ -2293,19 +2398,20 @@ void dogravity(sprite_t *s) {
|
|||
s->y -= s->jumpspeed;
|
||||
s->jumping++;
|
||||
if (s->jumping % 5 == 0) {
|
||||
if (s->jumpspeed > 0) s->jumpspeed--;
|
||||
else {
|
||||
s->jumping = 0;
|
||||
s->falling = B_TRUE;
|
||||
s->fallspeed = 0;
|
||||
}
|
||||
if (s->jumpspeed > 0) {
|
||||
s->jumpspeed--;
|
||||
} else {
|
||||
s->jumping = B_FALSE;
|
||||
s->falling = B_TRUE;
|
||||
s->fallspeed = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* have we hit a roof ? */
|
||||
/* can jump through one tile, but not two or more */
|
||||
if (isroofabove(s) && isroofnabove(s,2)) {
|
||||
/* stop jumping */
|
||||
s->jumping = 0;
|
||||
s->jumping = B_FALSE;
|
||||
s->falling = B_TRUE;
|
||||
s->fallspeed = 0;
|
||||
}
|
||||
|
@ -2482,7 +2588,7 @@ int movex(sprite_t *s,double amt) {
|
|||
curx = s->x;
|
||||
cury = s->y;
|
||||
|
||||
/* check for blockage in front of us */
|
||||
/* check for blockage to E/W */
|
||||
//newx = s->x + (amtdir*(s->img->w/2));
|
||||
newx = s->x + (amtdir*TILEW/2);
|
||||
newy = cury-TILEH;
|
||||
|
@ -2494,6 +2600,19 @@ int movex(sprite_t *s,double amt) {
|
|||
return B_TRUE;
|
||||
}
|
||||
|
||||
// if falling, check the tile directly to our SW/SEtoo */
|
||||
if (s->falling) {
|
||||
newx = s->x + (amtdir*TILEW/2);
|
||||
newy = cury;
|
||||
tt2 = gettileat(newx,newy,&newtilex,&newtiley);
|
||||
if (tt2->solid == S_SOLID) {
|
||||
return B_TRUE;
|
||||
}
|
||||
if (tt2->solid == S_SLOPE && (!candoslopes(s->id))) {
|
||||
return B_TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* get new position */
|
||||
newx = curx + amt;
|
||||
newy = cury-2;
|
||||
|
@ -2759,6 +2878,7 @@ int initsound(void) {
|
|||
loadfx(FX_BONUS, "bonus.wav");
|
||||
loadfx(FX_MORPH, "morph.wav");
|
||||
loadfx(FX_BOOM, "boom.wav");
|
||||
loadfx(FX_SPRING, "spring.wav");
|
||||
|
||||
|
||||
// load sound effects
|
||||
|
|
1
rc.h
|
@ -14,6 +14,7 @@ int movex(sprite_t *s,double amt);
|
|||
void bouncesprite(sprite_t *s);
|
||||
void movesprite(sprite_t *s);
|
||||
int isinwater(sprite_t *s);
|
||||
int isinwaterpoint(int x, int y);
|
||||
int isroofabove(sprite_t *s);
|
||||
int isroofnabove(sprite_t *s,int howfar);
|
||||
int isonground(sprite_t *s);
|
||||
|
|
71
shared.c
|
@ -23,6 +23,7 @@
|
|||
int loadlevel(int wnum, int lnum) {
|
||||
FILE *f;
|
||||
int x,y;
|
||||
int xx,yy;
|
||||
char buf[BUFLEN];
|
||||
char buf2[BUFLEN];
|
||||
char filename[BUFLEN];
|
||||
|
@ -38,6 +39,7 @@ int loadlevel(int wnum, int lnum) {
|
|||
tiletype_t *lasttile;
|
||||
int newversion;
|
||||
int numanim = 0;
|
||||
int leveldone;
|
||||
int tempanim[LEVELW*LEVELH];
|
||||
|
||||
int numenemies = 0;
|
||||
|
@ -322,7 +324,8 @@ printf("got %d monsters\n", numenemies);
|
|||
|
||||
x = 0;
|
||||
y = 0;
|
||||
while (!feof(f)) {
|
||||
leveldone = B_FALSE;
|
||||
while (!leveldone) {
|
||||
/* process a line of level data */
|
||||
if (newversion) {
|
||||
strncpy(buf2, buf, BUFLEN);
|
||||
|
@ -532,6 +535,35 @@ printf("got %d monsters\n", numenemies);
|
|||
y++;
|
||||
x = 0;
|
||||
fgets(buf, BUFLEN, f);
|
||||
if (feof(f)) {
|
||||
leveldone = B_TRUE;
|
||||
} else if (strstr(buf, "layer2")) {
|
||||
leveldone = B_TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// clear out layer2 by default
|
||||
for (xx = 0; xx < LEVELW; xx++) {
|
||||
for (yy = 0; yy < LEVELH; yy++) {
|
||||
level->map2[yy*LEVELW+xx] = T_BLANK;
|
||||
}
|
||||
}
|
||||
|
||||
if (!feof(f)) {
|
||||
int tid,xx,yy;
|
||||
printf("found second layer\n");
|
||||
// second layer exists - read it
|
||||
fgets(buf, BUFLEN, f);
|
||||
while (!feof(f)) {
|
||||
// format is x,y,tileid
|
||||
p = strtok(buf, ","); xx = atoi(p);
|
||||
p = strtok(NULL, ","); yy = atoi(p);
|
||||
p = strtok(NULL, ","); tid = atoi(p);
|
||||
|
||||
level->map2[yy*LEVELW+xx] = tid;
|
||||
|
||||
fgets(buf, BUFLEN, f);
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
|
||||
|
@ -647,6 +679,9 @@ void setdefaults(sprite_t *s) {
|
|||
s->netbig = 0;
|
||||
s->dropping = 0;
|
||||
s->dropx = -1;
|
||||
s->ontramp = B_FALSE;
|
||||
s->trampx = -1;
|
||||
s->trampy = -1;
|
||||
s->quickdie = B_FALSE;
|
||||
s->dropy = -1;
|
||||
s->falling = 0;
|
||||
|
@ -752,6 +787,8 @@ sprite_t *addsprite(int id, int x, int y, char *name ) {
|
|||
|
||||
tiletype_t *gettileat(int pixx,int pixy, int *tilex,int *tiley) {
|
||||
int tx,ty;
|
||||
int tid;
|
||||
|
||||
tx = pixx / TILEW;
|
||||
ty = pixy / TILEH;
|
||||
if (tilex != NULL) {
|
||||
|
@ -761,7 +798,12 @@ tiletype_t *gettileat(int pixx,int pixy, int *tilex,int *tiley) {
|
|||
*tiley = ty;
|
||||
}
|
||||
|
||||
return gettile(curlevel->map[ty*LEVELW+tx]);
|
||||
// return layer2 if it exists
|
||||
tid = curlevel->map2[ty*LEVELW+tx];
|
||||
if (tid == T_BLANK) {
|
||||
tid = curlevel->map[ty*LEVELW+tx];
|
||||
}
|
||||
return gettile(tid);
|
||||
}
|
||||
|
||||
int loadtiletypes(char *filename) {
|
||||
|
@ -1390,6 +1432,8 @@ int isfruit(int id) {
|
|||
case P_GEMYELLOW:
|
||||
case P_GEMRED:
|
||||
case P_GEMPURPLE:
|
||||
/* misc */
|
||||
case P_POWERUPPOS:
|
||||
return B_TRUE;
|
||||
|
||||
}
|
||||
|
@ -1593,16 +1637,26 @@ char monstertochar(int id ) {
|
|||
return '\0';
|
||||
}
|
||||
|
||||
tiletype_t *gettile(int tid) {
|
||||
tiletype_t *gettile(int uniqid) {
|
||||
tiletype_t *t;
|
||||
|
||||
for (t = tiletype; t ; t = t->next) {
|
||||
if (t->uniqid == tid) return t;
|
||||
if (t->uniqid == uniqid) return t;
|
||||
}
|
||||
|
||||
return &fakeblock;
|
||||
}
|
||||
|
||||
int getuniq(int tileid) {
|
||||
tiletype_t *t;
|
||||
|
||||
for (t = tiletype; t ; t = t->next) {
|
||||
if (t->id == tileid) return t->uniqid;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void drawtile(SDL_Surface *where, int x, int y) {
|
||||
SDL_Rect area;
|
||||
tiletype_t *tt;
|
||||
|
@ -1629,6 +1683,15 @@ void drawtile(SDL_Surface *where, int x, int y) {
|
|||
SDL_BlitSurface(tt->img[frame], NULL, where, &area);
|
||||
}
|
||||
|
||||
/* now draw layer2 if it exists */
|
||||
if (curlevel->map2[offset] != T_BLANK) {
|
||||
tt = gettile(curlevel->map2[offset]);
|
||||
if (tt->id != curlevel->bgtileid) {
|
||||
SDL_BlitSurface(tt->img[frame], NULL, where, &area);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void initglobals(void) {
|
||||
|
|
3
shared.h
|
@ -28,7 +28,8 @@ void drawline16(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c
|
|||
int getcolor(SDL_Surface *dest, int x, int y, SDL_Color *col);
|
||||
int chartomonster(char ch);
|
||||
char monstertochar(int id);
|
||||
tiletype_t *gettile(int tid);
|
||||
tiletype_t *gettile(int uniqid);
|
||||
int getuniq(int tileid);
|
||||
void drawtile(SDL_Surface *s, int x, int y);
|
||||
void initglobals(void);
|
||||
void killtext(text_t *t);
|
||||
|
|
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 679 B |
After Width: | Height: | Size: 840 B |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 839 B |
|
@ -31,7 +31,7 @@ endmonsters
|
|||
exitdir 1
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
|
@ -59,3 +59,4 @@ exitdir 1
|
|||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
layer2
|
||||
|
|
|
@ -6,6 +6,7 @@ help
|
|||
endhelp
|
||||
monsters
|
||||
1 3 28
|
||||
! 37 15
|
||||
C 33 7
|
||||
C 11 13
|
||||
r 13 5
|
||||
|
@ -32,7 +33,6 @@ P 36 24
|
|||
P 38 24
|
||||
S 31 24
|
||||
r 20 21
|
||||
! 37 15
|
||||
endmonsters
|
||||
exitdir 1
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
|
@ -41,27 +41,171 @@ exitdir 1
|
|||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,1,1,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,1,1,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,28,28,28,28,28,28,28,1,4,
|
||||
4,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,27,27,27,27,27,27,27,1,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,1,1,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,1,1,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,1,1,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,1,1,1,1,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,1,1,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,1,1,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,1,28,28,28,28,28,28,28,28,28,28,28,28,28,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,1,27,27,27,27,27,27,27,27,27,27,27,27,27,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,1,1,1,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,4,4,4,4,4,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,4,4,4,4,4,4,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,1,1,1,28,28,28,28,28,28,28,28,28,28,28,1,1,1,1,4,4,4,4,4,4,4,4,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,4,4,4,4,4,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,4,4,4,4,4,4,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,1,1,1,27,27,27,27,27,27,27,27,27,27,27,1,1,1,1,4,4,4,4,4,4,4,4,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
1,1,1,1,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,1,1,1,1,
|
||||
1,1,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,1,1,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
||||
layer2
|
||||
8,6,28
|
||||
9,6,28
|
||||
10,6,28
|
||||
11,6,28
|
||||
12,6,28
|
||||
13,6,28
|
||||
14,6,28
|
||||
15,6,28
|
||||
16,6,28
|
||||
17,6,28
|
||||
18,6,28
|
||||
19,6,28
|
||||
20,6,28
|
||||
21,6,28
|
||||
22,6,28
|
||||
23,6,28
|
||||
24,6,28
|
||||
15,7,27
|
||||
16,7,27
|
||||
17,7,27
|
||||
18,7,27
|
||||
19,7,27
|
||||
31,8,28
|
||||
32,8,28
|
||||
33,8,28
|
||||
34,8,28
|
||||
35,8,28
|
||||
36,8,28
|
||||
37,8,28
|
||||
15,9,27
|
||||
16,9,27
|
||||
17,9,27
|
||||
18,9,27
|
||||
19,9,27
|
||||
20,9,27
|
||||
8,10,28
|
||||
9,10,28
|
||||
10,10,28
|
||||
11,10,28
|
||||
12,10,28
|
||||
13,10,28
|
||||
14,10,28
|
||||
15,10,28
|
||||
16,10,28
|
||||
17,10,28
|
||||
18,10,28
|
||||
19,10,28
|
||||
20,10,28
|
||||
21,10,28
|
||||
22,10,28
|
||||
23,10,28
|
||||
24,10,28
|
||||
8,14,28
|
||||
9,14,28
|
||||
10,14,28
|
||||
11,14,28
|
||||
12,14,28
|
||||
13,14,28
|
||||
14,14,28
|
||||
15,14,28
|
||||
16,14,28
|
||||
17,14,28
|
||||
18,14,28
|
||||
19,14,28
|
||||
20,14,28
|
||||
21,14,28
|
||||
22,14,28
|
||||
23,14,28
|
||||
24,14,28
|
||||
25,14,28
|
||||
26,14,28
|
||||
13,15,27
|
||||
15,15,27
|
||||
17,15,27
|
||||
18,15,27
|
||||
19,15,27
|
||||
22,15,27
|
||||
23,15,27
|
||||
5,18,28
|
||||
6,18,28
|
||||
7,18,28
|
||||
8,18,28
|
||||
9,18,28
|
||||
10,18,28
|
||||
11,18,28
|
||||
12,18,28
|
||||
13,18,28
|
||||
14,18,28
|
||||
15,18,28
|
||||
16,18,28
|
||||
17,18,28
|
||||
13,19,27
|
||||
14,19,27
|
||||
15,19,27
|
||||
16,19,27
|
||||
10,22,28
|
||||
11,22,28
|
||||
12,22,28
|
||||
13,22,28
|
||||
14,22,28
|
||||
15,22,28
|
||||
16,22,28
|
||||
17,22,28
|
||||
18,22,28
|
||||
19,22,28
|
||||
20,22,28
|
||||
4,25,28
|
||||
5,25,28
|
||||
6,25,28
|
||||
7,25,28
|
||||
8,25,28
|
||||
9,25,28
|
||||
10,25,28
|
||||
11,25,28
|
||||
12,25,28
|
||||
13,25,28
|
||||
14,25,28
|
||||
15,25,28
|
||||
16,25,28
|
||||
17,25,28
|
||||
18,25,28
|
||||
19,25,28
|
||||
20,25,28
|
||||
21,25,28
|
||||
22,25,28
|
||||
23,25,28
|
||||
24,25,28
|
||||
25,25,28
|
||||
26,25,28
|
||||
27,25,28
|
||||
28,25,28
|
||||
29,25,28
|
||||
30,25,28
|
||||
31,25,28
|
||||
32,25,28
|
||||
33,25,28
|
||||
34,25,28
|
||||
35,25,28
|
||||
26,26,27
|
||||
27,26,27
|
||||
28,26,27
|
||||
29,26,27
|
||||
30,26,27
|
||||
|
|
|
@ -3,9 +3,11 @@ bg 0
|
|||
hurryup 56
|
||||
endmaps
|
||||
help
|
||||
Jump onto trampolines to bounce high...
|
||||
endhelp
|
||||
monsters
|
||||
1 5 28
|
||||
1 17 28
|
||||
! 19 19
|
||||
a 23 18
|
||||
a 14 10
|
||||
a 21 7
|
||||
|
@ -14,7 +16,6 @@ r 2 16
|
|||
r 2 8
|
||||
r 38 4
|
||||
r 35 20
|
||||
r 4 24
|
||||
C 23 1
|
||||
C 7 1
|
||||
P 24 28
|
||||
|
@ -33,12 +34,8 @@ Y 3 20
|
|||
Y 2 20
|
||||
Y 36 8
|
||||
Y 37 8
|
||||
Y 37 24
|
||||
Y 36 24
|
||||
@ 37 20
|
||||
@ 36 20
|
||||
@ 3 24
|
||||
@ 2 24
|
||||
@ 2 16
|
||||
@ 3 16
|
||||
@ 37 12
|
||||
|
@ -54,9 +51,9 @@ Y 36 24
|
|||
P 20 1
|
||||
P 19 1
|
||||
P 21 1
|
||||
! 19 19
|
||||
? 15 28
|
||||
endmonsters
|
||||
exitdir 1
|
||||
exitdir 2
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,20,20,20,20,20,20,20,20,20,20,20,25,25,25,25,25,25,25,25,25,25,25,20,20,20,20,20,20,20,20,20,20,0,0,0,4,
|
||||
|
@ -82,8 +79,9 @@ exitdir 1
|
|||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,26,24,24,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,26,24,24,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,26,24,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,20,20,20,20,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,26,24,0,0,0,0,0,0,0,0,0,20,20,20,20,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,26,24,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,17,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,0,17,0,0,0,0,0,0,4,
|
||||
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
|
||||
layer2
|
||||
|
|
|
@ -6,6 +6,7 @@ help
|
|||
endhelp
|
||||
monsters
|
||||
1 4 27
|
||||
! 18 16
|
||||
r 10 4
|
||||
r 23 8
|
||||
r 23 16
|
||||
|
@ -38,7 +39,6 @@ Y 26 8
|
|||
@ 27 8
|
||||
@ 33 16
|
||||
Y 7 16
|
||||
! 18 16
|
||||
endmonsters
|
||||
exitdir -2
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
|
@ -54,11 +54,11 @@ exitdir -2
|
|||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,28,28,28,28,28,28,28,28,28,3,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,27,27,27,27,27,27,27,27,27,3,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,27,27,27,27,27,27,27,27,27,4,3,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,27,27,27,27,27,27,27,27,27,4,4,3,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,27,27,27,27,27,27,27,27,27,4,4,4,3,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,1,1,1,1,1,1,1,1,4,4,4,4,28,28,28,27,27,27,28,28,28,4,4,4,4,1,1,1,1,1,1,1,0,0,0,4,
|
||||
4,0,0,0,1,1,1,1,1,1,1,1,4,4,4,4,27,27,27,27,27,27,27,27,27,4,4,4,4,1,1,1,1,1,1,1,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
|
@ -71,3 +71,22 @@ exitdir -2
|
|||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,11,11,11,11,11,11,11,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
||||
layer2
|
||||
16,13,28
|
||||
17,13,28
|
||||
18,13,28
|
||||
19,13,28
|
||||
20,13,28
|
||||
21,13,28
|
||||
22,13,28
|
||||
23,13,28
|
||||
24,13,28
|
||||
16,17,28
|
||||
17,17,28
|
||||
18,17,28
|
||||
19,17,28
|
||||
20,17,28
|
||||
21,17,28
|
||||
22,17,28
|
||||
23,17,28
|
||||
24,17,28
|
||||
|
|
|
@ -6,7 +6,8 @@ help
|
|||
Rolling logs will push you along.
|
||||
endhelp
|
||||
monsters
|
||||
1 4 27
|
||||
1 5 25
|
||||
! 19 1
|
||||
P 21 1
|
||||
Y 8 21
|
||||
Y 31 21
|
||||
|
@ -42,7 +43,6 @@ C 20 1
|
|||
r 22 9
|
||||
r 26 13
|
||||
r 16 17
|
||||
! 19 1
|
||||
endmonsters
|
||||
exitdir -2
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
|
@ -73,5 +73,19 @@ exitdir -2
|
|||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,27,27,27,27,27,27,27,27,27,27,27,27,27,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,31,31,31,31,31,31,31,31,31,31,31,31,31,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,27,27,27,27,27,27,27,27,27,27,27,27,27,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
layer2
|
||||
13,28,11
|
||||
14,28,11
|
||||
15,28,11
|
||||
16,28,11
|
||||
17,28,11
|
||||
18,28,11
|
||||
19,28,11
|
||||
20,28,11
|
||||
21,28,11
|
||||
22,28,11
|
||||
23,28,11
|
||||
24,28,11
|
||||
25,28,11
|
||||
|
|
|
@ -37,24 +37,29 @@ exitdir 1
|
|||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,23,23,19,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,1,1,8,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,24,24,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,18,19,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,8,1,1,1,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,1,1,1,1,1,8,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,1,1,1,8,1,1,1,1,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
||||
layer2
|
||||
4,9,8
|
||||
35,14,8
|
||||
15,19,8
|
||||
26,23,8
|
||||
|
|
|
@ -55,7 +55,7 @@ exitdir 2
|
|||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,8,1,1,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,22,22,22,21,21,21,21,21,20,20,20,1,1,8,0,0,0,4,
|
||||
4,0,0,0,1,1,1,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,22,22,22,21,21,21,21,21,20,20,20,1,1,1,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,
|
||||
|
@ -79,3 +79,6 @@ exitdir 2
|
|||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,12,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,13,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,
|
||||
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
|
||||
layer2
|
||||
4,6,8
|
||||
35,6,8
|
||||
|
|
|
@ -5,11 +5,11 @@ endmaps
|
|||
help
|
||||
endhelp
|
||||
monsters
|
||||
1 7 12
|
||||
1 15 12
|
||||
! 3 12
|
||||
Y 10 12
|
||||
@ 17 17
|
||||
P 25 21
|
||||
! 3 12
|
||||
Y 13 12
|
||||
Y 11 12
|
||||
Y 12 12
|
||||
|
@ -19,8 +19,14 @@ Y 12 12
|
|||
P 24 21
|
||||
P 23 21
|
||||
P 26 21
|
||||
r 37 3
|
||||
endmonsters
|
||||
exitdir 1
|
||||
17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,4,
|
||||
31,31,31,31,31,31,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
|
@ -28,12 +34,7 @@ exitdir 1
|
|||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,1,1,1,1,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,1,1,1,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
|
@ -42,12 +43,14 @@ exitdir 1
|
|||
4,0,0,0,0,0,0,0,0,0,0,0,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,15,15,15,15,15,15,15,1,16,16,16,16,16,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,15,15,15,15,15,15,15,1,15,15,15,15,15,15,1,0,0,0,0,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,0,4,
|
||||
4,15,15,15,15,15,15,15,1,15,15,15,15,15,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
4,15,15,15,15,15,15,15,1,15,15,15,15,15,15,1,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
||||
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
layer2
|
||||
11,24,11
|
||||
|
|