DB/Vehicle: Difference between revisions
Jump to navigation
Jump to search
m (Added Category WotLK) |
Смердокрыл (talk | contribs) (Corrected flag 0x00200000 description) |
||
(17 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{Template:Sandbox/VersionRange|min_expansionlevel=3}} | |||
== Structure == | == Structure == | ||
struct VehicleEntry | struct VehicleEntry | ||
Line 47: | Line 36: | ||
float m_msslTrgtImpactTexRadius; // 35 | float m_msslTrgtImpactTexRadius; // 35 | ||
uint32 m_uiSeatIndicatorType; // 36 | uint32 m_uiSeatIndicatorType; // 36 | ||
uint32 [[PowerDisplay.dbc|PowerDisplay]][3]; // 37-39 3.1+: power type and color (0 default, -1 do not use) | |||
}; | }; | ||
Line 84: | Line 71: | ||
m_powerDisplayID; // +0x94, size 0xC, 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; | |||
{{Template:Type/foreign_key|table=VehicleSeat}} 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]; | |||
{{Template:Type|stringref}} m_msslTrgtArcTexture; | |||
{{Template:Type|stringref}} m_msslTrgtImpactTexture; | |||
{{Template:Type|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 | |||
[[Category:DBC]] | [[Category:DBC]] | ||
[[Category:DBC_WotLK]] | [[Category:DBC_WotLK]] | ||
[[Category:DBC_Cataclysm]] | |||
[[Category:DBC_WoD]] | |||
[[Category:6.0.1.18179]] |
Latest revision as of 15:23, 23 December 2019
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