diff options
Diffstat (limited to 'Stars45/ShipAI.h')
-rw-r--r-- | Stars45/ShipAI.h | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/Stars45/ShipAI.h b/Stars45/ShipAI.h deleted file mode 100644 index 610a5a9..0000000 --- a/Stars45/ShipAI.h +++ /dev/null @@ -1,152 +0,0 @@ -/* Starshatter: The Open Source Project - Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors - Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors - Copyright (c) 1997-2006, Destroyer Studios LLC. - - AUTHOR: John DiCamillo - - - OVERVIEW - ======== - Common base class and interface for low-level ship AI -*/ - -#ifndef ShipAI_h -#define ShipAI_h - -#include "Types.h" -#include "SteerAI.h" - -// +--------------------------------------------------------------------+ - -class Ship; -class Shot; -class Instruction; -class TacticalAI; -class Farcaster; - -// +--------------------------------------------------------------------+ - -class ShipAI : public SteerAI -{ -public: - ShipAI(SimObject* s); - virtual ~ShipAI(); - - virtual void ExecFrame(double seconds); - virtual int Subframe() const { return true; } - - virtual Ship* GetShip() const { return ship; } - - virtual Ship* GetWard() const; - virtual void SetWard(Ship* s); - virtual Ship* GetThreat() const { return threat; } - virtual void SetThreat(Ship* s); - virtual Ship* GetSupport() const { return support; } - virtual void SetSupport(Ship* s); - virtual Ship* GetRumor() const { return rumor; } - virtual void SetRumor(Ship* s); - virtual Shot* GetThreatMissile() const { return threat_missile; } - virtual void SetThreatMissile(Shot* s); - virtual Instruction* GetNavPoint() const { return navpt; } - virtual void SetNavPoint(Instruction* n) { navpt = n; } - virtual Point GetPatrol() const; - virtual void SetPatrol(const Point& p); - virtual void ClearPatrol(); - virtual void ClearRumor(); - virtual void ClearTactical(); - - virtual Farcaster* GetFarcaster() { return farcaster; } - - // convert the goal point from world to local coords: - virtual void FindObjective(); - - virtual void Splash(const Ship* targ); - virtual void SetTarget(SimObject* targ, System* sub=0); - virtual void DropTarget(double drop_time=1.5); - virtual double DropTime() const { return drop_time; } - virtual void SetBracket(bool bracket); - virtual void SetIdentify(bool identify); - - virtual void SetFormationDelta(const Point& point); - - virtual bool Update(SimObject* obj); - virtual const char* GetObserverName() const; - - virtual int GetAILevel() const { return ai_level; } - -protected: - // accumulate behaviors: - virtual void Navigator(); - - // behaviors: - virtual bool AvoidTestSingleObject(SimObject* obj, - const Point& bearing, - double avoid_dist, - double& avoid_time, - Steer& steer); - - virtual Steer AvoidCloseObject(SimObject* obj); - virtual Steer AvoidCollision(); - virtual Steer AvoidTerrain(); - virtual Steer SeekTarget(); - virtual Steer EvadeThreat(); - - virtual Point ClosingVelocity(); - - // compute the goal point in world coords based on current ai state: - virtual void FindObjectiveTarget(SimObject* tgt); - virtual void FindObjectiveNavPoint(); - virtual void FindObjectiveFormation(); - virtual void FindObjectivePatrol(); - virtual void FindObjectiveQuantum(); - virtual void FindObjectiveFarcaster(SimRegion* src, SimRegion* dst); - - // fire on target if appropriate: - virtual void AdjustDefenses(); - virtual void FireControl(); - virtual void HelmControl(); - virtual void ThrottleControl(); - virtual void NavlightControl(); - - virtual void CheckTarget(); - - Ship* ship; - Ship* support; - Ship* rumor; - Ship* threat; - Shot* threat_missile; - Instruction* navpt; - Point obstacle; - TacticalAI* tactical; - Farcaster* farcaster; - int engaged_ship_id; - int splash_count; - - Point formation_delta; - double slot_dist; - - double throttle; - double old_throttle; - double seconds; - double drop_time; - double brake; - DWORD last_avoid_time; - DWORD last_call_time; - - int element_index; - int too_close; - bool bracket; - bool identify; - bool hold; - bool takeoff; - - int patrol; - Point patrol_loc; - int ai_level; -}; - -// +--------------------------------------------------------------------+ - -#endif // ShipAI_h - |