mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-23 05:56:39 +02:00
All Doom 3 AI is now native.
This commit is contained in:
+54
-1
@@ -155,6 +155,7 @@ extern const idEventDef AI_TriggerParticles;
|
||||
extern const idEventDef AI_RandomPath;
|
||||
|
||||
class idPathCorner;
|
||||
class rvmAIObject;
|
||||
|
||||
typedef struct particleEmitter_s {
|
||||
particleEmitter_s() {
|
||||
@@ -199,6 +200,8 @@ public:
|
||||
|
||||
class idAI : public idActor {
|
||||
public:
|
||||
friend class rvmAIObject;
|
||||
|
||||
CLASS_PROTOTYPE(idAI);
|
||||
|
||||
idAI();
|
||||
@@ -231,7 +234,7 @@ public:
|
||||
// Finds the best collision free trajectory for a clip model.
|
||||
static bool PredictTrajectory(const idVec3& firePos, const idVec3& target, float projectileSpeed, const idVec3& projGravity, const idClipModel* clip, int clipmask, float max_height, const idEntity* ignore, const idEntity* targetEntity, int drawtime, idVec3& aimDir);
|
||||
|
||||
protected:
|
||||
public:
|
||||
// navigation
|
||||
idNAV* aas;
|
||||
int travelFlags;
|
||||
@@ -374,6 +377,10 @@ protected:
|
||||
idScriptBool AI_HIT_ENEMY;
|
||||
idScriptBool AI_PUSHED;
|
||||
|
||||
// native DoomScript replacement object. Created from the entityDef/spawnArg "nativeobject" key.
|
||||
rvmAIObject* nativeAIObject;
|
||||
idStr nativeAIObjectName;
|
||||
|
||||
//
|
||||
// ai/ai.cpp
|
||||
//
|
||||
@@ -483,6 +490,12 @@ protected:
|
||||
|
||||
// AI script state management
|
||||
void LinkScriptVariables(void);
|
||||
|
||||
void InitNativeAIObject(void);
|
||||
void ShutdownNativeAIObject(void);
|
||||
static rvmAIObject* CreateNativeAIObject(const char* nativeObjectName);
|
||||
rvmAIObject* GetNativeAIObject(void) const;
|
||||
const char* GetNativeAIObjectName(void) const;
|
||||
void UpdateAIScript(void);
|
||||
|
||||
//
|
||||
@@ -770,4 +783,44 @@ private:
|
||||
};
|
||||
|
||||
|
||||
#include "AI_base.h"
|
||||
#include "AI_monster_base.h"
|
||||
|
||||
#include "AI_monster_zombie_base.h"
|
||||
#include "AI_monster_zombie.h"
|
||||
#include "AI_monster_zombie_bernie.h"
|
||||
#include "AI_monster_zombie_morgue.h"
|
||||
#include "AI_monster_zombie_sawyer.h"
|
||||
#include "AI_monster_zombie_commando_tentacle.h"
|
||||
#include "AI_monster_zombie_commando_cgun.h"
|
||||
#include "AI_monster_zombie_security_pistol.h"
|
||||
|
||||
#include "AI_character.h"
|
||||
#include "AI_character_prone.h"
|
||||
#include "AI_follower.h"
|
||||
#include "AI_character_sentry.h"
|
||||
#include "AI_alphalabs2_scientist1.h"
|
||||
|
||||
#include "AI_monster_demon_pinky.h"
|
||||
#include "AI_monster_demon_imp.h"
|
||||
#include "AI_monster_demon_vulgar.h"
|
||||
#include "AI_monster_demon_revenant.h"
|
||||
#include "AI_monster_demon_hellknight.h"
|
||||
#include "AI_monster_demon_maggot.h"
|
||||
#include "AI_monster_demon_cherub.h"
|
||||
#include "AI_monster_demon_trite.h"
|
||||
#include "AI_monster_demon_wraith.h"
|
||||
#include "AI_monster_demon_mancubus.h"
|
||||
#include "AI_monster_demon_archvile.h"
|
||||
|
||||
#include "AI_monster_flying_cacodemon.h"
|
||||
#include "AI_monster_flying_lostsoul.h"
|
||||
#include "AI_monster_turret.h"
|
||||
|
||||
#include "AI_monster_boss_cyberdemon.h"
|
||||
#include "AI_monster_boss_vagary.h"
|
||||
#include "AI_monster_boss_sabaoth.h"
|
||||
#include "AI_monster_boss_guardian.h"
|
||||
#include "AI_monster_boss_guardian_seeker.h"
|
||||
|
||||
#endif /* !__AI_H__ */
|
||||
|
||||
Reference in New Issue
Block a user