Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
TurretAI Class Reference

#include <TurretAI.h>

Inherits MemoryPoolObject, Snapshot, and NotifyWeaponFiredInterface.

Public Member Functions

 TurretAI (Object *owner, const TurretAIData *data, WhichTurretType tur)
 
Real getTurretAngle () const
 
Real getTurretPitch () const
 
Real getMinPitch () const
 
Bool isAllowsPitch () const
 
Real getTurnRate () const
 
Real getNaturalTurretAngle () const
 
Real getPitchRate () const
 
Real getFirePitch () const
 
Real getGroundUnitPitch () const
 
Real getNaturalTurretPitch () const
 
Real getTurretFireAngleSweepForWeaponSlot (WeaponSlotType slot) const
 
Real getTurretSweepSpeedModifierForWeaponSlot (WeaponSlotType slot) const
 
Real getMinIdleScanAngle () const
 
Real getMaxIdleScanAngle () const
 
UnsignedInt getMinIdleScanInterval () const
 
UnsignedInt getMaxIdleScanInterval () const
 
UnsignedInt getRecenterTime () const
 
ObjectgetOwner ()
 
const ObjectgetOwner () const
 
Bool isOwnersCurWeaponOnTurret () const
 
Bool isWeaponSlotOnTurret (WeaponSlotType wslot) const
 
Bool isAttackingObject () const
 
Bool isForceAttacking () const
 
void setTurretTargetObject (Object *o, Bool forceAttacking)
 
void setTurretTargetPosition (const Coord3D *pos)
 
void recenterTurret ()
 
Bool isTurretInNaturalPosition () const
 
void setTurretEnabled (Bool enabled)
 
Bool isTurretEnabled () const
 
Bool isTryingToAimAtTarget (const Object *victim) const
 
UpdateSleepTime updateTurretAI ()
 implement this module's behavior
 
virtual void notifyFired ()
 
virtual void notifyNewVictimChosen (Object *victim)
 
virtual const Coord3DgetOriginalVictimPos () const
 
virtual Bool isWeaponSlotOkToFire (WeaponSlotType wslot) const
 
Bool friend_turnTowardsAngle (Real desiredAngle, Real rateModifier, Real relThresh)
 
Bool friend_turnTowardsPitch (Real pitch, Real rateModifier)
 
Bool friend_getPositiveSweep () const
 
void friend_setPositiveSweep (Bool b)
 
Bool friend_isSweepEnabled () const
 
WhichTurretType friend_getWhichTurret () const
 
Bool friend_isAnyWeaponInRangeOf (const Object *o) const
 
TurretTargetType friend_getTurretTarget (Object *&obj, Coord3D &pos, Bool clearDeadTargets=TRUE) const
 
Bool friend_getTargetWasSetByIdleMood () const
 
const Teamfriend_getVictimInitialTeam () const
 
void friend_checkForIdleMoodTarget ()
 
UnsignedInt friend_getNextIdleMoodTargetFrame () const
 
void friend_notifyStateMachineChanged ()
 
- Public Member Functions inherited from MemoryPoolObject
void deleteInstance ()
 
- Public Member Functions inherited from Snapshot
 Snapshot (void)
 
 ~Snapshot (void)
 

Protected Member Functions

virtual void crc (Xfer *xfer)
 
virtual void xfer (Xfer *xfer)
 
virtual void loadPostProcess ()
 
- Protected Member Functions inherited from MemoryPoolObject
virtual ~MemoryPoolObject ()
 
void * operator new (size_t s)
 
void operator delete (void *p)
 
virtual MemoryPoolgetObjectMemoryPool ()=0
 

Detailed Description

Turret behavior implementation.

Definition at line 262 of file TurretAI.h.

Constructor & Destructor Documentation

◆ TurretAI()

TurretAI::TurretAI ( Object * owner,
const TurretAIData * data,
WhichTurretType tur )

Definition at line 272 of file TurretAI.cpp.

Member Function Documentation

◆ crc()

void TurretAI::crc ( Xfer * xfer)
protectedvirtual

CRC

Implements Snapshot.

Definition at line 336 of file TurretAI.cpp.

◆ friend_checkForIdleMoodTarget()

void TurretAI::friend_checkForIdleMoodTarget ( )

Definition at line 879 of file TurretAI.cpp.

