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

#include <W3DTankTruckDraw.h>

Inherits W3DModelDraw.

Classes

struct  TreadObjectInfo
 

Public Member Functions

 W3DTankTruckDraw (Thing *thing, const ModuleData *moduleData)
 
virtual void setHidden (Bool h)
 
virtual void doDrawModule (const Matrix3D *transformMtx)
 
virtual void setFullyObscuredByShroud (Bool fullyObscured)
 
virtual void reactToGeometryChange ()
 
- Public Member Functions inherited from W3DModelDraw
 W3DModelDraw (Thing *thing, const ModuleData *moduleData)
 
virtual void preloadAssets (TimeOfDay timeOfDay)
 preloading assets
 
virtual void setShadowsEnabled (Bool enable)
 
virtual void releaseShadows (void)
 frees all shadow resources used by this module - used by Options screen.
 
virtual void allocateShadows (void)
 create shadow resources if not already present. Used by Options screen.
 
virtual void setTerrainDecal (TerrainDecalType type)
 
virtual Bool isVisible () const
 for limiting tree sway, etc to visible objects
 
virtual void reactToTransformChange (const Matrix3D *oldMtx, const Coord3D *oldPos, Real oldAngle)
 
virtual Bool clientOnly_getRenderObjInfo (Coord3D *pos, Real *boundingSphereRadius, Matrix3D *transform) const
 
virtual Bool clientOnly_getRenderObjBoundBox (OBBoxClass *boundbox) const
 
virtual Bool clientOnly_getRenderObjBoneTransform (const AsciiString &boneName, Matrix3D *set_tm) const
 
virtual Int getPristineBonePositionsForConditionState (const ModelConditionFlags &condition, const char *boneNamePrefix, Int startIndex, Coord3D *positions, Matrix3D *transforms, Int maxBones) const
 
virtual Int getCurrentBonePositions (const char *boneNamePrefix, Int startIndex, Coord3D *positions, Matrix3D *transforms, Int maxBones) const
 
virtual Bool getCurrentWorldspaceClientBonePositions (const char *boneName, Matrix3D &transform) const
 
virtual Bool getProjectileLaunchOffset (const ModelConditionFlags &condition, WeaponSlotType wslot, Int specificBarrelToUse, Matrix3D *launchPos, WhichTurretType tur, Coord3D *turretRotPos, Coord3D *turretPitchPos=NULL) const
 
virtual void updateProjectileClipStatus (UnsignedInt shotsRemaining, UnsignedInt maxShots, WeaponSlotType slot)
 This will do the show/hide work if ProjectileBoneFeedbackEnabled is set.
 
virtual void updateDrawModuleSupplyStatus (Int maxSupply, Int currentSupply)
 This will do visual feedback on Supplies carried.
 
virtual void notifyDrawModuleDependencyCleared ()
 if you were waiting for something before you drew, it's ready now
 
virtual void replaceModelConditionState (const ModelConditionFlags &c)
 
virtual void replaceIndicatorColor (Color color)
 
virtual Bool handleWeaponFireFX (WeaponSlotType wslot, Int specificBarrelToUse, const FXList *fxl, Real weaponSpeed, const Coord3D *victimPos, Real damageRadius)
 
virtual Int getBarrelCount (WeaponSlotType wslot) const
 
virtual void setSelectable (Bool selectable)
 
virtual void setAnimationLoopDuration (UnsignedInt numFrames)
 
virtual void setAnimationCompletionTime (UnsignedInt numFrames)
 
virtual void setPauseAnimation (Bool pauseAnim)
 
virtual void setAnimationFrame (int frame)
 
virtual void updateSubObjects ()
 
virtual void showSubObject (const AsciiString &name, Bool show)
 
virtual ObjectDrawInterfacegetObjectDrawInterface ()
 
virtual const ObjectDrawInterfacegetObjectDrawInterface () const
 
RenderObjClassgetRenderObject ()
 
virtual Bool updateBonesForClientParticleSystems (void)
 this will reposition particle systems on the fly ML
 
virtual void onDrawableBoundToObject ()
 
virtual void setTerrainDecalSize (Real x, Real y)
 
