aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorAlexander Tkachev2016-08-17 16:11:08 +0600
committerEugene Sandulenko2016-08-30 23:26:29 +0200
commitdd68bf0f183715127fbd6d2d4495d392e298a647 (patch)
treed687b3302ab3ea03bdb3d710f518957e68fe3ae6 /engines
parent45947f6ccc02b336497b896490e1ffe4d74c4965 (diff)
downloadscummvm-rg350-dd68bf0f183715127fbd6d2d4495d392e298a647.tar.gz
scummvm-rg350-dd68bf0f183715127fbd6d2d4495d392e298a647.tar.bz2
scummvm-rg350-dd68bf0f183715127fbd6d2d4495d392e298a647.zip
SCUMM HE: Add remote scripts-related kludges
Those are the last ones. Now Net stubs must be handled.
Diffstat (limited to 'engines')
-rw-r--r--engines/scumm/he/logic/moonbase_logic.cpp9
-rw-r--r--engines/scumm/he/moonbase/net_main.cpp13
-rw-r--r--engines/scumm/he/moonbase/net_main.h3
3 files changed, 21 insertions, 4 deletions
diff --git a/engines/scumm/he/logic/moonbase_logic.cpp b/engines/scumm/he/logic/moonbase_logic.cpp
index 63d2532128..c504ad4fe8 100644
--- a/engines/scumm/he/logic/moonbase_logic.cpp
+++ b/engines/scumm/he/logic/moonbase_logic.cpp
@@ -374,14 +374,15 @@ void LogicHEmoonbase::op_ai_clean_up(int op, int numArgs, int32 *args) {
#ifdef USE_SDL_NET
void LogicHEmoonbase::op_net_remote_start_script(int op, int numArgs, int32 *args) {
- warning("STUB: op_net_remote_start_script()");
+ _vm1->_moonbase->_net->remoteStartScript(args[0], args[1], args[2], numArgs - 3, &args[3]);
}
+
void LogicHEmoonbase::op_net_remote_send_array(int op, int numArgs, int32 *args) {
- warning("STUB: op_net_remote_send_array()");
+ _vm1->_moonbase->_net->remoteSendArray(args[0], args[1], args[2], args[3]);
}
+
int LogicHEmoonbase::op_net_remote_start_function(int op, int numArgs, int32 *args) {
- warning("STUB: op_net_remote_start_function()");
- return 1;
+ return _vm1->_moonbase->_net->remoteStartScriptFunction(args[0], args[1], args[2], args[3], numArgs - 4, &args[4]);
}
int LogicHEmoonbase::op_net_do_init_all(int op, int numArgs, int32 *args) {
diff --git a/engines/scumm/he/moonbase/net_main.cpp b/engines/scumm/he/moonbase/net_main.cpp
index f2ef1c8cf1..cdc2eef333 100644
--- a/engines/scumm/he/moonbase/net_main.cpp
+++ b/engines/scumm/he/moonbase/net_main.cpp
@@ -158,6 +158,19 @@ bool Net::initUser() {
return false;
}
+void Net::remoteStartScript(int typeOfSend, int sendTypeParam, int priority, int argsCount, int32 *args) {
+ warning("STUB: Net::remoteStartScript(%d, %d, %d, %d, ...)", typeOfSend, sendTypeParam, priority, argsCount); // PN_RemoteStartScriptCommand
+}
+
+void Net::remoteSendArray(int typeOfSend, int sendTypeParam, int priority, int arrayIndex) {
+ warning("STUB: Net::remoteSendArray(%d, %d, %d, %d)", typeOfSend, sendTypeParam, priority, arrayIndex); // PN_RemoteSendArrayCommand
+}
+
+int Net::remoteStartScriptFunction(int typeOfSend, int sendTypeParam, int priority, int defaultReturnValue, int argsCount, int32 *args) {
+ warning("STUB: Net::remoteStartScriptFunction(%d, %d, %d, %d, %d, ...)", typeOfSend, sendTypeParam, priority, defaultReturnValue, argsCount); // PN_RemoteStartScriptFunction
+ return 0;
+}
+
bool Net::getHostName(char *hostname, int length) {
warning("STUB: Net::getHostName(\"%s\", %d)", hostname, length); // PN_GetHostName
return false;
diff --git a/engines/scumm/he/moonbase/net_main.h b/engines/scumm/he/moonbase/net_main.h
index dbfe08d40f..8350904fcd 100644
--- a/engines/scumm/he/moonbase/net_main.h
+++ b/engines/scumm/he/moonbase/net_main.h
@@ -59,6 +59,9 @@ public:
bool initProvider();
bool initSession();
bool initUser();
+ void remoteStartScript(int typeOfSend, int sendTypeParam, int priority, int argsCount, int32 *args);
+ void remoteSendArray(int typeOfSend, int sendTypeParam, int priority, int arrayIndex);
+ int remoteStartScriptFunction(int typeOfSend, int sendTypeParam, int priority, int defaultReturnValue, int argsCount, int32 *args);
private: