[Scummvm-cvs-logs] scummvm master -> 3cc86aedacb0c673c313df7922d19eeb0912494d
ScummVM git
noreply at scummvm.org
Sun Feb 13 13:29:32 CET 2011
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
43d9fb6c5a GIT: Add Eclipse projects to .gitignore
30c33c6e6b MOHAWK: Add Achenar's crate state to Mechanical state
c68bee08b2 MOHAWK: Add var getters / togglers to Mechanical, pages can now be
93ed359669 MOHAWK: Implement Mechanical's crystals
e5783d9c27 MOHAWK: Implement opcode 105, Mechanical fortress staircase movie
3cc86aedac MOHAWK: Remove Myst's var store from the build since it is not used
Commit: 43d9fb6c5ae2053b75f0ff1d4f0d900bd8ce22c2
https://github.com/scummvm/scummvm/commit/43d9fb6c5ae2053b75f0ff1d4f0d900bd8ce22c2
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2011-02-12T23:29:08-08:00
Commit Message:
GIT: Add Eclipse projects to .gitignore
Changed paths:
.gitignore
diff --git a/.gitignore b/.gitignore
index ee86dce..9983c21 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,8 @@ lib*.a
/MT32_CONTROL.ROM
/MT32_PCM.ROM
/ScummVM.app
+/.project
+/.cproject
/backends/platform/android/org/inodes/gus/scummvm/R.java
/backends/platform/android/org/inodes/gus/scummvm/Manifest.java
Commit: 30c33c6e6beb7a61ff79e2b8fab3cc3704f1195a
https://github.com/scummvm/scummvm/commit/30c33c6e6beb7a61ff79e2b8fab3cc3704f1195a
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2011-02-13T03:15:37-08:00
Commit Message:
MOHAWK: Add Achenar's crate state to Mechanical state
Changed paths:
engines/mohawk/myst_state.cpp
engines/mohawk/myst_state.h
diff --git a/engines/mohawk/myst_state.cpp b/engines/mohawk/myst_state.cpp
index 87e02f5..968bb42 100644
--- a/engines/mohawk/myst_state.cpp
+++ b/engines/mohawk/myst_state.cpp
@@ -227,12 +227,12 @@ void MystGameState::syncGameState(Common::Serializer &s, bool isME) {
s.syncAsUint16LE(_channelwood.holoprojectorSelection);
s.syncAsUint16LE(_channelwood.stairsUpperDoorState);
+ // Mechanical
+
if (isME)
- s.skip(4);
+ s.syncAsUint32LE(_mechanical.achenarCrateOpened);
else
- s.skip(1);
-
- // Mechanical
+ s.syncAsByte(_mechanical.achenarCrateOpened);
s.syncAsUint16LE(_mechanical.achenarPanelState);
s.syncAsUint16LE(_mechanical.sirrusPanelState);
diff --git a/engines/mohawk/myst_state.h b/engines/mohawk/myst_state.h
index 3f1e49e..a543cb1 100644
--- a/engines/mohawk/myst_state.h
+++ b/engines/mohawk/myst_state.h
@@ -203,6 +203,7 @@ public:
7 = Code Lock Shape #4 (Right)
*/
struct Mechanical {
+ uint32 achenarCrateOpened;
uint16 achenarPanelState;
uint16 sirrusPanelState;
uint16 staircaseState;
Commit: c68bee08b2babcd5d5dd1c7b5a427005d28023ee
https://github.com/scummvm/scummvm/commit/c68bee08b2babcd5d5dd1c7b5a427005d28023ee
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2011-02-13T03:24:11-08:00
Commit Message:
MOHAWK: Add var getters / togglers to Mechanical, pages can now be
taken
Changed paths:
engines/mohawk/myst_stacks/mechanical.cpp
engines/mohawk/myst_stacks/mechanical.h
diff --git a/engines/mohawk/myst_stacks/mechanical.cpp b/engines/mohawk/myst_stacks/mechanical.cpp
index b6209a9..f38d591 100644
--- a/engines/mohawk/myst_stacks/mechanical.cpp
+++ b/engines/mohawk/myst_stacks/mechanical.cpp
@@ -40,6 +40,7 @@ MystScriptParser_Mechanical::MystScriptParser_Mechanical(MohawkEngine_Myst *vm)
setupOpcodes();
_mystStaircaseState = false;
+ _fortressPosition = 0;
}
MystScriptParser_Mechanical::~MystScriptParser_Mechanical() {
@@ -104,23 +105,27 @@ void MystScriptParser_Mechanical::runPersistentScripts() {
uint16 MystScriptParser_Mechanical::getVar(uint16 var) {
switch(var) {
- case 0: // Sirrus's Secret Panel State2
+ case 0: // Sirrus's Secret Panel State
return _state.sirrusPanelState;
case 1: // Achenar's Secret Panel State
return _state.achenarPanelState;
-// case 3: // Sirrus's Secret Room Crate State
-// return 0;
-// return 1;
+ case 2: // Achenar's Secret Room Crate Lid Open and Blue Page Present
+ if (_state.achenarCrateOpened) {
+ if (_globals.bluePagesInBook & 4 || _globals.heldPage == 3)
+ return 2;
+ else
+ return 3;
+ } else {
+ return _globals.bluePagesInBook & 4 || _globals.heldPage == 3;
+ }
+ case 3: // Achenar's Secret Room Crate State
+ return _state.achenarCrateOpened;
case 4: // Myst Book Room Staircase State
return _mystStaircaseState;
-// case 5: // Fortress Position
-// return 0; // Island with Code Lock
-// return 1; // Island with Last Two Symbols of Code
-// return 2; // Island with First Two Symbols of Code
-// return 3; // No Island
-// case 6: // Fortress Position - Big Cog Visible Through Doorway
-// return 0;
-// return 1;
+ case 5: // Fortress Position
+ return _fortressPosition;
+ case 6: // Fortress Position - Big Cog Visible Through Doorway
+ return _fortressPosition == 0;
case 7: // Fortress Elevator Open
if (_state.elevatorRotation == 4)
return 1; // Open
@@ -159,14 +164,10 @@ uint16 MystScriptParser_Mechanical::getVar(uint16 var) {
// case 22: // Crystal Lit Flag - Red
// return 0;
// return 1;
-// case 102: // Red Page Present In Age
-// globals.heldPage and redPagesInBook?
-// return 0; // Page Not Present
-// return 1; // Page Present
-// case 103: // Blue Page Present In Age
-// globals.heldPage and bluePagesInBook?
-// return 0; // Page Not Present
-// return 1; // Page Present
+ case 102: // Red page
+ return !(_globals.redPagesInBook & 4) && (_globals.heldPage != 9);
+ case 103: // Blue page
+ return !(_globals.bluePagesInBook & 4) && (_globals.heldPage != 3);
default:
return MystScriptParser::getVar(var);
}
@@ -174,8 +175,8 @@ uint16 MystScriptParser_Mechanical::getVar(uint16 var) {
void MystScriptParser_Mechanical::toggleVar(uint16 var) {
switch(var) {
-// case 3: // Sirrus's Secret Room Crate State
-// temp ^= 1;
+ case 3: // Achenar's Secret Room Crate State
+ _state.achenarCrateOpened ^= 1;
case 4: // Myst Book Room Staircase State
_mystStaircaseState ^= 1;
case 10: // Fortress Staircase State
@@ -186,10 +187,22 @@ void MystScriptParser_Mechanical::toggleVar(uint16 var) {
case 19: // Code Lock Shape #4 - Right
_state.codeShape[var - 16] = (_state.codeShape[var - 16] + 1) % 10;
break;
-// case 102: // Red Page Grab/Release
-// globals.heldPage?
-// case 103: // Blue Page Grab/Release
-// globals.heldPage?
+ case 102: // Red page
+ if (!(_globals.redPagesInBook & 4)) {
+ if (_globals.heldPage == 9)
+ _globals.heldPage = 0;
+ else
+ _globals.heldPage = 9;
+ }
+ break;
+ case 103: // Blue page
+ if (!(_globals.bluePagesInBook & 4)) {
+ if (_globals.heldPage == 3)
+ _globals.heldPage = 0;
+ else
+ _globals.heldPage = 3;
+ }
+ break;
default:
MystScriptParser::toggleVar(var);
break;
diff --git a/engines/mohawk/myst_stacks/mechanical.h b/engines/mohawk/myst_stacks/mechanical.h
index ef8612f..f6039af 100644
--- a/engines/mohawk/myst_stacks/mechanical.h
+++ b/engines/mohawk/myst_stacks/mechanical.h
@@ -97,6 +97,8 @@ private:
MystGameState::Mechanical &_state;
bool _mystStaircaseState; // 76
+
+ uint16 _fortressPosition; // 82
};
} // End of namespace Mohawk
Commit: 93ed359669104f6414e9f3d94a63e55ae46eda30
https://github.com/scummvm/scummvm/commit/93ed359669104f6414e9f3d94a63e55ae46eda30
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2011-02-13T04:16:03-08:00
Commit Message:
MOHAWK: Implement Mechanical's crystals
Changed paths:
engines/mohawk/myst_stacks/mechanical.cpp
engines/mohawk/myst_stacks/mechanical.h
diff --git a/engines/mohawk/myst_stacks/mechanical.cpp b/engines/mohawk/myst_stacks/mechanical.cpp
index f38d591..e189645 100644
--- a/engines/mohawk/myst_stacks/mechanical.cpp
+++ b/engines/mohawk/myst_stacks/mechanical.cpp
@@ -58,12 +58,12 @@ void MystScriptParser_Mechanical::setupOpcodes() {
OPCODE(124, opcode_124);
OPCODE(125, o_mystStaircaseMovie);
OPCODE(126, opcode_126);
- OPCODE(127, opcode_127);
- OPCODE(128, opcode_128);
- OPCODE(129, opcode_129);
- OPCODE(130, opcode_130);
- OPCODE(131, opcode_131);
- OPCODE(132, opcode_132);
+ OPCODE(127, o_crystalEnterYellow);
+ OPCODE(128, o_crystalLeaveYellow);
+ OPCODE(129, o_crystalEnterGreen);
+ OPCODE(130, o_crystalLeaveGreen);
+ OPCODE(131, o_crystalEnterRed);
+ OPCODE(132, o_crystalLeaveRed);
// "Init" Opcodes
OPCODE(200, opcode_200);
@@ -155,15 +155,12 @@ uint16 MystScriptParser_Mechanical::getVar(uint16 var) {
case 18: // Code Lock Shape #3
case 19: // Code Lock Shape #4 - Right
return _state.codeShape[var - 16];
-// case 20: // Crystal Lit Flag - Yellow
-// return 0;
-// return 1;
-// case 21: // Crystal Lit Flag - Green
-// return 0;
-// return 1;
-// case 22: // Crystal Lit Flag - Red
-// return 0;
-// return 1;
+ case 20: // Crystal Lit Flag - Yellow
+ return _crystalLit == 3;
+ case 21: // Crystal Lit Flag - Green
+ return _crystalLit == 1;
+ case 22: // Crystal Lit Flag - Red
+ return _crystalLit == 2;
case 102: // Red page
return !(_globals.redPagesInBook & 4) && (_globals.heldPage != 9);
case 103: // Blue page
@@ -324,64 +321,46 @@ void MystScriptParser_Mechanical::opcode_126(uint16 op, uint16 var, uint16 argc,
unknown(op, var, argc, argv);
}
-void MystScriptParser_Mechanical::opcode_127(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
+void MystScriptParser_Mechanical::o_crystalEnterYellow(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ debugC(kDebugScript, "Opcode %d: Crystal enter", op);
- if (argc == 0) {
- // Used for Mech Card 6226 (3 Crystals)
- _vm->_varStore->setVar(20, 1);
- } else
- unknown(op, var, argc, argv);
+ _crystalLit = 3;
+ _vm->redrawArea(20);
}
-void MystScriptParser_Mechanical::opcode_128(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
+void MystScriptParser_Mechanical::o_crystalEnterGreen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ debugC(kDebugScript, "Opcode %d: Crystal enter", op);
- if (argc == 0) {
- // Used for Mech Card 6226 (3 Crystals)
- _vm->_varStore->setVar(20, 0);
- } else
- unknown(op, var, argc, argv);
+ _crystalLit = 1;
+ _vm->redrawArea(21);
}
-void MystScriptParser_Mechanical::opcode_129(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
+void MystScriptParser_Mechanical::o_crystalEnterRed(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ debugC(kDebugScript, "Opcode %d: Crystal enter", op);
- if (argc == 0) {
- // Used for Mech Card 6226 (3 Crystals)
- _vm->_varStore->setVar(21, 1);
- } else
- unknown(op, var, argc, argv);
+ _crystalLit = 2;
+ _vm->redrawArea(22);
}
-void MystScriptParser_Mechanical::opcode_130(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
+void MystScriptParser_Mechanical::o_crystalLeaveYellow(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ debugC(kDebugScript, "Opcode %d: Crystal leave", op);
- if (argc == 0) {
- // Used for Mech Card 6226 (3 Crystals)
- _vm->_varStore->setVar(21, 0);
- } else
- unknown(op, var, argc, argv);
+ _crystalLit = 0;
+ _vm->redrawArea(20);
}
-void MystScriptParser_Mechanical::opcode_131(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
+void MystScriptParser_Mechanical::o_crystalLeaveGreen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ debugC(kDebugScript, "Opcode %d: Crystal leave", op);
- if (argc == 0) {
- // Used for Mech Card 6226 (3 Crystals)
- _vm->_varStore->setVar(22, 1);
- } else
- unknown(op, var, argc, argv);
+ _crystalLit = 0;
+ _vm->redrawArea(21);
}
-void MystScriptParser_Mechanical::opcode_132(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
+void MystScriptParser_Mechanical::o_crystalLeaveRed(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ debugC(kDebugScript, "Opcode %d: Crystal leave", op);
- if (argc == 0) {
- // Used for Mech Card 6226 (3 Crystals)
- _vm->_varStore->setVar(22, 0);
- } else
- unknown(op, var, argc, argv);
+ _crystalLit = 0;
+ _vm->redrawArea(22);
}
static struct {
diff --git a/engines/mohawk/myst_stacks/mechanical.h b/engines/mohawk/myst_stacks/mechanical.h
index f6039af..63c8884 100644
--- a/engines/mohawk/myst_stacks/mechanical.h
+++ b/engines/mohawk/myst_stacks/mechanical.h
@@ -76,12 +76,12 @@ private:
DECLARE_OPCODE(opcode_124);
DECLARE_OPCODE(o_mystStaircaseMovie);
DECLARE_OPCODE(opcode_126);
- DECLARE_OPCODE(opcode_127);
- DECLARE_OPCODE(opcode_128);
- DECLARE_OPCODE(opcode_129);
- DECLARE_OPCODE(opcode_130);
- DECLARE_OPCODE(opcode_131);
- DECLARE_OPCODE(opcode_132);
+ DECLARE_OPCODE(o_crystalEnterYellow);
+ DECLARE_OPCODE(o_crystalEnterGreen);
+ DECLARE_OPCODE(o_crystalEnterRed);
+ DECLARE_OPCODE(o_crystalLeaveYellow);
+ DECLARE_OPCODE(o_crystalLeaveGreen);
+ DECLARE_OPCODE(o_crystalLeaveRed);
DECLARE_OPCODE(opcode_200);
DECLARE_OPCODE(opcode_201);
@@ -99,6 +99,8 @@ private:
bool _mystStaircaseState; // 76
uint16 _fortressPosition; // 82
+
+ uint16 _crystalLit; // 130
};
} // End of namespace Mohawk
Commit: e5783d9c27f09456c3f4bb279ce44977210bebda
https://github.com/scummvm/scummvm/commit/e5783d9c27f09456c3f4bb279ce44977210bebda
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2011-02-13T04:22:50-08:00
Commit Message:
MOHAWK: Implement opcode 105, Mechanical fortress staircase movie
Changed paths:
engines/mohawk/myst_stacks/mechanical.cpp
engines/mohawk/myst_stacks/mechanical.h
diff --git a/engines/mohawk/myst_stacks/mechanical.cpp b/engines/mohawk/myst_stacks/mechanical.cpp
index e189645..add8769 100644
--- a/engines/mohawk/myst_stacks/mechanical.cpp
+++ b/engines/mohawk/myst_stacks/mechanical.cpp
@@ -51,7 +51,7 @@ MystScriptParser_Mechanical::~MystScriptParser_Mechanical() {
void MystScriptParser_Mechanical::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(104, opcode_104);
- OPCODE(105, opcode_105);
+ OPCODE(105, o_fortressStaircaseMovie);
OPCODE(121, opcode_121);
OPCODE(122, opcode_122);
OPCODE(123, opcode_123);
@@ -231,20 +231,18 @@ void MystScriptParser_Mechanical::opcode_104(uint16 op, uint16 var, uint16 argc,
}
-void MystScriptParser_Mechanical::opcode_105(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
+void MystScriptParser_Mechanical::o_fortressStaircaseMovie(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ debugC(kDebugScript, "Opcode %d: Play Stairs Movement Movie", op);
- if (argc == 0) {
- debugC(kDebugScript, "Opcode %d: Play Stairs Movement Movie", op);
+ VideoHandle staircase = _vm->_video->playMovie(_vm->wrapMovieFilename("hhstairs", kMechanicalStack), 174, 222);
- if (_vm->_varStore->getVar(10)) {
- // TODO: Play Movie from 0 to 1/2 way...
- _vm->_video->playMovieBlocking(_vm->wrapMovieFilename("hhstairs", kMechanicalStack), 174, 222);
- } else {
- // TODO: Play Movie from 1/2 way to end...
- _vm->_video->playMovieBlocking(_vm->wrapMovieFilename("hhstairs", kMechanicalStack), 174, 222);
- }
+ if (_state.staircaseState) {
+ _vm->_video->setVideoBounds(staircase, Audio::Timestamp(0, 840, 600), Audio::Timestamp(0, 1680, 600));
+ } else {
+ _vm->_video->setVideoBounds(staircase, Audio::Timestamp(0, 0, 600), Audio::Timestamp(0, 840, 600));
}
+
+ _vm->_video->waitUntilMovieEnds(staircase);
}
diff --git a/engines/mohawk/myst_stacks/mechanical.h b/engines/mohawk/myst_stacks/mechanical.h
index 63c8884..3c7701c 100644
--- a/engines/mohawk/myst_stacks/mechanical.h
+++ b/engines/mohawk/myst_stacks/mechanical.h
@@ -69,7 +69,7 @@ private:
void opcode_209_disable();
DECLARE_OPCODE(opcode_104);
- DECLARE_OPCODE(opcode_105);
+ DECLARE_OPCODE(o_fortressStaircaseMovie);
DECLARE_OPCODE(opcode_121);
DECLARE_OPCODE(opcode_122);
DECLARE_OPCODE(opcode_123);
Commit: 3cc86aedacb0c673c313df7922d19eeb0912494d
https://github.com/scummvm/scummvm/commit/3cc86aedacb0c673c313df7922d19eeb0912494d
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2011-02-13T04:27:01-08:00
Commit Message:
MOHAWK: Remove Myst's var store from the build since it is not used
anymore.
Keep the files are to be kept around for reference until Mechanical is
finished.
Changed paths:
engines/mohawk/module.mk
engines/mohawk/myst.cpp
engines/mohawk/myst.h
engines/mohawk/myst_scripts.cpp
diff --git a/engines/mohawk/module.mk b/engines/mohawk/module.mk
index 858a5d3..8c4453e 100644
--- a/engines/mohawk/module.mk
+++ b/engines/mohawk/module.mk
@@ -18,7 +18,6 @@ MODULE_OBJS = \
mohawk.o \
myst.o \
myst_areas.o \
- myst_vars.o \
myst_scripts.o \
myst_state.o \
resource.o \
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index 91fa779..d8c9786 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -83,7 +83,6 @@ MohawkEngine_Myst::MohawkEngine_Myst(OSystem *syst, const MohawkGameDescription
_gfx = NULL;
_console = NULL;
_scriptParser = NULL;
- _varStore = NULL;
_gameState = NULL;
_loadDialog = NULL;
_optionsDialog = NULL;
@@ -112,7 +111,6 @@ MohawkEngine_Myst::~MohawkEngine_Myst() {
delete _gfx;
delete _console;
delete _scriptParser;
- delete _varStore;
delete _gameState;
delete _loadDialog;
delete _optionsDialog;
@@ -253,7 +251,6 @@ Common::Error MohawkEngine_Myst::run() {
_gfx = new MystGraphics(this);
_console = new MystConsole(this);
- _varStore = new MystVar(this);
_gameState = new MystGameState(this, _saveFileMan);
_loadDialog = new GUI::SaveLoadChooser(_("Load game:"), _("Load"));
_loadDialog->setSaveMode(false);
diff --git a/engines/mohawk/myst.h b/engines/mohawk/myst.h
index 5fd4054..9195093 100644
--- a/engines/mohawk/myst.h
+++ b/engines/mohawk/myst.h
@@ -29,7 +29,6 @@
#include "mohawk/console.h"
#include "mohawk/mohawk.h"
#include "mohawk/resource_cache.h"
-#include "mohawk/myst_vars.h"
#include "mohawk/myst_scripts.h"
#include "common/random.h"
@@ -169,8 +168,6 @@ public:
MystResource *updateCurrentResource();
bool skippableWait(uint32 duration);
- MystVar *_varStore;
-
bool _tweaksEnabled;
bool _needsUpdate;
diff --git a/engines/mohawk/myst_scripts.cpp b/engines/mohawk/myst_scripts.cpp
index 2e6e921..25eeac0 100644
--- a/engines/mohawk/myst_scripts.cpp
+++ b/engines/mohawk/myst_scripts.cpp
@@ -233,13 +233,12 @@ uint16 MystScriptParser::getVar(uint16 var) {
return _globals.ending;
default:
warning("Unimplemented var getter 0x%02x (%d)", var, var);
- return _vm->_varStore->getVar(var);
+ return 0;
}
}
void MystScriptParser::toggleVar(uint16 var) {
warning("Unimplemented var toggle 0x%02x (%d)", var, var);
- _vm->_varStore->setVar(var, (_vm->_varStore->getVar(var) + 1) % 2);
}
bool MystScriptParser::setVarValue(uint16 var, uint16 value) {
@@ -248,7 +247,6 @@ bool MystScriptParser::setVarValue(uint16 var, uint16 value) {
_tempVar = value;
} else {
warning("Unimplemented var setter 0x%02x (%d)", var, var);
- _vm->_varStore->setVar(var, value);
}
return false;
More information about the Scummvm-git-logs
mailing list