aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hopkins/dialogs.cpp2
-rw-r--r--engines/hopkins/globals.cpp42
-rw-r--r--engines/hopkins/globals.h33
-rw-r--r--engines/hopkins/lines.cpp2
-rw-r--r--engines/hopkins/objects.cpp123
-rw-r--r--engines/hopkins/objects.h10
-rw-r--r--engines/hopkins/script.cpp6
7 files changed, 108 insertions, 110 deletions
diff --git a/engines/hopkins/dialogs.cpp b/engines/hopkins/dialogs.cpp
index 9fe7be68cc..6102c8645a 100644
--- a/engines/hopkins/dialogs.cpp
+++ b/engines/hopkins/dialogs.cpp
@@ -373,7 +373,7 @@ void DialogsManager::showInventory() {
int inventIdx = _vm->_globals._inventory[inventCount];
// The last two zones are not reserved for the inventory: Options and Save/Load
if (inventIdx && inventCount <= 29) {
- byte *obj = _vm->_objectsManager.CAPTURE_OBJET(inventIdx, false);
+ byte *obj = _vm->_objectsManager.loadObjectFromFile(inventIdx, false);
_vm->_graphicsManager.restoreSurfaceRect(_vm->_graphicsManager._vesaBuffer, obj, _inventX + curPosX + 6,
curPosY + 120, _vm->_globals._objectWidth, _vm->_globals._objectHeight);
_vm->_globals.freeMemory(obj);
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index 2497f3281e..45caa926b4 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -81,7 +81,7 @@ Globals::Globals() {
Common::fill((byte *)&VBob[i], (byte *)&VBob[i] + sizeof(VBobItem), 0);
}
for (int i = 0; i < 300; ++i)
- Common::fill((byte *)&ObjetW[i], (byte *)&ObjetW[i] + sizeof(ObjetWItem), 0);
+ Common::fill((byte *)&_objectAuthIcons[i], (byte *)&_objectAuthIcons[i] + sizeof(ObjectAuthIcon), 0);
for (int i = 0; i < 25; ++i)
Common::fill((byte *)&_hidingItem[i], (byte *)&_hidingItem[i] + sizeof(HidingItem), 0);
@@ -104,7 +104,7 @@ Globals::Globals() {
_oldDirection = DIR_NONE;
_oldDirectionSpriteIdx = 59;
_lastDirection = DIR_NONE;
- NUM_FICHIER_OBJ = 0;
+ _curObjectFileNum = 0;
_boxWidth = 0;
_objectWidth = _objectHeight = 0;
_catalogPos = 0;
@@ -148,7 +148,7 @@ Globals::Globals() {
_saveData = NULL;
_inventoryObject = NULL;
_answerBuffer = g_PTRNUL;
- ADR_FICHIER_OBJ = NULL;
+ _objectDataBuf = NULL;
PERSO = NULL;
_optionDialogSpr = NULL;
@@ -183,7 +183,7 @@ Globals::~Globals() {
freeMemory((byte *)_saveData);
freeMemory(_inventoryObject);
freeMemory(_answerBuffer);
- freeMemory(ADR_FICHIER_OBJ);
+ freeMemory(_objectDataBuf);
freeMemory(PERSO);
clearVBob();
@@ -217,16 +217,16 @@ void Globals::setConfig() {
switch (_language) {
case LANG_EN:
- FICH_ZONE = "ZONEAN.TXT";
- FICH_TEXTE = "TEXTEAN.TXT";
+ _zoneFilename = "ZONEAN.TXT";
+ _textFilename = "TEXTEAN.TXT";
break;
case LANG_FR:
- FICH_ZONE = "ZONE01.TXT";
- FICH_TEXTE = "TEXTE01.TXT";
+ _zoneFilename = "ZONE01.TXT";
+ _textFilename = "TEXTE01.TXT";
break;
case LANG_SP:
- FICH_ZONE = "ZONEES.TXT";
- FICH_TEXTE = "TEXTEES.TXT";
+ _zoneFilename = "ZONEES.TXT";
+ _textFilename = "TEXTEES.TXT";
break;
}
}
@@ -242,8 +242,8 @@ void Globals::clearAll() {
_vm->_fontManager.clearAll();
initVBob();
- ADR_FICHIER_OBJ = g_PTRNUL;
- NUM_FICHIER_OBJ = 0;
+ _objectDataBuf = g_PTRNUL;
+ _curObjectFileNum = 0;
_vm->_eventsManager._objectBuf = g_PTRNUL;
_vm->_dialogsManager._inventWin1 = g_PTRNUL;
_vm->_dialogsManager._inventBuf2 = g_PTRNUL;
@@ -263,7 +263,7 @@ void Globals::clearAll() {
_vm->_eventsManager._objectBuf = allocMemory(2500);
_inventoryObject = allocMemory(2500);
- ADR_FICHIER_OBJ = g_PTRNUL;
+ _objectDataBuf = g_PTRNUL;
}
void Globals::loadCharacterData() {
@@ -325,14 +325,14 @@ void Globals::loadObjects() {
byte *srcP = data;
for (int idx = 0; idx < 300; ++idx) {
- ObjetW[idx].field0 = *srcP++;
- ObjetW[idx]._idx = *srcP++;
- ObjetW[idx].field2 = *srcP++;
- ObjetW[idx].field3 = *srcP++;
- ObjetW[idx].field4 = *srcP++;
- ObjetW[idx].field5 = *srcP++;
- ObjetW[idx].field6 = *srcP++;
- ObjetW[idx].field7 = *srcP++;
+ _objectAuthIcons[idx]._objectFileNum = *srcP++;
+ _objectAuthIcons[idx]._idx = *srcP++;
+ _objectAuthIcons[idx]._flag1 = *srcP++;
+ _objectAuthIcons[idx]._flag2 = *srcP++;
+ _objectAuthIcons[idx]._flag3 = *srcP++;
+ _objectAuthIcons[idx]._flag4 = *srcP++;
+ _objectAuthIcons[idx]._flag5 = *srcP++;
+ _objectAuthIcons[idx]._flag6 = *srcP++;
}
freeMemory(data);
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index 700fead351..cd566a2134 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -29,7 +29,6 @@
namespace Hopkins {
-
struct BqeAnimItem {
byte *_data;
bool _enabledFl;
@@ -69,21 +68,21 @@ struct VBobItem {
byte *_oldSpriteData;
};
-struct ObjetWItem {
- byte field0;
+struct ObjectAuthIcon {
+ byte _objectFileNum;
byte _idx;
- byte field2;
- byte field3;
- byte field4;
- byte field5;
- byte field6;
- byte field7;
+ byte _flag1;
+ byte _flag2;
+ byte _flag3;
+ byte _flag4;
+ byte _flag5;
+ byte _flag6;
};
/**
* Mode for SortItem records
*/
-enum SortMode { SORT_NONE = 0, SORT_BOB = 1, SORT_SPRITE = 2, SORT_CACHE = 3 };
+enum SortMode { SORT_NONE = 0, SORT_BOB = 1, SORT_SPRITE = 2, SORT_HIDING = 3 };
/**
* Structure to represent a pending display of either a Bob, Sprite, or Cache Item.
@@ -96,8 +95,8 @@ struct SortItem {
struct HidingItem {
int _x;
- int _spriteIndex;
int _y;
+ int _spriteIndex;
int _width;
int _height;
int _useCount;
@@ -311,22 +310,22 @@ public:
byte *_hidingItemData[6];
HidingItem _hidingItem[25];
BqeAnimItem _animBqe[35];
+ ObjectAuthIcon _objectAuthIcons[300];
+ int _curObjectFileNum;
+ byte *_objectDataBuf;
+ Common::String _zoneFilename;
+ Common::String _textFilename;
int iRegul;
byte *BUF_ZONE;
byte *SPRITE_ECRAN;
byte *PERSO;
- ObjetWItem ObjetW[300];
- int NUM_FICHIER_OBJ;
- byte *ADR_FICHIER_OBJ;
ListeItem Liste[6];
ListeItem Liste2[35];
BankItem Bank[8];
VBobItem VBob[30];
int Compteur;
int compteur_71;
- Common::String FICH_ZONE;
- Common::String FICH_TEXTE;
Globals();
~Globals();
@@ -343,8 +342,8 @@ public:
void disableHiding();
void resetHidingUseCount(int idx);
void setHidingUseCount(int idx);
-
void clearVBob();
+
void B_CACHE_OFF(int idx);
};
diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp
index 8fa0f1febe..77b9d4b6cd 100644
--- a/engines/hopkins/lines.cpp
+++ b/engines/hopkins/lines.cpp
@@ -2924,7 +2924,7 @@ void LinesManager::checkZone() {
ZONEP[zoneId]._verbFl7 || ZONEP[zoneId]._verbFl8 ||
ZONEP[zoneId]._verbFl9 || ZONEP[zoneId]._verbFl10) {
if (_vm->_globals._oldMouseZoneId != zoneId) {
- _vm->_fontManager.initTextBuffers(5, ZONEP[zoneId]._messageId, _vm->_globals.FICH_ZONE, 0, 430, 0, 0, 252);
+ _vm->_fontManager.initTextBuffers(5, ZONEP[zoneId]._messageId, _vm->_globals._zoneFilename, 0, 430, 0, 0, 252);
_vm->_fontManager.showText(5);
_vm->_globals._forceHideText = true;
}
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index 66b5135f69..a187f59d4a 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -104,41 +104,41 @@ void ObjectsManager::clearAll() {
* Change Object
*/
void ObjectsManager::changeObject(int objIndex) {
- _vm->_eventsManager._objectBuf = CAPTURE_OBJET(objIndex, true);
+ _vm->_eventsManager._objectBuf = loadObjectFromFile(objIndex, true);
_curObjectIndex = objIndex;
}
-byte *ObjectsManager::CAPTURE_OBJET(int objIndex, bool mode) {
+byte *ObjectsManager::loadObjectFromFile(int objIndex, bool mode) {
byte *dataP = NULL;
- int val1 = _vm->_globals.ObjetW[objIndex].field0;
- int val2 = _vm->_globals.ObjetW[objIndex]._idx;
+ int objectFileNum = _vm->_globals._objectAuthIcons[objIndex]._objectFileNum;
+ int idx = _vm->_globals._objectAuthIcons[objIndex]._idx;
if (mode)
- ++val2;
+ ++idx;
- if (val1 != _vm->_globals.NUM_FICHIER_OBJ) {
- if (_vm->_globals.ADR_FICHIER_OBJ != g_PTRNUL)
- ObjectsManager::DEL_FICHIER_OBJ();
- if (val1 == 1) {
- _vm->_globals.ADR_FICHIER_OBJ = ObjectsManager::loadSprite("OBJET1.SPR");
+ if (objectFileNum != _vm->_globals._curObjectFileNum) {
+ if (_vm->_globals._objectDataBuf != g_PTRNUL)
+ ObjectsManager::removeObjectDataBuf();
+ if (objectFileNum == 1) {
+ _vm->_globals._objectDataBuf = ObjectsManager::loadSprite("OBJET1.SPR");
}
- _vm->_globals.NUM_FICHIER_OBJ = val1;
+ _vm->_globals._curObjectFileNum = objectFileNum;
}
- int width = ObjectsManager::getWidth(_vm->_globals.ADR_FICHIER_OBJ, val2);
- int height = ObjectsManager::getHeight(_vm->_globals.ADR_FICHIER_OBJ, val2);
+ int width = ObjectsManager::getWidth(_vm->_globals._objectDataBuf, idx);
+ int height = ObjectsManager::getHeight(_vm->_globals._objectDataBuf, idx);
_vm->_globals._objectWidth = width;
_vm->_globals._objectHeight = height;
if (mode) {
- sprite_alone(_vm->_globals.ADR_FICHIER_OBJ, _vm->_eventsManager._objectBuf, val2);
+ sprite_alone(_vm->_globals._objectDataBuf, _vm->_eventsManager._objectBuf, idx);
dataP = _vm->_eventsManager._objectBuf;
} else {
dataP = _vm->_globals.allocMemory(height * width);
if (dataP == g_PTRNUL)
error("CAPTURE_OBJET");
- capture_mem_sprite(_vm->_globals.ADR_FICHIER_OBJ, dataP, val2);
+ capture_mem_sprite(_vm->_globals._objectDataBuf, dataP, idx);
}
return dataP;
@@ -258,9 +258,9 @@ void ObjectsManager::capture_mem_sprite(const byte *objectData, byte *sprite, in
memcpy(sprite, objP + 12, result);
}
-void ObjectsManager::DEL_FICHIER_OBJ() {
- _vm->_globals.NUM_FICHIER_OBJ = 0;
- _vm->_globals.ADR_FICHIER_OBJ = _vm->_globals.freeMemory(_vm->_globals.ADR_FICHIER_OBJ);
+void ObjectsManager::removeObjectDataBuf() {
+ _vm->_globals._curObjectFileNum = 0;
+ _vm->_globals._objectDataBuf = _vm->_globals.freeMemory(_vm->_globals._objectDataBuf);
}
/**
@@ -341,13 +341,13 @@ void ObjectsManager::displaySprite() {
_vm->_globals.Liste[idx]._visibleFl = false;
if (_sprite[idx]._animationType == 1) {
computeSprite(idx);
- if (_sprite[idx].field2A)
+ if (_sprite[idx]._activeFl)
beforeSort(SORT_SPRITE, idx, _sprite[idx]._height + _sprite[idx]._destY);
}
}
if (_vm->_globals._hidingActiveFl)
- checkCache();
+ checkHidingItem();
}
if (_priorityFl && _vm->_globals._sortedDisplayCount) {
@@ -373,8 +373,8 @@ void ObjectsManager::displaySprite() {
case SORT_SPRITE:
DEF_SPRITE(_vm->_globals._sortedDisplay[idx]._index);
break;
- case SORT_CACHE:
- displayCache(_vm->_globals._sortedDisplay[idx]._index);
+ case SORT_HIDING:
+ displayHiding(_vm->_globals._sortedDisplay[idx]._index);
break;
default:
break;
@@ -382,7 +382,7 @@ void ObjectsManager::displaySprite() {
_vm->_globals._sortedDisplay[idx]._sortMode = SORT_NONE;
}
} else {
- for (int idx = 1; idx < (_vm->_globals._sortedDisplayCount + 1); ++idx) {
+ for (int idx = 1; idx < _vm->_globals._sortedDisplayCount + 1; ++idx) {
switch (_vm->_globals._sortedDisplay[idx]._sortMode) {
case SORT_BOB:
setBobInfo(_vm->_globals._sortedDisplay[idx]._index);
@@ -390,8 +390,8 @@ void ObjectsManager::displaySprite() {
case SORT_SPRITE:
DEF_SPRITE(_vm->_globals._sortedDisplay[idx]._index);
break;
- case SORT_CACHE:
- displayCache(_vm->_globals._sortedDisplay[idx]._index);
+ case SORT_HIDING:
+ displayHiding(_vm->_globals._sortedDisplay[idx]._index);
break;
default:
break;
@@ -729,49 +729,48 @@ void ObjectsManager::CALCUL_BOB(int idx) {
_bob[idx]._oldHeight = height;
}
-void ObjectsManager::checkCache() {
- for (int cacheIdx = 0; cacheIdx <= 19; cacheIdx++) {
- if (_vm->_globals._hidingItem[cacheIdx]._useCount == 0)
+void ObjectsManager::checkHidingItem() {
+ for (int hidingItemIdx = 0; hidingItemIdx <= 19; hidingItemIdx++) {
+ if (_vm->_globals._hidingItem[hidingItemIdx]._useCount == 0)
continue;
- int _oldUseCount = _vm->_globals._hidingItem[cacheIdx]._useCount;
+ int _oldUseCount = _vm->_globals._hidingItem[hidingItemIdx]._useCount;
for (int spriteIdx = 0; spriteIdx <= 4; spriteIdx++) {
if (_sprite[spriteIdx]._animationType == 1 && _sprite[spriteIdx]._spriteIndex != 250) {
int right = _sprite[spriteIdx]._width + _sprite[spriteIdx]._destX;
int bottom = _sprite[spriteIdx]._height + _sprite[spriteIdx]._destY;
- int cachedRight = _vm->_globals._hidingItem[cacheIdx]._width + _vm->_globals._hidingItem[cacheIdx]._x;
-
- if (bottom > _vm->_globals._hidingItem[cacheIdx]._y && bottom < (_vm->_globals._hidingItem[cacheIdx].field14 + _vm->_globals._hidingItem[cacheIdx]._height + _vm->_globals._hidingItem[cacheIdx]._y)) {
- if ((right >= _vm->_globals._hidingItem[cacheIdx]._x && right <= cachedRight)
- || (cachedRight >= _sprite[spriteIdx]._destX && _vm->_globals._hidingItem[cacheIdx]._x <= _sprite[spriteIdx]._destX)
- || (cachedRight >= _sprite[spriteIdx]._destX && _vm->_globals._hidingItem[cacheIdx]._x <= _sprite[spriteIdx]._destX)
- || (_vm->_globals._hidingItem[cacheIdx]._x <= _sprite[spriteIdx]._destX && right <= cachedRight)
- || (_vm->_globals._hidingItem[cacheIdx]._x >= _sprite[spriteIdx]._destX && right >= cachedRight))
- ++_vm->_globals._hidingItem[cacheIdx]._useCount;
+ int cachedRight = _vm->_globals._hidingItem[hidingItemIdx]._width + _vm->_globals._hidingItem[hidingItemIdx]._x;
+
+ if (bottom > _vm->_globals._hidingItem[hidingItemIdx]._y && bottom < (_vm->_globals._hidingItem[hidingItemIdx].field14 + _vm->_globals._hidingItem[hidingItemIdx]._height + _vm->_globals._hidingItem[hidingItemIdx]._y)) {
+ if ((right >= _vm->_globals._hidingItem[hidingItemIdx]._x && right <= cachedRight)
+ || (cachedRight >= _sprite[spriteIdx]._destX && _vm->_globals._hidingItem[hidingItemIdx]._x <= _sprite[spriteIdx]._destX)
+ || (cachedRight >= _sprite[spriteIdx]._destX && _vm->_globals._hidingItem[hidingItemIdx]._x <= _sprite[spriteIdx]._destX)
+ || (_vm->_globals._hidingItem[hidingItemIdx]._x <= _sprite[spriteIdx]._destX && right <= cachedRight)
+ || (_vm->_globals._hidingItem[hidingItemIdx]._x >= _sprite[spriteIdx]._destX && right >= cachedRight))
+ ++_vm->_globals._hidingItem[hidingItemIdx]._useCount;
}
}
}
- SCBOB(cacheIdx);
- if (_vm->_globals._hidingItem[cacheIdx]._useCount == _oldUseCount) {
- if (_vm->_globals._hidingItem[cacheIdx].field10) {
- _vm->_globals._hidingItem[cacheIdx].field10 = false;
- _vm->_globals._hidingItem[cacheIdx]._useCount = 1;
- }
- } else {
- int priority = _vm->_globals._hidingItem[cacheIdx].field14 + _vm->_globals._hidingItem[cacheIdx]._height + _vm->_globals._hidingItem[cacheIdx]._y;
+ SCBOB(hidingItemIdx);
+ if (_vm->_globals._hidingItem[hidingItemIdx]._useCount != _oldUseCount) {
+ int priority = _vm->_globals._hidingItem[hidingItemIdx].field14 + _vm->_globals._hidingItem[hidingItemIdx]._height + _vm->_globals._hidingItem[hidingItemIdx]._y;
if (priority > 440)
priority = 500;
- beforeSort(SORT_CACHE, cacheIdx, priority);
- _vm->_globals._hidingItem[cacheIdx]._useCount = 1;
- _vm->_globals._hidingItem[cacheIdx].field10 = true;
+ beforeSort(SORT_HIDING, hidingItemIdx, priority);
+ _vm->_globals._hidingItem[hidingItemIdx]._useCount = 1;
+ _vm->_globals._hidingItem[hidingItemIdx].field10 = true;
+ } else if (_vm->_globals._hidingItem[hidingItemIdx].field10) {
+ _vm->_globals._hidingItem[hidingItemIdx].field10 = false;
+ _vm->_globals._hidingItem[hidingItemIdx]._useCount = 1;
}
+
}
}
void ObjectsManager::DEF_SPRITE(int idx) {
- if (!_sprite[idx].field2A)
+ if (!_sprite[idx]._activeFl)
return;
if (_sprite[idx]._rleFl)
@@ -808,7 +807,7 @@ void ObjectsManager::DEF_SPRITE(int idx) {
_vm->_globals.Liste[idx]._posX + _vm->_globals.Liste[idx]._width, _vm->_globals.Liste[idx]._posY + _vm->_globals.Liste[idx]._height);
}
-void ObjectsManager::displayCache(int idx) {
+void ObjectsManager::displayHiding(int idx) {
_vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals._hidingItemData[1],
_vm->_globals._hidingItem[idx]._x + 300, _vm->_globals._hidingItem[idx]._y + 300,
_vm->_globals._hidingItem[idx]._spriteIndex);
@@ -819,7 +818,7 @@ void ObjectsManager::displayCache(int idx) {
// Compute Sprite
void ObjectsManager::computeSprite(int idx) {
- _sprite[idx].field2A = false;
+ _sprite[idx]._activeFl = false;
int spriteIndex = _sprite[idx]._spriteIndex;
if (spriteIndex == 250)
return;
@@ -878,7 +877,7 @@ void ObjectsManager::computeSprite(int idx) {
int newPosY = _sprite[idx]._spritePos.y - deltaY;
_sprite[idx]._destX = newPosX;
_sprite[idx]._destY = newPosY;
- _sprite[idx].field2A = true;
+ _sprite[idx]._activeFl = true;
_sprite[idx]._zoomPct = zoomPercent;
_sprite[idx]._reducePct = reducePercent;
@@ -2477,13 +2476,13 @@ void ObjectsManager::nextObjectIcon(int idx) {
do {
if (nextCursorId == 2 || nextCursorId == 5 || nextCursorId == 6) {
_vm->_eventsManager._mouseCursorId = 6;
- if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field2 == 1)
+ if (_vm->_globals._objectAuthIcons[_vm->_globals._inventory[idx]]._flag1 == 1)
return;
nextCursorId++;
}
if (nextCursorId == 7) {
_vm->_eventsManager._mouseCursorId = 7;
- if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field3 == 1)
+ if (_vm->_globals._objectAuthIcons[_vm->_globals._inventory[idx]]._flag2 == 1)
return;
nextCursorId++;
}
@@ -2493,35 +2492,35 @@ void ObjectsManager::nextObjectIcon(int idx) {
}
if (nextCursorId == 9 || nextCursorId == 10) {
_vm->_eventsManager._mouseCursorId = 10;
- if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field7 == 1)
+ if (_vm->_globals._objectAuthIcons[_vm->_globals._inventory[idx]]._flag6 == 1)
return;
nextCursorId = 11;
}
if (nextCursorId == 11) {
_vm->_eventsManager._mouseCursorId = 11;
- if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field4 == 1)
+ if (_vm->_globals._objectAuthIcons[_vm->_globals._inventory[idx]]._flag3 == 1)
return;
nextCursorId++;
}
if (nextCursorId == 12 || nextCursorId == 13) {
_vm->_eventsManager._mouseCursorId = 13;
- if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field5 == 1)
+ if (_vm->_globals._objectAuthIcons[_vm->_globals._inventory[idx]]._flag4 == 1)
return;
nextCursorId = 14;
}
if (nextCursorId == 14 || nextCursorId == 15) {
_vm->_eventsManager._mouseCursorId = 15;
- if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field6 == 1)
+ if (_vm->_globals._objectAuthIcons[_vm->_globals._inventory[idx]]._flag5 == 1)
return;
nextCursorId = 23;
}
if (nextCursorId >= 16 && nextCursorId <= 23) {
_vm->_eventsManager._mouseCursorId = 23;
- if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field6 == 2)
+ if (_vm->_globals._objectAuthIcons[_vm->_globals._inventory[idx]]._flag5 == 2)
return;
nextCursorId = 24;
}
@@ -2531,7 +2530,7 @@ void ObjectsManager::nextObjectIcon(int idx) {
}
nextCursorId = 6;
- } while (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field7 != 2);
+ } while (_vm->_globals._objectAuthIcons[_vm->_globals._inventory[idx]]._flag6 != 2);
}
void ObjectsManager::takeInventoryObject(int idx) {
@@ -3227,7 +3226,7 @@ void ObjectsManager::SPECIAL_INI() {
VBOB(_vm->_globals.SPRITE_ECRAN, 5, 15, 28, 1);
_vm->_fontManager.hideText(9);
if (!_vm->_soundManager._textOffFl) {
- _vm->_fontManager.initTextBuffers(9, 383, _vm->_globals.FICH_TEXTE, 220, 72, 6, 36, 253);
+ _vm->_fontManager.initTextBuffers(9, 383, _vm->_globals._textFilename, 220, 72, 6, 36, 253);
if (!_vm->_soundManager._textOffFl)
_vm->_fontManager.showText(9);
}
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index 8ccc345104..5b4e80cbf8 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -42,7 +42,7 @@ struct SpriteItem {
int field12;
int field14;
bool _rleFl;
- bool field2A;
+ bool _activeFl;
int _destX;
int _destY;
int _width;
@@ -97,7 +97,7 @@ private:
byte *_gestureBuf;
void sprite_alone(const byte *objectData, byte *sprite, int objIndex);
- void DEL_FICHIER_OBJ();
+ void removeObjectDataBuf();
int getOffsetX(const byte *spriteData, int spriteIndex, bool isSize);
int getOffsetY(const byte *spriteData, int spriteIndex, bool isSize);
@@ -108,9 +108,9 @@ private:
void SCBOB(int idx);
void CALCUL_BOB(int idx);
- void checkCache();
+ void checkHidingItem();
void DEF_SPRITE(int idx);
- void displayCache(int idx);
+ void displayHiding(int idx);
void computeSprite(int idx);
void beforeSort(SortMode sortMode, int index, int priority);
void displayBobAnim();
@@ -224,7 +224,7 @@ public:
const Common::String &animFile, const Common::String &s4, int soundNum, bool initializeScreen);
void PERSONAGE2(const Common::String &backgroundFile, const Common::String &linkFile,
const Common::String &animFile, const Common::String &s4, int soundNum, bool initializeScreen);
- byte *CAPTURE_OBJET(int objIndex, bool mode);
+ byte *loadObjectFromFile(int objIndex, bool mode);
void OPTI_OBJET();
void hideBob(int idx);
void displayBob(int idx);
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp
index 012033190a..691a9ec65f 100644
--- a/engines/hopkins/script.cpp
+++ b/engines/hopkins/script.cpp
@@ -135,7 +135,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
if (!_vm->_soundManager._textOffFl) {
int textPosX = READ_LE_INT16(dataP + 9);
int textPosY = READ_LE_INT16(dataP + 11);
- _vm->_fontManager.initTextBuffers(9, mesgId, _vm->_globals.FICH_TEXTE, 2 * textPosX, 2 * textPosY + 40, 6, dataP[7], 253);
+ _vm->_fontManager.initTextBuffers(9, mesgId, _vm->_globals._textFilename, 2 * textPosX, 2 * textPosY + 40, 6, dataP[7], 253);
if (!_vm->_soundManager._textOffFl)
_vm->_fontManager.showText(9);
}
@@ -143,7 +143,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager.mixVoice(mesgId, 4);
} else { // if (TRAVAILOBJET)
if (_vm->_globals._saveData->_data[svField356]) {
- _vm->_fontManager.initTextBuffers(9, 635, _vm->_globals.FICH_TEXTE, 55, 20, dataP[8], 35, 253);
+ _vm->_fontManager.initTextBuffers(9, 635, _vm->_globals._textFilename, 55, 20, dataP[8], 35, 253);
if (!_vm->_soundManager._textOffFl)
_vm->_fontManager.showText(9);
if (!_vm->_soundManager._voiceOffFl)
@@ -2164,7 +2164,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager.setBobAnimation(2);
_vm->_fontManager.hideText(9);
if (!_vm->_soundManager._textOffFl) {
- _vm->_fontManager.initTextBuffers(9, 617, _vm->_globals.FICH_TEXTE, 91, 41, 3, 30, 253);
+ _vm->_fontManager.initTextBuffers(9, 617, _vm->_globals._textFilename, 91, 41, 3, 30, 253);
_vm->_fontManager.showText(9);
}
if (!_vm->_soundManager._voiceOffFl)