◆ friend_getNextIdleMoodTargetFrame()

UnsignedInt TurretAI::friend_getNextIdleMoodTargetFrame ( ) const

Definition at line 870 of file TurretAI.cpp.

◆ friend_getPositiveSweep()

Bool TurretAI::friend_getPositiveSweep ( ) const
inline

Definition at line 321 of file TurretAI.h.

◆ friend_getTargetWasSetByIdleMood()

Bool TurretAI::friend_getTargetWasSetByIdleMood ( ) const
inline

Definition at line 330 of file TurretAI.h.

◆ friend_getTurretTarget()

TurretTargetType TurretAI::friend_getTurretTarget ( Object *& obj,
Coord3D & pos,
Bool clearDeadTargets = TRUE ) const

Definition at line 522 of file TurretAI.cpp.

◆ friend_getVictimInitialTeam()

const Team * TurretAI::friend_getVictimInitialTeam ( ) const
inline

Definition at line 331 of file TurretAI.h.

◆ friend_getWhichTurret()

WhichTurretType TurretAI::friend_getWhichTurret ( ) const
inline

Definition at line 324 of file TurretAI.h.

◆ friend_isAnyWeaponInRangeOf()

Bool TurretAI::friend_isAnyWeaponInRangeOf ( const Object * o) const

Definition at line 836 of file TurretAI.cpp.

◆ friend_isSweepEnabled()

Bool TurretAI::friend_isSweepEnabled ( ) const

Definition at line 861 of file TurretAI.cpp.

◆ friend_notifyStateMachineChanged()

void TurretAI::friend_notifyStateMachineChanged ( )

Definition at line 676 of file TurretAI.cpp.

◆ friend_setPositiveSweep()

void TurretAI::friend_setPositiveSweep ( Bool b)
inline

Definition at line 322 of file TurretAI.h.

◆ friend_turnTowardsAngle()

Bool TurretAI::friend_turnTowardsAngle ( Real desiredAngle,
Real rateModifier,
Real relThresh )

Definition at line 392 of file TurretAI.cpp.

◆ friend_turnTowardsPitch()

Bool TurretAI::friend_turnTowardsPitch ( Real pitch,
Real rateModifier )

Definition at line 432 of file TurretAI.cpp.

◆ getFirePitch()

Real TurretAI::getFirePitch ( ) const
inline

Definition at line 277 of file TurretAI.h.

◆ getGroundUnitPitch()

Real TurretAI::getGroundUnitPitch ( ) const
inline

Definition at line 278 of file TurretAI.h.

◆ getMaxIdleScanAngle()

Real TurretAI::getMaxIdleScanAngle ( ) const
inline

Definition at line 283 of file TurretAI.h.

◆ getMaxIdleScanInterval()

UnsignedInt TurretAI::getMaxIdleScanInterval ( ) const
inline

Definition at line 285 of file TurretAI.h.

◆ getMinIdleScanAngle()

Real TurretAI::getMinIdleScanAngle ( ) const
inline

Definition at line 282 of file TurretAI.h.

◆ getMinIdleScanInterval()

UnsignedInt TurretAI::getMinIdleScanInterval ( ) const
inline

Definition at line 284 of file TurretAI.h.

◆ getMinPitch()

Real TurretAI::getMinPitch ( ) const
inline

Definition at line 272 of file TurretAI.h.

◆ getNaturalTurretAngle()

Real TurretAI::getNaturalTurretAngle ( ) const
inline

Definition at line 275 of file TurretAI.h.

◆ getNaturalTurretPitch()

Real TurretAI::getNaturalTurretPitch ( ) const
inline

Definition at line 279 of file TurretAI.h.

◆ getOriginalVictimPos()

virtual const Coord3D * TurretAI::getOriginalVictimPos ( ) const
inlinevirtual

Implements NotifyWeaponFiredInterface.

Definition at line 315 of file TurretAI.h.

◆ getOwner() [1/2]

Object * TurretAI::getOwner ( )
inline

Definition at line 287 of file TurretAI.h.

◆ getOwner() [2/2]

const Object * TurretAI::getOwner ( ) const
inline

Definition at line 288 of file TurretAI.h.

◆ getPitchRate()

Real TurretAI::getPitchRate ( ) const
inline

Definition at line 276 of file TurretAI.h.

