diff options
author | Martin Kiewitz | 2016-01-29 15:11:07 +0100 |
---|---|---|
committer | Martin Kiewitz | 2016-01-29 15:11:07 +0100 |
commit | a560f7ad01a6d56a56d14e6434715e6cb3b2289d (patch) | |
tree | 64729adb91e7639d5f9da759dca49846b9d67d11 /engines/agi | |
parent | 1987b4b4e585c2d5fdc2b6553e4ae2d98fc89764 (diff) | |
download | scummvm-rg350-a560f7ad01a6d56a56d14e6434715e6cb3b2289d.tar.gz scummvm-rg350-a560f7ad01a6d56a56d14e6434715e6cb3b2289d.tar.bz2 scummvm-rg350-a560f7ad01a6d56a56d14e6434715e6cb3b2289d.zip |
AGI: improve checkPosition() code, remove while(0)
Diffstat (limited to 'engines/agi')
-rw-r--r-- | engines/agi/checks.cpp | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/engines/agi/checks.cpp b/engines/agi/checks.cpp index 8399c9834a..1fb437b7f4 100644 --- a/engines/agi/checks.cpp +++ b/engines/agi/checks.cpp @@ -29,28 +29,25 @@ bool AgiEngine::checkPosition(ScreenObjEntry *screenObj) { bool result = true; // position is fine debugC(4, kDebugLevelSprites, "check position @ %d, %d", screenObj->xPos, screenObj->yPos); - do { - if (screenObj->xPos < 0) { - result = false; - break; - } + if (screenObj->xPos < 0) { + result = false; + } else { if (screenObj->xPos + screenObj->xSize > SCRIPT_WIDTH) { result = false; - break; - } - if (screenObj->yPos - screenObj->ySize < -1) { - result = false; - break; - } - if (screenObj->yPos >= SCRIPT_HEIGHT) { - result = false; - break; - } - if (((!(screenObj->flags & fIgnoreHorizon)) && screenObj->yPos <= _game.horizon)) { - result = false; - break; + } else { + if (screenObj->yPos - screenObj->ySize < -1) { + result = false; + } else { + if (screenObj->yPos >= SCRIPT_HEIGHT) { + result = false; + } else { + if (((!(screenObj->flags & fIgnoreHorizon)) && screenObj->yPos <= _game.horizon)) { + result = false; + } + } + } } - } while (0); + } // MH1 needs this, but it breaks LSL1 // TODO: *NOT* in disassembly of AGI3 .149, why was this needed? |