Fix alot of shit and add cat_nullcore_mode for emoji esp and fidget spinner corsshair

This commit is contained in:
BenCat07 2018-04-05 18:28:45 +02:00
parent 00306b6be3
commit abee301f7d
20 changed files with 1735 additions and 1710 deletions

1061
include/classinfo/dummy.gen.hpp Executable file → Normal file

File diff suppressed because it is too large Load Diff

1065
include/classinfo/dynamic.gen.hpp Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@ -15,6 +15,6 @@ class CatVar;
extern std::array<textures::sprite, 4> spinner_states; extern std::array<textures::sprite, 4> spinner_states;
extern CatVar enable_spinner; extern CatVar enable_spinner;
extern CatVar v9mode;
void InitSpinner(); void InitSpinner();
void DrawSpinner(); void DrawSpinner();

View File

@ -16,10 +16,10 @@ public:
static CTFPartyClient *GTFPartyClient(); static CTFPartyClient *GTFPartyClient();
static int SendPartyChat(CTFPartyClient *client, const char *message); static int SendPartyChat(CTFPartyClient *client, const char *message);
static int LoadSavedCasualCriteria(CTFPartyClient *client); int LoadSavedCasualCriteria();
static ITFGroupMatchCriteria *MutLocalGroupCriteria(CTFPartyClient *client); static ITFGroupMatchCriteria *MutLocalGroupCriteria(CTFPartyClient *client);
static bool BCanQueueForStandby(CTFPartyClient *this_); static bool BCanQueueForStandby(CTFPartyClient *this_);
static void RequestQueueForMatch(CTFPartyClient *client); char RequestQueueForMatch(int type);
static bool BInQueue(CTFPartyClient *this_); static bool BInQueue(CTFPartyClient *this_);
}; };
} }

View File

@ -17,7 +17,15 @@ class ITFGroupMatchCriteria
public: public:
enum group enum group
{ {
CASUAL = 7 MvmPractice = 0,
MvmMannup = 1,
LadderMatch6v6 = 2,
LadderMatch9v9 = 3,
LadderMatch12v12 = 4,
CasualMatch6v6 = 5,
CasualMatch9v9 = 6,
CasualMatch12v12 = 7,
CompetitiveEventMatch12v12 = 8
}; };
public: public:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 KiB

After

Width:  |  Height:  |  Size: 367 KiB

1101
src/classinfo/dynamic.gen.cpp Executable file → Normal file

File diff suppressed because it is too large Load Diff

10
src/fidgetspinner.cpp Executable file → Normal file
View File

@ -14,6 +14,7 @@
CatVar enable_spinner(CV_SWITCH, "fidgetspinner", "0", "Fidget Spinner", CatVar enable_spinner(CV_SWITCH, "fidgetspinner", "0", "Fidget Spinner",
"Part of Cathook Autism Awareness program"); "Part of Cathook Autism Awareness program");
CatVar v9mode(CV_SWITCH, "nullcore_mode", "0", "Nullcore mode", "Part of Cathook Autism Awareness program");
float spinning_speed = 0.0f; float spinning_speed = 0.0f;
float angle = 0; float angle = 0;
@ -90,11 +91,12 @@ void DrawSpinner()
const glez_rgba_t color = glez_rgba(255, 255, 255, 255); const glez_rgba_t color = glez_rgba(255, 255, 255, 255);
static glez_texture_t tex =
static glez_texture_t tex = glez_texture_load_png_rgba("/opt/cathook/data/res/atlas.png"); glez_texture_load_png_rgba("/opt/cathook/data/res/atlas.png");
while (!tex) while (!tex)
tex = glez_texture_load_png_rgba("/opt/cathook/data/res/atlas.png"); tex = glez_texture_load_png_rgba("/opt/cathook/data/res/atlas.png");
glez_rect_textured(draw::width / 2, draw::height / 2, size, size, color, tex, 0 + 64 * state, 3 * 64, 64, 64, angle); glez_rect_textured(draw::width / 2, draw::height / 2, size, size, color,
tex, 0 + 64 * state, (3 + (v9mode ? 1 : 0)) * 64, 64, 64, angle);
if (angle > PI * 4) if (angle > PI * 4)
angle -= PI * 4; angle -= PI * 4;
} }

