aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/script_v0.cpp
diff options
context:
space:
mode:
authorKirben2014-12-08 19:26:39 +1100
committerKirben2014-12-08 19:26:39 +1100
commit6e24e7df3b9c39b03d1652bdf34f275d7ed8c1fc (patch)
tree27e8f9f67af3ab3d59dd49a8f3589337c991d4bd /engines/scumm/script_v0.cpp
parentecb1979245fb6695a68286a59f5eaf2c3677b579 (diff)
parent962c8b4524f46bbc2394d7a80972db0a474221a3 (diff)
downloadscummvm-rg350-6e24e7df3b9c39b03d1652bdf34f275d7ed8c1fc.tar.gz
scummvm-rg350-6e24e7df3b9c39b03d1652bdf34f275d7ed8c1fc.tar.bz2
scummvm-rg350-6e24e7df3b9c39b03d1652bdf34f275d7ed8c1fc.zip
Merge pull request #546 from segrax/V0_Demo
SCUMM: Maniac V0: Add support for D64 Demo Disk, Cleanup duplicate 'Talk...
Diffstat (limited to 'engines/scumm/script_v0.cpp')
-rw-r--r--engines/scumm/script_v0.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/engines/scumm/script_v0.cpp b/engines/scumm/script_v0.cpp
index 90291535fd..609cbd1e89 100644
--- a/engines/scumm/script_v0.cpp
+++ b/engines/scumm/script_v0.cpp
@@ -172,7 +172,7 @@ void ScummEngine_v0::setupOpcodes() {
/* 6C */
OPCODE(0x6c, o_stopCurrentScript);
OPCODE(0x6d, o2_putActorInRoom);
- OPCODE(0x6e, o2_dummy);
+ OPCODE(0x6e, o_screenPrepare);
OPCODE(0x6f, o2_ifState08);
/* 70 */
OPCODE(0x70, o_lights);
@@ -633,12 +633,21 @@ void ScummEngine_v0::setMode(byte mode) {
switch (_currentMode) {
case kModeCutscene:
+ if (_game.features & GF_DEMO) {
+ if (VAR(11) != 0)
+ _drawDemo = true;
+ }
_redrawSentenceLine = false;
// Note: do not change freeze state here
state = USERSTATE_SET_IFACE |
USERSTATE_SET_CURSOR;
+
break;
case kModeKeypad:
+ if (_game.features & GF_DEMO) {
+ if (VAR(11) != 0)
+ _drawDemo = true;
+ }
_redrawSentenceLine = false;
state = USERSTATE_SET_IFACE |
USERSTATE_SET_CURSOR | USERSTATE_CURSOR_ON |
@@ -646,6 +655,12 @@ void ScummEngine_v0::setMode(byte mode) {
break;
case kModeNormal:
case kModeNoNewKid:
+ if (_game.features & GF_DEMO) {
+ resetVerbs();
+ _activeVerb = kVerbWalkTo;
+ _redrawSentenceLine = true;
+ _drawDemo = false;
+ }
state = USERSTATE_SET_IFACE | USERSTATE_IFACE_ALL |
USERSTATE_SET_CURSOR | USERSTATE_CURSOR_ON |
USERSTATE_SET_FREEZE;
@@ -967,6 +982,10 @@ void ScummEngine_v0::o_setOwnerOf() {
setOwnerOf(obj, owner);
}
+void ScummEngine_v0::o_screenPrepare() {
+
+}
+
void ScummEngine_v0::resetSentence() {
_activeVerb = kVerbWalkTo;
_activeObject = 0;