Files
DoomRTX/neo/prey/Prey/game_entityfx.h
T
2026-05-05 15:01:01 -07:00

62 lines
1.8 KiB
C++

#ifndef __HH_ENTITY_FX_H
#define __HH_ENTITY_FX_H
class hhEntityFx : public idEntityFx {
CLASS_PROTOTYPE( hhEntityFx );
public:
hhEntityFx();
virtual ~hhEntityFx();
void Save( idSaveGame *savefile ) const;
void Restore( idRestoreGame *savefile );
//HUMANHEAD rww
virtual void WriteToSnapshot( idBitMsgDelta &msg ) const;
virtual void ReadFromSnapshot( const idBitMsgDelta &msg );
//HUMANHEAD END
virtual void Run( int time );
// HUMANHEAD nla
void SetUseAxis( fxAxis theAxis ) { };
void SetFxInfo( const hhFxInfo &i ) { fxInfo = i; setFxInfo = true; removeWhenDone = fxInfo.RemoveWhenDone(); GetRenderEntity()->weaponDepthHack = fxInfo.UseWeaponDepthHack(); }
bool RemoveWhenDone() { return( removeWhenDone ); }
void RemoveWhenDone( bool remove ) { removeWhenDone = remove; }
void Toggle() { Nozzle( !IsActive(TH_THINK) ); }
void Nozzle( bool bOn );
idMat3 DetermineAxis( const idFXSingleAction& fxaction );
void CreateFx( idEntity *activator );
virtual void Hide();
static hhEntityFx *StartFx( const char *fx, const idVec3 *useOrigin, const idMat3 *useAxis, idEntity *ent, bool bind );
void SetParticleShaderParm( int parmnum, float value );
// HUMANHEAD END
protected:
virtual void CleanUpSingleAction( const idFXSingleAction& fxaction, idFXLocalAction& laction );
virtual void DormantBegin();
virtual void DormantEnd();
protected:
void Event_Trigger( idEntity *activator );
void Event_ClearFx( void );
protected:
// HUMANHEAD nla
enum fxAxis { AXIS_CURRENT, AXIS_NORMAL, AXIS_BOUNCE, AXIS_INCOMING, AXIS_CUSTOMLOCAL };
// HUMANHEAD END
// HUMANHEAD
hhFxInfo fxInfo;
bool setFxInfo;
bool removeWhenDone;
// HUMANHEAD END
// HUMANHEAD bg
bool restartActive;
// HUMANHEAD END
};
#endif