MOHAWK: Shorten Myst stack classes names

This commit is contained in:
Bastien Bouclet
2011-02-15 21:43:38 +01:00
parent fc605427a8
commit 369db4fdfd
25 changed files with 475 additions and 487 deletions
+12 -12
View File
@@ -417,45 +417,45 @@ void MohawkEngine_Myst::changeToStack(uint16 stack, uint16 card, uint16 linkSrcS
switch (_curStack) {
case kChannelwoodStack:
_gameState->_globals.currentAge = 4;
_scriptParser = new MystStacks::MystScriptParser_Channelwood(this);
_scriptParser = new MystStacks::Channelwood(this);
break;
case kCreditsStack:
_scriptParser = new MystStacks::MystScriptParser_Credits(this);
_scriptParser = new MystStacks::Credits(this);
break;
case kDemoStack:
_scriptParser = new MystStacks::MystScriptParser_Demo(this);
_scriptParser = new MystStacks::Demo(this);
break;
case kDniStack:
_gameState->_globals.currentAge = 6;
_scriptParser = new MystStacks::MystScriptParser_Dni(this);
_scriptParser = new MystStacks::Dni(this);
break;
case kIntroStack:
_scriptParser = new MystStacks::MystScriptParser_Intro(this);
_scriptParser = new MystStacks::Intro(this);
break;
case kMakingOfStack:
_scriptParser = new MystStacks::MystScriptParser_MakingOf(this);
_scriptParser = new MystStacks::MakingOf(this);
break;
case kMechanicalStack:
_gameState->_globals.currentAge = 3;
_scriptParser = new MystStacks::MystScriptParser_Mechanical(this);
_scriptParser = new MystStacks::Mechanical(this);
break;
case kMystStack:
_gameState->_globals.currentAge = 2;
_scriptParser = new MystStacks::MystScriptParser_Myst(this);
_scriptParser = new MystStacks::Myst(this);
break;
case kDemoPreviewStack:
_scriptParser = new MystStacks::MystScriptParser_Preview(this);
_scriptParser = new MystStacks::Preview(this);
break;
case kSeleniticStack:
_gameState->_globals.currentAge = 0;
_scriptParser = new MystStacks::MystScriptParser_Selenitic(this);
_scriptParser = new MystStacks::Selenitic(this);
break;
case kDemoSlidesStack:
_scriptParser = new MystStacks::MystScriptParser_Slides(this);
_scriptParser = new MystStacks::Slides(this);
break;
case kStoneshipStack:
_gameState->_globals.currentAge = 1;
_scriptParser = new MystStacks::MystScriptParser_Stoneship(this);
_scriptParser = new MystStacks::Stoneship(this);
break;
default:
error("Unknown Myst stack");
+42 -42
View File
@@ -37,17 +37,17 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_Channelwood::MystScriptParser_Channelwood(MohawkEngine_Myst *vm) :
Channelwood::Channelwood(MohawkEngine_Myst *vm) :
MystScriptParser(vm), _state(vm->_gameState->_channelwood) {
setupOpcodes();
}
MystScriptParser_Channelwood::~MystScriptParser_Channelwood() {
Channelwood::~Channelwood() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Channelwood::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Channelwood::x, #x))
void MystScriptParser_Channelwood::setupOpcodes() {
void Channelwood::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(100, o_bridgeToggle);
OPCODE(101, o_pipeExtend);
@@ -90,15 +90,15 @@ void MystScriptParser_Channelwood::setupOpcodes() {
#undef OPCODE
void MystScriptParser_Channelwood::disablePersistentScripts() {
void Channelwood::disablePersistentScripts() {
}
void MystScriptParser_Channelwood::runPersistentScripts() {
void Channelwood::runPersistentScripts() {
}
uint16 MystScriptParser_Channelwood::getVar(uint16 var) {
uint16 Channelwood::getVar(uint16 var) {
switch(var) {
case 1: // Water Pump Bridge Raised
return _state.waterPumpBridgeState;
@@ -187,7 +187,7 @@ uint16 MystScriptParser_Channelwood::getVar(uint16 var) {
}
}
void MystScriptParser_Channelwood::toggleVar(uint16 var) {
void Channelwood::toggleVar(uint16 var) {
switch(var) {
case 1: // Water Pump Bridge Raised
_state.waterPumpBridgeState ^= 1;
@@ -220,7 +220,7 @@ void MystScriptParser_Channelwood::toggleVar(uint16 var) {
}
}
bool MystScriptParser_Channelwood::setVarValue(uint16 var, uint16 value) {
bool Channelwood::setVarValue(uint16 var, uint16 value) {
bool refresh = false;
switch (var) {
@@ -271,7 +271,7 @@ bool MystScriptParser_Channelwood::setVarValue(uint16 var, uint16 value) {
return refresh;
}
bool MystScriptParser_Channelwood::pipeChangeValve(bool open, uint16 mask) {
bool Channelwood::pipeChangeValve(bool open, uint16 mask) {
if (open) {
if (!(_state.waterValveStates & mask)) {
_state.waterValveStates |= mask;
@@ -287,7 +287,7 @@ bool MystScriptParser_Channelwood::pipeChangeValve(bool open, uint16 mask) {
return false;
}
void MystScriptParser_Channelwood::o_bridgeToggle(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_bridgeToggle(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Bridge rise / skink video", op);
VideoHandle bridge = _vm->_video->playMovie(_vm->wrapMovieFilename("bridge", kChannelwoodStack), 292, 203);
@@ -301,7 +301,7 @@ void MystScriptParser_Channelwood::o_bridgeToggle(uint16 op, uint16 var, uint16
_vm->_video->waitUntilMovieEnds(bridge);
}
void MystScriptParser_Channelwood::o_pipeExtend(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_pipeExtend(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Play Pipe Movie and Sound", op);
uint16 soundId = argv[0];
@@ -320,7 +320,7 @@ void MystScriptParser_Channelwood::o_pipeExtend(uint16 op, uint16 var, uint16 ar
_vm->_sound->resumeBackgroundMyst();
}
void MystScriptParser_Channelwood::o_drawImageChangeCardAndVolume(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_drawImageChangeCardAndVolume(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Draw Full Screen Image, Change Card, and change volume", op);
uint16 imageId = argv[0];
@@ -341,7 +341,7 @@ void MystScriptParser_Channelwood::o_drawImageChangeCardAndVolume(uint16 op, uin
}
void MystScriptParser_Channelwood::o_waterTankValveOpen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_waterTankValveOpen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Do Water Tank Valve Open Animation", op);
Common::Rect rect = _invokingResource->getRect();
@@ -355,7 +355,7 @@ void MystScriptParser_Channelwood::o_waterTankValveOpen(uint16 op, uint16 var, u
pipeChangeValve(true, 0x80);
}
void MystScriptParser_Channelwood::o_leverStartMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_leverStartMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Generic lever start move", op);
MystResourceType12 *lever = static_cast<MystResourceType12 *>(_invokingResource);
@@ -364,7 +364,7 @@ void MystScriptParser_Channelwood::o_leverStartMove(uint16 op, uint16 var, uint1
_leverPulled = false;
}
void MystScriptParser_Channelwood::o_leverMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_leverMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Generic lever move", op);
MystResourceType12 *lever = static_cast<MystResourceType12 *>(_invokingResource);
@@ -379,7 +379,7 @@ void MystScriptParser_Channelwood::o_leverMove(uint16 op, uint16 var, uint16 arg
}
}
void MystScriptParser_Channelwood::o_leverMoveFail(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_leverMoveFail(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Generic lever move", op);
MystResourceType12 *lever = static_cast<MystResourceType12 *>(_invokingResource);
@@ -396,7 +396,7 @@ void MystScriptParser_Channelwood::o_leverMoveFail(uint16 op, uint16 var, uint16
}
}
void MystScriptParser_Channelwood::o_leverEndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_leverEndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Generic lever end move", op);
// Get current lever frame
@@ -412,12 +412,12 @@ void MystScriptParser_Channelwood::o_leverEndMove(uint16 op, uint16 var, uint16
_vm->checkCursorHints();
}
void MystScriptParser_Channelwood::o_leverEndMoveResumeBackground(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_leverEndMoveResumeBackground(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_vm->_sound->resumeBackgroundMyst();
o_leverEndMove(op, var, argc, argv);
}
void MystScriptParser_Channelwood::o_leverEndMoveWithSound(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_leverEndMoveWithSound(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
o_leverEndMove(op, var, argc, argv);
MystResourceType12 *lever = static_cast<MystResourceType12 *>(_invokingResource);
@@ -426,20 +426,20 @@ void MystScriptParser_Channelwood::o_leverEndMoveWithSound(uint16 op, uint16 var
_vm->_sound->replaceSoundMyst(soundId);
}
void MystScriptParser_Channelwood::o_leverElev3StartMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_leverElev3StartMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_vm->_gfx->copyImageToScreen(3970, Common::Rect(544, 333));
_vm->_system->updateScreen();
o_leverStartMove(op, var, argc, argv);
}
void MystScriptParser_Channelwood::o_leverElev3EndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_leverElev3EndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
o_leverEndMove(op, var, argc, argv);
_vm->_gfx->copyImageToScreen(3265, Common::Rect(544, 333));
_vm->_system->updateScreen();
_vm->_sound->replaceSoundMyst(5265);
}
void MystScriptParser_Channelwood::o_pumpLeverMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_pumpLeverMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Pump lever move", op);
MystResourceType12 *lever = static_cast<MystResourceType12 *>(_invokingResource);
@@ -453,7 +453,7 @@ void MystScriptParser_Channelwood::o_pumpLeverMove(uint16 op, uint16 var, uint16
}
}
void MystScriptParser_Channelwood::o_pumpLeverEndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_pumpLeverEndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
o_leverEndMove(op, var, argc, argv);
MystResourceType12 *lever = static_cast<MystResourceType12 *>(_invokingResource);
@@ -462,7 +462,7 @@ void MystScriptParser_Channelwood::o_pumpLeverEndMove(uint16 op, uint16 var, uin
_vm->_sound->replaceBackgroundMyst(soundId, 36864);
}
void MystScriptParser_Channelwood::o_stairsDoorToggle(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_stairsDoorToggle(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Play stairs door video", op);
MystResourceType6 *movie = static_cast<MystResourceType6 *>(_invokingResource);
@@ -475,7 +475,7 @@ void MystScriptParser_Channelwood::o_stairsDoorToggle(uint16 op, uint16 var, uin
}
}
void MystScriptParser_Channelwood::o_valveHandleMove1(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_valveHandleMove1(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Valve handle move", op);
MystResourceType12 *handle = static_cast<MystResourceType12 *>(_invokingResource);
@@ -491,7 +491,7 @@ void MystScriptParser_Channelwood::o_valveHandleMove1(uint16 op, uint16 var, uin
}
}
void MystScriptParser_Channelwood::o_valveHandleMoveStart1(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_valveHandleMoveStart1(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Valve handle move start", op);
MystResourceType12 *handle = static_cast<MystResourceType12 *>(_invokingResource);
@@ -503,7 +503,7 @@ void MystScriptParser_Channelwood::o_valveHandleMoveStart1(uint16 op, uint16 var
o_valveHandleMove1(op, var, argc, argv);
}
void MystScriptParser_Channelwood::o_valveHandleMoveStop(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_valveHandleMoveStop(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Valve handle move stop", op);
MystResourceType12 *handle = static_cast<MystResourceType12 *>(_invokingResource);
@@ -526,7 +526,7 @@ void MystScriptParser_Channelwood::o_valveHandleMoveStop(uint16 op, uint16 var,
_vm->checkCursorHints();
}
void MystScriptParser_Channelwood::o_valveHandleMove2(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_valveHandleMove2(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Valve handle move", op);
MystResourceType12 *handle = static_cast<MystResourceType12 *>(_invokingResource);
@@ -542,7 +542,7 @@ void MystScriptParser_Channelwood::o_valveHandleMove2(uint16 op, uint16 var, uin
}
}
void MystScriptParser_Channelwood::o_valveHandleMoveStart2(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_valveHandleMoveStart2(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Valve handle move start", op);
MystResourceType12 *handle = static_cast<MystResourceType12 *>(_invokingResource);
@@ -554,7 +554,7 @@ void MystScriptParser_Channelwood::o_valveHandleMoveStart2(uint16 op, uint16 var
o_valveHandleMove2(op, var, argc, argv);
}
void MystScriptParser_Channelwood::o_valveHandleMove3(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_valveHandleMove3(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Valve handle move", op);
MystResourceType12 *handle = static_cast<MystResourceType12 *>(_invokingResource);
@@ -570,7 +570,7 @@ void MystScriptParser_Channelwood::o_valveHandleMove3(uint16 op, uint16 var, uin
}
}
void MystScriptParser_Channelwood::o_valveHandleMoveStart3(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_valveHandleMoveStart3(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Valve handle move start", op);
MystResourceType12 *handle = static_cast<MystResourceType12 *>(_invokingResource);
@@ -582,7 +582,7 @@ void MystScriptParser_Channelwood::o_valveHandleMoveStart3(uint16 op, uint16 var
o_valveHandleMove3(op, var, argc, argv);
}
void MystScriptParser_Channelwood::o_hologramMonitor(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_hologramMonitor(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Hologram monitor", op);
// Used on Card 3012 (Temple Hologram Monitor)
@@ -614,7 +614,7 @@ void MystScriptParser_Channelwood::o_hologramMonitor(uint16 op, uint16 var, uint
}
}
void MystScriptParser_Channelwood::o_drawerOpen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_drawerOpen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Open Sirius drawer", op);
_siriusDrawerState = 1;
@@ -622,7 +622,7 @@ void MystScriptParser_Channelwood::o_drawerOpen(uint16 op, uint16 var, uint16 ar
_vm->redrawArea(102, false);
}
void MystScriptParser_Channelwood::o_hologramTemple(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_hologramTemple(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Temple hologram", op);
_vm->_sound->pauseBackgroundMyst();
@@ -649,14 +649,14 @@ void MystScriptParser_Channelwood::o_hologramTemple(uint16 op, uint16 var, uint1
_vm->_sound->resumeBackgroundMyst();
}
void MystScriptParser_Channelwood::o_executeMouseUp(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_executeMouseUp(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Execute mouse up", op);
MystResourceType5 *resource = static_cast<MystResourceType5 *>(_vm->_resources[argv[0]]);
resource->handleMouseUp();
}
void MystScriptParser_Channelwood::o_waterTankValveClose(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_waterTankValveClose(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Do Water Tank Valve Close Animation", op);
Common::Rect rect = _invokingResource->getRect();
@@ -670,7 +670,7 @@ void MystScriptParser_Channelwood::o_waterTankValveClose(uint16 op, uint16 var,
pipeChangeValve(false, 0x80);
}
void MystScriptParser_Channelwood::o_elevatorMovies(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_elevatorMovies(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used by Card 3262 (Elevator)
debugC(kDebugScript, "Opcode %d: Elevator movie", op);
@@ -715,7 +715,7 @@ void MystScriptParser_Channelwood::o_elevatorMovies(uint16 op, uint16 var, uint1
_vm->_sound->resumeBackgroundMyst();
}
void MystScriptParser_Channelwood::o_soundReplace(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_soundReplace(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Play sound if not already playing", op);
uint16 soundId = argv[0];
@@ -724,17 +724,17 @@ void MystScriptParser_Channelwood::o_soundReplace(uint16 op, uint16 var, uint16
_vm->_sound->replaceSoundMyst(soundId);
}
void MystScriptParser_Channelwood::o_lever_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_lever_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Generic lever init", op);
_leverAction = static_cast<MystResourceType5 *>(_invokingResource);
}
void MystScriptParser_Channelwood::o_pipeValve_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_pipeValve_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Water valve init", op);
_valveVar = var;
}
void MystScriptParser_Channelwood::o_drawer_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Channelwood::o_drawer_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sirius's drawer init", op);
_siriusDrawerState = 0;
}
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Channelwood : public MystScriptParser {
class Channelwood : public MystScriptParser {
public:
MystScriptParser_Channelwood(MohawkEngine_Myst *vm);
~MystScriptParser_Channelwood();
Channelwood(MohawkEngine_Myst *vm);
~Channelwood();
void disablePersistentScripts();
void runPersistentScripts();
+8 -8
View File
@@ -37,16 +37,16 @@ namespace MystStacks {
// NOTE: Credits Start Card is 10000
MystScriptParser_Credits::MystScriptParser_Credits(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
Credits::Credits(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
setupOpcodes();
}
MystScriptParser_Credits::~MystScriptParser_Credits() {
Credits::~Credits() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Credits::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Credits::x, #x))
void MystScriptParser_Credits::setupOpcodes() {
void Credits::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(100, o_quit);
@@ -56,11 +56,11 @@ void MystScriptParser_Credits::setupOpcodes() {
#undef OPCODE
void MystScriptParser_Credits::disablePersistentScripts() {
void Credits::disablePersistentScripts() {
_creditsRunning = false;
}
void MystScriptParser_Credits::runPersistentScripts() {
void Credits::runPersistentScripts() {
if (!_creditsRunning)
return;
@@ -80,7 +80,7 @@ void MystScriptParser_Credits::runPersistentScripts() {
}
}
uint16 MystScriptParser_Credits::getVar(uint16 var) {
uint16 Credits::getVar(uint16 var) {
switch(var) {
case 0: // Credits Image Control
return _curImage;
@@ -91,7 +91,7 @@ uint16 MystScriptParser_Credits::getVar(uint16 var) {
}
}
void MystScriptParser_Credits::o_runCredits(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Credits::o_runCredits(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Activate the credits
_creditsRunning = true;
_curImage = 0;
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Credits : public MystScriptParser {
class Credits : public MystScriptParser {
public:
MystScriptParser_Credits(MohawkEngine_Myst *vm);
~MystScriptParser_Credits();
Credits(MohawkEngine_Myst *vm);
~Credits();
void disablePersistentScripts();
void runPersistentScripts();
+14 -14
View File
@@ -31,24 +31,24 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_Demo::MystScriptParser_Demo(MohawkEngine_Myst *vm) : MystScriptParser_Intro(vm) {
Demo::Demo(MohawkEngine_Myst *vm) : Intro(vm) {
setupOpcodes();
}
MystScriptParser_Demo::~MystScriptParser_Demo() {
Demo::~Demo() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Demo::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Demo::x, #x))
#define OVERRIDE_OPCODE(opcode, x) \
for (uint32 i = 0; i < _opcodes.size(); i++) \
if (_opcodes[i]->op == opcode) { \
_opcodes[i]->proc = (OpcodeProcMyst) &MystScriptParser_Demo::x; \
_opcodes[i]->proc = (OpcodeProcMyst) &Demo::x; \
_opcodes[i]->desc = #x; \
break; \
}
void MystScriptParser_Demo::setupOpcodes() {
void Demo::setupOpcodes() {
// "Stack-Specific" Opcodes
OVERRIDE_OPCODE(100, opcode_100);
OPCODE(101, opcode_101);
@@ -64,14 +64,14 @@ void MystScriptParser_Demo::setupOpcodes() {
#undef OPCODE
#undef OVERRIDE_OPCODE
void MystScriptParser_Demo::disablePersistentScripts() {
MystScriptParser_Intro::disablePersistentScripts();
void Demo::disablePersistentScripts() {
Intro::disablePersistentScripts();
_enabled201 = false;
}
void MystScriptParser_Demo::runPersistentScripts() {
MystScriptParser_Intro::runPersistentScripts();
void Demo::runPersistentScripts() {
Intro::runPersistentScripts();
if (_enabled201) {
// Used on Card 2001, 2002 and 2003
@@ -80,11 +80,11 @@ void MystScriptParser_Demo::runPersistentScripts() {
}
}
void MystScriptParser_Demo::opcode_100(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Demo::opcode_100(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// TODO: Fill in Function...
}
void MystScriptParser_Demo::opcode_101(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Demo::opcode_101(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used on Card 2000, 2002 and 2003
@@ -95,7 +95,7 @@ void MystScriptParser_Demo::opcode_101(uint16 op, uint16 var, uint16 argc, uint1
unknown(op, var, argc, argv);
}
void MystScriptParser_Demo::opcode_102(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Demo::opcode_102(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used on Card 2002 and 2003
@@ -106,7 +106,7 @@ void MystScriptParser_Demo::opcode_102(uint16 op, uint16 var, uint16 argc, uint1
unknown(op, var, argc, argv);
}
void MystScriptParser_Demo::opcode_201(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Demo::opcode_201(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used on Card 2001, 2002 and 2003
@@ -117,7 +117,7 @@ void MystScriptParser_Demo::opcode_201(uint16 op, uint16 var, uint16 argc, uint1
}
void MystScriptParser_Demo::opcode_300(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Demo::opcode_300(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used on Card 2000
varUnusedCheck(op, var);
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Demo : public MystScriptParser_Intro {
class Demo : public Intro {
public:
MystScriptParser_Demo(MohawkEngine_Myst *vm);
~MystScriptParser_Demo();
Demo(MohawkEngine_Myst *vm);
~Demo();
void disablePersistentScripts();
void runPersistentScripts();
+12 -12
View File
@@ -34,18 +34,18 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_Dni::MystScriptParser_Dni(MohawkEngine_Myst *vm) :
Dni::Dni(MohawkEngine_Myst *vm) :
MystScriptParser(vm) {
setupOpcodes();
_notSeenAtrus = true;
}
MystScriptParser_Dni::~MystScriptParser_Dni() {
Dni::~Dni() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Dni::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Dni::x, #x))
void MystScriptParser_Dni::setupOpcodes() {
void Dni::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(100, NOP);
OPCODE(101, o_handPage);
@@ -59,13 +59,13 @@ void MystScriptParser_Dni::setupOpcodes() {
#undef OPCODE
void MystScriptParser_Dni::disablePersistentScripts() {
void Dni::disablePersistentScripts() {
_atrusRunning = false;
_waitForLoop = false;
_atrusLeft = false;
}
void MystScriptParser_Dni::runPersistentScripts() {
void Dni::runPersistentScripts() {
if (_atrusRunning)
atrus_run();
@@ -76,7 +76,7 @@ void MystScriptParser_Dni::runPersistentScripts() {
atrusLeft_run();
}
uint16 MystScriptParser_Dni::getVar(uint16 var) {
uint16 Dni::getVar(uint16 var) {
switch(var) {
case 0: // Atrus Gone (from across room)
return _globals.ending == 2;
@@ -96,7 +96,7 @@ uint16 MystScriptParser_Dni::getVar(uint16 var) {
}
}
void MystScriptParser_Dni::o_handPage(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Dni::o_handPage(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Hand page to Atrus", op);
// Used in Card 5014 (Atrus)
@@ -119,7 +119,7 @@ void MystScriptParser_Dni::o_handPage(uint16 op, uint16 var, uint16 argc, uint16
}
}
void MystScriptParser_Dni::atrusLeft_run() {
void Dni::atrusLeft_run() {
if (_vm->_system->getMillis() > _atrusLeftTime + 63333) {
_video = _vm->wrapMovieFilename("atrus2", kDniStack);
VideoHandle atrus = _vm->_video->playMovie(_video, 215, 77);
@@ -138,7 +138,7 @@ void MystScriptParser_Dni::atrusLeft_run() {
}
}
void MystScriptParser_Dni::loopVideo_run() {
void Dni::loopVideo_run() {
if (!_vm->_video->isVideoPlaying()) {
VideoHandle atrus = _vm->_video->playMovie(_video, 215, 77);
_vm->_video->setVideoBounds(atrus, Audio::Timestamp(0, _loopStart, 600), Audio::Timestamp(0, _loopEnd, 600));
@@ -148,7 +148,7 @@ void MystScriptParser_Dni::loopVideo_run() {
}
}
void MystScriptParser_Dni::atrus_run() {
void Dni::atrus_run() {
if (_globals.ending == 2) {
// Wait for atrus to come back
_atrusLeft = true;
@@ -189,7 +189,7 @@ void MystScriptParser_Dni::atrus_run() {
}
}
void MystScriptParser_Dni::o_atrus_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Dni::o_atrus_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Atrus init", op);
_atrusRunning = true;
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Dni : public MystScriptParser {
class Dni : public MystScriptParser {
public:
MystScriptParser_Dni(MohawkEngine_Myst *vm);
~MystScriptParser_Dni();
Dni(MohawkEngine_Myst *vm);
~Dni();
void disablePersistentScripts();
void runPersistentScripts();
+12 -12
View File
@@ -36,16 +36,16 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_Intro::MystScriptParser_Intro(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
Intro::Intro(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
setupOpcodes();
}
MystScriptParser_Intro::~MystScriptParser_Intro() {
Intro::~Intro() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Intro::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Intro::x, #x))
void MystScriptParser_Intro::setupOpcodes() {
void Intro::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(100, o_useLinkBook);
@@ -59,12 +59,12 @@ void MystScriptParser_Intro::setupOpcodes() {
#undef OPCODE
void MystScriptParser_Intro::disablePersistentScripts() {
void Intro::disablePersistentScripts() {
_introMoviesRunning = false;
_linkBookRunning = false;
}
void MystScriptParser_Intro::runPersistentScripts() {
void Intro::runPersistentScripts() {
if (_introMoviesRunning)
introMovies_run();
@@ -72,7 +72,7 @@ void MystScriptParser_Intro::runPersistentScripts() {
mystLinkBook_run();
}
uint16 MystScriptParser_Intro::getVar(uint16 var) {
uint16 Intro::getVar(uint16 var) {
switch(var) {
case 0:
if (_globals.currentAge == 9 || _globals.currentAge == 10)
@@ -84,7 +84,7 @@ uint16 MystScriptParser_Intro::getVar(uint16 var) {
}
}
void MystScriptParser_Intro::o_useLinkBook(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Intro::o_useLinkBook(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Hard coded SoundId valid only for Intro Stack.
// Other stacks use Opcode 40, which takes SoundId values as arguments.
const uint16 soundIdLinkSrc = 5;
@@ -97,7 +97,7 @@ void MystScriptParser_Intro::o_useLinkBook(uint16 op, uint16 var, uint16 argc, u
_vm->changeToStack(_stackMap[_globals.currentAge], _startCard[_globals.currentAge], soundIdLinkSrc, soundIdLinkDst[_globals.currentAge]);
}
void MystScriptParser_Intro::introMovies_run() {
void Intro::introMovies_run() {
// Play Intro Movies
// This is all quite messy...
@@ -157,12 +157,12 @@ void MystScriptParser_Intro::introMovies_run() {
}
}
void MystScriptParser_Intro::o_playIntroMovies(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Intro::o_playIntroMovies(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_introMoviesRunning = true;
_introStep = 0;
}
void MystScriptParser_Intro::mystLinkBook_run() {
void Intro::mystLinkBook_run() {
if (_startTime == 1) {
_startTime = 0;
@@ -176,7 +176,7 @@ void MystScriptParser_Intro::mystLinkBook_run() {
}
}
void MystScriptParser_Intro::o_mystLinkBook_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Intro::o_mystLinkBook_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Myst link book init", op);
_linkBookMovie = static_cast<MystResourceType6 *>(_invokingResource);
+3 -4
View File
@@ -32,7 +32,6 @@
namespace Mohawk {
class MohawkEngine_Myst;
class MystResourceType6;
struct MystScriptEntry;
@@ -40,10 +39,10 @@ namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Intro : public MystScriptParser {
class Intro : public MystScriptParser {
public:
MystScriptParser_Intro(MohawkEngine_Myst *vm);
~MystScriptParser_Intro();
Intro(MohawkEngine_Myst *vm);
~Intro();
void disablePersistentScripts();
void runPersistentScripts();
+6 -6
View File
@@ -35,26 +35,26 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_MakingOf::MystScriptParser_MakingOf(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
MakingOf::MakingOf(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
setupOpcodes();
}
MystScriptParser_MakingOf::~MystScriptParser_MakingOf() {
MakingOf::~MakingOf() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_MakingOf::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MakingOf::x, #x))
void MystScriptParser_MakingOf::setupOpcodes() {
void MakingOf::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(100, o_quit);
}
#undef OPCODE
void MystScriptParser_MakingOf::disablePersistentScripts() {
void MakingOf::disablePersistentScripts() {
}
void MystScriptParser_MakingOf::runPersistentScripts() {
void MakingOf::runPersistentScripts() {
}
} // End of namespace MystStacks
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_MakingOf : public MystScriptParser {
class MakingOf : public MystScriptParser {
public:
MystScriptParser_MakingOf(MohawkEngine_Myst *vm);
~MystScriptParser_MakingOf();
MakingOf(MohawkEngine_Myst *vm);
~MakingOf();
void disablePersistentScripts();
void runPersistentScripts();
+43 -43
View File
@@ -36,7 +36,7 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_Mechanical::MystScriptParser_Mechanical(MohawkEngine_Myst *vm) :
Mechanical::Mechanical(MohawkEngine_Myst *vm) :
MystScriptParser(vm), _state(vm->_gameState->_mechanical) {
setupOpcodes();
@@ -44,12 +44,12 @@ MystScriptParser_Mechanical::MystScriptParser_Mechanical(MohawkEngine_Myst *vm)
_fortressPosition = 0;
}
MystScriptParser_Mechanical::~MystScriptParser_Mechanical() {
Mechanical::~Mechanical() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Mechanical::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Mechanical::x, #x))
void MystScriptParser_Mechanical::setupOpcodes() {
void Mechanical::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(100, o_throneEnablePassage);
OPCODE(104, o_snakeBoxTrigger);
@@ -83,7 +83,7 @@ void MystScriptParser_Mechanical::setupOpcodes() {
#undef OPCODE
void MystScriptParser_Mechanical::disablePersistentScripts() {
void Mechanical::disablePersistentScripts() {
opcode_202_disable();
opcode_204_disable();
opcode_205_disable();
@@ -91,7 +91,7 @@ void MystScriptParser_Mechanical::disablePersistentScripts() {
opcode_209_disable();
}
void MystScriptParser_Mechanical::runPersistentScripts() {
void Mechanical::runPersistentScripts() {
opcode_202_run();
opcode_204_run();
opcode_205_run();
@@ -99,7 +99,7 @@ void MystScriptParser_Mechanical::runPersistentScripts() {
opcode_209_run();
}
uint16 MystScriptParser_Mechanical::getVar(uint16 var) {
uint16 Mechanical::getVar(uint16 var) {
switch(var) {
case 0: // Sirrus's Secret Panel State
return _state.sirrusPanelState;
@@ -166,7 +166,7 @@ uint16 MystScriptParser_Mechanical::getVar(uint16 var) {
}
}
void MystScriptParser_Mechanical::toggleVar(uint16 var) {
void Mechanical::toggleVar(uint16 var) {
switch(var) {
case 0: // Sirrus's Secret Panel State
_state.sirrusPanelState ^= 1;
@@ -206,7 +206,7 @@ void MystScriptParser_Mechanical::toggleVar(uint16 var) {
}
}
bool MystScriptParser_Mechanical::setVarValue(uint16 var, uint16 value) {
bool Mechanical::setVarValue(uint16 var, uint16 value) {
bool refresh = false;
switch (var) {
@@ -218,20 +218,20 @@ bool MystScriptParser_Mechanical::setVarValue(uint16 var, uint16 value) {
return refresh;
}
void MystScriptParser_Mechanical::o_throneEnablePassage(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_throneEnablePassage(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Enable throne passage", op);
_vm->_resources[argv[0]]->setEnabled(getVar(var));
}
void MystScriptParser_Mechanical::o_snakeBoxTrigger(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_snakeBoxTrigger(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Trigger Playing Of Snake Movie", op);
// Used on Mechanical Card 6043 (Weapons Rack with Snake Box)
_snakeBox->playMovie();
}
void MystScriptParser_Mechanical::o_fortressStaircaseMovie(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_fortressStaircaseMovie(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Play Stairs Movement Movie", op);
VideoHandle staircase = _vm->_video->playMovie(_vm->wrapMovieFilename("hhstairs", kMechanicalStack), 174, 222);
@@ -246,7 +246,7 @@ void MystScriptParser_Mechanical::o_fortressStaircaseMovie(uint16 op, uint16 var
}
void MystScriptParser_Mechanical::opcode_121(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_121(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
if (argc == 2) {
@@ -261,7 +261,7 @@ void MystScriptParser_Mechanical::opcode_121(uint16 op, uint16 var, uint16 argc,
unknown(op, var, argc, argv);
}
void MystScriptParser_Mechanical::opcode_122(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_122(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
if (argc == 0) {
// Used on Card 6120 (Elevator)
// Called when Exit Midde Button Pressed
@@ -271,7 +271,7 @@ void MystScriptParser_Mechanical::opcode_122(uint16 op, uint16 var, uint16 argc,
unknown(op, var, argc, argv);
}
void MystScriptParser_Mechanical::opcode_123(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_123(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
if (argc == 2) {
@@ -288,7 +288,7 @@ void MystScriptParser_Mechanical::opcode_123(uint16 op, uint16 var, uint16 argc,
unknown(op, var, argc, argv);
}
void MystScriptParser_Mechanical::opcode_124(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_124(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
if (argc == 0) {
@@ -300,13 +300,13 @@ void MystScriptParser_Mechanical::opcode_124(uint16 op, uint16 var, uint16 argc,
unknown(op, var, argc, argv);
}
void MystScriptParser_Mechanical::o_mystStaircaseMovie(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_mystStaircaseMovie(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Myst book staircase video", op);
_vm->_video->playMovieBlocking(_vm->wrapMovieFilename("sstairs", kMechanicalStack), 199, 108);
}
void MystScriptParser_Mechanical::opcode_126(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_126(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
if (argc == 0) {
@@ -319,56 +319,56 @@ void MystScriptParser_Mechanical::opcode_126(uint16 op, uint16 var, uint16 argc,
unknown(op, var, argc, argv);
}
void MystScriptParser_Mechanical::o_crystalEnterYellow(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_crystalEnterYellow(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Crystal enter", op);
_crystalLit = 3;
_vm->redrawArea(20);
}
void MystScriptParser_Mechanical::o_crystalEnterGreen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_crystalEnterGreen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Crystal enter", op);
_crystalLit = 1;
_vm->redrawArea(21);
}
void MystScriptParser_Mechanical::o_crystalEnterRed(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_crystalEnterRed(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Crystal enter", op);
_crystalLit = 2;
_vm->redrawArea(22);
}
void MystScriptParser_Mechanical::o_crystalLeaveYellow(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_crystalLeaveYellow(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Crystal leave", op);
_crystalLit = 0;
_vm->redrawArea(20);
}
void MystScriptParser_Mechanical::o_crystalLeaveGreen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_crystalLeaveGreen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Crystal leave", op);
_crystalLit = 0;
_vm->redrawArea(21);
}
void MystScriptParser_Mechanical::o_crystalLeaveRed(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_crystalLeaveRed(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Crystal leave", op);
_crystalLit = 0;
_vm->redrawArea(22);
}
void MystScriptParser_Mechanical::o_throne_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_throne_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used on Card 6238 (Sirrus' Throne) and Card 6027 (Achenar's Throne)
debugC(kDebugScript, "Opcode %d: Brother throne init", op);
_invokingResource->setEnabled(getVar(var));
}
void MystScriptParser_Mechanical::o_fortressStaircase_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_fortressStaircase_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Staircase init", op);
_vm->_resources[argv[0]]->setEnabled(!_state.staircaseState);
@@ -380,16 +380,16 @@ static struct {
bool enabled;
} g_opcode202Parameters;
void MystScriptParser_Mechanical::opcode_202_run() {
void Mechanical::opcode_202_run() {
// Used for Card 6220 (Sirrus' Mechanical Bird)
// TODO: Fill in Function
}
void MystScriptParser_Mechanical::opcode_202_disable() {
void Mechanical::opcode_202_disable() {
g_opcode202Parameters.enabled = false;
}
void MystScriptParser_Mechanical::opcode_202(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_202(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used for Card 6220 (Sirrus' Mechanical Bird)
if (argc == 0)
g_opcode202Parameters.enabled = true;
@@ -397,7 +397,7 @@ void MystScriptParser_Mechanical::opcode_202(uint16 op, uint16 var, uint16 argc,
unknown(op, var, argc, argv);
}
void MystScriptParser_Mechanical::o_snakeBox_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::o_snakeBox_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Snake box init", op);
_snakeBox = static_cast<MystResourceType6 *>(_invokingResource);
@@ -408,7 +408,7 @@ static struct {
uint16 soundId;
} g_opcode204Parameters;
void MystScriptParser_Mechanical::opcode_204_run() {
void Mechanical::opcode_204_run() {
if (g_opcode204Parameters.enabled) {
// TODO: Fill in Logic.
// Var 12 holds Large Cog Position in range 0 to 5
@@ -420,11 +420,11 @@ void MystScriptParser_Mechanical::opcode_204_run() {
}
}
void MystScriptParser_Mechanical::opcode_204_disable() {
void Mechanical::opcode_204_disable() {
g_opcode204Parameters.enabled = false;
}
void MystScriptParser_Mechanical::opcode_204(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_204(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used for Card 6180 (Lower Elevator Puzzle)
@@ -441,17 +441,17 @@ static struct {
bool enabled;
} g_opcode205Parameters;
void MystScriptParser_Mechanical::opcode_205_run() {
void Mechanical::opcode_205_run() {
// Used for Card 6156 (Fortress Rotation Controls)
// TODO: Fill in function...
// g_opcode205Parameters.soundIdPosition[4]
}
void MystScriptParser_Mechanical::opcode_205_disable() {
void Mechanical::opcode_205_disable() {
g_opcode205Parameters.enabled = false;
}
void MystScriptParser_Mechanical::opcode_205(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_205(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used for Card 6156 (Fortress Rotation Controls)
@@ -474,7 +474,7 @@ static struct {
bool enabled;
} g_opcode206Parameters;
void MystScriptParser_Mechanical::opcode_206_run() {
void Mechanical::opcode_206_run() {
if (g_opcode206Parameters.enabled) {
// Used for Card 6044 (Fortress Rotation Simulator)
@@ -485,11 +485,11 @@ void MystScriptParser_Mechanical::opcode_206_run() {
}
}
void MystScriptParser_Mechanical::opcode_206_disable() {
void Mechanical::opcode_206_disable() {
g_opcode206Parameters.enabled = false;
}
void MystScriptParser_Mechanical::opcode_206(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_206(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used for Card 6044 (Fortress Rotation Simulator)
@@ -511,18 +511,18 @@ static struct {
bool enabled;
} g_opcode209Parameters;
void MystScriptParser_Mechanical::opcode_209_run() {
void Mechanical::opcode_209_run() {
// Used for Card 6044 (Fortress Rotation Simulator)
// TODO: Implement Function For Secret Panel State as
// per Opcode 200 function (Mechanical)
}
void MystScriptParser_Mechanical::opcode_209_disable() {
void Mechanical::opcode_209_disable() {
g_opcode209Parameters.enabled = false;
}
void MystScriptParser_Mechanical::opcode_209(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_209(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used for Card 6044 (Fortress Rotation Simulator)
@@ -532,7 +532,7 @@ void MystScriptParser_Mechanical::opcode_209(uint16 op, uint16 var, uint16 argc,
unknown(op, var, argc, argv);
}
void MystScriptParser_Mechanical::opcode_300(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Mechanical::opcode_300(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used in Card 6156 (Fortress Elevator View)
varUnusedCheck(op, var);
// TODO: Fill in Logic. Clearing Variable for View?
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Mechanical : public MystScriptParser {
class Mechanical : public MystScriptParser {
public:
MystScriptParser_Mechanical(MohawkEngine_Myst *vm);
~MystScriptParser_Mechanical();
Mechanical(MohawkEngine_Myst *vm);
~Mechanical();
void disablePersistentScripts();
void runPersistentScripts();
File diff suppressed because it is too large Load Diff
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Myst : public MystScriptParser {
class Myst : public MystScriptParser {
public:
MystScriptParser_Myst(MohawkEngine_Myst *vm);
~MystScriptParser_Myst();
Myst(MohawkEngine_Myst *vm);
~Myst();
void disablePersistentScripts();
void runPersistentScripts();
+11 -11
View File
@@ -35,24 +35,24 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_Preview::MystScriptParser_Preview(MohawkEngine_Myst *vm) : MystScriptParser_Myst(vm) {
Preview::Preview(MohawkEngine_Myst *vm) : Myst(vm) {
setupOpcodes();
}
MystScriptParser_Preview::~MystScriptParser_Preview() {
Preview::~Preview() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Preview::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Preview::x, #x))
#define OVERRIDE_OPCODE(opcode, x) \
for (uint32 i = 0; i < _opcodes.size(); i++) \
if (_opcodes[i]->op == opcode) { \
_opcodes[i]->proc = (OpcodeProcMyst) &MystScriptParser_Preview::x; \
_opcodes[i]->proc = (OpcodeProcMyst) &Preview::x; \
_opcodes[i]->desc = #x; \
break; \
}
void MystScriptParser_Preview::setupOpcodes() {
void Preview::setupOpcodes() {
// "Stack-Specific" Opcodes
OVERRIDE_OPCODE(196, opcode_196);
OVERRIDE_OPCODE(197, opcode_197);
@@ -67,7 +67,7 @@ void MystScriptParser_Preview::setupOpcodes() {
#undef OPCODE
#undef OVERRIDE_OPCODE
void MystScriptParser_Preview::opcode_196(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Preview::opcode_196(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used on Card ...
@@ -75,7 +75,7 @@ void MystScriptParser_Preview::opcode_196(uint16 op, uint16 var, uint16 argc, ui
// Voice Over and Card Advance?
}
void MystScriptParser_Preview::opcode_197(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Preview::opcode_197(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used on Card ...
@@ -84,7 +84,7 @@ void MystScriptParser_Preview::opcode_197(uint16 op, uint16 var, uint16 argc, ui
}
// TODO: Merge with Opcode 42?
void MystScriptParser_Preview::opcode_198(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Preview::opcode_198(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
if (argc == 0) {
@@ -95,7 +95,7 @@ void MystScriptParser_Preview::opcode_198(uint16 op, uint16 var, uint16 argc, ui
unknown(op, var, argc, argv);
}
void MystScriptParser_Preview::opcode_199(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Preview::opcode_199(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used on Card ...
@@ -103,7 +103,7 @@ void MystScriptParser_Preview::opcode_199(uint16 op, uint16 var, uint16 argc, ui
// Voice Over and Card Advance?
}
void MystScriptParser_Preview::opcode_298(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Preview::opcode_298(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used for Card 3000 (Closed Myst Book)
@@ -126,7 +126,7 @@ void MystScriptParser_Preview::opcode_298(uint16 op, uint16 var, uint16 argc, ui
}
}
void MystScriptParser_Preview::opcode_299(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Preview::opcode_299(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
varUnusedCheck(op, var);
// Used for Card 3002 (Myst Island Overview)
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Preview : public MystScriptParser_Myst {
class Preview : public Myst {
public:
MystScriptParser_Preview(MohawkEngine_Myst *vm);
~MystScriptParser_Preview();
Preview(MohawkEngine_Myst *vm);
~Preview();
private:
void setupOpcodes();
+48 -48
View File
@@ -37,7 +37,7 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_Selenitic::MystScriptParser_Selenitic(MohawkEngine_Myst *vm) :
Selenitic::Selenitic(MohawkEngine_Myst *vm) :
MystScriptParser(vm), _state(vm->_gameState->_selenitic) {
setupOpcodes();
_invokingResource = NULL;
@@ -45,12 +45,12 @@ MystScriptParser_Selenitic::MystScriptParser_Selenitic(MohawkEngine_Myst *vm) :
_mazeRunnerDirection = 8;
}
MystScriptParser_Selenitic::~MystScriptParser_Selenitic() {
Selenitic::~Selenitic() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Selenitic::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Selenitic::x, #x))
void MystScriptParser_Selenitic::setupOpcodes() {
void Selenitic::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(100, o_mazeRunnerMove);
OPCODE(101, o_mazeRunnerSoundRepeat);
@@ -83,16 +83,16 @@ void MystScriptParser_Selenitic::setupOpcodes() {
#undef OPCODE
void MystScriptParser_Selenitic::disablePersistentScripts() {
void Selenitic::disablePersistentScripts() {
_soundReceiverRunning = false;
}
void MystScriptParser_Selenitic::runPersistentScripts() {
void Selenitic::runPersistentScripts() {
if (_soundReceiverRunning)
soundReceiver_run();
}
uint16 MystScriptParser_Selenitic::getVar(uint16 var) {
uint16 Selenitic::getVar(uint16 var) {
switch(var) {
case 0: // Sound receiver emitters enabled
return _state.emitterEnabledWind;
@@ -167,7 +167,7 @@ uint16 MystScriptParser_Selenitic::getVar(uint16 var) {
}
}
void MystScriptParser_Selenitic::toggleVar(uint16 var) {
void Selenitic::toggleVar(uint16 var) {
switch(var) {
case 0: // Sound receiver emitters enabled
_state.emitterEnabledWind = (_state.emitterEnabledWind + 1) % 2;
@@ -212,7 +212,7 @@ void MystScriptParser_Selenitic::toggleVar(uint16 var) {
}
}
bool MystScriptParser_Selenitic::setVarValue(uint16 var, uint16 value) {
bool Selenitic::setVarValue(uint16 var, uint16 value) {
bool refresh = false;
switch (var) {
@@ -284,7 +284,7 @@ bool MystScriptParser_Selenitic::setVarValue(uint16 var, uint16 value) {
return refresh;
}
void MystScriptParser_Selenitic::o_mazeRunnerMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_mazeRunnerMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
uint16 oldPosition = _mazeRunnerPosition;
uint16 move = var;
@@ -305,7 +305,7 @@ void MystScriptParser_Selenitic::o_mazeRunnerMove(uint16 op, uint16 var, uint16
}
}
void MystScriptParser_Selenitic::mazeRunnerBacktrack(uint16 &oldPosition) {
void Selenitic::mazeRunnerBacktrack(uint16 &oldPosition) {
if (oldPosition == 289)
_mazeRunnerDirection = 3;
@@ -366,7 +366,7 @@ void MystScriptParser_Selenitic::mazeRunnerBacktrack(uint16 &oldPosition) {
}
}
void MystScriptParser_Selenitic::mazeRunnerPlayVideo(uint16 video, uint16 pos) {
void Selenitic::mazeRunnerPlayVideo(uint16 video, uint16 pos) {
Common::String file;
switch (video) {
@@ -487,7 +487,7 @@ void MystScriptParser_Selenitic::mazeRunnerPlayVideo(uint16 video, uint16 pos) {
}
}
void MystScriptParser_Selenitic::mazeRunnerUpdateCompass() {
void Selenitic::mazeRunnerUpdateCompass() {
if (_mazeRunnerPosition == 288 || _mazeRunnerPosition == 289)
_mazeRunnerDirection = 8;
else
@@ -496,12 +496,12 @@ void MystScriptParser_Selenitic::mazeRunnerUpdateCompass() {
_mazeRunnerCompass->drawConditionalDataToScreen(_mazeRunnerDirection);
}
bool MystScriptParser_Selenitic::mazeRunnerForwardAllowed(uint16 position) {
bool Selenitic::mazeRunnerForwardAllowed(uint16 position) {
uint16 move = _mazeRunnerVideos[position][1];
return move == 6 || move == 7;
}
void MystScriptParser_Selenitic::mazeRunnerPlaySoundHelp() {
void Selenitic::mazeRunnerPlaySoundHelp() {
uint16 soundId = 0;
_mazeRunnerLight->drawConditionalDataToScreen(1);
@@ -565,14 +565,14 @@ void MystScriptParser_Selenitic::mazeRunnerPlaySoundHelp() {
_mazeRunnerLight->drawConditionalDataToScreen(0);
}
void MystScriptParser_Selenitic::o_mazeRunnerSoundRepeat(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_mazeRunnerSoundRepeat(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
mazeRunnerPlaySoundHelp();
}
/**
* Sound receiver sigma button
*/
void MystScriptParser_Selenitic::o_soundReceiverSigma(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundReceiverSigma(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound receiver sigma button", op);
_vm->_cursor->hideCursor();
@@ -624,7 +624,7 @@ void MystScriptParser_Selenitic::o_soundReceiverSigma(uint16 op, uint16 var, uin
/**
* Sound receiver right button
*/
void MystScriptParser_Selenitic::o_soundReceiverRight(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundReceiverRight(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound receiver right", op);
soundReceiverLeftRight(1);
@@ -633,13 +633,13 @@ void MystScriptParser_Selenitic::o_soundReceiverRight(uint16 op, uint16 var, uin
/**
* Sound receiver left button
*/
void MystScriptParser_Selenitic::o_soundReceiverLeft(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundReceiverLeft(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound receiver left", op);
soundReceiverLeftRight(2);
}
void MystScriptParser_Selenitic::soundReceiverLeftRight(uint direction) {
void Selenitic::soundReceiverLeftRight(uint direction) {
if (_soundReceiverSigmaPressed) {
_soundReceiverSigmaButton->drawConditionalDataToScreen(0);
@@ -660,7 +660,7 @@ void MystScriptParser_Selenitic::soundReceiverLeftRight(uint direction) {
soundReceiverUpdate();
}
void MystScriptParser_Selenitic::soundReceiverUpdate() {
void Selenitic::soundReceiverUpdate() {
if (_soundReceiverDirection == 1)
*_soundReceiverPosition = ((*_soundReceiverPosition) + _soundReceiverSpeed) % 3600;
else if (_soundReceiverDirection == 2)
@@ -669,7 +669,7 @@ void MystScriptParser_Selenitic::soundReceiverUpdate() {
soundReceiverDrawView();
}
void MystScriptParser_Selenitic::soundReceiverDrawView() {
void Selenitic::soundReceiverDrawView() {
uint32 left = ((*_soundReceiverPosition) * 1800) / 3600;
_soundReceiverViewer->_subImages->rect.left = left;
@@ -680,7 +680,7 @@ void MystScriptParser_Selenitic::soundReceiverDrawView() {
soundReceiverDrawAngle();
}
void MystScriptParser_Selenitic::soundReceiverDrawAngle() {
void Selenitic::soundReceiverDrawAngle() {
_vm->redrawResource(_soundReceiverAngle1);
_vm->redrawResource(_soundReceiverAngle2);
_vm->redrawResource(_soundReceiverAngle3);
@@ -690,7 +690,7 @@ void MystScriptParser_Selenitic::soundReceiverDrawAngle() {
/**
* Sound receiver source selection buttons
*/
void MystScriptParser_Selenitic::o_soundReceiverSource(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundReceiverSource(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound receiver source", op);
if (_soundReceiverSigmaPressed) {
@@ -724,7 +724,7 @@ void MystScriptParser_Selenitic::o_soundReceiverSource(uint16 op, uint16 var, ui
_vm->_cursor->showCursor();
}
void MystScriptParser_Selenitic::o_mazeRunnerDoorButton(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_mazeRunnerDoorButton(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used for Selenitic Maze Runner Exit Logic
uint16 cardIdExit = argv[0];
uint16 cardIdEntry = argv[1];
@@ -740,13 +740,13 @@ void MystScriptParser_Selenitic::o_mazeRunnerDoorButton(uint16 op, uint16 var, u
}
}
void MystScriptParser_Selenitic::o_soundReceiverUpdateSound(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundReceiverUpdateSound(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound receiver update sound", op);
soundReceiverUpdateSound();
}
uint16 MystScriptParser_Selenitic::soundLockCurrentSound(uint16 position, bool pixels) {
uint16 Selenitic::soundLockCurrentSound(uint16 position, bool pixels) {
if ((pixels && position < 96) || (!pixels && position == 0))
return 289;
else if ((pixels && position < 108) || (!pixels && position == 1))
@@ -771,7 +771,7 @@ uint16 MystScriptParser_Selenitic::soundLockCurrentSound(uint16 position, bool p
return 0;
}
MystResourceType10 *MystScriptParser_Selenitic::soundLockSliderFromVar(uint16 var) {
MystResourceType10 *Selenitic::soundLockSliderFromVar(uint16 var) {
switch (var) {
case 20:
return _soundLockSlider1;
@@ -788,7 +788,7 @@ MystResourceType10 *MystScriptParser_Selenitic::soundLockSliderFromVar(uint16 va
return 0;
}
void MystScriptParser_Selenitic::o_soundLockMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundLockMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound lock move", op);
MystResourceType10 *slider = soundLockSliderFromVar(var);
@@ -800,7 +800,7 @@ void MystScriptParser_Selenitic::o_soundLockMove(uint16 op, uint16 var, uint16 a
}
}
void MystScriptParser_Selenitic::o_soundLockStartMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundLockStartMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound lock start move", op);
MystResourceType10 *slider = soundLockSliderFromVar(var);
@@ -812,7 +812,7 @@ void MystScriptParser_Selenitic::o_soundLockStartMove(uint16 op, uint16 var, uin
_vm->_sound->replaceSoundMyst(_soundLockSoundId, Audio::Mixer::kMaxChannelVolume, true);
}
void MystScriptParser_Selenitic::o_soundLockEndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundLockEndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound lock end move", op);
MystResourceType10 *slider = soundLockSliderFromVar(var);
@@ -856,7 +856,7 @@ void MystScriptParser_Selenitic::o_soundLockEndMove(uint16 op, uint16 var, uint1
_vm->_sound->resumeBackgroundMyst();
}
void MystScriptParser_Selenitic::soundLockCheckSolution(MystResourceType10 *slider, uint16 value, uint16 solution, bool &solved) {
void Selenitic::soundLockCheckSolution(MystResourceType10 *slider, uint16 value, uint16 solution, bool &solved) {
slider->drawConditionalDataToScreen(2);
_vm->_sound->replaceSoundMyst(soundLockCurrentSound(value / 12, false));
_vm->_system->delayMillis(1500);
@@ -868,7 +868,7 @@ void MystScriptParser_Selenitic::soundLockCheckSolution(MystResourceType10 *slid
_vm->_sound->stopSound();
}
void MystScriptParser_Selenitic::o_soundLockButton(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundLockButton(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound lock button", op);
bool solved = true;
@@ -906,7 +906,7 @@ void MystScriptParser_Selenitic::o_soundLockButton(uint16 op, uint16 var, uint16
_vm->_cursor->showCursor();
}
void MystScriptParser_Selenitic::o_soundReceiverEndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundReceiverEndMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound receiver end move", op);
uint16 oldDirection = _soundReceiverDirection;
@@ -923,19 +923,19 @@ void MystScriptParser_Selenitic::o_soundReceiverEndMove(uint16 op, uint16 var, u
}
}
void MystScriptParser_Selenitic::o_mazeRunnerCompass_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_mazeRunnerCompass_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_mazeRunnerCompass = static_cast<MystResourceType8 *>(_invokingResource);
}
void MystScriptParser_Selenitic::o_mazeRunnerWindow_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_mazeRunnerWindow_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_mazeRunnerWindow = static_cast<MystResourceType8 *>(_invokingResource);
}
void MystScriptParser_Selenitic::o_mazeRunnerLight_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_mazeRunnerLight_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_mazeRunnerLight = static_cast<MystResourceType8 *>(_invokingResource);
}
void MystScriptParser_Selenitic::soundReceiver_run() {
void Selenitic::soundReceiver_run() {
if (_soundReceiverStartTime) {
if (_soundReceiverDirection) {
uint32 currentTime = _vm->_system->getMillis();
@@ -953,7 +953,7 @@ void MystScriptParser_Selenitic::soundReceiver_run() {
}
}
void MystScriptParser_Selenitic::soundReceiverIncreaseSpeed() {
void Selenitic::soundReceiverIncreaseSpeed() {
switch (_soundReceiverSpeed) {
case 1:
_soundReceiverSpeed = 10;
@@ -967,12 +967,12 @@ void MystScriptParser_Selenitic::soundReceiverIncreaseSpeed() {
}
}
void MystScriptParser_Selenitic::soundReceiverUpdateSound() {
void Selenitic::soundReceiverUpdateSound() {
uint16 soundId = soundReceiverCurrentSound(_state.soundReceiverCurrentSource, *_soundReceiverPosition);
_vm->_sound->replaceSoundMyst(soundId);
}
uint16 MystScriptParser_Selenitic::soundReceiverCurrentSound(uint16 source, uint16 position) {
uint16 Selenitic::soundReceiverCurrentSound(uint16 source, uint16 position) {
uint16 solution = 0;
bool sourceEnabled = false;
soundReceiverSolution(source, solution, sourceEnabled);
@@ -1023,7 +1023,7 @@ uint16 MystScriptParser_Selenitic::soundReceiverCurrentSound(uint16 source, uint
return soundId;
}
void MystScriptParser_Selenitic::soundReceiverSolution(uint16 source, uint16 &solution, bool &enabled) {
void Selenitic::soundReceiverSolution(uint16 source, uint16 &solution, bool &enabled) {
switch (source) {
case 0:
enabled = _state.emitterEnabledWater;
@@ -1048,7 +1048,7 @@ void MystScriptParser_Selenitic::soundReceiverSolution(uint16 source, uint16 &so
}
}
void MystScriptParser_Selenitic::o_soundReceiver_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundReceiver_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound receiver init", op);
// Used for Card 1245 (Sound Receiver)
@@ -1075,7 +1075,7 @@ void MystScriptParser_Selenitic::o_soundReceiver_init(uint16 op, uint16 var, uin
_soundReceiverSigmaPressed = false;
}
void MystScriptParser_Selenitic::o_soundLock_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_soundLock_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Sound lock init", op);
for (uint i = 0; i < _vm->_resources.size(); i++) {
@@ -1110,15 +1110,15 @@ void MystScriptParser_Selenitic::o_soundLock_init(uint16 op, uint16 var, uint16
_soundLockSoundId = 0;
}
void MystScriptParser_Selenitic::o_mazeRunnerRight_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_mazeRunnerRight_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_mazeRunnerRightButton = static_cast<MystResourceType8 *>(_invokingResource);
}
void MystScriptParser_Selenitic::o_mazeRunnerLeft_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Selenitic::o_mazeRunnerLeft_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_mazeRunnerLeftButton = static_cast<MystResourceType8 *>(_invokingResource);
}
const uint16 MystScriptParser_Selenitic::_mazeRunnerMap[300][4] = {
const uint16 Selenitic::_mazeRunnerMap[300][4] = {
{8, 7, 1, 288},
{1, 0, 2, 288},
{2, 1, 3, 288},
@@ -1421,7 +1421,7 @@ const uint16 MystScriptParser_Selenitic::_mazeRunnerMap[300][4] = {
{ 0, 0, 0, 0}
};
const uint8 MystScriptParser_Selenitic::_mazeRunnerVideos[300][4] = {
const uint8 Selenitic::_mazeRunnerVideos[300][4] = {
{3, 6, 10, 17},
{0, 5, 8, 17},
{0, 4, 8, 17},
+3 -4
View File
@@ -32,7 +32,6 @@
namespace Mohawk {
class MohawkEngine_Myst;
class MystResourceType8;
struct MystScriptEntry;
@@ -40,10 +39,10 @@ namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Selenitic : public MystScriptParser {
class Selenitic : public MystScriptParser {
public:
MystScriptParser_Selenitic(MohawkEngine_Myst *vm);
~MystScriptParser_Selenitic();
Selenitic(MohawkEngine_Myst *vm);
~Selenitic();
void disablePersistentScripts();
void runPersistentScripts();
+8 -8
View File
@@ -35,16 +35,16 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_Slides::MystScriptParser_Slides(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
Slides::Slides(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
setupOpcodes();
}
MystScriptParser_Slides::~MystScriptParser_Slides() {
Slides::~Slides() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Slides::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Slides::x, #x))
void MystScriptParser_Slides::setupOpcodes() {
void Slides::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(100, o_returnToMenu);
@@ -54,11 +54,11 @@ void MystScriptParser_Slides::setupOpcodes() {
#undef OPCODE
void MystScriptParser_Slides::disablePersistentScripts() {
void Slides::disablePersistentScripts() {
_cardSwapEnabled = false;
}
void MystScriptParser_Slides::runPersistentScripts() {
void Slides::runPersistentScripts() {
if (_cardSwapEnabled) {
// Used on Cards...
if (_vm->_system->getMillis() - _lastCardTime >= 2 * 1000)
@@ -66,11 +66,11 @@ void MystScriptParser_Slides::runPersistentScripts() {
}
}
void MystScriptParser_Slides::o_returnToMenu(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Slides::o_returnToMenu(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_vm->changeToStack(kDemoStack, 2001, 0, 0);
}
void MystScriptParser_Slides::o_setCardSwap(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Slides::o_setCardSwap(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used on Cards...
if (argc == 1) {
_nextCardID = argv[0];
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Slides : public MystScriptParser {
class Slides : public MystScriptParser {
public:
MystScriptParser_Slides(MohawkEngine_Myst *vm);
~MystScriptParser_Slides();
Slides(MohawkEngine_Myst *vm);
~Slides();
void disablePersistentScripts();
void runPersistentScripts();
+52 -52
View File
@@ -37,7 +37,7 @@
namespace Mohawk {
namespace MystStacks {
MystScriptParser_Stoneship::MystScriptParser_Stoneship(MohawkEngine_Myst *vm) :
Stoneship::Stoneship(MohawkEngine_Myst *vm) :
MystScriptParser(vm), _state(vm->_gameState->_stoneship) {
setupOpcodes();
@@ -61,12 +61,12 @@ MystScriptParser_Stoneship::MystScriptParser_Stoneship(MohawkEngine_Myst *vm) :
_state.generatorPowerAvailable = 0;
}
MystScriptParser_Stoneship::~MystScriptParser_Stoneship() {
Stoneship::~Stoneship() {
}
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &MystScriptParser_Stoneship::x, #x))
#define OPCODE(op, x) _opcodes.push_back(new MystOpcode(op, (OpcodeProcMyst) &Stoneship::x, #x))
void MystScriptParser_Stoneship::setupOpcodes() {
void Stoneship::setupOpcodes() {
// "Stack-Specific" Opcodes
OPCODE(100, o_pumpTurnOff);
OPCODE(101, o_brotherDoorOpen);
@@ -112,14 +112,14 @@ void MystScriptParser_Stoneship::setupOpcodes() {
#undef OPCODE
void MystScriptParser_Stoneship::disablePersistentScripts() {
void Stoneship::disablePersistentScripts() {
_batteryCharging = false;
_batteryDepleting = false;
_batteryGaugeRunning = false;
_telescopeRunning = false;
}
void MystScriptParser_Stoneship::runPersistentScripts() {
void Stoneship::runPersistentScripts() {
if (_batteryCharging)
chargeBattery_run();
@@ -136,7 +136,7 @@ void MystScriptParser_Stoneship::runPersistentScripts() {
tunnel_run();
}
uint16 MystScriptParser_Stoneship::getVar(uint16 var) {
uint16 Stoneship::getVar(uint16 var) {
switch(var) {
case 0: // Water Drained From Lighthouse / Right Button Of Pump
return _state.pumpState == 4;
@@ -261,7 +261,7 @@ uint16 MystScriptParser_Stoneship::getVar(uint16 var) {
}
}
void MystScriptParser_Stoneship::toggleVar(uint16 var) {
void Stoneship::toggleVar(uint16 var) {
switch(var) {
case 0: // Water Drained From Lighthouse / Right Button Of Pump
if (_state.pumpState == 4)
@@ -327,7 +327,7 @@ void MystScriptParser_Stoneship::toggleVar(uint16 var) {
}
}
bool MystScriptParser_Stoneship::setVarValue(uint16 var, uint16 value) {
bool Stoneship::setVarValue(uint16 var, uint16 value) {
bool refresh = false;
switch (var) {
@@ -381,7 +381,7 @@ bool MystScriptParser_Stoneship::setVarValue(uint16 var, uint16 value) {
return refresh;
}
void MystScriptParser_Stoneship::o_pumpTurnOff(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_pumpTurnOff(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Turn off previous pump selection", op);
if (_state.pumpState) {
@@ -411,7 +411,7 @@ void MystScriptParser_Stoneship::o_pumpTurnOff(uint16 op, uint16 var, uint16 arg
}
}
void MystScriptParser_Stoneship::o_brotherDoorOpen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_brotherDoorOpen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Open brother door", op);
_brotherDoorOpen = 1;
@@ -419,7 +419,7 @@ void MystScriptParser_Stoneship::o_brotherDoorOpen(uint16 op, uint16 var, uint16
animatedUpdate(argc, argv, 5);
}
void MystScriptParser_Stoneship::o_cabinBookMovie(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_cabinBookMovie(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Play Book Room Movie", op);
uint16 startTime = argv[0];
@@ -430,7 +430,7 @@ void MystScriptParser_Stoneship::o_cabinBookMovie(uint16 op, uint16 var, uint16
_vm->_video->waitUntilMovieEnds(book);
}
void MystScriptParser_Stoneship::o_drawerOpenSirius(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_drawerOpenSirius(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Open drawer", op);
MystResourceType8 *drawer = static_cast<MystResourceType8 *>(_vm->_resources[argv[0]]);
@@ -448,18 +448,18 @@ void MystScriptParser_Stoneship::o_drawerOpenSirius(uint16 op, uint16 var, uint1
_vm->_gfx->runTransition(transition, drawer->getRect(), 25, 5);
}
void MystScriptParser_Stoneship::o_drawerClose(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_drawerClose(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Close drawer", op);
drawerClose(argv[0]);
}
void MystScriptParser_Stoneship::o_telescopeStart(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_telescopeStart(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
const Common::Point &mouse = _vm->_system->getEventManager()->getMousePos();
_telescopeOldMouse = mouse.x;
_vm->_cursor->setCursor(700);
}
void MystScriptParser_Stoneship::o_telescopeMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_telescopeMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Telescope move", op);
MystResourceType11 *display = static_cast<MystResourceType11 *>(_invokingResource);
@@ -478,11 +478,11 @@ void MystScriptParser_Stoneship::o_telescopeMove(uint16 op, uint16 var, uint16 a
_vm->_system->updateScreen();
}
void MystScriptParser_Stoneship::o_telescopeStop(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_telescopeStop(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_vm->checkCursorHints();
}
void MystScriptParser_Stoneship::o_generatorStart(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_generatorStart(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Generator start", op);
MystResourceType11 *handle = static_cast<MystResourceType11 *>(_invokingResource);
@@ -508,7 +508,7 @@ void MystScriptParser_Stoneship::o_generatorStart(uint16 op, uint16 var, uint16
_vm->_sound->replaceSoundMyst(soundId, Audio::Mixer::kMaxChannelVolume, true);
}
void MystScriptParser_Stoneship::o_generatorStop(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_generatorStop(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Generator stop", op);
_batteryCharging = false;
@@ -535,7 +535,7 @@ void MystScriptParser_Stoneship::o_generatorStop(uint16 op, uint16 var, uint16 a
_vm->_sound->replaceSoundMyst(soundId);
}
void MystScriptParser_Stoneship::chargeBattery_run() {
void Stoneship::chargeBattery_run() {
uint32 time = _vm->_system->getMillis();
if (time > _batteryNextTime) {
@@ -544,7 +544,7 @@ void MystScriptParser_Stoneship::chargeBattery_run() {
}
}
uint16 MystScriptParser_Stoneship::batteryRemainingCharge() {
uint16 Stoneship::batteryRemainingCharge() {
uint32 time = _vm->_system->getMillis();
if (_state.generatorDepletionTime > time) {
@@ -554,7 +554,7 @@ uint16 MystScriptParser_Stoneship::batteryRemainingCharge() {
}
}
void MystScriptParser_Stoneship::batteryDeplete_run() {
void Stoneship::batteryDeplete_run() {
uint32 time = _vm->_system->getMillis();
if (time > _batteryNextTime) {
@@ -575,7 +575,7 @@ void MystScriptParser_Stoneship::batteryDeplete_run() {
}
}
void MystScriptParser_Stoneship::o_drawerOpenAchenar(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_drawerOpenAchenar(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Open drawer", op);
MystResourceType8 *drawer = static_cast<MystResourceType8 *>(_vm->_resources[argv[0]]);
@@ -583,7 +583,7 @@ void MystScriptParser_Stoneship::o_drawerOpenAchenar(uint16 op, uint16 var, uint
_vm->_gfx->runTransition(5, drawer->getRect(), 25, 5);
}
void MystScriptParser_Stoneship::o_hologramPlayback(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_hologramPlayback(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used for Card 2013 (Achenar's Rose-Skull Hologram)
debugC(kDebugScript, "Opcode %d: Rose-Skull Hologram Playback", op);
@@ -605,12 +605,12 @@ void MystScriptParser_Stoneship::o_hologramPlayback(uint16 op, uint16 var, uint1
_vm->_video->delayUntilMovieEnds(displayMovie);
}
void MystScriptParser_Stoneship::o_hologramSelectionStart(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_hologramSelectionStart(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Hologram start move", op);
//_vm->_cursor->setCursor(0);
}
void MystScriptParser_Stoneship::o_hologramSelectionMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_hologramSelectionMove(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Hologram move", op);
MystResourceType11 *handle = static_cast<MystResourceType11 *>(_invokingResource);
@@ -637,12 +637,12 @@ void MystScriptParser_Stoneship::o_hologramSelectionMove(uint16 op, uint16 var,
}
}
void MystScriptParser_Stoneship::o_hologramSelectionStop(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_hologramSelectionStop(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Hologram stop move", op);
_vm->checkCursorHints();
}
void MystScriptParser_Stoneship::o_compassButton(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_compassButton(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Compass rose button pressed", op);
// Used on Card 2111 (Compass Rose)
// Called when Button Clicked.
@@ -664,7 +664,7 @@ void MystScriptParser_Stoneship::o_compassButton(uint16 op, uint16 var, uint16 a
o_redrawCard(op, var, argc, argv);
}
void MystScriptParser_Stoneship::o_chestValveVideos(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_chestValveVideos(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Chest valve videos", op);
Common::String movie = _vm->wrapMovieFilename("ligspig", kStoneshipStack);
@@ -700,7 +700,7 @@ void MystScriptParser_Stoneship::o_chestValveVideos(uint16 op, uint16 var, uint1
}
}
void MystScriptParser_Stoneship::o_chestDropKey(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_chestDropKey(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: drop chest key", op);
// If holding Key to Lamp Room Trapdoor, drop to bottom of
@@ -711,7 +711,7 @@ void MystScriptParser_Stoneship::o_chestDropKey(uint16 op, uint16 var, uint16 ar
}
}
void MystScriptParser_Stoneship::o_trapLockOpen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_trapLockOpen(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Trap lock open video", op);
Common::String movie = _vm->wrapMovieFilename("openloc", kStoneshipStack);
@@ -730,7 +730,7 @@ void MystScriptParser_Stoneship::o_trapLockOpen(uint16 op, uint16 var, uint16 ar
_vm->_sound->playSound(4143);
}
void MystScriptParser_Stoneship::o_sideDoorsMovies(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_sideDoorsMovies(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used for Cards 2285, 2289, 2247, 2251 (Side Doors in Tunnels Down To Brothers Rooms)
uint16 movieId = argv[0];
@@ -766,14 +766,14 @@ void MystScriptParser_Stoneship::o_sideDoorsMovies(uint16 op, uint16 var, uint16
_vm->_cursor->showCursor();
}
void MystScriptParser_Stoneship::o_cloudOrbEnter(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_cloudOrbEnter(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Cloud orb enter", op);
_vm->_sound->replaceSoundMyst(_cloudOrbSound, Audio::Mixer::kMaxChannelVolume, true);
_cloudOrbMovie->playMovie();
}
void MystScriptParser_Stoneship::o_cloudOrbLeave(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_cloudOrbLeave(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Cloud orb leave", op);
_cloudOrbMovie->pauseMovie(true);
@@ -781,7 +781,7 @@ void MystScriptParser_Stoneship::o_cloudOrbLeave(uint16 op, uint16 var, uint16 a
_vm->_gfx->runTransition(5, _invokingResource->getRect(), 4, 0);
}
void MystScriptParser_Stoneship::o_drawerCloseOpened(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_drawerCloseOpened(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Close open drawer", op);
uint16 drawerOpen = getVar(var);
@@ -789,7 +789,7 @@ void MystScriptParser_Stoneship::o_drawerCloseOpened(uint16 op, uint16 var, uint
drawerClose(argv[0] + drawerOpen - 1);
}
void MystScriptParser_Stoneship::drawerClose(uint16 drawer) {
void Stoneship::drawerClose(uint16 drawer) {
_chestDrawersOpen = 0;
_vm->drawCardBackground();
_vm->drawResourceImages();
@@ -798,19 +798,19 @@ void MystScriptParser_Stoneship::drawerClose(uint16 drawer) {
_vm->_gfx->runTransition(6, res->getRect(), 25, 5);
}
void MystScriptParser_Stoneship::o_hologramDisplay_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_hologramDisplay_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Hologram display init", op);
_hologramDisplay = static_cast<MystResourceType6 *>(_invokingResource);
_hologramDisplayPos = 0;
}
void MystScriptParser_Stoneship::o_hologramSelection_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_hologramSelection_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Hologram selection init", op);
_hologramSelection = static_cast<MystResourceType6 *>(_invokingResource);
}
void MystScriptParser_Stoneship::batteryGaugeUpdate() {
void Stoneship::batteryGaugeUpdate() {
uint16 charge = 0;
if (_state.generatorDepletionTime) {
@@ -824,7 +824,7 @@ void MystScriptParser_Stoneship::batteryGaugeUpdate() {
_batteryGauge->setRect(rect);
}
void MystScriptParser_Stoneship::o_battery_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_battery_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Used for Card 2160 (Lighthouse Battery Pack Closeup)
debugC(kDebugScript, "Opcode %d: Battery init", op);
@@ -833,7 +833,7 @@ void MystScriptParser_Stoneship::o_battery_init(uint16 op, uint16 var, uint16 ar
batteryGaugeUpdate();
}
void MystScriptParser_Stoneship::o_tunnelEnter_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_tunnelEnter_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Tunnel enter", op);
o_tunnel_init(op, var, argc, argv);
@@ -842,13 +842,13 @@ void MystScriptParser_Stoneship::o_tunnelEnter_init(uint16 op, uint16 var, uint1
_tunnelNextTime = _vm->_system->getMillis() + 1500;
}
void MystScriptParser_Stoneship::o_batteryGauge_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_batteryGauge_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Battery gauge init", op);
_batteryLastCharge = batteryRemainingCharge();
_batteryGaugeRunning = true;
}
void MystScriptParser_Stoneship::batteryGauge_run() {
void Stoneship::batteryGauge_run() {
uint16 batteryCharge = batteryRemainingCharge();
if (batteryCharge != _batteryLastCharge) {
@@ -864,7 +864,7 @@ void MystScriptParser_Stoneship::batteryGauge_run() {
}
}
void MystScriptParser_Stoneship::o_tunnel_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_tunnel_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Tunnel card init", op);
_tunnelImagesCount = argv[0];
@@ -881,7 +881,7 @@ void MystScriptParser_Stoneship::o_tunnel_init(uint16 op, uint16 var, uint16 arg
debugC(kDebugScript, "\tsoundIdAlarm: %d", _tunnelAlarmSound);
}
void MystScriptParser_Stoneship::tunnel_run() {
void Stoneship::tunnel_run() {
uint32 time = _vm->_system->getMillis();
if (time > _tunnelNextTime) {
@@ -904,19 +904,19 @@ void MystScriptParser_Stoneship::tunnel_run() {
}
}
void MystScriptParser_Stoneship::o_tunnelLeave_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_tunnelLeave_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Tunnel leave", op);
_tunnelRunning = false;
}
void MystScriptParser_Stoneship::o_chest_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_chest_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Chest init", op);
_state.chestOpenState = 0;
}
void MystScriptParser_Stoneship::o_telescope_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_telescope_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Telescope init", op);
// Used in Card 2218 (Telescope view)
@@ -930,7 +930,7 @@ void MystScriptParser_Stoneship::o_telescope_init(uint16 op, uint16 var, uint16
_telescopeNexTime = _vm->_system->getMillis() + 1000;
}
void MystScriptParser_Stoneship::telescope_run() {
void Stoneship::telescope_run() {
uint32 time = _vm->_system->getMillis();
if (time > _telescopeNexTime) {
@@ -943,7 +943,7 @@ void MystScriptParser_Stoneship::telescope_run() {
}
}
void MystScriptParser_Stoneship::telescopeLighthouseDraw() {
void Stoneship::telescopeLighthouseDraw() {
if (_telescopePosition > 1137 && _telescopePosition < 1294) {
uint16 imageId = _telescopeLighthouseOff;
@@ -965,7 +965,7 @@ void MystScriptParser_Stoneship::telescopeLighthouseDraw() {
}
}
void MystScriptParser_Stoneship::o_achenarDrawers_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_achenarDrawers_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Achenar's Room Drawers Init", op);
// Used for Card 2004 (Achenar's Room Drawers)
@@ -983,7 +983,7 @@ void MystScriptParser_Stoneship::o_achenarDrawers_init(uint16 op, uint16 var, ui
}
}
void MystScriptParser_Stoneship::o_cloudOrb_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
void Stoneship::o_cloudOrb_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
debugC(kDebugScript, "Opcode %d: Cloud orb init", op);
_cloudOrbMovie = static_cast<MystResourceType6 *>(_invokingResource);
+3 -4
View File
@@ -32,17 +32,16 @@
namespace Mohawk {
class MohawkEngine_Myst;
struct MystScriptEntry;
namespace MystStacks {
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 var, uint16 argc, uint16 *argv)
class MystScriptParser_Stoneship : public MystScriptParser {
class Stoneship : public MystScriptParser {
public:
MystScriptParser_Stoneship(MohawkEngine_Myst *vm);
~MystScriptParser_Stoneship();
Stoneship(MohawkEngine_Myst *vm);
~Stoneship();
void disablePersistentScripts();
void runPersistentScripts();