#pragma once namespace game { // Functions WEAK symbol Com_Printf{ 0x0, 0x59A2C0 }; WEAK symbolCom_PrintMessage{ 0x0, 0x59A170 }; WEAK symbolCom_PrintWarning{ 0x0, 0x59A440 }; WEAK symbolCom_PrintError{ 0x0, 0x59A380 }; WEAK symbolCom_Error{ 0x0, 0x59AC50 }; WEAK symbolSys_Error{ 0x0, 0x5FE8C0 }; WEAK symbolHunk_UserDestroy{ 0x0, 0x5E4940 }; WEAK symbol Hunk_UserAlloc{ 0x0, 0x5E47B0 }; WEAK symbol Hunk_ClearTempMemoryHigh{ 0x0, 0x5E4300 }; WEAK symbolFS_FOpenFileRead{ 0x0, 0x5DBD20 }; WEAK symbolFS_Read{ 0x0, 0x5DBDF0 }; WEAK symbolFS_FOpenFileByMode{ 0x0, 0x5DB630 }; WEAK symbolva{ 0x0, 0x5F6D80 }; WEAK symbolCom_BeginParseSession{ 0x0, 0x5F5830 }; WEAK symbol Com_EndParseSession{ 0x0, 0x5F5910 }; WEAK symbol Sys_Milliseconds{ 0x0, 0x603D40 }; WEAK symbolI_strncpyz{ 0x0, 0x7AA9C0 }; inline void* I_strncmp_ADDR() { return CALL_ADDR(0x0, 0x5F6A40); } int I_strncmp(const char* str1, const char* str2, int len, void* call_addr = I_strncmp_ADDR()); inline void* Hunk_UserCreate_ADDR() { return CALL_ADDR(0x0, 0x5E46E0); } HunkUser* Hunk_UserCreate(signed int maxSize, const char* name, int fixed, int tempMem, int debugMem, int type, void* call_addr = Hunk_UserCreate_ADDR()); inline void* Hunk_AllocateTempMemoryHigh_ADDR() { return CALL_ADDR(0x0, 0x5E4220); } unsigned int Hunk_AllocateTempMemoryHigh(int size_, void* call_addr = Hunk_AllocateTempMemoryHigh_ADDR()); inline void* FS_FCloseFile_ADDR() { return CALL_ADDR(0x0, 0x5DB060); } void FS_FCloseFile(int h, void* call_addr = FS_FCloseFile_ADDR()); inline void* FS_ListFilteredFiles_ADDR() { return CALL_ADDR(0x0, 0x5DC720); } const char** FS_ListFilteredFiles(searchpath_s* searchPath, const char* path, const char* extension, const char* filter, FsListBehavior_e behavior, int* numFiles, void* call_addr = FS_ListFilteredFiles_ADDR()); inline void* Z_TryVirtualAlloc_ADDR() { return CALL_ADDR(0x0, 0x5E39D0); } void* Z_TryVirtualAlloc(signed int size_, void* call_addr = Z_TryVirtualAlloc_ADDR()); inline void* I_stricmp_ADDR() { return CALL_ADDR(0x0, 0x5F69E0); } int I_stricmp(int len, const char* s0, const char* s1, void* call_addr = I_stricmp_ADDR()); inline void* Com_Parse_ADDR() { return CALL_ADDR(0x0, 0x5F61B0); } parseInfo_t* Com_Parse(const char** buffer, void* call_addr = Com_Parse_ADDR()); inline void* Dvar_RegisterBool_ADDR() { return CALL_ADDR(0x0, 0x5EEE20); } dvar_s * Dvar_RegisterBool(unsigned __int8 val, const char * name, int flags, const char * desc, void* call_addr = Dvar_RegisterBool_ADDR()); inline void* XAnimGetAnimDebugName_ADDR() { return CALL_ADDR(0x0, 0x60F850); } const char * XAnimGetAnimDebugName(unsigned int animIndex, XAnim_s * anims, void* call_addr = XAnimGetAnimDebugName_ADDR()); void Sys_EnterCriticalSection(CriticalSection critSect); void Sys_LeaveCriticalSection(CriticalSection critSect); // Variables WEAK symbol s_criticalSection{ 0x0, 0x2298D08 }; WEAK symbol g_DebugHunkUser{ 0x0, 0x212B2EC }; WEAK symbol useFastFile{ 0x0, 0x1F552FC }; WEAK symbol fsh{ 0x0, 0x2126E20 }; WEAK symbol fs_game{ 0x0, 0x2122B00 }; WEAK symbol com_developer{ 0x0, 0x1F55288 }; WEAK symbol statmon_related_bool{ 0x0, 0x2122B04 }; WEAK symbol g_allocNodeUser{ 0x0, 0x3882B20 }; WEAK symbol g_user{ 0x0, 0x3882B48 }; WEAK symbol fs_searchpaths{ 0x0, 0x46E5044 }; namespace plutonium { WEAK symbol printf{0x0, 0x0}; WEAK symbol load_custom_script_func{0x0, 0x0}; } }