aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Bouclet2010-11-29 21:01:43 +0000
committerBastien Bouclet2010-11-29 21:01:43 +0000
commit69ff712a48ff4badd3feeeddaf7ad462b03635a6 (patch)
treeb075b4e92cd82e52ca0b9e736ed161685887a76d
parentc393f8f9d20bee7e0a1724a54ddad1dcd130f00c (diff)
downloadscummvm-rg350-69ff712a48ff4badd3feeeddaf7ad462b03635a6.tar.gz
scummvm-rg350-69ff712a48ff4badd3feeeddaf7ad462b03635a6.tar.bz2
scummvm-rg350-69ff712a48ff4badd3feeeddaf7ad462b03635a6.zip
MOHAWK: Implement Selenitic maze runner init opcodes 200, 201, 202, 205, 206
svn-id: r54640
-rw-r--r--engines/mohawk/myst_scripts_selenitic.cpp61
-rw-r--r--engines/mohawk/myst_scripts_selenitic.h17
2 files changed, 26 insertions, 52 deletions
diff --git a/engines/mohawk/myst_scripts_selenitic.cpp b/engines/mohawk/myst_scripts_selenitic.cpp
index c448363a13..d84e4760d9 100644
--- a/engines/mohawk/myst_scripts_selenitic.cpp
+++ b/engines/mohawk/myst_scripts_selenitic.cpp
@@ -124,13 +124,13 @@ void MystScriptParser_Selenitic::setupOpcodes() {
SPECIFIC_OPCODE(117, o_117_soundReceiverEndMove),
// "Init" Opcodes
- SPECIFIC_OPCODE(200, opcode_200),
- SPECIFIC_OPCODE(201, opcode_201),
- SPECIFIC_OPCODE(202, opcode_202),
+ SPECIFIC_OPCODE(200, o_200_mazeRunnerCompass_init),
+ SPECIFIC_OPCODE(201, o_201_mazeRunnerWindow_init),
+ SPECIFIC_OPCODE(202, o_202_mazeRunnerLight_init),
SPECIFIC_OPCODE(203, o_203_soundReceiver_init),
SPECIFIC_OPCODE(204, o_204_soundLock_init),
- SPECIFIC_OPCODE(205, opcode_205),
- SPECIFIC_OPCODE(206, opcode_206),
+ SPECIFIC_OPCODE(205, o_205_mazeRunnerRight_init),
+ SPECIFIC_OPCODE(206, o_206_mazeRunnerLeft_init),
OPCODE(0xFFFF, NOP)
};
@@ -761,35 +761,16 @@ void MystScriptParser_Selenitic::o_117_soundReceiverEndMove(uint16 op, uint16 va
// "right11"
//};
-void MystScriptParser_Selenitic::opcode_200(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
-
- // Used for Card 1191 (Maze Runner)
- if (argc == 0) {
-
- } else
- unknown(op, var, argc, argv);
+void MystScriptParser_Selenitic::o_200_mazeRunnerCompass_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ _maze_runner_compass = static_cast<MystResourceType8 *>(_invokingResource);
}
-void MystScriptParser_Selenitic::opcode_201(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
-
- // Used for Card 1191 (Maze Runner)
-
- if (argc == 0) {
-
- } else
- unknown(op, var, argc, argv);
+void MystScriptParser_Selenitic::o_201_mazeRunnerWindow_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ _maze_runner_window = static_cast<MystResourceType8 *>(_invokingResource);
}
-void MystScriptParser_Selenitic::opcode_202(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
-
- // Used for Card 1191 (Maze Runner)
- if (argc == 0) {
-
- } else
- unknown(op, var, argc, argv);
+void MystScriptParser_Selenitic::o_202_mazeRunnerLight_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ _maze_runner_light = static_cast<MystResourceType8 *>(_invokingResource);
}
void MystScriptParser_Selenitic::o_203_soundReceiver_run(void) {
@@ -982,24 +963,12 @@ void MystScriptParser_Selenitic::o_204_soundLock_init(uint16 op, uint16 var, uin
_sound_lock_sound_id = 0;
}
-void MystScriptParser_Selenitic::opcode_205(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
-
- // Used for Card 1191 (Maze Runner)
- if (argc == 0) {
-
- } else
- unknown(op, var, argc, argv);
+void MystScriptParser_Selenitic::o_205_mazeRunnerRight_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ _maze_runner_right_button = static_cast<MystResourceType8 *>(_invokingResource);
}
-void MystScriptParser_Selenitic::opcode_206(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- varUnusedCheck(op, var);
-
- // Used for Card 1191 (Maze Runner)
- if (argc == 0) {
-
- } else
- unknown(op, var, argc, argv);
+void MystScriptParser_Selenitic::o_206_mazeRunnerLeft_init(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ _maze_runner_left_button = static_cast<MystResourceType8 *>(_invokingResource);
}
} // End of namespace Mohawk
diff --git a/engines/mohawk/myst_scripts_selenitic.h b/engines/mohawk/myst_scripts_selenitic.h
index 2a62b1fcf6..feb5eadb27 100644
--- a/engines/mohawk/myst_scripts_selenitic.h
+++ b/engines/mohawk/myst_scripts_selenitic.h
@@ -66,13 +66,13 @@ private:
DECLARE_OPCODE(o_115_soundLockButton);
DECLARE_OPCODE(o_117_soundReceiverEndMove);
- DECLARE_OPCODE(opcode_200);
- DECLARE_OPCODE(opcode_201);
- DECLARE_OPCODE(opcode_202);
+ DECLARE_OPCODE(o_200_mazeRunnerCompass_init);
+ DECLARE_OPCODE(o_201_mazeRunnerWindow_init);
+ DECLARE_OPCODE(o_202_mazeRunnerLight_init);
DECLARE_OPCODE(o_203_soundReceiver_init);
DECLARE_OPCODE(o_204_soundLock_init);
- DECLARE_OPCODE(opcode_205);
- DECLARE_OPCODE(opcode_206);
+ DECLARE_OPCODE(o_205_mazeRunnerRight_init);
+ DECLARE_OPCODE(o_206_mazeRunnerLeft_init);
void o_203_soundReceiver_run();
@@ -93,8 +93,13 @@ private:
MystResourceType8 *_sound_receiver_angle_4; // 152
MystResourceType8 *_sound_receiver_sigma_button; // 156
- bool _maze_runner_door_opened; // 160
uint16 _maze_runner_position; // 56
+ MystResourceType8 *_maze_runner_window; // 68
+ MystResourceType8 *_maze_runner_compass; // 72
+ MystResourceType8 *_maze_runner_light; // 76
+ MystResourceType8 *_maze_runner_right_button; // 80
+ MystResourceType8 *_maze_runner_left_button; // 84
+ bool _maze_runner_door_opened; // 160
uint16 _sound_lock_sound_id;
MystResourceType10 *_sound_lock_slider_1; // 164