diff options
author | Strangerke | 2013-02-16 14:57:25 +0100 |
---|---|---|
committer | Strangerke | 2013-02-16 14:57:25 +0100 |
commit | 3e0739a49c49ed7aa56677dfbde79bbe84971a78 (patch) | |
tree | 0b9c100082826435c805f87b899a831ee0b8aa64 /engines/hopkins | |
parent | 355422455cc8e99fd5faab5811d45a18231d3e41 (diff) | |
download | scummvm-rg350-3e0739a49c49ed7aa56677dfbde79bbe84971a78.tar.gz scummvm-rg350-3e0739a49c49ed7aa56677dfbde79bbe84971a78.tar.bz2 scummvm-rg350-3e0739a49c49ed7aa56677dfbde79bbe84971a78.zip |
HOPKINS: Some renaming and refactoring
Diffstat (limited to 'engines/hopkins')
-rw-r--r-- | engines/hopkins/computer.cpp | 59 | ||||
-rw-r--r-- | engines/hopkins/objects.cpp | 190 |
2 files changed, 135 insertions, 114 deletions
diff --git a/engines/hopkins/computer.cpp b/engines/hopkins/computer.cpp index 7d664acee9..d101a67278 100644 --- a/engines/hopkins/computer.cpp +++ b/engines/hopkins/computer.cpp @@ -659,36 +659,46 @@ void ComputerManager::displayBricks() { _breakoutBrickNbr = 0; _breakoutSpeed = 1; int16 *level = _breakoutLevel; - int levelIdx = 0; int cellLeft; int cellTop; int cellType; - do { + for (int levelIdx = 0; ; levelIdx += 6) { cellLeft = level[levelIdx]; + if (cellLeft == -1) + break; cellTop = level[levelIdx + 1]; cellType = level[levelIdx + 4]; - if (cellLeft != -1) { - if (cellType <= 6) - ++_breakoutBrickNbr; - - if (cellType == 3) - _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 17); - else if (cellType == 6) - _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 18); - else if (cellType == 5) - _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 19); - else if (cellType == 4) - _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 20); - else if (cellType == 1) - _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 21); - else if (cellType == 2) - _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 22); - else if (cellType == 31) - _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 23); + + if (cellType <= 6) + ++_breakoutBrickNbr; + + switch (cellType) { + case 1: + _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 21); + break; + case 2: + _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 22); + break; + case 3: + _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 17); + break; + case 4: + _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 20); + break; + case 5: + _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 19); + break; + case 6: + _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 18); + break; + case 31: + _vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 23); + break; } + levelIdx += 6; - } while (cellLeft != -1); + } displayScore(); } @@ -1042,18 +1052,17 @@ int ComputerManager::moveBall() { _vm->_soundManager.playSample(2, 6); _ballPosition.x = randVal + 6; _ballRightFl = !_ballRightFl; - } - if (_ballPosition.x > 307) { + } else if (_ballPosition.x > 307) { _vm->_soundManager.playSample(2, 6); _ballPosition.x = 307 - randVal; _ballRightFl = !_ballRightFl; } + if (_ballPosition.y <= 6) { _vm->_soundManager.playSample(2, 6); _ballPosition.y = randVal + 7; _ballUpFl = !_ballUpFl; - } - if (_ballPosition.y >= 186 && _ballPosition.y <= 194) { + } else if (_ballPosition.y >= 186 && _ballPosition.y <= 194) { _vm->_soundManager.playSample(2, 6); int ballPosXRight = _ballPosition.x + 6; if ((_ballPosition.x > _padPositionX - 2) && (ballPosXRight < _padPositionX + 36)) { diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp index bbb2e38ddb..ed3800f240 100644 --- a/engines/hopkins/objects.cpp +++ b/engines/hopkins/objects.cpp @@ -1274,10 +1274,6 @@ void ObjectsManager::setFlipSprite(int idx, bool flipFl) { } void ObjectsManager::GOHOME() { - int v0 = 0; - int v58 = 0; - int v1 = 0; - if (_vm->_linesManager._route == (int16 *)g_PTRNUL) return; @@ -1290,6 +1286,9 @@ void ObjectsManager::GOHOME() { int newPosY; int newDirection; + int oldPosX = 0; + int oldPosY = 0; + int oldFrameIdx = 0; _vm->_globals.Compteur = 0; if (_vm->_globals._oldDirection == -1) { computeAndSetSpriteSize(); @@ -1336,9 +1335,9 @@ void ObjectsManager::GOHOME() { } if (_vm->_globals._oldDirection == 3) { if (_vm->_globals._oldFrameIndex < 24 || _vm->_globals._oldFrameIndex > 35) { - v0 = _oldCharacterPosX; - v58 = _oldCharacterPosY; - v1 = 24; + oldPosX = _oldCharacterPosX; + oldPosY = _oldCharacterPosY; + oldFrameIdx = 24; } else { int deltaX = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field0; int deltaY = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field2; @@ -1350,19 +1349,19 @@ void ObjectsManager::GOHOME() { deltaX = _vm->_graphicsManager.zoomIn(deltaX, _sprite[0]._zoomFactor); deltaY = _vm->_graphicsManager.zoomIn(deltaY, _sprite[0]._zoomFactor); } - v0 = _oldCharacterPosX + deltaX; - v58 = _oldCharacterPosY + deltaY; - v1 = _vm->_globals._oldFrameIndex + 1; - if (v1 > 35) - v1 = 24; + oldPosX = _oldCharacterPosX + deltaX; + oldPosY = _oldCharacterPosY + deltaY; + oldFrameIdx = _vm->_globals._oldFrameIndex + 1; + if (oldFrameIdx > 35) + oldFrameIdx = 24; } _vm->_globals.Compteur = 5 / _vm->_globals._speed; } if (_vm->_globals._oldDirection == 7) { if (_vm->_globals._oldFrameIndex < 24 || _vm->_globals._oldFrameIndex > 35) { - v0 = _oldCharacterPosX; - v58 = _oldCharacterPosY; - v1 = 24; + oldPosX = _oldCharacterPosX; + oldPosY = _oldCharacterPosY; + oldFrameIdx = 24; } else { int deltaX = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field0; int deltaY = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field2; @@ -1373,19 +1372,19 @@ void ObjectsManager::GOHOME() { deltaX = _vm->_graphicsManager.zoomIn(deltaX, _sprite[0]._zoomFactor); deltaY = _vm->_graphicsManager.zoomIn(deltaY, _sprite[0]._zoomFactor); } - v0 = _oldCharacterPosX - deltaX; - v58 = _oldCharacterPosY - deltaY; - v1 = _vm->_globals._oldFrameIndex + 1; - if (v1 > 35) - v1 = 24; + oldPosX = _oldCharacterPosX - deltaX; + oldPosY = _oldCharacterPosY - deltaY; + oldFrameIdx = _vm->_globals._oldFrameIndex + 1; + if (oldFrameIdx > 35) + oldFrameIdx = 24; } _vm->_globals.Compteur = 5 / _vm->_globals._speed; } if (_vm->_globals._oldDirection == 1) { if (_vm->_globals._oldFrameIndex > 11) { - v0 = _oldCharacterPosX; - v58 = _oldCharacterPosY; - v1 = 0; + oldPosX = _oldCharacterPosX; + oldPosY = _oldCharacterPosY; + oldFrameIdx = 0; } else { int deltaY = abs(_vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field2); if (_sprite[0]._zoomFactor < 0) { @@ -1393,20 +1392,20 @@ void ObjectsManager::GOHOME() { } else if (_sprite[0]._zoomFactor > 0) { deltaY = _vm->_graphicsManager.zoomIn(deltaY, _sprite[0]._zoomFactor); } - v0 = _oldCharacterPosX; - v58 = _oldCharacterPosY - deltaY; - v1 = _vm->_globals._oldFrameIndex + 1; - if (v1 > 11) - v1 = 0; + oldPosX = _oldCharacterPosX; + oldPosY = _oldCharacterPosY - deltaY; + oldFrameIdx = _vm->_globals._oldFrameIndex + 1; + if (oldFrameIdx > 11) + oldFrameIdx = 0; } _vm->_globals.Compteur = 4 / _vm->_globals._speed; } if (_vm->_globals._oldDirection == 5) { if (_vm->_globals._oldFrameIndex < 48 || _vm->_globals._oldFrameIndex > 59) { - v0 = _oldCharacterPosX; - v58 = _oldCharacterPosY; - v1 = 48; + oldPosX = _oldCharacterPosX; + oldPosY = _oldCharacterPosY; + oldFrameIdx = 48; } else { int deltaY = abs(_vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field2); if (_sprite[0]._zoomFactor < 0) { @@ -1414,19 +1413,19 @@ void ObjectsManager::GOHOME() { } else if (_sprite[0]._zoomFactor > 0) { deltaY = _vm->_graphicsManager.zoomIn(deltaY, _sprite[0]._zoomFactor); } - v0 = _oldCharacterPosX; - v58 = deltaY + _oldCharacterPosY; - v1 = _vm->_globals._oldFrameIndex + 1; - if (v1 > 59) - v1 = 48; + oldPosX = _oldCharacterPosX; + oldPosY = deltaY + _oldCharacterPosY; + oldFrameIdx = _vm->_globals._oldFrameIndex + 1; + if (oldFrameIdx > 59) + oldFrameIdx = 48; } _vm->_globals.Compteur = 4 / _vm->_globals._speed; } if (_vm->_globals._oldDirection == 2) { if (_vm->_globals._oldFrameIndex < 12 || _vm->_globals._oldFrameIndex > 23) { - v0 = _oldCharacterPosX; - v58 = _oldCharacterPosY; - v1 = 12; + oldPosX = _oldCharacterPosX; + oldPosY = _oldCharacterPosY; + oldFrameIdx = 12; } else { int deltaX = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field0; int deltaY = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field2; @@ -1438,19 +1437,19 @@ void ObjectsManager::GOHOME() { deltaX = _vm->_graphicsManager.zoomIn(deltaX, _sprite[0]._zoomFactor); deltaY = _vm->_graphicsManager.zoomIn(deltaY, _sprite[0]._zoomFactor); } - v0 = deltaX + _oldCharacterPosX; - v58 = _oldCharacterPosY + deltaY; - v1 = _vm->_globals._oldFrameIndex + 1; - if (v1 > 23) - v1 = 12; + oldPosX = deltaX + _oldCharacterPosX; + oldPosY = _oldCharacterPosY + deltaY; + oldFrameIdx = _vm->_globals._oldFrameIndex + 1; + if (oldFrameIdx > 23) + oldFrameIdx = 12; } _vm->_globals.Compteur = 5 / _vm->_globals._speed; } if (_vm->_globals._oldDirection == 8) { if (_vm->_globals._oldFrameIndex < 12 || _vm->_globals._oldFrameIndex > 23) { - v0 = _oldCharacterPosX; - v58 = _oldCharacterPosY; - v1 = 12; + oldPosX = _oldCharacterPosX; + oldPosY = _oldCharacterPosY; + oldFrameIdx = 12; } else { int deltaX = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field0; int deltaY = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field2; @@ -1461,19 +1460,19 @@ void ObjectsManager::GOHOME() { deltaX = _vm->_graphicsManager.zoomIn(deltaX, _sprite[0]._zoomFactor); deltaY = _vm->_graphicsManager.zoomIn(deltaY, _sprite[0]._zoomFactor); } - v0 = _oldCharacterPosX - deltaX; - v58 = _oldCharacterPosY + deltaY; - v1 = _vm->_globals._oldFrameIndex + 1; - if (v1 > 23) - v1 = 12; + oldPosX = _oldCharacterPosX - deltaX; + oldPosY = _oldCharacterPosY + deltaY; + oldFrameIdx = _vm->_globals._oldFrameIndex + 1; + if (oldFrameIdx > 23) + oldFrameIdx = 12; } _vm->_globals.Compteur = 5 / _vm->_globals._speed; } if (_vm->_globals._oldDirection == 4) { if (_vm->_globals._oldFrameIndex < 36 || _vm->_globals._oldFrameIndex > 47) { - v0 = _oldCharacterPosX; - v58 = _oldCharacterPosY; - v1 = 36; + oldPosX = _oldCharacterPosX; + oldPosY = _oldCharacterPosY; + oldFrameIdx = 36; } else { int deltaX = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field0; int deltaY = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field2; @@ -1485,19 +1484,19 @@ void ObjectsManager::GOHOME() { deltaX = _vm->_graphicsManager.zoomIn(deltaX, _sprite[0]._zoomFactor); deltaY = _vm->_graphicsManager.zoomIn(deltaY, _sprite[0]._zoomFactor); } - v0 = deltaX + _oldCharacterPosX; - v58 = _oldCharacterPosY + deltaY; - v1 = _vm->_globals._oldFrameIndex + 1; - if (v1 > 47) - v1 = 36; + oldPosX = deltaX + _oldCharacterPosX; + oldPosY = _oldCharacterPosY + deltaY; + oldFrameIdx = _vm->_globals._oldFrameIndex + 1; + if (oldFrameIdx > 47) + oldFrameIdx = 36; } _vm->_globals.Compteur = 5 / _vm->_globals._speed; } if (_vm->_globals._oldDirection == 6) { if (_vm->_globals._oldFrameIndex < 36 || _vm->_globals._oldFrameIndex > 47) { - v0 = _oldCharacterPosX; - v58 = _oldCharacterPosY; - v1 = 36; + oldPosX = _oldCharacterPosX; + oldPosY = _oldCharacterPosY; + oldFrameIdx = 36; } else { int deltaX = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field0; int deltaY = _vm->_globals.Hopkins[_vm->_globals._oldFrameIndex].field2; @@ -1509,11 +1508,11 @@ void ObjectsManager::GOHOME() { deltaX = _vm->_graphicsManager.zoomIn(deltaX, _sprite[0]._zoomFactor); deltaY = _vm->_graphicsManager.zoomIn(deltaY, _sprite[0]._zoomFactor); } - v0 = _oldCharacterPosX - deltaX; - v58 = _oldCharacterPosY + deltaY; - v1 = _vm->_globals._oldFrameIndex + 1; - if (v1 > 47) - v1 = 36; + oldPosX = _oldCharacterPosX - deltaX; + oldPosY = _oldCharacterPosY + deltaY; + oldFrameIdx = _vm->_globals._oldFrameIndex + 1; + if (oldFrameIdx > 47) + oldFrameIdx = 36; } _vm->_globals.Compteur = 5 / _vm->_globals._speed; } @@ -1557,10 +1556,10 @@ void ObjectsManager::GOHOME() { } if (_vm->_globals._oldDirection != newDirection) break; - if ((newDirection == 3 && newPosX >= v0) || (_vm->_globals._oldDirection == 7 && newPosX <= v0) || - (_vm->_globals._oldDirection == 1 && newPosY <= v58) || (_vm->_globals._oldDirection == 5 && newPosY >= v58) || - (_vm->_globals._oldDirection == 2 && newPosX >= v0) || (_vm->_globals._oldDirection == 8 && newPosX <= v0) || - (_vm->_globals._oldDirection == 4 && newPosX >= v0) || (_vm->_globals._oldDirection == 6 && newPosX <= v0)) + if ((newDirection == 3 && newPosX >= oldPosX) || (_vm->_globals._oldDirection == 7 && newPosX <= oldPosX) || + (_vm->_globals._oldDirection == 1 && newPosY <= oldPosY) || (_vm->_globals._oldDirection == 5 && newPosY >= oldPosY) || + (_vm->_globals._oldDirection == 2 && newPosX >= oldPosX) || (_vm->_globals._oldDirection == 8 && newPosX <= oldPosX) || + (_vm->_globals._oldDirection == 4 && newPosX >= oldPosX) || (_vm->_globals._oldDirection == 6 && newPosX <= oldPosX)) loopCond = true; } while (!loopCond); if (loopCond) { @@ -1574,7 +1573,7 @@ void ObjectsManager::GOHOME() { setSpriteX(0, newPosX); setSpriteY(0, newPosY); - setSpriteIndex(0, v1); + setSpriteIndex(0, oldFrameIdx); } else { if ((_vm->_globals._oldDirection == 6) || (_vm->_globals._oldDirection == 7) || (_vm->_globals._oldDirection == 8)) setFlipSprite(0, true); @@ -1586,7 +1585,7 @@ void ObjectsManager::GOHOME() { } _vm->_globals._oldDirection = newDirection; _vm->_globals._oldDirectionSpriteIdx = newDirection + 59; - _vm->_globals._oldFrameIndex = v1; + _vm->_globals._oldFrameIndex = oldFrameIdx; _oldCharacterPosX = newPosX; _oldCharacterPosY = newPosY; } @@ -1617,26 +1616,39 @@ void ObjectsManager::GOHOME2() { _vm->_globals._lastDirection = newDirection; setSpriteX(0, nexPosX); setSpriteY(0, newPosY); - if (_vm->_globals._lastDirection == 1) + switch (_vm->_globals._lastDirection) { + case 1: setSpriteIndex(0, 4); - else if (_vm->_globals._lastDirection == 3) + break; + case 3: setSpriteIndex(0, 5); - else if (_vm->_globals._lastDirection == 5) + break; + case 5: setSpriteIndex(0, 6); - else if (_vm->_globals._lastDirection == 7) + break; + case 7: setSpriteIndex(0, 7); + break; + } return; } } - if (_vm->_globals._lastDirection == 1) + + switch (_vm->_globals._lastDirection) { + case 1: setSpriteIndex(0, 0); - else if (_vm->_globals._lastDirection == 3) + break; + case 3: setSpriteIndex(0, 1); - else if (_vm->_globals._lastDirection == 5) + break; + case 5: setSpriteIndex(0, 2); - else if (_vm->_globals._lastDirection == 7) + break; + case 7: setSpriteIndex(0, 3); + break; + } _vm->_linesManager._route = (int16 *)g_PTRNUL; } @@ -2426,16 +2438,16 @@ void ObjectsManager::initBorder(int zoneIdx) { if (!zoneIdx) _vm->_eventsManager._mouseCursorId = 0; - else if (zoneIdx == 32) - _vm->_eventsManager._mouseCursorId = 16; - else if (zoneIdx == 30) - _vm->_eventsManager._mouseCursorId = 2; - else if (zoneIdx == 31) - _vm->_eventsManager._mouseCursorId = 3; else if (zoneIdx >= 1 && zoneIdx <= 28) _vm->_eventsManager._mouseCursorId = 8; else if (zoneIdx == 29) _vm->_eventsManager._mouseCursorId = 1; + else if (zoneIdx == 30) + _vm->_eventsManager._mouseCursorId = 2; + else if (zoneIdx == 31) + _vm->_eventsManager._mouseCursorId = 3; + else if (zoneIdx == 32) + _vm->_eventsManager._mouseCursorId = 16; if (zoneIdx >= 1 && zoneIdx <= 28 && !_vm->_globals._inventory[zoneIdx]) { _vm->_eventsManager._mouseCursorId = 0; @@ -2557,7 +2569,7 @@ void ObjectsManager::OPTI_OBJET() { if (opcodeType == 1 || opcodeType == 4) ++lastOpcodeResult; - if (!opcodeType || opcodeType == 5) + else if (!opcodeType || opcodeType == 5) break; } |