diff --git a/cathook/src/hack.cpp b/cathook/src/hack.cpp index d1e352ad..e4fafa4f 100644 --- a/cathook/src/hack.cpp +++ b/cathook/src/hack.cpp @@ -111,6 +111,8 @@ void hack::Hk_PaintTraverse(void* p, unsigned int vp, bool fr, bool ar) { } } + if (g_Settings.bNoVisuals->GetBool()) return; + if (!draw::width || !draw::height) { interfaces::engineClient->GetScreenSize(draw::width, draw::height); } @@ -127,8 +129,6 @@ void hack::Hk_PaintTraverse(void* p, unsigned int vp, bool fr, bool ar) { g_Settings.bInvalid = true; } if (g_Settings.bInvalid) return; - if (g_Settings.bNoVisuals->GetBool()) return; - if (draw::panel_top == vp) { ResetStrings(); if (g_Settings.bShowLogo->GetBool()) { diff --git a/cathook/src/helpers.cpp b/cathook/src/helpers.cpp index aba5e66b..dff9d8e5 100644 --- a/cathook/src/helpers.cpp +++ b/cathook/src/helpers.cpp @@ -741,8 +741,8 @@ void EndPrediction() { interfaces::gvars->frametime = oldFrametime; }*/ -char* strfmt(const char* fmt, ...) { - char* result = new char[1024]; +sstring strfmt(const char* fmt, ...) { + sstring result(1024); va_list list; va_start(list, fmt); vsprintf(result, fmt, list); diff --git a/cathook/src/helpers.h b/cathook/src/helpers.h index 82f65e99..915e96f9 100644 --- a/cathook/src/helpers.h +++ b/cathook/src/helpers.h @@ -16,6 +16,7 @@ class CUserCmd; class CCommand; struct player_info_s; class Vector; +class sstring; #define PI 3.14159265358979323846f #define RADPI 57.295779513082f @@ -69,7 +70,7 @@ bool GetProjectileData(CachedEntity* weapon, float& speed, float& gravity); bool IsVectorVisible(Vector a, Vector b); relation GetRelation(CachedEntity* ent); // TODO new relations bool IsSentryBuster(CachedEntity* ent); -char* strfmt(const char* fmt, ...); +sstring strfmt(const char* fmt, ...); // TODO move that to weaponid.h bool IsAmbassador(CachedEntity* ent); diff --git a/cathook/src/sstring.h b/cathook/src/sstring.h index 2b1b6e87..84b1031c 100644 --- a/cathook/src/sstring.h +++ b/cathook/src/sstring.h @@ -8,17 +8,15 @@ #ifndef SSTRING_H_ #define SSTRING_H_ -//typedef char* sstring; - -/*class sstring { +class sstring { public: inline sstring() { length = 0; p_String = 0; }; inline sstring(int length) { this->length = length; p_String = new char[length]; } - inline ~sstring() { if (p_String) delete [] p_String; } + inline ~sstring() { delete [] p_String; } inline operator const char*() const { return p_String; }; inline operator char*() const { return (char*)p_String; } const char* p_String; int length; -};*/ +}; #endif /* SSTRING_H_ */