Initial Prey Game integration support.

This commit is contained in:
Justin Marshall
2026-05-05 15:01:01 -07:00
parent a6c6f1ed26
commit 8d5f678b25
552 changed files with 265551 additions and 209 deletions
+63
View File
@@ -0,0 +1,63 @@
#ifndef __HH_WEAPON_SPIRITBOW_H
#define __HH_WEAPON_SPIRITBOW_H
/***********************************************************************
hhWeaponSpiritBow
***********************************************************************/
class hhSpiritBowFireController : public hhWeaponFireController {
CLASS_PROTOTYPE(hhSpiritBowFireController);
public:
int AmmoRequired() const;
virtual const idDict* GetProjectileDict() const;
};
class hhWeaponSpiritBow : public hhWeaponZoomable {
CLASS_PROTOTYPE( hhWeaponSpiritBow );
public:
~hhWeaponSpiritBow();
void Spawn();
bool BowVisionIsEnabled() const { return visionEnabled; }
void BowVisionIsEnabled( bool enabled ) { visionEnabled = enabled; }
void StopBowVision();
virtual void BeginAltAttack( void );
void Save( idSaveGame *savefile ) const;
void Restore( idRestoreGame *savefile );
//rww - network friendliness
virtual void WriteToSnapshot( idBitMsgDelta &msg ) const;
virtual void ReadFromSnapshot( const idBitMsgDelta &msg );
protected:
virtual void Ticker();
hhTargetProxy * GetProxyOf( const idEntity *target );
bool ProxyShouldBeVisible( const idEntity* ent );
ID_INLINE virtual hhWeaponFireController* CreateFireController();
protected:
void Event_StartSeeThroughWalls();
void Event_FadeOutSeeThroughWalls();
void Event_StopSeeThroughWalls();
void Event_UpdateBowVision();
void Event_BowVisionIsEnabled();
protected:
idInterpolate<float> fadeAlpha;
int updateRover;
bool visionEnabled;
};
ID_INLINE hhWeaponFireController* hhWeaponSpiritBow::CreateFireController() {
return new hhSpiritBowFireController;
}
#endif