aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2012-11-15 13:34:15 +0100
committerStrangerke2012-11-15 13:34:15 +0100
commite920b06ececf39db787b3ec26be3ffe1b498ea1d (patch)
tree0044ef086598883b58654ba8d25bbfafaf264288
parentdb5626adb6f282b5c1ce68cbe8d0097e82ba1a39 (diff)
downloadscummvm-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.cpp51
-rw-r--r--engines/hopkins/globals.h2
-rw-r--r--engines/hopkins/hopkins.cpp28
-rw-r--r--engines/hopkins/talk.cpp30
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();