fix stage 20 not being purple tanks

This commit is contained in:
tildearrow 2025-09-03 04:01:47 -05:00
parent 91965bca8c
commit dcf5f3f0c7

View file

@ -1313,7 +1313,7 @@ void FurnaceCV::buildStage(int which) {
curStage=NULL; curStage=NULL;
} }
if (which>19 || which==4 || which==7 || which==9 || which==11 || which==13 || which==16 || which==17) { if (which>18 || which==4 || which==7 || which==9 || which==11 || which==13 || which==16 || which==17) {
stageWidth=80; stageWidth=80;
stageHeight=56; stageHeight=56;
} else { } else {
@ -1346,26 +1346,7 @@ void FurnaceCV::buildStage(int which) {
memset(busy,0,28*40*sizeof(bool)); memset(busy,0,28*40*sizeof(bool));
// special stages // special stages
if ((which%10)==9) { if ((which%10)==19) {
// vortex
for (int i=0; i<20+(which>>2); i++) {
int tries=0;
while (tries<20) {
int x=rand()%(stageWidth>>1);
int y=rand()%(stageHeight>>1);
int finalX=x<<4;
int finalY=y<<4;
if (busy[y][x]) {
tries++;
continue;
}
createObject<FurnaceCVEnemyVortex>(finalX,finalY);
createObject<FurnaceCVFurBallMedium>(finalX-4,finalY-4);
busy[y][x]=true;
break;
}
}
} else if ((which%10)==19) {
for (int i=0; i<20+(which>>2); i++) { for (int i=0; i<20+(which>>2); i++) {
int tries=0; int tries=0;
while (tries<20) { while (tries<20) {
@ -1387,6 +1368,25 @@ void FurnaceCV::buildStage(int which) {
break; break;
} }
} }
} else if ((which%10)==9) {
// vortex
for (int i=0; i<20+(which>>2); i++) {
int tries=0;
while (tries<20) {
int x=rand()%(stageWidth>>1);
int y=rand()%(stageHeight>>1);
int finalX=x<<4;
int finalY=y<<4;
if (busy[y][x]) {
tries++;
continue;
}
createObject<FurnaceCVEnemyVortex>(finalX,finalY);
createObject<FurnaceCVFurBallMedium>(finalX-4,finalY-4);
busy[y][x]=true;
break;
}
}
} else { } else {
// large // large
if (which>=2) for (int i=0; i<(rand()%3)+which-2; i++) { if (which>=2) for (int i=0; i<(rand()%3)+which-2; i++) {
@ -1675,6 +1675,7 @@ void FurnaceCV::render(unsigned char joyIn) {
lives+=lifeBank; lives+=lifeBank;
respawnTime=1; respawnTime=1;
lifeBank=0; lifeBank=0;
score=0;
gameOver=false; gameOver=false;
} }