aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2013-01-07 19:43:24 +0200
committerFilippos Karapetis2013-01-07 19:43:24 +0200
commite57c82f9dae625aec53530e6e1e8e06d6a13b533 (patch)
treedff26db5dda6feb89ccff3f8030bc9791eab123b
parent60e11931ba4e4bec8e6e38eb8e946ca71624c274 (diff)
downloadscummvm-rg350-e57c82f9dae625aec53530e6e1e8e06d6a13b533.tar.gz
scummvm-rg350-e57c82f9dae625aec53530e6e1e8e06d6a13b533.tar.bz2
scummvm-rg350-e57c82f9dae625aec53530e6e1e8e06d6a13b533.zip
HOPKINS: Get rid of the NOSPRECRAN global variable
-rw-r--r--engines/hopkins/globals.cpp1
-rw-r--r--engines/hopkins/globals.h1
-rw-r--r--engines/hopkins/graphics.cpp12
-rw-r--r--engines/hopkins/graphics.h6
-rw-r--r--engines/hopkins/hopkins.cpp932
-rw-r--r--engines/hopkins/objects.cpp23
-rw-r--r--engines/hopkins/objects.h4
-rw-r--r--engines/hopkins/script.cpp2
-rw-r--r--engines/hopkins/talk.cpp4
9 files changed, 367 insertions, 618 deletions
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index 92e2cf68c0..1fdcccfd6a 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -140,7 +140,6 @@ Globals::Globals() {
PLANI = 0;
PERSO = 0;
_screenId = 0;
- NOSPRECRAN = false;
_prevScreenId = 0;
_maxLineLength = 0;
Max_Perso_Y = 0;
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index 114a4df640..a4f60e1cfd 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -377,7 +377,6 @@ public:
int _exitId;
int PLANX, PLANY;
int PLANI;
- bool NOSPRECRAN;
int _screenId;
int _prevScreenId;
int Max_Propre;
diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp
index f66b4882a8..0021f3539e 100644
--- a/engines/hopkins/graphics.cpp
+++ b/engines/hopkins/graphics.cpp
@@ -1753,16 +1753,16 @@ void GraphicsManager::displayFont(byte *surface, const byte *spriteData, int xp,
}
// Init Screen
-void GraphicsManager::INI_ECRAN(const Common::String &file) {
- OPTI_INI(file, 0);
+void GraphicsManager::INI_ECRAN(const Common::String &file, bool initializeScreen) {
+ OPTI_INI(file, 0, initializeScreen);
}
// Init Screen 2
-void GraphicsManager::INI_ECRAN2(const Common::String &file) {
- OPTI_INI(file, 2);
+void GraphicsManager::INI_ECRAN2(const Common::String &file, bool initializeScreen) {
+ OPTI_INI(file, 2, initializeScreen);
}
-void GraphicsManager::OPTI_INI(const Common::String &file, int mode) {
+void GraphicsManager::OPTI_INI(const Common::String &file, int mode, bool initializeScreen) {
Common::String filename = file + ".ini";
byte *ptr = _vm->_fileManager.searchCat(filename, 1);
@@ -1773,7 +1773,7 @@ void GraphicsManager::OPTI_INI(const Common::String &file, int mode) {
if (!mode) {
filename = file + ".spr";
_vm->_globals.SPRITE_ECRAN = _vm->_globals.freeMemory(_vm->_globals.SPRITE_ECRAN);
- if (!_vm->_globals.NOSPRECRAN) {
+ if (initializeScreen) {
_vm->_globals.SPRITE_ECRAN = _vm->_fileManager.searchCat(filename, 8);
if (_vm->_globals.SPRITE_ECRAN) {
_vm->_fileManager.constructFilename("LINK", filename);
diff --git a/engines/hopkins/graphics.h b/engines/hopkins/graphics.h
index dd1df3c6e1..57405773ca 100644
--- a/engines/hopkins/graphics.h
+++ b/engines/hopkins/graphics.h
@@ -163,9 +163,9 @@ public:
void SCOPY(const byte *surface, int x1, int y1, int width, int height, byte *destSurface, int destX, int destY);
void Copy_Mem(const byte *srcSurface, int x1, int y1, unsigned int width, int height, byte *destSurface, int destX, int destY);
void displayFont(byte *surface, const byte *spriteData, int xp, int yp, int characterIndex, int colour);
- void INI_ECRAN(const Common::String &file);
- void INI_ECRAN2(const Common::String &file);
- void OPTI_INI(const Common::String &file, int mode);
+ void INI_ECRAN(const Common::String &file, bool initializeScreen);
+ void INI_ECRAN2(const Common::String &file, bool initializeScreen);
+ void OPTI_INI(const Common::String &file, int mode, bool initializeScreen);
void NB_SCREEN(bool initPalette);
void SHOW_PALETTE();
void Copy_WinScan_Vbe(const byte *srcP, byte *destP);
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index be28b38edc..2fd9293d51 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -209,7 +209,7 @@ bool HopkinsEngine::runWin95Demo() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 2);
+ _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 2, true);
break;
case 3:
@@ -245,8 +245,7 @@ bool HopkinsEngine::runWin95Demo() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2);
+ _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2, false);
break;
case 4:
@@ -258,38 +257,35 @@ bool HopkinsEngine::runWin95Demo() {
case 5:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
- _globals.NOSPRECRAN = true;
_globals.Max_Perso_Y = 455;
if (_globals._saveData->data[svField80]) {
if (_globals._saveData->data[svField80] == 1)
- _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3);
+ _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3, false);
} else {
- _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3);
+ _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3, false);
}
-
- _globals.NOSPRECRAN = false;
break;
case 6:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 460;
- _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2);
+ _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2, true);
break;
case 7:
if (_globals._saveData->data[svField220])
- _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2, true);
else
- _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2, true);
break;
case 8:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2);
+ _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2, true);
break;
case 9:
@@ -297,24 +293,20 @@ bool HopkinsEngine::runWin95Demo() {
_globals.Max_Perso_Y = 440;
_globals._maxLineLength = 20;
if (_globals._saveData->data[svField225])
- _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10);
+ _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10, true);
else
bombExplosion();
break;
case 10:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9, false);
break;
case 11:
- _globals.NOSPRECRAN = true;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
_globals.Max_Propre = 15;
- _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2, false);
break;
case 12:
@@ -363,15 +355,11 @@ bool HopkinsEngine::runWin95Demo() {
break;
case 111:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10, false);
break;
case 112:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10, false);
break;
case 113:
@@ -536,7 +524,7 @@ bool HopkinsEngine::runLinuxDemo() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1);
+ _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1, true);
break;
case 3:
@@ -575,8 +563,7 @@ bool HopkinsEngine::runLinuxDemo() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2);
+ _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2, false);
break;
case 4:
@@ -589,36 +576,31 @@ bool HopkinsEngine::runLinuxDemo() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 455;
- _globals.NOSPRECRAN = true;
- if (_globals._saveData->data[svField80]) {
- if (_globals._saveData->data[svField80] == 1)
- _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3);
- } else {
- _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3);
- }
-
- _globals.NOSPRECRAN = false;
+ if (_globals._saveData->data[svField80] == 1)
+ _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3, false);
+ else
+ _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3, false);
break;
case 6:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 460;
- _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2);
+ _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2, true);
break;
case 7:
if (_globals._saveData->data[svField220])
- _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2, true);
else
- _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2, true);
break;
case 8:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2);
+ _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2, true);
break;
case 9:
@@ -629,54 +611,46 @@ bool HopkinsEngine::runLinuxDemo() {
if (!_globals._saveData->data[svField225])
bombExplosion();
- _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10);
+ _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10, true);
break;
case 10:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9, false);
break;
case 11:
- _globals.NOSPRECRAN = true;
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2, false);
break;
case 12:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
- if (_globals._saveData->data[svField225]) {
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1);
- } else {
+ if (_globals._saveData->data[svField225])
+ _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1, false);
+ else
bombExplosion();
- }
break;
case 13:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1);
+ _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1, true);
break;
case 14:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1);
+ _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1, true);
break;
case 15:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 29);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 29, false);
break;
case 16:
@@ -685,9 +659,9 @@ bool HopkinsEngine::runLinuxDemo() {
_globals.Max_Perso_Y = 450;
if (_globals._saveData->data[svField113] == 1) {
- _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7);
+ _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7, true);
} else if (!_globals._saveData->data[svField113]) {
- _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7);
+ _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7, true);
}
break;
@@ -695,19 +669,17 @@ bool HopkinsEngine::runLinuxDemo() {
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 30);
+ _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 30, true);
break;
case 26:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 30);
+ _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 30, true);
case 33:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8, false);
break;
case 35:
@@ -715,15 +687,11 @@ bool HopkinsEngine::runLinuxDemo() {
break;
case 111:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10, false);
break;
case 112:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10, false);
break;
case 113:
@@ -862,7 +830,7 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1);
+ _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1, true);
break;
case 3:
@@ -893,8 +861,7 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2);
+ _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2, false);
break;
case 4:
@@ -907,35 +874,33 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 455;
- _globals.NOSPRECRAN = true;
if (_globals._saveData->data[80]) {
if (_globals._saveData->data[80] == 1)
- _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3);
+ _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3, false);
}
else
- _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3, false);
break;
case 6:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2);
+ _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2, true);
break;
case 7:
if (_globals._saveData->data[220])
- _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2, true);
else
- _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2, true);
break;
case 8:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2);
+ _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2, true);
break;
case 9:
@@ -943,34 +908,29 @@ bool HopkinsEngine::runOS2Full() {
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[225])
- _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10);
+ _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10, true);
else
bombExplosion();
break;
case 10:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9, false);
break;
case 11:
- _globals.NOSPRECRAN = true;
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2, false);
break;
case 12:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
- if (_globals._saveData->data[225]) {
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1);
- } else
+ if (_globals._saveData->data[225])
+ _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1, false);
+ else
bombExplosion();
break;
@@ -978,20 +938,18 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1);
+ _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1, true);
break;
case 14:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1);
+ _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1, true);
break;
case 15:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 18);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 18, false);
break;
case 16:
@@ -999,10 +957,10 @@ bool HopkinsEngine::runOS2Full() {
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
if (_globals._saveData->data[113] == 1)
- _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM", "IM16", 7);
+ _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM", "IM16", 7, true);
else {
if (!_globals._saveData->data[113])
- _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7);
+ _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7, true);
}
break;
@@ -1011,10 +969,10 @@ bool HopkinsEngine::runOS2Full() {
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[117] == 1)
- _objectsManager.PERSONAGE2("IM17", "IM17A", "ANIM17", "IM17", 11);
+ _objectsManager.PERSONAGE2("IM17", "IM17A", "ANIM17", "IM17", 11, true);
else {
if (!_globals._saveData->data[117])
- _objectsManager.PERSONAGE2("IM17", "IM17", "ANIM17", "IM17", 11);
+ _objectsManager.PERSONAGE2("IM17", "IM17", "ANIM17", "IM17", 11, true);
}
if (_globals._exitId == 18) {
_globals.iRegul = 1;
@@ -1034,11 +992,10 @@ bool HopkinsEngine::runOS2Full() {
break;
case 18:
- _globals.NOSPRECRAN = true;
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM18", "IM18", "ANIM18", "IM18", 6);
+ _objectsManager.PERSONAGE2("IM18", "IM18", "ANIM18", "IM18", 6, false);
break;
case 19:
@@ -1046,16 +1003,16 @@ bool HopkinsEngine::runOS2Full() {
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[123])
- _objectsManager.PERSONAGE2("IM19", "IM19A", "ANIM19", "IM19", 6);
+ _objectsManager.PERSONAGE2("IM19", "IM19A", "ANIM19", "IM19", 6, true);
else
- _objectsManager.PERSONAGE2("IM19", "IM19", "ANIM19", "IM19", 6);
+ _objectsManager.PERSONAGE2("IM19", "IM19", "ANIM19", "IM19", 6, true);
break;
case 20:
_globals.Max_Propre = 8;
_globals._maxLineLength = 10;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM20", "IM20", "ANIM20", "IM20", 6);
+ _objectsManager.PERSONAGE2("IM20", "IM20", "ANIM20", "IM20", 6, true);
if (_globals._exitId == 17) {
_globals.iRegul = 1;
// _soundManager.WSOUND_OFF();
@@ -1077,14 +1034,14 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM22", "IM22", "ANIM22", "IM22", 6);
+ _objectsManager.PERSONAGE2("IM22", "IM22", "ANIM22", "IM22", 6, true);
break;
case 23:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM23", "IM23", "ANIM23", "IM23", 6);
+ _objectsManager.PERSONAGE2("IM23", "IM23", "ANIM23", "IM23", 6, true);
break;
case 24:
@@ -1093,23 +1050,23 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Perso_Y = 450;
if (_globals._saveData->data[181]) {
if (_globals._saveData->data[181] == 1 )
- _objectsManager.PERSONAGE2("IM24", "IM24a", "ANIM24", "IM24", 1);
+ _objectsManager.PERSONAGE2("IM24", "IM24a", "ANIM24", "IM24", 1, true);
} else
- _objectsManager.PERSONAGE2("IM24", "IM24", "ANIM24", "IM24", 1);
+ _objectsManager.PERSONAGE2("IM24", "IM24", "ANIM24", "IM24", 1, true);
break;
case 25:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 8);
+ _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 8, true);
break;
case 26:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 8);
+ _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 8, true);
break;
case 27:
@@ -1117,10 +1074,10 @@ bool HopkinsEngine::runOS2Full() {
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[177] == 1)
- _objectsManager.PERSONAGE2("IM27", "IM27A", "ANIM27", "IM27", 27);
+ _objectsManager.PERSONAGE2("IM27", "IM27A", "ANIM27", "IM27", 27, true);
else {
if (!_globals._saveData->data[177])
- _objectsManager.PERSONAGE2("IM27", "IM27", "ANIM27", "IM27", 27);
+ _objectsManager.PERSONAGE2("IM27", "IM27", "ANIM27", "IM27", 27, true);
}
break;
@@ -1128,50 +1085,43 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
if (_globals._saveData->data[166] != 1 || _globals._saveData->data[167] != 1 )
- _objectsManager.PERSONAGE2("IM28", "IM28", "ANIM28", "IM28", 1);
+ _objectsManager.PERSONAGE2("IM28", "IM28", "ANIM28", "IM28", 1, false);
else
- _objectsManager.PERSONAGE2("IM28a", "IM28", "ANIM28", "IM28", 1);
+ _objectsManager.PERSONAGE2("IM28a", "IM28", "ANIM28", "IM28", 1, false);
break;
case 29:
_globals.Max_Propre = 60;
_globals._maxLineLength = 50;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM29", "IM29", "ANIM29", "IM29", 1);
+ _objectsManager.PERSONAGE2("IM29", "IM29", "ANIM29", "IM29", 1, true);
break;
case 30:
_globals.Max_Propre = 10;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM30", "IM30", "ANIM30", "IM30", 24);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM30", "IM30", "ANIM30", "IM30", 24, false);
break;
case 31:
- _objectsManager.PERSONAGE("IM31", "IM31", "ANIM31", "IM31", 10);
+ _objectsManager.PERSONAGE("IM31", "IM31", "ANIM31", "IM31", 10, true);
break;
case 32:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM32", "IM32", "ANIM32", "IM32", 2);
+ _objectsManager.PERSONAGE2("IM32", "IM32", "ANIM32", "IM32", 2, true);
break;
case 33:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8, false);
break;
case 34:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM34", "IM34", "ANIM34", "IM34", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM34", "IM34", "ANIM34", "IM34", 2, false);
break;
case 35:
@@ -1186,7 +1136,6 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Perso_Y = 435;
_globals._disableInventFl = false;
_globals._forestFl = true;
- _globals.NOSPRECRAN = true;
Common::String im = Common::String::format("IM%d", _globals._exitId);
_soundManager.WSOUND(13);
if (_globals._forestSprite == g_PTRNUL) {
@@ -1194,8 +1143,7 @@ bool HopkinsEngine::runOS2Full() {
_globals._forestSprite = _objectsManager.loadSprite(_globals._curFilename);
_soundManager.loadSample(1, "SOUND41.WAV");
}
- _objectsManager.PERSONAGE2(im, im, "BANDIT", im, 13);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2(im, im, "BANDIT", im, 13, false);
if (_globals._exitId < 35 || _globals._exitId > 49 ) {
_globals._forestSprite = _globals.freeMemory(_globals._forestSprite);
_globals._forestFl = false;
@@ -1213,163 +1161,139 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Propre = 20;
_globals._maxLineLength = 10;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM51", "IM51", "ANIM51", "IM51", 14);
+ _objectsManager.PERSONAGE2("IM51", "IM51", "ANIM51", "IM51", 14, true);
break;
case 52:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM52", "IM52", "ANIM52", "IM52", 14);
+ _objectsManager.PERSONAGE2("IM52", "IM52", "ANIM52", "IM52", 14, true);
break;
case 54:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM54", "IM54", "ANIM54", "IM54", 14);
+ _objectsManager.PERSONAGE2("IM54", "IM54", "ANIM54", "IM54", 14, true);
break;
case 55:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM55", "IM55", "ANIM55", "IM55", 14);
+ _objectsManager.PERSONAGE2("IM55", "IM55", "ANIM55", "IM55", 14, false);
break;
case 56:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM56", "IM56", "ANIM56", "IM56", 14);
+ _objectsManager.PERSONAGE2("IM56", "IM56", "ANIM56", "IM56", 14, false);
break;
case 57:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM57", "IM57", "ANIM57", "IM57", 14);
+ _objectsManager.PERSONAGE2("IM57", "IM57", "ANIM57", "IM57", 14, true);
break;
case 58:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM58", "IM58", "ANIM58", "IM58", 14);
+ _objectsManager.PERSONAGE2("IM58", "IM58", "ANIM58", "IM58", 14, false);
break;
case 59:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM59", "IM59", "ANIM59", "IM59", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM59", "IM59", "ANIM59", "IM59", 21, false);
break;
case 60:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM60", "IM60", "ANIM60", "IM60", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM60", "IM60", "ANIM60", "IM60", 21, false);
break;
case 61:
if (_globals._saveData->data[311] == 1 && !_globals._saveData->data[312] )
handleConflagration();
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM61", "IM61", "ANIM61", "IM61", 21);
+ _objectsManager.PERSONAGE("IM61", "IM61", "ANIM61", "IM61", 21, false);
break;
case 62:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM62", "IM62", NULL, "IM62", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM62", "IM62", NULL, "IM62", 21, false);
break;
case 63:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM63", "IM63", "ANIM63", "IM63", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM63", "IM63", "ANIM63", "IM63", 21, false);
break;
case 64:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM64", "IM64", "ANIM64", "IM64", 21);
+ _objectsManager.PERSONAGE2("IM64", "IM64", "ANIM64", "IM64", 21, true);
break;
case 65:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM65", "IM65", "ANIM65", "IM65", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM65", "IM65", "ANIM65", "IM65", 21, false);
break;
case 66:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM66", "IM66", "ANIM66", "IM66", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM66", "IM66", "ANIM66", "IM66", 21, false);
break;
case 67:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM67", "IM67", NULL, "IM67", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM67", "IM67", NULL, "IM67", 21, false);
break;
case 68:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM68", "IM68", "ANIM68", "IM68", 21);
+ _objectsManager.PERSONAGE2("IM68", "IM68", "ANIM68", "IM68", 21, true);
break;
case 69:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM69", "IM69", "ANIM69", "IM69", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM69", "IM69", "ANIM69", "IM69", 21, false);
break;
case 70:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM70", "IM70", NULL, "IM70", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM70", "IM70", NULL, "IM70", 21, false);
break;
case 71:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM71", "IM71", "ANIM71", "IM71", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM71", "IM71", "ANIM71", "IM71", 21, false);
break;
case 73:
@@ -1377,10 +1301,10 @@ bool HopkinsEngine::runOS2Full() {
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 445;
if (_globals._saveData->data[318] == 1)
- _objectsManager.PERSONAGE2("IM73", "IM73A", "ANIM73", "IM73", 21);
+ _objectsManager.PERSONAGE2("IM73", "IM73A", "ANIM73", "IM73", 21, true);
else {
if (!_globals._saveData->data[318])
- _objectsManager.PERSONAGE2("IM73", "IM73", "ANIM73", "IM73", 21);
+ _objectsManager.PERSONAGE2("IM73", "IM73", "ANIM73", "IM73", 21, true);
}
break;
@@ -1453,40 +1377,37 @@ bool HopkinsEngine::runOS2Full() {
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
if (_globals._saveData->data[330])
- _objectsManager.PERSONAGE2("IM93", "IM93c", "ANIM93", "IM93", 26);
+ _objectsManager.PERSONAGE2("IM93", "IM93c", "ANIM93", "IM93", 26, true);
else
- _objectsManager.PERSONAGE2("IM93", "IM93", "ANIM93", "IM93", 26);
+ _objectsManager.PERSONAGE2("IM93", "IM93", "ANIM93", "IM93", 26, true);
break;
case 94:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM94", "IM94", "ANIM94", "IM94", 19);
+ _objectsManager.PERSONAGE2("IM94", "IM94", "ANIM94", "IM94", 19, true);
break;
case 95:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM95", "IM95", "ANIM95", "IM95", 19);
+ _objectsManager.PERSONAGE2("IM95", "IM95", "ANIM95", "IM95", 19, false);
break;
case 96:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM96", "IM96", "ANIM96", "IM96", 19);
+ _objectsManager.PERSONAGE2("IM96", "IM96", "ANIM96", "IM96", 19, false);
break;
case 97:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM97", "IM97", "ANIM97", "IM97", 19);
+ _objectsManager.PERSONAGE2("IM97", "IM97", "ANIM97", "IM97", 19, false);
if (_globals._exitId == 18) {
_globals.iRegul = 1;
// _soundManager.WSOUND_OFF();
@@ -1508,14 +1429,14 @@ bool HopkinsEngine::runOS2Full() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM98", "IM98", "ANIM98", "IM98", 19);
+ _objectsManager.PERSONAGE2("IM98", "IM98", "ANIM98", "IM98", 19, true);
break;
case 99:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM99", "IM99", "ANIM99", "IM99", 19);
+ _objectsManager.PERSONAGE2("IM99", "IM99", "ANIM99", "IM99", 19, true);
break;
case 100:
@@ -1523,15 +1444,11 @@ bool HopkinsEngine::runOS2Full() {
break;
case 111:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10, false);
break;
case 112:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10, false);
break;
case 113:
@@ -1700,7 +1617,7 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1);
+ _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1, true);
break;
case 3:
@@ -1731,8 +1648,7 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2);
+ _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2, false);
break;
case 4:
@@ -1745,35 +1661,33 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 455;
- _globals.NOSPRECRAN = true;
if (_globals._saveData->data[svField80]) {
if (_globals._saveData->data[svField80] == 1)
- _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3);
+ _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3, false);
} else {
- _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3);
+ _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3, false);
}
- _globals.NOSPRECRAN = false;
break;
case 6:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2);
+ _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2, true);
break;
case 7:
if (_globals._saveData->data[svField220])
- _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2, true);
else
- _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2, true);
break;
case 8:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2);
+ _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2, true);
break;
case 9:
@@ -1782,22 +1696,18 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Perso_Y = 440;
if (!_globals._saveData->data[svField225])
bombExplosion();
- _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10);
+ _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10, true);
break;
case 10:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9, false);
break;
case 11:
- _globals.NOSPRECRAN = true;
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2, false);
break;
case 12:
@@ -1805,8 +1715,7 @@ bool HopkinsEngine::runBeOSFull() {
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
if (_globals._saveData->data[svField225]) {
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1);
+ _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1, false);
} else {
bombExplosion();
}
@@ -1816,20 +1725,18 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1);
+ _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1, true);
break;
case 14:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1);
+ _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1, true);
break;
case 15:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 18);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 18, false);
break;
case 16:
@@ -1837,9 +1744,9 @@ bool HopkinsEngine::runBeOSFull() {
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
if (_globals._saveData->data[svField113] == 1) {
- _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7);
+ _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7, true);
} else if (!_globals._saveData->data[svField113]) {
- _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7);
+ _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7, true);
}
break;
@@ -1848,9 +1755,9 @@ bool HopkinsEngine::runBeOSFull() {
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[svField117] == 1) {
- _objectsManager.PERSONAGE2("IM17", "IM17A", "ANIM17", "IM17", 11);
+ _objectsManager.PERSONAGE2("IM17", "IM17A", "ANIM17", "IM17", 11, true);
} else if (!_globals._saveData->data[svField117]) {
- _objectsManager.PERSONAGE2("IM17", "IM17", "ANIM17", "IM17", 11);
+ _objectsManager.PERSONAGE2("IM17", "IM17", "ANIM17", "IM17", 11, true);
}
if (_globals._exitId == 18) {
_globals.iRegul = 1;
@@ -1870,11 +1777,10 @@ bool HopkinsEngine::runBeOSFull() {
break;
case 18:
- _globals.NOSPRECRAN = true;
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM18", "IM18", "ANIM18", "IM18", 6);
+ _objectsManager.PERSONAGE2("IM18", "IM18", "ANIM18", "IM18", 6, false);
break;
case 19:
@@ -1882,16 +1788,16 @@ bool HopkinsEngine::runBeOSFull() {
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[svField123])
- _objectsManager.PERSONAGE2("IM19", "IM19A", "ANIM19", "IM19", 6);
+ _objectsManager.PERSONAGE2("IM19", "IM19A", "ANIM19", "IM19", 6, true);
else
- _objectsManager.PERSONAGE2("IM19", "IM19", "ANIM19", "IM19", 6);
+ _objectsManager.PERSONAGE2("IM19", "IM19", "ANIM19", "IM19", 6, true);
break;
case 20:
_globals.Max_Propre = 8;
_globals._maxLineLength = 10;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM20", "IM20", "ANIM20", "IM20", 6);
+ _objectsManager.PERSONAGE2("IM20", "IM20", "ANIM20", "IM20", 6, true);
if (_globals._exitId == 17) {
_globals.iRegul = 1;
_soundManager.WSOUND_OFF();
@@ -1913,14 +1819,14 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM22", "IM22", "ANIM22", "IM22", 6);
+ _objectsManager.PERSONAGE2("IM22", "IM22", "ANIM22", "IM22", 6, true);
break;
case 23:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM23", "IM23", "ANIM23", "IM23", 6);
+ _objectsManager.PERSONAGE2("IM23", "IM23", "ANIM23", "IM23", 6, true);
break;
case 24:
@@ -1929,9 +1835,9 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Perso_Y = 450;
if (_globals._saveData->data[svField181]) {
if (_globals._saveData->data[svField181] == 1)
- _objectsManager.PERSONAGE2("IM24", "IM24A", "ANIM24", "IM24", 1);
+ _objectsManager.PERSONAGE2("IM24", "IM24A", "ANIM24", "IM24", 1, true);
} else {
- _objectsManager.PERSONAGE2("IM24", "IM24", "ANIM24", "IM24", 1);
+ _objectsManager.PERSONAGE2("IM24", "IM24", "ANIM24", "IM24", 1, true);
}
break;
@@ -1939,14 +1845,14 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 8);
+ _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 8, true);
break;
case 26:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 8);
+ _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 8, true);
break;
case 27:
@@ -1954,9 +1860,9 @@ bool HopkinsEngine::runBeOSFull() {
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[svField177] == 1) {
- _objectsManager.PERSONAGE2("IM27", "IM27A", "ANIM27", "IM27", 27);
+ _objectsManager.PERSONAGE2("IM27", "IM27A", "ANIM27", "IM27", 27, true);
} else if (!_globals._saveData->data[svField177]) {
- _objectsManager.PERSONAGE2("IM27", "IM27", "ANIM27", "IM27", 27);
+ _objectsManager.PERSONAGE2("IM27", "IM27", "ANIM27", "IM27", 27, true);
}
break;
@@ -1964,50 +1870,43 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
if (_globals._saveData->data[svField166] != 1 || _globals._saveData->data[svField167] != 1)
- _objectsManager.PERSONAGE2("IM28", "IM28", "ANIM28", "IM28", 1);
+ _objectsManager.PERSONAGE2("IM28", "IM28", "ANIM28", "IM28", 1, false);
else
- _objectsManager.PERSONAGE2("IM28A", "IM28", "ANIM28", "IM28", 1);
+ _objectsManager.PERSONAGE2("IM28A", "IM28", "ANIM28", "IM28", 1, false);
break;
case 29:
_globals.Max_Propre = 60;
_globals._maxLineLength = 50;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM29", "IM29", "ANIM29", "IM29", 1);
+ _objectsManager.PERSONAGE2("IM29", "IM29", "ANIM29", "IM29", 1, true);
break;
case 30:
_globals.Max_Propre = 10;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM30", "IM30", "ANIM30", "IM30", 24);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM30", "IM30", "ANIM30", "IM30", 24, false);
break;
case 31:
- _objectsManager.PERSONAGE("IM31", "IM31", "ANIM31", "IM31", 10);
+ _objectsManager.PERSONAGE("IM31", "IM31", "ANIM31", "IM31", 10, true);
break;
case 32:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM32", "IM32", "ANIM32", "IM32", 2);
+ _objectsManager.PERSONAGE2("IM32", "IM32", "ANIM32", "IM32", 2, true);
break;
case 33:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8, false);
break;
case 34:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM34", "IM34", "ANIM34", "IM34", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM34", "IM34", "ANIM34", "IM34", 2, false);
break;
case 35:
@@ -2022,7 +1921,6 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Perso_Y = 435;
_globals._disableInventFl = false;
_globals._forestFl = true;
- _globals.NOSPRECRAN = true;
Common::String im = Common::String::format("IM%d", _globals._exitId);
_soundManager.WSOUND(13);
if (_globals._forestSprite == g_PTRNUL) {
@@ -2031,8 +1929,7 @@ bool HopkinsEngine::runBeOSFull() {
_soundManager.loadSample(1, "SOUND41.WAV");
}
- _objectsManager.PERSONAGE2(im, im, "BANDIT", im, 13);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2(im, im, "BANDIT", im, 13, false);
if ((_globals._exitId < 35) || (_globals._exitId > 49)) {
_globals._forestSprite = _globals.freeMemory(_globals._forestSprite);
_globals._forestFl = false;
@@ -2050,163 +1947,139 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Propre = 20;
_globals._maxLineLength = 10;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM51", "IM51", "ANIM51", "IM51", 14);
+ _objectsManager.PERSONAGE2("IM51", "IM51", "ANIM51", "IM51", 14, true);
break;
case 52:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM52", "IM52", "ANIM52", "IM52", 14);
+ _objectsManager.PERSONAGE2("IM52", "IM52", "ANIM52", "IM52", 14, true);
break;
case 54:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM54", "IM54", "ANIM54", "IM54", 14);
+ _objectsManager.PERSONAGE2("IM54", "IM54", "ANIM54", "IM54", 14, true);
break;
case 55:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM55", "IM55", "ANIM55", "IM55", 14);
+ _objectsManager.PERSONAGE2("IM55", "IM55", "ANIM55", "IM55", 14, false);
break;
case 56:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM56", "IM56", "ANIM56", "IM56", 14);
+ _objectsManager.PERSONAGE2("IM56", "IM56", "ANIM56", "IM56", 14, false);
break;
case 57:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM57", "IM57", "ANIM57", "IM57", 14);
+ _objectsManager.PERSONAGE2("IM57", "IM57", "ANIM57", "IM57", 14, true);
break;
case 58:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM58", "IM58", "ANIM58", "IM58", 14);
+ _objectsManager.PERSONAGE2("IM58", "IM58", "ANIM58", "IM58", 14, false);
break;
case 59:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM59", "IM59", "ANIM59", "IM59", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM59", "IM59", "ANIM59", "IM59", 21, false);
break;
case 60:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM60", "IM60", "ANIM60", "IM60", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM60", "IM60", "ANIM60", "IM60", 21, false);
break;
case 61:
if (_globals._saveData->data[svField311] == 1 && !_globals._saveData->data[svField312])
handleConflagration();
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM61", "IM61", "ANIM61", "IM61", 21);
+ _objectsManager.PERSONAGE("IM61", "IM61", "ANIM61", "IM61", 21, false);
break;
case 62:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM62", "IM62", NULL, "IM62", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM62", "IM62", NULL, "IM62", 21, false);
break;
case 63:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM63", "IM63", "ANIM63", "IM63", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM63", "IM63", "ANIM63", "IM63", 21, false);
break;
case 64:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM64", "IM64", "ANIM64", "IM64", 21);
+ _objectsManager.PERSONAGE2("IM64", "IM64", "ANIM64", "IM64", 21, true);
break;
case 65:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM65", "IM65", "ANIM65", "IM65", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM65", "IM65", "ANIM65", "IM65", 21, false);
break;
case 66:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM66", "IM66", "ANIM66", "IM66", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM66", "IM66", "ANIM66", "IM66", 21, false);
break;
case 67:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM67", "IM67", NULL, "IM67", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM67", "IM67", NULL, "IM67", 21, false);
break;
case 68:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM68", "IM68", "ANIM68", "IM68", 21);
+ _objectsManager.PERSONAGE2("IM68", "IM68", "ANIM68", "IM68", 21, true);
break;
case 69:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM69", "IM69", "ANIM69", "IM69", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM69", "IM69", "ANIM69", "IM69", 21, false);
break;
case 70:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM70", "IM70", NULL, "IM70", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM70", "IM70", NULL, "IM70", 21, false);
break;
case 71:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM71", "IM71", "ANIM71", "IM71", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM71", "IM71", "ANIM71", "IM71", 21, false);
break;
case 73:
@@ -2214,9 +2087,9 @@ bool HopkinsEngine::runBeOSFull() {
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 445;
if (_globals._saveData->data[svField318] == 1) {
- _objectsManager.PERSONAGE2("IM73", "IM73A", "ANIM73", "IM73", 21);
+ _objectsManager.PERSONAGE2("IM73", "IM73A", "ANIM73", "IM73", 21, true);
} else if (!_globals._saveData->data[svField318]) {
- _objectsManager.PERSONAGE2("IM73", "IM73", "ANIM73", "IM73", 21);
+ _objectsManager.PERSONAGE2("IM73", "IM73", "ANIM73", "IM73", 21, true);
}
break;
@@ -2289,40 +2162,37 @@ bool HopkinsEngine::runBeOSFull() {
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
if (_globals._saveData->data[svField330])
- _objectsManager.PERSONAGE2("IM93", "IM93C", "ANIM93", "IM93", 26);
+ _objectsManager.PERSONAGE2("IM93", "IM93C", "ANIM93", "IM93", 26, true);
else
- _objectsManager.PERSONAGE2("IM93", "IM93", "ANIM93", "IM93", 26);
+ _objectsManager.PERSONAGE2("IM93", "IM93", "ANIM93", "IM93", 26, true);
break;
case 94:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM94", "IM94", "ANIM94", "IM94", 19);
+ _objectsManager.PERSONAGE2("IM94", "IM94", "ANIM94", "IM94", 19, true);
break;
case 95:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM95", "IM95", "ANIM95", "IM95", 19);
+ _objectsManager.PERSONAGE2("IM95", "IM95", "ANIM95", "IM95", 19, false);
break;
case 96:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM96", "IM96", "ANIM96", "IM96", 19);
+ _objectsManager.PERSONAGE2("IM96", "IM96", "ANIM96", "IM96", 19, false);
break;
case 97:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM97", "IM97", "ANIM97", "IM97", 19);
+ _objectsManager.PERSONAGE2("IM97", "IM97", "ANIM97", "IM97", 19, false);
if (_globals._exitId == 18) {
_globals.iRegul = 1;
_soundManager.WSOUND_OFF();
@@ -2344,14 +2214,14 @@ bool HopkinsEngine::runBeOSFull() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM98", "IM98", "ANIM98", "IM98", 19);
+ _objectsManager.PERSONAGE2("IM98", "IM98", "ANIM98", "IM98", 19, true);
break;
case 99:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM99", "IM99", "ANIM99", "IM99", 19);
+ _objectsManager.PERSONAGE2("IM99", "IM99", "ANIM99", "IM99", 19, true);
break;
case 100:
@@ -2359,15 +2229,11 @@ bool HopkinsEngine::runBeOSFull() {
break;
case 111:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10, false);
break;
case 112:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10, false);
break;
case 113:
@@ -2531,7 +2397,7 @@ bool HopkinsEngine::runWin95full() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1);
+ _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1, true);
break;
case 3:
@@ -2566,9 +2432,8 @@ bool HopkinsEngine::runWin95full() {
}
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
- _globals.NOSPRECRAN = true;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2);
+ _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2, false);
break;
case 4:
@@ -2580,37 +2445,32 @@ bool HopkinsEngine::runWin95full() {
case 5:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
- _globals.NOSPRECRAN = true;
_globals.Max_Perso_Y = 455;
- if (_globals._saveData->data[svField80]) {
- if (_globals._saveData->data[svField80] == 1)
- _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3);
- } else {
- _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3);
- }
-
- _globals.NOSPRECRAN = false;
+ if (_globals._saveData->data[svField80] == 1)
+ _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3, false);
+ else
+ _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3, false);
break;
case 6:
_globals.Max_Propre = 15;
_globals.Max_Perso_Y = 460;
_globals._maxLineLength = 20;
- _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2);
+ _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2, true);
break;
case 7:
if (_globals._saveData->data[svField220])
- _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2, true);
else
- _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2, true);
break;
case 8:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2);
+ _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2, true);
break;
case 9:
@@ -2618,56 +2478,48 @@ bool HopkinsEngine::runWin95full() {
_globals.Max_Propre = 15;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[svField225])
- _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10);
+ _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10, true);
else
bombExplosion();
break;
case 10:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9, false);
break;
case 11:
- _globals.NOSPRECRAN = true;
_globals.Max_Perso_Y = 450;
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
- _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2, false);
break;
case 12:
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
_globals.Max_Propre = 15;
- if (_globals._saveData->data[svField225]) {
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1);
- } else {
+ if (_globals._saveData->data[svField225])
+ _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1, false);
+ else
bombExplosion();
- }
break;
case 13:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1);
+ _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1, true);
break;
case 14:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1);
+ _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1, true);
break;
case 15:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 29);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 29, false);
break;
case 16:
@@ -2675,9 +2527,9 @@ bool HopkinsEngine::runWin95full() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
if (_globals._saveData->data[svField113] == 1) {
- _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7);
+ _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7, true);
} else if (!_globals._saveData->data[svField113]) {
- _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7);
+ _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7, true);
}
break;
@@ -2686,9 +2538,9 @@ bool HopkinsEngine::runWin95full() {
_globals.Max_Perso_Y = 440;
_globals._maxLineLength = 40;
if (_globals._saveData->data[svField117] == 1) {
- _objectsManager.PERSONAGE2("IM17", "IM17A", "ANIM17", "IM17", 11);
+ _objectsManager.PERSONAGE2("IM17", "IM17A", "ANIM17", "IM17", 11, true);
} else if (!_globals._saveData->data[svField117]) {
- _objectsManager.PERSONAGE2("IM17", "IM17", "ANIM17", "IM17", 11);
+ _objectsManager.PERSONAGE2("IM17", "IM17", "ANIM17", "IM17", 11, true);
}
if (_globals._exitId == 18) {
_globals.iRegul = 1;
@@ -2708,8 +2560,7 @@ bool HopkinsEngine::runWin95full() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM18", "IM18", "ANIM18", "IM18", 29);
+ _objectsManager.PERSONAGE2("IM18", "IM18", "ANIM18", "IM18", 29, false);
break;
case 19:
@@ -2717,16 +2568,16 @@ bool HopkinsEngine::runWin95full() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
if (_globals._saveData->data[svField123])
- _objectsManager.PERSONAGE2("IM19", "IM19A", "ANIM19", "IM19", 6);
+ _objectsManager.PERSONAGE2("IM19", "IM19A", "ANIM19", "IM19", 6, true);
else
- _objectsManager.PERSONAGE2("IM19", "IM19", "ANIM19", "IM19", 6);
+ _objectsManager.PERSONAGE2("IM19", "IM19", "ANIM19", "IM19", 6, true);
break;
case 20:
_globals.Max_Propre = 8;
_globals._maxLineLength = 10;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM20", "IM20", "ANIM20", "IM20", 6);
+ _objectsManager.PERSONAGE2("IM20", "IM20", "ANIM20", "IM20", 6, true);
if (_globals._exitId == 17) {
_globals.iRegul = 1;
_soundManager.WSOUND_OFF();
@@ -2745,101 +2596,91 @@ bool HopkinsEngine::runWin95full() {
_globals.Max_Propre = 15;
_globals.Max_Perso_Y = 445;
_globals._maxLineLength = 20;
- _objectsManager.PERSONAGE2("IM22", "IM22", "ANIM22", "IM22", 6);
+ _objectsManager.PERSONAGE2("IM22", "IM22", "ANIM22", "IM22", 6, true);
break;
case 23:
_globals.Max_Propre = 15;
_globals.Max_Perso_Y = 440;
_globals._maxLineLength = 20;
- _objectsManager.PERSONAGE2("IM23", "IM23", "ANIM23", "IM23", 6);
+ _objectsManager.PERSONAGE2("IM23", "IM23", "ANIM23", "IM23", 6, true);
break;
case 24:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- if (_globals._saveData->data[svField181]) {
- if (_globals._saveData->data[svField181] == 1)
- _objectsManager.PERSONAGE2("IM24", "IM24a", "ANIM24", "IM24", 1);
- } else {
- _objectsManager.PERSONAGE2("IM24", "IM24", "ANIM24", "IM24", 1);
- }
+ if (_globals._saveData->data[svField181] == 1)
+ _objectsManager.PERSONAGE2("IM24", "IM24a", "ANIM24", "IM24", 1, true);
+ else
+ _objectsManager.PERSONAGE2("IM24", "IM24", "ANIM24", "IM24", 1, true);
break;
case 25:
_globals.Max_Propre = 15;
_globals.Max_Perso_Y = 445;
_globals._maxLineLength = 20;
- _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 30);
+ _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 30, true);
break;
case 26:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 30);
+ _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 30, true);
break;
case 27:
_globals.Max_Perso_Y = 440;
_globals._maxLineLength = 15;
_globals.Max_Propre = 10;
- if (_globals._saveData->data[svField177] == 1) {
- _objectsManager.PERSONAGE2("IM27", "IM27A", "ANIM27", "IM27", 27);
- } else if (!_globals._saveData->data[svField177]) {
- _objectsManager.PERSONAGE2("IM27", "IM27", "ANIM27", "IM27", 27);
- }
+ if (_globals._saveData->data[svField177] == 1)
+ _objectsManager.PERSONAGE2("IM27", "IM27A", "ANIM27", "IM27", 27, true);
+ else if (!_globals._saveData->data[svField177])
+ _objectsManager.PERSONAGE2("IM27", "IM27", "ANIM27", "IM27", 27, true);
break;
case 28:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
if (_globals._saveData->data[svField166] != 1 || _globals._saveData->data[svField167] != 1)
- _objectsManager.PERSONAGE2("IM28", "IM28", "ANIM28", "IM28", 1);
+ _objectsManager.PERSONAGE2("IM28", "IM28", "ANIM28", "IM28", 1, false);
else
- _objectsManager.PERSONAGE2("IM28a", "IM28", "ANIM28", "IM28", 1);
+ _objectsManager.PERSONAGE2("IM28a", "IM28", "ANIM28", "IM28", 1, false);
break;
case 29:
_globals.Max_Propre = 60;
_globals._maxLineLength = 50;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM29", "IM29", "ANIM29", "IM29", 1);
+ _objectsManager.PERSONAGE2("IM29", "IM29", "ANIM29", "IM29", 1, true);
break;
case 30:
_globals.Max_Propre = 10;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM30", "IM30", "ANIM30", "IM30", 24);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM30", "IM30", "ANIM30", "IM30", 24, false);
break;
case 31:
- _objectsManager.PERSONAGE("IM31", "IM31", "ANIM31", "IM31", 10);
+ _objectsManager.PERSONAGE("IM31", "IM31", "ANIM31", "IM31", 10, true);
break;
case 32:
_globals.Max_Propre = 15;
_globals.Max_Perso_Y = 445;
_globals._maxLineLength = 20;
- _objectsManager.PERSONAGE2("IM32", "IM32", "ANIM32", "IM32", 2);
+ _objectsManager.PERSONAGE2("IM32", "IM32", "ANIM32", "IM32", 2, true);
break;
case 33:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8, false);
break;
case 34:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM34", "IM34", "ANIM34", "IM34", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM34", "IM34", "ANIM34", "IM34", 2, false);
break;
case 35:
@@ -2854,7 +2695,6 @@ bool HopkinsEngine::runWin95full() {
_globals.Max_Perso_Y = 435;
_globals._disableInventFl = false;
_globals._forestFl = true;
- _globals.NOSPRECRAN = true;
Common::String im = Common::String::format("IM%d", _globals._exitId);
_soundManager.WSOUND(13);
if (_globals._forestSprite == g_PTRNUL) {
@@ -2862,8 +2702,7 @@ bool HopkinsEngine::runWin95full() {
_globals._forestSprite = _objectsManager.loadSprite(_globals._curFilename);
_soundManager.loadSample(1, "SOUND41.WAV");
}
- _objectsManager.PERSONAGE2(im, im, "BANDIT", im, 13);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2(im, im, "BANDIT", im, 13, false);
if (_globals._exitId < 35 || _globals._exitId > 49) {
_globals._forestSprite = _globals.freeMemory(_globals._forestSprite);
_globals._forestFl = false;
@@ -2880,174 +2719,149 @@ bool HopkinsEngine::runWin95full() {
_globals._maxLineLength = 10;
_globals.Max_Perso_Y = 440;
_globals.Max_Propre = 20;
- _objectsManager.PERSONAGE2("IM51", "IM51", "ANIM51", "IM51", 14);
+ _objectsManager.PERSONAGE2("IM51", "IM51", "ANIM51", "IM51", 14, true);
break;
case 52:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM52", "IM52", "ANIM52", "IM52", 14);
+ _objectsManager.PERSONAGE2("IM52", "IM52", "ANIM52", "IM52", 14, true);
break;
case 54:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM54", "IM54", "ANIM54", "IM54", 14);
+ _objectsManager.PERSONAGE2("IM54", "IM54", "ANIM54", "IM54", 14, true);
break;
case 55:
_globals.Max_Propre = 40;
_globals.Max_Perso_Y = 460;
_globals._maxLineLength = 30;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM55", "IM55", "ANIM55", "IM55", 14);
+ _objectsManager.PERSONAGE2("IM55", "IM55", "ANIM55", "IM55", 14, false);
break;
case 56:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM56", "IM56", "ANIM56", "IM56", 14);
+ _objectsManager.PERSONAGE2("IM56", "IM56", "ANIM56", "IM56", 14, false);
break;
case 57:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM57", "IM57", "ANIM57", "IM57", 14);
+ _objectsManager.PERSONAGE2("IM57", "IM57", "ANIM57", "IM57", 14, true);
break;
case 58:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM58", "IM58", "ANIM58", "IM58", 14);
+ _objectsManager.PERSONAGE2("IM58", "IM58", "ANIM58", "IM58", 14, false);
break;
case 59:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM59", "IM59", "ANIM59", "IM59", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM59", "IM59", "ANIM59", "IM59", 21, false);
break;
case 60:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM60", "IM60", "ANIM60", "IM60", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM60", "IM60", "ANIM60", "IM60", 21, false);
break;
case 61:
if (_globals._saveData->data[svField311] == 1 && !_globals._saveData->data[svField312])
handleConflagration();
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM61", "IM61", "ANIM61", "IM61", 21);
+ _objectsManager.PERSONAGE("IM61", "IM61", "ANIM61", "IM61", 21, false);
break;
case 62:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM62", "IM62", NULL, "IM62", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM62", "IM62", NULL, "IM62", 21, false);
break;
case 63:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM63", "IM63", "ANIM63", "IM63", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM63", "IM63", "ANIM63", "IM63", 21, false);
break;
case 64:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM64", "IM64", "ANIM64", "IM64", 21);
+ _objectsManager.PERSONAGE2("IM64", "IM64", "ANIM64", "IM64", 21, true);
break;
case 65:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM65", "IM65", "ANIM65", "IM65", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM65", "IM65", "ANIM65", "IM65", 21, false);
break;
case 66:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM66", "IM66", "ANIM66", "IM66", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM66", "IM66", "ANIM66", "IM66", 21, false);
break;
case 67:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM67", "IM67", NULL, "IM67", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM67", "IM67", NULL, "IM67", 21, false);
break;
case 68:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM68", "IM68", "ANIM68", "IM68", 21);
+ _objectsManager.PERSONAGE2("IM68", "IM68", "ANIM68", "IM68", 21, true);
break;
case 69:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM69", "IM69", "ANIM69", "IM69", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM69", "IM69", "ANIM69", "IM69", 21, false);
break;
case 70:
_globals.Max_Perso_Y = 435;
_globals.Max_Propre = 8;
- _globals.NOSPRECRAN = true;
_globals._maxLineLength = 8;
- _objectsManager.PERSONAGE2("IM70", "IM70", NULL, "IM70", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM70", "IM70", NULL, "IM70", 21, false);
break;
case 71:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM71", "IM71", "ANIM71", "IM71", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM71", "IM71", "ANIM71", "IM71", 21, false);
break;
case 73:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 445;
- if (_globals._saveData->data[svField318] == 1) {
- _objectsManager.PERSONAGE2("IM73", "IM73A", "ANIM73", "IM73", 21);
- } else if (!_globals._saveData->data[svField318]) {
- _objectsManager.PERSONAGE2("IM73", "IM73", "ANIM73", "IM73", 21);
- }
+ if (_globals._saveData->data[svField318] == 1)
+ _objectsManager.PERSONAGE2("IM73", "IM73A", "ANIM73", "IM73", 21, true);
+ else if (!_globals._saveData->data[svField318])
+ _objectsManager.PERSONAGE2("IM73", "IM73", "ANIM73", "IM73", 21, true);
break;
case 75:
@@ -3119,40 +2933,37 @@ bool HopkinsEngine::runWin95full() {
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
if (_globals._saveData->data[svField330])
- _objectsManager.PERSONAGE2("IM93", "IM93c", "ANIM93", "IM93", 29);
+ _objectsManager.PERSONAGE2("IM93", "IM93c", "ANIM93", "IM93", 29, true);
else
- _objectsManager.PERSONAGE2("IM93", "IM93", "ANIM93", "IM93", 29);
+ _objectsManager.PERSONAGE2("IM93", "IM93", "ANIM93", "IM93", 29, true);
break;
case 94:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM94", "IM94", "ANIM94", "IM94", 19);
+ _objectsManager.PERSONAGE2("IM94", "IM94", "ANIM94", "IM94", 19, true);
break;
case 95:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = false;
- _objectsManager.PERSONAGE2("IM95", "IM95", "ANIM95", "IM95", 19);
+ _objectsManager.PERSONAGE2("IM95", "IM95", "ANIM95", "IM95", 19, true);
break;
case 96:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
- _globals.NOSPRECRAN = true;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM96", "IM96", "ANIM96", "IM96", 19);
+ _objectsManager.PERSONAGE2("IM96", "IM96", "ANIM96", "IM96", 19, false);
break;
case 97:
_globals.Max_Perso_Y = 435;
_globals.Max_Propre = 5;
- _globals.NOSPRECRAN = true;
_globals._maxLineLength = 5;
- _objectsManager.PERSONAGE2("IM97", "IM97", "ANIM97", "IM97", 19);
+ _objectsManager.PERSONAGE2("IM97", "IM97", "ANIM97", "IM97", 19, false);
if (_globals._exitId == 18) {
_globals.iRegul = 1;
_soundManager.WSOUND_OFF();
@@ -3171,14 +2982,14 @@ bool HopkinsEngine::runWin95full() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM98", "IM98", "ANIM98", "IM98", 19);
+ _objectsManager.PERSONAGE2("IM98", "IM98", "ANIM98", "IM98", 19, true);
break;
case 99:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM99", "IM99", "ANIM99", "IM99", 19);
+ _objectsManager.PERSONAGE2("IM99", "IM99", "ANIM99", "IM99", 19, true);
break;
case 100:
@@ -3186,15 +2997,11 @@ bool HopkinsEngine::runWin95full() {
break;
case 111:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10, false);
break;
case 112:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10, false);
break;
case 113:
@@ -3356,7 +3163,7 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1);
+ _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1, true);
break;
case 3:
@@ -3393,8 +3200,7 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2);
+ _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2, false);
break;
case 4:
@@ -3407,35 +3213,33 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 455;
- _globals.NOSPRECRAN = true;
if (_globals._saveData->data[svField80]) {
if (_globals._saveData->data[svField80] == 1)
- _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3);
+ _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3, false);
} else {
- _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3);
+ _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3, false);
}
- _globals.NOSPRECRAN = false;
break;
case 6:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 460;
- _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2);
+ _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2, true);
break;
case 7:
if (_globals._saveData->data[svField220])
- _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2, true);
else
- _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2);
+ _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2, true);
break;
case 8:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2);
+ _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2, true);
break;
case 9:
@@ -3444,22 +3248,18 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Perso_Y = 440;
if (!_globals._saveData->data[svField225])
bombExplosion();
- _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10);
+ _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10, true);
break;
case 10:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9, false);
break;
case 11:
- _globals.NOSPRECRAN = true;
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2, false);
break;
case 12:
@@ -3467,8 +3267,7 @@ bool HopkinsEngine::runLinuxFull() {
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 450;
if (_globals._saveData->data[svField225]) {
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1);
+ _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1, false);
} else {
bombExplosion();
}
@@ -3478,42 +3277,38 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1);
+ _objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1, true);
break;
case 14:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1);
+ _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1, true);
break;
case 15:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 29);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 29, false);
break;
case 16:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- if (_globals._saveData->data[svField113] == 1) {
- _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7);
- } else if (!_globals._saveData->data[svField113]) {
- _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7);
- }
+ if (_globals._saveData->data[svField113] == 1)
+ _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7, true);
+ else if (!_globals._saveData->data[svField113])
+ _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7, true);
break;
case 17:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
- if (_globals._saveData->data[svField117] == 1) {
- _objectsManager.PERSONAGE2("IM17", "IM17A", "ANIM17", "IM17", 11);
- } else if (!_globals._saveData->data[svField117]) {
- _objectsManager.PERSONAGE2("IM17", "IM17", "ANIM17", "IM17", 11);
- }
+ if (_globals._saveData->data[svField117] == 1)
+ _objectsManager.PERSONAGE2("IM17", "IM17A", "ANIM17", "IM17", 11, true);
+ else if (!_globals._saveData->data[svField117])
+ _objectsManager.PERSONAGE2("IM17", "IM17", "ANIM17", "IM17", 11, true);
if (_globals._exitId == 18) {
_globals.iRegul = 1;
_graphicsManager.lockScreen();
@@ -3529,11 +3324,10 @@ bool HopkinsEngine::runLinuxFull() {
break;
case 18:
- _globals.NOSPRECRAN = true;
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _objectsManager.PERSONAGE2("IM18", "IM18", "ANIM18", "IM18", 29);
+ _objectsManager.PERSONAGE2("IM18", "IM18", "ANIM18", "IM18", 29, false);
break;
case 19:
@@ -3541,16 +3335,16 @@ bool HopkinsEngine::runLinuxFull() {
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[svField123])
- _objectsManager.PERSONAGE2("IM19", "IM19A", "ANIM19", "IM19", 6);
+ _objectsManager.PERSONAGE2("IM19", "IM19A", "ANIM19", "IM19", 6, true);
else
- _objectsManager.PERSONAGE2("IM19", "IM19", "ANIM19", "IM19", 6);
+ _objectsManager.PERSONAGE2("IM19", "IM19", "ANIM19", "IM19", 6, true);
break;
case 20:
_globals.Max_Propre = 8;
_globals._maxLineLength = 10;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM20", "IM20", "ANIM20", "IM20", 6);
+ _objectsManager.PERSONAGE2("IM20", "IM20", "ANIM20", "IM20", 6, true);
if (_globals._exitId == 17) {
_globals.iRegul = 1;
_graphicsManager.lockScreen();
@@ -3569,14 +3363,14 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM22", "IM22", "ANIM22", "IM22", 6);
+ _objectsManager.PERSONAGE2("IM22", "IM22", "ANIM22", "IM22", 6, true);
break;
case 23:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM23", "IM23", "ANIM23", "IM23", 6);
+ _objectsManager.PERSONAGE2("IM23", "IM23", "ANIM23", "IM23", 6, true);
break;
case 24:
@@ -3585,9 +3379,9 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Perso_Y = 450;
if (_globals._saveData->data[svField181]) {
if (_globals._saveData->data[svField181] == 1)
- _objectsManager.PERSONAGE2("IM24", "IM24a", "ANIM24", "IM24", 1);
+ _objectsManager.PERSONAGE2("IM24", "IM24a", "ANIM24", "IM24", 1, true);
} else {
- _objectsManager.PERSONAGE2("IM24", "IM24", "ANIM24", "IM24", 1);
+ _objectsManager.PERSONAGE2("IM24", "IM24", "ANIM24", "IM24", 1, true);
}
break;
@@ -3595,14 +3389,14 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 30);
+ _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 30, true);
break;
case 26:
_globals.Max_Propre = 50;
_globals._maxLineLength = 40;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 30);
+ _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 30, true);
break;
case 27:
@@ -3610,9 +3404,9 @@ bool HopkinsEngine::runLinuxFull() {
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 440;
if (_globals._saveData->data[svField177] == 1) {
- _objectsManager.PERSONAGE2("IM27", "IM27A", "ANIM27", "IM27", 27);
+ _objectsManager.PERSONAGE2("IM27", "IM27A", "ANIM27", "IM27", 27, true);
} else if (!_globals._saveData->data[svField177]) {
- _objectsManager.PERSONAGE2("IM27", "IM27", "ANIM27", "IM27", 27);
+ _objectsManager.PERSONAGE2("IM27", "IM27", "ANIM27", "IM27", 27, true);
}
break;
@@ -3620,50 +3414,43 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 450;
- _globals.NOSPRECRAN = true;
if (_globals._saveData->data[svField166] != 1 || _globals._saveData->data[svField167] != 1)
- _objectsManager.PERSONAGE2("IM28", "IM28", "ANIM28", "IM28", 1);
+ _objectsManager.PERSONAGE2("IM28", "IM28", "ANIM28", "IM28", 1, false);
else
- _objectsManager.PERSONAGE2("IM28a", "IM28", "ANIM28", "IM28", 1);
+ _objectsManager.PERSONAGE2("IM28a", "IM28", "ANIM28", "IM28", 1, false);
break;
case 29:
_globals.Max_Propre = 60;
_globals._maxLineLength = 50;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM29", "IM29", "ANIM29", "IM29", 1);
+ _objectsManager.PERSONAGE2("IM29", "IM29", "ANIM29", "IM29", 1, true);
break;
case 30:
_globals.Max_Propre = 10;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM30", "IM30", "ANIM30", "IM30", 24);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM30", "IM30", "ANIM30", "IM30", 24, false);
break;
case 31:
- _objectsManager.PERSONAGE("IM31", "IM31", "ANIM31", "IM31", 10);
+ _objectsManager.PERSONAGE("IM31", "IM31", "ANIM31", "IM31", 10, true);
break;
case 32:
_globals.Max_Propre = 15;
_globals._maxLineLength = 20;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM32", "IM32", "ANIM32", "IM32", 2);
+ _objectsManager.PERSONAGE2("IM32", "IM32", "ANIM32", "IM32", 2, true);
break;
case 33:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8, false);
break;
case 34:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM34", "IM34", "ANIM34", "IM34", 2);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM34", "IM34", "ANIM34", "IM34", 2, false);
break;
case 35:
@@ -3678,7 +3465,6 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Perso_Y = 435;
_globals._disableInventFl = false;
_globals._forestFl = true;
- _globals.NOSPRECRAN = true;
Common::String im = Common::String::format("IM%d", _globals._exitId);
_soundManager.WSOUND(13);
if (_globals._forestSprite == g_PTRNUL) {
@@ -3686,8 +3472,7 @@ bool HopkinsEngine::runLinuxFull() {
_globals._forestSprite = _objectsManager.loadSprite(_globals._curFilename);
_soundManager.loadSample(1, "SOUND41.WAV");
}
- _objectsManager.PERSONAGE2(im, im, "BANDIT", im, 13);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2(im, im, "BANDIT", im, 13, false);
if (_globals._exitId < 35 || _globals._exitId > 49) {
_globals._forestSprite = _globals.freeMemory(_globals._forestSprite);
_globals._forestFl = false;
@@ -3705,163 +3490,139 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Propre = 20;
_globals._maxLineLength = 10;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM51", "IM51", "ANIM51", "IM51", 14);
+ _objectsManager.PERSONAGE2("IM51", "IM51", "ANIM51", "IM51", 14, true);
break;
case 52:
_globals.Max_Propre = 15;
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 445;
- _objectsManager.PERSONAGE2("IM52", "IM52", "ANIM52", "IM52", 14);
+ _objectsManager.PERSONAGE2("IM52", "IM52", "ANIM52", "IM52", 14, true);
break;
case 54:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM54", "IM54", "ANIM54", "IM54", 14);
+ _objectsManager.PERSONAGE2("IM54", "IM54", "ANIM54", "IM54", 14, true);
break;
case 55:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 460;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM55", "IM55", "ANIM55", "IM55", 14);
+ _objectsManager.PERSONAGE2("IM55", "IM55", "ANIM55", "IM55", 14, false);
break;
case 56:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM56", "IM56", "ANIM56", "IM56", 14);
+ _objectsManager.PERSONAGE2("IM56", "IM56", "ANIM56", "IM56", 14, false);
break;
case 57:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM57", "IM57", "ANIM57", "IM57", 14);
+ _objectsManager.PERSONAGE2("IM57", "IM57", "ANIM57", "IM57", 14, true);
break;
case 58:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM58", "IM58", "ANIM58", "IM58", 14);
+ _objectsManager.PERSONAGE2("IM58", "IM58", "ANIM58", "IM58", 14, false);
break;
case 59:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM59", "IM59", "ANIM59", "IM59", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM59", "IM59", "ANIM59", "IM59", 21, false);
break;
case 60:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 440;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM60", "IM60", "ANIM60", "IM60", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM60", "IM60", "ANIM60", "IM60", 21, false);
break;
case 61:
if (_globals._saveData->data[svField311] == 1 && !_globals._saveData->data[svField312])
handleConflagration();
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM61", "IM61", "ANIM61", "IM61", 21);
+ _objectsManager.PERSONAGE("IM61", "IM61", "ANIM61", "IM61", 21, false);
break;
case 62:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM62", "IM62", NULL, "IM62", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM62", "IM62", NULL, "IM62", 21, false);
break;
case 63:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM63", "IM63", "ANIM63", "IM63", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM63", "IM63", "ANIM63", "IM63", 21, false);
break;
case 64:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM64", "IM64", "ANIM64", "IM64", 21);
+ _objectsManager.PERSONAGE2("IM64", "IM64", "ANIM64", "IM64", 21, true);
break;
case 65:
_globals.Max_Propre = 40;
_globals._maxLineLength = 30;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM65", "IM65", "ANIM65", "IM65", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM65", "IM65", "ANIM65", "IM65", 21, false);
break;
case 66:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM66", "IM66", "ANIM66", "IM66", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM66", "IM66", "ANIM66", "IM66", 21, false);
break;
case 67:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM67", "IM67", NULL, "IM67", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM67", "IM67", NULL, "IM67", 21, false);
break;
case 68:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM68", "IM68", "ANIM68", "IM68", 21);
+ _objectsManager.PERSONAGE2("IM68", "IM68", "ANIM68", "IM68", 21, true);
break;
case 69:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM69", "IM69", "ANIM69", "IM69", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM69", "IM69", "ANIM69", "IM69", 21, false);
break;
case 70:
_globals.Max_Propre = 8;
_globals._maxLineLength = 8;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM70", "IM70", NULL, "IM70", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM70", "IM70", NULL, "IM70", 21, false);
break;
case 71:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM71", "IM71", "ANIM71", "IM71", 21);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE2("IM71", "IM71", "ANIM71", "IM71", 21, false);
break;
case 73:
@@ -3869,9 +3630,9 @@ bool HopkinsEngine::runLinuxFull() {
_globals._maxLineLength = 15;
_globals.Max_Perso_Y = 445;
if (_globals._saveData->data[svField318] == 1) {
- _objectsManager.PERSONAGE2("IM73", "IM73A", "ANIM73", "IM73", 21);
+ _objectsManager.PERSONAGE2("IM73", "IM73A", "ANIM73", "IM73", 21, true);
} else if (!_globals._saveData->data[svField318]) {
- _objectsManager.PERSONAGE2("IM73", "IM73", "ANIM73", "IM73", 21);
+ _objectsManager.PERSONAGE2("IM73", "IM73", "ANIM73", "IM73", 21, true);
}
break;
@@ -3944,40 +3705,37 @@ bool HopkinsEngine::runLinuxFull() {
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 445;
if (_globals._saveData->data[svField330])
- _objectsManager.PERSONAGE2("IM93", "IM93c", "ANIM93", "IM93", 29);
+ _objectsManager.PERSONAGE2("IM93", "IM93c", "ANIM93", "IM93", 29, true);
else
- _objectsManager.PERSONAGE2("IM93", "IM93", "ANIM93", "IM93", 29);
+ _objectsManager.PERSONAGE2("IM93", "IM93", "ANIM93", "IM93", 29, true);
break;
case 94:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 440;
- _objectsManager.PERSONAGE2("IM94", "IM94", "ANIM94", "IM94", 19);
+ _objectsManager.PERSONAGE2("IM94", "IM94", "ANIM94", "IM94", 19, true);
break;
case 95:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM95", "IM95", "ANIM95", "IM95", 19);
+ _objectsManager.PERSONAGE2("IM95", "IM95", "ANIM95", "IM95", 19, false);
break;
case 96:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM96", "IM96", "ANIM96", "IM96", 19);
+ _objectsManager.PERSONAGE2("IM96", "IM96", "ANIM96", "IM96", 19, false);
break;
case 97:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE2("IM97", "IM97", "ANIM97", "IM97", 19);
+ _objectsManager.PERSONAGE2("IM97", "IM97", "ANIM97", "IM97", 19, false);
if (_globals._exitId == 18) {
_globals.iRegul = 1;
_soundManager.WSOUND_OFF();
@@ -3996,14 +3754,14 @@ bool HopkinsEngine::runLinuxFull() {
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM98", "IM98", "ANIM98", "IM98", 19);
+ _objectsManager.PERSONAGE2("IM98", "IM98", "ANIM98", "IM98", 19, true);
break;
case 99:
_globals.Max_Propre = 5;
_globals._maxLineLength = 5;
_globals.Max_Perso_Y = 435;
- _objectsManager.PERSONAGE2("IM99", "IM99", "ANIM99", "IM99", 19);
+ _objectsManager.PERSONAGE2("IM99", "IM99", "ANIM99", "IM99", 19, true);
break;
case 100:
@@ -4011,15 +3769,11 @@ bool HopkinsEngine::runLinuxFull() {
break;
case 111:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10, false);
break;
case 112:
- _globals.NOSPRECRAN = true;
- _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10);
- _globals.NOSPRECRAN = false;
+ _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10, false);
break;
case 113:
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index 7f4be30db3..25c6fe1968 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -2263,7 +2263,6 @@ void ObjectsManager::PLAN_BETA() {
_vm->_globals.Max_Propre = 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;
@@ -2280,7 +2279,7 @@ void ObjectsManager::PLAN_BETA() {
_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);
@@ -2357,7 +2356,6 @@ void ObjectsManager::PLAN_BETA() {
removeSprite(0);
_spritePtr = _vm->_globals.freeMemory(_spritePtr);
CLEAR_ECRAN();
- _vm->_globals.NOSPRECRAN = false;
_vm->_globals.PLAN_FLAG = false;
}
@@ -2695,7 +2693,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;
@@ -4964,7 +4961,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;
@@ -4989,10 +4986,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) {
@@ -5059,7 +5056,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;
@@ -5086,10 +5083,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;
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index 5067e8f0ec..db9b85a0d0 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -240,13 +240,13 @@ public:
* Game scene control method
*/
void 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);
/**
* Game scene control method
*/
void 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);
};
} // End of namespace Hopkins
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp
index 10ed19016c..dae57bd47d 100644
--- a/engines/hopkins/script.cpp
+++ b/engines/hopkins/script.cpp
@@ -2282,7 +2282,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_graphicsManager.SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
- _vm->_graphicsManager.OPTI_INI("BOMBE", 2);
+ _vm->_graphicsManager.OPTI_INI("BOMBE", 2, true);
_vm->_graphicsManager.fadeInShort();
break;
diff --git a/engines/hopkins/talk.cpp b/engines/hopkins/talk.cpp
index 38677d5fff..94efcbe5db 100644
--- a/engines/hopkins/talk.cpp
+++ b/engines/hopkins/talk.cpp
@@ -1130,7 +1130,7 @@ void TalkManager::OBJET_VIVANT(const Common::String &a2) {
initCharacterAnim();
VISU_PARLE();
dialogWait();
- _vm->_graphicsManager.INI_ECRAN2(v22);
+ _vm->_graphicsManager.INI_ECRAN2(v22, true);
_vm->_globals.NOMARCHE = true;
_vm->_objectsManager._forceZoneFl = true;
_vm->_objectsManager.NUMZONE = -1;
@@ -1164,7 +1164,7 @@ void TalkManager::OBJET_VIVANT(const Common::String &a2) {
_vm->_globals.COUCOU = v11;
_vm->_objectsManager._disableFl = true;
_vm->_objectsManager.INILINK(v20);
- _vm->_graphicsManager.INI_ECRAN2(v20);
+ _vm->_graphicsManager.INI_ECRAN2(v20, true);
_vm->_objectsManager._disableFl = false;
_vm->_globals.NOMARCHE = false;
if (_vm->_globals._exitId == 101)