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

#include <ProjectileStreamUpdate.h>

Inherits UpdateModule.

Public Member Functions

 ProjectileStreamUpdate (Thing *thing, const ModuleData *moduleData)
 
void addProjectile (ObjectID sourceID, ObjectID newID, ObjectID victimID, const Coord3D *victimPos)
 This projectile was just shot, so keep track of it.
 
void getAllPoints (Vector3 *points, Int *count)
 unroll circlular array and write down all projectile positions
 
void setPosition (const Coord3D *newPosition)
 I need to exist at the place I want to draw since only (near) on screen Drawables get updated.
 
virtual UpdateSleepTime update ()
 
- Public Member Functions inherited from UpdateModule
 UpdateModule (Thing *thing, const ModuleData *moduleData)
 
virtual UpdateModuleInterfacegetUpdate ()
 
DisabledMaskType getDisabledTypesToProcess () const
 
UPDATEMODULE_FRIEND_DECLARATOR UnsignedInt friend_getPriority () const
 
UPDATEMODULE_FRIEND_DECLARATOR UnsignedInt friend_getNextCallFrame () const
 
UPDATEMODULE_FRIEND_DECLARATOR SleepyUpdatePhase friend_getNextCallPhase () const
 
UPDATEMODULE_FRIEND_DECLARATOR void friend_setNextCallFrame (UnsignedInt frame)
 
UPDATEMODULE_FRIEND_DECLARATOR Int friend_getIndexInLogic () const
 
UPDATEMODULE_FRIEND_DECLARATOR void friend_setIndexInLogic (Int i)
 
UPDATEMODULE_FRIEND_DECLARATOR const Objectfriend_getObject () const
 
- Public Member Functions inherited from BehaviorModule
 BehaviorModule (Thing *thing, const ModuleData *moduleData)
 
virtual BodyModuleInterfacegetBody ()
 
virtual CollideModuleInterfacegetCollide ()
 
virtual ContainModuleInterfacegetContain ()
 
virtual CreateModuleInterfacegetCreate ()
 
virtual DamageModuleInterfacegetDamage ()
 
virtual DestroyModuleInterfacegetDestroy ()
 
virtual DieModuleInterfacegetDie ()
 
virtual SpecialPowerModuleInterfacegetSpecialPower ()
 
virtual UpgradeModuleInterfacegetUpgrade ()
 
virtual StealthUpdategetStealth ()
 
virtual SpyVisionUpdategetSpyVisionUpdate ()
 
virtual ParkingPlaceBehaviorInterfacegetParkingPlaceBehaviorInterface ()
 
virtual RebuildHoleBehaviorInterfacegetRebuildHoleBehaviorInterface ()
 
virtual BridgeBehaviorInterfacegetBridgeBehaviorInterface ()
 
virtual BridgeTowerBehaviorInterfacegetBridgeTowerBehaviorInterface ()
 
virtual BridgeScaffoldBehaviorInterfacegetBridgeScaffoldBehaviorInterface ()
 
virtual OverchargeBehaviorInterfacegetOverchargeBehaviorInterface ()
 
virtual TransportPassengerInterfacegetTransportPassengerInterface ()
 
virtual CaveInterfacegetCaveInterface ()
 
virtual LandMineInterfacegetLandMineInterface ()
 
virtual DieModuleInterfacegetEjectPilotDieInterface ()
 
virtual ProjectileUpdateInterfacegetProjectileUpdateInterface ()
 
virtual AIUpdateInterfacegetAIUpdateInterface ()
 
virtual ExitInterfacegetUpdateExitInterface ()
 
virtual DockUpdateInterfacegetDockUpdateInterface ()
 
virtual RailedTransportDockUpdateInterfacegetRailedTransportDockUpdateInterface (void)
 
virtual SlowDeathBehaviorInterfacegetSlowDeathBehaviorInterface ()
 
virtual SpecialPowerUpdateInterfacegetSpecialPowerUpdateInterface ()
 
virtual SlavedUpdateInterfacegetSlavedUpdateInterface ()
 
virtual ProductionUpdateInterfacegetProductionUpdateInterface ()
 
virtual HordeUpdateInterfacegetHordeUpdateInterface ()
 
virtual PowerPlantUpdateInterfacegetPowerPlantUpdateInterface ()
 
virtual SpawnBehaviorInterfacegetSpawnBehaviorInterface ()
 
virtual CountermeasuresBehaviorInterfacegetCountermeasuresBehaviorInterface ()
 
virtual const CountermeasuresBehaviorInterfacegetCountermeasuresBehaviorInterface () const
 
- Public Member Functions inherited from ObjectModule
 ObjectModule (Thing *thing, const ModuleData *moduleData)
 < this abstract class needs memory pool hooks
 
virtual void onCapture (Player *oldOwner, Player *newOwner)
 
virtual void onDisabledEdge (Bool nowDisabled)
 
- Public Member Functions inherited from Module
 Module (const ModuleData *moduleData)
 < this abstract class needs memory pool hooks
 
virtual NameKeyType getModuleNameKey () const =0
 
NameKeyType getModuleTagNameKey () const
 
virtual void onObjectCreated ()
 
