aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hopkins/dialogs.cpp1
-rw-r--r--engines/hopkins/objects.cpp55
-rw-r--r--engines/hopkins/objects.h23
-rw-r--r--engines/hopkins/script.cpp36
4 files changed, 25 insertions, 90 deletions
diff --git a/engines/hopkins/dialogs.cpp b/engines/hopkins/dialogs.cpp
index 489ce0f625..90eb5f3193 100644
--- a/engines/hopkins/dialogs.cpp
+++ b/engines/hopkins/dialogs.cpp
@@ -671,7 +671,6 @@ void DialogsManager::showSaveLoad(int a1) {
_vm->_graphicsManager.Capture_Mem(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager.SL_SPR, _vm->_eventsManager._startPos.x + 183, 60, 274, 353);
_vm->_objectsManager._saveLoadFl = true;
- _vm->_objectsManager.SL_MODE = a1;
_vm->_objectsManager._saveLoadX = 0;
_vm->_objectsManager._saveLoadY = 0;
}
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index cdd6930329..5c9c9b8e76 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -53,7 +53,6 @@ ObjectsManager::ObjectsManager() {
S_old_spr = g_PTRNUL;
PERSO_ON = false;
_saveLoadFl = false;
- SL_MODE = false;
_visibleFl = false;
BOBTOUS = false;
my_anim = 0;
@@ -61,35 +60,19 @@ ObjectsManager::ObjectsManager() {
_forceZoneFl = false;
_changeVerbFl = false;
_verb = 0;
- Vold_taille = 0;
- SPEED_X = SPEED_Y = 0;
- SPEED_IMAGE = 0;
- SPEED_PTR = g_PTRNUL;
_lastLine = 0;
- A_ANIM = 0;
- MA_ANIM = 0;
- MA_ANIM1 = 0;
- A_DEPA = 0;
- MAX_DEPA = 0;
- MAX_DEPA1 = 0;
- CH_TETE = false;
- T_RECTIF = 0;
+ _changeHeadFl = false;
_disableFl = false;
_twoCharactersFl = false;
_characterPos = Common::Point(0, 0);
PERI = 0;
- RECALL = 0;
- PTAILLE = 0;
- PEROFX = 0;
- PEROFY = 0;
- OBSSEUL = 0;
+ OBSSEUL = false;
NVVERBE = 0;
NVZONE = 0;
S_old_ani = 0;
S_old_ret = 0;
nouveau_x = nouveau_y = 0;
_newDirection = 0;
- nouveau_anim = 0;
}
void ObjectsManager::setParent(HopkinsEngine *vm) {
@@ -1487,8 +1470,6 @@ void ObjectsManager::GOHOME() {
_newDirection = *_vm->_globals.chemin;
_vm->_globals.chemin++;
-
- nouveau_anim = *_vm->_globals.chemin;
_vm->_globals.chemin++;
if (nouveau_x != -1 || nouveau_y != -1) {
@@ -1779,7 +1760,6 @@ void ObjectsManager::GOHOME() {
_newDirection = *_vm->_globals.chemin;
_vm->_globals.chemin++;
- nouveau_anim = *_vm->_globals.chemin;
_vm->_globals.chemin++;
if (nouveau_x == -1 && v48 == -1) {
@@ -1869,8 +1849,6 @@ void ObjectsManager::GOHOME2() {
_newDirection = *_vm->_globals.chemin;
_vm->_globals.chemin++;
-
- nouveau_anim = *_vm->_globals.chemin;
_vm->_globals.chemin++;
if ((nouveau_x == -1) && (nouveau_y == -1))
@@ -1907,8 +1885,6 @@ void ObjectsManager::GOHOME2() {
_vm->_globals.chemin = (int16 *)g_PTRNUL;
my_anim = 0;
- A_ANIM = 0;
- A_DEPA = 0;
}
/**
@@ -2435,11 +2411,6 @@ void ObjectsManager::clearScreen() {
_vm->_eventsManager._mouseCursorId = 4;
_verb = 4;
_zoneNum = 0;
- Vold_taille = 0;
- SPEED_PTR = g_PTRNUL;
- SPEED_X = 0;
- SPEED_Y = 0;
- SPEED_IMAGE = 0;
_forceZoneFl = true;
_vm->_linesManager._linesNumb = 0;
_lastLine = 0;
@@ -2448,7 +2419,6 @@ void ObjectsManager::clearScreen() {
_vm->_globals.SPRITE_ECRAN = _vm->_globals.freeMemory(_vm->_globals.SPRITE_ECRAN);
_vm->_eventsManager._startPos.x = 0;
_vm->_eventsManager._mouseSpriteId = 0;
- Vold_taille = 200;
_vm->_globals._saveData->data[svField1] = 0;
_vm->_globals._saveData->data[svField2] = 0;
_vm->_globals.GOACTION = false;
@@ -2457,12 +2427,6 @@ void ObjectsManager::clearScreen() {
_vm->_globals.chemin = (int16 *)g_PTRNUL;
_vm->_globals._oldDirection = -1;
my_anim = 1;
- A_ANIM = 0;
- MA_ANIM = 0;
- MA_ANIM1 = 0;
- A_DEPA = 0;
- MAX_DEPA = 0;
- MAX_DEPA1 = 0;
_vm->_graphicsManager.RESET_SEGMENT_VESA();
}
@@ -2472,7 +2436,7 @@ void ObjectsManager::clearScreen() {
void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCharacter newCharacter) {
CharacterLocation *loc;
- CH_TETE = true;
+ _changeHeadFl = true;
_vm->_graphicsManager.SCOPY(_vm->_graphicsManager._vesaScreen, 532, 25, 65, 40, _vm->_graphicsManager._vesaBuffer, 532, 25);
_vm->_graphicsManager.addVesaSegment(532, 25, 597, 65);
_vm->_globals.NOT_VERIF = true;
@@ -2480,7 +2444,7 @@ void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCha
if (oldCharacter == CHARACTER_SAMANTHA && newCharacter == CHARACTER_HOPKINS
&& _vm->_globals._saveData->_realHopkins._location == _vm->_globals._screenId) {
- CH_TETE = false;
+ _changeHeadFl = false;
loc = &_vm->_globals._saveData->_samantha;
loc->_pos.x = getSpriteX(0);
loc->_pos.y = getSpriteY(0);
@@ -2496,7 +2460,6 @@ void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCha
_vm->_globals._saveData->data[svField354] = 0;
_vm->_globals._saveData->data[svField356] = 0;
_vm->_globals._saveData->data[svField357] = 1;
- T_RECTIF = 0;
loc = &_vm->_globals._saveData->_realHopkins;
_vm->_globals.PERSO = _vm->_fileManager.loadFile("PERSO.SPR");
@@ -2506,7 +2469,7 @@ void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCha
_vm->_globals.loadCharacterData();
} else if (oldCharacter == CHARACTER_HOPKINS && newCharacter == CHARACTER_SAMANTHA
&& _vm->_globals._saveData->_samantha._location == _vm->_globals._screenId) {
- CH_TETE = false;
+ _changeHeadFl = false;
loc = &_vm->_globals._saveData->_realHopkins;
loc->_pos.x = getSpriteX(0);
loc->_pos.y = getSpriteY(0);
@@ -3719,14 +3682,6 @@ void ObjectsManager::OPTI_ONE(int idx, int fromPosi, int destPosi, int a4) {
}
}
-
-void ObjectsManager::AFFICHE_SPEED1(byte *speedData, int xp, int yp, int img) {
- SPEED_PTR = speedData;
- SPEED_X = xp;
- SPEED_Y = yp;
- SPEED_IMAGE = img;
-}
-
int ObjectsManager::BOBPOSI(int idx) {
return _vm->_globals._bob[idx].field10 / 5;
}
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index 2db9983d85..8c0741c1f1 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -78,7 +78,6 @@ public:
const byte *S_old_spr;
bool PERSO_ON;
bool _saveLoadFl;
- int SL_MODE;
bool _visibleFl;
bool BOBTOUS;
int my_anim;
@@ -86,28 +85,13 @@ public:
bool _forceZoneFl;
bool _changeVerbFl;
int _verb;
- int Vold_taille;
- int SPEED_X, SPEED_Y;
- int SPEED_IMAGE;
- byte *SPEED_PTR;
int _lastLine;
- int A_ANIM;
- int MA_ANIM;
- int MA_ANIM1;
- int A_DEPA;
- int MAX_DEPA;
- int MAX_DEPA1;
- bool CH_TETE;
- int T_RECTIF;
+ bool _changeHeadFl;
bool _disableFl;
bool _twoCharactersFl;
Common::Point _characterPos;
int PERI;
- int RECALL;
- int PTAILLE;
- int PEROFX;
- int PEROFY;
- int OBSSEUL;
+ bool OBSSEUL;
int NVVERBE;
int NVZONE;
int S_old_ani;
@@ -210,8 +194,7 @@ public:
void ZONE_ON(int idx);
void disableZone(int idx);
- void OPTI_ONE(int a1, int a2, int a3, int a4);
- void AFFICHE_SPEED1(byte *speedData, int xp, int yp, int img);
+ void OPTI_ONE(int idx, int fromPosi, int destPosi, int a4);
int BOBPOSI(int idx);
void setBobAnimation(int idx);
void stopBobAnimation(int idx);
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp
index 69af1cc318..477f44b3a9 100644
--- a/engines/hopkins/script.cpp
+++ b/engines/hopkins/script.cpp
@@ -187,7 +187,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
} while (v4);
}
} else
- _vm->_objectsManager.AFFICHE_SPEED1(_vm->_globals.SPRITE_ECRAN, v68, v66, v70);
+ // TODO: Remove this:
+ warning("Former AFFICHE_SPEED1: %d %d %d", v68, v66, v70);
}
opcodeType = 1;
} else if (dataP[2] == 'S' && dataP[3] == 'T' && dataP[4] == 'P') {
@@ -196,7 +197,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager._characterPos.x = (int16)READ_LE_UINT16(dataP + 6);
_vm->_objectsManager._characterPos.y = (int16)READ_LE_UINT16(dataP + 8);
_vm->_objectsManager.PERI = dataP[5];
- if (_vm->_objectsManager.CH_TETE) {
+ if (_vm->_objectsManager._changeHeadFl) {
if (_vm->_globals._saveData->data[svField354] == 1
&& _vm->_globals._saveData->_cloneHopkins._pos.x && _vm->_globals._saveData->_cloneHopkins._pos.y
&& _vm->_globals._saveData->_cloneHopkins.field2 && _vm->_globals._saveData->_cloneHopkins._location) {
@@ -248,16 +249,13 @@ int ScriptManager::handleOpcode(byte *dataP) {
}
}
opcodeType = 1;
- _vm->_objectsManager.CH_TETE = false;
+ _vm->_objectsManager._changeHeadFl = false;
} else if (dataP[2] == 'S' && dataP[3] == 'T' && dataP[4] == 'E') {
if (!_vm->_objectsManager._disableFl) {
- _vm->_objectsManager.RECALL = 0;
_vm->_globals._prevScreenId = _vm->_globals._screenId;
_vm->_globals._saveData->data[svField6] = _vm->_globals._screenId;
_vm->_globals._screenId = _vm->_globals._saveData->data[svField5] = dataP[5];
- _vm->_objectsManager.PTAILLE = v70 = dataP[6];
- _vm->_objectsManager.PEROFX = dataP[7];
- _vm->_objectsManager.PEROFY = dataP[8];
+ v70 = dataP[6];
}
opcodeType = 1;
} else if (dataP[2] == 'B' && dataP[3] == 'O' && dataP[4] == 'F') {
@@ -901,9 +899,9 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager.stopBobAnimation(1);
_vm->_objectsManager.OPTI_ONE(15, 0, 12, 0);
_vm->_objectsManager.stopBobAnimation(15);
- _vm->_objectsManager.OBSSEUL = 1;
+ _vm->_objectsManager.OBSSEUL = true;
_vm->_objectsManager.INILINK("IM19a");
- _vm->_objectsManager.OBSSEUL = 0;
+ _vm->_objectsManager.OBSSEUL = false;
break;
case 56:
@@ -1030,9 +1028,9 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager.stopBobAnimation(12);
_vm->_objectsManager.stopBobAnimation(4);
_vm->_objectsManager.animateSprite(0);
- _vm->_objectsManager.OBSSEUL = 1;
+ _vm->_objectsManager.OBSSEUL = true;
_vm->_objectsManager.INILINK("IM27a");
- _vm->_objectsManager.OBSSEUL = 0;
+ _vm->_objectsManager.OBSSEUL = false;
break;
}
@@ -1124,9 +1122,9 @@ int ScriptManager::handleOpcode(byte *dataP) {
} while (_vm->_objectsManager.BOBPOSI(5) != 6);
_vm->_objectsManager.stopBobAnimation(5);
_vm->_objectsManager.setBobAnimation(6);
- _vm->_objectsManager.OBSSEUL = 1;
+ _vm->_objectsManager.OBSSEUL = true;
_vm->_objectsManager.INILINK("IM24a");
- _vm->_objectsManager.OBSSEUL = 0;
+ _vm->_objectsManager.OBSSEUL = false;
break;
case 86:
@@ -1887,9 +1885,9 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager.SPECIAL_SOUND = 0;
_vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 192, 152, 0);
_vm->_objectsManager.setBobAnimation(9);
- _vm->_objectsManager.OBSSEUL = 1;
+ _vm->_objectsManager.OBSSEUL = true;
_vm->_objectsManager.INILINK("IM73a");
- _vm->_objectsManager.OBSSEUL = 0;
+ _vm->_objectsManager.OBSSEUL = false;
_vm->_globals.CACHE_ON();
_vm->_animationManager.NO_SEQ = false;
_vm->_globals.CACHE_ADD(0);
@@ -1944,9 +1942,9 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 230: {
- _vm->_objectsManager.OBSSEUL = 1;
+ _vm->_objectsManager.OBSSEUL = true;
_vm->_objectsManager.INILINK("IM93a");
- _vm->_objectsManager.OBSSEUL = 0;
+ _vm->_objectsManager.OBSSEUL = false;
_vm->_globals.CACHE_ON();
_vm->_globals.NOT_VERIF = true;
_vm->_objectsManager.g_old_x = _vm->_objectsManager.getSpriteX(0);
@@ -1983,9 +1981,9 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager.setSpriteY(0, 278);
_vm->_objectsManager.animateSprite(0);
_vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 337, 154, 3);
- _vm->_objectsManager.OBSSEUL = 1;
+ _vm->_objectsManager.OBSSEUL = true;
_vm->_objectsManager.INILINK("IM93c");
- _vm->_objectsManager.OBSSEUL = 0;
+ _vm->_objectsManager.OBSSEUL = false;
_vm->_globals.CACHE_ON();
break;
}