diff --git a/AccuracyFix/AccuracyFix.cpp b/AccuracyFix/AccuracyFix.cpp index c185ce3..bdd7475 100644 --- a/AccuracyFix/AccuracyFix.cpp +++ b/AccuracyFix/AccuracyFix.cpp @@ -3,14 +3,14 @@ CAccuracyFix gAccuracyFix; void CAccuracyFix::ServerActivate() -{ +{ this->m_af_accuracy_all = gAccuracyUtil.CvarRegister("af_accuracy_all", "-1.0"); this->m_af_distance_all = gAccuracyUtil.CvarRegister("af_distance_all", "-1.0"); - this->m_af_jump_fix = gAccuracyUtil.CvarRegister("af_jump_fix", "0"); + this->m_af_jump_fix = gAccuracyUtil.CvarRegister("af_jump_fix", "0.0"); - /*if (g_ReGameApi) + if (g_ReGameApi) { char cvarName[32] = { 0 }; @@ -48,7 +48,7 @@ void CAccuracyFix::ServerActivate() { gAccuracyUtil.ServerCommand("exec %s/accuracyfix.cfg", Path); } - }*/ + } } void CAccuracyFix::TraceLine(const float* vStart, const float* vEnd, int fNoMonsters, edict_t* pentToSkip, TraceResult* ptr) diff --git a/AccuracyFix/AccuracyFix.h b/AccuracyFix/AccuracyFix.h index 38cde74..80b8025 100644 --- a/AccuracyFix/AccuracyFix.h +++ b/AccuracyFix/AccuracyFix.h @@ -14,7 +14,6 @@ class CAccuracyFix void ServerActivate(); void TraceLine(const float* vStart, const float* vEnd, int fNoMonsters, edict_t* pentToSkip, TraceResult* ptr); -private: cvar_t* m_af_distance_all; cvar_t* m_af_distance[MAX_WEAPONS + 1]; cvar_t* m_af_accuracy_all; diff --git a/AccuracyFix/AccuracyUtil.cpp b/AccuracyFix/AccuracyUtil.cpp index 87ab668..984f5e9 100644 --- a/AccuracyFix/AccuracyUtil.cpp +++ b/AccuracyFix/AccuracyUtil.cpp @@ -4,29 +4,28 @@ CAccuracyUtil gAccuracyUtil; cvar_t* CAccuracyUtil::CvarRegister(const char* Name, const char* Value) { - cvar_t* pCvar = g_engfuncs.pfnCVarGetPointer(Name); + cvar_t* Pointer = g_engfuncs.pfnCVarGetPointer(Name); - if (!pCvar) + if (!Pointer) { - this->m_CvarData[Name].name = Name; + static cvar_t CvarData; + + CvarData = { Name, (char*)(Value), FCVAR_SERVER | FCVAR_SPONLY, 0.0f, NULL }; - this->m_CvarData[Name].string = (char*)(Value); + g_engfuncs.pfnCVarRegister(&CvarData); + + Pointer = g_engfuncs.pfnCVarGetPointer(Name); - this->m_CvarData[Name].flags = (FCVAR_SERVER | FCVAR_SPONLY | FCVAR_UNLOGGED); - - g_engfuncs.pfnCVarRegister(&this->m_CvarData[Name]); - - pCvar = g_engfuncs.pfnCVarGetPointer(this->m_CvarData[Name].name); - - if (pCvar) + if(Pointer) { - g_engfuncs.pfnCvar_DirectSet(pCvar, Value); + g_engfuncs.pfnCvar_DirectSet(Pointer, Value); } } - return pCvar; + return Pointer; } + const char* CAccuracyUtil::GetPath() { if (this->m_Path.empty()) @@ -68,7 +67,7 @@ void CAccuracyUtil::ServerCommand(const char* Format, ...) va_end(argptr); - Q_strncat(Command, "\n", 1); + Q_strncat(Command, "\n", sizeof(Command) - 1); g_engfuncs.pfnServerCommand(Command); } diff --git a/AccuracyFix/AccuracyUtil.h b/AccuracyFix/AccuracyUtil.h index 1eb2e3a..e47cb88 100644 --- a/AccuracyFix/AccuracyUtil.h +++ b/AccuracyFix/AccuracyUtil.h @@ -7,10 +7,8 @@ class CAccuracyUtil void ServerCommand(const char* Format, ...); const char* GetPath(); TraceResult GetUserAiming(edict_t* pEntity, float DistanceLimit); - -private: - std::map m_CvarData; + std::string m_Path; }; -extern CAccuracyUtil gAccuracyUtil; \ No newline at end of file +extern CAccuracyUtil gAccuracyUtil; diff --git a/AccuracyFix/precompiled.h b/AccuracyFix/precompiled.h index 4038d08..6fb2d20 100644 --- a/AccuracyFix/precompiled.h +++ b/AccuracyFix/precompiled.h @@ -7,7 +7,7 @@ // If is not MSVC build #ifndef _WIN32 -#define _GLIBCXX_USE_CXX11_ABI 0 +#define _GLIBCXX_USE_CXX11_ABI 0 #define _stricmp strcasecmp #define _strnicmp strncasecmp #define _strdup strdup