aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he/logic
diff options
context:
space:
mode:
authorEugene Sandulenko2016-04-29 22:22:20 +0200
committerEugene Sandulenko2016-04-29 22:22:20 +0200
commit73b8dfe5ce54232080ba7e425dc877fd4854e1a0 (patch)
treee803bc1bb377f1041a9226630f5eb6a149c51ea4 /engines/scumm/he/logic
parent91a91309bf80cefc7730e5bec7f948a111428152 (diff)
downloadscummvm-rg350-73b8dfe5ce54232080ba7e425dc877fd4854e1a0.tar.gz
scummvm-rg350-73b8dfe5ce54232080ba7e425dc877fd4854e1a0.tar.bz2
scummvm-rg350-73b8dfe5ce54232080ba7e425dc877fd4854e1a0.zip
SCUMM HE: Initial code for Moonbase-specific class
Diffstat (limited to 'engines/scumm/he/logic')
-rw-r--r--engines/scumm/he/logic/moonbase_logic.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/engines/scumm/he/logic/moonbase_logic.cpp b/engines/scumm/he/logic/moonbase_logic.cpp
index 3fcf30d6b5..22b0b186e6 100644
--- a/engines/scumm/he/logic/moonbase_logic.cpp
+++ b/engines/scumm/he/logic/moonbase_logic.cpp
@@ -42,9 +42,10 @@ private:
void op_load_multi_channel_wiz(int op, int numArgs, int32 *args);
void op_wiz_from_multi_channel_wiz(int op, int numArgs, int32 *args);
void op_dos_command(int op, int numArgs, int32 *args);
- void op_set_fow_sentinel(int op, int numArgs, int32 *args);
+ void op_set_fow_sentinel(int32 *args);
void op_set_fow_information(int op, int numArgs, int32 *args);
void op_set_fow_image(int op, int numArgs, int32 *args);
+
void op_ai_test_kludge(int op, int numArgs, int32 *args);
void op_ai_master_control_program(int op, int numArgs, int32 *args);
void op_ai_reset(int op, int numArgs, int32 *args);
@@ -90,7 +91,7 @@ int32 LogicHEmoonbase::dispatch(int op, int numArgs, int32 *args) {
op_dos_command(op, numArgs, args);
break;
case OP_SET_FOW_SENTINEL:
- op_set_fow_sentinel(op, numArgs, args);
+ op_set_fow_sentinel(args);
break;
case OP_SET_FOW_INFORMATION:
op_set_fow_information(op, numArgs, args);
@@ -142,9 +143,12 @@ void LogicHEmoonbase::op_dos_command(int op, int numArgs, int32 *args) {
LogicHE::dispatch(op, numArgs, args);
}
-void LogicHEmoonbase::op_set_fow_sentinel(int op, int numArgs, int32 *args) {
- warning("STUB: op_set_fow_sentinel()");
- LogicHE::dispatch(op, numArgs, args);
+void LogicHEmoonbase::op_set_fow_sentinel(int32 *args) {
+ debug(2, "op_set_fow_sentinel(%d, %d, %d)", args[0], args[1], args[2]);
+
+ _vm->_moonbase->_fowSentinelImage = args[0];
+ _vm->_moonbase->_fowSentinelState = args[1];
+ _vm->_moonbase->_fowSentinelConditionBits = args[2];
}
void LogicHEmoonbase::op_set_fow_information(int op, int numArgs, int32 *args) {