2025-08-17 13:14:17 -04:00
|
|
|
#ifndef XWEAPONDEF_H
|
|
|
|
|
#define XWEAPONDEF_H
|
|
|
|
|
|
|
|
|
|
#include "xasset.h"
|
2025-09-05 18:35:17 -04:00
|
|
|
#include "xmodel.h"
|
|
|
|
|
#include "xsoundaliaslist.h"
|
|
|
|
|
#include "xweaponenums.h"
|
|
|
|
|
#include "xfxeffectdef.h"
|
2025-08-17 13:14:17 -04:00
|
|
|
|
2025-09-05 18:35:17 -04:00
|
|
|
#include <QVector>
|
2025-08-17 13:14:17 -04:00
|
|
|
|
|
|
|
|
class XWeaponDef : public XAsset
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
explicit XWeaponDef();
|
2025-09-05 18:35:17 -04:00
|
|
|
~XWeaponDef();
|
2025-08-17 13:14:17 -04:00
|
|
|
|
|
|
|
|
void ParseData(QDataStream *aStream) override;
|
2025-09-05 18:35:17 -04:00
|
|
|
void Clear() override;
|
2025-08-17 13:14:17 -04:00
|
|
|
|
|
|
|
|
private:
|
2025-09-05 18:35:17 -04:00
|
|
|
QString mInternalName;
|
|
|
|
|
QString mDisplayName;
|
|
|
|
|
QString mOverlayName;
|
|
|
|
|
QVector<XModel> mGunXModel;
|
|
|
|
|
|
|
|
|
|
XModel mHandXModel;
|
|
|
|
|
QStringList mXAnims;
|
|
|
|
|
QString mModeName;
|
|
|
|
|
|
|
|
|
|
quint16 mHideTags[8];
|
|
|
|
|
quint16 mNotetrackSoundMapKeys[16];
|
|
|
|
|
quint16 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;
|
2025-08-17 13:14:17 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // XWEAPONDEF_H
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|