aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/mortevielle/actions.cpp3
-rw-r--r--engines/mortevielle/dialogs.cpp9
-rw-r--r--engines/mortevielle/mortevielle.cpp26
-rw-r--r--engines/mortevielle/mortevielle.h3
-rw-r--r--engines/mortevielle/mouse.cpp3
5 files changed, 27 insertions, 17 deletions
diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp
index 392ea17df1..47ffb2e4ba 100644
--- a/engines/mortevielle/actions.cpp
+++ b/engines/mortevielle/actions.cpp
@@ -1408,7 +1408,8 @@ void MortevielleEngine::fctDiscuss() {
do {
bool dummyFl;
_mouse.moveMouse(dummyFl, retKey);
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
_mouse.getMousePosition(x, y, click);
x *= (3 - _resolutionScaler);
diff --git a/engines/mortevielle/dialogs.cpp b/engines/mortevielle/dialogs.cpp
index ee6eb697fb..90c53d1648 100644
--- a/engines/mortevielle/dialogs.cpp
+++ b/engines/mortevielle/dialogs.cpp
@@ -110,7 +110,8 @@ int Alert::show(const Common::String &msg, int n) {
do {
char dummyKey = '\377';
g_vm->_mouse.moveMouse(dummyFl, dummyKey);
- CHECK_QUIT0;
+ if (g_vm->shouldQuit())
+ return 0;
curPos = g_vm->_mouse._pos;
bool newaff = false;
@@ -358,7 +359,8 @@ bool KnowledgeCheck::show() {
bool flag;
char key;
g_vm->_mouse.moveMouse(flag, key);
- CHECK_QUIT0;
+ if (g_vm->shouldQuit())
+ return false;
currChoice = 1;
while (coor[currChoice]._enabled && !g_vm->_mouse.isMouseIn(coor[currChoice]._rect))
@@ -428,7 +430,8 @@ void f3f8::checkForF8(int SpeechNum, bool drawAni50Fl) {
do {
g_vm->_speechManager.startSpeech(SpeechNum, 0, 0);
g_vm->_key = waitForF3F8();
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
if (g_vm->_newGraphicalDevice != g_vm->_currGraphicalDevice) {
g_vm->_currGraphicalDevice = g_vm->_newGraphicalDevice;
diff --git a/engines/mortevielle/mortevielle.cpp b/engines/mortevielle/mortevielle.cpp
index 664908440f..b013f87a1a 100644
--- a/engines/mortevielle/mortevielle.cpp
+++ b/engines/mortevielle/mortevielle.cpp
@@ -576,13 +576,15 @@ void MortevielleEngine::showIntroduction() {
f3f8::aff50(false);
_speechManager._mlec = 0;
f3f8::checkForF8(142, false);
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
f3f8::ani50();
f3f8::checkForF8(143, true);
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
- // TODO: Once music is implemented, only use the below delay if music is turned off
+ // TODO: Once music (Amiga/Atari ports) is implemented, only use the below delay if music is turned off
showTitleScreen();
delay(3000);
music();
@@ -611,7 +613,8 @@ void MortevielleEngine::mainGame() {
// Loop to play the game
do {
playGame();
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
} while (!_quitGame);
}
@@ -625,7 +628,8 @@ void MortevielleEngine::playGame() {
// Loop handling actions until the game has to be quit, or show the lose or end sequence
do {
handleAction();
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
} while (!((_quitGame) || (_endGame) || (_loseGame)));
if (_endGame)
@@ -660,7 +664,8 @@ void MortevielleEngine::handleAction() {
_menu.updateMenu();
prepareRoom();
_mouse.moveMouse(funct, inkey);
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
++temps;
} while (!((_menu._menuSelected) || (temps > lim) || (funct) || (_anyone)));
_inMainGameLoop = false;
@@ -1748,7 +1753,8 @@ void MortevielleEngine::startDialog(int16 rep) {
do {
_speechManager.startSpeech(rep, haut[_caff - 69], 0);
key = f3f8::waitForF3F8();
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
} while (key != 66);
hirs();
_mouse.showMouse();
@@ -3383,7 +3389,8 @@ void MortevielleEngine::testKey(bool d) {
prepareRoom();
quest = keyPressed();
_mouse.getMousePosition(x, y, click);
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
} while (!(quest || (click) || (d && _anyone)));
if (quest)
testou();
@@ -3618,7 +3625,8 @@ void MortevielleEngine::tfleche() {
do {
_mouse.moveMouse(qust, touch);
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
if (getMouseClick())
inRect = (_mouse._pos.x < 256 * _resolutionScaler) && (_mouse._pos.y < 176) && (_mouse._pos.y > 12);
diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h
index aeef3dd1e2..bdf28e4514 100644
--- a/engines/mortevielle/mortevielle.h
+++ b/engines/mortevielle/mortevielle.h
@@ -533,9 +533,6 @@ public:
extern MortevielleEngine *g_vm;
-#define CHECK_QUIT if (g_vm->shouldQuit()) { return; }
-#define CHECK_QUIT0 if (g_vm->shouldQuit()) { return 0; }
-
} // End of namespace Mortevielle
#endif
diff --git a/engines/mortevielle/mouse.cpp b/engines/mortevielle/mouse.cpp
index bc0f5fe7d3..a6105d85de 100644
--- a/engines/mortevielle/mouse.cpp
+++ b/engines/mortevielle/mouse.cpp
@@ -265,7 +265,8 @@ void MouseHandler::moveMouse(bool &funct, char &key) {
// Handle any pending keypresses
while (p_key) {
- CHECK_QUIT;
+ if (g_vm->shouldQuit())
+ return;
in1 = g_vm->getChar();
getMousePosition(cx, cy, click);