HOPKINS: Add some more code specific to the full version (linux)

This commit is contained in:
Strangerke
2012-11-15 13:34:15 +01:00
parent db5626adb6
commit e920b06ece
4 changed files with 80 additions and 31 deletions
+38 -13
View File
@@ -1021,6 +1021,12 @@ void AnimationManager::PLAY_SEQ(const Common::String &a2, uint32 a3, uint32 a4,
if (_vm->_animationManager.NO_SEQ) {
if (v7 == 1)
memcpy(ptr, _vm->_graphicsManager.VESA_BUFFER, 0x4B000u);
if (!_vm->getIsDemo()) {
_vm->_graphicsManager.SETCOLOR3(252, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
}
_vm->_graphicsManager.setpal_vga256(_vm->_graphicsManager.Palette);
} else {
_vm->_graphicsManager.DD_Lock();
@@ -1039,19 +1045,38 @@ void AnimationManager::PLAY_SEQ(const Common::String &a2, uint32 a3, uint32 a4,
_vm->_graphicsManager.DD_Unlock();
_vm->_graphicsManager.DD_VBL();
}
_vm->_eventsManager.lItCounter = 0;
_vm->_eventsManager.ESC_KEY = false;
_vm->_soundManager.LOAD_ANM_SOUND();
if (_vm->_globals.iRegul == 1) {
do {
if (_vm->_eventsManager.ESC_KEY == true) {
if (!_vm->_eventsManager.NOESC)
goto LABEL_59;
_vm->_eventsManager.ESC_KEY = false;
}
_vm->_eventsManager.CONTROLE_MES();
_vm->_soundManager.VERIF_SOUND();
} while (_vm->_eventsManager.lItCounter < a3);
if (_vm->getIsDemo()) {
_vm->_eventsManager.lItCounter = 0;
_vm->_eventsManager.ESC_KEY = false;
_vm->_soundManager.LOAD_ANM_SOUND();
if (_vm->_globals.iRegul == 1) {
do {
if (_vm->_eventsManager.ESC_KEY == true) {
if (!_vm->_eventsManager.NOESC)
goto LABEL_59;
_vm->_eventsManager.ESC_KEY = false;
}
_vm->_eventsManager.CONTROLE_MES();
_vm->_soundManager.VERIF_SOUND();
} while (_vm->_eventsManager.lItCounter < a3);
}
} else {
if (NO_COUL)
_vm->_graphicsManager.FADE_INW_LINUX(v9);
_vm->_eventsManager.lItCounter = 0;
_vm->_eventsManager.ESC_KEY = 0;
_vm->_soundManager.LOAD_ANM_SOUND();
if (_vm->_globals.iRegul == 1) {
do {
if (_vm->_eventsManager.ESC_KEY) {
if (!_vm->_eventsManager.NOESC)
goto LABEL_59;
_vm->_eventsManager.ESC_KEY = false;
}
_vm->_eventsManager.CONTROLE_MES();
_vm->_soundManager.VERIF_SOUND();
} while (_vm->_eventsManager.lItCounter < a3);
}
}
_vm->_eventsManager.lItCounter = 0;
v5 = 0;
+1 -1
View File
@@ -415,7 +415,7 @@ public:
int Max_Perso_Y;
bool DESACTIVE_INVENT;
bool FLAG_VISIBLE;
bool netscape;
bool netscape; // CHECKME: Useless variable?
bool NOMARCHE;
int NBBLOC;
bool NO_VISU;
+15 -13
View File
@@ -1767,19 +1767,21 @@ void HopkinsEngine::INTRORUN() {
}
void HopkinsEngine::PASS() {
if (_globals.FR == 1)
_graphicsManager.LOAD_IMAGE("ndfr");
else
_graphicsManager.LOAD_IMAGE("nduk");
_graphicsManager.FADE_INW();
if (_soundManager.VOICEOFF)
_eventsManager.delay(500);
else
_soundManager.VOICE_MIX(628, 4);
_graphicsManager.FADE_OUTW();
_globals.SORTIE = 4;
if (getIsDemo()) {
if (_globals.FR == 1)
_graphicsManager.LOAD_IMAGE("ndfr");
else
_graphicsManager.LOAD_IMAGE("nduk");
_graphicsManager.FADE_INW();
if (_soundManager.VOICEOFF)
_eventsManager.delay(500);
else
_soundManager.VOICE_MIX(628, 4);
_graphicsManager.FADE_OUTW();
_globals.SORTIE = 4;
}
}
void HopkinsEngine::ENDEMO() {
+26 -4
View File
@@ -489,10 +489,28 @@ int TalkManager::DIALOGUE_REP(int idx) {
_vm->_eventsManager.souris_bb = false;
_vm->_eventsManager.souris_b = false;
do {
_vm->_eventsManager.VBL();
++v14;
} while (v14 != v6);
if (_vm->getIsDemo()) {
do {
_vm->_eventsManager.VBL();
++v14;
} while (v14 != v6);
} else {
int tmpVal = 0;
do {
_vm->_eventsManager.VBL();
++v14;
if ( _vm->_eventsManager.souris_b || _vm->_eventsManager.souris_bb )
v14 = v6;
if (_vm->_eventsManager.BMOUSE()) {
i = 5;
tmpVal = v6 / 5;
if (tmpVal < 0)
tmpVal = -tmpVal;
if (v14 > tmpVal)
v14 = v6;
}
} while (v14 != v6);
}
}
if (!_vm->_soundManager.TEXTOFF)
@@ -1314,6 +1332,10 @@ void TalkManager::OBJET_VIVANT(const Common::String &a2) {
_vm->_eventsManager.btsouris = 4;
_vm->_eventsManager.CHANGE_MOUSE(4);
_vm->_graphicsManager.SETCOLOR3(253, 100, 100, 100);
if (!_vm->getIsDemo())
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager.INIT_TABLE(145, 150, _vm->_graphicsManager.Palette);
_vm->_graphicsManager.setpal_vga256(_vm->_graphicsManager.Palette);
_vm->_graphicsManager.DD_Lock();