mirror of
https://github.com/PrimeDecomp/prime.git
synced 2026-07-12 18:18:56 -07:00
CPlayerGun (#43)
* CPlayerGun (not cleaned up yet) * Update tool versions * Cleanup * Cleanup some stuff * Update CBomb ctor symbol in _01
This commit is contained in:
@@ -162,14 +162,14 @@ MetroidPrime/Tweaks/CTweakGame.cpp:
|
||||
.data start:0x803D9CD0 end:0x803D9CE0
|
||||
|
||||
MetroidPrime/Weapons/CGameProjectile.cpp:
|
||||
.text start:0x80037400 end:0x8003A7A4
|
||||
.text start:0x80037400 end:0x8003A820
|
||||
.rodata start:0x803CCE20 end:0x803CCE38
|
||||
.data start:0x803D9CE0 end:0x803D9D50
|
||||
.sdata start:0x805A6DB8 end:0x805A6DE0
|
||||
.sdata2 start:0x805AA120 end:0x805AA168
|
||||
|
||||
MetroidPrime/Player/CPlayerGun.cpp:
|
||||
.text start:0x8003A7A4 end:0x80043DE0
|
||||
.text start:0x8003A820 end:0x80043DE0
|
||||
.ctors start:0x803CB1E0 end:0x803CB1E4
|
||||
.rodata start:0x803CCE38 end:0x803CCEE0
|
||||
.data start:0x803D9D50 end:0x803D9E30
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -2020,7 +2020,7 @@ AddToRenderer__5CBombCFRC14CFrustumPlanesRC13CStateManager = .text:0x800904D0; /
|
||||
Touch__5CBombFR6CActorR13CStateManager = .text:0x80090654; // type:function size:0xC scope:global
|
||||
Explode__5CBombFRC9CVector3fR13CStateManager = .text:0x80090660; // type:function size:0x10C scope:global
|
||||
__dt__5CBombFv = .text:0x8009076C; // type:function size:0xB4 scope:global
|
||||
__ct__5CBombFRC25TToken<15CGenDescription>RC25TToken<15CGenDescription>9TUniqueId7TAreaId9TUniqueIdfRC12CTransform4fRC11CDamageInfo = .text:0x80090820; // type:function size:0x3B0 scope:global
|
||||
__ct__5CBombF25TToken<15CGenDescription>25TToken<15CGenDescription>9TUniqueId7TAreaId9TUniqueIdfRC12CTransform4fRC11CDamageInfo = .text:0x80090820; // type:function size:0x3B0 scope:global
|
||||
__ct__10CTweakBallFR12CInputStream = .text:0x80090BD0; // type:function size:0x620 scope:global
|
||||
__dt__10CTweakBallFv = .text:0x800911F0; // type:function size:0x5C scope:global
|
||||
__dl__24TOneStatic<10CTweakBall>FPv = .text:0x8009124C; // type:function size:0x2C scope:weak
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
#include "MetroidPrime/TGameTypes.hpp"
|
||||
#include "MetroidPrime/Weapons/WeaponTypes.hpp"
|
||||
|
||||
struct SShotParam;
|
||||
class CDamageVulnerability;
|
||||
|
||||
class CDamageInfo {
|
||||
@@ -40,9 +39,6 @@ public:
|
||||
|
||||
CDamageInfo(CInputStream& in);
|
||||
CDamageInfo(const CDamageInfo&, float);
|
||||
CDamageInfo(const SShotParam& other);
|
||||
|
||||
CDamageInfo& operator=(const SShotParam& other);
|
||||
|
||||
const CWeaponMode& GetWeaponMode() const { return x0_weaponMode; }
|
||||
void SetWeaponMode(const CWeaponMode& mode) { x0_weaponMode = mode; }
|
||||
|
||||
@@ -101,6 +101,9 @@ public:
|
||||
bool IsLoaded(int shaderIdx) const;
|
||||
bool IsDefinitelyOpaque(EWhichModel which) const;
|
||||
|
||||
CTransform4f GetLocatorTransformDynamic(const rstl::string& name, const CCharAnimTime* time) const;
|
||||
CTransform4f GetScaledLocatorTransformDynamic(const rstl::string& name,
|
||||
const CCharAnimTime* time) const;
|
||||
CTransform4f GetLocatorTransform(const rstl::string& name) const;
|
||||
CTransform4f GetScaledLocatorTransform(const rstl::string& name) const;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
class CMetroidBeta : public CPatterned {
|
||||
public:
|
||||
void RenderHitBallEffect() const;
|
||||
void RenderHitGunEffect() const;
|
||||
};
|
||||
|
||||
#endif // _CMETROIDBETA
|
||||
|
||||
@@ -337,6 +337,10 @@ public:
|
||||
void UpdateDamageColor(float dt);
|
||||
void UpdateAlphaDelta(float dt, CStateManager& mgr);
|
||||
|
||||
// TODO: names?
|
||||
bool IsMakingBigStrike() const { return x402_28_isMakingBigStrike; }
|
||||
float GetDamageDuration() const { return x504_damageDur; }
|
||||
|
||||
protected:
|
||||
EPatrolState x2d8_patrolState;
|
||||
TUniqueId x2dc_destObj;
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "Kyoto/Animation/CAnimCharacterSet.hpp"
|
||||
#include "Kyoto/Audio/CSfxHandle.hpp"
|
||||
#include "Kyoto/Math/CTransform4f.hpp"
|
||||
#include "MetroidPrime/CEntityInfo.hpp"
|
||||
#include "MetroidPrime/CModelData.hpp"
|
||||
#include "MetroidPrime/Player/CPlayerState.hpp"
|
||||
|
||||
@@ -23,6 +24,8 @@ class CSwooshDescription;
|
||||
class CElementGen;
|
||||
class CParticleSwoosh;
|
||||
class CRainSplashGenerator;
|
||||
class CModelFlags;
|
||||
class CActorLights;
|
||||
|
||||
class CGrappleArm {
|
||||
public:
|
||||
@@ -44,15 +47,25 @@ public:
|
||||
~CGrappleArm();
|
||||
|
||||
void PreRender(CStateManager& mgr, const CFrustumPlanes& frustum, const CVector3f& camPos);
|
||||
void Update(float swingT, float dt, CStateManager& mgr);
|
||||
void EnterFidget(CStateManager& mgr, int a, int b, int c);
|
||||
void EnterFreeLook(int gunId, int setId, CStateManager& mgr);
|
||||
void EnterComboFire(int a, CStateManager& mgr);
|
||||
void ReturnToDefault(CStateManager& mgr, float dt, bool setState);
|
||||
void EnterIdle(CStateManager& mgr);
|
||||
void EnterStruck(CStateManager&, float, bool, bool);
|
||||
void DisconnectGrappleBeam();
|
||||
void RenderGrappleBeam(const CStateManager&, const CVector3f&) const;
|
||||
void AsyncLoadSuit(CStateManager& mgr);
|
||||
void TouchModel(const CStateManager&) const;
|
||||
void Render(const CStateManager&, const CVector3f&, const CModelFlags&, const CActorLights*) const;
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
||||
|
||||
void SetTransform(const CTransform4f& xf) { x220_xf = xf; }
|
||||
CTransform4f GetTransform() const { return x220_xf; }
|
||||
CTransform4f& AuxTransform() { return x2e0_auxXf; }
|
||||
CGunController* GunController() { return x328_gunController.get(); }
|
||||
const CGunController* GetGunController() const { return x328_gunController.get(); }
|
||||
|
||||
EArmState GetAnimState() const { return x334_animState; }
|
||||
void SetAnimState(const EArmState state) { x334_animState = state; }
|
||||
|
||||
@@ -363,6 +363,9 @@ public:
|
||||
TUniqueId GetOrbitTargetId() const { return x310_orbitTargetId; }
|
||||
const CVector3f& GetOrbitPoint() const { return x314_orbitPoint; }
|
||||
TUniqueId GetOrbitNextTargetId() const { return x33c_orbitNextTargetId; }
|
||||
TUniqueId GetAttachedActor() const { return x26c_attachedActor; }
|
||||
bool GetControlsFrozen() const { return x760_controlsFrozen; } // name?
|
||||
float GetDistanceUnderWater() const { return x828_distanceUnderWater; }
|
||||
TUniqueId GetScanningObjectId() const { return x3b4_scanningObject; }
|
||||
EGrappleState GetGrappleState() const { return x3b8_grappleState; }
|
||||
bool IsInFreeLook() const { return x3dc_inFreeLook; }
|
||||
@@ -370,6 +373,7 @@ public:
|
||||
bool GetFreeLookStickState() const { return x3de_lookAnalogHeld; }
|
||||
TUniqueId GetAimTargetId() const { return x3f4_aimTarget; }
|
||||
EPlayerCameraState GetCameraState() const { return x2f4_cameraState; }
|
||||
TUniqueId GetRidingPlatformId() const { return x82e_ridingPlatform; }
|
||||
void SetCameraState(EPlayerCameraState state, CStateManager& mgr);
|
||||
EGunHolsterState GetGunHolsterState() const { return x498_gunHolsterState; }
|
||||
NPlayer::EPlayerMovementState GetPlayerMovementState() const { return x258_movementState; }
|
||||
@@ -378,6 +382,7 @@ public:
|
||||
const CVector3f& GetAssistedTargetAim() const { return x480_assistedTargetAim; }
|
||||
// CPlayer::GetFlipSpiderBallControlY() const weak
|
||||
// CPlayer::GetFlipSpiderBallControlX() const weak
|
||||
float GetDeathTime() const { return x9f4_deathTime; } // name?
|
||||
|
||||
bool IsInsideFluid() const { return x9c4_31_inWaterMovement; }
|
||||
|
||||
@@ -393,6 +398,7 @@ public:
|
||||
float GetGravity() const;
|
||||
|
||||
float GetAttachedActorStruggle() const;
|
||||
const CPlayerEnergyDrain& GetPlayerEnergyDrain() const { return x274_energyDrain; }
|
||||
float GetGunAlpha() const { return x494_gunAlpha; }
|
||||
void SetAttachedActorStruggle(float struggle) { xa28_attachedActorStruggle = struggle; }
|
||||
|
||||
|
||||
@@ -173,14 +173,46 @@ public:
|
||||
void SetPhazonBeamFeedback(bool);
|
||||
void SetAssistAimTransform(const CTransform4f& xf) { x478_assistAimXf = xf; }
|
||||
|
||||
CTransform4f GetTransform() const { return x3e8_xf; }
|
||||
float GetChargeBeamFactor() const { return x834_24_charging ? x340_chargeBeamFactor : 0.f; }
|
||||
EChargeState GetChargeState() const { return x330_chargeState; }
|
||||
CPlayerState::EBeamId GetPrimaryWeaponId() const { return x310_currentBeam; }
|
||||
CPlayerState::EBeamId GetPrimaryDestWeaponId() const { return x314_nextBeam; }
|
||||
uint GetSecondaryItemId() const { return x318_comboAmmoIdx; }
|
||||
int GetBombsPending() const { return x308_bombCount; }
|
||||
uint GetFiring() const { return x2ec_lastFireButtonStates; }
|
||||
float GetHoloTransitionFactor() const { return x678_morph.GetTransitionFactor(); }
|
||||
TUniqueId GetPowerBombId() const { return x53a_powerBomb; }
|
||||
|
||||
static float GetTractorBeamFactor() { return kTractorBeamFactor; }
|
||||
static const CVector3f& GetGunScale() { return kScaleVector; }
|
||||
|
||||
int GetStateFlags() const { return x2f8_stateFlags; }
|
||||
void SetStateFlags(int flags) { x2f8_stateFlags = flags; }
|
||||
bool IsWeaponStateSet(int state) const { return (x2f8_stateFlags & state) == state; }
|
||||
void EnableWeaponState(int state) { x2f8_stateFlags |= state; }
|
||||
void DisableWeaponState(int state) { x2f8_stateFlags &= ~state; }
|
||||
void ResetToBeam() {
|
||||
if (!IsWeaponStateSet(0x8)) {
|
||||
EnableWeaponState(0x1);
|
||||
DisableWeaponState(0x16);
|
||||
}
|
||||
x318_comboAmmoIdx = 0;
|
||||
x31c_missileMode = kMM_Inactive;
|
||||
}
|
||||
void ResetToMissile() {
|
||||
DisableWeaponState(0x1);
|
||||
EnableWeaponState(0x6);
|
||||
x318_comboAmmoIdx = 1;
|
||||
x31c_missileMode = kMM_Active;
|
||||
}
|
||||
bool CanCycleShoot() const {
|
||||
return x32c_chargePhase == kCP_NotCharging && int(x318_comboAmmoIdx) != 1;
|
||||
}
|
||||
bool IsCharging() const { return x834_24_charging; }
|
||||
void SetTransform(CTransform4f xf) { x3e8_xf = xf; }
|
||||
CTransform4f GetGunMotionTransform() const { return x4a8_gunWorldXf; }
|
||||
CGrappleArm& GrappleArm() { return *x740_grappleArm.get(); }
|
||||
CGrappleArm& GetGrappleArm() const { return *x740_grappleArm.get(); }
|
||||
bool IsFidgeting() const { return x833_24_notFidgeting; }
|
||||
|
||||
@@ -285,10 +317,10 @@ private:
|
||||
uint x2f4_fireButtonStates;
|
||||
// 0x1: beam mode, 0x2: missile mode, 0x4: missile ready, 0x8: morphing, 0x10: combo fire
|
||||
int x2f8_stateFlags;
|
||||
uint x2fc_fidgetAnimBits;
|
||||
int x2fc_fidgetAnimBits;
|
||||
uint x300_remainingMissiles;
|
||||
uint x304_;
|
||||
uint x308_bombCount;
|
||||
int x308_bombCount;
|
||||
uint x30c_rapidFireShots;
|
||||
CPlayerState::EBeamId x310_currentBeam;
|
||||
CPlayerState::EBeamId x314_nextBeam;
|
||||
@@ -296,7 +328,7 @@ private:
|
||||
EMissileMode x31c_missileMode;
|
||||
CPlayerState::EBeamId x320_currentAuxBeam;
|
||||
EIdleState x324_idleState;
|
||||
float x328_animSfxPitch;
|
||||
int x328_animSfxPitch;
|
||||
EChargePhase x32c_chargePhase;
|
||||
EChargeState x330_chargeState;
|
||||
uint x334_;
|
||||
|
||||
@@ -74,6 +74,7 @@ public:
|
||||
bool IsRider(TUniqueId id) const;
|
||||
bool IsSlave(TUniqueId id) const;
|
||||
void BuildSlaveList(CStateManager& mgr);
|
||||
void AddSlave(TUniqueId id, CStateManager& mgr);
|
||||
|
||||
rstl::vector< SRiders >& GetStaticSlaves() { return x328_slavesStatic; }
|
||||
rstl::vector< SRiders >& GetDynamicSlaves() { return x338_slavesDynamic; }
|
||||
|
||||
@@ -3,67 +3,24 @@
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "MetroidPrime/CDamageInfo.hpp"
|
||||
#include "MetroidPrime/Tweaks/ITweakObject.hpp"
|
||||
|
||||
#include "Kyoto/Math/CVector3f.hpp"
|
||||
#include "Kyoto/TOneStatic.hpp"
|
||||
|
||||
#include "rstl/reserved_vector.hpp"
|
||||
|
||||
struct SShotParam {
|
||||
uint x0_weaponType;
|
||||
bool x4_24_charged : 1;
|
||||
bool x4_25_combo : 1;
|
||||
bool x4_26_instaKill : 1;
|
||||
float x8_damage;
|
||||
float xc_radiusDamage;
|
||||
float x10_radius;
|
||||
float x14_knockback;
|
||||
bool x18_24_noImmunity : 1;
|
||||
|
||||
SShotParam()
|
||||
: x0_weaponType(-1)
|
||||
, x4_24_charged(false)
|
||||
, x4_25_combo(false)
|
||||
, x4_26_instaKill(false)
|
||||
, x8_damage(0.f)
|
||||
, xc_radiusDamage(0.f)
|
||||
, 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);
|
||||
};
|
||||
|
||||
struct SComboShotParam : SShotParam {
|
||||
SComboShotParam() { x4_25_combo = true; }
|
||||
explicit SComboShotParam(CInputStream& in) : SShotParam(in) { x4_25_combo = true; }
|
||||
};
|
||||
|
||||
struct SChargedShotParam : SShotParam {
|
||||
SChargedShotParam() { x4_24_charged = true; }
|
||||
explicit SChargedShotParam(CInputStream& in) : SShotParam(in) { x4_24_charged = true; }
|
||||
};
|
||||
|
||||
struct SWeaponInfo {
|
||||
float x0_coolDown;
|
||||
SShotParam x4_normal;
|
||||
SChargedShotParam x20_charged;
|
||||
CDamageInfo x4_normal;
|
||||
CDamageInfo x20_charged;
|
||||
|
||||
SWeaponInfo() : x0_coolDown(0.1f) {}
|
||||
explicit SWeaponInfo(CInputStream& in);
|
||||
};
|
||||
|
||||
class CTweakPlayerGun : public ITweakObject, public TOneStatic<CTweakPlayerGun> {
|
||||
class CTweakPlayerGun : public ITweakObject, public TOneStatic< CTweakPlayerGun > {
|
||||
public:
|
||||
CTweakPlayerGun(CInputStream& in);
|
||||
~CTweakPlayerGun() override;
|
||||
@@ -91,6 +48,8 @@ public:
|
||||
|
||||
const SWeaponInfo& GetBeamInfo(int beam) const;
|
||||
|
||||
const CDamageInfo& GetBombInfo() const { return x70_bomb; }
|
||||
|
||||
// private:
|
||||
float x4_upLookAngle;
|
||||
float x8_downLookAngle;
|
||||
@@ -113,12 +72,11 @@ public:
|
||||
CVector3f x4c_gunPosition;
|
||||
CVector3f x58_;
|
||||
CVector3f x64_grapplingArmPosition;
|
||||
SShotParam x70_bomb;
|
||||
SShotParam x8c_powerBomb;
|
||||
SShotParam x1d4_missile;
|
||||
CDamageInfo x70_bomb;
|
||||
CDamageInfo x8c_powerBomb;
|
||||
CDamageInfo x1d4_missile;
|
||||
SWeaponInfo xa8_beams[5];
|
||||
rstl::reserved_vector< SShotParam, 5 >
|
||||
x1f0_combos; // Originally rstl::reserved_vector<SShotParam,5>
|
||||
rstl::reserved_vector< CDamageInfo, 5 > x1f0_combos;
|
||||
rstl::reserved_vector< float, 5 > x280_ricochetData;
|
||||
};
|
||||
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "MetroidPrime/CEntityInfo.hpp"
|
||||
#include "MetroidPrime/Player/CPlayerState.hpp"
|
||||
#include "MetroidPrime/TGameTypes.hpp"
|
||||
#include "MetroidPrime/Weapons/WeaponCommon.hpp"
|
||||
|
||||
class CWeaponDescription;
|
||||
class CGenDescription;
|
||||
@@ -14,6 +17,19 @@ public:
|
||||
CAuxWeapon(TUniqueId playerId);
|
||||
|
||||
bool IsComboFxActive(const CStateManager& mgr) const;
|
||||
bool UpdateComboFx(float dt, const CVector3f& scale, const CVector3f& firePos,
|
||||
const CTransform4f& targetXf, CStateManager& mgr);
|
||||
TUniqueId HasTarget(const CStateManager& mgr) const;
|
||||
void SetNewTarget(TUniqueId target, CStateManager& mgr);
|
||||
void StopComboFx(CStateManager& mgr, bool deactivate);
|
||||
void Load(int curBeam, CStateManager& mgr);
|
||||
void Fire(float dt, bool underwater, CPlayerState::EBeamId currentBeam,
|
||||
CPlayerState::EChargeStage chargeState, const CTransform4f& xf, CStateManager& mgr,
|
||||
EWeaponType type, TUniqueId homingId);
|
||||
void RenderMuzzleFx() const;
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
||||
|
||||
bool IsLoaded() const { return x80_24_isLoaded; }
|
||||
|
||||
private:
|
||||
TCachedToken< CWeaponDescription > x0_missile;
|
||||
|
||||
@@ -9,8 +9,8 @@ class CElementGen;
|
||||
class CGenDescription;
|
||||
class CBomb : public CWeapon {
|
||||
public:
|
||||
CBomb(const TToken< CGenDescription >& particle1, const TToken< CGenDescription >& particle2,
|
||||
TUniqueId uid, TAreaId aid, TUniqueId playerId, float f1, const CTransform4f& xf,
|
||||
CBomb(TToken< CGenDescription > particle1, TToken< CGenDescription > particle2, TUniqueId uid,
|
||||
TAreaId aid, TUniqueId playerId, float f1, const CTransform4f& xf,
|
||||
const CDamageInfo& dInfo);
|
||||
~CBomb();
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@ class CTransform4f;
|
||||
class CModelFlags;
|
||||
class CActorLights;
|
||||
class SWeaponInfo;
|
||||
class SShotParam;
|
||||
|
||||
enum EFrozenFxType {
|
||||
kFFT_None,
|
||||
@@ -59,6 +58,7 @@ private:
|
||||
};
|
||||
|
||||
class CGunWeapon {
|
||||
friend class CPlayerGun;
|
||||
|
||||
public:
|
||||
CGunWeapon(CAssetId ancsId, EWeaponType type, TUniqueId playerId, EMaterialTypes playerMaterial,
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
|
||||
// Virtual Methods
|
||||
virtual void Reset(CStateManager& mgr);
|
||||
virtual void PlayAnim(const NWeaponTypes::EGunAnimType type, const bool loop);
|
||||
virtual void PlayAnim(const NWeaponTypes::EGunAnimType type, bool loop);
|
||||
virtual void PreRenderGunFx(const CStateManager& mgr, const CTransform4f& xf);
|
||||
virtual void PostRenderGunFx(const CStateManager& mgr, const CTransform4f& xf);
|
||||
virtual void UpdateGunFx(const bool shotSmoke, const float dt, const CStateManager& mgr,
|
||||
@@ -124,7 +124,7 @@ public:
|
||||
|
||||
CDamageInfo GetDamageInfo(CStateManager& mgr, CPlayerState::EChargeStage chargeState,
|
||||
float chargeFactor);
|
||||
CDamageInfo GetShotDamageInfo(const SShotParam& shotParam, CStateManager& mgr) const;
|
||||
CDamageInfo GetShotDamageInfo(const CDamageInfo& shotParam, CStateManager& mgr) const;
|
||||
|
||||
static const char* GetMuzzleLocator() { return skMuzzleLocator; }
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
#include <types.h>
|
||||
|
||||
class CPhazonBeam : public CGunWeapon {
|
||||
friend class CPlayerGun;
|
||||
|
||||
public:
|
||||
CPhazonBeam(CAssetId characterId, EWeaponType type, TUniqueId playerId,
|
||||
EMaterialTypes playerMaterial, const CVector3f& scale);
|
||||
@@ -34,7 +36,7 @@ public:
|
||||
void Unload(CStateManager& mgr) override;
|
||||
bool IsLoaded() const override;
|
||||
void CreateBeam(CStateManager& mgr);
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId sender, CStateManager& mgr);
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
||||
|
||||
private:
|
||||
TToken< CModel > mVeins;
|
||||
|
||||
@@ -55,9 +55,12 @@ public:
|
||||
TUniqueId GetOwnerId() const { return xec_ownerId; }
|
||||
EWeaponType GetType() const { return xf0_weaponType; }
|
||||
CMaterialFilter GetFilter() const { return xf8_filter; }
|
||||
|
||||
// TODO: names?
|
||||
CDamageInfo& OrigDamageInfo() { return x110_origDamageInfo; }
|
||||
CDamageInfo& CurrentDamageInfo() { return x12c_curDamageInfo; }
|
||||
const CDamageInfo& GetCurrentDamageInfo() const { return x12c_curDamageInfo; }
|
||||
float GetDamageDuration() const { return x150_damageDuration; }
|
||||
float GetInterferenceDuration() const { return x154_interferenceDuration; }
|
||||
|
||||
void SetOwnerId(TUniqueId id) { xec_ownerId = id; }
|
||||
|
||||
@@ -48,6 +48,8 @@ public:
|
||||
|
||||
CModelData& GetModelData() { return x0_modelData; }
|
||||
const CModelData& GetModelData() const { return x0_modelData; }
|
||||
CGunController& GunController() { return x4c_gunController; }
|
||||
const CGunController& GunController() const { return x4c_gunController; }
|
||||
bool IsAnimPlaying() const { return xb8_24_animPlaying; }
|
||||
|
||||
private:
|
||||
|
||||
@@ -11,6 +11,8 @@ class CSfxHandle;
|
||||
class CAnimData;
|
||||
class CStateManager;
|
||||
class CPrimitive;
|
||||
class CVector3f;
|
||||
struct TAreaId;
|
||||
|
||||
namespace NWeaponTypes {
|
||||
|
||||
@@ -29,6 +31,10 @@ enum EGunAnimType {
|
||||
};
|
||||
|
||||
CSfxHandle play_sfx(const ushort sfx, const bool underwater, const bool looped, const short pan);
|
||||
void do_sound_event(rstl::pair< u16, CSfxHandle >& sfxHandle, int& pitch, bool doPitchBend,
|
||||
uint soundId, float weight, uint flags, float falloff, float maxDist,
|
||||
uchar minVol, uchar maxVol, const CVector3f& posToCam, const CVector3f& pos,
|
||||
TAreaId aid, CStateManager& mgr);
|
||||
|
||||
void primitive_set_to_token_vector(const CAnimData& animData,
|
||||
const rstl::set< CPrimitive >& primSet,
|
||||
|
||||
@@ -23,8 +23,8 @@ enum EWeaponType {
|
||||
|
||||
class CWeaponMode {
|
||||
public:
|
||||
explicit CWeaponMode(const EWeaponType type = kWT_None, const bool charged = false,
|
||||
const bool comboed = false, const bool instaKill = false)
|
||||
CWeaponMode(const EWeaponType type = kWT_None, const bool charged = false,
|
||||
const bool comboed = false, const bool instaKill = false)
|
||||
: x0_weaponType(type)
|
||||
, x4_24_charged(charged)
|
||||
, x4_25_comboed(comboed)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user