diff --git a/data/levels/level1.dat b/data/levels/level1.dat index 12ad163..3e81d47 100644 --- a/data/levels/level1.dat +++ b/data/levels/level1.dat @@ -53,12 +53,12 @@ exitdir 1 4,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,0,0,0,0,0,4,4, 39,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,38,4,4,4,4,4,4,39,1,1,1,1,1,38,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,44,44,4,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,44,44,44,4,4,4,4,4,4,4,4,4, +4,4,4,4,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,4,4,4,4,4,4,4,4, +4,4,4,4,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,4,4,4,4,4,4,4, +4,4,4,4,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,44,44,44,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,44,44,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,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 diff --git a/data/levels/level4.dat b/data/levels/level4.dat index 9de3bdc..3fc070a 100644 --- a/data/levels/level4.dat +++ b/data/levels/level4.dat @@ -39,7 +39,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,30,0,0,0,0,0,0,0,0,0,0,0,30,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,35,20,20,21,21,21,21,21,21,21,21,20,20,34,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, @@ -47,19 +47,19 @@ exitdir 1 4,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,34,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,30,0,0,0,0,0,0,0,0,0,0,0,0,30,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,35,20,20,21,21,21,21,21,21,21,21,20,20,34,0,0,0,0,35,1,1,1,34,0,0,0,0,35,1,1,1,34,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,30,0,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,4, 4,0,0,0,35,1,1,1,34,0,0,0,0,35,1,1,1,34,0,0,0,0,35,20,20,21,21,21,21,21,21,21,21,20,20,34,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,30,0,0,0,0,0,0,0,0,0,0,0,0,30,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,35,20,20,21,21,21,21,21,21,21,21,20,20,34,0,0,0,0,35,1,1,1,34,0,0,0,0,35,1,1,1,34,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,30,0,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,4, 4,0,0,0,35,1,1,1,34,0,0,0,0,35,1,1,1,34,0,0,0,0,35,20,20,21,21,21,21,21,21,21,21,20,20,34,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, diff --git a/data/sprites/p1ready.png b/data/sprites/p1ready.png index 3e1b4b7..ab433a2 100644 Binary files a/data/sprites/p1ready.png and b/data/sprites/p1ready.png differ diff --git a/data/sprites/p2ready.png b/data/sprites/p2ready.png index 472be5a..73199a0 100644 Binary files a/data/sprites/p2ready.png and b/data/sprites/p2ready.png differ diff --git a/defs.h b/defs.h index f65a679..0fbc6b6 100644 --- a/defs.h +++ b/defs.h @@ -277,7 +277,7 @@ /* enums */ /* sounds */ -#define MAXFX 54 +#define MAXFX 55 #define FX_SHOOT 0 #define FX_SLAM 1 #define FX_KILL 2 @@ -332,6 +332,7 @@ #define FX_WAND 51 #define FX_WHISTLE 52 #define FX_EVILLAUGH 53 +#define FX_BIRDS 54 // card suits #define CS_HEART 1 diff --git a/rc.c b/rc.c index d727eda..325bb92 100644 --- a/rc.c +++ b/rc.c @@ -1979,6 +1979,7 @@ void checkcollide(sprite_t *s) { } else if (inintro() && (s->id == P_RAT)) { // collect fruits if (isfruit(s2->id)) { + playfx(FX_FRUIT); s2->dead = D_FINAL; puffin(-1, s2->x, s2->y, "nothing", 0); } @@ -7374,6 +7375,7 @@ int initsound(void) { loadfx(FX_WAND, "wand.wav"); loadfx(FX_WHISTLE, "whistle.wav"); loadfx(FX_EVILLAUGH, "evillaugh.wav"); + loadfx(FX_BIRDS, "birds.wav"); // load sound effects for (i = 0; i < MAXFX; i++) { @@ -9933,6 +9935,7 @@ void startgame(void) { player2->dir = D_LEFT; } + playfx(FX_BIRDS); // start timer timer = 0; @@ -11081,14 +11084,15 @@ int inintro(void) { void dointroseq(void) { if (introstate == IS_START) { if (gtime >= 1) { + playfx(FX_POWERUP); introstate = IS_YUM; } } else if (introstate == IS_YUM) { if (player) { - addoutlinetext(player->x,player->y - (player->img->h*1.5),TEXTSIZE_YUM,"Yum!",&white,&black,YUMDELAY, TT_INTROTEXT); + addoutlinetext(player->x,player->y - (player->img->h*1.5),TEXTSIZE_YUM,"Yum!",&red,&black,YUMDELAY, TT_INTROTEXT); } if (player2) { - addoutlinetext(player2->x,player2->y - (player2->img->h*1.5),TEXTSIZE_YUM,"Yum!",&white,&black,YUMDELAY, TT_INTROTEXT); + addoutlinetext(player2->x,player2->y - (player2->img->h*1.5),TEXTSIZE_YUM,"Yum!",&purple,&black,YUMDELAY, TT_INTROTEXT); } introstate = IS_YUMWAIT; // exits when yum text is gone @@ -11102,11 +11106,23 @@ void dointroseq(void) { } } if (player2) { - if (!player2->jumping && !player2->falling) { - jump(player2, D_LEFT); - player2->jumpspeed = 7; - } else if (player2->falling) { - movex(player2, -getspeed(player2)/2); + if (player) { + + if (player->jumping && player->jumpspeed <= 5) { + if (!player2->jumping && !player2->falling) { + jump(player2, D_LEFT); + player2->jumpspeed = 7; + } else if (player2->falling) { + movex(player2, -getspeed(player2)/2); + } + } + } else { + if (!player2->jumping && !player2->falling) { + jump(player2, D_LEFT); + player2->jumpspeed = 7; + } else if (player2->falling) { + movex(player2, -getspeed(player2)/2); + } } } if ((player && player->falling) || (player2 && player2->falling)) { @@ -11133,7 +11149,7 @@ void dointroseq(void) { } if (introstate == IS_RATS2) { // look around - if (timer % 15 == 0) { + if (timer % 20 == 0) { player->dir = -player->dir; } } @@ -11145,14 +11161,14 @@ void dointroseq(void) { } if (introstate == IS_RATS2) { // look around - if (timer % 15 == 0) { + if ((timer+5) % 20 == 0) { player2->dir = -player2->dir; } } } // add more rats if (introstate != IS_RATS2) { - if (countmonsters(P_RAT) <= 4) { + if (countmonsters(P_RAT) <= 6) { if (timer % 5 == 0) { sprite_t *newsp; double startx,starty;