diff options
author | Strangerke | 2012-11-15 13:34:15 +0100 |
---|---|---|
committer | Strangerke | 2012-11-15 13:34:15 +0100 |
commit | e920b06ececf39db787b3ec26be3ffe1b498ea1d (patch) | |
tree | 0044ef086598883b58654ba8d25bbfafaf264288 | |
parent | db5626adb6f282b5c1ce68cbe8d0097e82ba1a39 (diff) | |
download | scummvm-rg350-e920b06ececf39db787b3ec26be3ffe1b498ea1d.tar.gz scummvm-rg350-e920b06ececf39db787b3ec26be3ffe1b498ea1d.tar.bz2 scummvm-rg350-e920b06ececf39db787b3ec26be3ffe1b498ea1d.zip |
HOPKINS: Add some more code specific to the full version (linux)
-rw-r--r-- | engines/hopkins/anim.cpp | 51 | ||||
-rw-r--r-- | engines/hopkins/globals.h | 2 | ||||
-rw-r--r-- | engines/hopkins/hopkins.cpp | 28 | ||||
-rw-r--r-- | engines/hopkins/talk.cpp | 30 |
4 files changed, 80 insertions, 31 deletions
diff --git a/engines/hopkins/anim.cpp b/engines/hopkins/anim.cpp index 0296b9ec3b..993b64e167 100644 --- a/engines/hopkins/anim.cpp +++ b/engines/hopkins/anim.cpp @@ -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; diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h index b8f4714c26..f9d2b0c05e 100644 --- a/engines/hopkins/globals.h +++ b/engines/hopkins/globals.h @@ -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; diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp index 42d4de8579..1ea8f1f5db 100644 --- a/engines/hopkins/hopkins.cpp +++ b/engines/hopkins/hopkins.cpp @@ -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() { diff --git a/engines/hopkins/talk.cpp b/engines/hopkins/talk.cpp index 44f7e704f5..7d8eecbf64 100644 --- a/engines/hopkins/talk.cpp +++ b/engines/hopkins/talk.cpp @@ -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(); |