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

#include <Anim2D.h>

Inherits MemoryPoolObject.

Public Member Functions

 Anim2DTemplate (AsciiString name)
 
AsciiString getName (void) const
 
const ImagegetFrame (UnsignedShort frameNumber) const
 
UnsignedShort getNumFrames (void) const
 
UnsignedShort getNumFramesBetweenUpdates (void) const
 
Anim2DMode getAnimMode (void) const
 
Bool isRandomizedStartFrame (void) const
 
void friend_setNextTemplate (Anim2DTemplate *animTemplate)
 
Anim2DTemplatefriend_getNextTemplate (void) const
 
const FieldParsegetFieldParse (void) const
 
void storeImage (const Image *image)
 store image in next available slot
 
void allocateImages (UnsignedShort numFrames)
 allocate the array of image pointers to use
 
- Public Member Functions inherited from MemoryPoolObject
void deleteInstance ()
 

Protected Types

enum  { NUM_FRAMES_INVALID = 0 }
 

Static Protected Member Functions

static void parseImage (INI *ini, void *instance, void *store, const void *userData)
 
static void parseNumImages (INI *ini, void *instance, void *store, const void *userData)
 
static void parseImageSequence (INI *ini, void *instance, void *store, const void *userData)
 

Protected Attributes

Anim2DTemplatem_nextTemplate
 next animation in collections animation list
 
AsciiString m_name
 name of this 2D animation
 
const Image ** m_images
 array of image pointers that make up this animation
 
UnsignedShort m_numFrames
 total number of frames in this animation
 
UnsignedShort m_framesBetweenUpdates
 frames between frame updates
 
Anim2DMode m_animMode
 the animation mode
 
Bool m_randomizeStartFrame
 randomize animation instance start frames
 

Static Protected Attributes

static const FieldParse s_anim2DFieldParseTable []
 the parse table for INI definition
 

Additional Inherited Members

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

Detailed Description

A template of a 2D animation

Definition at line 75 of file Anim2D.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
NUM_FRAMES_INVALID 

Definition at line 106 of file Anim2D.h.

Constructor & Destructor Documentation

◆ Anim2DTemplate()

Anim2DTemplate::Anim2DTemplate ( AsciiString name)

Definition at line 56 of file Anim2D.cpp.

Member Function Documentation

◆ allocateImages()

void Anim2DTemplate::allocateImages ( UnsignedShort numFrames)

allocate the array of image pointers to use

Allocate the image array for an animation template and store the number of frames we have

Definition at line 128 of file Anim2D.cpp.

◆ friend_getNextTemplate()

Anim2DTemplate * Anim2DTemplate::friend_getNextTemplate ( void ) const
inline

Definition at line 92 of file Anim2D.h.

◆ friend_setNextTemplate()

void Anim2DTemplate::friend_setNextTemplate ( Anim2DTemplate * animTemplate)
inline

Definition at line 91 of file Anim2D.h.

◆ getAnimMode()

Anim2DMode Anim2DTemplate::getAnimMode ( void ) const
inline

Definition at line 87 of file Anim2D.h.

◆ getFieldParse()

const FieldParse * Anim2DTemplate::getFieldParse ( void ) const
inline

Definition at line 95 of file Anim2D.h.

◆ getFrame()

const Image * Anim2DTemplate::getFrame ( UnsignedShort frameNumber) const

Return the Image* for the frame number requested

Definition at line 270 of file Anim2D.cpp.

◆ getName()

AsciiString Anim2DTemplate::getName ( void ) const
inline

Definition at line 83 of file Anim2D.h.

◆ getNumFrames()

UnsignedShort Anim2DTemplate::getNumFrames ( void ) const
inline

Definition at line 85 of file Anim2D.h.

◆ getNumFramesBetweenUpdates()

UnsignedShort Anim2DTemplate::getNumFramesBetweenUpdates ( void ) const
inline

Definition at line 86 of file Anim2D.h.

◆ isRandomizedStartFrame()

Bool Anim2DTemplate::isRandomizedStartFrame ( void ) const
inline

Definition at line 88 of file Anim2D.h.

◆ parseImage()

void Anim2DTemplate::parseImage ( INI * ini,
void * instance,
void * store,
const void * userData )
staticprotected

