aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2022-03-15 00:04:33 +0000
committerBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2022-03-15 00:04:33 +0000
commit96aa95aede1fb1f3fde3d2c08728c37520bea4c2 (patch)
tree6ef9b43cab5e215a05fabf0bd197dc3a0593c525
parent5df2346ba1414fd43d80fc2919c2f880b7f8aeaf (diff)
downloadNorthstarLauncher-96aa95aede1fb1f3fde3d2c08728c37520bea4c2.tar.gz
NorthstarLauncher-96aa95aede1fb1f3fde3d2c08728c37520bea4c2.zip
move to using g_pCVar more
-rw-r--r--NorthstarDedicatedTest/clientchathooks.cpp4
-rw-r--r--NorthstarDedicatedTest/dedicated.cpp5
-rw-r--r--NorthstarDedicatedTest/filesystem.cpp1
-rw-r--r--NorthstarDedicatedTest/gameutils.cpp16
-rw-r--r--NorthstarDedicatedTest/gameutils.h8
-rw-r--r--NorthstarDedicatedTest/logging.cpp2
-rw-r--r--NorthstarDedicatedTest/plugins.cpp38
-rw-r--r--NorthstarDedicatedTest/securitypatches.cpp1
-rw-r--r--NorthstarDedicatedTest/serverauthentication.cpp5
9 files changed, 38 insertions, 42 deletions
diff --git a/NorthstarDedicatedTest/clientchathooks.cpp b/NorthstarDedicatedTest/clientchathooks.cpp
index 74418c06..ca20b0dc 100644
--- a/NorthstarDedicatedTest/clientchathooks.cpp
+++ b/NorthstarDedicatedTest/clientchathooks.cpp
@@ -2,6 +2,7 @@
#include "clientchathooks.h"
#include <rapidjson/document.h>
#include "squirrel.h"
+#include "dedicated.h"
#include "serverchathooks.h"
#include "localchatwriter.h"
@@ -86,6 +87,9 @@ static SQRESULT SQ_ChatWriteLine(void* sqvm)
void InitialiseClientChatHooks(HMODULE baseAddress)
{
+ if (IsDedicated())
+ return;
+
HookEnabler hook;
ENABLER_CREATEHOOK(hook, (char*)baseAddress + 0x22E580, &CHudChat__AddGameLineHook, reinterpret_cast<LPVOID*>(&CHudChat__AddGameLine));
diff --git a/NorthstarDedicatedTest/dedicated.cpp b/NorthstarDedicatedTest/dedicated.cpp
index 35d45800..52d3802d 100644
--- a/NorthstarDedicatedTest/dedicated.cpp
+++ b/NorthstarDedicatedTest/dedicated.cpp
@@ -42,7 +42,7 @@ void RunServer(CDedicatedExports* dedicated)
// add +map if not present
// don't manually execute this from cbuf as users may have it in their startup args anyway, easier just to run from stuffcmds if present
if (!CommandLine()->CheckParm("+map"))
- CommandLine()->AppendParm("+map", Cvar_match_defaultMap->GetString());
+ CommandLine()->AppendParm("+map", g_pCVar->FindVar("match_defaultMap")->GetString());
// run server autoexec and re-run commandline
Cbuf_AddText(Cbuf_GetCurrentPlayer(), "exec autoexec_ns_server", cmd_source_t::kCommandSrcCode);
@@ -55,6 +55,9 @@ void RunServer(CDedicatedExports* dedicated)
// note: we no longer manually set map and hoststate to start server in g_pHostState, we just use +map which seems to initialise stuff
// better
+ // get tickinterval
+ ConVar* Cvar_base_tickinterval_mp = g_pCVar->FindVar("base_tickinterval_mp");
+
// main loop
double frameTitle = 0;
while (g_pEngine->m_nQuitting == EngineQuitState::QUIT_NOTQUITTING)
diff --git a/NorthstarDedicatedTest/filesystem.cpp b/NorthstarDedicatedTest/filesystem.cpp
index 951198af..0fa14132 100644
--- a/NorthstarDedicatedTest/filesystem.cpp
+++ b/NorthstarDedicatedTest/filesystem.cpp
@@ -33,7 +33,6 @@ VPKData* MountVPKHook(IFileSystem* fileSystem, const char* vpkPath);
bool readingOriginalFile;
std::string currentModPath;
SourceInterface<IFileSystem>* g_Filesystem;
-void* g_pVGuiLocalize;
void InitialiseFilesystem(HMODULE baseAddress)
{
diff --git a/NorthstarDedicatedTest/gameutils.cpp b/NorthstarDedicatedTest/gameutils.cpp
index b8194397..792d8bf2 100644
--- a/NorthstarDedicatedTest/gameutils.cpp
+++ b/NorthstarDedicatedTest/gameutils.cpp
@@ -1,7 +1,6 @@
#include "pch.h"
-#include "gameutils.h"
#include "convar.h"
-#include "concommand.h"
+#include "gameutils.h"
// memory
IMemAlloc* g_pMemAllocSingleton;
@@ -22,7 +21,6 @@ server_state_t* sv_m_State;
// network stuff
ConVar* Cvar_hostport;
-ConVar* Cvar_net_datablock_enabled;
// playlist stuff
GetCurrentPlaylistType GetCurrentPlaylistName;
@@ -33,17 +31,11 @@ GetCurrentPlaylistVarType GetCurrentPlaylistVar;
// server entity stuff
Server_GetEntityByIndexType Server_GetEntityByIndex;
-// server tickrate stuff
-ConVar* Cvar_base_tickinterval_mp;
-ConVar* Cvar_base_tickinterval_sp;
-
// auth
char* g_LocalPlayerUserID;
char* g_LocalPlayerOriginToken;
// misc stuff
-ConVar* Cvar_match_defaultMap;
-ConVar* Cvar_communities_hostname;
ErrorType Error;
CommandLineType CommandLine;
Plat_FloatTimeType Plat_FloatTime;
@@ -84,17 +76,13 @@ void InitialiseEngineGameUtilFunctions(HMODULE baseAddress)
g_pAllConVars.push_back(pConVar);
}
}*/
+
Cvar_hostport = (ConVar*)((char*)baseAddress + 0x13FA6070);
- Cvar_net_datablock_enabled = (ConVar*)((char*)baseAddress + 0x12A4F6D0);
- Cvar_match_defaultMap = (ConVar*)((char*)baseAddress + 0x8AB530);
- Cvar_communities_hostname = (ConVar*)((char*)baseAddress + 0x13157E50);
}
void InitialiseServerGameUtilFunctions(HMODULE baseAddress)
{
Server_GetEntityByIndex = (Server_GetEntityByIndexType)((char*)baseAddress + 0xFB820);
- Cvar_base_tickinterval_mp = (ConVar*)((char*)baseAddress + 0xBFC360);
- Cvar_base_tickinterval_sp = (ConVar*)((char*)baseAddress + 0xBFBEA0);
}
void InitialiseTier0GameUtilFunctions(HMODULE baseAddress)
diff --git a/NorthstarDedicatedTest/gameutils.h b/NorthstarDedicatedTest/gameutils.h
index f382d6c0..d1ac8380 100644
--- a/NorthstarDedicatedTest/gameutils.h
+++ b/NorthstarDedicatedTest/gameutils.h
@@ -206,7 +206,6 @@ extern server_state_t* sv_m_State;
// network stuff
extern ConVar* Cvar_hostport;
-extern ConVar* Cvar_net_datablock_enabled;
// playlist stuff
typedef const char* (*GetCurrentPlaylistType)();
@@ -225,18 +224,11 @@ extern GetCurrentPlaylistVarType GetCurrentPlaylistVar;
typedef void* (*Server_GetEntityByIndexType)(int index);
extern Server_GetEntityByIndexType Server_GetEntityByIndex;
-// server tickrate stuff
-extern ConVar* Cvar_base_tickinterval_mp;
-extern ConVar* Cvar_base_tickinterval_sp;
-
// auth
extern char* g_LocalPlayerUserID;
extern char* g_LocalPlayerOriginToken;
// misc stuff
-extern ConVar* Cvar_match_defaultMap;
-extern ConVar* Cvar_communities_hostname;
-
typedef void (*ErrorType)(const char* fmt, ...);
extern ErrorType Error;
diff --git a/NorthstarDedicatedTest/logging.cpp b/NorthstarDedicatedTest/logging.cpp
index 4d31981e..342c18ee 100644
--- a/NorthstarDedicatedTest/logging.cpp
+++ b/NorthstarDedicatedTest/logging.cpp
@@ -3,7 +3,7 @@
#include "sourceconsole.h"
#include "spdlog/sinks/basic_file_sink.h"
#include "hookutils.h"
-#include "gameutils.h"
+#include "convar.h"
#include "dedicated.h"
#include <iomanip>
#include <sstream>
diff --git a/NorthstarDedicatedTest/plugins.cpp b/NorthstarDedicatedTest/plugins.cpp
index 383555cf..b725a5a8 100644
--- a/NorthstarDedicatedTest/plugins.cpp
+++ b/NorthstarDedicatedTest/plugins.cpp
@@ -390,21 +390,25 @@ void InitialisePluginCommands(HMODULE baseAddress)
// i swear there's a way to make this not have be run in 2 contexts but i can't figure it out
// some funcs i need are just not available in UI or CLIENT
- g_UISquirrelManager->AddFuncRegistration(
- "void", "NSUpdateGameStateUI", "string gamemode, string gamemodeName, string map, string mapName, bool connected, bool loading", "",
- SQ_UpdateGameStateUI);
- g_ClientSquirrelManager->AddFuncRegistration(
- "void", "NSUpdateGameStateClient",
- "int playerCount, int outScore, int secondHighestScore, int highestScore, bool roundBased, int scoreLimit", "",
- SQ_UpdateGameStateClient);
- g_UISquirrelManager->AddFuncRegistration(
- "void", "NSUpdateServerInfo",
- "string id, string name, string password, int players, int maxPlayers, string map, string mapDisplayName, string playlist, string "
- "playlistDisplayName",
- "", SQ_UpdateServerInfo);
- g_ClientSquirrelManager->AddFuncRegistration(
- "void", "NSUpdateServerInfoReload", "int maxPlayers", "", SQ_UpdateServerInfoBetweenRounds);
- g_ClientSquirrelManager->AddFuncRegistration("void", "NSUpdateTimeInfo", "float timeInFuture", "", SQ_UpdateTimeInfo);
- g_UISquirrelManager->AddFuncRegistration("void", "NSSetLoading", "bool loading", "", SQ_SetConnected);
- g_UISquirrelManager->AddFuncRegistration("void", "NSUpdateListenServer", "", "", SQ_UpdateListenServer);
+ if (g_UISquirrelManager && g_ClientSquirrelManager)
+ {
+ g_UISquirrelManager->AddFuncRegistration(
+ "void", "NSUpdateGameStateUI", "string gamemode, string gamemodeName, string map, string mapName, bool connected, bool loading",
+ "", SQ_UpdateGameStateUI);
+ g_ClientSquirrelManager->AddFuncRegistration(
+ "void", "NSUpdateGameStateClient",
+ "int playerCount, int outScore, int secondHighestScore, int highestScore, bool roundBased, int scoreLimit", "",
+ SQ_UpdateGameStateClient);
+ g_UISquirrelManager->AddFuncRegistration(
+ "void", "NSUpdateServerInfo",
+ "string id, string name, string password, int players, int maxPlayers, string map, string mapDisplayName, string playlist, "
+ "string "
+ "playlistDisplayName",
+ "", SQ_UpdateServerInfo);
+ g_ClientSquirrelManager->AddFuncRegistration(
+ "void", "NSUpdateServerInfoReload", "int maxPlayers", "", SQ_UpdateServerInfoBetweenRounds);
+ g_ClientSquirrelManager->AddFuncRegistration("void", "NSUpdateTimeInfo", "float timeInFuture", "", SQ_UpdateTimeInfo);
+ g_UISquirrelManager->AddFuncRegistration("void", "NSSetLoading", "bool loading", "", SQ_SetConnected);
+ g_UISquirrelManager->AddFuncRegistration("void", "NSUpdateListenServer", "", "", SQ_UpdateListenServer);
+ }
}
diff --git a/NorthstarDedicatedTest/securitypatches.cpp b/NorthstarDedicatedTest/securitypatches.cpp
index 3531ffa5..e684738e 100644
--- a/NorthstarDedicatedTest/securitypatches.cpp
+++ b/NorthstarDedicatedTest/securitypatches.cpp
@@ -4,6 +4,7 @@
#include "concommand.h"
#include "dedicated.h"
#include "gameutils.h"
+#include "convar.h"
typedef bool (*IsValveModType)();
IsValveModType IsValveMod;
diff --git a/NorthstarDedicatedTest/serverauthentication.cpp b/NorthstarDedicatedTest/serverauthentication.cpp
index 84a2bbeb..26352675 100644
--- a/NorthstarDedicatedTest/serverauthentication.cpp
+++ b/NorthstarDedicatedTest/serverauthentication.cpp
@@ -1,5 +1,6 @@
#include "pch.h"
#include "serverauthentication.h"
+#include "cvar.h"
#include "convar.h"
#include "hookutils.h"
#include "masterserver.h"
@@ -63,6 +64,8 @@ ConVar* Cvar_net_chan_limit_msec_per_sec;
ConVar* Cvar_sv_querylimit_per_sec;
ConVar* Cvar_sv_max_chat_messages_per_sec;
+ConVar* Cvar_net_datablock_enabled;
+
void ServerAuthenticationManager::StartPlayerAuthServer()
{
if (m_runningPlayerAuthThread)
@@ -596,6 +599,8 @@ void InitialiseServerAuthentication(HMODULE baseAddress)
Cvar_sv_querylimit_per_sec = new ConVar("sv_querylimit_per_sec", "15", FCVAR_GAMEDLL, "");
Cvar_sv_max_chat_messages_per_sec = new ConVar("sv_max_chat_messages_per_sec", "5", FCVAR_GAMEDLL, "");
+ Cvar_net_datablock_enabled = g_pCVar->FindVar("net_datablock_enabled");
+
RegisterConCommand("ns_resetpersistence", ResetPdataCommand, "resets your pdata when you next enter the lobby", FCVAR_NONE);
HookEnabler hook;