summaryrefslogtreecommitdiffstats
path: root/src/weapons/WeaponInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/weapons/WeaponInfo.h')
-rw-r--r--src/weapons/WeaponInfo.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/weapons/WeaponInfo.h b/src/weapons/WeaponInfo.h
new file mode 100644
index 00000000..34790565
--- /dev/null
+++ b/src/weapons/WeaponInfo.h
@@ -0,0 +1,45 @@
+#pragma once
+#include "common.h"
+#include "Weapon.h"
+#include "AnimManager.h"
+
+class CWeaponInfo {
+public:
+ eWeaponFire m_eWeaponFire;
+ float m_fRange;
+ uint32 m_nFiringRate;
+ uint32 m_nReload;
+ uint32 m_nAmountofAmmunition;
+ uint32 m_nDamage;
+ float m_fSpeed;
+ float m_fRadius;
+ float m_fLifespan;
+ float m_fSpread;
+ CVector m_vecFireOffset;
+ AnimationId m_AnimToPlay;
+ AnimationId m_Anim2ToPlay;
+ float m_fAnimLoopStart;
+ float m_fAnimLoopEnd;
+ float m_fAnimFrameFire;
+ float m_fAnim2FrameFire;
+ int32 m_nModelId;
+ // flags
+ uint8 m_bUseGravity : 1;
+ uint8 m_bSlowsDown : 1;
+ uint8 m_bDissipates : 1;
+ uint8 m_bRandSpeed : 1;
+ uint8 m_bExpands : 1;
+ uint8 m_bExplodes : 1;
+ uint8 m_bCanAim : 1;
+ uint8 m_bCanAimWithArm : 1;
+ uint8 m_b1stPerson : 1;
+ uint8 m_bHeavy : 1;
+ uint8 m_bThrow : 1;
+ uint8 stuff;
+
+ static CWeaponInfo (&ms_apWeaponInfos)[14];
+
+ static CWeaponInfo *GetWeaponInfo(eWeaponType weaponType);
+};
+
+static_assert(sizeof(CWeaponInfo) == 0x54, "CWeaponInfo: error"); \ No newline at end of file