◆ getRecenterTime()

UnsignedInt TurretAI::getRecenterTime ( ) const
inline

Definition at line 286 of file TurretAI.h.

◆ getTurnRate()

Real TurretAI::getTurnRate ( ) const
inline

Definition at line 274 of file TurretAI.h.

◆ getTurretAngle()

Real TurretAI::getTurretAngle ( ) const
inline

Definition at line 270 of file TurretAI.h.

◆ getTurretFireAngleSweepForWeaponSlot()

Real TurretAI::getTurretFireAngleSweepForWeaponSlot ( WeaponSlotType slot) const

Definition at line 474 of file TurretAI.cpp.

◆ getTurretPitch()

Real TurretAI::getTurretPitch ( ) const
inline

Definition at line 271 of file TurretAI.h.

◆ getTurretSweepSpeedModifierForWeaponSlot()

Real TurretAI::getTurretSweepSpeedModifierForWeaponSlot ( WeaponSlotType slot) const

Definition at line 480 of file TurretAI.cpp.

◆ isAllowsPitch()

Bool TurretAI::isAllowsPitch ( ) const
inline

Definition at line 273 of file TurretAI.h.

◆ isAttackingObject()

Bool TurretAI::isAttackingObject ( ) const
inlinevirtual

Implements NotifyWeaponFiredInterface.

Definition at line 292 of file TurretAI.h.

◆ isForceAttacking()

Bool TurretAI::isForceAttacking ( ) const
inline

Definition at line 293 of file TurretAI.h.

◆ isOwnersCurWeaponOnTurret()

Bool TurretAI::isOwnersCurWeaponOnTurret ( ) const

Definition at line 508 of file TurretAI.cpp.

◆ isTryingToAimAtTarget()

Bool TurretAI::isTryingToAimAtTarget ( const Object * victim) const

return true iff the turret is trying to aim at the victim, BUT not yet pointing in the right dir.

Definition at line 498 of file TurretAI.cpp.

◆ isTurretEnabled()

Bool TurretAI::isTurretEnabled ( ) const
inline

Definition at line 303 of file TurretAI.h.

◆ isTurretInNaturalPosition()

Bool TurretAI::isTurretInNaturalPosition ( ) const

Definition at line 659 of file TurretAI.cpp.

◆ isWeaponSlotOkToFire()

Bool TurretAI::isWeaponSlotOkToFire ( WeaponSlotType wslot) const
virtual

Implements NotifyWeaponFiredInterface.

Definition at line 464 of file TurretAI.cpp.

◆ isWeaponSlotOnTurret()

Bool TurretAI::isWeaponSlotOnTurret ( WeaponSlotType wslot) const

Definition at line 516 of file TurretAI.cpp.

◆ loadPostProcess()

void TurretAI::loadPostProcess ( void )
protectedvirtual

Load post process

Implements Snapshot.

Definition at line 383 of file TurretAI.cpp.

◆ notifyFired()

void TurretAI::notifyFired ( )
virtual

Implements NotifyWeaponFiredInterface.

Definition at line 486 of file TurretAI.cpp.

◆ notifyNewVictimChosen()

void TurretAI::notifyNewVictimChosen ( Object * victim)
virtual

Implements NotifyWeaponFiredInterface.

Definition at line 492 of file TurretAI.cpp.

◆ recenterTurret()

void TurretAI::recenterTurret ( )

Definition at line 653 of file TurretAI.cpp.

◆ setTurretEnabled()

void TurretAI::setTurretEnabled ( Bool enabled)

Definition at line 761 of file TurretAI.cpp.

◆ setTurretTargetObject()

void TurretAI::setTurretTargetObject ( Object * o,
Bool forceAttacking )

Definition at line 571 of file TurretAI.cpp.

◆ setTurretTargetPosition()

void TurretAI::setTurretTargetPosition ( const Coord3D * pos)

Definition at line 613 of file TurretAI.cpp.

◆ updateTurretAI()

UpdateSleepTime TurretAI::updateTurretAI ( )

implement this module's behavior

Definition at line 688 of file TurretAI.cpp.

◆ xfer()

void TurretAI::xfer ( Xfer * xfer)
protectedvirtual

Xfer Method

Implements Snapshot.

Definition at line 343 of file TurretAI.cpp.


The documentation for this class was generated from the following files: