mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-20 12:40:25 +02:00
Initial Prey Game integration support.
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
#ifndef __PREY_GAME_H
|
||||
#define __PREY_GAME_H
|
||||
|
||||
class hhReactionHandler;
|
||||
class hhSunCorona; // CJR
|
||||
class hhHand;
|
||||
class hhAIInspector;
|
||||
|
||||
#ifdef GAME_DLL
|
||||
extern idCVar com_forceGenericSIMD;
|
||||
#endif
|
||||
|
||||
//HUMANHEAD: aob - needed for networking to send the least amount of bits
|
||||
extern const int DECL_MAX_TYPES_NUM_BITS;
|
||||
//HUMANHEAD END
|
||||
|
||||
class hhGameLocal : public idGameLocal {
|
||||
public:
|
||||
virtual void Init( void );
|
||||
virtual void Shutdown( void );
|
||||
void UnregisterEntity( idEntity *ent );
|
||||
|
||||
virtual void MapShutdown( void );
|
||||
virtual void InitFromNewMap( const char *mapName, idRenderWorld *renderWorld, idSoundWorld *soundWorld, bool isServer, bool isClient, int randseed );
|
||||
virtual void RadiusDamage( const idVec3 &origin, idEntity *inflictor, idEntity *attacker, idEntity *ignoreDamage, idEntity *ignorePush, const char *damageDefName, float dmgPower = 1.0f );// jrm
|
||||
virtual void RadiusPush( const idVec3 &origin, const float radius, const float push, const idEntity *inflictor, const idEntity *ignore, float inflictorScale, const bool quake );
|
||||
//HUMANHEAD rww
|
||||
virtual void LogitechLCDUpdate(void);
|
||||
//HUMANHEAD END
|
||||
virtual gameReturn_t RunFrame( const usercmd_t *clientCmds );
|
||||
virtual void CacheDictionaryMedia( const idDict *dict );
|
||||
virtual bool Draw( int clientNum );
|
||||
|
||||
// added functionality functions
|
||||
void RegisterTalonTarget( idEntity *ent );
|
||||
idEntity* SpawnClientObject( const char* objectName, idDict* additionalArgs ); //rww
|
||||
idEntity* SpawnObject( const char* objectName, idDict* additionalArgs = NULL );
|
||||
|
||||
void GetTip(const char *binding, idStr &keyMaterialString, idStr &keyString, bool &isWide);
|
||||
bool SetTip(idUserInterface* gui, const char *binding, const char *tip, const char *topMaterial = NULL, const char *overrideMaterial = NULL, const char *prefix = NULL);
|
||||
void SetSunCorona( hhSunCorona *ent ) { sunCorona = ent; } // CJR
|
||||
hhSunCorona * GetSunCorona( void ) { return sunCorona; } // CJR
|
||||
idEntity * FindEntityOfType(const idTypeInfo &type, idEntity *last);
|
||||
|
||||
// nla
|
||||
idDict & GetSpawnArgs() { return( spawnArgs ); };
|
||||
hhReactionHandler* GetReactionHandler() { return reactionHandler; }
|
||||
float GetTimeScale() const;
|
||||
const idVec3& GetGravityNormal() { gravityNormal = gravity; gravityNormal.Normalize(); return gravityNormal; }
|
||||
int SimpleMonstersWithinRadius( const idVec3 org, float radius, idAI **monstList, int maxCount = MAX_GENTITIES ) const;
|
||||
|
||||
void SendMessageAI( const idEntity* entity, const idVec3& origin, float radius, const idEventDef& message );
|
||||
|
||||
const char* MatterTypeToMatterName( surfTypes_t type ) const;
|
||||
const char* MatterTypeToMatterKey( const char* prefix, surfTypes_t type ) const;
|
||||
surfTypes_t MatterNameToMatterType( const char* name ) const;
|
||||
surfTypes_t GetMatterType( const trace_t& trace, const char* descriptor = "impact" ) const;
|
||||
surfTypes_t GetMatterType( const idEntity *ent, const idMaterial *material, const char* descriptor = "impact" ) const;
|
||||
|
||||
class hhDDAManager* GetDDA() { return ddaManager; }
|
||||
|
||||
bool IsLOTA() { return bIsLOTA; }
|
||||
void AlertAI( idEntity *ent );
|
||||
void AlertAI( idEntity *ent, float radius );
|
||||
|
||||
// Special case, these must be virtual -mdl
|
||||
virtual void Save( idSaveGame *savefile ) const;
|
||||
virtual void Restore( idRestoreGame *savefile );
|
||||
|
||||
float GetDDAValue( void );
|
||||
|
||||
void ClearStaticData( void );
|
||||
|
||||
float TimeBasedRandomFloat(void); //HUMANHEAD rww
|
||||
|
||||
#if _HH_INLINED_PROC_CLIPMODELS
|
||||
virtual void CreateInlinedProcClip(idEntity *clipOwner); //HUMANHEAD rww
|
||||
#endif
|
||||
|
||||
virtual bool PlayerIsDeathwalking( void );
|
||||
|
||||
idList<idEntity*> talonTargets;
|
||||
float lastAIAlertRadius;
|
||||
|
||||
idList< idEntityPtr< hhHand > > hands;
|
||||
|
||||
idEntityPtr<hhAIInspector> inspector;
|
||||
|
||||
protected:
|
||||
#if DEATHWALK_AUTOLOAD
|
||||
virtual void SpawnAppendedMapEntities();
|
||||
#endif
|
||||
virtual bool InhibitEntitySpawn( idDict &spawnArgs ); // HUMANHEAD mdl
|
||||
|
||||
protected:
|
||||
virtual void SpawnMapEntities( void ); // JRM
|
||||
idClipModel * dwWorldClipModel;
|
||||
#if _HH_INLINED_PROC_CLIPMODELS
|
||||
idList<idClipModel *> inlinedProcClipModels; //HUMANHEAD rww - chopped geometry grabbed from proc and turned into clipmodel data
|
||||
#endif
|
||||
|
||||
idVec3 gravityNormal;
|
||||
|
||||
hhSunCorona *sunCorona; // CJR
|
||||
|
||||
//HUMANHEAD rww - moved this down, it is using mixed memory inside and outside the managed heap as is, very messy.
|
||||
//class hhDDAManager* ddaManager;
|
||||
//HUMANHEAD END
|
||||
|
||||
bool bIsLOTA; // CJR: If true, this map is a LOTA map
|
||||
|
||||
idList<idClipModel *> staticClipModels; // HUMANHEAD mdl: For inlined static clip models
|
||||
idList<renderEntity_t *> staticRenderEntities; // HUMANHEAD mdl: For inlined static models
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user