This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TEX FILE FORMAT | |
Reverse engineering by sigsegv, 20180914. | |
All values are little-endian. | |
0x00 int: TEX file version / magic number [1002 = 0x000003EA] | |
0x04 int: data resolution [x] | |
0x08 int: data resolution [y] | |
0x0C int: color format { 0 => invalid, 1 => 8BPP, 2 => RGBA } | |
0x10 int: display resolution [x] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- T:/c_soldier_animations_before.qc Mon Aug 29 18:49:19 2016 | |
+++ T:/c_soldier_animations_after.qc Mon Aug 29 18:49:25 2016 | |
@@ -307,40 +307,41 @@ | |
snap | |
} | |
$sequence "mangler_fire_super" "c_soldier_animations_anims\mangler_fire_super.smd" { | |
fps 30 | |
activity "ACT_PRIMARY_VM_PRIMARYATTACK_3" 1 | |
snap |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// example RAII class to help ensure that FinishLagCompensation is called upon leaving scope | |
class CLagCompensatedSection | |
{ | |
public: | |
// start lag compensation upon construction | |
CLagCompensatedSection(CBasePlayer *player, CUserCmd *cmd) : | |
m_pPlayer(player) | |
{ | |
lagcompensation->StartLagCompensation(player, cmd); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// this function either does not really exist or is consistently inlined | |
// the logic comes from CTFFlameThrower::DeflectPlayer, shortly before the call to CTFPlayer::ApplyAirBlastImpulse | |
float CalculateAirblastImpulseMagnitude(CTFPlayer *pVictim) | |
{ | |
// OBBSize() = m_vecMaxs - m_vecMins | |
Vector vecSize = pVictim->CollisionProp()->OBBSize(); | |
return (float)(188928.0 / (vecSize.x * vecSize.y * vecSize.z) * 360.0); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TFBot Path Cost: Route Types by Action | |
DEFAULT_ROUTE: | |
- In MvM, non-MiniBoss bots get a large random factor applied to their path cost to make them spread out more randomly. | |
FASTEST_ROUTE: | |
- No special path cost modifiers. | |
SAFEST_ROUTE: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// reverse engineered from TF2 ServerLinux 20151007a by sigsegv | |
bool CTFKnife::IsBehindAndFacingTarget(CTFPlayer *pVictim) | |
{ | |
CTFPlayer *pSpy = ToTFPlayer(this->GetPlayerOwner()); | |
if (pSpy == nullptr) return false; | |
Vector2D wsc_spy_to_victim = (pVictim->WorldSpaceCenter() - pSpy->WorldSpaceCenter()).AsVector2D(); | |
wsc_spy_to_victim.NormalizeInPlace(); | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TF projectile class hierarchy as of 20161025a | |
(reverse engineering by sigsegv) | |
CBaseProjectile | |
| | |
+-- CBaseGrenade | |
| | | |
| +-- CTFWeaponBaseGrenadeProj | |
| | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TF projectile class hierarchy as of 20161025a | |
(reverse engineering by sigsegv) | |
Each projectile class has a 'yes' or 'no' after it to show whether it IsDeflectable() by airblast. | |
A capitalized YES/NO means that the class specifically overrides IsDeflectable(). | |
A non-capitalized yes/no means that the class inherits IsDeflectable() from a parent class. | |
CBaseProjectile NO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
enum Collision_Group_t: | |
00 COLLISION_GROUP_NONE | |
01 COLLISION_GROUP_DEBRIS | |
02 COLLISION_GROUP_DEBRIS_TRIGGER | |
03 COLLISION_GROUP_INTERACTIVE_DEBRIS | |
04 COLLISION_GROUP_INTERACTIVE | |
05 COLLISION_GROUP_PLAYER | |
06 COLLISION_GROUP_BREAKABLE_GLASS | |
07 COLLISION_GROUP_VEHICLE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Health regen stuff | |
// Based on server_srv.so version 20151007a | |
// Reverse engineering by sigsegv | |
/* this Think function is called once per second */ | |
void CTFPlayer::RegenThink() | |
{ | |
if (!this->IsAlive()) | |
{ |
NewerOlder