4
src/hacks/Aimbot.cpp Executable file → Normal file
View File

@ -790,7 +790,9 @@ const Vector &PredictEntity(CachedEntity *entity)
if ((entity->m_Type == ENTITY_PLAYER)) if ((entity->m_Type == ENTITY_PLAYER))
{ {
// If using projectiles, predict a vector // If using projectiles, predict a vector
if (projectile_mode && (g_pLocalPlayer->weapon_mode == weapon_projectile || g_pLocalPlayer->weapon_mode == weapon_throwable) ) if (projectile_mode &&
(g_pLocalPlayer->weapon_mode == weapon_projectile ||
g_pLocalPlayer->weapon_mode == weapon_throwable))
{ {
// Use prediction engine if user settings allow // Use prediction engine if user settings allow
if (engine_projpred) if (engine_projpred)

5
src/hacks/AntiAim.cpp Executable file → Normal file
View File

@ -462,9 +462,10 @@ void ProcessUserCmd(CUserCmd *cmd)
if (trueang) if (trueang)
angstate = !angstate; angstate = !angstate;
if (!LOCAL_E->m_bAlivePlayer) if (!LOCAL_E->m_bAlivePlayer)
angstate = true;
if (lagexploit::ExploitActive() || g_pUserCmd->buttons & IN_ATTACK ||
g_pUserCmd->buttons & IN_ATTACK2)
angstate = true; angstate = true;
if (lagexploit::ExploitActive() || g_pUserCmd->buttons & IN_ATTACK || g_pUserCmd->buttons & IN_ATTACK2)
angstate = true;
*bSendPackets = angstate; *bSendPackets = angstate;
float &p = cmd->viewangles.x; float &p = cmd->viewangles.x;
float &y = cmd->viewangles.y; float &y = cmd->viewangles.y;

View File

@ -52,11 +52,10 @@ void UpdateSearch()
if (g_IEngine->IsInGame()) if (g_IEngine->IsInGame())
return; return;
if (autoqueue_timer.test_and_set(5000)) if (autoqueue_timer.test_and_set(10000))
{ {
re::CTFGCClientSystem *gc = re::CTFGCClientSystem::GTFGCClientSystem(); re::CTFGCClientSystem *gc = re::CTFGCClientSystem::GTFGCClientSystem();
if (gc && !gc->BConnectedToMatchServer(false) && CE_BAD(LOCAL_E))
if (gc && !gc->BConnectedToMatchServer(false) && !gc->BHaveLiveMatch())
{ {
logging::Info("Starting queue"); logging::Info("Starting queue");
tfmm::queue_start(); tfmm::queue_start();

2
src/hacks/AutoSticky.cpp Executable file → Normal file
View File

@ -114,7 +114,6 @@ void CreateMove()
bombs.clear(); bombs.clear();
targets.clear(); targets.clear();
// Cycle through the ents and search for valid ents // Cycle through the ents and search for valid ents
for (int i = 0; i < HIGHEST_ENTITY; i++) for (int i = 0; i < HIGHEST_ENTITY; i++)
{ {
@ -175,7 +174,6 @@ void CreateMove()
// Use silent // Use silent
g_pLocalPlayer->bUseSilentAngles = true; g_pLocalPlayer->bUseSilentAngles = true;
// Detonate // Detonate
g_pUserCmd->buttons |= IN_ATTACK2; g_pUserCmd->buttons |= IN_ATTACK2;

View File

@ -392,6 +392,8 @@ void _FASTCALL emoji(CachedEntity *ent)
{ {
float size = emoji_esp_scaling ? fabs(hbm.y - hbx.y) float size = emoji_esp_scaling ? fabs(hbm.y - hbx.y)
: float(emoji_esp_size); : float(emoji_esp_size);
if (v9mode)
size *= 1.4;
if (!size || !float(emoji_min_size)) if (!size || !float(emoji_min_size))
return; return;
if (emoji_esp_scaling && (size < float(emoji_min_size))) if (emoji_esp_scaling && (size < float(emoji_min_size)))
@ -399,21 +401,19 @@ void _FASTCALL emoji(CachedEntity *ent)
size = float(emoji_min_size); size = float(emoji_min_size);
} }
glez_rgba_t white = glez_rgba(255, 255, 255, 255); glez_rgba_t white = glez_rgba(255, 255, 255, 255);
if (!textur) while (!textur)
textur = glez_texture_load_png_rgba( textur = glez_texture_load_png_rgba(
"/opt/cathook/data/res/atlas.png"); "/opt/cathook/data/res/atlas.png");
player_info_s info; player_info_s info;
unsigned int steamID; unsigned int steamID;
unsigned int steamidarray[32]{}; unsigned int steamidarray[32]{};
bool hascall = false; bool hascall = false;
steamidarray[0] = 263966176; steamidarray[0] = 479487126;
steamidarray[1] = 479487126; steamidarray[1] = 263966176;
steamidarray[2] = 840899897; steamidarray[2] = 840255344;
steamidarray[3] = 147831332; steamidarray[3] = 147831332;
if (g_IEngine->GetPlayerInfo(ent->m_IDX, &info)) if (g_IEngine->GetPlayerInfo(ent->m_IDX, &info))
{
steamID = info.friendsID; steamID = info.friendsID;
}
if (!idspecific) if (!idspecific)
idspecific = glez_texture_load_png_rgba( idspecific = glez_texture_load_png_rgba(
"/opt/cathook/data/res/idspec.png"); "/opt/cathook/data/res/idspec.png");
@ -423,59 +423,27 @@ void _FASTCALL emoji(CachedEntity *ent)
glez_rect_textured( glez_rect_textured(
head_scr.x - size / 2, head_scr.y - size / 2, size, head_scr.x - size / 2, head_scr.y - size / 2, size,
size, white, idspecific, 2 * 64, 1 * 64, 64, 64, 0); size, white, idspecific, 2 * 64, 1 * 64, 64, 64, 0);
for (auto i : steamidarray) for (int i = 0; i < 4; i++)
{ {
if (steamID == i) if (steamID == steamidarray[i])
{ {
if (!idspecific) while (!idspecific)
{
idspecific = glez_texture_load_png_rgba( idspecific = glez_texture_load_png_rgba(
"/opt/cathook/data/res/idspec.png"); "/opt/cathook/data/res/idspec.png");
}
if (idspecific) if (idspecific)
{ glez_rect_textured(head_scr.x - size / 2,
if (i == steamidarray[0]) head_scr.y - size / 2,
glez_rect_textured(head_scr.x - size / 2, size, size, white,
head_scr.y - size / 2, idspecific, i * 64,
size, size, white, 1 * 64, 64, 64, 0);
idspecific, 1 * 64,
1 * 64, 64, 64, 0);
else if (i == steamidarray[1])
glez_rect_textured(head_scr.x - size / 2,
head_scr.y - size / 2,
size, size, white,
idspecific, 0, 1 * 64,
64, 64, 0);
else if (i == steamidarray[2])
glez_rect_textured(head_scr.x - size / 2,
head_scr.y - size / 2,
size, size, white,
idspecific, 2 * 64,
1 * 64, 64, 64, 0);
else if (i == steamidarray[3])
glez_rect_textured(head_scr.x - size / 2,
head_scr.y - size / 2,
size, size, white,
idspecific, 3 * 64,
1 * 64, 64, 64, 0);
}
hascall = true; hascall = true;
} }
} }
if (textur && !hascall) if (textur && !hascall)
{ draw_api::draw_rect_textured(head_scr.x - size / 2,
if (emoji_esp == 1)
glez_rect_textured(head_scr.x - size / 2,
head_scr.y - size / 2, size, head_scr.y - size / 2, size,
size, white, textur, 4 * 64, size, colors::white, {textur}, (3 + (v9mode ? 3 : (int)emoji_esp)) * 64,
3 * 64, 64, 64, 0); 3 * 64, 64, 64, 0);
else if (emoji_esp == 2)
glez_rect_textured(head_scr.x - size / 2,
head_scr.y - size / 2, size,
size, white, textur, 5 * 64,
3 * 64, 64, 64, 0);
}
} }
} }
} }

29
src/hacks/LagExploit.cpp Executable file → Normal file
View File

@ -34,6 +34,12 @@ CatVar cart(CV_SWITCH, "se_cart", "0", "Farm cart points",
CatVar instant_weapon_switch(CV_SWITCH, "se_switch", "0", CatVar instant_weapon_switch(CV_SWITCH, "se_switch", "0",
"Instant weapon switch", ""); "Instant weapon switch", "");
CatVar key(CV_KEY, "se_key", "0", "Sequence exploit key"); CatVar key(CV_KEY, "se_key", "0", "Sequence exploit key");
CatVar weaponswitch(CV_KEY, "se_switch_key", "0",
"Switch spam key (for gru) key");
CatVar delay1(CV_INT, "se_switch_delay1", "0",
"Delay before switching to melee");
CatVar delay2(CV_INT, "se_switch_delay2", "0",
"Delay before switching to Primary");
CatVar master_switch(CV_SWITCH, "se_master", "1", "Enable sequence exploit", CatVar master_switch(CV_SWITCH, "se_master", "1", "Enable sequence exploit",
"Master switch for the sequence exploit\nDisabling this " "Master switch for the sequence exploit\nDisabling this "
"disables everything else that uses it"); "disables everything else that uses it");
@ -66,7 +72,7 @@ bool ExploitActive()
return true; return true;
} }
if (active) if (active)
return true; return true;
return false; return false;
} }
@ -78,7 +84,7 @@ float servertime, nextattack;
static int lastwep = 0; static int lastwep = 0;
void CreateMove() void CreateMove()
{ {
active = false; active = false;
if (CE_BAD(LOCAL_E)) if (CE_BAD(LOCAL_E))
return; return;
if (!LOCAL_E->m_bAlivePlayer) if (!LOCAL_E->m_bAlivePlayer)
@ -243,6 +249,22 @@ void CreateMove()
} }
if (!master_switch) if (!master_switch)
return; return;
if (weaponswitch.KeyDown())
{
static int aa = 0, bb = 0;
if (aa > (int) delay1)
{
g_IEngine->ExecuteClientCmd("slot1");
aa = 0;
}
if (bb > (int) delay1 + (int) delay2)
{
g_IEngine->ExecuteClientCmd("slot3");
bb = 0;
}
aa++;
bb++;
}
static bool bWasHolding = false; static bool bWasHolding = false;
bool bIsHolding = ((g_pUserCmd->buttons & IN_ATTACK) || bool bIsHolding = ((g_pUserCmd->buttons & IN_ATTACK) ||
(g_pUserCmd->buttons & IN_ATTACK2)); (g_pUserCmd->buttons & IN_ATTACK2));
@ -411,7 +433,8 @@ void CreateMove()
servertime = servertime =
(float) (CE_INT(g_pLocalPlayer->entity, netvar.nTickBase)) * (float) (CE_INT(g_pLocalPlayer->entity, netvar.nTickBase)) *
g_GlobalVars->interval_per_tick; g_GlobalVars->interval_per_tick;
if (!nextattack || !i || g_pLocalPlayer->weapon()->m_iClassID != lastwep) if (!nextattack || !i ||
g_pLocalPlayer->weapon()->m_iClassID != lastwep)
nextattack = nextattack =
CE_FLOAT(g_pLocalPlayer->weapon(), netvar.flNextPrimaryAttack); CE_FLOAT(g_pLocalPlayer->weapon(), netvar.flNextPrimaryAttack);
if (servertime - nextattack > 30.0f) if (servertime - nextattack > 30.0f)

3
src/helpers.cpp Executable file → Normal file
View File

@ -682,7 +682,8 @@ bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity)
rspeed = re::C_TFWeaponBaseGun::GetProjectileSpeed( rspeed = re::C_TFWeaponBaseGun::GetProjectileSpeed(
RAW_ENT(g_pLocalPlayer->weapon())); RAW_ENT(g_pLocalPlayer->weapon()));
// TODO Wrong grenade launcher gravity // TODO Wrong grenade launcher gravity
rgrav = re::C_TFWeaponBaseGun::GetProjectileGravity(RAW_ENT(g_pLocalPlayer->weapon())); rgrav = re::C_TFWeaponBaseGun::GetProjectileGravity(
RAW_ENT(g_pLocalPlayer->weapon()));
} }
else IF_GAME(IsTF2C()) else IF_GAME(IsTF2C())
{ {

9
src/menu/ncc/Menu.cpp Executable file → Normal file
View File

@ -79,10 +79,11 @@ void RefreshFonts()
font_title = g_ISurface->CreateFont(); font_title = g_ISurface->CreateFont();
font_item = g_ISurface->CreateFont(); font_item = g_ISurface->CreateFont();
g_ISurface->SetFontGlyphSet( g_ISurface->SetFontGlyphSet(
font_title, fonts::fonts font_title,
.at(_clamp(0, (int) (fonts::fonts.size() - 1), fonts::fonts
(int) font_title_family)) .at(_clamp(0, (int) (fonts::fonts.size() - 1),
.c_str(), (int) font_title_family))
.c_str(),
psize_font_title * (float) scale, 0, 0, 0, 0x0); psize_font_title * (float) scale, 0, 0, 0, 0x0);
g_ISurface->SetFontGlyphSet( g_ISurface->SetFontGlyphSet(
font_item, font_item,

View File

@ -14,8 +14,7 @@ CTFGCClientSystem *CTFGCClientSystem::GTFGCClientSystem()
{ {
typedef CTFGCClientSystem *(*GTFGCClientSystem_t)(); typedef CTFGCClientSystem *(*GTFGCClientSystem_t)();
static uintptr_t addr1 = gSignatures.GetClientSignature( static uintptr_t addr1 = gSignatures.GetClientSignature(
"E8 ? ? ? ? 84 C0 0F 85 7B 02 00 00 E8 ? ? ? ? BE 01 00 00 00 89 04 24 " "E8 ? ? ? ? 84 C0 0F 85 ? ? ? ? E8 ? ? ? ? 89 04 24 E8 ? ? ? ? 85 C0");
"E8 ? ? ? ? 85 C0 0F 84 E5 02 00 00");
static GTFGCClientSystem_t GTFGCClientSystem_fn = static GTFGCClientSystem_t GTFGCClientSystem_fn =
GTFGCClientSystem_t(e8call((void *) (addr1 + 14))); GTFGCClientSystem_t(e8call((void *) (addr1 + 14)));
@ -40,8 +39,7 @@ bool CTFGCClientSystem::BConnectedToMatchServer(bool flag)
{ {
typedef bool (*BConnectedToMatchServer_t)(CTFGCClientSystem *, bool); typedef bool (*BConnectedToMatchServer_t)(CTFGCClientSystem *, bool);
static uintptr_t addr = gSignatures.GetClientSignature( static uintptr_t addr = gSignatures.GetClientSignature(
"55 89 E5 53 80 7D 0C 00 8B 55 08 75 1B 8B 82 F8 04 00 00 83 E8 01 83 " "55 89 E5 53 80 7D ? ? 8B 55 ? 75 ?");
"F8 01 0F 96 C0 8D 74 26 00 5B 5D C3");
static BConnectedToMatchServer_t BConnectedToMatchServer_fn = static BConnectedToMatchServer_t BConnectedToMatchServer_fn =
BConnectedToMatchServer_t(addr); BConnectedToMatchServer_t(addr);
@ -50,12 +48,13 @@ bool CTFGCClientSystem::BConnectedToMatchServer(bool flag)
bool CTFGCClientSystem::BHaveLiveMatch() bool CTFGCClientSystem::BHaveLiveMatch()
{ {
typedef bool (*BHaveLiveMatch_t)(CTFGCClientSystem *); typedef int (*BHaveLiveMatch_t)(CTFGCClientSystem *);
static uintptr_t addr = gSignatures.GetClientSignature( static uintptr_t addr = gSignatures.GetClientSignature("55 31 C0 89 E5 53 8B 4D ? 0F B6 91 ? ? ? ?");
"55 31 C0 89 E5 53 8B 4D 08 0F B6 91 0F 05 00 00 89 D3 81 E3 F0 00 00 "
"00 74 36 80 FA AF");
static BHaveLiveMatch_t BHaveLiveMatch_fn = BHaveLiveMatch_t(addr); static BHaveLiveMatch_t BHaveLiveMatch_fn = BHaveLiveMatch_t(addr);
if (BHaveLiveMatch_fn == nullptr)
{
logging::Info("calling NULL!");
}
return BHaveLiveMatch_fn(this); return BHaveLiveMatch_fn(this);
} }

40
src/reclasses/CTFPartyClient.cpp Executable file → Normal file
View File

@ -11,12 +11,10 @@
re::CTFPartyClient *re::CTFPartyClient::GTFPartyClient() re::CTFPartyClient *re::CTFPartyClient::GTFPartyClient()
{ {
typedef re::CTFPartyClient *(*GTFPartyClient_t)(void); typedef re::CTFPartyClient *(*GTFPartyClient_t)(void);
static uintptr_t addr = gSignatures.GetClientSignature( uintptr_t addr =
"83 04 02 00 00 00 00 00 00 ? 83 08 02 00 00 " gSignatures.GetClientSignature("55 A1 ? ? ? ? 89 E5 5D C3 8D B6 00 00 00 00 A1 ? ? ? ? 85 C0");
"01 E8 ? ? ? ? 89 04 24 E8 ? ? ? ?") + GTFPartyClient_t GTFPartyClient_fn =
17; GTFPartyClient_t(addr);
static GTFPartyClient_t GTFPartyClient_fn =
GTFPartyClient_t(e8call((void *) addr));
return GTFPartyClient_fn(); return GTFPartyClient_fn();
} }
@ -50,35 +48,31 @@ re::CTFPartyClient::MutLocalGroupCriteria(re::CTFPartyClient *client)
typedef re::ITFGroupMatchCriteria *(*MutLocalGroupCriteria_t)( typedef re::ITFGroupMatchCriteria *(*MutLocalGroupCriteria_t)(
re::CTFPartyClient *); re::CTFPartyClient *);
static uintptr_t addr = gSignatures.GetClientSignature( static uintptr_t addr = gSignatures.GetClientSignature(
"55 89 E5 8B 45 08 8B 50 38 C6 80 BC 01 00 00 01 85 D2 74 06 80 78 44 " "55 89 E5 8B 45 ? 8B 50 ? C6 80 ? ? ? ? ?");
"00 74 07");
static MutLocalGroupCriteria_t MutLocalGroupCriteria_fn = static MutLocalGroupCriteria_t MutLocalGroupCriteria_fn =
MutLocalGroupCriteria_t(addr); MutLocalGroupCriteria_t(addr);
return MutLocalGroupCriteria_fn(client); return MutLocalGroupCriteria_fn(client);
} }
int re::CTFPartyClient::LoadSavedCasualCriteria(re::CTFPartyClient *client) int re::CTFPartyClient::LoadSavedCasualCriteria()
{ {
typedef int (*LoadSavedCasualCriteria_t)(re::CTFPartyClient *); typedef int (*LoadSavedCasualCriteria_t)(re::CTFPartyClient *);
static uintptr_t addr = gSignatures.GetClientSignature( uintptr_t addr = gSignatures.GetClientSignature(
"83 04 02 00 00 00 00 00 00 ? 83 08 02 00 00 " "55 89 E5 83 EC ? 8B 45 ? 8B 50 ? C6 80 ? ? ? ? ?");
"01 E8 ? ? ? ? 89 04 24 E8 ? ? ? ?") + LoadSavedCasualCriteria_t LoadSavedCasualCriteria_fn =
25; LoadSavedCasualCriteria_t(addr);
static LoadSavedCasualCriteria_t LoadSavedCasualCriteria_fn =
LoadSavedCasualCriteria_t(e8call((void *) addr));
return LoadSavedCasualCriteria_fn(client); return LoadSavedCasualCriteria_fn(this);
} }
void re::CTFPartyClient::RequestQueueForMatch(re::CTFPartyClient *client) char re::CTFPartyClient::RequestQueueForMatch(int type)
{ {
typedef void (*RequestQueueForMatch_t)(re::CTFPartyClient *); typedef char (*RequestQueueForMatch_t)(re::CTFPartyClient *, int);
static uintptr_t addr = gSignatures.GetClientSignature( uintptr_t addr = gSignatures.GetClientSignature(
"55 89 E5 57 56 53 81 EC 8C 00 00 00 8B 7D 08 80 BF C1 01 00 00 00 0F " "55 89 E5 57 56 53 81 EC ? ? ? ? 8B 75 ? 89 F0");
"85 4F 04 00 00 80 7F 45 00 0F 85 45 04 00 00"); RequestQueueForMatch_t RequestQueueForMatch_fn =
static RequestQueueForMatch_t RequestQueueForMatch_fn =
RequestQueueForMatch_t(addr); RequestQueueForMatch_t(addr);
return RequestQueueForMatch_fn(client); return RequestQueueForMatch_fn(this, type);
} }

View File

@ -26,16 +26,14 @@ CatCommand get_state("mm_state", "Get party state", []() {
namespace tfmm namespace tfmm
{ {
void queue_start() void queue_start() {
{
re::CTFPartyClient *client = re::CTFPartyClient::GTFPartyClient(); re::CTFPartyClient *client = re::CTFPartyClient::GTFPartyClient();
if (client) if (client)
{ {
re::ITFGroupMatchCriteria::SetMatchGroup( logging::Info("test1");
re::CTFPartyClient::MutLocalGroupCriteria(client), client->LoadSavedCasualCriteria();
re::ITFGroupMatchCriteria::group::CASUAL); logging::Info("test2");
re::CTFPartyClient::LoadSavedCasualCriteria(client); client->RequestQueueForMatch(re::ITFGroupMatchCriteria::CasualMatch12v12);
re::CTFPartyClient::RequestQueueForMatch(client);
} }
else else
{ {

View File

@ -40,6 +40,7 @@ CatVar info_text(CV_SWITCH, "info", "1", "Show info",
"Show cathook version in top left corner"); "Show cathook version in top left corner");
CatVar info_text_min(CV_SWITCH, "info_min", "0", "Show minimal info", CatVar info_text_min(CV_SWITCH, "info_min", "0", "Show minimal info",
"Only show cathook title in top left corner"); "Only show cathook title in top left corner");
CatVar enable_logo(CV_SWITCH, "nullcore_mode_logo", "1", "Enable Nullcore watermark", "");
void DrawCheatVisuals() void DrawCheatVisuals()
{ {
@ -50,7 +51,6 @@ void DrawCheatVisuals()
PROF_SECTION(DRAW_misc); PROF_SECTION(DRAW_misc);
hacks::shared::misc::DrawText(); hacks::shared::misc::DrawText();
} }
if (info_text)
{ {
PROF_SECTION(DRAW_info); PROF_SECTION(DRAW_info);
std::string name_s, reason_s; std::string name_s, reason_s;