Add CGunWeapon

Former-commit-id: edbfd0d305
This commit is contained in:
Henrique Gemignani Passos Lima
2022-11-25 14:41:28 +02:00
parent 0bc3ad810b
commit c7250e132f
38 changed files with 1099 additions and 175 deletions

View File

@@ -30,6 +30,17 @@ struct SShotParam {
, x10_radius(0.f)
, x14_knockback(0.f)
, x18_24_noImmunity(false) {}
SShotParam(float chargeFactor, const SShotParam& other) {
x14_knockback = chargeFactor * other.x14_knockback;
x0_weaponType = other.x0_weaponType;
x10_radius = chargeFactor * other.x10_radius;
x8_damage = chargeFactor * other.x8_damage;
x18_24_noImmunity = false;
*(reinterpret_cast<int*>(this) + 1) = *(reinterpret_cast<const int*>(&other) + 1);
xc_radiusDamage = chargeFactor * other.xc_radiusDamage;
}
explicit SShotParam(CInputStream& in);
};
@@ -77,6 +88,8 @@ public:
const CVector3f& GetGunPosition() const { return x4c_gunPosition; }
const CVector3f& GetGrapplingArmPosition() const { return x64_grapplingArmPosition; }
const SWeaponInfo& GetBeamInfo(int beam) const;
private:
float x4_upLookAngle;
float x8_downLookAngle;