Files
tech5/source/tungsten/game/clientgame/presentable/presentablevehiclecar.h
T

417 lines
13 KiB
C++

#pragma once
// Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata.
// Original PDB header: w:\tech5\tungsten\game\clientgame\presentable\presentablevehiclecar.h
// Recovered logical types: 9
// Signatures retain Xbox 360 ABI evidence and may still require manual review.
// IDA Local Type ordinal 2120; PDB kind: unknown.
enum idPresentableVehicle::<unnamed_tag> : __int32
{
RBS_NONE = 0x0,
RBS_PULLED = 0x1,
RBS_RELEASED = 0x2,
RBS_BOOSTING = 0x3,
};
// IDA Local Type ordinal 2124; PDB kind: enum.
enum idPresentableVehicle::autoRollState_t : __int32
{
AUTOROLL_NONE = 0x0,
AUTOROLL_PITCH = 0x1,
AUTOROLL_ROLL = 0x2,
};
// IDA Local Type ordinal 2127; PDB kind: enum.
enum idPresentableVehicle::wheelLoc_t : __int32
{
WHEEL_FRONT_LEFT = 0x0,
WHEEL_FRONT_RIGHT = 0x1,
WHEEL_REAR_LEFT = 0x2,
WHEEL_REAR_RIGHT = 0x3,
};
// IDA Local Type ordinal 14505; PDB kind: class.
class __declspec(align(4)) idPresentableVehicle : public idPresentableAnimatedEntity
{
public:
// Recovered virtual interface; IDA vtable ordinal 34019.
virtual ~idPresentableVehicle();
virtual void Shutdown();
virtual void ClientJobSync();
virtual void ControlReleased();
virtual inputSettings_t *GetInputSettings(inputSettings_t *result, idPresentablePlayer *);
virtual void Present();
virtual void Serialize(idSerializer *);
virtual void PostSerializeRead(bool);
virtual void Interpolate(int, float);
virtual bool ShouldSerializeHidden();
virtual bool ShouldInterpolate();
virtual void ClientPredict(int, float);
virtual void ClientThink(int, float, bool);
virtual void ServerThink(int);
virtual bool Draw(idPresentablePlayer *);
virtual void SerializeFX(idSerializer *);
virtual void PostAlloc();
virtual presentableType_t GetType();
virtual idPresentableAnimatedEntity *GetAnimatedEntityInterface();
virtual idPresentableVehicle *GetVehicleInterface();
virtual idPresentableBreakable *GetBreakableInterface();
virtual idPresentablePieceEmitter *GetPieceEmitterInterface();
virtual idPresentableDamageable *GetDamageableInterface();
virtual const idPresentableActor *GetActorInterface();
virtual idPresentableActor *GetActorInterface_2();
virtual const idPresentablePlayer *GetPlayerInterface();
virtual idPresentablePlayer *GetPlayerInterface_2();
virtual idPresentableProjectile *GetProjectileInterface();
virtual idPresentableProjectile_Rocket *GetProjectileRocketInterface();
virtual idPresentableProjectile_Homing *GetProjectileHomingInterface();
virtual idPresentableProjectile_Grenade *GetProjectileGrenadeInterface();
virtual idPresentableMultiplayerTrigger *GetMultiplayerTriggerInterface();
virtual idPresentableWeaponStatic *GetWeaponStaticInterface();
virtual idPresentableAI *GetAIInterface();
virtual idPresentableProp *GetPropInterface();
virtual idPresentableDoorAnimated *GetDoorAnimatedInterface();
virtual idPresentableWeapon *GetWeaponInterface();
virtual idOnlineVehicleDeathCameraPresentable *GetVehicleCameraInterface();
virtual idPresentableReviveCamera *GetReviveCameraInterface();
virtual idPresentableArmorPiece *GetArmorInterface();
virtual idPresentablePusher *GetPusherInterface();
virtual idPresentableTurret *GetTurretInterface();
virtual idPresentableParticleEmitter *GetParticleEmitterInterface();
virtual idPresentableCollisionTrigger *GetCollisionTriggerInterface();
virtual idPresentableSpectatorCamera *GetSpectatorCameraInterface();
virtual idPresentableAnimatedEntity *GetAnimatedPhysicsInterface();
virtual void SetRenderModel(idRenderModel *, bool);
virtual bool ShouldSerializeRenderModelParms();
virtual void StopSound_Predicted(const soundChannel_t);
virtual void Hide(bool);
virtual void Show();
virtual void GetWorldTransform(idVec3 *, idMat3 *);
virtual idBounds *GetBounds(idBounds *result, int);
virtual idBounds *GetAbsBounds(idBounds *result, int);
virtual bool ShouldTriggerClientHitScanHit();
virtual void ClientHitScanHit(int, int, int, const idDeclWeapon *, const idDeclProjectile *, int);
virtual void ClientHitScanHit_ClientFire(int, const idDeclWeapon *, int);
virtual void PredictHitScanHit(idPresentable *, float, const idVec3 *, const idVec3 *, const idDeclProjectile *, trace_t *);
virtual int GetPeerIndex();
virtual bool IsTargetLockable(const idDeclAmmo *);
virtual float GetTotalCurHealth();
virtual float GetTotalMaxHealth();
virtual bool ShouldSaveForTimeTrial();
virtual void StartFX(fxCondition_t, fxExtraCondition_t);
virtual void StopAllFX();
virtual void UpdateFX(const idVec3 *, const idMat3 *, idFXManager *, const float, const float);
virtual void UpdateFX_2(const idVec3 *, const idMat3 *);
virtual void UpdateFX_3(const float, const float);
virtual void LocalStartFX(fxCondition_t);
virtual usableState_t GetOnlineUsableState(idPresentablePlayer *, int);
virtual void GetOnlineModifiedCrosshairInfo(const idPresentable *, const idFocusTrace *, const usableState_t, idCrosshairInfo *);
virtual idStrId *GetOnlineUsableText(idStrId *result);
virtual void BecomeReplicated();
virtual int GetControllingPlayerIndex();
virtual idPresentablePlayer *GetControllingPlayer();
virtual bool IsLocallyControlled();
virtual idWeapon *GetFiredWeapon(const idDeclWeapon *);
virtual void InitFXMgr(const idDeclFX *);
virtual void ShutdownFXMgr();
virtual void UpdateClientCollision(const idVec3 *, const idMat3 *, const idVec3 *, const idMat3 *);
virtual bool ShouldLinkPresentableCollision();
virtual idInventoryCollection *GetInventory();
virtual const idInventoryCollection *GetInventory_2();
virtual bool ShouldEnableSphereCollision();
virtual void InventoryAdded(idInventoryItem *, int, bool);
virtual idImpactManager *GetImpactMgrPtr();
virtual int StartSoundShader(const soundChannel_t, const idSoundShader *, int, unsigned __int8);
virtual int StartSoundShader_Predicted(const soundChannel_t, const idSoundShader *, int);
virtual float GetHealth();
idStaticList<idPresentableVehicle::clientDetachable_t,70> detachableItems;
idAnimator_VehicleCar *animator;
const idDeclVehicleProps *vehicleProps;
bool showExhaust;
idVec3 lastOrigin;
idSmokeEmitter exhaustEmitter_right;
idSmokeEmitter exhaustEmitter_left;
idSmokeEmitter exhaustEmitter_right2;
idSmokeEmitter exhaustEmitter_left2;
idVec3 originalOrigin;
idVec3 originalSmoothOrigin;
idMat3 originalSmoothAxis;
int radialBlurHandle;
int ammoDepletedMsgTime;
bool enableVehicleControls;
bool engineRunning;
bool accelerating;
bool reversing;
bool boosting;
bool canAccelerate;
bool braking;
bool handBraking;
bool aiSpecialSkid;
float currentThrottle;
float maxSpeed;
int currentGear;
float currentAproxMPH;
float currentEngineRPM;
float totalWheelSkid;
int savedSurfaceType;
idVec3 currentAproxLinearVelocity;
int numAnimWheelsOnGround;
float averageCompression;
int rampLandTime;
idPresentableVehicle::soundState_t soundState;
idEffectPhysicsDebrisEmitter debrisEmitter;
idImpactManager impactManager;
int serializedPhysicsSize;
unsigned __int8 serializedPhysics[2048];
int respawnFrame;
int lastRespawnFrame;
int serverOverridePositionTime;
bool firstClientOverride;
bool postSerializeRespawn;
int specialDeathTime;
bool appliedSpecialDeath;
idPresentablePtr<idPresentablePlayer> cachedPlayerDriver;
idInventoryCollection inventory;
idInventoryCollection *activeInventory;
idList<vehicleOccupant_t,5> occupants;
idList<idWheel,5> wheels;
const idSoundShader *vehicleHorn;
idPhysics_AF physicsObj;
const idDeclTable *motorTorque;
vehicleStickControl_t stickControl;
float curSteerAngle;
float maxSteerSpeed;
float brakeForce;
idAngles driverViewAngles;
bool mainCameraView;
idAngles currentViewAngles;
idAngles minDriverViewAngles;
idAngles maxDriverViewAngles;
idAngles lastCarAngles;
int lastDrawTime;
float zoom_fov_x;
int wildSpinTime;
int jumpStartTime;
float jumpApogee;
float jumpHeightOffset;
float jumpBackOffset;
idAngles freeAngles;
bool quickTurnActive;
bool quickUseFailed;
bool quickSelectUsed;
int quickTurnStartTime;
int quickTurnTotalTime;
int quickTurnDir;
float viewAnglesDeltaPerc;
float prevCameraPitch;
float prevCameraPushDelta;
idAngles mouseCumulativeFreeAngles;
float mouseCumulativePitch;
idMat3 activeTargetAxis;
idVec3 currentCameraFocusOffset;
idVec3 currentViewOrigin;
bool activeTargetUpright;
float cameraTraceZs[10];
int cameraTraceZIndex;
bool cameraZInitialized;
int boostStartTime;
int reverseBoostTime;
int reverseBoostState;
float boostScalePercent;
int externalBoostStart;
int externalBoostEnd;
int externalBoostDuration;
idPresentableVehicle::boostFx_t boostFx;
int numWheelsOnGround;
idVec3 driverViewOrigin;
idMat3 driverViewAxis;
float driverViewFov_x;
int jumpTime;
int lastSlideTime;
bool playedFullBoostSound;
bool boostDisabled;
idInterpolate<float> boostPower;
float megaBoostAcceleration;
int megaBoostTime;
bool slideFxPlaying;
int forceBoostFxTime;
bool hasQuad;
float currentMPH;
int nextBoostCharge;
float boostDuration;
int lastHandbrakeTime;
int handbrakeStartTime;
int nextSteerTime;
float currentMaxSpeed;
float currentMaxReverseSpeed;
idStaticList<idVehicleQuickItem *,6> quickItemThink;
int curQuickItem;
int curQuickItemSlot;
idPresentableVehicle::onlinePerks_t currentPerks;
int currentWeaponGroup;
int clientPendingWeaponGroup;
int clientPendingWeaponChangeFirecount;
int weaponControlIndex;
bool hadAmmo;
bool weaponTriggerPulled;
bool lastWeaponTriggerPulled;
bool lastHadAmmo;
bool inhibitFireControl;
int inhibitFireControlStartTime;
const idVehicleWeapon *lastFiredVehicleWeapon;
idThirdPersonCrosshair crosshair;
idList<idVehicleWeapon *,5> weapons;
mannedWeaponTransition_t weapTransState;
int seatTransitionTime;
idVec3 transitionFromOrigin;
idMat3 transitionFromAxis;
idVec3 lastWeaponOrigin;
idMat3 lastWeaponViewAxis;
idVec3 lastViewOrigin;
idMat3 lastViewAxis;
bool sharedWeaponChange;
int mannedWeaponChangeTime;
float attackDamageScale;
bool canFireWeapons;
idFXManager predictedFXMgr;
float boostShake;
bool drawBirdsView;
int zoomTime;
idPresentableVehicle::vehicleDamageInfo_t damageHistory[8];
int damageHistoryIndex;
int damageHistoryLastSerialize;
int predictedDamageCount;
bool newPassenger;
idAngles lastFPSStickAngles;
idVec3 lastPassengerViewOrg;
idMat3 lastPassengerViewAxis;
idVec3 birdOrigin;
int birdObstructedCamTime;
bool allowWeaponChange_Serialized;
float health_Serialized;
float maxHealth_Serialized;
bool hasInfiniteAmmo_Serialized;
idPresentablePtr<idPresentable> lockedTarget_Serialized;
idPhysicsCallbacks *clientPhysicsCB;
collisionInfo_t lastCollision;
idVec3 lastLinearVelocity;
idVec3 lastAngularVelocity;
int stuckFrames;
int collisionTime;
int backImpulseTime;
int debrisTime;
int violentRollStartTime;
int violentRollStopTime;
int violentRollFxTime;
int rolloverFxTime;
vehicleFxDamageLevel_t currentFXDamageLevel;
int deathTime;
float lastBoostPower;
bool engineDisabled;
bool hasBoosted;
int lastTargetRenderedTime;
idPresentableVehicle::autoRollState_t autoRollState;
bool skipRemoteClientUpdates;
int EMPTimeout;
float brakeForceBackup;
netBoolEvent_t quadOn;
netBoolEvent_t quadOff;
netBoolEvent_t resetBoost;
bool isBully;
bool isScramblingLocks;
int lockScramblingTimeout;
bool isSmashActive;
int predictSmashActiveFrame;
int smashTimeout;
unsigned __int8 approxSpeed;
int timeInAir;
int firingHeat;
int firingLastHeatTime;
int firingLastHeatFrame;
int firingLastHeatFireTime;
int numLockedProjectiles;
bool skipUpdateSounds;
};
// IDA Local Type ordinal 14507; PDB kind: struct.
struct idPresentableVehicle::clientDetachable_t
{
detachable_t item;
bool attached;
bool permDetach;
int lastAddCount;
int lastRemoveCount;
int addCount;
int removeCount;
int damageLeft;
};
// IDA Local Type ordinal 14567; PDB kind: struct.
struct __declspec(align(4)) idPresentableVehicle::soundState_t
{
bool engineRunning;
int engineDamagedLevel;
int lastTireBumpSound;
int startInAirTime;
int startIdleTime;
int stopIdleTime;
int startNonIdleTime;
int stopNonIdleTime;
int surfaceType;
int oldSurfaceType;
int nextSkidTime;
bool braking;
int shiftStartTime;
int shiftRampDownEndTime;
int shiftRampUpStartTime;
int shiftEndTime;
bool reverse;
int revLimitStartTime;
int revLimitEndTime;
int boostStartTime;
int boostEndTime;
bool boostOverlayStarted;
int nextCrashTime;
int engineSoundFadeInTime;
bool crosshairLockedOn;
bool isLockedTargeted;
};
// IDA Local Type ordinal 14631; PDB kind: struct.
struct idPresentableVehicle::boostFx_t
{
float curFov;
float startingPower;
};
// IDA Local Type ordinal 14635; PDB kind: struct.
struct idPresentableVehicle::onlinePerks_t
{
float boostUpModifier;
float duraBumpModifier;
float jumpManModifier;
float overAmmoModifier;
float lockJackModifier;
float fasterFasterModifier;
float theSnapperModifier;
int overLoadModifier;
};
// IDA Local Type ordinal 14751; PDB kind: struct.
struct __declspec(align(4)) idPresentableVehicle::vehicleDamageInfo_t
{
const idDeclDamage *damageDef;
idVec3 damageDir;
idVec3 impactPoint;
float damageScale;
float damage;
float startHealth;
float endHealth;
int time;
idPresentablePtr<idPresentable> attacker;
bool predicted;
};