mirror of
https://github.com/diamante0018/MW3ServerFreezer.git
synced 2026-10-03 01:55:38 +00:00
Refactor this (tekno gods dont sue please)
This commit is contained in:
46 files changed
+341
-201
No files matched your search
@@ -0,0 +1,311 @@
|
||||
#pragma once
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4324)
|
||||
|
||||
namespace game {
|
||||
typedef float vec_t;
|
||||
typedef vec_t vec2_t[2];
|
||||
typedef vec_t vec3_t[3];
|
||||
typedef vec_t vec4_t[4];
|
||||
|
||||
struct cmd_function_t {
|
||||
cmd_function_t* next;
|
||||
const char* name;
|
||||
const char* autoCompleteDir;
|
||||
const char* autoCompleteExt;
|
||||
void(__cdecl* function)();
|
||||
int flags;
|
||||
};
|
||||
|
||||
struct CmdArgs {
|
||||
int nesting;
|
||||
int localClientNum[8];
|
||||
int controllerIndex[8];
|
||||
int argc[8];
|
||||
const char** argv[8];
|
||||
};
|
||||
|
||||
struct kbutton_t {
|
||||
int down[2];
|
||||
unsigned int downtime;
|
||||
unsigned int msec;
|
||||
bool active;
|
||||
bool wasPressed;
|
||||
};
|
||||
|
||||
static_assert(sizeof(kbutton_t) == 20);
|
||||
|
||||
typedef enum {
|
||||
NS_CLIENT1 = 0,
|
||||
NS_CLIENT2 = 1,
|
||||
NS_CLIENT3 = 2,
|
||||
NS_CLIENT4 = 3,
|
||||
NS_MAXCLIENTS = 4,
|
||||
NS_SERVER = 4,
|
||||
NS_PACKET = 5,
|
||||
NS_INVALID_NETSRC = 6
|
||||
} netsrc_t;
|
||||
|
||||
enum netadrtype_t {
|
||||
NA_BOT = 0x0,
|
||||
NA_BAD = 0x1,
|
||||
NA_LOOPBACK = 0x2,
|
||||
NA_BROADCAST = 0x3,
|
||||
NA_IP = 0x4
|
||||
};
|
||||
|
||||
struct netadr_s {
|
||||
netadrtype_t type;
|
||||
unsigned char ip[4];
|
||||
unsigned __int16 port;
|
||||
unsigned char ipx[10];
|
||||
unsigned int addrHandleIndex;
|
||||
};
|
||||
|
||||
static_assert(sizeof(netadr_s) == 24);
|
||||
|
||||
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
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
CA_DISCONNECTED = 0,
|
||||
CA_CINEMATIC = 1,
|
||||
CA_LOGO = 2,
|
||||
CA_CONNECTING = 3,
|
||||
CA_CHALLENGING = 4,
|
||||
CA_CONNECTED = 5,
|
||||
CA_SENDINGSTATS = 6,
|
||||
CA_REQUESTING_MATCH_RULES = 7,
|
||||
CA_LOADING = 8,
|
||||
CA_PRIMED = 9,
|
||||
CA_ACTIVE = 10
|
||||
} connstate_t;
|
||||
|
||||
struct msg_t {
|
||||
int overflowed;
|
||||
int readOnly;
|
||||
unsigned char* data;
|
||||
unsigned char* splitData;
|
||||
int maxsize;
|
||||
int cursize;
|
||||
int splitSize;
|
||||
int readcount;
|
||||
int bit;
|
||||
int lastEntityRef;
|
||||
};
|
||||
|
||||
struct netProfilePacket_t {
|
||||
int iTime;
|
||||
int iSize;
|
||||
int bFragment;
|
||||
};
|
||||
|
||||
struct netProfileStream_t {
|
||||
netProfilePacket_t packets[60];
|
||||
int iCurrPacket;
|
||||
int iBytesPerSeconds;
|
||||
int iLastBPSCalcTime;
|
||||
int iCountedPackets;
|
||||
int iCountedFragments;
|
||||
int iFragmentPercentage;
|
||||
int iLargestPacket;
|
||||
int iSmallestPacket;
|
||||
};
|
||||
|
||||
struct netProfileInfo_t {
|
||||
netProfileStream_t send;
|
||||
netProfileStream_t recieve;
|
||||
};
|
||||
|
||||
static_assert(sizeof(netProfileInfo_t) == 0x5E0);
|
||||
|
||||
struct netchan_t {
|
||||
int outgoingSequence;
|
||||
netsrc_t sock;
|
||||
int dropped;
|
||||
int incomingSequence;
|
||||
netadr_s remoteAddress;
|
||||
int qport;
|
||||
int fragmentSequence;
|
||||
int fragmentLength;
|
||||
unsigned char* fragmentBuffer;
|
||||
int fragmentBufferSize;
|
||||
int unsentFragments;
|
||||
int unsentFragmentStart;
|
||||
int unsentLength;
|
||||
unsigned char* unsentBuffer;
|
||||
int unsentBufferSize;
|
||||
netProfileInfo_t prof;
|
||||
};
|
||||
|
||||
static_assert(sizeof(netchan_t) == 0x630);
|
||||
|
||||
enum dvar_flags : std::uint16_t {
|
||||
DVAR_NONE = 0x0,
|
||||
DVAR_ARCHIVE = 0x1,
|
||||
DVAR_CHEAT = 0x4,
|
||||
DVAR_CODINFO = 0x8,
|
||||
DVAR_SCRIPTINFO = 0x10,
|
||||
DVAR_SERVERINFO = 0x400,
|
||||
DVAR_WRITEPROTECTED = 0x800,
|
||||
DVAR_READONLY = 0x2000,
|
||||
};
|
||||
|
||||
union DvarValue {
|
||||
bool enabled;
|
||||
int integer;
|
||||
unsigned int unsignedInt;
|
||||
float value;
|
||||
float vector[4];
|
||||
const char* string;
|
||||
char color[4];
|
||||
};
|
||||
|
||||
struct enum_limit {
|
||||
int stringCount;
|
||||
const char** strings;
|
||||
};
|
||||
|
||||
struct int_limit {
|
||||
int min;
|
||||
int max;
|
||||
};
|
||||
|
||||
struct float_limit {
|
||||
float min;
|
||||
float max;
|
||||
};
|
||||
|
||||
union DvarLimits {
|
||||
enum_limit enumeration;
|
||||
int_limit integer;
|
||||
float_limit value;
|
||||
float_limit vector;
|
||||
};
|
||||
|
||||
struct dvar_t {
|
||||
const char* name;
|
||||
unsigned int flags;
|
||||
char type;
|
||||
bool modified;
|
||||
DvarValue current;
|
||||
DvarValue latched;
|
||||
DvarValue reset;
|
||||
DvarLimits domain;
|
||||
bool(__cdecl* domainFunc)(dvar_t*, DvarValue);
|
||||
dvar_t* hashNext;
|
||||
};
|
||||
|
||||
struct usercmd_s {
|
||||
int serverTime;
|
||||
int buttons;
|
||||
int angles[3];
|
||||
unsigned int weapon;
|
||||
unsigned int offHand;
|
||||
char forwardmove;
|
||||
char rightmove;
|
||||
unsigned __int16 airburstMarkDistance;
|
||||
unsigned __int16 meleeChargeEnt;
|
||||
unsigned char meleeChargeDist;
|
||||
char selectedLoc[2];
|
||||
char selectedLocAngle;
|
||||
char remoteControlAngles[2];
|
||||
int remoteControlMove;
|
||||
};
|
||||
|
||||
enum LocSelInputState {
|
||||
LOC_SEL_INPUT_NONE = 0,
|
||||
LOC_SEL_INPUT_CONFIRM = 1,
|
||||
LOC_SEL_INPUT_CANCEL = 2
|
||||
};
|
||||
|
||||
struct field_t {
|
||||
int cursor;
|
||||
int scroll;
|
||||
int drawWidth;
|
||||
int widthInPixels;
|
||||
float charHeight;
|
||||
int fixedSize;
|
||||
char buffer[256];
|
||||
};
|
||||
|
||||
struct KeyState {
|
||||
int down;
|
||||
int repeats;
|
||||
int binding;
|
||||
const char* bindingCheat;
|
||||
};
|
||||
|
||||
static_assert(sizeof(field_t) == 280);
|
||||
|
||||
struct PlayerKeyState {
|
||||
field_t chatField;
|
||||
int chat_team;
|
||||
int overstrikeMode;
|
||||
int anyKeyDown;
|
||||
KeyState keys[256];
|
||||
LocSelInputState locSelInputState;
|
||||
};
|
||||
|
||||
static_assert(sizeof(PlayerKeyState) == 4392);
|
||||
|
||||
enum clientState_t {
|
||||
CS_FREE = 0,
|
||||
CS_ZOMBIE = 1,
|
||||
CS_RECONNECTING = 2,
|
||||
CS_CONNECTED = 3,
|
||||
CS_PRIMED = 4,
|
||||
CS_ACTIVE = 5
|
||||
};
|
||||
|
||||
struct clientConnection_t {
|
||||
int qport; // 0
|
||||
int clientNum; // 4
|
||||
int lastPacketSentTime; // 8
|
||||
int lastPacketTime; // 12
|
||||
netadr_s serverAddress; // 16
|
||||
int connectTime; // 40
|
||||
int connectPacketCount; // 44
|
||||
char serverMessage[256]; // 48
|
||||
int challenge; // 304
|
||||
int checksumFeed; // 308
|
||||
int reliableSequence; // 312
|
||||
int reliableAcknowledge; // 316
|
||||
char reliableCommands[128][1024]; // 320
|
||||
int serverMessageSequence; // 131392
|
||||
int serverCommandSequence; // 131396
|
||||
int lastExecutedServerCommand; // 131400
|
||||
char serverCommands[128][1024]; // 131404
|
||||
bool isServerRestarting; // 262476
|
||||
char clientDemo[16592]; // 262480
|
||||
netchan_t netchan; // 279072
|
||||
char netchanOutgoingBuffer[2048]; // 280656
|
||||
char netchanIncomingBuffer[65536]; // 282704
|
||||
netProfileInfo_t OOBProf; // 348240
|
||||
short statPacketsToSend; // 349744
|
||||
int statPacketSendTime[10]; // From here it might be wrong
|
||||
int currentGamestatePacket;
|
||||
};
|
||||
|
||||
struct clientStatic_t {};
|
||||
} // namespace game
|
||||
|
||||
#pragma warning(pop)
|
||||
Reference in new issue
Block a user