"Games" { "tf" { "Offsets" { "CBaseCombatCharacter::EventKilled" { "linux" "67" "windows" "66" } "TheNavMesh" { "windows" "5" } "CBaseEntity::PostConstructor" { "linux" "27" "windows" "26" } "CBaseEntity::GetBaseAnimating" { "linux" "51" "windows" "50" } "CBaseEntity::MyCombatCharacterPointer" { "linux" "72" "windows" "71" } "CBaseEntity::MyNextBotPointer" { "linux" "73" "windows" "72" } "CBaseEntity::UpdateOnRemove" { "linux" "109" "windows" "108" } "CBaseEntity::EyeAngles" { "linux" "135" "windows" "134" } "CBaseEntity::GetVectors" { "linux" "140" "windows" "139" } "CBaseEntity::WorldSpaceCenter" { "linux" "153" "windows" "152" } "g_EntityListPool" { "windows" "17" } "CBaseAnimating::StudioFrameAdvance" { "linux" "198" "windows" "197" } "CBaseAnimating::DispatchAnimEvents" { "linux" "210" "windows" "209" } "CBaseAnimating::HandleAnimEvent" { "linux" "211" "windows" "210" } "CBaseAnimating::GetAttachment" { "linux" "213" "windows" "212" } "CBaseCombatCharacter::GetLastKnownArea" { "linux" "320" "windows" "319" } "CBaseCombatCharacter::UpdateLastKnownArea" { "linux" "323" "windows" "322" } "NextBotCombatCharacter::vtable_entries" { "windows" "336" "linux" "336" } "NextBotGroundLocomotion::vtable_entries" { "linux" "116" "windows" "116" } } "Signatures" { "CTFGameRules::ApplyOnDamageModifyRules" { "library" "server" "windows" "\x55\x8B\xEC\x81\xEC\xAC\x00\x00\x00\x56\x8B\x75\x0C" "linux" "@_ZN12CTFGameRules24ApplyOnDamageModifyRulesER15CTakeDamageInfoP11CBaseEntityb" } "CTFGameRules::ApplyOnDamageAliveModifyRules" { "library" "server" "windows" "\x55\x8B\xEC\x81\xEC\x2A\x00\x00\x00\x53\x8B\x5D\x0C\x89\x2A\x2A\x56" "linux" "@_ZN12CTFGameRules29ApplyOnDamageAliveModifyRulesERK15CTakeDamageInfoP11CBaseEntityRNS_20DamageModifyExtras_tE" } "TheNavMesh" { "library" "server" "linux" "@TheNavMesh" } // Find string "NavEndArea: Out of memory\n", then look for EmitSound("EDIT_END_AREA.Creating") within func "CNavMesh::AddNavArea" { "library" "server" "linux" "@_ZN8CNavMesh10AddNavAreaEP8CNavArea" "windows" "\x55\x8B\xEC\x83\xEC\x20\x53\x8B\xD9\x56\x57\x89\x5D\xEC\x83" } "CNavMesh::GetNearestNavArea" { "library" "server" "windows" "\x55\x8B\xEC\x81\xEC\xF8\x00\x00\x00\x8B\x15" "linux" "@_ZNK8CNavMesh17GetNearestNavAreaERK6Vectorbfbbi" } "CNavMesh::GetGroundHeight" { "library" "server" "windows" "\x53\x8B\xDC\x83\xEC\x08\x83\xE4\xF0\x83\xC4\x04\x55\x8B\x6B\x04\x89\x6C\x24\x04\x8B\xEC\x81\xEC\xFC\x00\x00\x00\x56\x6A\x00\x6A\x00\x6A\x00\x8D" "linux" "@_ZNK8CNavMesh15GetGroundHeightERK6VectorPfPS0_" } "CTraceFilterSimple::ShouldHitEntity" { "library" "server" "windows" "\x55\x8B\xEC\x53\x8B\x5D\x0C\x56\x8B\x75\x08\x57\x53\x56" "linux" "@_ZN18CTraceFilterSimple15ShouldHitEntityEP13IHandleEntityi" } "CNavMesh::SnapToGrid" { "library" "server" "windows" "\x55\x8B\xEC\x51\xA1\x2A\x2A\x2A\x2A\x83\xB8\x10\x05\x00\x00\x00" } "__GetAnimationEvent__" { "library" "server" "windows" "\x55\x8B\xEC\x53\x56\x8B\x75\x08\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\xCE\xE8\x2A\x2A\x2A\x2A" "linux" "@_Z17GetAnimationEventP10CStudioHdriP11animevent_tffi" } "Studio_LookupSequence" { "library" "server" "windows" "\x55\x8B\xEC\x56\x8B\x75\x08\x85\xF6\x75\x2A\x33\xC0\x5E\x5D\xC3\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x84\xC0\x74\x2A\x53" "linux" "@_Z14LookupSequenceP10CStudioHdrPKc" } "Studio_SelectWeightedSequence" { "library" "server" "windows" "\x55\x8B\xEC\x56\x8B\x75\x08\x85\xF6\x75\x2A\x33\xC0\x5E\x5D\xC3\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x84\xC0\x74\x2A\x8B\xCE" "linux" "@_Z22SelectWeightedSequenceP10CStudioHdrii" } "Studio_FindAttachment" { "library" "server" "windows" "\x55\x8B\xEC\x53\x56\x57\x8B\x7D\x08\x85\xFF" "linux" "@_Z21Studio_FindAttachmentPK10CStudioHdrPKc" } "SimThink_EntityChanged" { "library" "server" "windows" "\x55\x8B\xEC\x53\x57\x8B\x7D\x08\x8B\xD9\xF6\x87\x14\x01\x00\x00\x01" "linux" "@_Z22SimThink_EntityChangedP11CBaseEntity" } // Find ".?AVCRallyPoint@@" to get to CRallyPoint's type descriptor -> complete object locator -> vtable // goto xref to vtable to enter CRallyPoint's constructor // CBaseEntity constructor is second call that takes additional argument (bServerOnly set to 0) "CBaseEntity::CBaseEntity" { "library" "server" "windows" "\x55\x8B\xEC\x83\xEC\x14\x53\x56\x8B\xF1\x57\x8D\x2A\x2A\xC7\x06" "linux" "@_ZN11CBaseEntityC1Eb" } "CBaseEntity::CalcAbsolutePosition" { "library" "server" "windows" "\x55\x8B\xEC\x81\xEC\x80\x00\x00\x00\x56\x8B\xF1\x8B\x86\x14\x01\x00\x00" "linux" "@_ZN11CBaseEntity20CalcAbsolutePositionEv" } "CBaseEntity::InvalidatePhysicsRecursive" { "library" "server" "windows" "\x55\x8B\xEC\x53\x8B\x5D\x08\x56\x8B\xF3\x83\xE6\x04" "linux" "@_ZN11CBaseEntity26InvalidatePhysicsRecursiveEi" } "CBaseEntity::SetGroundEntity" { "library" "server" "windows" "" "linux" "@_ZN11CBaseEntity15SetGroundEntityEPS_" } // "g_EntityListPool" "g_EntityListPool" { "library" "server" "linux" "@g_EntityListPool" "windows" "\x6A\x00\x68\x2A\x2A\x2A\x2A\x6A\x01\x68\x00\x02\x00\x00\x6A\x1C" } "CBaseAnimating::SetPoseParameter" { "library" "server" "windows" "\x55\x8B\xEC\x8B\x45\x08\xD9\x45\x10" "linux" "@_ZN14CBaseAnimating16SetPoseParameterEP10CStudioHdrif" } "CBaseAnimating::GetPoseParameter" { "library" "server" "windows" "\x55\x8B\xEC\x56\x8B\xF1\x57\x80\xBE\x41\x03\x00\x00\x00\x75\x2A\x83\xBE\x6C\x04\x00\x00\x00\x75\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0\x74\x2A\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x8B\xBE\x6C\x04\x00\x00" "linux" "@_ZN14CBaseAnimating16GetPoseParameterEi" } "CBaseAnimating::LookupPoseParameter" { "library" "server" "windows" "\x55\x8B\xEC\x57\x8B\x7D\x08\x85\xFF\x75\x2A\x33\xC0\x5F\x5D\xC2\x08\x00" "linux" "@_ZN14CBaseAnimating19LookupPoseParameterEP10CStudioHdrPKc" } "CBaseAnimating::SequenceDuration" { "library" "server" "windows" "\x55\x8B\xEC\x56\x8B\x75\x08\x57\x8B\xF9\x85\xF6\x75\x2A\x8B\x47\x5C" "linux" "@_ZN14CBaseAnimating16SequenceDurationEP10CStudioHdri" } "CBaseAnimating::ResetSequence" { "library" "server" "linux" "@_ZN14CBaseAnimating13ResetSequenceEi" "windows" "\x55\x8B\xEC\xA1\x2A\x2A\x2A\x2A\x53\x56\x57\x83\x78\x30\x00\x8B\xD9\x8B\x7D\x08" } "NextBotGroundLocomotion::NextBotGroundLocomotion" { "library" "server" "windows" "\x55\x8B\xEC\x56\xFF\x75\x08\x8B\xF1\xE8\x2A\x2A\x2A\x2A\xC7\x06\x2A\x2A\x2A\x2A\x8B\xC6\xC7\x86\xB0\x00\x00\x00\xFF\xFF\xFF\xFF" "linux" "@_ZN23NextBotGroundLocomotionC1EP8INextBot" } "NextBotGroundLocomotion::ResolveCollision" { "library" "server" "windows" "" "linux" "@_ZN23NextBotGroundLocomotion16ResolveCollisionERK6VectorS2_i" } "NextBotCombatCharacter::NextBotCombatCharacter" { "library" "server" "windows" "\x56\x57\x8B\xF9\xE8\x2A\x2A\x2A\x2A\x8D\x8F\x48\x08\x00\x00" "linux" "@_ZN22NextBotCombatCharacterC1Ev" } } "Addresses" { "GetAnimationEvent" { "windows" { "signature" "__GetAnimationEvent__" } "linux" { "signature" "__GetAnimationEvent__" } } } } }