virtual void onDrawableBoundToObject ()
 
virtual void preloadAssets (TimeOfDay timeOfDay)
 preload any assets we might have for this time of day
 
virtual void onDelete (void)
 
- Public Member Functions inherited from MemoryPoolObject
void deleteInstance ()
 
- Public Member Functions inherited from Snapshot
 Snapshot (void)
 
 ~Snapshot (void)
 

Protected Member Functions

void cullFrontOfList ()
 
Bool considerDying ()
 
- Protected Member Functions inherited from UpdateModule
void setWakeFrame (Object *obj, UpdateSleepTime wakeDelay)
 
UpdateSleepTime getWakeFrame () const
 
virtual SleepyUpdatePhase getUpdatePhase () const
 
UpdateSleepTime frameToSleepTime (UnsignedInt frame1, UnsignedInt frame2=FOREVER, UnsignedInt frame3=FOREVER, UnsignedInt frame4=FOREVER)
 
- Protected Member Functions inherited from BehaviorModule
virtual void crc (Xfer *xfer)
 
virtual void xfer (Xfer *xfer)
 
virtual void loadPostProcess (void)
 
- Protected Member Functions inherited from ObjectModule
ObjectgetObject ()
 
const ObjectgetObject () const
 
- Protected Member Functions inherited from Module
const ModuleDatagetModuleData () const
 
- Protected Member Functions inherited from MemoryPoolObject
virtual ~MemoryPoolObject ()
 
void * operator new (size_t s)
 
void operator delete (void *p)
 
virtual MemoryPoolgetObjectMemoryPool ()=0
 

Protected Attributes

ObjectID m_projectileIDs [MAX_PROJECTILE_STREAM]
 
Int m_nextFreeIndex
 
Int m_firstValidIndex
 
ObjectID m_owningObject
 
ObjectID m_targetObject
 Need to insert a hole if target changes, so track target ID and target position.
 
Coord3D m_targetPosition
 

Additional Inherited Members

- Static Public Member Functions inherited from UpdateModule
static Int getInterfaceMask ()
 
- Static Public Member Functions inherited from BehaviorModule
static Int getInterfaceMask ()
 
static ModuleType getModuleType ()
 
- Static Public Member Functions inherited from Module
static ModuleDatafriend_newModuleData (INI *ini)
 

Detailed Description

The default update module

Definition at line 49 of file ProjectileStreamUpdate.h.

Constructor & Destructor Documentation

◆ ProjectileStreamUpdate()

ProjectileStreamUpdate::ProjectileStreamUpdate ( Thing * thing,
const ModuleData * moduleData )

Definition at line 47 of file ProjectileStreamUpdate.cpp.

Member Function Documentation

◆ addProjectile()

void ProjectileStreamUpdate::addProjectile ( ObjectID sourceID,
ObjectID newID,
ObjectID victimID,
const Coord3D * victimPos )

This projectile was just shot, so keep track of it.

Definition at line 85 of file ProjectileStreamUpdate.cpp.

◆ considerDying()

Bool ProjectileStreamUpdate::considerDying ( )
protected

Definition at line 143 of file ProjectileStreamUpdate.cpp.

◆ cullFrontOfList()

void ProjectileStreamUpdate::cullFrontOfList ( )
protected

Definition at line 134 of file ProjectileStreamUpdate.cpp.

◆ getAllPoints()

void ProjectileStreamUpdate::getAllPoints ( Vector3 * points,
Int * count )

unroll circlular array and write down all projectile positions

Definition at line 155 of file ProjectileStreamUpdate.cpp.

◆ setPosition()

void ProjectileStreamUpdate::setPosition ( const Coord3D * newPosition)

I need to exist at the place I want to draw since only (near) on screen Drawables get updated.

Definition at line 209 of file ProjectileStreamUpdate.cpp.

◆ update()

UpdateSleepTime ProjectileStreamUpdate::update ( void )
virtual

The update callback.

Implements UpdateModule.

Definition at line 73 of file ProjectileStreamUpdate.cpp.

Member Data Documentation

◆ m_firstValidIndex

Int ProjectileStreamUpdate::m_firstValidIndex
protected

Definition at line 74 of file ProjectileStreamUpdate.h.

◆ m_nextFreeIndex

Int ProjectileStreamUpdate::m_nextFreeIndex
protected

Definition at line 73 of file ProjectileStreamUpdate.h.

◆ m_owningObject

ObjectID ProjectileStreamUpdate::m_owningObject
protected

Definition at line 75 of file ProjectileStreamUpdate.h.

◆ m_projectileIDs

ObjectID ProjectileStreamUpdate::m_projectileIDs[MAX_PROJECTILE_STREAM]
protected

Definition at line 72 of file ProjectileStreamUpdate.h.

◆ m_targetObject

ObjectID ProjectileStreamUpdate::m_targetObject
protected

Need to insert a hole if target changes, so track target ID and target position.

Definition at line 77 of file ProjectileStreamUpdate.h.

◆ m_targetPosition

Coord3D ProjectileStreamUpdate::m_targetPosition
protected

Definition at line 78 of file ProjectileStreamUpdate.h.


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