iw5-mod/src/game/game.cpp

60 lines
1.4 KiB
C++
Raw Normal View History

2018-12-24 23:22:56 +01:00
#include <std_include.hpp>
#include "game.hpp"
namespace game
{
namespace native
{
2018-12-28 12:50:34 +01:00
Cmd_AddCommand_t Cmd_AddCommand;
Conbuf_AppendText_t Conbuf_AppendText;
2018-12-28 13:59:44 +01:00
DB_LoadXAssets_t DB_LoadXAssets;
MSG_ReadData_t MSG_ReadData;
2018-12-24 23:22:56 +01:00
Sys_ShowConsole_t Sys_ShowConsole;
2018-12-28 12:50:34 +01:00
int* cmd_args;
int* cmd_argc;
const char*** cmd_argv;
2018-12-24 23:22:56 +01:00
}
2018-12-26 16:28:16 +01:00
launcher::mode mode = launcher::mode::none;
2018-12-24 23:22:56 +01:00
bool is_mp()
{
2018-12-26 16:28:16 +01:00
return mode == launcher::mode::multiplayer;
2018-12-24 23:22:56 +01:00
}
bool is_sp()
{
2018-12-26 16:28:16 +01:00
return mode == launcher::mode::singleplayer;
2018-12-24 23:22:56 +01:00
}
bool is_dedi()
{
2018-12-26 16:28:16 +01:00
return mode == launcher::mode::server;
2018-12-24 23:22:56 +01:00
}
void initialize(const launcher::mode _mode)
{
mode = _mode;
2018-12-28 12:50:34 +01:00
native::Cmd_AddCommand = native::Cmd_AddCommand_t(SELECT_VALUE(0x558820, 0x545DF0, 0));
native::Conbuf_AppendText = native::Conbuf_AppendText_t(SELECT_VALUE(0x4C84E0, 0x5CF610, 0x53C790));
2018-12-28 13:59:44 +01:00
native::DB_LoadXAssets = native::DB_LoadXAssets_t(SELECT_VALUE(0x48A8E0, 0x4CD020, 0x44F770));
native::MSG_ReadData = native::MSG_ReadData_t(SELECT_VALUE(0, 0x5592A0, 0));
2018-12-24 23:22:56 +01:00
native::Sys_ShowConsole = native::Sys_ShowConsole_t(SELECT_VALUE(0x470AF0, 0x5CF590, 0));
2018-12-28 12:50:34 +01:00
native::cmd_args = reinterpret_cast<int*>(SELECT_VALUE(0x1750750, 0x1C978D0, 0x1B455F8));
native::cmd_argc = reinterpret_cast<int*>(SELECT_VALUE(0x1750794, 0x1C97914, 0x1B4563C));
native::cmd_argv = reinterpret_cast<const char***>(SELECT_VALUE(0x17507B4, 0x1C97934, 0x1B4565C));
2018-12-24 23:22:56 +01:00
}
}