XPlor/libs/xassets/xweapondef.h
2025-09-07 12:36:08 -04:00

432 lines
11 KiB
C++

#ifndef XWEAPONDEF_H
#define XWEAPONDEF_H
#include "xasset.h"
#include "xmodel.h"
#include "xsoundaliaslist.h"
#include "xweaponenums.h"
#include "xfxeffectdef.h"
#include <QVector>
class XWeaponDef : public XAsset
{
public:
explicit XWeaponDef();
~XWeaponDef();
void ParseData(QDataStream *aStream) override;
void Clear() override;
private:
QString mInternalName;
QString mDisplayName;
QString mOverlayName;
QVector<XModel> mGunXModel;
XModel mHandXModel;
QStringList mXAnims;
QString mModeName;
quint32 mHideTags[8];
quint32 mNotetrackSoundMapKeys[16];
quint32 mNotetrackSoundMapValues[16];
int mPlayerAnimType;
XWeaponType mWeapType;
XWeaponClass mWeapClass;
XPenetrateType mPenetrateType;
XImpactType mImpactType;
XWeaponInventoryType mInventoryType;
XWeaponFireType mFireType;
XOffhandClass mOffhandClass;
XWeaponStance mStance;
XFxEffectDef mViewFlashEffect;
XFxEffectDef mWorldFlashEffect;
XSoundAliasList mPickupSound;
XSoundAliasList mPickupSoundPlayer;
XSoundAliasList mAmmoPickupSound;
XSoundAliasList mAmmoPickupSoundPlayer;
XSoundAliasList mProjectileSound;
XSoundAliasList mPullbackSound;
XSoundAliasList mPullbackSoundPlayer;
XSoundAliasList mFireSound;
XSoundAliasList mFireSoundPlayer;
XSoundAliasList mFireLoopSound;
XSoundAliasList mFireLoopSoundPlayer;
XSoundAliasList mFireStopSound;
XSoundAliasList mFireStopSoundPlayer;
XSoundAliasList mFireLastSound;
XSoundAliasList mFireLastSoundPlayer;
XSoundAliasList mEmptyFireSound;
XSoundAliasList mEmptyFireSoundPlayer;
XSoundAliasList mMeleeSwipeSound;
XSoundAliasList mMeleeSwipeSoundPlayer;
XSoundAliasList mMeleeHitSound;
XSoundAliasList mMeleeMissSound;
XSoundAliasList mEechamberSound;
XSoundAliasList mRechamberSoundPlayer;
XSoundAliasList mReloadSound;
XSoundAliasList mReloadSoundPlayer;
XSoundAliasList mReloadEmptySound;
XSoundAliasList mReloadEmptySoundPlayer;
XSoundAliasList mReloadStartSound;
XSoundAliasList mReloadStartSoundPlayer;
XSoundAliasList mReloadEndSound;
XSoundAliasList mReloadEndSoundPlayer;
XSoundAliasList mDetonateSound;
XSoundAliasList mDetonateSoundPlayer;
XSoundAliasList mNightVisionWearSound;
XSoundAliasList mNightVisionWearSoundPlayer;
XSoundAliasList mNightVisionRemoveSound;
XSoundAliasList mNightVisionRemoveSoundPlayer;
XSoundAliasList mAltSwitchSound;
XSoundAliasList mAltSwitchSoundPlayer;
XSoundAliasList mRaiseSound;
XSoundAliasList mRaiseSoundPlayer;
XSoundAliasList mFirstRaiseSound;
XSoundAliasList mFirstRaiseSoundPlayer;
XSoundAliasList mPutawaySound;
XSoundAliasList mPutawaySoundPlayer;
XSoundAliasList *mBounceSound;
XFxEffectDef mViewShellEjectEffect;
XFxEffectDef mWorldShellEjectEffect;
XFxEffectDef mViewLastShotEjectEffect;
XFxEffectDef mWorldLastShotEjectEffect;
XMaterial mReticleCenter;
XMaterial mReticleSide;
int mReticleCenterSize;
int mReticleSideSize;
int mReticleMinOfs;
XActiveReticleType mActiveReticleType;
float mStandMove[3];
float mStandRot[3];
float mDuckedOfs[3];
float mDuckedMove[3];
float mDuckedRot[3];
float mProneOfs[3];
float mProneMove[3];
float mProneRot[3];
float mPosMoveRate;
float mPosProneMoveRate;
float mStandMoveMinSpeed;
float mDuckedMoveMinSpeed;
float mProneMoveMinSpeed;
float mPosRotRate;
float mPosProneRotRate;
float mStandRotMinSpeed;
float mDuckedRotMinSpeed;
float mProneRotMinSpeed;
QVector<XModel> mWorldModel;
XModel mWorldClipModel;
XModel mWocketModel;
XModel mKnifeModel;
XModel mWorldKnifeModel;
XMaterial mHudIcon;
XWeaponIconRatioType mHudIconRatio;
XMaterial mAmmoCounterIcon;
XWeaponIconRatioType mAmmoCounterIconRatio;
XAmmoCounterClipType mAmmoCounterClip;
int mStartAmmo;
QString mAmmoName;
int mAmmoIndex;
QString mClipName;
int mClipIndex;
int mMaxAmmo;
int mClipSize;
int mShotCount;
QString mSharedAmmoCapName;
int mSharedAmmoCapIndex;
int mSharedAmmoCap;
int mDamage;
int mPlayerDamage;
int mMeleeDamage;
int mDamageType;
int mFireDelay;
int mMeleeDelay;
int mMeleeChargeDelay;
int mDetonateDelay;
int mFireTime;
int mRechamberTime;
int mRechamberBoltTime;
int mHoldFireTime;
int mDetonateTime;
int mMeleeTime;
int mMeleeChargeTime;
int mReloadTime;
int mReloadShowRocketTime;
int mReloadEmptyTime;
int mReloadAddTime;
int mReloadStartTime;
int mReloadStartAddTime;
int mReloadEndTime;
int mDropTime;
int mRaiseTime;
int mAltDropTime;
int mAltRaiseTime;
int mQuickDropTime;
int mQuickRaiseTime;
int mFirstRaiseTime;
int mEmptyRaiseTime;
int mEmptyDropTime;
int mSprintInTime;
int mSprintLoopTime;
int mSprintOutTime;
int mNightVisionWearTime;
int mNightVisionWearTimeFadeOutEnd;
int mNightVisionWearTimePowerUp;
int mNightVisionRemoveTime;
int mNightVisionRemoveTimePowerDown;
int mNightVisionRemoveTimeFadeInStart;
int mFuseTime;
int mAiFuseTime;
int mRequireLockonToFire;
int mNoAdsWhenMagEmpty;
int mAvoidDropCleanup;
float mAutoAimRange;
float mAimAssistRange;
float mAimAssistRangeAds;
float mAimPadding;
float mEnemyCrosshairRange;
int mCrosshairColorChange;
float mMoveSpeedScale;
float mAdsMoveSpeedScale;
float mSprintDurationScale;
float mAdsZoomFov;
float mAdsZoomInFrac;
float mAdsZoomOutFrac;
XMaterial mOverlayMaterial;
XMaterial mOverlayMaterialLowRes;
XWeaponOverlayReticle mOverlayReticle;
XWeaponOverlayInteface mOverlayInterface;
float mOverlayWidth;
float mOverlayHeight;
float mAdsBobFactor;
float mAdsViewBobMult;
float mHipSpreadStandMin;
float mHipSpreadDuckedMin;
float mHipSpreadProneMin;
float mHipSpreadStandMax;
float mHipSpreadDuckedMax;
float mHipSpreadProneMax;
float mHipSpreadDecayRate;
float mHipSpreadFireAdd;
float mHipSpreadTurnAdd;
float mHipSpreadMoveAdd;
float mHipSpreadDuckedDecay;
float mHipSpreadProneDecay;
float mHipReticleSidePos;
int mAdsTransInTime;
int mAdsTransOutTime;
float mAdsIdleAmount;
float mHipIdleAmount;
float mAdsIdleSpeed;
float mHipIdleSpeed;
float mIdleCrouchFactor;
float mIdleProneFactor;
float mGunMaxPitch;
float mGunMaxYaw;
float mSwayMaxAngle;
float mSwayLerpSpeed;
float mSwayPitchScale;
float mSwayYawScale;
float mSwayHorizScale;
float mSwayVertScale;
float mSwayShellShockScale;
float mAdsSwayMaxAngle;
float mAdsSwayLerpSpeed;
float mAdsSwayPitchScale;
float mAdsSwayYawScale;
float mAdsSwayHorizScale;
float mAdsSwayVertScale;
int mRifleBullet;
int mArmorPiercing;
int mBoltAction;
int mAimDownSight;
int mRechamberWhileAds;
float mAdsViewErrorMin;
float mAdsViewErrorMax;
int mCookOffHold;
int mClipOnly;
int mAdsFireOnly;
int mCancelAutoHolsterWhenEmpty;
int mSuppressAmmoReserveDisplay;
int mEnhanced;
int mLaserSightDuringNightvision;
XMaterial mKillIcon;
XWeaponIconRatioType mKillIconRatio;
int mFlipKillIcon;
XMaterial mDpadIcon;
XWeaponIconRatioType mDpadIconRatio;
int mNoPartialReload;
int mSegmentedReload;
int mReloadAmmoAdd;
int mReloadStartAdd;
QString mAltWeaponName;
uint mAltWeaponIndex;
int mDropAmmoMin;
int mDropAmmoMax;
int mBlocksProne;
int mSilenced;
int mExplosionRadius;
int mExplosionRadiusMin;
int mExplosionInnerDamage;
int mExplosionOuterDamage;
float mDamageConeAngle;
int mProjectileSpeed;
int mProjectileSpeedUp;
int mProjectileSpeedForward;
int mProjectileActivateDist;
float mProjLifetime;
float mTimeToAccelerate;
float mProjectileCurvature;
XModel mProjectileModel;
XWeaponProjExposion mProjExplosion;
XFxEffectDef mProjExplosionEffect;
int mProjExplosionEffectForceNormalUp;
XFxEffectDef mProjDudEffect;
XSoundAliasList mProjExplosionSound;
XSoundAliasList mProjDudSound;
int mProjImpactExplode;
XWeaponStickinessType mStickiness;
int mHasDetonator;
int mTimedDetonation;
int mRotate;
int mHoldButtonToThrow;
int mFreezeMovementWhenFiring;
float mLowAmmoWarningThreshold;
float mParallelBounce[29];
float mPerpendicularBounce[29];
XFxEffectDef mProjTrailEffect;
float mProjectileColor[3];
XGuidedMissileType mGuidedMissileType;
float mMaxSteeringAccel;
int mProjIgnitionDelay;
XFxEffectDef mProjIgnitionEffect;
XSoundAliasList mProjIgnitionSound;
float mAdsAimPitch;
float mAdsCrosshairInFrac;
float mAdsCrosshairOutFrac;
int mAdsGunKickReducedKickBullets;
float mAdsGunKickReducedKickPercent;
float mAdsGunKickPitchMin;
float mAdsGunKickPitchMax;
float mAdsGunKickYawMin;
float mAdsGunKickYawMax;
float mAdsGunKickAccel;
float mAdsGunKickSpeedMax;
float mAdsGunKickSpeedDecay;
float mAdsGunKickStaticDecay;
float mAdsViewKickPitchMin;
float mAdsViewKickPitchMax;
float mAdsViewKickYawMin;
float mAdsViewKickYawMax;
float mAdsViewKickCenterSpeed;
float mAdsViewScatterMin;
float mAdsViewScatterMax;
float mAdsSpread;
int mHipGunKickReducedKickBullets;
float mHipGunKickReducedKickPercent;
float mHipGunKickPitchMin;
float mHipGunKickPitchMax;
float mHipGunKickYawMin;
float mHipGunKickYawMax;
float mHipGunKickAccel;
float mHipGunKickSpeedMax;
float mHipGunKickSpeedDecay;
float mHipGunKickStaticDecay;
float mHipViewKickPitchMin;
float mHipViewKickPitchMax;
float mHipViewKickYawMin;
float mHipViewKickYawMax;
float mHipViewKickCenterSpeed;
float mHipViewScatterMin;
float mHipViewScatterMax;
float mMightDist;
float mMaxDist;
QString mAccuracyGraphName[2];
float mAccuracyGraphKnots[2];
float mOriginalAccuracyGraphKnots[2];
int mAccuracyGraphKnotCount[2];
int mOriginalAccuracyGraphKnotCount[2];
int mPositionReloadTransTime;
float mLeftArc;
float mRightArc;
float mTopArc;
float mBottomArc;
float mAccuracy;
float mAiSpread;
float mPlayerSpread;
float mMinTurnSpeed[2];
float mMaxTurnSpeed[2];
float mPitchConvergenceTime;
float mYawConvergenceTime;
float mSuppressTime;
float mMaxRange;
float mAnimHorRotateInc;
float mPlayerPositionDist;
QString mUseHintString;
QString mDropHintString;
int mUseHintStringIndex;
int mDropHintStringIndex;
float mHorizViewJitter;
float mVertViewJitter;
QString mScript;
float mPosAnimLength[2];
int mMinDamage;
int mMinPlayerDamage;
float mMaxDamageRange;
float mMinDamageRange;
float mDestabilizationRateTime;
float mDestabilizationCurvatureMax;
int mDestabilizeDistance;
float mLocationDamageMultipliers[19];
QString mFireRumble;
QString mMeleeImpactRumble;
float mAdsDofStart;
float mAdsDofEnd;
};
#endif // XWEAPONDEF_H