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
+73
View File
@@ -0,0 +1,73 @@
#ifndef __PREY_MOVER_H__
#define __PREY_MOVER_H__
class hhMover : public idMover {
CLASS_PROTOTYPE( hhMover );
public:
void Spawn();
void BecomeNonSolid();
void Save( idSaveGame *savefile ) const { }
void Restore( idRestoreGame *savefile ) { Spawn(); }
};
class hhMoverWallwalk : public hhMover {
CLASS_PROTOTYPE(hhMoverWallwalk);
public:
void Spawn( void );
void Save( idSaveGame *savefile ) const;
void Restore( idRestoreGame *savefile );
void SetWallWalkable(bool on);
void Think();
protected:
void Event_Activate(idEntity *activator);
protected:
hhHermiteInterpolate<float> alphaOn; // Degree to which wallwalk is on
bool wallwalkOn;
bool flicker;
const idDeclSkin *onSkin;
const idDeclSkin *offSkin;
};
//=============================================================================
class hhExplodeMover : public hhMover {
CLASS_PROTOTYPE( hhExplodeMover );
public:
void Spawn();
void Save( idSaveGame *savefile ) const;
void Restore( idRestoreGame *savefile );
void DoneMoving( void );
float GetMoveDelay( void ) { return moveDelay; }
protected:
void Event_PostSpawn( void );
void Event_Trigger( idEntity *activator );
protected:
int oldContents; // contents before moving (contents are none while moving)
int oldClipMask;
float moveDelay;
};
class hhExplodeMoverOrigin : public idEntity {
CLASS_PROTOTYPE( hhExplodeMoverOrigin );
public:
void Spawn();
protected:
void Event_PostSpawn( void );
void Event_Trigger( idEntity *activator );
};
//=============================================================================
#endif // __PREY_MOVER_H__