virtual void setTerrainDecalOpacity (Real o)
 
- Public Member Functions inherited from DrawModule
 DrawModule (Thing *thing, const ModuleData *moduleData)
 
virtual Bool isLaser () const
 
virtual DebrisDrawInterfacegetDebrisDrawInterface ()
 
virtual const DebrisDrawInterfacegetDebrisDrawInterface () const
 
virtual TracerDrawInterfacegetTracerDrawInterface ()
 
virtual const TracerDrawInterfacegetTracerDrawInterface () const
 
virtual RopeDrawInterfacegetRopeDrawInterface ()
 
virtual const RopeDrawInterfacegetRopeDrawInterface () const
 
virtual LaserDrawInterfacegetLaserDrawInterface ()
 
virtual const LaserDrawInterfacegetLaserDrawInterface () const
 
- Public Member Functions inherited from DrawableModule
 DrawableModule (Thing *thing, const ModuleData *moduleData)
 < this abstract class needs memory pool hooks
 
- 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 onDelete (void)
 
- Public Member Functions inherited from MemoryPoolObject
void deleteInstance ()
 
- Public Member Functions inherited from Snapshot
 Snapshot (void)
 
 ~Snapshot (void)
 

Protected Types

enum  TreadType { TREAD_LEFT , TREAD_RIGHT , TREAD_MIDDLE }
 
enum  { MAX_TREADS_PER_TANK =4 }
 

Protected Member Functions

virtual void onRenderObjRecreated (void)
 
void createEmitters (void)
 Create particle effects.
 
void tossEmitters (void)
 Create particle effects.
 
void enableEmitters (Bool enable)
 stop creating debris from the tank treads
 
void updateBones (void)
 
void startMoveDebris (void)
 start creating debris from the tank treads
 
void stopMoveDebris (void)
 stop creating debris from the tank treads
 
void updateTreadObjects (void)
 update pointers to sub-objects like treads.
 
void updateTreadPositions (Real uvDelta)
 update uv coordinates on each tread
 
- Protected Member Functions inherited from W3DModelDraw
const ModelConditionInfogetCurState () const
 
void setModelState (const ModelConditionInfo *newState)
 
const ModelConditionInfofindBestInfo (const ModelConditionFlags &c) const
 
void handleClientTurretPositioning ()
 
void handleClientRecoil ()
 
void recalcBonesForClientParticleSystems ()
 
void stopClientParticleSystems ()
 
void doHideShowSubObjs (const std::vector< ModelConditionInfo::HideShowSubObjInfo > *vec)
 
virtual void adjustTransformMtx (Matrix3D &mtx) const
 
Real getCurAnimDistanceCovered () const
 
Bool setCurAnimDurationInMsec (Real duration)
 
Bool getFullyObscuredByShroud () const
 
- Protected Member Functions inherited from DrawableModule
DrawablegetDrawable ()
 
const DrawablegetDrawable () const
 
virtual void crc (Xfer *xfer)
 
virtual void xfer (Xfer *xfer)
 
virtual void loadPostProcess (void)
 
- 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

Bool m_effectsInitialized
 
Bool m_wasAirborne
 
Bool m_isPowersliding
 
ParticleSystemm_dustEffect
 debris emitters for when tank is moving
 
ParticleSystemm_dirtEffect
 
ParticleSystemm_powerslideEffect
 
Real m_frontWheelRotation
 
Real m_rearWheelRotation
 
Real m_midFrontWheelRotation
 
Real m_midRearWheelRotation
 
Int m_frontLeftTireBone
 
Int m_frontRightTireBone
 
Int m_rearLeftTireBone
 
Int m_rearRightTireBone
 
Int m_midFrontLeftTireBone
 
Int m_midFrontRightTireBone
 
Int m_midRearLeftTireBone
 
Int m_midRearRightTireBone
 
AudioEventRTS m_powerslideSound
 
AudioEventRTS m_landingSound
 
ParticleSystemm_treadDebrisLeft
 debris emitters for when tank is moving
 
ParticleSystemm_treadDebrisRight
 
TreadObjectInfo m_treads [MAX_TREADS_PER_TANK]
 
