From 7bc18c8012b418cf54b52557e261498f503dca4c Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Sat, 28 May 2022 23:14:01 +0200 Subject: [PATCH] Align CServer structure with game's memory Unknown fields have been padded to match the structure's size in memory. Iteration is now possible. --- r5dev/engine/server/server.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/r5dev/engine/server/server.h b/r5dev/engine/server/server.h index 9d43a4fb..b54e59dd 100644 --- a/r5dev/engine/server/server.h +++ b/r5dev/engine/server/server.h @@ -68,8 +68,16 @@ private: int m_nServerClasses; // number of unique server classes int m_nServerClassBits; // log2 of serverclasses char m_szHostInfo[128]; // see '[r5apex_ds.exe + 0x237740]' for more details. fmt: '[IPv6]:PORT:TIMEi64u' - // TODO: Reverse the rest. + char m_nGap0[0x4A290]; // TODO: Reverse the rest in this gap. +#if defined (GAMEDLL_S2) || defined (GAMEDLL_S3) + char m_nGap1[0x80]; +#endif }; +#if defined (GAMEDLL_S0) || defined (GAMEDLL_S1) +static_assert(sizeof(CServer) == 0x4A440); +#else +static_assert(sizeof(CServer) == 0x4A4C0); +#endif extern CServer* g_pServer; /* ==== CSERVER ========================================================================================================================================================= */