Prepare symbols for process wrapping
This commit is contained in:
parent
5c326b35d9
commit
c0be5d7cad
@ -1,10 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include "structs.hpp"
|
||||
#include "loader/component_loader.hpp"
|
||||
|
||||
namespace game
|
||||
{
|
||||
#define Com_Error(code, fmt, ...) \
|
||||
#define Com_Error(code, fmt, ...) \
|
||||
Com_Error_(__FILE__, __LINE__, code, fmt, ##__VA_ARGS__)
|
||||
|
||||
int Conbuf_CleanText(const char* source, char* target);
|
||||
@ -15,16 +16,16 @@ namespace game
|
||||
{
|
||||
public:
|
||||
symbol(const size_t address)
|
||||
: address_(reinterpret_cast<T*>(address))
|
||||
: address_(address)
|
||||
{
|
||||
}
|
||||
|
||||
T* get() const
|
||||
{
|
||||
return address_;
|
||||
return reinterpret_cast<T*>(get_game_address(this->address_));
|
||||
}
|
||||
|
||||
operator T* () const
|
||||
operator T*() const
|
||||
{
|
||||
return this->get();
|
||||
}
|
||||
@ -35,7 +36,7 @@ namespace game
|
||||
}
|
||||
|
||||
private:
|
||||
T* address_;
|
||||
size_t address_;
|
||||
};
|
||||
|
||||
// Global game definitions
|
||||
|
@ -1,7 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "structs.hpp"
|
||||
#include "loader/component_loader.hpp"
|
||||
|
||||
#define WEAK __declspec(selectany)
|
||||
|
||||
@ -10,18 +9,18 @@ namespace game
|
||||
// CL
|
||||
WEAK symbol<void(int controllerIndex, XSESSION_INFO* hostInfo, const netadr_t* addr, int numPublicSlots,
|
||||
int numPrivateSlots, const char* mapname, const char* gametype)> CL_ConnectFromLobby
|
||||
{0x14134C570_g};
|
||||
{0x14134C570};
|
||||
|
||||
// Com
|
||||
WEAK symbol<void(int channel, unsigned int label, const char* fmt, ...)> Com_Printf{0x1421499C0_g};
|
||||
WEAK symbol<void(const char* file, int line, int code, const char* fmt, ...)> Com_Error_{0x1420F8BD0_g};
|
||||
WEAK symbol<bool(eModes mode)> Com_SessionMode_IsMode{0x1420F7DD0_g};
|
||||
WEAK symbol<void(int channel, unsigned int label, const char* fmt, ...)> Com_Printf{0x1421499C0};
|
||||
WEAK symbol<void(const char* file, int line, int code, const char* fmt, ...)> Com_Error_{0x1420F8BD0};
|
||||
WEAK symbol<bool(eModes mode)> Com_SessionMode_IsMode{0x1420F7DD0};
|
||||
|
||||
WEAK symbol<void(int localClientNum, const char* text)> Cbuf_AddText{0x1420EC8B0_g};
|
||||
WEAK symbol<void(int localClientNum, const char* text)> Cbuf_AddText{0x1420EC8B0};
|
||||
WEAK symbol<void(const char* cmdName, xcommand_t function, cmd_function_s* allocedCmd)> Cmd_AddCommandInternal{
|
||||
0x1420ED530_g
|
||||
};
|
||||
WEAK symbol<void(char* text, int maxSize)> Con_GetTextCopy{0x14133A7D0_g};
|
||||
WEAK symbol<void(char* text, int maxSize)> Con_GetTextCopy{0x14133A7D0};
|
||||
|
||||
// DB
|
||||
WEAK symbol<void(XZoneInfo* zoneInfo, uint32_t zoneCount, bool sync, bool suppressSync)> DB_LoadXAssets{
|
||||
@ -29,27 +28,27 @@ namespace game
|
||||
};
|
||||
|
||||
// Live
|
||||
WEAK symbol<bool(uint64_t, int*, bool)> Live_GetConnectivityInformation{0x141E0C410_g};
|
||||
WEAK symbol<bool(uint64_t, int*, bool)> Live_GetConnectivityInformation{0x141E0C410};
|
||||
|
||||
// MSG
|
||||
WEAK symbol<uint8_t(msg_t* msg)> MSG_ReadByte{0x142155EB0_g};
|
||||
WEAK symbol<uint8_t(msg_t* msg)> MSG_ReadByte{0x142155EB0};
|
||||
|
||||
// NET
|
||||
WEAK symbol<bool(netsrc_t sock, int length, const void* data, const netadr_t* to)> NET_SendPacket{0x142332F70_g};
|
||||
WEAK symbol<bool(char const*, netadr_t*)> NET_StringToAdr{0x1421731E0_g};
|
||||
WEAK symbol<bool(netadr_t*, char const*)> NetAdr_InitFromString{0x142332F70_g};
|
||||
WEAK symbol<bool(netsrc_t sock, int length, const void* data, const netadr_t* to)> NET_SendPacket{0x142332F70};
|
||||
WEAK symbol<bool(char const*, netadr_t*)> NET_StringToAdr{0x1421731E0};
|
||||
WEAK symbol<bool(netadr_t*, char const*)> NetAdr_InitFromString{0x142332F70};
|
||||
|
||||
// Sys
|
||||
WEAK symbol<int()> Sys_Milliseconds{0x142333430_g};
|
||||
WEAK symbol<void()> Sys_ShowConsole{0x142333F80_g};
|
||||
WEAK symbol<TLSData*()> Sys_GetTLS{0x142184210_g};
|
||||
WEAK symbol<int()> Sys_Milliseconds{0x142333430};
|
||||
WEAK symbol<void()> Sys_ShowConsole{0x142333F80};
|
||||
WEAK symbol<TLSData*()> Sys_GetTLS{0x142184210};
|
||||
|
||||
// Dvar
|
||||
WEAK symbol<const dvar_t*(const char* dvarName)> Dvar_FindVar{0x1422BD730_g};
|
||||
WEAK symbol<unsigned int(const char* str)> Dvar_GenerateHash{0x14133DBF0_g};
|
||||
WEAK symbol<dvar_t*(unsigned int hash)> Dvar_FindMalleableVar{0x1422BD6A0_g};
|
||||
WEAK symbol<const char*(const dvar_t* dvar)> Dvar_GetDebugName{0x1422BDCB0_g};
|
||||
WEAK symbol<const char*(const dvar_t* dvar)> Dvar_GetString{0x1422BFFF0_g};
|
||||
WEAK symbol<const dvar_t*(const char* dvarName)> Dvar_FindVar{0x1422BD730};
|
||||
WEAK symbol<unsigned int(const char* str)> Dvar_GenerateHash{0x14133DBF0};
|
||||
WEAK symbol<dvar_t*(unsigned int hash)> Dvar_FindMalleableVar{0x1422BD6A0};
|
||||
WEAK symbol<const char*(const dvar_t* dvar)> Dvar_GetDebugName{0x1422BDCB0};
|
||||
WEAK symbol<const char*(const dvar_t* dvar)> Dvar_GetString{0x1422BFFF0};
|
||||
WEAK symbol<void(const char* dvarName, const char* string, bool createIfMissing)> Dvar_SetFromStringByName{
|
||||
0x1422C7F60_g
|
||||
};
|
||||
@ -60,22 +59,22 @@ namespace game
|
||||
};
|
||||
|
||||
// Variables
|
||||
WEAK symbol<cmd_function_s> cmd_functions{0x15689FF58_g};
|
||||
WEAK symbol<CmdArgs> sv_cmd_args{0x15689CE30_g};
|
||||
WEAK symbol<cmd_function_s> cmd_functions{0x15689FF58};
|
||||
WEAK symbol<CmdArgs> sv_cmd_args{0x15689CE30};
|
||||
|
||||
WEAK symbol<SOCKET> ip_socket{0x157E77818_g};
|
||||
WEAK symbol<SOCKET> ip_socket{0x157E77818};
|
||||
|
||||
WEAK symbol<Join> s_join{0x15574C640_g};
|
||||
WEAK symbol<Join> s_join{0x15574C640};
|
||||
|
||||
namespace s_wcd
|
||||
{
|
||||
WEAK symbol<HWND> codLogo{0x157E77A50_g};
|
||||
WEAK symbol<HFONT> hfBufferFont{0x157E77A58_g};
|
||||
WEAK symbol<HWND> hWnd{0x157E77A40_g};
|
||||
WEAK symbol<HWND> hwndBuffer{0x157E77A48_g};
|
||||
WEAK symbol<HWND> hwndInputLine{0x157E77A60_g};
|
||||
WEAK symbol<int> windowHeight{0x157E7806C_g};
|
||||
WEAK symbol<int> windowWidth{0x157E78068_g};
|
||||
WEAK symbol<WNDPROC> SysInputLineWndProc{0x157E78070_g};
|
||||
WEAK symbol<HWND> codLogo{0x157E77A50};
|
||||
WEAK symbol<HFONT> hfBufferFont{0x157E77A58};
|
||||
WEAK symbol<HWND> hWnd{0x157E77A40};
|
||||
WEAK symbol<HWND> hwndBuffer{0x157E77A48};
|
||||
WEAK symbol<HWND> hwndInputLine{0x157E77A60};
|
||||
WEAK symbol<int> windowHeight{0x157E7806C};
|
||||
WEAK symbol<int> windowWidth{0x157E78068};
|
||||
WEAK symbol<WNDPROC> SysInputLineWndProc{0x157E78070};
|
||||
}
|
||||
}
|
||||
|
@ -143,12 +143,17 @@ size_t get_base()
|
||||
return base;
|
||||
}
|
||||
|
||||
size_t operator"" _g(const size_t val)
|
||||
size_t get_game_address(const size_t val)
|
||||
{
|
||||
static auto base = get_base();
|
||||
return base + (val - 0x140000000);
|
||||
}
|
||||
|
||||
size_t operator"" _g(const size_t val)
|
||||
{
|
||||
return get_game_address(val);
|
||||
}
|
||||
|
||||
size_t reverse_g(const size_t val)
|
||||
{
|
||||
static auto base = get_base();
|
||||
|
@ -58,6 +58,7 @@ namespace \
|
||||
}
|
||||
|
||||
size_t get_base();
|
||||
size_t get_game_address(size_t val);
|
||||
size_t operator"" _g(size_t val);
|
||||
size_t reverse_g(size_t val);
|
||||
size_t reverse_g(const void* val);
|
||||
|
Loading…
Reference in New Issue
Block a user