Merge branch 'master' of https://github.com/nullifiedcat/cathook
This commit is contained in:
commit
0961afc3f6
258
.gitignore
vendored
258
.gitignore
vendored
@ -1,9 +1,253 @@
|
||||
*.d
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
[Xx]64/
|
||||
[Xx]86/
|
||||
[Bb]uild/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
|
||||
# Visual Studio 2015 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# DNX
|
||||
project.lock.json
|
||||
artifacts/
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_i.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# JustCode is a .NET coding add-in
|
||||
.JustCode
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
|
||||
# TODO: Un-comment the next line if you do not want to checkin
|
||||
# your web deploy settings because they may include unencrypted
|
||||
# passwords
|
||||
#*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/packages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/packages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/packages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignoreable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directory
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
[Ss]tyle[Cc]op.*
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
node_modules/
|
||||
orleans.codegen.cs
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# LightSwitch generated files
|
||||
GeneratedArtifacts/
|
||||
ModelManifest.xml
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
|
||||
## Ignore .o and .d files (objects and dependencies)
|
||||
*.o
|
||||
/bin/*
|
||||
*.d
|
||||
|
||||
# Don't ignore binary resource files
|
||||
!res/bin/*
|
||||
/core
|
||||
Debug/
|
||||
.vs/cathook/v15/Browse.VC.db
|
||||
TFLOC
|
||||
Data Folder
|
||||
|
||||
## Ignore Data Folder symlink
|
||||
Data Folder
|
||||
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"CurrentProjectSetting": null
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
"ExpandedNodes": [
|
||||
"",
|
||||
"\\src",
|
||||
"\\src\\hacks"
|
||||
],
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
Binary file not shown.
BIN
.vs/slnx.sqlite
BIN
.vs/slnx.sqlite
Binary file not shown.
@ -33,7 +33,7 @@ sudo apt update && sudo apt install build-essential software-properties-common -
|
||||
|
||||
Arch dependencies installation::
|
||||
```bash
|
||||
sudo pacman -Syu && sudo pacman -S gdb gdb-common glew1.10 lib32-glew1.10 --noconfirm && yes | sudo pacman -U https://archive.archlinux.org/packages/g/gcc-multilib/gcc-multilib-6.3.1-2-x86_64.pkg.tar.xz https://archive.archlinux.org/packages/g/gcc-libs-multilib/gcc-libs-multilib-6.3.1-2-x86_64.pkg.tar.xz https://archive.archlinux.org/packages/l/lib32-gcc-libs/lib32-gcc-libs-6.3.1-2-x86_64.pkg.tar.xz
|
||||
sudo pacman -Syu && sudo pacman -S gdb gdb-common glew1.10 lib32-glew1.10 rsync --noconfirm && yes | sudo pacman -U https://archive.archlinux.org/packages/g/gcc-multilib/gcc-multilib-6.3.1-2-x86_64.pkg.tar.xz https://archive.archlinux.org/packages/g/gcc-libs-multilib/gcc-libs-multilib-6.3.1-2-x86_64.pkg.tar.xz https://archive.archlinux.org/packages/l/lib32-gcc-libs/lib32-gcc-libs-6.3.1-2-x86_64.pkg.tar.xz
|
||||
```
|
||||
|
||||
|
||||
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ShowAllFiles>true</ShowAllFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -255,7 +255,7 @@ inline void CondBitSet(condition_data_s& data) {
|
||||
template<condition cond>
|
||||
inline bool HasCondition(CachedEntity* ent) {
|
||||
IF_GAME (!IsTF()) return false;
|
||||
IF_GAME (IsTF2()) {
|
||||
IF_GAME (IsTF2() && cond < condition(96)) {
|
||||
if (CondBitCheck<cond>(CE_VAR(ent, netvar._condition_bits, condition_data_s))) return true;
|
||||
}
|
||||
return CondBitCheck<cond>(CE_VAR(ent, netvar.iCond, condition_data_s));
|
||||
|
@ -26,6 +26,7 @@ CatVar item_health_packs(CV_SWITCH, "esp_item_health", "1", "Health packs", "Sho
|
||||
CatVar item_powerups(CV_SWITCH, "esp_item_powerups", "1", "Powerups", "Show powerups");
|
||||
CatVar item_money(CV_SWITCH, "esp_money", "1", "MvM money", "Show MvM money");
|
||||
CatVar item_money_red(CV_SWITCH, "esp_money_red", "1", "Red MvM money", "Show red MvM money");
|
||||
CatVar item_spellbooks(CV_SWITCH, "esp_spellbooks", "1", "Spellbooks", "Spell Books");
|
||||
CatVar entity_id(CV_SWITCH, "esp_entity_id", "1", "Entity ID", "Used with Entity ESP. Shows entityID");
|
||||
CatVar tank(CV_SWITCH, "esp_show_tank", "1", "Show tank", "Show tank");
|
||||
CatVar box_esp(CV_SWITCH, "esp_box", "1", "Box", "Draw 2D box with healthbar. fancy.");
|
||||
@ -367,6 +368,12 @@ void _FASTCALL ProcessEntity(CachedEntity* ent) {
|
||||
} else if (item_weapon_spawners && ent->m_ItemType >= ITEM_TF2C_W_FIRST && ent->m_ItemType <= ITEM_TF2C_W_LAST) {
|
||||
AddEntityString(ent, format(tf2c_weapon_names[ent->m_ItemType - ITEM_TF2C_W_FIRST], " SPAWNER"));
|
||||
if (CE_BYTE(ent, netvar.bRespawning)) AddEntityString(ent, "-- RESPAWNING --");
|
||||
} else if (item_spellbooks && (ent->m_ItemType == ITEM_SPELL || ent->m_ItemType == ITEM_SPELL_RARE)) {
|
||||
if (ent->m_ItemType == ITEM_SPELL) {
|
||||
AddEntityString(ent, "Spell", colors::green);
|
||||
} else {
|
||||
AddEntityString(ent, "Rare Spell", colors::FromRGBA8(139, 31, 221, 255));
|
||||
}
|
||||
}
|
||||
} else if (ent->m_Type == ENTITY_BUILDING && buildings) {
|
||||
if (!ent->m_bEnemy && !teammates) return;
|
||||
|
@ -58,6 +58,7 @@ bool ExploitActive() {
|
||||
|
||||
static CatVar mini_lag_exploit(CV_INT, "lagexploit_mini", "0", "Mini Lag Exploit");
|
||||
static CatVar instant_weapon_switch(CV_SWITCH, "instant_weapon_switch", "0", "Instant weapon switch");
|
||||
static CatVar infinite_packs(CV_SWITCH, "infinite_healthpacks", "0", "Infinite Healthpacks", "Activate removecond when standing on healthpack while having not full HP");
|
||||
|
||||
void CreateMove() {
|
||||
if (CE_BAD(LOCAL_E)) return;
|
||||
@ -145,6 +146,31 @@ void CreateMove() {
|
||||
if (!ExploitActive()) {
|
||||
amount = int(mini_lag_exploit);
|
||||
}
|
||||
|
||||
// Infinite healthpacks (I'll probably have to move this somewhere else)
|
||||
if (infinite_packs && CE_GOOD(LOCAL_E) && LOCAL_E->m_iHealth != LOCAL_E->m_iMaxHealth) {
|
||||
ICollideable* p = RAW_ENT(LOCAL_E)->GetCollideable();
|
||||
const Vector& max1 = p->OBBMaxs();
|
||||
const Vector& min1 = p->OBBMins();
|
||||
for (int i = 1; i < entity_cache::max; i++) {
|
||||
CachedEntity* e = ENTITY(i);
|
||||
if (e->m_iClassID != CL_CLASS(CBaseAnimating)) continue;
|
||||
if (e->m_ItemType != ITEM_HEALTH_SMALL && e->m_ItemType != ITEM_HEALTH_MEDIUM && e->m_ItemType != ITEM_HEALTH_LARGE) continue;
|
||||
if (e->m_flDistance < 54.0f) amount = 900;
|
||||
// Not working for some reason?
|
||||
/*ICollideable* c = RAW_ENT(e)->GetCollideable();
|
||||
const Vector& max2 = c->OBBMaxs();
|
||||
const Vector& min2 = c->OBBMins();
|
||||
if ( (min1.x <= max2.x && max1.x >= min2.x) &&
|
||||
(min1.y <= max2.y && max1.y >= min2.y) &&
|
||||
(min1.z <= max2.z && max1.z >= min2.z) ) {
|
||||
logging::Info("Collision with %d", i);
|
||||
amount = 900;
|
||||
break;
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
if (!amount) return;
|
||||
// Modifying command_number and lastoutgoingcommand turned out to be useless
|
||||
|
||||
|
@ -356,7 +356,7 @@ bool CreateMove_hook(void* thisptr, float inputSample, CUserCmd* cmd) {
|
||||
if (CE_GOOD(g_pLocalPlayer->entity)) {
|
||||
static int fakelag_queue = 0;
|
||||
if (fakelag_amount) {
|
||||
if (fakelag_queue == int(fakelag_amount)) {
|
||||
if (fakelag_queue == int(fakelag_amount) || (g_pUserCmd->buttons & IN_ATTACK)) {
|
||||
*bSendPackets = true;
|
||||
} else if (fakelag_queue < int(fakelag_amount)) {
|
||||
*bSendPackets = false;
|
||||
|
@ -169,15 +169,15 @@ bool SendNetMsg_hook(void* _this, INetMessage& msg, bool bForceReliable = false,
|
||||
}
|
||||
static ConVar* sv_player_usercommand_timeout = g_ICvar->FindVar("sv_player_usercommand_timeout");
|
||||
static float lastcmd = 0.0f;
|
||||
if (lastcmd > g_GlobalVars->curtime) {
|
||||
lastcmd = g_GlobalVars->curtime;
|
||||
if (lastcmd > g_GlobalVars->absoluteframetime) {
|
||||
lastcmd = g_GlobalVars->absoluteframetime;
|
||||
}
|
||||
if (airstuck.KeyDown() && !g_Settings.bInvalid) {
|
||||
if (CE_GOOD(LOCAL_E)) {
|
||||
if (lastcmd + sv_player_usercommand_timeout->GetFloat() - 0.05f < g_GlobalVars->curtime) {
|
||||
if (lastcmd + sv_player_usercommand_timeout->GetFloat() - 0.1f < g_GlobalVars->curtime) {
|
||||
if (msg.GetType() == clc_Move) return false;
|
||||
} else {
|
||||
lastcmd = g_GlobalVars->curtime;
|
||||
lastcmd = g_GlobalVars->absoluteframetime;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -61,6 +61,10 @@ ItemManager::ItemManager() : mapper() {
|
||||
RegisterModelMapping("models/items/healthkit.mdl", ITEM_HEALTH_MEDIUM);
|
||||
//RegisterModelMapping("models/pickups/pickup_powerup_reflect.mdl", ITEM_POWERUP_REFLECT);
|
||||
|
||||
// Spellbooks
|
||||
RegisterModelMapping("models/props_halloween/hwn_spellbook_upright.mdl", ITEM_SPELL);
|
||||
RegisterModelMapping("models/props_halloween/hwn_spellbook_upright_major.mdl", ITEM_SPELL_RARE);
|
||||
|
||||
RegisterSpecialMapping([](CachedEntity* ent) -> bool {
|
||||
return ent->m_iClassID == CL_CLASS(CTFAmmoPack);
|
||||
}, ITEM_AMMO_MEDIUM);
|
||||
|
@ -144,6 +144,9 @@ enum k_EItemType {
|
||||
|
||||
ITEM_HL_BATTERY,
|
||||
|
||||
ITEM_SPELL,
|
||||
ITEM_SPELL_RARE,
|
||||
|
||||
ITEM_COUNT
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user