Commit ec9b06cc authored by anotherguest's avatar anotherguest

Not all compilers allow pointer comparison with anything but the pointer type...

Not all compilers allow pointer comparison with anything but the pointer type or NULL! Just wondering when the Level* level should be < 0? I think != NULL is the correct statement.Please correct if not!
parent 1f982b3b
......@@ -26,7 +26,7 @@
#include "game.h"
#include "gamemode.h"
#include "bonus/bonus.h"
#include "bonus/bonus.h"
#include "io/controls.h"
#include "io/gfx/font.h"
#include "io/gfx/video.h"
......@@ -35,12 +35,12 @@
#include "player/player.h"
#include "scene/scene.h"
#include <string.h>
#include <string.h>
Game::Game () {
levelFile = NULL;
levelFile = NULL;
bonusFile = NULL;
players = NULL;
......@@ -51,19 +51,19 @@ Game::Game () {
Game::Game (char *firstLevel, int gameDifficulty) {
if (!strncmp(firstLevel, F_BONUSMAP, 8)) {
levelFile = NULL;
bonusFile = createString(firstLevel);
if (!strncmp(firstLevel, F_BONUSMAP, 8)) {
levelFile = NULL;
bonusFile = createString(firstLevel);
} else {
levelFile = createString(firstLevel);
levelFile = createString(firstLevel);
bonusFile = NULL;
}
}
difficulty = gameDifficulty;
gameMode = NULL;
......@@ -81,7 +81,7 @@ Game::Game (char *firstLevel, int gameDifficulty) {
Game::~Game () {
if (levelFile) delete[] levelFile;
if (bonusFile) delete[] levelFile;
if (bonusFile) delete[] levelFile;
if (players) delete[] players;
localPlayer = NULL;
......@@ -103,20 +103,20 @@ int Game::setLevel (char *fileName) {
}
int Game::setBonus (int ext) {
if (bonusFile) delete[] bonusFile;
if (level >= 0) bonusFile = createFileName(F_BONUSMAP, ext);
else bonusFile = NULL;
return E_NONE;
}
int Game::setBonus (int ext) {
if (bonusFile) delete[] bonusFile;
if (level != NULL) bonusFile = createFileName(F_BONUSMAP, ext);
else bonusFile = NULL;
return E_NONE;
}
int Game::play () {
Bonus *bonus;
Scene *scene;
bool checkpoint;
......@@ -128,11 +128,11 @@ int Game::play () {
while (true) {
sendTime = checkTime = 0;
level = NULL;
if (levelFile) {
level = NULL;
if (levelFile) {
// Load and play the level
......@@ -147,107 +147,107 @@ int Game::play () {
}
levelRet = level->play();
if (levelRet < 0) {
delete level;
return levelRet;
} else if (levelRet == E_NONE) {
delete level;
playMusic("menusng.psm");
return E_NONE;
}
if (levelRet < 0) {
delete level;
return levelRet;
} else if (levelRet == E_NONE) {
delete level;
playMusic("menusng.psm");
return E_NONE;
}
} else levelRet = WON;
if (bonusFile && (levelRet == WON)) {
// Load and play the bonus level
try {
bonus = new Bonus(bonusFile, difficulty);
} catch (int e) {
return e;
}
if (levelFile) {
delete[] bonusFile;
bonusFile = NULL;
}
bonusRet = bonus->play();
delete bonus;
if (bonusRet == E_QUIT) {
if (level) delete level;
return E_QUIT;
} else if (bonusRet == E_NONE) {
if (level) delete level;
playMusic("menusng.psm");
return E_NONE;
} else if (bonusRet == WON) {
try {
scene = new Scene(F_BONUS_0SC);
} catch (int e) {
scene = NULL;
}
if (scene) {
if (scene->play() == E_QUIT) {
delete scene;
if (level) delete level;
return E_QUIT;
}
delete scene;
}
// If part of a bonus-only game, go to next level
if (!level) setBonus((bonusFile[10] * 10) + bonusFile[11] - 527);
}
}
if (!level) continue;
if (bonusFile && (levelRet == WON)) {
// Load and play the bonus level
try {
bonus = new Bonus(bonusFile, difficulty);
} catch (int e) {
return e;
}
if (levelFile) {
delete[] bonusFile;
bonusFile = NULL;
}
bonusRet = bonus->play();
delete bonus;
if (bonusRet == E_QUIT) {
if (level) delete level;
return E_QUIT;
} else if (bonusRet == E_NONE) {
if (level) delete level;
playMusic("menusng.psm");
return E_NONE;
} else if (bonusRet == WON) {
try {
scene = new Scene(F_BONUS_0SC);
} catch (int e) {
scene = NULL;
}
if (scene) {
if (scene->play() == E_QUIT) {
delete scene;
if (level) delete level;
return E_QUIT;
}
delete scene;
}
// If part of a bonus-only game, go to next level
if (!level) setBonus((bonusFile[10] * 10) + bonusFile[11] - 527);
}
}
if (!level) continue;
if (levelRet == WON) {
// Won the level
// Won the level
// If there is no next level, load and play the cutscene
if (!levelFile) {
......@@ -255,19 +255,19 @@ int Game::play () {
scene = level->createScene();
delete level;
if (scene) {
if (scene->play() == E_QUIT) {
delete scene;
return E_QUIT;
}
delete scene;
if (scene->play() == E_QUIT) {
delete scene;
return E_QUIT;
}
delete scene;
}
return E_NONE;
......@@ -276,10 +276,10 @@ int Game::play () {
// Do not use old level's checkpoint coordinates
checkpoint = false;
} else {
// Lost the level
// Lost the level
if (!localPlayer->getLives()) return E_NONE;
......@@ -287,9 +287,9 @@ int Game::play () {
checkpoint = true;
}
delete level;
delete level;
}
return E_NONE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment