From 2fee28ae9657773a8c3d8e85b67f05abb6d89ca5 Mon Sep 17 00:00:00 2001
From: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Fri, 4 Mar 2022 15:59:33 +0100
Subject: [PATCH] Adapt to new loggers

---
 r5dev/core/termutil.cpp       | 36 +++++++++++++++++++----------------
 r5dev/core/termutil.h         |  3 +++
 r5dev/engine/host_state.cpp   |  6 +++---
 r5dev/engine/sys_utils.cpp    |  4 ++--
 r5dev/engine/sys_utils.h      |  7 ++++---
 r5dev/public/binstream.cpp    |  6 +++---
 r5dev/tier0/IConVar.cpp       |  4 ++--
 r5dev/tier0/completion.cpp    | 24 +++++++++++------------
 r5dev/tier1/NetAdr2.cpp       |  6 ++----
 r5dev/tier2/socketcreator.cpp | 16 +++++++---------
 r5dev/vpklib/packedstore.cpp  | 14 +++++++-------
 11 files changed, 65 insertions(+), 61 deletions(-)

diff --git a/r5dev/core/termutil.cpp b/r5dev/core/termutil.cpp
index 13f23e7e..d72ff891 100644
--- a/r5dev/core/termutil.cpp
+++ b/r5dev/core/termutil.cpp
@@ -1,15 +1,17 @@
 #include "core/stdafx.h"
 #include "core/termutil.h"
 
-std::string g_svGreyF  = "";
-std::string g_svRedF   = "";
-std::string g_svGreenF = "";
-std::string g_svBlueF  = "";
+std::string g_svGreyF   = "";
+std::string g_svRedF    = "";
+std::string g_svGreenF  = "";
+std::string g_svBlueF   = "";
+std::string g_svYellowF = "";
 
-std::string g_svGreyB  = "";
-std::string g_svRedB   = "";
-std::string g_svGreenB = "";
-std::string g_svBlueB  = "";
+std::string g_svGreyB   = "";
+std::string g_svRedB    = "";
+std::string g_svGreenB  = "";
+std::string g_svBlueB   = "";
+std::string g_svYellowB = "";
 
 std::string g_svReset  = "";
 
@@ -19,15 +21,17 @@ std::string g_svReset  = "";
 //-----------------------------------------------------------------------------
 void AnsiColors_Init()
 {
-	g_svGreyF  = "\033[38;2;204;204;204;48;2;000;000;000m";
-	g_svRedF   = "\033[38;2;255;000;000;48;2;000;000;000m";
-	g_svGreenF = "\033[38;2;000;255;000;48;2;000;000;000m";
-	g_svBlueF  = "\033[38;2;000;000;255;48;2;000;000;000m";
+	g_svGreyF   = "\033[38;2;204;204;204;48;2;000;000;000m";
+	g_svRedF    = "\033[38;2;255;000;000;48;2;000;000;000m";
+	g_svGreenF  = "\033[38;2;000;255;000;48;2;000;000;000m";
+	g_svBlueF   = "\033[38;2;000;000;255;48;2;000;000;000m";
+	g_svYellowF = "\033[38;2;255;255;000;48;2;000;000;000m";
 
-	g_svGreyB  = "\033[38;2;000;000;000;48;2;204;204;204m";
-	g_svRedB   = "\033[38;2;000;000;000;48;2;255;000;000m";
-	g_svGreenB = "\033[38;2;000;000;000;48;2;000;255;000m";
-	g_svBlueB  = "\033[38;2;000;000;000;48;2;000;000;255m";
+	g_svGreyB   = "\033[38;2;000;000;000;48;2;204;204;204m";
+	g_svRedB    = "\033[38;2;000;000;000;48;2;255;000;000m";
+	g_svGreenB  = "\033[38;2;000;000;000;48;2;000;255;000m";
+	g_svBlueB   = "\033[38;2;000;000;000;48;2;000;000;255m";
+	g_svYellowB = "\033[38;2;000;000;000;48;2;255;255;000m";
 
 	g_svReset  = "\033[38;2;204;204;204;48;2;000;000;000m";
 }
\ No newline at end of file
diff --git a/r5dev/core/termutil.h b/r5dev/core/termutil.h
index 3b87e9d4..ee05cfe6 100644
--- a/r5dev/core/termutil.h
+++ b/r5dev/core/termutil.h
@@ -3,11 +3,14 @@ extern std::string g_svGreyF;
 extern std::string g_svRedF;
 extern std::string g_svGreenF;
 extern std::string g_svBlueF;
+extern std::string g_svYellowF;
 
 extern std::string g_svGreyB;
 extern std::string g_svRedB;
 extern std::string g_svGreenB;
 extern std::string g_svBlueB;
+extern std::string g_svYellowB;
+
 extern std::string g_svReset;
 
 void AnsiColors_Init();
diff --git a/r5dev/engine/host_state.cpp b/r5dev/engine/host_state.cpp
index bfed983b..cf138c04 100644
--- a/r5dev/engine/host_state.cpp
+++ b/r5dev/engine/host_state.cpp
@@ -250,7 +250,7 @@ FORCEINLINE void CHostState::State_NewGame(void)
 	if (!CModelLoader_Map_IsValidFn(g_CModelLoader, m_levelName) // Check if map is valid and if we can start a new game.
 		|| !Host_NewGameFn(m_levelName, nullptr, m_bBackgroundLevel, m_bSplitScreenConnect, nullptr) || !g_ServerGameClients)
 	{
-		DevMsg(eDLL_T::ENGINE, "Error: Map not valid\n");
+		Error(eDLL_T::ENGINE, "Error: Map not valid\n");
 #ifndef DEDICATED
 		SCR_EndLoadingPlaque();
 #endif // !DEDICATED
@@ -281,7 +281,7 @@ FORCEINLINE void CHostState::State_ChangeLevelSP(void)
 	}
 	else
 	{
-		DevMsg(eDLL_T::ENGINE, "Error: Unable to find map: '%s'\n", m_levelName);
+		Error(eDLL_T::ENGINE, "Error: Unable to find map: '%s'\n", m_levelName);
 	}
 
 	m_iCurrentState = HostStates_t::HS_RUN; // Set current state to run.
@@ -313,7 +313,7 @@ FORCEINLINE void CHostState::State_ChangeLevelMP(void)
 	}
 	else
 	{
-		DevMsg(eDLL_T::ENGINE, "Error: Unable to find map: '%s'\n", m_levelName);
+		Error(eDLL_T::ENGINE, "Error: Unable to find map: '%s'\n", m_levelName);
 	}
 
 	m_iCurrentState = HostStates_t::HS_RUN; // Set current state to run.
diff --git a/r5dev/engine/sys_utils.cpp b/r5dev/engine/sys_utils.cpp
index f879b968..4e783330 100644
--- a/r5dev/engine/sys_utils.cpp
+++ b/r5dev/engine/sys_utils.cpp
@@ -60,7 +60,7 @@ void* HSys_Warning(int level, char* fmt, ...)
 		va_end(args);
 	}/////////////////////////////
 
-	DevMsg(eDLL_T::NONE, "Warning(%d):%s\n", level, buf); // TODO: Color
+	Warning(eDLL_T::NONE, "Warning(%d):%s\n", level, buf); // TODO: Color
 	return Sys_Warning(level, buf);
 }
 
@@ -217,7 +217,7 @@ void Warning(eDLL_T idx, const char* fmt, ...)
 	else
 	{
 		svAnsiOut = sANSI_DLL_T[static_cast<int>(idx)].c_str();
-		svAnsiOut.append(g_svRedF.c_str());
+		svAnsiOut.append(g_svYellowF.c_str());
 		svAnsiOut.append(szBuf);
 
 		char szNewLine = svAnsiOut.back();
diff --git a/r5dev/engine/sys_utils.h b/r5dev/engine/sys_utils.h
index 67ec2da0..4ffe3d2f 100644
--- a/r5dev/engine/sys_utils.h
+++ b/r5dev/engine/sys_utils.h
@@ -40,7 +40,7 @@ enum class eDLL_T : int
 	NONE   = 8
 };
 
-const std::string sDLL_T[8] = 
+const std::string sDLL_T[9] = 
 {
 	"Native(S):",
 	"Native(C):",
@@ -49,11 +49,11 @@ const std::string sDLL_T[8] =
 	"Native(F):",
 	"Native(R):",
 	"Native(M):",
-	"Netcon(X):"
+	"Netcon(X):",
 	""
 };
 
-const static std::string sANSI_DLL_T[8] = 
+const static std::string sANSI_DLL_T[9] = 
 {
 	"\033[38;2;059;120;218mNative(S):",
 	"\033[38;2;118;118;118mNative(C):",
@@ -62,6 +62,7 @@ const static std::string sANSI_DLL_T[8] =
 	"\033[38;2;097;214;214mNative(F):",
 	"\033[38;2;092;181;089mNative(R):",
 	"\033[38;2;192;105;173mNative(M):",
+	"\033[38;2;204;204;204mNetcon(X):",
 	""
 };
 
diff --git a/r5dev/public/binstream.cpp b/r5dev/public/binstream.cpp
index f376553a..ff95077d 100644
--- a/r5dev/public/binstream.cpp
+++ b/r5dev/public/binstream.cpp
@@ -97,14 +97,14 @@ bool CIOStream::checkReadabilityStatus()
 {
 	if (eCurrentMode != eStreamFileMode::READ)
 	{
-		DevMsg(eDLL_T::FS, "Error: StreamFileMode doesn't match required mode for read operation.\n");
+		Error(eDLL_T::FS, "Error: StreamFileMode doesn't match required mode for read operation.\n");
 		return false;
 	}
 
 	// check if we hit the end of the file.
 	if (reader.eof())
 	{
-		DevMsg(eDLL_T::FS, "Error: trying to read past EOF.\n");
+		Error(eDLL_T::FS, "Error: trying to read past EOF.\n");
 		reader.close();
 		eCurrentMode = eStreamFileMode::NONE;
 		return false;
@@ -119,7 +119,7 @@ bool CIOStream::checkWritabilityStatus()
 {
 	if (eCurrentMode != eStreamFileMode::WRITE)
 	{
-		DevMsg(eDLL_T::FS, "Error: StreamFileMode doesn't match required mode for write operation.\n");
+		Error(eDLL_T::FS, "Error: StreamFileMode doesn't match required mode for write operation.\n");
 		return false;
 	}
 	return true;
diff --git a/r5dev/tier0/IConVar.cpp b/r5dev/tier0/IConVar.cpp
index 1a85ceda..3abcb04f 100644
--- a/r5dev/tier0/IConVar.cpp
+++ b/r5dev/tier0/IConVar.cpp
@@ -92,7 +92,7 @@ void ConVar::Init(void) const
 
 	cl_conoverlay_netcon_clr  = new ConVar("cl_conoverlay_netcon_clr" , "255 255 255 255", FCVAR_DEVELOPMENTONLY, "Net console RUI console overlay log color.", false, 1.f, false, 50.f, nullptr, nullptr);
 	cl_conoverlay_warning_clr = new ConVar("cl_conoverlay_warning_clr", "180 180 020 255", FCVAR_DEVELOPMENTONLY, "Warning RUI console overlay log color.", false, 1.f, false, 50.f, nullptr, nullptr);
-	cl_conoverlay_error_clr   = new ConVar("cl_conoverlay_error_clr"  , "225 050 050 255", FCVAR_DEVELOPMENTONLY, "Error RUI console overlay log color.", false, 1.f, false, 50.f, nullptr, nullptr);
+	cl_conoverlay_error_clr   = new ConVar("cl_conoverlay_error_clr"  , "225 030 030 255", FCVAR_DEVELOPMENTONLY, "Error RUI console overlay log color.", false, 1.f, false, 50.f, nullptr, nullptr);
 
 	cl_showhoststats           = new ConVar("cl_showhoststats"          , "0", FCVAR_DEVELOPMENTONLY, "Host speeds debug overlay.", false, 0.f, false, 0.f, nullptr, nullptr);
 	cl_hoststats_invert_rect_x = new ConVar("cl_hoststats_invert_rect_x", "0", FCVAR_DEVELOPMENTONLY, "Inverts the X rect for host speeds debug overlay.", false, 0.f, false, 0.f, nullptr, nullptr);
@@ -390,7 +390,7 @@ void ConVar::SetValue(const char* pszValue)
 		float flNewValue = (float)atof(pszValue);
 		if (!IsFinite(flNewValue))
 		{
-			DevMsg(eDLL_T::ENGINE ,"Warning: ConVar '%s' = '%s' is infinite, clamping value.\n", GetBaseName(), pszValue);
+			Warning(eDLL_T::ENGINE ,"Warning: ConVar '%s' = '%s' is infinite, clamping value.\n", GetBaseName(), pszValue);
 			flNewValue = FLT_MAX;
 		}
 
diff --git a/r5dev/tier0/completion.cpp b/r5dev/tier0/completion.cpp
index 64afbe92..cba653cd 100644
--- a/r5dev/tier0/completion.cpp
+++ b/r5dev/tier0/completion.cpp
@@ -176,7 +176,7 @@ void _KickID_f_CompletionFunc(const CCommand& args)
 	}
 	catch (std::exception& e)
 	{
-		DevMsg(eDLL_T::SERVER, "sv_kickid requires a UserID or OriginID. You can get the UserID with the 'status' command. Error: %s", e.what());
+		Error(eDLL_T::SERVER, "sv_kickid requires a UserID or OriginID. You can get the UserID with the 'status' command. Error: %s", e.what());
 		return;
 	}
 }
@@ -330,7 +330,7 @@ void _BanID_f_CompletionFunc(const CCommand& args)
 	}
 	catch (std::exception& e)
 	{
-		DevMsg(eDLL_T::SERVER, "Banid Error: %s", e.what());
+		Error(eDLL_T::SERVER, "Banid Error: %s", e.what());
 		return;
 	}
 }
@@ -374,7 +374,7 @@ void _Unban_f_CompletionFunc(const CCommand& args)
 	}
 	catch (std::exception& e)
 	{
-		DevMsg(eDLL_T::SERVER, "Unban Error: %s", e.what());
+		Error(eDLL_T::SERVER, "Unban Error: %s", e.what());
 		return;
 	}
 }
@@ -446,7 +446,7 @@ void _RTech_Decompress_f_CompletionFunc(const CCommand& args)
 
 	if (!FileExists(pakNameIn.c_str()))
 	{
-		DevMsg(eDLL_T::RTECH, "Error: pak file '%s' does not exist!\n", pakNameIn.c_str());
+		Error(eDLL_T::RTECH, "Error: pak file '%s' does not exist!\n", pakNameIn.c_str());
 		return;
 	}
 
@@ -478,17 +478,17 @@ void _RTech_Decompress_f_CompletionFunc(const CCommand& args)
 
 	if (rheader->m_nMagic != 'kaPR')
 	{
-		DevMsg(eDLL_T::RTECH, "Error: pak file '%s' has invalid magic!\n", pakNameIn.c_str());
+		Error(eDLL_T::RTECH, "Error: pak file '%s' has invalid magic!\n", pakNameIn.c_str());
 		return;
 	}
 	if ((rheader->m_nFlags[1] & 1) != 1)
 	{
-		DevMsg(eDLL_T::RTECH, "Error: pak file '%s' already decompressed!\n", pakNameIn.c_str());
+		Error(eDLL_T::RTECH, "Error: pak file '%s' already decompressed!\n", pakNameIn.c_str());
 		return;
 	}
 	if (rheader->m_nSizeDisk != upak.size())
 	{
-		DevMsg(eDLL_T::RTECH, "Error: pak file '%s' decompressed size '%u' doesn't match expected value '%u'!\n", pakNameIn.c_str(), upak.size(), rheader->m_nSizeMemory);
+		Error(eDLL_T::RTECH, "Error: pak file '%s' decompressed size '%u' doesn't match expected value '%u'!\n", pakNameIn.c_str(), upak.size(), rheader->m_nSizeMemory);
 		return;
 	}
 
@@ -497,7 +497,7 @@ void _RTech_Decompress_f_CompletionFunc(const CCommand& args)
 
 	if (decompSize == rheader->m_nSizeDisk)
 	{
-		DevMsg(eDLL_T::RTECH, "Error: calculated size: '%zu' expected: '%zu'!\n", decompSize, rheader->m_nSizeMemory);
+		Error(eDLL_T::RTECH, "Error: calculated size: '%zu' expected: '%zu'!\n", decompSize, rheader->m_nSizeMemory);
 		return;
 	}
 	else
@@ -513,7 +513,7 @@ void _RTech_Decompress_f_CompletionFunc(const CCommand& args)
 	std::uint8_t decompResult = g_pRtech->DecompressPakFile(&state, upak.size(), pakBuf.size());
 	if (decompResult != 1)
 	{
-		DevMsg(eDLL_T::RTECH, "Error: decompression failed for '%s' return value: '%u'!\n", pakNameIn.c_str(), +decompResult);
+		Error(eDLL_T::RTECH, "Error: decompression failed for '%s' return value: '%u'!\n", pakNameIn.c_str(), +decompResult);
 		return;
 	}
 
@@ -690,7 +690,7 @@ void _RCON_CmdQuery_f_CompletionFunc(const CCommand& args)
 		{
 			if (!g_pRConClient->IsInitialized())
 			{
-				DevMsg(eDLL_T::CLIENT, "Failed to issue command to RCON server: uninitialized\n");
+				Warning(eDLL_T::CLIENT, "Failed to issue command to RCON server: uninitialized\n");
 				break;
 			}
 			else if (g_pRConClient->IsConnected())
@@ -713,7 +713,7 @@ void _RCON_CmdQuery_f_CompletionFunc(const CCommand& args)
 			}
 			else
 			{
-				DevMsg(eDLL_T::CLIENT, "Failed to issue command to RCON server: unconnected\n");
+				Warning(eDLL_T::CLIENT, "Failed to issue command to RCON server: unconnected\n");
 				break;
 			}
 			break;
@@ -735,7 +735,7 @@ void _RCON_CmdQuery_f_CompletionFunc(const CCommand& args)
 			}
 			else
 			{
-				DevMsg(eDLL_T::CLIENT, "Failed to issue command to RCON server: unconnected\n");
+				Warning(eDLL_T::CLIENT, "Failed to issue command to RCON server: unconnected\n");
 				break;
 			}
 			break;
diff --git a/r5dev/tier1/NetAdr2.cpp b/r5dev/tier1/NetAdr2.cpp
index 2385b0fb..ca0b3e30 100644
--- a/r5dev/tier1/NetAdr2.cpp
+++ b/r5dev/tier1/NetAdr2.cpp
@@ -462,9 +462,8 @@ void CNetAdr2::ToAdrinfo(addrinfo* pHint) const
 			WCHAR* wszError = gai_strerror(results);
 			_bstr_t bStr(wszError);
 			const char* pszError = bStr;
-			// TODO: Implement 'Warning(..)' instead!
 #ifndef NETCONSOLE
-			DevMsg(eDLL_T::ENGINE, "Address info translation failed (%s)\n", pszError);
+			Warning(eDLL_T::ENGINE, "Address info translation failed (%s)\n", pszError);
 #else
 			printf("Address info translation failed (%s)\n", pszError);
 #endif // !NETCONSOLE
@@ -483,9 +482,8 @@ void CNetAdr2::ToAdrinfo(addrinfo* pHint) const
 			WCHAR* wszError = gai_strerror(results);
 			_bstr_t bStr(wszError);
 			const char* pszError = bStr;
-			// TODO: Implement 'Warning(..)' instead!
 #ifndef NETCONSOLE
-			DevMsg(eDLL_T::ENGINE, "Address info translation failed (%s)\n", pszError);
+			Warning(eDLL_T::ENGINE, "Address info translation failed (%s)\n", pszError);
 #else
 			printf("Address info translation failed (%s)\n", pszError);
 #endif // !NETCONSOLE
diff --git a/r5dev/tier2/socketcreator.cpp b/r5dev/tier2/socketcreator.cpp
index 22c59710..c05106ae 100644
--- a/r5dev/tier2/socketcreator.cpp
+++ b/r5dev/tier2/socketcreator.cpp
@@ -13,8 +13,6 @@
 #include <engine/net.h>
 #include <netconsole/netconsole.h>
 
-// TODO [AMOS] IMPLEMENT 'Warning(...)' for every DevMsg spew here..
-
 //-----------------------------------------------------------------------------
 // Purpose: Constructor
 //-----------------------------------------------------------------------------
