Skip to content

Commit

Permalink
HE: Add Moonbase logic ops stubs
Browse files Browse the repository at this point in the history
Most of them return int, yet there are a few which don't return
anything. Stubs print a warning and return 1 (or nothing).
  • Loading branch information
Tkachov authored and sev- committed Aug 30, 2016
1 parent 7ac4bdd commit 4df16d6
Showing 1 changed file with 267 additions and 0 deletions.
267 changes: 267 additions & 0 deletions engines/scumm/he/logic/moonbase_logic.cpp
Expand Up @@ -57,6 +57,45 @@ class LogicHEmoonbase : public LogicHE {
void op_ai_set_type(int op, int numArgs, int32 *args);
void op_ai_clean_up(int op, int numArgs, int32 *args);

#ifdef USE_SDL_NET
void op_net_remote_start_script(int op, int numArgs, int32 *args);
void op_net_remote_send_array(int op, int numArgs, int32 *args);
int op_net_remote_start_function(int op, int numArgs, int32 *args);
int op_net_do_init_all(int op, int numArgs, int32 *args);
int op_net_do_init_provider(int op, int numArgs, int32 *args);
int op_net_do_init_session(int op, int numArgs, int32 *args);
int op_net_do_init_user(int op, int numArgs, int32 *args);
int op_net_query_providers(int op, int numArgs, int32 *args);
int op_net_get_provider_name(int op, int numArgs, int32 *args);
int op_net_set_provider(int op, int numArgs, int32 *args);
int op_net_close_provider(int op, int numArgs, int32 *args);
int op_net_start_query_sessions(int op, int numArgs, int32 *args);
int op_net_update_query_sessions(int op, int numArgs, int32 *args);
int op_net_stop_query_sessions(int op, int numArgs, int32 *args);
int op_net_query_sessions(int op, int numArgs, int32 *args);
int op_net_get_session_name(int op, int numArgs, int32 *args);
int op_net_get_session_player_count(int op, int numArgs, int32 *args);
int op_net_destroy_player(int op, int numArgs, int32 *args);
int op_net_get_player_long_name(int op, int numArgs, int32 *args);
int op_net_get_player_short_name(int op, int numArgs, int32 *args);
int op_net_create_session(int op, int numArgs, int32 *args);
int op_net_join_session(int op, int numArgs, int32 *args);
int op_net_end_session(int op, int numArgs, int32 *args);
int op_net_disable_session_player_join(int op, int numArgs, int32 *args);
int op_net_enable_session_player_join(int op, int numArgs, int32 *args);
int op_net_set_ai_player_count(int op, int numArgs, int32 *args);
int op_net_add_user(int op, int numArgs, int32 *args);
int op_net_remove_user(int op, int numArgs, int32 *args);
int op_net_who_sent_this(int op, int numArgs, int32 *args);
int op_net_who_am_i(int op, int numArgs, int32 *args);
int op_net_set_provider_by_name(int op, int numArgs, int32 *args);
void op_net_set_fake_latency(int op, int numArgs, int32 *args);
int op_net_get_host_name(int op, int numArgs, int32 *args);
int op_net_get_ip_from_name(int op, int numArgs, int32 *args);
int op_net_host_tcpip_game(int op, int numArgs, int32 *args);
int op_net_join_tcpip_game(int op, int numArgs, int32 *args);
#endif

private:
ScummEngine_v100he *_vm1;
};
Expand Down Expand Up @@ -110,6 +149,7 @@ int LogicHEmoonbase::versionID() {
#define OP_NET_HOST_TCPIP_GAME 1517
#define OP_NET_JOIN_TCPIP_GAME 1518
#define OP_NET_SET_FAKE_LAG 1555
#define OP_NET_SET_FAKE_LATENCY 1555 /* SET_FAKE_LAG is a valid alias for backwards compatibility */
#define OP_NET_GET_HOST_NAME 1556
#define OP_NET_GET_IP_FROM_NAME 1557
#define OP_NET_GET_SESSION_PLAYER_COUNT 1558
Expand Down Expand Up @@ -160,6 +200,86 @@ int32 LogicHEmoonbase::dispatch(int op, int numArgs, int32 *args) {
op_ai_clean_up(op, numArgs, args);
break;

#ifdef USE_SDL_NET
case OP_NET_REMOTE_START_SCRIPT:
op_net_remote_start_script(op, numArgs, args);
break;
case OP_NET_REMOTE_SEND_ARRAY:
op_net_remote_send_array(op, numArgs, args);
break;
case OP_NET_REMOTE_START_FUNCTION:
return op_net_remote_start_function(op, numArgs, args);
case OP_NET_DO_INIT_ALL:
return op_net_do_init_all(op, numArgs, args);
case OP_NET_DO_INIT_PROVIDER:
return op_net_do_init_provider(op, numArgs, args);
case OP_NET_DO_INIT_SESSION:
return op_net_do_init_session(op, numArgs, args);
case OP_NET_DO_INIT_USER:
return op_net_do_init_user(op, numArgs, args);
case OP_NET_QUERY_PROVIDERS:
return op_net_query_providers(op, numArgs, args);
case OP_NET_GET_PROVIDER_NAME:
return op_net_get_provider_name(op, numArgs, args);
case OP_NET_SET_PROVIDER:
return op_net_set_provider(op, numArgs, args);
case OP_NET_CLOSE_PROVIDER:
return op_net_close_provider(op, numArgs, args);
case OP_NET_START_QUERY_SESSIONS:
return op_net_start_query_sessions(op, numArgs, args);
case OP_NET_UPDATE_QUERY_SESSIONS:
return op_net_update_query_sessions(op, numArgs, args);
case OP_NET_STOP_QUERY_SESSIONS:
return op_net_stop_query_sessions(op, numArgs, args);
case OP_NET_QUERY_SESSIONS:
return op_net_query_sessions(op, numArgs, args);
case OP_NET_GET_SESSION_NAME:
return op_net_get_session_name(op, numArgs, args);
case OP_NET_GET_SESSION_PLAYER_COUNT:
return op_net_get_session_player_count(op, numArgs, args);
case OP_NET_DESTROY_PLAYER:
return op_net_destroy_player(op, numArgs, args);
#if 1 // 12/2/99 BPT
case OP_NET_GET_PLAYER_LONG_NAME:
return op_net_get_player_long_name(op, numArgs, args);
case OP_NET_GET_PLAYER_SHORT_NAME:
return op_net_get_player_short_name(op, numArgs, args);
#endif
case OP_NET_CREATE_SESSION:
return op_net_create_session(op, numArgs, args);
case OP_NET_JOIN_SESSION:
return op_net_join_session(op, numArgs, args);
case OP_NET_END_SESSION:
return op_net_end_session(op, numArgs, args);
case OP_NET_DISABLE_SESSION_PLAYER_JOIN:
return op_net_disable_session_player_join(op, numArgs, args);
case OP_NET_ENABLE_SESSION_PLAYER_JOIN:
return op_net_enable_session_player_join(op, numArgs, args);
case OP_NET_SET_AI_PLAYER_COUNT:
return op_net_set_ai_player_count(op, numArgs, args);
case OP_NET_ADD_USER:
return op_net_add_user(op, numArgs, args);
case OP_NET_REMOVE_USER:
return op_net_remove_user(op, numArgs, args);
case OP_NET_WHO_SENT_THIS:
return op_net_who_sent_this(op, numArgs, args);
case OP_NET_WHO_AM_I:
return op_net_who_am_i(op, numArgs, args);
case OP_NET_SET_PROVIDER_BY_NAME:
return op_net_set_provider_by_name(op, numArgs, args);
case OP_NET_SET_FAKE_LATENCY: // SET_FAKE_LAG is a valid alias for backwards compatibility
op_net_set_fake_latency(op, numArgs, args);
break;
case OP_NET_GET_HOST_NAME:
return op_net_get_host_name(op, numArgs, args);
case OP_NET_GET_IP_FROM_NAME:
return op_net_get_ip_from_name(op, numArgs, args);
case OP_NET_HOST_TCPIP_GAME:
return op_net_host_tcpip_game(op, numArgs, args);
case OP_NET_JOIN_TCPIP_GAME:
return op_net_join_tcpip_game(op, numArgs, args);
#endif

default:
LogicHE::dispatch(op, numArgs, args);
}
Expand Down Expand Up @@ -251,6 +371,153 @@ void LogicHEmoonbase::op_ai_clean_up(int op, int numArgs, int32 *args) {
_vm1->_moonbase->_ai->cleanUpAI();
}

#ifdef USE_SDL_NET
void LogicHEmoonbase::op_net_remote_start_script(int op, int numArgs, int32 *args) {
warning("STUB: op_net_remote_start_script()");
}
void LogicHEmoonbase::op_net_remote_send_array(int op, int numArgs, int32 *args) {
warning("STUB: op_net_remote_send_array()");
}
int LogicHEmoonbase::op_net_remote_start_function(int op, int numArgs, int32 *args) {
warning("STUB: op_net_remote_start_function()");
return 1;
}
int LogicHEmoonbase::op_net_do_init_all(int op, int numArgs, int32 *args) {
warning("STUB: op_net_do_init_all()");
return 1;
}
int LogicHEmoonbase::op_net_do_init_provider(int op, int numArgs, int32 *args) {
warning("STUB: op_net_do_init_provider()");
return 1;
}
int LogicHEmoonbase::op_net_do_init_session(int op, int numArgs, int32 *args) {
warning("STUB: op_net_do_init_session()");
return 1;
}
int LogicHEmoonbase::op_net_do_init_user(int op, int numArgs, int32 *args) {
warning("STUB: op_net_do_init_user()");
return 1;
}
int LogicHEmoonbase::op_net_query_providers(int op, int numArgs, int32 *args) {
warning("STUB: op_net_query_providers()");
return 1;
}
int LogicHEmoonbase::op_net_get_provider_name(int op, int numArgs, int32 *args) {
warning("STUB: op_net_get_provider_name()");
return 1;
}
int LogicHEmoonbase::op_net_set_provider(int op, int numArgs, int32 *args) {
warning("STUB: op_net_set_provider()");
return 1;
}
int LogicHEmoonbase::op_net_close_provider(int op, int numArgs, int32 *args) {
warning("STUB: op_net_close_provider()");
return 1;
}
int LogicHEmoonbase::op_net_start_query_sessions(int op, int numArgs, int32 *args) {
warning("STUB: op_net_start_query_sessions()");
return 1;
}
int LogicHEmoonbase::op_net_update_query_sessions(int op, int numArgs, int32 *args) {
warning("STUB: op_net_update_query_sessions()");
return 1;
}
int LogicHEmoonbase::op_net_stop_query_sessions(int op, int numArgs, int32 *args) {
warning("STUB: op_net_stop_query_sessions()");
return 1;
}
int LogicHEmoonbase::op_net_query_sessions(int op, int numArgs, int32 *args) {
warning("STUB: op_net_query_sessions()");
return 1;
}
int LogicHEmoonbase::op_net_get_session_name(int op, int numArgs, int32 *args) {
warning("STUB: op_net_get_session_name()");
return 1;
}
int LogicHEmoonbase::op_net_get_session_player_count(int op, int numArgs, int32 *args) {
warning("STUB: op_net_get_session_player_count()");
return 1;
}
int LogicHEmoonbase::op_net_destroy_player(int op, int numArgs, int32 *args) {
warning("STUB: op_net_destroy_player()");
return 1;
}
int LogicHEmoonbase::op_net_get_player_long_name(int op, int numArgs, int32 *args) {
warning("STUB: op_net_get_player_long_name()");
return 1;
}
int LogicHEmoonbase::op_net_get_player_short_name(int op, int numArgs, int32 *args) {
warning("STUB: op_net_get_player_short_name()");
return 1;
}
int LogicHEmoonbase::op_net_create_session(int op, int numArgs, int32 *args) {
warning("STUB: op_net_create_session()");
return 1;
}
int LogicHEmoonbase::op_net_join_session(int op, int numArgs, int32 *args) {
warning("STUB: op_net_join_session()");
return 1;
}
int LogicHEmoonbase::op_net_end_session(int op, int numArgs, int32 *args) {
warning("STUB: op_net_end_session()");
return 1;
}
int LogicHEmoonbase::op_net_disable_session_player_join(int op, int numArgs, int32 *args) {
warning("STUB: op_net_disable_session_player_join()");
return 1;
}
int LogicHEmoonbase::op_net_enable_session_player_join(int op, int numArgs, int32 *args) {
warning("STUB: op_net_enable_session_player_join()");
return 1;
}
int LogicHEmoonbase::op_net_set_ai_player_count(int op, int numArgs, int32 *args) {
warning("STUB: op_net_set_ai_player_count()");
return 1;
}
int LogicHEmoonbase::op_net_add_user(int op, int numArgs, int32 *args) {
warning("STUB: op_net_add_user()");
return 1;
}
int LogicHEmoonbase::op_net_remove_user(int op, int numArgs, int32 *args) {
warning("STUB: op_net_remove_user()");
return 1;
}
int LogicHEmoonbase::op_net_who_sent_this(int op, int numArgs, int32 *args) {
warning("STUB: op_net_who_sent_this()");
return 1;
}
int LogicHEmoonbase::op_net_who_am_i(int op, int numArgs, int32 *args) {
warning("STUB: op_net_who_am_i()");
return 1;
}

int LogicHEmoonbase::op_net_set_provider_by_name(int op, int numArgs, int32 *args) {
// Parameter 1 is the provider name and
// Parameter 2 is the (optional) tcp/ip address
warning("STUB: op_net_set_provider_by_name()");
return 1;
}
void LogicHEmoonbase::op_net_set_fake_latency(int op, int numArgs, int32 *args) {
warning("STUB: op_net_set_fake_latency()");
}
int LogicHEmoonbase::op_net_get_host_name(int op, int numArgs, int32 *args) {
warning("STUB: op_net_get_host_name()");
return 1;
}
int LogicHEmoonbase::op_net_get_ip_from_name(int op, int numArgs, int32 *args) {
warning("STUB: op_net_get_ip_from_name()");
return 1;
}
int LogicHEmoonbase::op_net_host_tcpip_game(int op, int numArgs, int32 *args) {
warning("STUB: op_net_host_tcpip_game()");
return 1;
}
int LogicHEmoonbase::op_net_join_tcpip_game(int op, int numArgs, int32 *args) {
warning("STUB: op_net_join_tcpip_game()");
return 1;
}
#endif

LogicHE *makeLogicHEmoonbase(ScummEngine_v100he *vm) {
return new LogicHEmoonbase(vm);
}
Expand Down

0 comments on commit 4df16d6

Please sign in to comment.