aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hopkins/globals.cpp22
-rw-r--r--engines/hopkins/globals.h2
-rw-r--r--engines/hopkins/hopkins.cpp50
-rw-r--r--engines/hopkins/hopkins.h6
4 files changed, 38 insertions, 42 deletions
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index 69927c999f..a9a39e2b50 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -146,7 +146,6 @@ Globals::Globals() {
BUF_ZONE = NULL;
SPRITE_ECRAN = NULL;
_saveData = NULL;
- _inventoryObject = NULL;
_answerBuffer = g_PTRNUL;
_objectDataBuf = NULL;
PERSO = NULL;
@@ -181,7 +180,6 @@ Globals::~Globals() {
_hidingItemData[idx] = freeMemory(_hidingItemData[idx]);
freeMemory(SPRITE_ECRAN);
freeMemory((byte *)_saveData);
- freeMemory(_inventoryObject);
freeMemory(_answerBuffer);
freeMemory(_objectDataBuf);
freeMemory(PERSO);
@@ -261,7 +259,6 @@ void Globals::clearAll() {
_boxWidth = 240;
_vm->_eventsManager._objectBuf = allocMemory(2500);
- _inventoryObject = allocMemory(2500);
_objectDataBuf = g_PTRNUL;
}
@@ -360,15 +357,16 @@ void Globals::resetHidingItems() {
}
for (int idx = 0; idx <= 20; ++idx) {
- _hidingItem[idx]._spriteData = g_PTRNUL;
- _hidingItem[idx]._x = 0;
- _hidingItem[idx]._y = 0;
- _hidingItem[idx]._spriteIndex = 0;
- _hidingItem[idx]._useCount = 0;
- _hidingItem[idx]._width = 0;
- _hidingItem[idx]._height = 0;
- _hidingItem[idx].field10 = false;
- _hidingItem[idx].field14 = 0;
+ HidingItem *hid = &_hidingItem[idx];
+ hid->_spriteData = g_PTRNUL;
+ hid->_x = 0;
+ hid->_y = 0;
+ hid->_spriteIndex = 0;
+ hid->_useCount = 0;
+ hid->_width = 0;
+ hid->_height = 0;
+ hid->field10 = false;
+ hid->field14 = 0;
}
_hidingActiveFl = false;
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index cd566a2134..9986abb810 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -236,8 +236,6 @@ class Globals {
private:
HopkinsEngine *_vm;
- byte *_inventoryObject;
-
void initAnimBqe();
void initVBob();
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index ccf431422e..3d4d152229 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -1285,55 +1285,55 @@ bool HopkinsEngine::runFull() {
break;
case 77:
- OCEAN(77, "OCEAN01", DIR_RIGHT, 0, 84, 0, 0, 25);
+ handleOceanMaze(77, "OCEAN01", DIR_RIGHT, 0, 84, 0, 0, 25);
break;
case 78:
- OCEAN(78, "OCEAN02", DIR_UP, 0, 91, 84, 0, 25);
+ handleOceanMaze(78, "OCEAN02", DIR_UP, 0, 91, 84, 0, 25);
break;
case 79:
- OCEAN(79, "OCEAN03", DIR_LEFT, 87, 0, 0, 83, 25);
+ handleOceanMaze(79, "OCEAN03", DIR_LEFT, 87, 0, 0, 83, 25);
break;
case 80:
- OCEAN(80, "OCEAN04", DIR_UP, 86, 88, 0, 81, 25);
+ handleOceanMaze(80, "OCEAN04", DIR_UP, 86, 88, 0, 81, 25);
break;
case 81:
- OCEAN(81, "OCEAN05", DIR_UP, 91, 82, 80, 85, 25);
+ handleOceanMaze(81, "OCEAN05", DIR_UP, 91, 82, 80, 85, 25);
break;
case 82:
- OCEAN(82, "OCEAN06", DIR_LEFT, 81, 0, 88, 0, 25);
+ handleOceanMaze(82, "OCEAN06", DIR_LEFT, 81, 0, 88, 0, 25);
break;
case 83:
- OCEAN(83, "OCEAN07", DIR_UP, 89, 0, 79, 88, 25);
+ handleOceanMaze(83, "OCEAN07", DIR_UP, 89, 0, 79, 88, 25);
break;
case 84:
- OCEAN(84, "OCEAN08", DIR_UP, 77, 0, 0, 78, 25);
+ handleOceanMaze(84, "OCEAN08", DIR_UP, 77, 0, 0, 78, 25);
break;
case 85:
- OCEAN(85, "OCEAN09", DIR_UP, 0, 0, 81, 0, 25);
+ handleOceanMaze(85, "OCEAN09", DIR_UP, 0, 0, 81, 0, 25);
break;
case 86:
- OCEAN(86, "OCEAN10", DIR_UP, 0, 80, 0, 91, 25);
+ handleOceanMaze(86, "OCEAN10", DIR_UP, 0, 80, 0, 91, 25);
break;
case 87:
- OCEAN(87, "OCEAN11", DIR_RIGHT, 0, 79, 90, 0, 25);
+ handleOceanMaze(87, "OCEAN11", DIR_RIGHT, 0, 79, 90, 0, 25);
break;
case 88:
- OCEAN(88, "OCEAN12", DIR_UP, 80, 0, 83, 82, 25);
+ handleOceanMaze(88, "OCEAN12", DIR_UP, 80, 0, 83, 82, 25);
break;
case 89:
- OCEAN(89, "OCEAN13", DIR_RIGHT, 0, 83, 0, 0, 25);
+ handleOceanMaze(89, "OCEAN13", DIR_RIGHT, 0, 83, 0, 0, 25);
break;
case 90:
@@ -1341,7 +1341,7 @@ bool HopkinsEngine::runFull() {
break;
case 91:
- OCEAN(91, "OCEAN15", DIR_RIGHT, 78, 81, 86, 0, 25);
+ handleOceanMaze(91, "OCEAN15", DIR_RIGHT, 78, 81, 86, 0, 25);
break;
case 93:
@@ -2523,7 +2523,7 @@ void HopkinsEngine::displayCredits() {
_eventsManager._mouseFl = true;
}
-void HopkinsEngine::BTOCEAN() {
+void HopkinsEngine::handleOceanMouseEvents() {
_fontManager.hideText(9);
if (_eventsManager._mouseCursorId != 16)
return;
@@ -2563,7 +2563,7 @@ void HopkinsEngine::BTOCEAN() {
else if (_globals._speed == 3)
oldX -= 6;
_objectsManager.setSpriteX(0, oldX);
- OCEAN_HOME();
+ setSubmarineSprites();
_eventsManager.VBL();
if (_eventsManager.getMouseButton() == 1 && oldPosX == _eventsManager.getMouseX() && _eventsManager.getMouseY() == oldPosY) {
displAnim = true;
@@ -2599,7 +2599,7 @@ void HopkinsEngine::BTOCEAN() {
else if (_globals._speed == 3)
oldX += 6;
_objectsManager.setSpriteX(0, oldX);
- OCEAN_HOME();
+ setSubmarineSprites();
_eventsManager.VBL();
if (_eventsManager.getMouseButton() == 1 && oldPosX == _eventsManager.getMouseX() && _eventsManager.getMouseY() == oldPosY) {
displAnim = true;
@@ -2621,7 +2621,7 @@ void HopkinsEngine::BTOCEAN() {
else if (_globals._speed == 3)
oldX += 6;
_objectsManager.setSpriteX(0, oldX);
- OCEAN_HOME();
+ setSubmarineSprites();
_eventsManager.VBL();
if (_eventsManager.getMouseButton() == 1 && oldPosX == _eventsManager.getMouseX() && _eventsManager.getMouseY() == oldPosY) {
displAnim = true;
@@ -2644,7 +2644,7 @@ void HopkinsEngine::BTOCEAN() {
else if (_globals._speed == 3)
oldX -= 6;
_objectsManager.setSpriteX(0, oldX);
- OCEAN_HOME();
+ setSubmarineSprites();
_eventsManager.VBL();
if (_eventsManager.getMouseButton() == 1 && oldPosX == _eventsManager.getMouseX() && _eventsManager.getMouseY() == oldPosY) {
displAnim = true;
@@ -2675,7 +2675,7 @@ void HopkinsEngine::BTOCEAN() {
else if (_globals._speed == 3)
oldX += 6;
_objectsManager.setSpriteX(0, oldX);
- OCEAN_HOME();
+ setSubmarineSprites();
_eventsManager.VBL();
if (_eventsManager.getMouseButton() == 1 && oldPosX == _eventsManager.getMouseX() && _eventsManager.getMouseY() == oldPosY) {
displAnim = true;
@@ -2695,7 +2695,7 @@ void HopkinsEngine::BTOCEAN() {
else if (_globals._speed == 3)
oldX -= 6;
_objectsManager.setSpriteX(0, oldX);
- OCEAN_HOME();
+ setSubmarineSprites();
_eventsManager.VBL();
if (_eventsManager.getMouseButton() == 1 && oldPosX == _eventsManager.getMouseX() && _eventsManager.getMouseY() == oldPosY)
break;
@@ -2716,7 +2716,7 @@ void HopkinsEngine::BTOCEAN() {
}
}
-void HopkinsEngine::OCEAN_HOME() {
+void HopkinsEngine::setSubmarineSprites() {
switch (_globals._oceanDirection) {
case DIR_UP:
_objectsManager.setSpriteIndex(0, 27);
@@ -2735,7 +2735,7 @@ void HopkinsEngine::OCEAN_HOME() {
}
}
-void HopkinsEngine::OCEAN(int16 curExitId, Common::String backgroundFilename, Directions defaultDirection, int16 exit1, int16 exit2, int16 exit3, int16 exit4, int16 soundId) {
+void HopkinsEngine::handleOceanMaze(int16 curExitId, Common::String backgroundFilename, Directions defaultDirection, int16 exit1, int16 exit2, int16 exit3, int16 exit4, int16 soundId) {
_globals._cityMapEnabledFl = false;
_graphicsManager._noFadingFl = false;
_globals._freezeCharacterFl = false;
@@ -2809,9 +2809,9 @@ void HopkinsEngine::OCEAN(int16 curExitId, Common::String backgroundFilename, Di
for (;;) {
int mouseButton = _eventsManager.getMouseButton();
if (mouseButton && mouseButton == 1)
- BTOCEAN();
+ handleOceanMouseEvents();
_linesManager.checkZone();
- OCEAN_HOME();
+ setSubmarineSprites();
_eventsManager.VBL();
if (_globals._exitId || g_system->getEventManager()->shouldQuit())
break;
diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h
index 0fd683375f..324d36bbea 100644
--- a/engines/hopkins/hopkins.h
+++ b/engines/hopkins/hopkins.h
@@ -120,9 +120,9 @@ private:
*/
void drawBaseMap();
- void BTOCEAN();
- void OCEAN_HOME();
- void OCEAN(int16 curExitId, Common::String backgroundFilename, Directions defaultDirection, int16 exit1, int16 exit2, int16 exit3, int16 exit4, int16 soundId);
+ void handleOceanMouseEvents();
+ void setSubmarineSprites();
+ void handleOceanMaze(int16 curExitId, Common::String backgroundFilename, Directions defaultDirection, int16 exit1, int16 exit2, int16 exit3, int16 exit4, int16 soundId);
void loadCredits();
void displayCredits(int startPosY, byte *buffer, char colour);
void displayCredits();