@@ -55,7 +53,7 @@ void CSocketCreator::ProcessAccept(void)
 		if (!IsSocketBlocking())
 		{
 #ifndef NETCONSOLE
-			DevMsg(eDLL_T::ENGINE, "Socket ProcessAccept Error: %s\n", NET_ErrorString(WSAGetLastError()));
+			Error(eDLL_T::ENGINE, "Socket ProcessAccept Error: %s\n", NET_ErrorString(WSAGetLastError()));
 #else
 			printf("Socket ProcessAccept Error: %s\n", NET_ErrorString(WSAGetLastError()));
 #endif // !NETCONSOLE
@@ -93,7 +91,7 @@ bool CSocketCreator::ConfigureListenSocket(int iSocket)
 	if (results == -1)
 	{
 #ifndef NETCONSOLE
-		DevMsg(eDLL_T::ENGINE, "Socket accept 'ioctl(FIONBIO)' failed (%s)\n", NET_ErrorString(WSAGetLastError()));
+		Warning(eDLL_T::ENGINE, "Socket accept 'ioctl(FIONBIO)' failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #else
 		printf("Socket accept 'ioctl(FIONBIO)' failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #endif // !NETCONSOLE
@@ -114,7 +112,7 @@ bool CSocketCreator::ConfigureConnectSocket(SocketHandle_t hSocket)
 	if (ret == -1)
 	{
 #ifndef NETCONSOLE
-		DevMsg(eDLL_T::ENGINE, "Socket ioctl(FIONBIO) failed (%s)\n", NET_ErrorString(WSAGetLastError()));
+		Warning(eDLL_T::ENGINE, "Socket ioctl(FIONBIO) failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #else
 		printf("Socket ioctl(FIONBIO) failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #endif // !NETCONSOLE
@@ -156,7 +154,7 @@ bool CSocketCreator::CreateListenSocket(const CNetAdr2& netAdr2, bool bListenOnA
 		if (results == -1)
 		{
 #ifndef NETCONSOLE
-			DevMsg(eDLL_T::ENGINE, "Socket bind failed (%s)\n", NET_ErrorString(WSAGetLastError()));
+			Warning(eDLL_T::ENGINE, "Socket bind failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #else
 			printf("Socket bind failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #endif // !NETCONSOLE
@@ -168,7 +166,7 @@ bool CSocketCreator::CreateListenSocket(const CNetAdr2& netAdr2, bool bListenOnA
 		if (results == -1)
 		{
 #ifndef NETCONSOLE
-			DevMsg(eDLL_T::ENGINE, "Socket listen failed (%s)\n", NET_ErrorString(WSAGetLastError()));
+			Warning(eDLL_T::ENGINE, "Socket listen failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #else
 			printf("Socket listen failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #endif // !NETCONSOLE
@@ -208,7 +206,7 @@ int CSocketCreator::ConnectSocket(const CNetAdr2& netAdr2, bool bSingleSocket)
 	if (hSocket == SOCKET_ERROR)
 	{
 #ifndef NETCONSOLE
-		DevMsg(eDLL_T::ENGINE, "Unable to create socket (%s)\n", NET_ErrorString(WSAGetLastError()));
+		Warning(eDLL_T::ENGINE, "Unable to create socket (%s)\n", NET_ErrorString(WSAGetLastError()));
 #else
 		printf("Unable to create socket (%s)\n", NET_ErrorString(WSAGetLastError()));
 #endif // !NETCONSOLE
@@ -229,7 +227,7 @@ int CSocketCreator::ConnectSocket(const CNetAdr2& netAdr2, bool bSingleSocket)
 		if (!IsSocketBlocking())
 		{
 #ifndef NETCONSOLE
-			DevMsg(eDLL_T::ENGINE, "Socket connection failed (%s)\n", NET_ErrorString(WSAGetLastError()));
+			Warning(eDLL_T::ENGINE, "Socket connection failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #else
 			printf("Socket connection failed (%s)\n", NET_ErrorString(WSAGetLastError()));
 #endif // !NETCONSOLE
diff --git a/r5dev/vpklib/packedstore.cpp b/r5dev/vpklib/packedstore.cpp
index a824bca0..31d41f0f 100644
--- a/r5dev/vpklib/packedstore.cpp
+++ b/r5dev/vpklib/packedstore.cpp
@@ -156,7 +156,7 @@ void CPackedStore::ValidateAdler32PostDecomp(std::string svAssetFile)
 
 	if (m_nAdler32 != m_nAdler32_Internal)
 	{
-		DevMsg(eDLL_T::FS, "Warning: ADLER32 checksum mismatch for entry '%s' computed value '0x%lX' doesn't match expected value '0x%lX'. File may be corrupt!\n", svAssetFile.c_str(), m_nAdler32, m_nAdler32_Internal);
+		Warning(eDLL_T::FS, "Warning: ADLER32 checksum mismatch for entry '%s' computed value '0x%lX' doesn't match expected value '0x%lX'. File may be corrupt!\n", svAssetFile.c_str(), m_nAdler32, m_nAdler32_Internal);
 		m_nAdler32          = 0;
 		m_nAdler32_Internal = 0;
 	}
@@ -182,7 +182,7 @@ void CPackedStore::ValidateCRC32PostDecomp(std::string svDirAsset)
 
 	if (m_nCrc32 != m_nCrc32_Internal)
 	{
-		DevMsg(eDLL_T::FS, "Warning: CRC32 checksum mismatch for entry '%s' computed value '0x%lX' doesn't match expected value '0x%lX'. File may be corrupt!\n", svDirAsset.c_str(), m_nCrc32, m_nCrc32_Internal);
+		Warning(eDLL_T::FS, "Warning: CRC32 checksum mismatch for entry '%s' computed value '0x%lX' doesn't match expected value '0x%lX'. File may be corrupt!\n", svDirAsset.c_str(), m_nCrc32, m_nCrc32_Internal);
 		m_nCrc32          = 0;
 		m_nCrc32_Internal = 0;
 	}
@@ -213,7 +213,7 @@ void CPackedStore::UnpackAll(vpk_dir_h vpk_dir, std::string svPathOut)
 
 				if (!outFileStream.is_open())
 				{
-					DevMsg(eDLL_T::FS, "Error: unable to access file '%s'!\n", svFilePath.c_str());
+					Error(eDLL_T::FS, "Error: unable to access file '%s'!\n", svFilePath.c_str());
 				}
 				outFileStream.clear(); // Make sure file is empty before writing.
 				for (vpk_entry_h entry : block.m_vvEntries)
@@ -246,15 +246,15 @@ void CPackedStore::UnpackAll(vpk_dir_h vpk_dir, std::string svPathOut)
 						{
 							if (block.m_nCrc32 != m_nCrc32_Internal)
 							{
-								DevMsg(eDLL_T::FS, "Warning: CRC32 checksum mismatch for entry '%s' computed value '0x%lX' doesn't match expected value '0x%lX'. File may be corrupt!\n", block.m_svBlockPath.c_str(), m_nCrc32_Internal, block.m_nCrc32);
+								Warning(eDLL_T::FS, "Warning: CRC32 checksum mismatch for entry '%s' computed value '0x%lX' doesn't match expected value '0x%lX'. File may be corrupt!\n", block.m_svBlockPath.c_str(), m_nCrc32_Internal, block.m_nCrc32);
 							}
 						}
 						else { m_nEntryCount++; }
 
 						if (m_lzDecompStatus != lzham_decompress_status_t::LZHAM_DECOMP_STATUS_SUCCESS)
 						{
-							DevMsg(eDLL_T::FS, "Error: failed decompression for an entry within block '%s' in archive '%d'!\n", block.m_svBlockPath.c_str(), i);
-							DevMsg(eDLL_T::FS, "'lzham_decompress_memory_func' returned with status '%d'.\n", m_lzDecompStatus);
+							Error(eDLL_T::FS, "Error: failed decompression for an entry within block '%s' in archive '%d'!\n", block.m_svBlockPath.c_str(), i);
+							Error(eDLL_T::FS, "'lzham_decompress_memory_func' returned with status '%d'.\n", m_lzDecompStatus);
 						}
 						else
 						{
@@ -329,7 +329,7 @@ vpk_dir_h::vpk_dir_h(std::string svPath)
 
 	if (this->m_nFileMagic != RVPK_DIR_MAGIC)
 	{
-		DevMsg(eDLL_T::FS, "Error: vpk_dir file '%s' has invalid magic!\n", svPath.c_str());
+		Error(eDLL_T::FS, "Error: vpk_dir file '%s' has invalid magic!\n", svPath.c_str());
 		return;
 	}