aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he/moonbase
diff options
context:
space:
mode:
authorEugene Sandulenko2016-05-24 10:54:01 +0200
committerEugene Sandulenko2016-05-24 11:07:48 +0200
commited5adcbc59bc6a99837c0537f8461b38717728d8 (patch)
tree714f03f89cd7b208eb31bbf9984be674b6b096cd /engines/scumm/he/moonbase
parentde59c82b488b9590f4ef9d4e1ccd1d3280890981 (diff)
downloadscummvm-rg350-ed5adcbc59bc6a99837c0537f8461b38717728d8.tar.gz
scummvm-rg350-ed5adcbc59bc6a99837c0537f8461b38717728d8.tar.bz2
scummvm-rg350-ed5adcbc59bc6a99837c0537f8461b38717728d8.zip
SCUMM HE: Fix bug with parameter initialization, add more debug output
Diffstat (limited to 'engines/scumm/he/moonbase')
-rw-r--r--engines/scumm/he/moonbase/ai_main.cpp2
-rw-r--r--engines/scumm/he/moonbase/moonbase.cpp14
2 files changed, 15 insertions, 1 deletions
diff --git a/engines/scumm/he/moonbase/ai_main.cpp b/engines/scumm/he/moonbase/ai_main.cpp
index 8ed3c48d84..554d2eeb06 100644
--- a/engines/scumm/he/moonbase/ai_main.cpp
+++ b/engines/scumm/he/moonbase/ai_main.cpp
@@ -2719,6 +2719,8 @@ int getUnitsWithinRadius(int x, int y, int radius) {
assert(y >= 0);
assert(radius >= 0);
+ debug(0, "getUnitsWithinRadius(%d, %d, %d)", x, y, radius);
+
int retVal = _vm->_moonbase->callScummFunction(MCP_params[F_GET_UNITS_WITHIN_RADIUS], 3, x, y, radius);
return retVal;
}
diff --git a/engines/scumm/he/moonbase/moonbase.cpp b/engines/scumm/he/moonbase/moonbase.cpp
index cc25c270e4..d7069e73d8 100644
--- a/engines/scumm/he/moonbase/moonbase.cpp
+++ b/engines/scumm/he/moonbase/moonbase.cpp
@@ -43,9 +43,21 @@ int Moonbase::callScummFunction(int scriptNumber, int paramCount,...) {
va_start(va_params, paramCount);
int args[25];
- for (int i = 0; i < paramCount; i++)
+ memset(args, 0, sizeof(args));
+
+ Common::String str;
+ str = Common::String::format("callScummFunction(%d, [", scriptNumber);
+
+ for (int i = 0; i < paramCount; i++) {
args[i] = va_arg(va_params, int);
+ str += Common::String::format("%d ", args[i]);
+ }
+ str += "])";
+
+ debug(0, "%s", str.c_str());
+
+
va_end(va_params);
_vm->runScript(scriptNumber, 0, 1, args);