diff --git a/rc.c b/rc.c index 7937f21..351b8ab 100644 --- a/rc.c +++ b/rc.c @@ -3138,9 +3138,6 @@ void drawlevel(void) { cloud->img =rotozoomSurfaceXY(imageset[P_PINKCLOUD].img[F_WALK1],0,1,1,0); - // change player to floating image - player->img = imageset[player->id].img[F_SHOOT]; - // create buffer for player background playerbg = SDL_CreateRGBSurface(SDL_SWSURFACE, player->img->w, player->img->h, @@ -4646,11 +4643,12 @@ void dogravity(sprite_t *s) { curfruittype = 0; } } - if ((player->powerup == PW_MACE) && (s2->id == P_SNAIL)) { + if (s2->id == P_SNAIL) { // turn into a slug so that it really dies s2->id = P_SLUG; } + /* if (s2->id == P_SNAIL) { // avoid triggering death code twice for caught snails // since for them s->dead won't be set after we @@ -4659,16 +4657,17 @@ void dogravity(sprite_t *s) { die(s2); } } else { - die(s2); - pointsinc *= 2; - psize += 10; - gotsomething++; - // killing 5 at a time gives us a clover for good luck - if ((!gotclover) && (gotsomething >= 5)) { - puffin(P_CLOVER, s2->x, s2->y, "clover", 0); - gotclover = B_TRUE; - } + */ + die(s2); + pointsinc *= 2; + psize += 10; + gotsomething++; + // killing 5 at a time gives us a clover for good luck + if ((!gotclover) && (gotsomething >= 5)) { + puffin(P_CLOVER, s2->x, s2->y, "clover", 0); + gotclover = B_TRUE; } + //} } } diff --git a/shared.c b/shared.c index 9f53278..6c9cee4 100644 --- a/shared.c +++ b/shared.c @@ -3176,7 +3176,7 @@ void drawplayer(sprite_t *s, SDL_Rect *where) { #endif #ifndef __EDITOR - if (s->doublejump) { + if ((s->doublejump) && (levelcomplete != LV_NEXTLEV)) { // draw wings behind the sprite if (s->jumping || s->falling) { // flapping wings - freeze while showing help text @@ -3209,11 +3209,15 @@ void drawplayer(sprite_t *s, SDL_Rect *where) { } #endif + if ((levelcomplete == LV_CLOUDLOOP) || (levelcomplete == LV_NEXTLEV)) { + player->img = imageset[player->id].img[F_SHOOT]; + } + // draw the sprite doblit(s->img, screen, where); #ifndef __EDITOR - if (s->doublejump) { + if ((s->doublejump) && (levelcomplete != LV_NEXTLEV)) { // draw wings in front of the sprite if (s->swimming) { wingframe = 3;