mirror of
https://github.com/diamante0018/MW3ServerFreezer.git
synced 2025-04-19 11:42:53 +00:00
better structs
This commit is contained in:
parent
cf85eebf0d
commit
1ffc5ba3f1
@ -2,8 +2,10 @@
|
|||||||
|
|
||||||
#include <loader/component_loader.hpp>
|
#include <loader/component_loader.hpp>
|
||||||
#include <utils/hook.hpp>
|
#include <utils/hook.hpp>
|
||||||
|
#include <utils/string.hpp>
|
||||||
|
|
||||||
#include "key_catcher.hpp"
|
#include "key_catcher.hpp"
|
||||||
|
#include "command.hpp"
|
||||||
|
|
||||||
namespace cheats
|
namespace cheats
|
||||||
{
|
{
|
||||||
@ -84,6 +86,11 @@ namespace cheats
|
|||||||
{
|
{
|
||||||
game::Dvar_SetBool(cl_EnableCheats, false);
|
game::Dvar_SetBool(cl_EnableCheats, false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
key_catcher::on_key_press("Y", [](const game::LocalClientNum_t&)
|
||||||
|
{
|
||||||
|
command::execute(utils::string::va("cmd mr %i 2 allies", *game::serverId), true);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ namespace network
|
|||||||
}
|
}
|
||||||
|
|
||||||
const auto offset = cmd_string.size() + 5;
|
const auto offset = cmd_string.size() + 5;
|
||||||
const std::string_view data(message->data + offset, message->cursize - offset);
|
const std::string_view data(reinterpret_cast<char*>(message->data) + offset, message->cursize - offset);
|
||||||
|
|
||||||
handler->second(*address, data);
|
handler->second(*address, data);
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#pragma warning(push)
|
||||||
|
#pragma warning(disable: 4324)
|
||||||
|
|
||||||
namespace game
|
namespace game
|
||||||
{
|
{
|
||||||
typedef float vec_t;
|
typedef float vec_t;
|
||||||
@ -28,26 +31,153 @@ namespace game
|
|||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
ERR_FATAL = 0x0,
|
K_NONE = 0x0,
|
||||||
ERR_DROP = 0x1,
|
K_FIRSTGAMEPADBUTTON_RANGE_1 = 0x1, // First Gamepad 1
|
||||||
ERR_SERVERDISCONNECT = 0x2,
|
K_BUTTON_A = 0x1,
|
||||||
ERR_DISCONNECT = 0x3,
|
K_BUTTON_B = 0x2,
|
||||||
ERR_SCRIPT = 0x4,
|
K_BUTTON_X = 0x3,
|
||||||
ERR_SCRIPT_DROP = 0x5,
|
K_BUTTON_Y = 0x4,
|
||||||
ERR_LOCALIZATION = 0x6,
|
K_BUTTON_LSHLDR = 0x5,
|
||||||
ERR_MAPLOADERRORSUMMARY = 0x7
|
K_BUTTON_RSHLDR = 0x6,
|
||||||
} errorParm_t;
|
K_LASTGAMEPADBUTTON_RANGE_1 = 0x6, // Last Gamepad 1
|
||||||
|
K_TAB = 0x9,
|
||||||
|
K_ENTER = 0xD,
|
||||||
|
K_FIRSTGAMEPADBUTTON_RANGE_2 = 0xE, // First Gamepad 2
|
||||||
|
K_BUTTON_START = 0xE,
|
||||||
|
K_BUTTON_BACK = 0xF,
|
||||||
|
K_BUTTON_LSTICK = 0x10,
|
||||||
|
K_BUTTON_RSTICK = 0x11,
|
||||||
|
K_BUTTON_LTRIG = 0x12,
|
||||||
|
K_BUTTON_RTRIG = 0x13,
|
||||||
|
K_FIRSTDPAD = 0x14, // First Dpad
|
||||||
|
K_DPAD_UP = 0x14,
|
||||||
|
K_DPAD_DOWN = 0x15,
|
||||||
|
K_DPAD_LEFT = 0x16,
|
||||||
|
K_DPAD_RIGHT = 0x17,
|
||||||
|
K_LASTDPAD = 0x17, // Last Dpad
|
||||||
|
K_DPAD_LEFTRIGHT = 0x18,
|
||||||
|
K_DPAD_UPDOWN = 0x19,
|
||||||
|
K_LASTGAMEPADBUTTON_RANGE_2 = 0x19, // Last Gamepad 2
|
||||||
|
K_ESCAPE = 0x1B,
|
||||||
|
K_FIRSTGAMEPADBUTTON_RANGE_3 = 0x1C, // First Gamepad 3
|
||||||
|
K_FIRSTAPAD = 0x1C, // First APad
|
||||||
|
K_APAD_UP = 0x1C,
|
||||||
|
K_APAD_DOWN = 0x1D,
|
||||||
|
K_APAD_LEFT = 0x1E,
|
||||||
|
K_APAD_RIGHT = 0x1F,
|
||||||
|
K_LASTAPAD = 0x1F, // Last APad
|
||||||
|
K_LASTGAMEPADBUTTON_RANGE_3 = 0x1F, // Last Gamepad 3
|
||||||
|
K_SPACE = 0x20,
|
||||||
|
K_BACKSPACE = 0x7F,
|
||||||
|
K_ASCII_FIRST = 0x80,
|
||||||
|
K_ASCII_181 = 0x80,
|
||||||
|
K_ASCII_191 = 0x81,
|
||||||
|
K_ASCII_223 = 0x82,
|
||||||
|
K_ASCII_224 = 0x83,
|
||||||
|
K_ASCII_225 = 0x84,
|
||||||
|
K_ASCII_228 = 0x85,
|
||||||
|
K_ASCII_229 = 0x86,
|
||||||
|
K_ASCII_230 = 0x87,
|
||||||
|
K_ASCII_231 = 0x88,
|
||||||
|
K_ASCII_232 = 0x89,
|
||||||
|
K_ASCII_233 = 0x8A,
|
||||||
|
K_ASCII_236 = 0x8B,
|
||||||
|
K_ASCII_241 = 0x8C,
|
||||||
|
K_ASCII_242 = 0x8D,
|
||||||
|
K_ASCII_243 = 0x8E,
|
||||||
|
K_ASCII_246 = 0x8F,
|
||||||
|
K_ASCII_248 = 0x90,
|
||||||
|
K_ASCII_249 = 0x91,
|
||||||
|
K_ASCII_250 = 0x92,
|
||||||
|
K_ASCII_252 = 0x93,
|
||||||
|
K_END_ASCII_CHARS = 0x94,
|
||||||
|
K_COMMAND = 0x96,
|
||||||
|
K_CAPSLOCK = 0x97,
|
||||||
|
K_POWER = 0x98,
|
||||||
|
K_PAUSE = 0x99,
|
||||||
|
K_UPARROW = 0x9A,
|
||||||
|
K_DOWNARROW = 0x9B,
|
||||||
|
K_LEFTARROW = 0x9C,
|
||||||
|
K_RIGHTARROW = 0x9D,
|
||||||
|
K_ALT = 0x9E,
|
||||||
|
K_CTRL = 0x9F,
|
||||||
|
K_SHIFT = 0xA0,
|
||||||
|
K_INS = 0xA1,
|
||||||
|
K_DEL = 0xA2,
|
||||||
|
K_PGDN = 0xA3,
|
||||||
|
K_PGUP = 0xA4,
|
||||||
|
K_HOME = 0xA5,
|
||||||
|
K_END = 0xA6,
|
||||||
|
K_F1 = 0xA7,
|
||||||
|
K_F2 = 0xA8,
|
||||||
|
K_F3 = 0xA9,
|
||||||
|
K_F4 = 0xAA,
|
||||||
|
K_F5 = 0xAB,
|
||||||
|
K_F6 = 0xAC,
|
||||||
|
K_F7 = 0xAD,
|
||||||
|
K_F8 = 0xAE,
|
||||||
|
K_F9 = 0xAF,
|
||||||
|
K_F10 = 0xB0,
|
||||||
|
K_F11 = 0xB1,
|
||||||
|
K_F12 = 0xB2,
|
||||||
|
K_F13 = 0xB3,
|
||||||
|
K_F14 = 0xB4,
|
||||||
|
K_F15 = 0xB5,
|
||||||
|
K_KP_HOME = 0xB6,
|
||||||
|
K_KP_UPARROW = 0xB7,
|
||||||
|
K_KP_PGUP = 0xB8,
|
||||||
|
K_KP_LEFTARROW = 0xB9,
|
||||||
|
K_KP_5 = 0xBA,
|
||||||
|
K_KP_RIGHTARROW = 0xBB,
|
||||||
|
K_KP_END = 0xBC,
|
||||||
|
K_KP_DOWNARROW = 0xBD,
|
||||||
|
K_KP_PGDN = 0xBE,
|
||||||
|
K_KP_ENTER = 0xBF,
|
||||||
|
K_KP_INS = 0xC0,
|
||||||
|
K_KP_DEL = 0xC1,
|
||||||
|
K_KP_SLASH = 0xC2,
|
||||||
|
K_KP_MINUS = 0xC3,
|
||||||
|
K_KP_PLUS = 0xC4,
|
||||||
|
K_KP_NUMLOCK = 0xC5,
|
||||||
|
K_KP_STAR = 0xC6,
|
||||||
|
K_KP_EQUALS = 0xC7,
|
||||||
|
K_MOUSE1 = 0xC8,
|
||||||
|
K_MOUSE2 = 0xC9,
|
||||||
|
K_MOUSE3 = 0xCA,
|
||||||
|
K_MOUSE4 = 0xCB,
|
||||||
|
K_MOUSE5 = 0xCC,
|
||||||
|
K_MWHEELDOWN = 0xCD,
|
||||||
|
K_MWHEELUP = 0xCE,
|
||||||
|
K_AUX1 = 0xCF,
|
||||||
|
K_AUX2 = 0xD0,
|
||||||
|
K_AUX3 = 0xD1,
|
||||||
|
K_AUX4 = 0xD2,
|
||||||
|
K_AUX5 = 0xD3,
|
||||||
|
K_AUX6 = 0xD4,
|
||||||
|
K_AUX7 = 0xD5,
|
||||||
|
K_AUX8 = 0xD6,
|
||||||
|
K_AUX9 = 0xD7,
|
||||||
|
K_AUX10 = 0xD8,
|
||||||
|
K_AUX11 = 0xD9,
|
||||||
|
K_AUX12 = 0xDA,
|
||||||
|
K_AUX13 = 0xDB,
|
||||||
|
K_AUX14 = 0xDC,
|
||||||
|
K_AUX15 = 0xDD,
|
||||||
|
K_AUX16 = 0xDE,
|
||||||
|
K_LAST_KEY = 0xDF
|
||||||
|
} keyNum_t;
|
||||||
|
|
||||||
enum class LocalClientNum_t
|
struct kbutton_t
|
||||||
{
|
{
|
||||||
LOCAL_CLIENT_0 = 0,
|
int down[2];
|
||||||
LOCAL_CLIENT_1 = 1,
|
unsigned int downtime;
|
||||||
LOCAL_CLIENT_2 = 2,
|
unsigned int msec;
|
||||||
LOCAL_CLIENT_3 = 3,
|
bool active;
|
||||||
LOCAL_CLIENT_LAST = 3,
|
bool wasPressed;
|
||||||
LOCAL_CLIENT_COUNT = 4
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static_assert(sizeof(kbutton_t) == 20);
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
NS_CLIENT1 = 0,
|
NS_CLIENT1 = 0,
|
||||||
@ -81,12 +211,79 @@ namespace game
|
|||||||
|
|
||||||
static_assert(sizeof(netadr_s) == 24);
|
static_assert(sizeof(netadr_s) == 24);
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
BD_ECC_KEY_UNINITIALIZED = 0x0,
|
||||||
|
BD_ECC_KEY_INITIALIZED = 0x1
|
||||||
|
} bdECCKeyStatus;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
BD_DTLS_INIT = 0x1,
|
||||||
|
BD_DTLS_INIT_ACK = 0x2,
|
||||||
|
BD_DTLS_COOKIE_ECHO = 0x3,
|
||||||
|
BD_DTLS_COOKIE_ACK = 0x4,
|
||||||
|
BD_DTLS_ERROR = 0x5,
|
||||||
|
BD_DTLS_DATA = 0x6
|
||||||
|
} bdDTLSPacketTypes;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
BD_DTLS_CLOSED = 0x0,
|
||||||
|
BD_DTLS_COOKIE_WAIT = 0x1,
|
||||||
|
BD_DTLS_COOKIE_ECHOED = 0x2,
|
||||||
|
BD_DTLS_ESTABLISHED = 0x3
|
||||||
|
} bdDTLSStatus;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
BD_DTLS_ERROR_BAD_SECID = 0x0,
|
||||||
|
BD_DTLS_INVALID_STATE = 0x1
|
||||||
|
} bdDTLSErrorType;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
BD_NAT_OPEN = 0x1,
|
||||||
|
BD_NAT_MODERATE = 0x2,
|
||||||
|
BD_NAT_STRICT = 0x3
|
||||||
|
} bdNATType;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
BD_SOCKET_IDLE = 0x0,
|
||||||
|
BD_SOCKET_PENDING = 0x1,
|
||||||
|
BD_SOCKET_CONNECTED = 0x2,
|
||||||
|
BD_SOCKET_LOST = 0x3
|
||||||
|
} bdDTLSAssociationStatus;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ERR_FATAL = 0x0,
|
||||||
|
ERR_DROP = 0x1,
|
||||||
|
ERR_SERVERDISCONNECT = 0x2,
|
||||||
|
ERR_DISCONNECT = 0x3,
|
||||||
|
ERR_SCRIPT = 0x4,
|
||||||
|
ERR_SCRIPT_DROP = 0x5,
|
||||||
|
ERR_LOCALIZATION = 0x6,
|
||||||
|
ERR_MAPLOADERRORSUMMARY = 0x7
|
||||||
|
} errorParm_t;
|
||||||
|
|
||||||
|
enum class LocalClientNum_t
|
||||||
|
{
|
||||||
|
LOCAL_CLIENT_0 = 0,
|
||||||
|
LOCAL_CLIENT_1 = 1,
|
||||||
|
LOCAL_CLIENT_2 = 2,
|
||||||
|
LOCAL_CLIENT_3 = 3,
|
||||||
|
LOCAL_CLIENT_LAST = 3,
|
||||||
|
LOCAL_CLIENT_COUNT = 4
|
||||||
|
};
|
||||||
|
|
||||||
struct msg_t
|
struct msg_t
|
||||||
{
|
{
|
||||||
int overflowed;
|
int overflowed;
|
||||||
int readOnly;
|
int readOnly;
|
||||||
char* data;
|
unsigned char* data;
|
||||||
char* splitData;
|
unsigned char* splitData;
|
||||||
int maxsize;
|
int maxsize;
|
||||||
int cursize;
|
int cursize;
|
||||||
int splitSize;
|
int splitSize;
|
||||||
@ -852,4 +1049,10 @@ namespace game
|
|||||||
int statPacketSendTime[10]; // From here it might be wrong
|
int statPacketSendTime[10]; // From here it might be wrong
|
||||||
int currentGamestatePacket;
|
int currentGamestatePacket;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct clientStatic_t
|
||||||
|
{
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma warning(pop)
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
namespace game
|
namespace game
|
||||||
{
|
{
|
||||||
// Functions
|
// Functions
|
||||||
|
WEAK symbol<void()> Sys_ShowConsole{0x515CD0};
|
||||||
WEAK symbol<void(errorParm_t, const char* fmt, ...)> Com_Error{0x4A6660};
|
WEAK symbol<void(errorParm_t, const char* fmt, ...)> Com_Error{0x4A6660};
|
||||||
WEAK symbol<const char*(int index)> ConcatArgs{0x539060};
|
WEAK symbol<const char*(int index)> ConcatArgs{0x539060};
|
||||||
WEAK symbol<void(LocalClientNum_t, const char* text)> Cbuf_AddText{0x4C1030};
|
WEAK symbol<void(LocalClientNum_t, const char* text)> Cbuf_AddText{0x4C1030};
|
||||||
@ -53,4 +54,7 @@ namespace game
|
|||||||
WEAK symbol<CmdArgs> cmd_args{0x1C96850};
|
WEAK symbol<CmdArgs> cmd_args{0x1C96850};
|
||||||
WEAK symbol<PlayerKeyState> playerKeys{0xB3A38C};
|
WEAK symbol<PlayerKeyState> playerKeys{0xB3A38C};
|
||||||
WEAK symbol<clientConnection_t> localClientConnection{0xB3D360};
|
WEAK symbol<clientConnection_t> localClientConnection{0xB3D360};
|
||||||
|
WEAK symbol<HWND> g_wv_hWnd{0x5A86AF0};
|
||||||
|
WEAK symbol<HWND> s_wcd_hWnd{0x5A86330};
|
||||||
|
WEAK symbol<int> serverId{0x0FF5058};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user