CCSPlayer Offset List (Counter-Strike: Source)
CCSPlayer Offset List
For use when using VFunc_Offsets_(SourceMM).
This is the list of offsets I've been using. They work on Windows; however, I haven't tested them on Linux yet. Mani told me his values are the same on Windows and Linux, but I used this same table for manual hooks in SourceMM and the Linux vtable offsets were 1 greater than in Windows for that case.
The List
This comes from the symbol tables, so you'll have to look in the SDK for return types...or guess for the CSS specific functions near the end.
0 CCSPlayer::~CCSPlayer() 1 CBaseEntity::SetRefEHandle(CBaseHandle const&) 2 CBaseEntity::GetRefEHandle() const 3 CBaseEntity::GetCollideable() 4 CBaseEntity::GetNetworkable() 5 CBaseEntity::GetBaseEntity() 6 CBaseEntity::GetModelIndex() const 7 CBaseEntity::GetModelName() const 8 CBaseEntity::SetModelIndex(int) 9 CCSPlayer::GetServerClass() 10 CCSPlayer::GetClassName() 11 CCSPlayer::YouForgotToImplementOrDeclareServerClass() 12 CCSPlayer::GetDataDescMap() 13 "CBaseAnimating::TestCollision(Ray_t const&, unsigned int, CGameTrace&)" 14 "CBaseAnimating::TestHitboxes(Ray_t const&, unsigned int, CGameTrace&)" 15 "CBaseEntity::ComputeWorldSpaceSurroundingBox(Vector*, Vector*)" 16 "CBaseEntity::ShouldCollide(int, int) const" 17 CBaseEntity::SetOwnerEntity(CBaseEntity*) 18 CBasePlayer::ShouldTransmit(CCheckTransmitInfo const*) 19 CBasePlayer::UpdateTransmitState() 20 "CBaseCombatCharacter::SetTransmit(CCheckTransmitInfo*, bool)" 21 CBasePlayer::GetTracerType() 22 CCSPlayer::Spawn() 23 CCSPlayer::Precache() 24 CBaseFlex::SetModel(char const*) 25 CBaseEntity::PostConstructor(char const*) 26 CBaseEntity::ParseMapData(CEntityMapData*) 27 "CBaseEntity::KeyValue(char const*, char const*)" 28 "CBaseEntity::KeyValue(char const*, float)" 29 "CBaseEntity::KeyValue(char const*, Vector)" 30 CBaseEntity::ValidateEntityConnections() 31 CBasePlayer::Activate() 32 CBasePlayer::ObjectCaps() 33 "CBaseEntity::AcceptInput(char const*, CBaseEntity*, CBaseEntity*, variant_t, int)" 34 "CBaseAnimating::GetInputDispatchEffectPosition(char const*, Vector&, QAngle&)" 35 CBasePlayer::DrawDebugGeometryOverlays() 36 CBaseAnimating::DrawDebugTextOverlays() 37 CBasePlayer::Save(ISave&) 38 CBasePlayer::Restore(IRestore&) 39 CBasePlayer::ShouldSavePhysics() 40 CBaseEntity::OnSave(IEntitySaveUtils*) 41 CBasePlayer::OnRestore() 42 CBasePlayer::RequiredEdictIndex() 43 CBaseEntity::MoveDone() 44 CBaseEntity::Think() 45 CBaseEntity::NetworkStateChanged_m_nNextThinkTick() 46 CBaseAnimating::GetBaseAnimating() 47 CBaseEntity::GetResponseSystem() 48 CBaseEntity::DispatchResponse(char const*) 49 CBasePlayer::Classify() 50 CBaseEntity::DeathNotice(CBaseEntity*) 51 CBaseEntity::PassesDamageFilter(CTakeDamageInfo const&) 52 "CCSPlayer::TraceAttack(CTakeDamageInfo const&, Vector const&, CGameTrace*)" 53 CBaseEntity::CanBeHitByMeleeAttack(CBaseEntity*) 54 CCSPlayer::OnTakeDamage(CTakeDamageInfo const&) 55 "CBasePlayer::TakeHealth(float, int)" 56 CCSPlayer::Event_Killed(CTakeDamageInfo const&) 57 CBaseEntity::Event_KilledOther(CBaseEntity*) 58 CBaseCombatCharacter::BloodColor() 59 CBaseEntity::IsTriggered(CBaseEntity*) 60 CBaseEntity::IsNPC() const 61 CBaseCombatCharacter::MyCombatCharacterPointer() 62 CBaseEntity::GetDelay() 63 CBaseEntity::IsMoving() 64 "CBaseEntity::DamageDecal(int, int)" 65 "CBaseEntity::DecalTrace(CGameTrace*, char const*)" 66 "CBaseEntity::ImpactTrace(CGameTrace*, int, char*)" 67 CBaseEntity::OnControls(CBaseEntity*) 68 CBaseEntity::HasTarget(string_t) 69 CBasePlayer::IsPlayer() const 70 CBasePlayer::IsNetClient() const 71 CBaseEntity::IsTemplate() 72 CBaseEntity::IsBaseObject() const 73 CBaseEntity::GetServerVehicle() 74 CBaseEntity::IsViewable() 75 CCSPlayer::ChangeTeam(int) 76 "CBaseEntity::OnEntityEvent(EntityEvent_t, void*)" 77 CBaseEntity::CanStandOn(CBaseEntity*) const 78 CBaseEntity::CanStandOn(edict_t*) const 79 CBaseEntity::GetEnemy() 80 CBaseEntity::GetEnemy() const 81 "CBaseEntity::Use(CBaseEntity*, CBaseEntity*, USE_TYPE, float)" 82 CBaseEntity::StartTouch(CBaseEntity*) 83 CBasePlayer::Touch(CBaseEntity*) 84 CBaseEntity::EndTouch(CBaseEntity*) 85 CBaseEntity::StartBlocked(CBaseEntity*) 86 CBaseEntity::Blocked(CBaseEntity*) 87 CBaseEntity::EndBlocked() 88 CBasePlayer::PhysicsSimulate() 89 CBasePlayer::UpdateOnRemove() 90 CBaseEntity::StopLoopingSounds() 91 CBaseEntity::SUB_AllowedToFade() 92 "CBaseAnimating::Teleport(Vector const*, QAngle const*, Vector const*)" 93 "CBaseEntity::NotifySystemEvent(CBaseEntity*, notify_system_event_t, notify_system_event_params_t const&)" 94 "CBasePlayer::MakeTracer(Vector const&, CGameTrace const&, int)" 95 CBaseEntity::FireBullets(FireBulletsInfo_t const&) 96 "CBasePlayer::DoImpactEffect(CGameTrace&, int)" 97 CBaseEntity::Respawn() 98 CBaseEntity::IsLockedByMaster() 99 CBaseAnimating::ModifyOrAppendCriteria(AI_CriteriaSet&) 100 CBasePlayer::NetworkStateChanged_m_lifeState() 101 CBaseEntity::NetworkStateChanged_m_takedamage() 102 CBaseEntity::NetworkStateChanged_m_iMaxHealth() 103 CBaseEntity::NetworkStateChanged_m_iHealth() 104 CBaseEntity::GetDamageType() const 105 CBaseEntity::GetDamage() 106 CBaseEntity::SetDamage(float) 107 CBasePlayer::EyePosition() 108 CBasePlayer::EyeAngles() 109 CBasePlayer::LocalEyeAngles() 110 CBaseEntity::EarPosition() 111 "CBasePlayer::BodyTarget(Vector const&, bool)" 112 CBaseEntity::HeadTarget(Vector const&) 113 "CBaseEntity::GetVectors(Vector*, Vector*, Vector*) const" 114 CBaseEntity::GetViewOffset() 115 CBasePlayer::GetSmoothedVelocity() 116 "CBaseAnimating::GetVelocity(Vector*, Vector*)" 117 "CBaseEntity::FVisible(CBaseEntity*, int, CBaseEntity**)" 118 "CBaseEntity::FVisible(Vector const&, int, CBaseEntity**)" 119 CBaseEntity::CanBeSeen() 120 CBaseEntity::GetAttackDamageScale(CBaseEntity*) 121 CBaseEntity::GetReceivedDamageScale(CBaseEntity*) 122 CBaseEntity::CanBePoweredUp() 123 "CBaseEntity::AttemptToPowerup(int, float, float, CBaseEntity*, CDamageModifier*)" 124 CBaseEntity::GetGroundVelocityToApply(Vector&) 125 "CBaseEntity::PhysicsSplash(Vector const&, Vector const&, float, float)" 126 CBaseEntity::Splash() 127 CBaseEntity::WorldSpaceCenter() const 128 CBaseEntity::GetSoundEmissionOrigin() const 129 CBaseEntity::CreateVPhysics() 130 CBaseEntity::ForceVPhysicsCollide(CBaseEntity*) 131 CBasePlayer::VPhysicsDestroyObject() 132 CBasePlayer::VPhysicsUpdate(IPhysicsObject*) 133 CBaseEntity::VPhysicsTakeDamage(CTakeDamageInfo const&) 134 "CBaseCombatCharacter::VPhysicsShadowCollision(int, gamevcollisionevent_t*)" 135 CCSPlayer::VPhysicsShadowUpdate(IPhysicsObject*) 136 "CBasePlayer::VPhysicsCollision(int, gamevcollisionevent_t*)" 137 "CBaseEntity::VPhysicsFriction(IPhysicsObject*, float, int, int)" 138 CBaseEntity::UpdatePhysicsShadowToCurrentPosition(float) 139 "CBaseEntity::VPhysicsGetObjectList(IPhysicsObject**, int)" 140 CBaseEntity::HasPhysicsAttacker(float) 141 CBasePlayer::PhysicsSolidMaskForEntity() const 142 "CBaseEntity::ResolveFlyCollisionCustom(CGameTrace&, Vector&)" 143 "CBaseEntity::PerformCustomPhysics(Vector*, Vector*, QAngle*, QAngle*)" 144 CBaseAnimating::GetStepOrigin() const 145 CBaseAnimating::GetStepAngles() const 146 CBaseEntity::ShouldDrawWaterImpacts() 147 CBaseEntity::NetworkStateChanged_m_fFlags() 148 CBasePlayer::NetworkStateChanged_m_hGroundEntity() 149 CBasePlayer::NetworkStateChanged_m_vecBaseVelocity() 150 CBaseEntity::NetworkStateChanged_m_nWaterLevel() 151 CBasePlayer::NetworkStateChanged_m_flFriction() 152 CBaseEntity::NetworkStateChanged_m_vecVelocity() 153 CBasePlayer::NetworkStateChanged_m_vecViewOffset() 154 CBaseAnimating::GetIdealSpeed() const 155 CBaseAnimating::GetIdealAccel() const 156 CBaseAnimatingOverlay::StudioFrameAdvance() 157 CBaseAnimating::IsActivityFinished() 158 "CBaseAnimating::ClampRagdollForce(Vector const&, Vector*)" 159 CBaseAnimating::BecomeRagdollOnClient(Vector const&) 160 CBaseAnimating::IsRagdoll() 161 CBaseAnimating::CanBecomeRagdoll() 162 "CBaseAnimatingOverlay::GetSkeleton(CStudioHdr*, Vector*, Quaternion*, int)" 163 "CBaseAnimating::GetBoneTransform(int, matrix3x4_t&)" 164 "CBaseAnimating::SetupBones(matrix3x4_t*, int)" 165 CBaseAnimating::CalculateIKLocks(float) 166 CBaseAnimatingOverlay::DispatchAnimEvents(CBaseAnimating*) 167 CBaseAnimating::HandleAnimEvent(animevent_t*) 168 "CBaseAnimating::GetAttachment(int, matrix3x4_t&)" 169 CBaseAnimating::InitBoneControllers() 170 CBaseAnimating::GetGroundSpeedVelocity() 171 "CBaseAnimating::DrawServerHitboxes(float, bool)" 172 "CBaseAnimating::Ignite(float, bool, float, bool)" 173 CBaseAnimating::Extinguish() 174 CBaseCombatCharacter::SetLightingOriginRelative(CBaseEntity*) 175 CBaseAnimating::SetLightingOrigin(CBaseEntity*) 176 CBaseFlex::SetViewtarget(Vector const&) 177 "CBaseFlex::StartSceneEvent(CSceneEventInfo*, CChoreoScene*, CChoreoEvent*, CChoreoActor*, CBaseEntity*)" 178 CBaseFlex::ProcessSceneEvents() 179 "CBaseFlex::ProcessSceneEvent(CSceneEventInfo*, CChoreoScene*, CChoreoEvent*)" 180 "CBaseFlex::ClearSceneEvent(CSceneEventInfo*, bool, bool)" 181 "CBaseFlex::CheckSceneEventCompletion(CSceneEventInfo*, float, CChoreoScene*, CChoreoEvent*)" 182 CBaseCombatCharacter::GetPhysicsImpactDamageTable() 183 CBaseCombatCharacter::FInViewCone(CBaseEntity*) 184 CBaseCombatCharacter::FInViewCone(Vector const&) 185 CBaseCombatCharacter::FInAimCone(CBaseEntity*) 186 CBaseCombatCharacter::FInAimCone(Vector const&) 187 CBaseCombatCharacter::ShouldShootMissTarget(CBaseCombatCharacter*) 188 CBaseCombatCharacter::FindMissTarget() 189 "CBaseCombatCharacter::HandleInteraction(int, void*, CBaseCombatCharacter*)" 190 CBasePlayer::BodyAngles() 191 CBaseCombatCharacter::BodyDirection2D() 192 CBaseCombatCharacter::BodyDirection3D() 193 CBaseCombatCharacter::HeadDirection2D() 194 CBaseCombatCharacter::HeadDirection3D() 195 CBaseCombatCharacter::EyeDirection2D() 196 CBaseCombatCharacter::EyeDirection3D() 197 "CBaseCombatCharacter::GiveAmmo(int, int, bool)" 198 CBaseCombatCharacter::NPC_TranslateActivity(Activity) 199 "CBaseCombatCharacter::Weapon_TranslateActivity(Activity, bool*)" 200 CCSPlayer::Weapon_CanUse(CBaseCombatWeapon*) 201 CCSPlayer::Weapon_Equip(CBaseCombatWeapon*) 202 CBaseCombatCharacter::Weapon_EquipAmmoOnly(CBaseCombatWeapon*) 203 "CBasePlayer::Weapon_Drop(CBaseCombatWeapon*, Vector const*, Vector const*)" 204 "CCSPlayer::Weapon_Switch(CBaseCombatWeapon*, int)" 205 CBasePlayer::Weapon_ShootPosition() 206 CCSPlayer::Weapon_CanSwitchTo(CBaseCombatWeapon*) 207 CBaseCombatCharacter::Weapon_SlotOccupied(CBaseCombatWeapon*) 208 CBaseCombatCharacter::Weapon_GetSlot(int) const 209 CBaseCombatCharacter::AddPlayerItem(CBaseCombatWeapon*) 210 CBasePlayer::RemovePlayerItem(CBaseCombatWeapon*) 211 CBaseCombatCharacter::CanBecomeServerRagdoll() 212 CCSPlayer::OnTakeDamage_Alive(CTakeDamageInfo const&) 213 CBaseCombatCharacter::OnTakeDamage_Dying(CTakeDamageInfo const&) 214 CBaseCombatCharacter::OnTakeDamage_Dead(CTakeDamageInfo const&) 215 "CBaseCombatCharacter::OnFriendDamaged(CBaseCombatCharacter*, CBaseEntity*)" 216 CBaseCombatCharacter::NotifyFriendsOfDamage(CBaseEntity*) 217 CBaseCombatCharacter::GetDeathActivity() 218 CBaseCombatCharacter::CorpseGib(CTakeDamageInfo const&) 219 CBaseCombatCharacter::CorpseFade() 220 CBaseCombatCharacter::HasHumanGibs() 221 CBaseCombatCharacter::HasAlienGibs() 222 CBaseCombatCharacter::ShouldGib(CTakeDamageInfo const&) 223 CBaseCombatCharacter::OnKilledNPC(CBaseCombatCharacter*) 224 CBaseCombatCharacter::Event_Gibbed(CTakeDamageInfo const&) 225 CBasePlayer::Event_Dying() 226 "CBaseCombatCharacter::BecomeRagdoll(CTakeDamageInfo const&, Vector const&)" 227 CBaseCombatCharacter::FixupBurningServerRagdoll(CBaseEntity*) 228 "CBaseCombatCharacter::CheckTraceHullAttack(float, Vector const&, Vector const&, int, int, float, bool)" 229 "CBaseCombatCharacter::CheckTraceHullAttack(Vector const&, Vector const&, Vector const&, Vector const&, int, int, float, bool)" 230 CBaseCombatCharacter::PushawayTouch(CBaseEntity*) 231 CBaseCombatCharacter::IRelationType(CBaseEntity*) 232 CBaseCombatCharacter::IRelationPriority(CBaseEntity*) 233 CBaseCombatCharacter::CalcWeaponProficiency(CBaseCombatWeapon*) 234 "CBaseCombatCharacter::GetAttackSpread(CBaseCombatWeapon*, CBaseEntity*)" 235 "CBaseCombatCharacter::GetSpreadBias(CBaseCombatWeapon*, CBaseEntity*)" 236 CBasePlayer::DoMuzzleFlash() 237 "CBaseCombatCharacter::AddEntityRelationship(CBaseEntity*, Disposition_t, int)" 238 "CBaseCombatCharacter::AddClassRelationship(Class_T, Disposition_t, int)" 239 "CBaseCombatCharacter::OnChangeActiveWeapon(CBaseCombatWeapon*, CBaseCombatWeapon*)" 240 CBasePlayer::NetworkStateChanged_m_iAmmo() 241 CCSPlayer::CreateViewModel(int) 242 "CCSPlayer::SetupVisibility(CBaseEntity*, unsigned char*, int)" 243 "CCSPlayer::WantsLagCompensationOnEntity(CBasePlayer const*, CUserCmd const*, CBitVec<2048> const*) const" 244 CBasePlayer::SharedSpawn() 245 CCSPlayer::InitialSpawn() 246 CBasePlayer::InitHUD() 247 "CCSPlayer::ShowViewPortPanel(char const*, bool, KeyValues*)" 248 CCSPlayer::PlayerDeathThink() 249 CBasePlayer::Jump() 250 CBasePlayer::Duck() 251 CCSPlayer::PreThink() 252 CCSPlayer::PostThink() 253 "CBasePlayer::DamageEffect(float, int)" 254 CCSPlayer::OnDamagedByExplosion(CTakeDamageInfo const&) 255 CBasePlayer::ShouldFadeOnDeath() 256 CBasePlayer::IsFakeClient() const 257 CBasePlayer::GetPlayerMins() const 258 CBasePlayer::GetPlayerMaxs() const 259 "CBasePlayer::CalcRoll(QAngle const&, Vector const&, float, float)" 260 CBasePlayer::PackDeadPlayerItems() 261 CCSPlayer::RemoveAllItems(bool) 262 CBasePlayer::IsRunning() const 263 CBasePlayer::Weapon_SetLast(CBaseCombatWeapon*) 264 "CBasePlayer::Weapon_ShouldSetLast(CBaseCombatWeapon*, CBaseCombatWeapon*)" 265 CBasePlayer::Weapon_ShouldSelectItem(CBaseCombatWeapon*) 266 CBasePlayer::UpdateClientData() 267 CBasePlayer::ExitLadder() 268 CCSPlayer::FlashlightIsOn() 269 CCSPlayer::FlashlightTurnOn() 270 CCSPlayer::FlashlightTurnOff() 271 "CBasePlayer::IsIlluminatedByFlashlight(CBaseEntity*, float*)" 272 "CCSPlayer::UpdateStepSound(surfacedata_t*, Vector const&, Vector const&)" 273 "CCSPlayer::PlayStepSound(Vector&, surfacedata_t*, float, bool)" 274 CCSPlayer::DeathSound() 275 CCSPlayer::SetAnimation(PLAYER_ANIM) 276 CBasePlayer::ImpulseCommands() 277 CCSPlayer::CheatImpulseCommands(int) 278 CCSPlayer::ClientCommand(char const*) 279 CBasePlayer::StartObserverMode(int) 280 CBasePlayer::StopObserverMode() 281 CBasePlayer::SetObserverMode(int) 282 CBasePlayer::GetObserverMode() 283 CBasePlayer::SetObserverTarget(CBaseEntity*) 284 CBasePlayer::ObserverUse(bool) 285 CBasePlayer::GetObserverTarget() 286 CBasePlayer::FindNextObserverTarget(bool) 287 CBasePlayer::IsValidObserverTarget(CBaseEntity*) 288 CBasePlayer::CheckObserverSettings() 289 "CBasePlayer::JumptoPosition(Vector const&, QAngle const&)" 290 CBasePlayer::ForceObserverMode(int) 291 CBasePlayer::ResetObserverMode() 292 "CCSPlayer::StartReplayMode(float, float, int)" 293 CCSPlayer::StopReplayMode() 294 CBasePlayer::GetDelayTicks() 295 CBasePlayer::GetReplayEntity() 296 CBasePlayer::CreateCorpse() 297 CCSPlayer::EntSelectSpawnPoint() 298 "CBasePlayer::GetInVehicle(IServerVehicle*, int)" 299 "CBasePlayer::LeaveVehicle(Vector const&, QAngle const&)" 300 CBasePlayer::OnVehicleStart() 301 CBasePlayer::OnVehicleEnd(Vector&) 302 CCSPlayer::BumpWeapon(CBaseCombatWeapon*) 303 CBasePlayer::SelectLastItem() 304 "CBasePlayer::SelectItem(char const*, int)" 305 CBasePlayer::ItemPostFrame() 306 "CCSPlayer::GiveNamedItem(char const*, int)" 307 CBasePlayer::CheckTrainUpdate() 308 CBasePlayer::SetPlayerUnderwater(bool) 309 CBasePlayer::CanBreatheUnderwater() const 310 CBasePlayer::PlayerUse() 311 CBasePlayer::PlayUseDenySound() 312 CCSPlayer::FindUseEntity() 313 "CCSPlayer::IsUseableEntity(CBaseEntity*, unsigned int)" 314 "CBasePlayer::PickupObject(CBaseEntity*, bool)" 315 CBasePlayer::ForceDropOfCarriedPhysObjects(CBaseEntity*) 316 CBasePlayer::GetHeldObjectMass(IPhysicsObject*) 317 CBasePlayer::UpdateGeigerCounter() 318 CBasePlayer::GetAutoaimVector(float) 319 "CBasePlayer::GetAutoaimVector(float, autoaim_params_t&)" 320 CBasePlayer::ShouldAutoaim() 321 CBasePlayer::ForceClientDllUpdate() 322 "CBasePlayer::ProcessUsercmds(CUserCmd*, int, int, int, bool)" 323 "CCSPlayer::PlayerRunCommand(CUserCmd*, IMoveHelper*)" 324 CBasePlayer::CanSpeak() 325 CCSPlayer::CanHearChatFrom(CBasePlayer*) 326 CCSPlayer::ModifyOrAppendPlayerCriteria(AI_CriteriaSet&) 327 "CBasePlayer::CheckChatText(char*, int)" 328 CBasePlayer::IsFollowingPhysics() 329 CCSPlayer::InitVCollision() 330 CBasePlayer::UpdatePhysicsShadowToCurrentPosition() 331 CBasePlayer::EquipSuit() 332 CBasePlayer::CommitSuicide() 333 CBasePlayer::IsBot() const 334 CCSPlayer::SpawnArmorValue() const 335 CCSPlayer::NetworkStateChanged_m_ArmorValue() 336 CCSPlayer::IsBeingGivenItem() const 337 CCSPlayer::CSAnim_GetActiveWeapon() 338 CCSPlayer::CSAnim_CanMove() 339 "CCSPlayer::Blind(float, float, float)" 340 CCSPlayer::Cmd_Argc() 341 CCSPlayer::Cmd_Argv(int)