mirror of
https://github.com/scummvm/scummvm.git
synced 2026-06-20 05:45:29 +00:00
MOHAWK: Shorten Myst stack classes names
This commit is contained in:
+12
-12
@@ -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");
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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?
|
||||
|
||||
@@ -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();
|
||||
|
||||
+171
-171
File diff suppressed because it is too large
Load Diff
@@ -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();
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user