Int m_treadCount
 
RenderObjClassm_prevRenderObj
 

Additional Inherited Members

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

Detailed Description

Definition at line 79 of file W3DTankTruckDraw.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
MAX_TREADS_PER_TANK 

Definition at line 131 of file W3DTankTruckDraw.h.

◆ TreadType

Enumerator
TREAD_LEFT 
TREAD_RIGHT 
TREAD_MIDDLE 

Definition at line 130 of file W3DTankTruckDraw.h.

Constructor & Destructor Documentation

◆ W3DTankTruckDraw()

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

Definition at line 98 of file W3DTankTruckDraw.cpp.

Member Function Documentation

◆ createEmitters()

void W3DTankTruckDraw::createEmitters ( void )
protected

Create particle effects.

Start creating debris from the tank treads

Definition at line 228 of file W3DTankTruckDraw.cpp.

◆ doDrawModule()

void W3DTankTruckDraw::doDrawModule ( const Matrix3D * transformMtx)
virtual

Map behavior states into W3D animations.

Reimplemented from W3DModelDraw.

Definition at line 505 of file W3DTankTruckDraw.cpp.

◆ enableEmitters()

void W3DTankTruckDraw::enableEmitters ( Bool enable)
protected

stop creating debris from the tank treads

Stop creating debris from the tank treads

Definition at line 292 of file W3DTankTruckDraw.cpp.

◆ onRenderObjRecreated()

void W3DTankTruckDraw::onRenderObjRecreated ( void )
protectedvirtual

Reimplemented from W3DModelDraw.

Definition at line 484 of file W3DTankTruckDraw.cpp.

◆ reactToGeometryChange()

virtual void W3DTankTruckDraw::reactToGeometryChange ( )
inlinevirtual

Reimplemented from W3DModelDraw.

Definition at line 93 of file W3DTankTruckDraw.h.

◆ setFullyObscuredByShroud()

void W3DTankTruckDraw::setFullyObscuredByShroud ( Bool fullyObscured)
virtual

collect some stats about the rendering cost of this draw module recurse through sub-objs to collect stats about the rendering cost of this draw module

Reimplemented from W3DModelDraw.

Definition at line 210 of file W3DTankTruckDraw.cpp.

◆ setHidden()

void W3DTankTruckDraw::setHidden ( Bool h)
virtual

Reimplemented from W3DModelDraw.

Definition at line 389 of file W3DTankTruckDraw.cpp.

◆ startMoveDebris()

void W3DTankTruckDraw::startMoveDebris ( void )
protected

start creating debris from the tank treads

Start creating debris from the tank treads

Definition at line 162 of file W3DTankTruckDraw.cpp.

◆ stopMoveDebris()

void W3DTankTruckDraw::stopMoveDebris ( void )
protected

stop creating debris from the tank treads

Stop creating debris from the tank treads

Definition at line 177 of file W3DTankTruckDraw.cpp.

◆ tossEmitters()

void W3DTankTruckDraw::tossEmitters ( void )
protected

Create particle effects.

Definition at line 187 of file W3DTankTruckDraw.cpp.

◆ updateBones()

void W3DTankTruckDraw::updateBones ( void )
protected

Definition at line 322 of file W3DTankTruckDraw.cpp.

◆ updateTreadObjects()

void W3DTankTruckDraw::updateTreadObjects ( void )
protected

update pointers to sub-objects like treads.

Grab pointers to the sub-meshes for each tread

Definition at line 426 of file W3DTankTruckDraw.cpp.

◆ updateTreadPositions()

void W3DTankTruckDraw::updateTreadPositions ( Real uvDelta)
protected

update uv coordinates on each tread

Update uv coordinates on each tread object to simulate movement

Definition at line 402 of file W3DTankTruckDraw.cpp.

Member Data Documentation

◆ m_dirtEffect

ParticleSystem* W3DTankTruckDraw::m_dirtEffect
protected

Definition at line 104 of file W3DTankTruckDraw.h.

◆ m_dustEffect

ParticleSystem* W3DTankTruckDraw::m_dustEffect
protected

