mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 08:05:45 +00:00
chore: add missing iw5 weapon fields
This commit is contained in:
parent
f63e7c7f35
commit
f8c9e62624
@ -81,6 +81,7 @@ namespace IW5
|
|||||||
CSPFT_PHYS_COLLMAP,
|
CSPFT_PHYS_COLLMAP,
|
||||||
CSPFT_SOUND,
|
CSPFT_SOUND,
|
||||||
CSPFT_TRACER,
|
CSPFT_TRACER,
|
||||||
|
CSPFT_SCRIPT_STRING,
|
||||||
|
|
||||||
CSPFT_NUM_BASE_FIELD_TYPES,
|
CSPFT_NUM_BASE_FIELD_TYPES,
|
||||||
};
|
};
|
||||||
@ -98,7 +99,7 @@ namespace IW5
|
|||||||
WFT_ANIMTYPE,
|
WFT_ANIMTYPE,
|
||||||
WFT_ACTIVE_RETICLE_TYPE,
|
WFT_ACTIVE_RETICLE_TYPE,
|
||||||
WFT_GUIDED_MISSILE_TYPE,
|
WFT_GUIDED_MISSILE_TYPE,
|
||||||
WFT_BOUNCE_SOUND,
|
WFT_PER_SURFACE_TYPE_SOUND,
|
||||||
WFT_STICKINESS,
|
WFT_STICKINESS,
|
||||||
WFT_OVERLAYINTERFACE,
|
WFT_OVERLAYINTERFACE,
|
||||||
WFT_INVENTORYTYPE,
|
WFT_INVENTORYTYPE,
|
||||||
|
@ -3,38 +3,6 @@
|
|||||||
|
|
||||||
namespace IW5
|
namespace IW5
|
||||||
{
|
{
|
||||||
// WeaponDef:
|
|
||||||
// TODO: changeVariableZoomSound
|
|
||||||
// TODO: rollingSound
|
|
||||||
// TODO: akimboStateTimers
|
|
||||||
// TODO: adsIdleLerpStartTime
|
|
||||||
// TODO: adsIdleLerpTime
|
|
||||||
// TODO: riotShieldEnableDamage
|
|
||||||
// TODO: riotShieldHealth
|
|
||||||
// TODO: riotShieldDamageMult
|
|
||||||
// TODO: turretADSEnabled
|
|
||||||
// TODO: turretADSTime
|
|
||||||
// TODO: turretFov
|
|
||||||
// TODO: turretFovADS
|
|
||||||
// TODO: isAirburstWeapon
|
|
||||||
// TODO: canHoldBreath
|
|
||||||
// TODO: canVariableZoom
|
|
||||||
// TODO: stickToVehicles
|
|
||||||
// TODO: stickToTurrets
|
|
||||||
// TODO: doNotAllowAttachmentsToOverrideSpread
|
|
||||||
// TODO: stowTag
|
|
||||||
// TODO: stowOffsetModel
|
|
||||||
// StateTimers:
|
|
||||||
// TODO: blastFrontTime;
|
|
||||||
// TODO: blastRightTime;
|
|
||||||
// TODO: blastBackTime;
|
|
||||||
// TODO: blastLeftTime;
|
|
||||||
// TODO: raiseInterruptableTime;
|
|
||||||
// TODO: firstRaiseInterruptableTime;
|
|
||||||
// TODO: reloadInterruptableTime;
|
|
||||||
// TODO: reloadEmptyInterruptableTime;
|
|
||||||
// TODO: fireInterruptableTime;
|
|
||||||
|
|
||||||
inline cspField_t weapon_fields[]{
|
inline cspField_t weapon_fields[]{
|
||||||
{"displayName", offsetof(WeaponFullDef, weapCompleteDef.szDisplayName), CSPFT_STRING },
|
{"displayName", offsetof(WeaponFullDef, weapCompleteDef.szDisplayName), CSPFT_STRING },
|
||||||
{"AIOverlayDescription", offsetof(WeaponFullDef, weapDef.szOverlayName), CSPFT_STRING },
|
{"AIOverlayDescription", offsetof(WeaponFullDef, weapDef.szOverlayName), CSPFT_STRING },
|
||||||
@ -241,7 +209,9 @@ namespace IW5
|
|||||||
{"putawaySound", offsetof(WeaponFullDef, weapDef.putawaySound), CSPFT_SOUND },
|
{"putawaySound", offsetof(WeaponFullDef, weapDef.putawaySound), CSPFT_SOUND },
|
||||||
{"putawaySoundPlayer", offsetof(WeaponFullDef, weapDef.putawaySoundPlayer), CSPFT_SOUND },
|
{"putawaySoundPlayer", offsetof(WeaponFullDef, weapDef.putawaySoundPlayer), CSPFT_SOUND },
|
||||||
{"scanSound", offsetof(WeaponFullDef, weapDef.scanSound), CSPFT_SOUND },
|
{"scanSound", offsetof(WeaponFullDef, weapDef.scanSound), CSPFT_SOUND },
|
||||||
{"bounceSound", offsetof(WeaponFullDef, weapDef.bounceSound), WFT_BOUNCE_SOUND },
|
{"changeVariableZoomSound", offsetof(WeaponFullDef, weapDef.changeVariableZoomSound), CSPFT_SOUND },
|
||||||
|
{"bounceSound", offsetof(WeaponFullDef, weapDef.bounceSound), WFT_PER_SURFACE_TYPE_SOUND},
|
||||||
|
{"rollingSound", offsetof(WeaponFullDef, weapDef.rollingSound), WFT_PER_SURFACE_TYPE_SOUND},
|
||||||
{"viewShellEjectEffect", offsetof(WeaponFullDef, weapDef.viewShellEjectEffect), CSPFT_FX },
|
{"viewShellEjectEffect", offsetof(WeaponFullDef, weapDef.viewShellEjectEffect), CSPFT_FX },
|
||||||
{"worldShellEjectEffect", offsetof(WeaponFullDef, weapDef.worldShellEjectEffect), CSPFT_FX },
|
{"worldShellEjectEffect", offsetof(WeaponFullDef, weapDef.worldShellEjectEffect), CSPFT_FX },
|
||||||
{"viewLastShotEjectEffect", offsetof(WeaponFullDef, weapDef.viewLastShotEjectEffect), CSPFT_FX },
|
{"viewLastShotEjectEffect", offsetof(WeaponFullDef, weapDef.viewLastShotEjectEffect), CSPFT_FX },
|
||||||
@ -338,11 +308,15 @@ namespace IW5
|
|||||||
{"destabilizationRateTime", offsetof(WeaponFullDef, weapDef.destabilizationRateTime), CSPFT_FLOAT },
|
{"destabilizationRateTime", offsetof(WeaponFullDef, weapDef.destabilizationRateTime), CSPFT_FLOAT },
|
||||||
{"destabilizationCurvatureMax", offsetof(WeaponFullDef, weapDef.destabilizationCurvatureMax), CSPFT_FLOAT },
|
{"destabilizationCurvatureMax", offsetof(WeaponFullDef, weapDef.destabilizationCurvatureMax), CSPFT_FLOAT },
|
||||||
{"destabilizeDistance", offsetof(WeaponFullDef, weapDef.destabilizeDistance), CSPFT_INT },
|
{"destabilizeDistance", offsetof(WeaponFullDef, weapDef.destabilizeDistance), CSPFT_INT },
|
||||||
|
{"fireTime", offsetof(WeaponFullDef, weapCompleteDef.iFireTime), CSPFT_MILLISECONDS },
|
||||||
|
{"fireTimeAkimbo", offsetof(WeaponFullDef, weapCompleteDef.iFireTimeAkimbo), CSPFT_MILLISECONDS },
|
||||||
|
{"altRaiseTime", offsetof(WeaponFullDef, weapCompleteDef.iAltRaiseTime), CSPFT_MILLISECONDS },
|
||||||
|
{"altRaiseTimeAkimbo", offsetof(WeaponFullDef, weapCompleteDef.iAltRaiseTimeAkimbo), CSPFT_MILLISECONDS },
|
||||||
|
{"firstRaiseTime", offsetof(WeaponFullDef, weapCompleteDef.iFirstRaiseTime), CSPFT_MILLISECONDS },
|
||||||
|
{"firstRaiseTimeAkimbo", offsetof(WeaponFullDef, weapCompleteDef.iFirstRaiseTimeAkimbo), CSPFT_MILLISECONDS },
|
||||||
{"fireDelay", offsetof(WeaponFullDef, weapDef.stateTimers.iFireDelay), CSPFT_MILLISECONDS },
|
{"fireDelay", offsetof(WeaponFullDef, weapDef.stateTimers.iFireDelay), CSPFT_MILLISECONDS },
|
||||||
{"meleeDelay", offsetof(WeaponFullDef, weapDef.stateTimers.iMeleeDelay), CSPFT_MILLISECONDS },
|
{"meleeDelay", offsetof(WeaponFullDef, weapDef.stateTimers.iMeleeDelay), CSPFT_MILLISECONDS },
|
||||||
{"meleeChargeDelay", offsetof(WeaponFullDef, weapDef.stateTimers.meleeChargeDelay), CSPFT_MILLISECONDS },
|
{"meleeChargeDelay", offsetof(WeaponFullDef, weapDef.stateTimers.meleeChargeDelay), CSPFT_MILLISECONDS },
|
||||||
{"fireTime", offsetof(WeaponFullDef, weapCompleteDef.iFireTime), CSPFT_MILLISECONDS },
|
|
||||||
{"fireTimeAkimbo", offsetof(WeaponFullDef, weapCompleteDef.iFireTimeAkimbo), CSPFT_MILLISECONDS },
|
|
||||||
{"rechamberTime", offsetof(WeaponFullDef, weapDef.stateTimers.iRechamberTime), CSPFT_MILLISECONDS },
|
{"rechamberTime", offsetof(WeaponFullDef, weapDef.stateTimers.iRechamberTime), CSPFT_MILLISECONDS },
|
||||||
{"rechamberTimeOneHanded", offsetof(WeaponFullDef, weapDef.stateTimers.rechamberTimeOneHanded), CSPFT_MILLISECONDS },
|
{"rechamberTimeOneHanded", offsetof(WeaponFullDef, weapDef.stateTimers.rechamberTimeOneHanded), CSPFT_MILLISECONDS },
|
||||||
{"rechamberBoltTime", offsetof(WeaponFullDef, weapDef.stateTimers.iRechamberBoltTime), CSPFT_MILLISECONDS },
|
{"rechamberBoltTime", offsetof(WeaponFullDef, weapDef.stateTimers.iRechamberBoltTime), CSPFT_MILLISECONDS },
|
||||||
@ -361,12 +335,8 @@ namespace IW5
|
|||||||
{"dropTime", offsetof(WeaponFullDef, weapDef.stateTimers.iDropTime), CSPFT_MILLISECONDS },
|
{"dropTime", offsetof(WeaponFullDef, weapDef.stateTimers.iDropTime), CSPFT_MILLISECONDS },
|
||||||
{"raiseTime", offsetof(WeaponFullDef, weapDef.stateTimers.iRaiseTime), CSPFT_MILLISECONDS },
|
{"raiseTime", offsetof(WeaponFullDef, weapDef.stateTimers.iRaiseTime), CSPFT_MILLISECONDS },
|
||||||
{"altDropTime", offsetof(WeaponFullDef, weapDef.stateTimers.iAltDropTime), CSPFT_MILLISECONDS },
|
{"altDropTime", offsetof(WeaponFullDef, weapDef.stateTimers.iAltDropTime), CSPFT_MILLISECONDS },
|
||||||
{"altRaiseTime", offsetof(WeaponFullDef, weapCompleteDef.iAltRaiseTime), CSPFT_MILLISECONDS },
|
|
||||||
{"altRaiseTimeAkimbo", offsetof(WeaponFullDef, weapCompleteDef.iAltRaiseTimeAkimbo), CSPFT_MILLISECONDS },
|
|
||||||
{"quickDropTime", offsetof(WeaponFullDef, weapDef.stateTimers.quickDropTime), CSPFT_MILLISECONDS },
|
{"quickDropTime", offsetof(WeaponFullDef, weapDef.stateTimers.quickDropTime), CSPFT_MILLISECONDS },
|
||||||
{"quickRaiseTime", offsetof(WeaponFullDef, weapDef.stateTimers.quickRaiseTime), CSPFT_MILLISECONDS },
|
{"quickRaiseTime", offsetof(WeaponFullDef, weapDef.stateTimers.quickRaiseTime), CSPFT_MILLISECONDS },
|
||||||
{"firstRaiseTime", offsetof(WeaponFullDef, weapCompleteDef.iFirstRaiseTime), CSPFT_MILLISECONDS },
|
|
||||||
{"firstRaiseTimeAkimbo", offsetof(WeaponFullDef, weapCompleteDef.iFirstRaiseTimeAkimbo), CSPFT_MILLISECONDS },
|
|
||||||
{"breachRaiseTime", offsetof(WeaponFullDef, weapDef.stateTimers.iBreachRaiseTime), CSPFT_MILLISECONDS },
|
{"breachRaiseTime", offsetof(WeaponFullDef, weapDef.stateTimers.iBreachRaiseTime), CSPFT_MILLISECONDS },
|
||||||
{"emptyRaiseTime", offsetof(WeaponFullDef, weapDef.stateTimers.iEmptyRaiseTime), CSPFT_MILLISECONDS },
|
{"emptyRaiseTime", offsetof(WeaponFullDef, weapDef.stateTimers.iEmptyRaiseTime), CSPFT_MILLISECONDS },
|
||||||
{"emptyDropTime", offsetof(WeaponFullDef, weapDef.stateTimers.iEmptyDropTime), CSPFT_MILLISECONDS },
|
{"emptyDropTime", offsetof(WeaponFullDef, weapDef.stateTimers.iEmptyDropTime), CSPFT_MILLISECONDS },
|
||||||
@ -384,8 +354,67 @@ namespace IW5
|
|||||||
{"nightVisionRemoveTimeFadeInStart", offsetof(WeaponFullDef, weapDef.stateTimers.nightVisionRemoveTimeFadeInStart), CSPFT_MILLISECONDS },
|
{"nightVisionRemoveTimeFadeInStart", offsetof(WeaponFullDef, weapDef.stateTimers.nightVisionRemoveTimeFadeInStart), CSPFT_MILLISECONDS },
|
||||||
{"fuseTime", offsetof(WeaponFullDef, weapDef.stateTimers.fuseTime), CSPFT_MILLISECONDS },
|
{"fuseTime", offsetof(WeaponFullDef, weapDef.stateTimers.fuseTime), CSPFT_MILLISECONDS },
|
||||||
{"aifuseTime", offsetof(WeaponFullDef, weapDef.stateTimers.aiFuseTime), CSPFT_MILLISECONDS },
|
{"aifuseTime", offsetof(WeaponFullDef, weapDef.stateTimers.aiFuseTime), CSPFT_MILLISECONDS },
|
||||||
|
{"blastFrontTime", offsetof(WeaponFullDef, weapDef.stateTimers.blastFrontTime), CSPFT_MILLISECONDS },
|
||||||
|
{"blastRightTime", offsetof(WeaponFullDef, weapDef.stateTimers.blastRightTime), CSPFT_MILLISECONDS },
|
||||||
|
{"blastBackTime", offsetof(WeaponFullDef, weapDef.stateTimers.blastBackTime), CSPFT_MILLISECONDS },
|
||||||
|
{"blastLeftTime", offsetof(WeaponFullDef, weapDef.stateTimers.blastLeftTime), CSPFT_MILLISECONDS },
|
||||||
|
{"raiseInterruptableTime", offsetof(WeaponFullDef, weapDef.stateTimers.raiseInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
|
{"firstRaiseInterruptableTime", offsetof(WeaponFullDef, weapDef.stateTimers.firstRaiseInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadInterruptableTime", offsetof(WeaponFullDef, weapDef.stateTimers.reloadInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadEmptyInterruptableTime", offsetof(WeaponFullDef, weapDef.stateTimers.reloadEmptyInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
|
{"fireInterruptableTime", offsetof(WeaponFullDef, weapDef.stateTimers.fireInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
|
{"fireDelayAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iFireDelay), CSPFT_MILLISECONDS },
|
||||||
|
{"meleeDelayAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iMeleeDelay), CSPFT_MILLISECONDS },
|
||||||
|
{"meleeChargeDelayAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.meleeChargeDelay), CSPFT_MILLISECONDS },
|
||||||
|
{"rechamberTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iRechamberTime), CSPFT_MILLISECONDS },
|
||||||
|
{"rechamberTimeOneHandedAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.rechamberTimeOneHanded), CSPFT_MILLISECONDS },
|
||||||
|
{"rechamberBoltTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iRechamberBoltTime), CSPFT_MILLISECONDS },
|
||||||
|
{"holdFireTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iHoldFireTime), CSPFT_MILLISECONDS },
|
||||||
|
{"detonateTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iDetonateTime), CSPFT_MILLISECONDS },
|
||||||
|
{"detonateDelayAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iDetonateDelay), CSPFT_MILLISECONDS },
|
||||||
|
{"meleeTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iMeleeTime), CSPFT_MILLISECONDS },
|
||||||
|
{"meleeChargeTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.meleeChargeTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iReloadTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadShowRocketTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.reloadShowRocketTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadEmptyTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iReloadEmptyTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadAddTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iReloadAddTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadStartTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iReloadStartTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadStartAddTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iReloadStartAddTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadEndTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iReloadEndTime), CSPFT_MILLISECONDS },
|
||||||
|
{"dropTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iDropTime), CSPFT_MILLISECONDS },
|
||||||
|
{"raiseTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iRaiseTime), CSPFT_MILLISECONDS },
|
||||||
|
{"altDropTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iAltDropTime), CSPFT_MILLISECONDS },
|
||||||
|
{"quickDropTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.quickDropTime), CSPFT_MILLISECONDS },
|
||||||
|
{"quickRaiseTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.quickRaiseTime), CSPFT_MILLISECONDS },
|
||||||
|
{"breachRaiseTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iBreachRaiseTime), CSPFT_MILLISECONDS },
|
||||||
|
{"emptyRaiseTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iEmptyRaiseTime), CSPFT_MILLISECONDS },
|
||||||
|
{"emptyDropTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.iEmptyDropTime), CSPFT_MILLISECONDS },
|
||||||
|
{"sprintInTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.sprintInTime), CSPFT_MILLISECONDS },
|
||||||
|
{"sprintLoopTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.sprintLoopTime), CSPFT_MILLISECONDS },
|
||||||
|
{"sprintOutTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.sprintOutTime), CSPFT_MILLISECONDS },
|
||||||
|
{"stunnedTimeBeginAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.stunnedTimeBegin), CSPFT_MILLISECONDS },
|
||||||
|
{"stunnedTimeLoopAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.stunnedTimeLoop), CSPFT_MILLISECONDS },
|
||||||
|
{"stunnedTimeEndAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.stunnedTimeEnd), CSPFT_MILLISECONDS },
|
||||||
|
{"nightVisionWearTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.nightVisionWearTime), CSPFT_MILLISECONDS },
|
||||||
|
{"nightVisionWearTimeFadeOutEndAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.nightVisionWearTimeFadeOutEnd), CSPFT_MILLISECONDS },
|
||||||
|
{"nightVisionWearTimePowerUpAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.nightVisionWearTimePowerUp), CSPFT_MILLISECONDS },
|
||||||
|
{"nightVisionRemoveTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.nightVisionRemoveTime), CSPFT_MILLISECONDS },
|
||||||
|
{"nightVisionRemoveTimePowerDownAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.nightVisionRemoveTimePowerDown), CSPFT_MILLISECONDS },
|
||||||
|
{"nightVisionRemoveTimeFadeInStartAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.nightVisionRemoveTimeFadeInStart), CSPFT_MILLISECONDS },
|
||||||
|
{"fuseTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.fuseTime), CSPFT_MILLISECONDS },
|
||||||
|
{"aifuseTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.aiFuseTime), CSPFT_MILLISECONDS },
|
||||||
|
{"blastFrontTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.blastFrontTime), CSPFT_MILLISECONDS },
|
||||||
|
{"blastRightTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.blastRightTime), CSPFT_MILLISECONDS },
|
||||||
|
{"blastBackTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.blastBackTime), CSPFT_MILLISECONDS },
|
||||||
|
{"blastLeftTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.blastLeftTime), CSPFT_MILLISECONDS },
|
||||||
|
{"raiseInterruptableTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.raiseInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
|
{"firstRaiseInterruptableTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.firstRaiseInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadInterruptableTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.reloadInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
|
{"reloadEmptyInterruptableTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.reloadEmptyInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
|
{"fireInterruptableTimeAkimbo", offsetof(WeaponFullDef, weapDef.akimboStateTimers.fireInterruptableTime), CSPFT_MILLISECONDS },
|
||||||
{"lockonSupported", offsetof(WeaponFullDef, weapDef.lockonSupported), CSPFT_BOOL },
|
{"lockonSupported", offsetof(WeaponFullDef, weapDef.lockonSupported), CSPFT_BOOL },
|
||||||
{"requireLockonToFire", offsetof(WeaponFullDef, weapDef.requireLockonToFire), CSPFT_BOOL },
|
{"requireLockonToFire", offsetof(WeaponFullDef, weapDef.requireLockonToFire), CSPFT_BOOL },
|
||||||
|
{"isAirburstWeapon", offsetof(WeaponFullDef, weapDef.isAirburstWeapon), CSPFT_BOOL },
|
||||||
{"bigExplosion", offsetof(WeaponFullDef, weapDef.bigExplosion), CSPFT_BOOL },
|
{"bigExplosion", offsetof(WeaponFullDef, weapDef.bigExplosion), CSPFT_BOOL },
|
||||||
{"noAdsWhenMagEmpty", offsetof(WeaponFullDef, weapDef.noAdsWhenMagEmpty), CSPFT_BOOL },
|
{"noAdsWhenMagEmpty", offsetof(WeaponFullDef, weapDef.noAdsWhenMagEmpty), CSPFT_BOOL },
|
||||||
{"inheritsPerks", offsetof(WeaponFullDef, weapDef.inheritsPerks), CSPFT_BOOL },
|
{"inheritsPerks", offsetof(WeaponFullDef, weapDef.inheritsPerks), CSPFT_BOOL },
|
||||||
@ -403,6 +432,8 @@ namespace IW5
|
|||||||
{"idleProneFactor", offsetof(WeaponFullDef, weapDef.fIdleProneFactor), CSPFT_FLOAT },
|
{"idleProneFactor", offsetof(WeaponFullDef, weapDef.fIdleProneFactor), CSPFT_FLOAT },
|
||||||
{"gunMaxPitch", offsetof(WeaponFullDef, weapDef.fGunMaxPitch), CSPFT_FLOAT },
|
{"gunMaxPitch", offsetof(WeaponFullDef, weapDef.fGunMaxPitch), CSPFT_FLOAT },
|
||||||
{"gunMaxYaw", offsetof(WeaponFullDef, weapDef.fGunMaxYaw), CSPFT_FLOAT },
|
{"gunMaxYaw", offsetof(WeaponFullDef, weapDef.fGunMaxYaw), CSPFT_FLOAT },
|
||||||
|
{"adsIdleLerpStartTime", offsetof(WeaponFullDef, weapDef.adsIdleLerpStartTime), CSPFT_FLOAT },
|
||||||
|
{"adsIdleLerpTime", offsetof(WeaponFullDef, weapDef.adsIdleLerpTime), CSPFT_FLOAT },
|
||||||
{"swayMaxAngle", offsetof(WeaponFullDef, weapDef.swayMaxAngle), CSPFT_FLOAT },
|
{"swayMaxAngle", offsetof(WeaponFullDef, weapDef.swayMaxAngle), CSPFT_FLOAT },
|
||||||
{"swayLerpSpeed", offsetof(WeaponFullDef, weapDef.swayLerpSpeed), CSPFT_FLOAT },
|
{"swayLerpSpeed", offsetof(WeaponFullDef, weapDef.swayLerpSpeed), CSPFT_FLOAT },
|
||||||
{"swayPitchScale", offsetof(WeaponFullDef, weapDef.swayPitchScale), CSPFT_FLOAT },
|
{"swayPitchScale", offsetof(WeaponFullDef, weapDef.swayPitchScale), CSPFT_FLOAT },
|
||||||
@ -420,6 +451,8 @@ namespace IW5
|
|||||||
{"armorPiercing", offsetof(WeaponFullDef, weapDef.armorPiercing), CSPFT_BOOL },
|
{"armorPiercing", offsetof(WeaponFullDef, weapDef.armorPiercing), CSPFT_BOOL },
|
||||||
{"boltAction", offsetof(WeaponFullDef, weapDef.bBoltAction), CSPFT_BOOL },
|
{"boltAction", offsetof(WeaponFullDef, weapDef.bBoltAction), CSPFT_BOOL },
|
||||||
{"aimDownSight", offsetof(WeaponFullDef, weapDef.aimDownSight), CSPFT_BOOL },
|
{"aimDownSight", offsetof(WeaponFullDef, weapDef.aimDownSight), CSPFT_BOOL },
|
||||||
|
{"canHoldBreath", offsetof(WeaponFullDef, weapDef.canHoldBreath), CSPFT_BOOL },
|
||||||
|
{"canVariableZoom", offsetof(WeaponFullDef, weapDef.canVariableZoom), CSPFT_BOOL },
|
||||||
{"rechamberWhileAds", offsetof(WeaponFullDef, weapDef.bRechamberWhileAds), CSPFT_BOOL },
|
{"rechamberWhileAds", offsetof(WeaponFullDef, weapDef.bRechamberWhileAds), CSPFT_BOOL },
|
||||||
{"bBulletExplosiveDamage", offsetof(WeaponFullDef, weapDef.bBulletExplosiveDamage), CSPFT_BOOL },
|
{"bBulletExplosiveDamage", offsetof(WeaponFullDef, weapDef.bBulletExplosiveDamage), CSPFT_BOOL },
|
||||||
{"adsViewErrorMin", offsetof(WeaponFullDef, weapDef.adsViewErrorMin), CSPFT_FLOAT },
|
{"adsViewErrorMin", offsetof(WeaponFullDef, weapDef.adsViewErrorMin), CSPFT_FLOAT },
|
||||||
@ -480,6 +513,8 @@ namespace IW5
|
|||||||
{"projImpactExplode", offsetof(WeaponFullDef, weapDef.bProjImpactExplode), CSPFT_BOOL },
|
{"projImpactExplode", offsetof(WeaponFullDef, weapDef.bProjImpactExplode), CSPFT_BOOL },
|
||||||
{"stickiness", offsetof(WeaponFullDef, weapDef.stickiness), WFT_STICKINESS },
|
{"stickiness", offsetof(WeaponFullDef, weapDef.stickiness), WFT_STICKINESS },
|
||||||
{"stickToPlayers", offsetof(WeaponFullDef, weapDef.stickToPlayers), CSPFT_BOOL },
|
{"stickToPlayers", offsetof(WeaponFullDef, weapDef.stickToPlayers), CSPFT_BOOL },
|
||||||
|
{"stickToVehicles", offsetof(WeaponFullDef, weapDef.stickToVehicles), CSPFT_BOOL },
|
||||||
|
{"stickToTurrets", offsetof(WeaponFullDef, weapDef.stickToTurrets), CSPFT_BOOL },
|
||||||
{"hasDetonator", offsetof(WeaponFullDef, weapDef.hasDetonator), CSPFT_BOOL },
|
{"hasDetonator", offsetof(WeaponFullDef, weapDef.hasDetonator), CSPFT_BOOL },
|
||||||
{"disableFiring", offsetof(WeaponFullDef, weapDef.disableFiring), CSPFT_BOOL },
|
{"disableFiring", offsetof(WeaponFullDef, weapDef.disableFiring), CSPFT_BOOL },
|
||||||
{"timedDetonation", offsetof(WeaponFullDef, weapDef.timedDetonation), CSPFT_BOOL },
|
{"timedDetonation", offsetof(WeaponFullDef, weapDef.timedDetonation), CSPFT_BOOL },
|
||||||
@ -488,7 +523,11 @@ namespace IW5
|
|||||||
{"freezeMovementWhenFiring", offsetof(WeaponFullDef, weapDef.freezeMovementWhenFiring), CSPFT_BOOL },
|
{"freezeMovementWhenFiring", offsetof(WeaponFullDef, weapDef.freezeMovementWhenFiring), CSPFT_BOOL },
|
||||||
{"lowAmmoWarningThreshold", offsetof(WeaponFullDef, weapDef.lowAmmoWarningThreshold), CSPFT_FLOAT },
|
{"lowAmmoWarningThreshold", offsetof(WeaponFullDef, weapDef.lowAmmoWarningThreshold), CSPFT_FLOAT },
|
||||||
{"ricochetChance", offsetof(WeaponFullDef, weapDef.ricochetChance), CSPFT_FLOAT },
|
{"ricochetChance", offsetof(WeaponFullDef, weapDef.ricochetChance), CSPFT_FLOAT },
|
||||||
|
{"riotShieldEnableDamage", offsetof(WeaponFullDef, weapDef.riotShieldEnableDamage), CSPFT_BOOL },
|
||||||
|
{"riotShieldHealth", offsetof(WeaponFullDef, weapDef.riotShieldHealth), CSPFT_INT },
|
||||||
|
{"riotShieldDamageMult", offsetof(WeaponFullDef, weapDef.riotShieldDamageMult), CSPFT_FLOAT },
|
||||||
{"offhandHoldIsCancelable", offsetof(WeaponFullDef, weapDef.offhandHoldIsCancelable), CSPFT_BOOL },
|
{"offhandHoldIsCancelable", offsetof(WeaponFullDef, weapDef.offhandHoldIsCancelable), CSPFT_BOOL },
|
||||||
|
{"doNotAllowAttachmentsToOverrideSpread", offsetof(WeaponFullDef, weapDef.doNotAllowAttachmentsToOverrideSpread), CSPFT_BOOL },
|
||||||
{"parallelDefaultBounce", offsetof(WeaponFullDef, parallelBounce[SURF_TYPE_DEFAULT]), CSPFT_FLOAT },
|
{"parallelDefaultBounce", offsetof(WeaponFullDef, parallelBounce[SURF_TYPE_DEFAULT]), CSPFT_FLOAT },
|
||||||
{"parallelBarkBounce", offsetof(WeaponFullDef, parallelBounce[SURF_TYPE_BARK]), CSPFT_FLOAT },
|
{"parallelBarkBounce", offsetof(WeaponFullDef, parallelBounce[SURF_TYPE_BARK]), CSPFT_FLOAT },
|
||||||
{"parallelBrickBounce", offsetof(WeaponFullDef, parallelBounce[SURF_TYPE_BRICK]), CSPFT_FLOAT },
|
{"parallelBrickBounce", offsetof(WeaponFullDef, parallelBounce[SURF_TYPE_BRICK]), CSPFT_FLOAT },
|
||||||
@ -684,6 +723,10 @@ namespace IW5
|
|||||||
{"tracerType", offsetof(WeaponFullDef, weapDef.tracerType), CSPFT_TRACER },
|
{"tracerType", offsetof(WeaponFullDef, weapDef.tracerType), CSPFT_TRACER },
|
||||||
{"adsDofStart", offsetof(WeaponFullDef, weapCompleteDef.adsDofStart), CSPFT_FLOAT },
|
{"adsDofStart", offsetof(WeaponFullDef, weapCompleteDef.adsDofStart), CSPFT_FLOAT },
|
||||||
{"adsDofEnd", offsetof(WeaponFullDef, weapCompleteDef.adsDofEnd), CSPFT_FLOAT },
|
{"adsDofEnd", offsetof(WeaponFullDef, weapCompleteDef.adsDofEnd), CSPFT_FLOAT },
|
||||||
|
{"turretADSEnabled", offsetof(WeaponFullDef, weapDef.turretADSEnabled), CSPFT_BOOL },
|
||||||
|
{"turretADSTime", offsetof(WeaponFullDef, weapDef.turretADSTime), CSPFT_FLOAT },
|
||||||
|
{"turretFov", offsetof(WeaponFullDef, weapDef.turretFov), CSPFT_FLOAT },
|
||||||
|
{"turretFovADS", offsetof(WeaponFullDef, weapDef.turretFovADS), CSPFT_FLOAT },
|
||||||
{"turretScopeZoomRate", offsetof(WeaponFullDef, weapDef.turretScopeZoomRate), CSPFT_FLOAT },
|
{"turretScopeZoomRate", offsetof(WeaponFullDef, weapDef.turretScopeZoomRate), CSPFT_FLOAT },
|
||||||
{"turretScopeZoomMin", offsetof(WeaponFullDef, weapDef.turretScopeZoomMin), CSPFT_FLOAT },
|
{"turretScopeZoomMin", offsetof(WeaponFullDef, weapDef.turretScopeZoomMin), CSPFT_FLOAT },
|
||||||
{"turretScopeZoomMax", offsetof(WeaponFullDef, weapDef.turretScopeZoomMax), CSPFT_FLOAT },
|
{"turretScopeZoomMax", offsetof(WeaponFullDef, weapDef.turretScopeZoomMax), CSPFT_FLOAT },
|
||||||
@ -726,6 +769,8 @@ namespace IW5
|
|||||||
{"missileConeSoundCrossfadeEnabled", offsetof(WeaponFullDef, weapDef.missileConeSoundCrossfadeEnabled), CSPFT_BOOL },
|
{"missileConeSoundCrossfadeEnabled", offsetof(WeaponFullDef, weapDef.missileConeSoundCrossfadeEnabled), CSPFT_BOOL },
|
||||||
{"missileConeSoundCrossfadeTopSize", offsetof(WeaponFullDef, weapDef.missileConeSoundCrossfadeTopSize), CSPFT_FLOAT },
|
{"missileConeSoundCrossfadeTopSize", offsetof(WeaponFullDef, weapDef.missileConeSoundCrossfadeTopSize), CSPFT_FLOAT },
|
||||||
{"missileConeSoundCrossfadeBottomSize", offsetof(WeaponFullDef, weapDef.missileConeSoundCrossfadeBottomSize), CSPFT_FLOAT },
|
{"missileConeSoundCrossfadeBottomSize", offsetof(WeaponFullDef, weapDef.missileConeSoundCrossfadeBottomSize), CSPFT_FLOAT },
|
||||||
|
{"stowTag", offsetof(WeaponFullDef, weapDef.stowTag), CSPFT_SCRIPT_STRING },
|
||||||
|
{"stowOffsetModel", offsetof(WeaponFullDef, weapDef.stowOffsetModel), CSPFT_XMODEL },
|
||||||
{"attachments", offsetof(WeaponFullDef, scopes), WFT_ATTACHMENT },
|
{"attachments", offsetof(WeaponFullDef, scopes), WFT_ATTACHMENT },
|
||||||
{"animOverrides", offsetof(WeaponFullDef, weapCompleteDef.animOverrides), WFT_ANIM_OVERRIDES },
|
{"animOverrides", offsetof(WeaponFullDef, weapCompleteDef.animOverrides), WFT_ANIM_OVERRIDES },
|
||||||
{"soundOverrides", offsetof(WeaponFullDef, weapCompleteDef.soundOverrides), WFT_SOUND_OVERRIDES },
|
{"soundOverrides", offsetof(WeaponFullDef, weapCompleteDef.soundOverrides), WFT_SOUND_OVERRIDES },
|
||||||
|
@ -76,13 +76,13 @@ namespace IW5
|
|||||||
FillFromEnumInt(std::string(field.szName), field.iOffset, guidedMissileNames, std::extent_v<decltype(guidedMissileNames)>);
|
FillFromEnumInt(std::string(field.szName), field.iOffset, guidedMissileNames, std::extent_v<decltype(guidedMissileNames)>);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WFT_BOUNCE_SOUND:
|
case WFT_PER_SURFACE_TYPE_SOUND:
|
||||||
{
|
{
|
||||||
const auto* bounceSound = *reinterpret_cast<SndAliasCustom**>(reinterpret_cast<uintptr_t>(m_structure) + field.iOffset);
|
const auto* perSurfaceTypeSound = *reinterpret_cast<SndAliasCustom**>(reinterpret_cast<uintptr_t>(m_structure) + field.iOffset);
|
||||||
|
|
||||||
if (bounceSound && bounceSound->name)
|
if (perSurfaceTypeSound && perSurfaceTypeSound->name)
|
||||||
{
|
{
|
||||||
const std::string firstBounceSound(bounceSound->name->soundName);
|
const std::string firstBounceSound(perSurfaceTypeSound->name->soundName);
|
||||||
const auto endOfBouncePrefix = firstBounceSound.rfind("_default");
|
const auto endOfBouncePrefix = firstBounceSound.rfind("_default");
|
||||||
assert(endOfBouncePrefix != std::string::npos);
|
assert(endOfBouncePrefix != std::string::npos);
|
||||||
|
|
||||||
|
@ -117,6 +117,10 @@ void InfoStringFromStructConverter::FillFromBaseField(const cspField_t& field)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case CSPFT_SCRIPT_STRING:
|
||||||
|
FillFromScriptString(std::string(field.szName), field.iOffset);
|
||||||
|
break;
|
||||||
|
|
||||||
case CSPFT_NUM_BASE_FIELD_TYPES:
|
case CSPFT_NUM_BASE_FIELD_TYPES:
|
||||||
default:
|
default:
|
||||||
assert(false);
|
assert(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user