Parsing a single image definition for an animation

Definition at line 146 of file Anim2D.cpp.

◆ parseImageSequence()

void Anim2DTemplate::parseImageSequence ( INI * ini,
void * instance,
void * store,
const void * userData )
staticprotected

This will parse the image sequence of an animation. You can use this as a shortcut to specifying a series of images for an animation instead of having to specify them all individually. Image names will be assumed to start with an appended "000" to the end end of the first image name and incremented up to the number of images for the animation. NOTE: That the number images must have already been specified before we can parse this entry so we know how many images to allocate and look for

Definition at line 183 of file Anim2D.cpp.

◆ parseNumImages()

void Anim2DTemplate::parseNumImages ( INI * ini,
void * instance,
void * store,
const void * userData )
staticprotected

Parse the number of images we will have in this animation and allocate the array for them

Definition at line 99 of file Anim2D.cpp.

◆ storeImage()

void Anim2DTemplate::storeImage ( const Image * image)

store image in next available slot

Store the image at the next open image slot for the animation

Definition at line 239 of file Anim2D.cpp.

Member Data Documentation

◆ m_animMode

Anim2DMode Anim2DTemplate::m_animMode
protected

the animation mode

Definition at line 113 of file Anim2D.h.

◆ m_framesBetweenUpdates

UnsignedShort Anim2DTemplate::m_framesBetweenUpdates
protected

frames between frame updates

Definition at line 112 of file Anim2D.h.

◆ m_images

const Image** Anim2DTemplate::m_images
protected

array of image pointers that make up this animation

Definition at line 110 of file Anim2D.h.

◆ m_name

AsciiString Anim2DTemplate::m_name
protected

name of this 2D animation

Definition at line 109 of file Anim2D.h.

◆ m_nextTemplate

Anim2DTemplate* Anim2DTemplate::m_nextTemplate
protected

next animation in collections animation list

Definition at line 108 of file Anim2D.h.

◆ m_numFrames

UnsignedShort Anim2DTemplate::m_numFrames
protected

total number of frames in this animation

Definition at line 111 of file Anim2D.h.

◆ m_randomizeStartFrame

Bool Anim2DTemplate::m_randomizeStartFrame
protected

randomize animation instance start frames

Definition at line 114 of file Anim2D.h.

◆ s_anim2DFieldParseTable

const FieldParse Anim2DTemplate::s_anim2DFieldParseTable
staticprotected
Initial value:
=
{
{ "NumberImages", Anim2DTemplate::parseNumImages, NULL, 0 },
{ "Image", Anim2DTemplate::parseImage, NULL, 0 },
{ "ImageSequence", Anim2DTemplate::parseImageSequence, NULL, 0 },
{ "AnimationMode", INI::parseIndexList, Anim2DModeNames, offsetof( Anim2DTemplate, m_animMode ) },
{ "RandomizeStartFrame", INI::parseBool, NULL, offsetof( Anim2DTemplate, m_randomizeStartFrame ) },
{ NULL, NULL, NULL, 0 }
}
#define NULL
Definition BaseType.h:92
static void parseNumImages(INI *ini, void *instance, void *store, const void *userData)
Definition Anim2D.cpp:99
Anim2DMode m_animMode
the animation mode
Definition Anim2D.h:113
static void parseImageSequence(INI *ini, void *instance, void *store, const void *userData)
Definition Anim2D.cpp:183
UnsignedShort m_framesBetweenUpdates
frames between frame updates
Definition Anim2D.h:112
static void parseImage(INI *ini, void *instance, void *store, const void *userData)
Definition Anim2D.cpp:146
Bool m_randomizeStartFrame
randomize animation instance start frames
Definition Anim2D.h:114
Anim2DTemplate(AsciiString name)
Definition Anim2D.cpp:56
static void parseIndexList(INI *ini, void *instance, void *store, const void *userData)
Definition INI.cpp:1399
static void parseDurationUnsignedShort(INI *ini, void *instance, void *store, const void *userData)
Definition INI.cpp:1725
static void parseBool(INI *ini, void *instance, void *store, const void *userData)
Definition INI.cpp:612

the parse table for INI definition

Field parse table for 2D animation templates

Definition at line 83 of file Anim2D.h.


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