WIP temporary Werror to get rid of undefined macros
This commit is contained in:
parent
eae51762ff
commit
851a635ab1
@ -14,6 +14,10 @@ set(EnableGUI 1 CACHE BOOL "Enable GUI")
|
||||
set(EnableIPC 1 CACHE BOOL "Enable IPC")
|
||||
set(DataPath "/opt/cathook/data" CACHE STRING "Data location")
|
||||
set(VACBypass 0 CACHE BOOL "Textmode VAC bypass")
|
||||
set(Textmode 0 CACHE BOOL "Various textmode-only features for bots")
|
||||
set(EnableTextmodeStdin 0 CACHE BOOL "Textmode Stdin -> Console bridge (EXPERIMENTAL)")
|
||||
set(EnableWarnings 1 CACHE BOOL "Enable compile warnings")
|
||||
set(EnableNullGraphics 0 CACHE BOOL "Enable experimental textmode hooks (CRASHES)")
|
||||
|
||||
find_package(Git REQUIRED)
|
||||
find_package(SDL2 REQUIRED)
|
||||
@ -57,7 +61,7 @@ target_compile_definitions(cathook PRIVATE
|
||||
GNUC=1
|
||||
NO_MALLOC_OVERRIDE=1)
|
||||
|
||||
target_include_directories(cathook PRIVATE
|
||||
target_include_directories(cathook SYSTEM PRIVATE
|
||||
"source-sdk-2013-headers/mp/src/mathlib"
|
||||
"source-sdk-2013-headers/mp/src/public"
|
||||
"source-sdk-2013-headers/mp/src/common"
|
||||
@ -74,6 +78,10 @@ target_include_directories(cathook PRIVATE
|
||||
"${xoverlay_INCLUDE_DIRS}"
|
||||
"${SimpleIPC_INCLUDE_DIRS}")
|
||||
|
||||
if(EnableWarnings)
|
||||
target_compile_options(cathook PRIVATE -Wundef -Werror)
|
||||
endif()
|
||||
|
||||
add_subdirectory(include)
|
||||
add_subdirectory(src)
|
||||
|
||||
|
@ -10,4 +10,7 @@
|
||||
#define ENABLE_GUI @EnableGUI@
|
||||
#define ENABLE_IPC @EnableIPC@
|
||||
#define DATA_PATH "@DataPath@"
|
||||
#define ENABLE_VAC_BYPASS @VACBypass@
|
||||
#define ENABLE_VAC_BYPASS @VACBypass@
|
||||
#define ENABLE_TEXTMODE_STDIN @EnableTextmodeStdin@
|
||||
#define ENABLE_NULL_GRAPHICS @EnableNullGraphics@
|
||||
#define TEXTMODE @Textmode@
|
@ -11,9 +11,9 @@ public:
|
||||
uintptr_t dwFindPattern(uintptr_t dwAddress, uintptr_t dwLength,
|
||||
const char *szPattern);
|
||||
void *GetModuleHandleSafe(const char *pszModuleName);
|
||||
uintptr_t GetClientSignature(char *chPattern);
|
||||
uintptr_t GetEngineSignature(char *chPattern);
|
||||
uintptr_t GetVstdSignature(char *chPattern);
|
||||
uintptr_t GetClientSignature(const char *chPattern);
|
||||
uintptr_t GetEngineSignature(const char *chPattern);
|
||||
uintptr_t GetVstdSignature(const char *chPattern);
|
||||
};
|
||||
|
||||
extern CSignature gSignatures;
|
||||
|
@ -7,6 +7,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config.h"
|
||||
|
||||
class INetMessage;
|
||||
class CViewSetup;
|
||||
class bf_read;
|
||||
@ -14,7 +16,7 @@ class SDL_Window;
|
||||
class CatVar;
|
||||
|
||||
extern CatVar disconnect_reason;
|
||||
#if ENABLE_VISUALS == 1
|
||||
#if ENABLE_VISUALS
|
||||
extern int spectator_target;
|
||||
#endif
|
||||
|
||||
@ -29,7 +31,7 @@ void LevelInit_hook(void *, const char *);
|
||||
void LevelShutdown_hook(void *);
|
||||
int RandomInt_hook(void *, int, int);
|
||||
|
||||
#if ENABLE_NULL_GRAPHICS == 1
|
||||
#if ENABLE_NULL_GRAPHICS
|
||||
typedef ITexture *(*FindTexture_t)(void *, const char *, const char *, bool,
|
||||
int);
|
||||
typedef IMaterial *(*FindMaterialEx_t)(void *, const char *, const char *, int,
|
||||
|
@ -1,4 +1,3 @@
|
||||
#if TEXTMODE_VAC != 1
|
||||
namespace colorsint
|
||||
{
|
||||
constexpr int Create(int r, int g, int b, int a)
|
||||
@ -50,8 +49,7 @@ void FString(unsigned long font, int x, int y, int color, int shadow,
|
||||
void DrawRect(int x, int y, int w, int h, int color);
|
||||
void DrawLine(int x, int y, int dx, int dy, int color);
|
||||
void OutlineRect(int x, int y, int w, int h, int color);
|
||||
void GetStringLength(unsigned long font, char *string, int &length,
|
||||
void GetStringLength(unsigned long font, const char *string, int &length,
|
||||
int &height);
|
||||
std::pair<int, int> GetStringLength(unsigned long font, std::string string);
|
||||
}
|
||||
#endif
|
||||
|
@ -9,6 +9,7 @@
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "config.h"
|
||||
|
||||
struct link_map;
|
||||
typedef void *(*fn_CreateInterface_t)(const char *, int *);
|
||||
@ -43,7 +44,7 @@ SharedObject &vstdlib();
|
||||
SharedObject &tier0();
|
||||
SharedObject &inputsystem();
|
||||
SharedObject &materialsystem();
|
||||
#if ENABLE_VISUALS == 1
|
||||
#if ENABLE_VISUALS
|
||||
SharedObject &vguimatsurface();
|
||||
SharedObject &vgui2();
|
||||
SharedObject &studiorender();
|
||||
|
@ -1,4 +1,4 @@
|
||||
#pragma once
|
||||
|
||||
#define GIT_COMMIT_HASH "@GIT_COMMIT_HASH@"
|
||||
#define GIT_COMMIT_DATE "@GIT_COMMIT_DATE@"
|
||||
#define GIT_COMMIT_HASH @GIT_COMMIT_HASH@
|
||||
#define GIT_COMMIT_DATE @GIT_COMMIT_DATE@
|
@ -67,10 +67,8 @@ uintptr_t CSignature::dwFindPattern(uintptr_t dwAddress, uintptr_t dwLength,
|
||||
firstMatch = pCur;
|
||||
if (!pat[2])
|
||||
return firstMatch;
|
||||
if (*(uintptr_t *) pat == '\?\?' || *(uint8_t *) pat != '\?')
|
||||
if (*pat == '\?')
|
||||
pat += 3;
|
||||
else
|
||||
pat += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -94,7 +92,7 @@ void *CSignature::GetModuleHandleSafe(const char *pszModuleName)
|
||||
return moduleHandle;
|
||||
}
|
||||
//===================================================================================
|
||||
uintptr_t CSignature::GetClientSignature(char *chPattern)
|
||||
uintptr_t CSignature::GetClientSignature(const char *chPattern)
|
||||
{
|
||||
// we need to do this becuase (i assume that) under the hood, dlopen only
|
||||
// loads up the sections that it needs into memory, meaning that we cannot
|
||||
@ -121,7 +119,7 @@ uintptr_t CSignature::GetClientSignature(char *chPattern)
|
||||
(uintptr_t)(module) + moduleMap->l_addr;
|
||||
}
|
||||
//===================================================================================
|
||||
uintptr_t CSignature::GetEngineSignature(char *chPattern)
|
||||
uintptr_t CSignature::GetEngineSignature(const char *chPattern)
|
||||
{
|
||||
// we need to do this becuase (i assume that) under the hood, dlopen only
|
||||
// loads up the sections that it needs into memory, meaning that we cannot
|
||||
@ -148,7 +146,7 @@ uintptr_t CSignature::GetEngineSignature(char *chPattern)
|
||||
(uintptr_t)(module) + moduleMap->l_addr;
|
||||
}
|
||||
//===================================================================================
|
||||
uintptr_t CSignature::GetVstdSignature(char *chPattern)
|
||||
uintptr_t CSignature::GetVstdSignature(const char *chPattern)
|
||||
{
|
||||
// we need to do this becuase (i assume that) under the hood, dlopen only
|
||||
// loads up the sections that it needs into memory, meaning that we cannot
|
||||
|
@ -243,7 +243,7 @@ void WorldTick()
|
||||
|
||||
void DrawTick()
|
||||
{
|
||||
#if TEXTMODE_VAC != 1
|
||||
#if ENABLE_VISUALS
|
||||
if (!followbot || !draw_crumb)
|
||||
return;
|
||||
if (breadcrumbs.size() < 2)
|
||||
|
@ -398,7 +398,7 @@ void def_attribute_modifier::Set(int id, float value)
|
||||
logging::Info("Woah there, that's too many! Remove some.");
|
||||
return;
|
||||
}
|
||||
modifiers.push_back(attribute_s{ id, value });
|
||||
modifiers.push_back(attribute_s{ (uint16_t)id, value });
|
||||
logging::Info("Added new attribute: %i %.2f (%i)", id, value,
|
||||
modifiers.size());
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ void Paint_hook(IEngineVGui *_this, PaintMode_t mode)
|
||||
hack::command_stack().pop();
|
||||
}
|
||||
}
|
||||
#if TEXTMODE_STDIN == 1
|
||||
#if ENABLE_TEXTMODE_STDIN == 1
|
||||
static auto last_stdin = std::chrono::system_clock::from_time_t(0);
|
||||
auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||
std::chrono::system_clock::now() - last_stdin)
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "common.hpp"
|
||||
#include "sdk.hpp"
|
||||
|
||||
#if TEXTMODE_VAC != 1
|
||||
class IMemAlloc;
|
||||
IMemAlloc *g_pMemAlloc = 0;
|
||||
|
||||
@ -256,4 +255,3 @@ void CBaseContainer::Update()
|
||||
}
|
||||
CBaseWidget::Update();
|
||||
}
|
||||
#endif
|
||||
|
@ -9,7 +9,6 @@
|
||||
#include "common.hpp"
|
||||
#include "GUI.h"
|
||||
|
||||
#if TEXTMODE_VAC != 1
|
||||
void CBaseWidget::DrawBounds(int x, int y)
|
||||
{
|
||||
if (m_KeyValues->IsEmpty("bounds_color"))
|
||||
@ -68,4 +67,3 @@ std::pair<int, int> CBaseWidget::AbsolutePosition()
|
||||
}
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
@ -9,7 +9,6 @@
|
||||
|
||||
#include "common.hpp"
|
||||
#include "menu/GUI.h"
|
||||
#if TEXTMODE_VAC != 1
|
||||
|
||||
void CBaseWindow::MoveChildren()
|
||||
{
|
||||
@ -63,4 +62,3 @@ void CBaseWindow::Draw(int x, int y)
|
||||
NCGUIColor());
|
||||
CBaseContainer::Draw(x, y);
|
||||
}
|
||||
#endif
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include "sdk.hpp"
|
||||
#include "GUI.h"
|
||||
|
||||
#if TEXTMODE_VAC != 1
|
||||
std::string WordWrap(std::string &in, int max, unsigned long font)
|
||||
{
|
||||
std::stringstream result, line, wordstream, next;
|
||||
@ -134,4 +133,3 @@ void CTextLabel::Draw(int x, int y)
|
||||
else
|
||||
draw::String(fonts::MENU, x, y, colorsint::white, 1, GetText());
|
||||
}
|
||||
#endif
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include "common.hpp"
|
||||
#include "sdk.hpp"
|
||||
|
||||
#if TEXTMODE_VAC != 1
|
||||
#undef RootWindow
|
||||
|
||||
void GUIVisibleCallback(IConVar *var, const char *pOldValue, float flOldValue)
|
||||
@ -239,4 +238,3 @@ bool CatGUI::ConsumesKey(ButtonCode_t key)
|
||||
}
|
||||
|
||||
CatGUI *g_pGUI = 0;
|
||||
#endif
|
||||
|
@ -6,8 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "menu/IWidget.h"
|
||||
#if TEXTMODE_VAC != 1
|
||||
|
||||
IWidget::~IWidget()
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
@ -1,6 +1,5 @@
|
||||
#include "common.hpp"
|
||||
|
||||
#if TEXTMODE_VAC != 1
|
||||
namespace fonts
|
||||
{
|
||||
unsigned long MENU = 0;
|
||||
@ -74,7 +73,7 @@ void draw::OutlineRect(int x, int y, int w, int h, int color)
|
||||
g_ISurface->DrawOutlinedRect(x, y, x + w, y + h);
|
||||
}
|
||||
|
||||
void draw::GetStringLength(unsigned long font, char *string, int &length,
|
||||
void draw::GetStringLength(unsigned long font, const char *string, int &length,
|
||||
int &height)
|
||||
{
|
||||
wchar_t buf[512];
|
||||
@ -186,4 +185,3 @@ std::pair<int, int> draw::GetStringLength(unsigned long font,
|
||||
draw::GetStringLength(font, (char *) string.c_str(), l, h);
|
||||
return std::make_pair(l, h);
|
||||
}
|
||||
#endif
|
||||
|
@ -7,9 +7,6 @@
|
||||
|
||||
#include "common.hpp"
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
bool *allowSecureServers{ nullptr };
|
||||
|
||||
// valve pls no ban
|
||||
@ -42,19 +39,19 @@ CatCommand fixvac("fixvac", "Lemme in to secure servers",
|
||||
[]() { *allowSecureServers = true; });
|
||||
|
||||
InitRoutine init([]() {
|
||||
#if TEXTMODE_STDIN == 1
|
||||
#if ENABLE_TEXTMODE_STDIN
|
||||
logging::Info("[TEXTMODE] Setting up input handling");
|
||||
int flags = fcntl(0, F_GETFL, 0);
|
||||
flags |= O_NONBLOCK;
|
||||
fcntl(0, F_SETFL, flags);
|
||||
logging::Info("[TEXTMODE] stdin is now non-blocking");
|
||||
#endif
|
||||
#if TEXTMODE_VAC == 1
|
||||
#if ENABLE_VAC_BYPASS
|
||||
EXPOSED_Epic_VACBypass_1337_DoNotSteal_xXx_$1_xXx_MLG();
|
||||
#endif
|
||||
});
|
||||
|
||||
#if TEXTMODE_STDIN == 1
|
||||
#if ENABLE_TEXTMODE_STDIN
|
||||
void UpdateInput()
|
||||
{
|
||||
char buffer[256];
|
||||
|
Reference in New Issue
Block a user