diff options
author | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2023-02-23 00:19:48 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-23 00:19:48 +0000 |
commit | 32165afe41c4cf4d3b261ee7a9c69c369253cc13 (patch) | |
tree | 156844485e0e463410d76cbb4c4c7a6cd0042786 /NorthstarDLL/shared | |
parent | 6aaac4cd452878acc59d9748bcd2d0e072d2a432 (diff) | |
download | NorthstarLauncher-32165afe41c4cf4d3b261ee7a9c69c369253cc13.tar.gz NorthstarLauncher-32165afe41c4cf4d3b261ee7a9c69c369253cc13.zip |
Add `FUNCTION_AT` and `VAR_AT` macros (#416)
* add FUNCTION_AT and VAR_AT macros
* fix build issues oops
* fix formatting
* add PREDEFINED_VAR_AT
* change func name
* fixup formatting
* update to use DEFINED_VAR_AT
Diffstat (limited to 'NorthstarDLL/shared')
-rw-r--r-- | NorthstarDLL/shared/playlist.cpp | 13 | ||||
-rw-r--r-- | NorthstarDLL/shared/playlist.h | 8 |
2 files changed, 8 insertions, 13 deletions
diff --git a/NorthstarDLL/shared/playlist.cpp b/NorthstarDLL/shared/playlist.cpp index 018b2a9b..ab7aab22 100644 --- a/NorthstarDLL/shared/playlist.cpp +++ b/NorthstarDLL/shared/playlist.cpp @@ -11,10 +11,10 @@ AUTOHOOK_INIT() // use the R2 namespace for game funcs namespace R2 { - const char* (*GetCurrentPlaylistName)(); - void (*SetCurrentPlaylist)(const char* pPlaylistName); - void (*SetPlaylistVarOverride)(const char* pVarName, const char* pValue); - const char* (*GetCurrentPlaylistVar)(const char* pVarName, bool bUseOverrides); + DEFINED_VAR_AT(engine.dll + 0x18C640, GetCurrentPlaylistName); + DEFINED_VAR_AT(engine.dll + 0x18EB20, SetCurrentPlaylist); + DEFINED_VAR_AT(engine.dll + 0x18ED00, SetPlaylistVarOverride); + DEFINED_VAR_AT(engine.dll + 0x18C680, GetCurrentPlaylistVar); } // namespace R2 ConVar* Cvar_ns_use_clc_SetPlaylistVarOverride; @@ -104,11 +104,6 @@ ON_DLL_LOAD_RELIESON("engine.dll", PlaylistHooks, (ConCommand, ConVar), (CModule { AUTOHOOK_DISPATCH() - R2::GetCurrentPlaylistName = module.Offset(0x18C640).As<const char* (*)()>(); - R2::SetCurrentPlaylist = module.Offset(0x18EB20).As<void (*)(const char*)>(); - R2::SetPlaylistVarOverride = module.Offset(0x18ED00).As<void (*)(const char*, const char*)>(); - R2::GetCurrentPlaylistVar = module.Offset(0x18C680).As<const char* (*)(const char*, bool)>(); - // playlist is the name of the command on respawn servers, but we already use setplaylist so can't get rid of it RegisterConCommand("playlist", ConCommand_playlist, "Sets the current playlist", FCVAR_NONE); RegisterConCommand("setplaylist", ConCommand_playlist, "Sets the current playlist", FCVAR_NONE); diff --git a/NorthstarDLL/shared/playlist.h b/NorthstarDLL/shared/playlist.h index c77b37d9..e56fdf96 100644 --- a/NorthstarDLL/shared/playlist.h +++ b/NorthstarDLL/shared/playlist.h @@ -3,8 +3,8 @@ // use the R2 namespace for game funcs namespace R2 { - extern const char* (*GetCurrentPlaylistName)(); - extern void (*SetCurrentPlaylist)(const char* pPlaylistName); - extern void (*SetPlaylistVarOverride)(const char* pVarName, const char* pValue); - extern const char* (*GetCurrentPlaylistVar)(const char* pVarName, bool bUseOverrides); + inline const char* (*GetCurrentPlaylistName)(); + inline void (*SetCurrentPlaylist)(const char* pPlaylistName); + inline void (*SetPlaylistVarOverride)(const char* pVarName, const char* pValue); + inline const char* (*GetCurrentPlaylistVar)(const char* pVarName, bool bUseOverrides); } // namespace R2 |