DB/Vehicle
Jump to navigation
Jump to search
Structure
struct VehicleEntry { uint32 m_ID; // 0 uint32 m_flags; // 1 float m_turnSpeed; // 2 float m_pitchSpeed; // 3 float m_pitchMin; // 4 float m_pitchMax; // 5 uint32 m_seatID[8]; // 6-13 float m_mouseLookOffsetPitch; // 14 float m_cameraFadeDistScalarMin; // 15 float m_cameraFadeDistScalarMax; // 16 float m_cameraPitchOffset; // 17 //int m_powerType[3]; // removed in 3.1 //int m_powerToken[3]; // removed in 3.1 float m_facingLimitRight; // 18 float m_facingLimitLeft; // 19 float m_msslTrgtTurnLingering; // 20 float m_msslTrgtPitchLingering; // 21 float m_msslTrgtMouseLingering; // 22 float m_msslTrgtEndOpacity; // 23 float m_msslTrgtArcSpeed; // 24 float m_msslTrgtArcRepeat; // 25 float m_msslTrgtArcWidth; // 26 float m_msslTrgtImpactRadius[2]; // 27-28 char* m_msslTrgtArcTexture; // 29 char* m_msslTrgtImpactTexture; // 30 char* m_msslTrgtImpactModel[2]; // 31-32 float m_cameraYawOffset; // 33 uint32 m_uiLocomotionType; // 34 float m_msslTrgtImpactTexRadius; // 35 uint32 m_uiSeatIndicatorType; // 36 uint32 PowerDisplay[3]; // 37-39 3.1+: power type and color (0 default, -1 do not use) };
struct VehicleEntry // sizeof(0xA0) { m_ID; // +0x0, size 0x4, type 0 m_flags; // +0x4, size 0x4, type 0 m_turnSpeed; // +0x8, size 0x4, type 3 m_pitchSpeed; // +0xC, size 0x4, type 3 m_pitchMin; // +0x10, size 0x4, type 3 m_pitchMax; // +0x14, size 0x4, type 3 m_seatID; // +0x18, size 0x20, type 0 m_mouseLookOffsetPitch; // +0x38, size 0x4, type 3 m_cameraFadeDistScalarMin; // +0x3C, size 0x4, type 3 m_cameraFadeDistScalarMax; // +0x40, size 0x4, type 3 m_cameraPitchOffset; // +0x44, size 0x4, type 3 m_facingLimitRight; // +0x48, size 0x4, type 3 m_facingLimitLeft; // +0x4C, size 0x4, type 3 m_msslTrgtTurnLingering; // +0x50, size 0x4, type 3 m_msslTrgtPitchLingering; // +0x54, size 0x4, type 3 m_msslTrgtMouseLingering; // +0x58, size 0x4, type 3 m_msslTrgtEndOpacity; // +0x5C, size 0x4, type 3 m_msslTrgtArcSpeed; // +0x60, size 0x4, type 3 m_msslTrgtArcRepeat; // +0x64, size 0x4, type 3 m_msslTrgtArcWidth; // +0x68, size 0x4, type 3 m_msslTrgtImpactRadius; // +0x6C, size 0x8, type 3 m_msslTrgtArcTexture; // +0x74, size 0x4, type 2 m_msslTrgtImpactTexture; // +0x78, size 0x4, type 2 m_msslTrgtImpactModel; // +0x7C, size 0x8, type 2 m_cameraYawOffset; // +0x84, size 0x4, type 3 m_uiLocomotionType; // +0x88, size 0x4, type 0 m_msslTrgtImpactTexRadius; // +0x8C, size 0x4, type 3 m_vehicleUIIndicatorID; // +0x90, size 0x4, type 0 m_powerDisplayID; // +0x94, size 0xC, type 0 };
6.0.1.18179
struct VehicleRec { uint32_t m_ID; uint32_t m_flags; uint32_t m_flagsB; float m_turnSpeed; float m_pitchSpeed; float m_pitchMin; float m_pitchMax; foreign_keyⁱ<uint32_t, &VehicleSeatRec::m_ID> m_seatID[8]; float m_mouseLookOffsetPitch; float m_cameraFadeDistScalarMin; float m_cameraFadeDistScalarMax; float m_cameraPitchOffset; float m_facingLimitRight; float m_facingLimitLeft; float m_msslTrgtTurnLingering; float m_msslTrgtPitchLingering; float m_msslTrgtMouseLingering; float m_msslTrgtEndOpacity; float m_msslTrgtArcSpeed; float m_msslTrgtArcRepeat; float m_msslTrgtArcWidth; float m_msslTrgtImpactRadius[2]; stringrefⁱ m_msslTrgtArcTexture; stringrefⁱ m_msslTrgtImpactTexture; stringrefⁱ m_msslTrgtImpactModel[2]; float m_cameraYawOffset; uint32_t m_uiLocomotionType; float m_msslTrgtImpactTexRadius; uint32_t m_vehicleUIIndicatorID; uint32_t m_powerDisplayID[3]; };
enum POWER_TYPE
POWER_STEAM = 61, POWER_PYRITE = 41, POWER_HEAT = 101, POWER_OOZE = 121, POWER_BLOOD = 141, POWER_WRATH = 142, POWER_ARCANE_ENERGY = 143, POWER_LIFE_ENERGY = 144, POWER_SUN_ENERGY = 145, POWER_SWING_VELOCITY = 146, POWER_SHADOWFLAME_ENERGY = 147, POWER_BLUE_POWER = 148, POWER_PURPLE_POWER = 149, POWER_GREEN_POWER = 150, POWER_ORANGE_POWER = 151, POWER_ENERGY_2 = 153, POWER_ARCANEENERGY = 161, POWER_WIND_POWER_1 = 162, POWER_WIND_POWER_2 = 163, POWER_WIND_POWER_3 = 164, POWER_FUEL = 165, POWER_SUN_POWER = 166, POWER_TWILIGHT_ENERGY = 169, POWER_VENOM = 174, POWER_ORANGE_POWER_2 = 176, POWER_CONSUMING_FLAME = 177, POWER_PYROCLASTIC_FRENZY = 178, POWER_FLASHFIRE = 179,
enum VEHICLE_FLAGS
VEHICLE_FLAG_NO_STRAFE = 0x00000001, // Sets MOVEFLAG2_NO_STRAFE VEHICLE_FLAG_NO_JUMPING = 0x00000002, // Sets MOVEFLAG2_NO_JUMPING VEHICLE_FLAG_FULLSPEEDTURNING = 0x00000004, // Sets MOVEFLAG2_FULLSPEEDTURNING VEHICLE_FLAG_ALLOW_PITCHING = 0x00000010, // Sets MOVEFLAG2_ALLOW_PITCHING VEHICLE_FLAG_FULLSPEEDPITCHING = 0x00000020, // Sets MOVEFLAG2_FULLSPEEDPITCHING VEHICLE_FLAG_CUSTOM_PITCH = 0x00000040, // If set use pitchMin and pitchMax from DBC, otherwise pitchMin = -pi/2, pitchMax = pi/2 VEHICLE_FLAG_ADJUST_AIM_ANGLE = 0x00000400, // Lua_IsVehicleAimAngleAdjustable VEHICLE_FLAG_ADJUST_AIM_POWER = 0x00000800, // Lua_IsVehicleAimPowerAdjustable VEHICLE_FLAG_FIXED_POSITION = 0x00200000 // Used for cannons, when they should be rooted; At least as of 8.2.5 does not actually root anything, but enforces values of FacingLimitRight/Left