aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/objects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hopkins/objects.cpp')
-rw-r--r--engines/hopkins/objects.cpp65
1 files changed, 30 insertions, 35 deletions
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index 9d2cae2cda..ebc83520bd 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -55,7 +55,6 @@ ObjectsManager::ObjectsManager() {
_saveLoadFl = false;
SL_MODE = false;
_visibleFl = false;
- _disableCursorFl = false;
BOBTOUS = false;
my_anim = 0;
NUMZONE = 0;
@@ -102,7 +101,6 @@ void ObjectsManager::setParent(HopkinsEngine *vm) {
*/
void ObjectsManager::changeObject(int objIndex) {
_vm->_eventsManager._objectBuf = CAPTURE_OBJET(objIndex, 1);
- _vm->_globals._newObjectFl = true;
_vm->_globals._curObjectIndex = objIndex;
}
@@ -118,7 +116,7 @@ byte *ObjectsManager::CAPTURE_OBJET(int objIndex, int mode) {
if (_vm->_globals.ADR_FICHIER_OBJ != g_PTRNUL)
ObjectsManager::DEL_FICHIER_OBJ();
if (val1 == 1) {
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "OBJET1.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "OBJET1.SPR");
_vm->_globals.ADR_FICHIER_OBJ = ObjectsManager::loadSprite(_vm->_globals._curFilename);
}
_vm->_globals.NUM_FICHIER_OBJ = val1;
@@ -2077,7 +2075,7 @@ void ObjectsManager::CHARGE_OBSTACLE(const Common::String &file) {
_vm->_linesManager.RESET_OBSTACLE();
_vm->_linesManager._linesNumb = 0;
_lastLine = 0;
- _vm->_fileManager.constructFilename(_vm->_globals.HOPLINK, file);
+ _vm->_fileManager.constructFilename("LINK", file);
ptr = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
v4 = 0;
v5 = 0;
@@ -2132,7 +2130,7 @@ void ObjectsManager::loadZone(const Common::String &file) {
_vm->_globals.ZONEP[i].field10 = 0;
}
- _vm->_fileManager.constructFilename(_vm->_globals.HOPLINK, file);
+ _vm->_fileManager.constructFilename("LINK", file);
Common::File f;
if (!f.exists(_vm->_globals._curFilename))
@@ -2262,9 +2260,8 @@ void ObjectsManager::PLAN_BETA() {
_vm->_dialogsManager._inventFl = false;
_vm->_eventsManager._gameKey = KEY_NONE;
_vm->_globals.Max_Propre = 1;
- _vm->_globals.Max_Ligne_Long = 1;
+ _vm->_globals._maxLineLength = 1;
_vm->_globals.Max_Perso_Y = 440;
- _vm->_globals.NOSPRECRAN = true;
_vm->_globals.PLAN_FLAG = true;
_vm->_graphicsManager._noFadingFl = false;
_vm->_globals.NOMARCHE = false;
@@ -2277,11 +2274,11 @@ void ObjectsManager::PLAN_BETA() {
CHARGE_OBSTACLE("PLAN.OB2");
_vm->_globals.loadCache("PLAN.CA2");
loadZone("PLAN.ZO2");
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "VOITURE.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "VOITURE.SPR");
_spritePtr = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
_vm->_animationManager.loadAnim("PLAN");
_vm->_graphicsManager.VISU_ALL();
- _vm->_graphicsManager.INI_ECRAN2("PLAN");
+ _vm->_graphicsManager.INI_ECRAN2("PLAN", false);
for (int v2 = 0; v2 <= 15; v2++)
_vm->_globals.CACHE_OFF(v2);
_vm->_globals.CACHE_OFF(19);
@@ -2358,7 +2355,6 @@ void ObjectsManager::PLAN_BETA() {
removeSprite(0);
_spritePtr = _vm->_globals.freeMemory(_spritePtr);
CLEAR_ECRAN();
- _vm->_globals.NOSPRECRAN = false;
_vm->_globals.PLAN_FLAG = false;
}
@@ -2696,7 +2692,6 @@ void ObjectsManager::CLEAR_ECRAN() {
_vm->_globals.GOACTION = false;
_forceZoneFl = true;
_changeVerbFl = false;
- _vm->_globals.NOSPRECRAN = false;
_vm->_globals.chemin = (int16 *)g_PTRNUL;
_vm->_globals.g_old_sens = -1;
my_anim = 1;
@@ -2742,7 +2737,7 @@ void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCha
T_RECTIF = 0;
loc = &_vm->_globals._saveData->_realHopkins;
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "PERSO.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "PERSO.SPR");
_vm->_globals.PERSO = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
_vm->_globals.PERSO_TYPE = 0;
SPRITE(_vm->_globals.PERSO, loc->_pos, 0, 64, loc->field4, 0, 34, 190);
@@ -2768,7 +2763,7 @@ void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCha
_vm->_globals._saveData->data[svField357] = 0;
loc = &_vm->_globals._saveData->_samantha;
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "PSAMAN.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "PSAMAN.SPR");
_vm->_globals.PERSO = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
_vm->_globals.PERSO_TYPE = 2;
SPRITE(_vm->_globals.PERSO, loc->_pos, 0, 64, loc->field4, 0, 20, 127);
@@ -3747,7 +3742,7 @@ void ObjectsManager::OPTI_OBJET() {
file = "OBJET1.ini";
data = _vm->_fileManager.searchCat(file, 1);
if (data == g_PTRNUL) {
- _vm->_fileManager.constructFilename(_vm->_globals.HOPLINK, file);
+ _vm->_fileManager.constructFilename("LINK", file);
data = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
if (data == g_PTRNUL)
error("INI file %s not found", file.c_str());
@@ -3970,7 +3965,7 @@ void ObjectsManager::ACTION_DOS(int idx) {
_vm->_globals.GESTE = _vm->_globals.freeMemory(_vm->_globals.GESTE);
_vm->_globals.GESTE_FLAG = 1;
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "DOS.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "DOS.SPR");
_vm->_globals.GESTE = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
}
if (idx == 1)
@@ -3999,7 +3994,7 @@ void ObjectsManager::ACTION_DROITE(int idx) {
if (_vm->_globals.GESTE_FLAG != 3) {
_vm->_globals.GESTE = _vm->_globals.freeMemory(_vm->_globals.GESTE);
_vm->_globals.GESTE_FLAG = 3;
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "PROFIL.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "PROFIL.SPR");
_vm->_globals.GESTE = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
}
if (idx == 1)
@@ -4028,7 +4023,7 @@ void ObjectsManager::Q_DROITE(int idx) {
if (_vm->_globals.GESTE_FLAG != 4) {
_vm->_globals.GESTE = _vm->_globals.freeMemory(_vm->_globals.GESTE);
_vm->_globals.GESTE_FLAG = 4;
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "3Q.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "3Q.SPR");
_vm->_globals.GESTE = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
}
if (idx == 1)
@@ -4057,7 +4052,7 @@ void ObjectsManager::ACTION_FACE(int idx) {
if (_vm->_globals.GESTE_FLAG != 2) {
_vm->_globals.GESTE = _vm->_globals.freeMemory(_vm->_globals.GESTE);
_vm->_globals.GESTE_FLAG = 2;
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "FACE.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "FACE.SPR");
_vm->_globals.GESTE = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
}
if (idx == 1)
@@ -4074,7 +4069,7 @@ void ObjectsManager::Q_GAUCHE(int idx) {
if (_vm->_globals.GESTE_FLAG != 4) {
_vm->_globals.GESTE = _vm->_globals.freeMemory(_vm->_globals.GESTE);
_vm->_globals.GESTE_FLAG = 4;
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "3Q.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "3Q.SPR");
_vm->_globals.GESTE = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
}
if (idx == 1)
@@ -4103,7 +4098,7 @@ void ObjectsManager::ACTION_GAUCHE(int idx) {
if (_vm->_globals.GESTE_FLAG != 3) {
_vm->_globals.GESTE = _vm->_globals.freeMemory(_vm->_globals.GESTE);
_vm->_globals.GESTE_FLAG = 3;
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "PROFIL.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "PROFIL.SPR");
_vm->_globals.GESTE = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
}
if (idx == 1)
@@ -4251,7 +4246,7 @@ void ObjectsManager::INILINK(const Common::String &file) {
ptr = _vm->_fileManager.searchCat(filename, 3);
nbytes = _vm->_globals._catalogSize;
if (ptr == g_PTRNUL) {
- _vm->_fileManager.constructFilename(_vm->_globals.HOPLINK, filename);
+ _vm->_fileManager.constructFilename("LINK", filename);
if (!f.open(_vm->_globals._curFilename))
error("Error opening file - %s", _vm->_globals._curFilename.c_str());
@@ -4274,9 +4269,9 @@ void ObjectsManager::INILINK(const Common::String &file) {
_vm->_globals.CACHE_BANQUE[1] = _vm->_fileManager.searchCat(filename2, 8);
if (_vm->_globals.CACHE_BANQUE[1] || _vm->_globals.CACHE_BANQUE[1] == g_PTRNUL) {
- _vm->_fileManager.constructFilename(_vm->_globals.HOPLINK, filename2);
+ _vm->_fileManager.constructFilename("LINK", filename2);
} else {
- _vm->_fileManager.constructFilename(_vm->_globals.HOPLINK, "RES_SLI.RES");
+ _vm->_fileManager.constructFilename("LINK", "RES_SLI.RES");
}
_vm->_globals.CACHE_BANQUE[1] = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
@@ -4965,7 +4960,7 @@ void ObjectsManager::lockAnimX(int idx, int a2) {
}
void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Common::String &linkFile,
- const Common::String &animFile, const Common::String &s4, int v) {
+ const Common::String &animFile, const Common::String &s4, int v, bool initializeScreen) {
int v5;
int v7;
int v8;
@@ -4990,10 +4985,10 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
_vm->_animationManager.loadAnim(animFile);
_vm->_graphicsManager.VISU_ALL();
if (!s4.empty()) {
- if (!_vm->_globals.NOSPRECRAN)
- _vm->_graphicsManager.INI_ECRAN(s4);
- if (!s4.empty() && _vm->_globals.NOSPRECRAN)
- _vm->_graphicsManager.INI_ECRAN2(s4);
+ if (initializeScreen)
+ _vm->_graphicsManager.INI_ECRAN(s4, initializeScreen);
+ if (!s4.empty() && !initializeScreen)
+ _vm->_graphicsManager.INI_ECRAN2(s4, initializeScreen);
}
_vm->_eventsManager.mouseOn();
if (_vm->_globals._screenId == 61) {
@@ -5060,7 +5055,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
}
void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Common::String &linkFile,
- const Common::String &animFile, const Common::String &s4, int v) {
+ const Common::String &animFile, const Common::String &s4, int v, bool initializeScreen) {
int mouseButtons;
bool breakFlag;
int xp, yp;
@@ -5087,10 +5082,10 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
_vm->_graphicsManager.VISU_ALL();
}
if (!s4.empty()) {
- if (!_vm->_globals.NOSPRECRAN)
- _vm->_graphicsManager.INI_ECRAN(s4);
+ if (initializeScreen)
+ _vm->_graphicsManager.INI_ECRAN(s4, initializeScreen);
else
- _vm->_graphicsManager.INI_ECRAN2(s4);
+ _vm->_graphicsManager.INI_ECRAN2(s4, initializeScreen);
}
_vm->_eventsManager.mouseOn();
_vm->_eventsManager._mouseCursorId = 4;
@@ -5100,20 +5095,20 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
if (_vm->_globals.PERSO_TYPE) {
if (!_vm->_globals._saveData->data[svField122] && !_vm->_globals._saveData->data[svField356]) {
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "PERSO.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "PERSO.SPR");
_vm->_globals.PERSO = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
_vm->_globals.PERSO_TYPE = 0;
}
}
if (!_vm->_globals.PERSO_TYPE) {
if (_vm->_globals._saveData->data[svField122] == 1) {
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "HOPFEM.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "HOPFEM.SPR");
_vm->_globals.PERSO = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
_vm->_globals.PERSO_TYPE = 1;
}
}
if (_vm->_globals.PERSO_TYPE != 2 && _vm->_globals._saveData->data[svField356] == 1) {
- _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "PSAMAN.SPR");
+ _vm->_fileManager.constructFilename("SYSTEM", "PSAMAN.SPR");
_vm->_globals.PERSO = _vm->_fileManager.loadFile(_vm->_globals._curFilename);
_vm->_globals.PERSO_TYPE = 2;
}