#ifndef XWEAPONDEF_H #define XWEAPONDEF_H #include "xasset.h" #include "xmodel.h" #include "xsoundaliaslist.h" #include "xweaponenums.h" #include "xfxeffectdef.h" #include class XWeaponDef : public XAsset { public: explicit XWeaponDef(); ~XWeaponDef(); void ParseData(QDataStream *aStream) override; void Clear() override; private: QString mInternalName; QString mDisplayName; QString mOverlayName; QVector 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 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