debris emitters for when tank is moving

Definition at line 103 of file W3DTankTruckDraw.h.

◆ m_effectsInitialized

Bool W3DTankTruckDraw::m_effectsInitialized
protected

Definition at line 99 of file W3DTankTruckDraw.h.

◆ m_frontLeftTireBone

Int W3DTankTruckDraw::m_frontLeftTireBone
protected

Definition at line 112 of file W3DTankTruckDraw.h.

◆ m_frontRightTireBone

Int W3DTankTruckDraw::m_frontRightTireBone
protected

Definition at line 113 of file W3DTankTruckDraw.h.

◆ m_frontWheelRotation

Real W3DTankTruckDraw::m_frontWheelRotation
protected

Definition at line 107 of file W3DTankTruckDraw.h.

◆ m_isPowersliding

Bool W3DTankTruckDraw::m_isPowersliding
protected

Definition at line 101 of file W3DTankTruckDraw.h.

◆ m_landingSound

AudioEventRTS W3DTankTruckDraw::m_landingSound
protected

Definition at line 123 of file W3DTankTruckDraw.h.

◆ m_midFrontLeftTireBone

Int W3DTankTruckDraw::m_midFrontLeftTireBone
protected

Definition at line 117 of file W3DTankTruckDraw.h.

◆ m_midFrontRightTireBone

Int W3DTankTruckDraw::m_midFrontRightTireBone
protected

Definition at line 118 of file W3DTankTruckDraw.h.

◆ m_midFrontWheelRotation

Real W3DTankTruckDraw::m_midFrontWheelRotation
protected

Definition at line 109 of file W3DTankTruckDraw.h.

◆ m_midRearLeftTireBone

Int W3DTankTruckDraw::m_midRearLeftTireBone
protected

Definition at line 119 of file W3DTankTruckDraw.h.

◆ m_midRearRightTireBone

Int W3DTankTruckDraw::m_midRearRightTireBone
protected

Definition at line 120 of file W3DTankTruckDraw.h.

◆ m_midRearWheelRotation

Real W3DTankTruckDraw::m_midRearWheelRotation
protected

Definition at line 110 of file W3DTankTruckDraw.h.

◆ m_powerslideEffect

ParticleSystem* W3DTankTruckDraw::m_powerslideEffect
protected

Definition at line 105 of file W3DTankTruckDraw.h.

◆ m_powerslideSound

AudioEventRTS W3DTankTruckDraw::m_powerslideSound
protected

Definition at line 122 of file W3DTankTruckDraw.h.

◆ m_prevRenderObj

RenderObjClass* W3DTankTruckDraw::m_prevRenderObj
protected

Definition at line 143 of file W3DTankTruckDraw.h.

◆ m_rearLeftTireBone

Int W3DTankTruckDraw::m_rearLeftTireBone
protected

Definition at line 114 of file W3DTankTruckDraw.h.

◆ m_rearRightTireBone

Int W3DTankTruckDraw::m_rearRightTireBone
protected

Definition at line 115 of file W3DTankTruckDraw.h.

◆ m_rearWheelRotation

Real W3DTankTruckDraw::m_rearWheelRotation
protected

Definition at line 108 of file W3DTankTruckDraw.h.

◆ m_treadCount

Int W3DTankTruckDraw::m_treadCount
protected

Definition at line 141 of file W3DTankTruckDraw.h.

◆ m_treadDebrisLeft

ParticleSystem* W3DTankTruckDraw::m_treadDebrisLeft
protected

debris emitters for when tank is moving

Definition at line 127 of file W3DTankTruckDraw.h.

◆ m_treadDebrisRight

ParticleSystem* W3DTankTruckDraw::m_treadDebrisRight
protected

Definition at line 128 of file W3DTankTruckDraw.h.

◆ m_treads

TreadObjectInfo W3DTankTruckDraw::m_treads[MAX_TREADS_PER_TANK]
protected

Definition at line 140 of file W3DTankTruckDraw.h.

◆ m_wasAirborne

Bool W3DTankTruckDraw::m_wasAirborne
protected

Definition at line 100 of file W3DTankTruckDraw.h.


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