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

List of scripts. May have one level of hierarchy in the ScriptGroup list. More...

#include <Scripts.h>

Inherits MemoryPoolObject, and Snapshot.

Public Member Functions

 ScriptList ()
 
ScriptGroupgetScriptGroup (void)
 
ScriptgetScript (void)
 
void WriteScriptListDataChunk (DataChunkOutput &chunkWriter)
 
void addGroup (ScriptGroup *pGrp, Int ndx)
 
void addScript (Script *pScr, Int ndx)
 
void deleteScript (Script *pScr)
 
void deleteGroup (ScriptGroup *pGrp)
 
void discard (void)
 
ScriptListduplicate (void) const
 
ScriptListduplicateAndQualify (const AsciiString &qualifier, const AsciiString &playerTemplateName, const AsciiString &newPlayerName) const
 
- Public Member Functions inherited from MemoryPoolObject
void deleteInstance ()
 
- Public Member Functions inherited from Snapshot
 Snapshot (void)
 
 ~Snapshot (void)
 

Static Public Member Functions

static void updateDefaults (void)
 
static void reset (void)
 
static Int getNextID (void)
 
static Bool ParseScriptListDataChunk (DataChunkInput &file, DataChunkInfo *info, void *userData)
 
static Bool ParseScriptsDataChunk (DataChunkInput &file, DataChunkInfo *info, void *userData)
 Reads a set of scripts into m_readScripts. Use getReadScripts to access.
 
static void WriteScriptsDataChunk (DataChunkOutput &chunkWriter, ScriptList *scriptLists[], Int numLists)
 Writes sides (including build list info.)
 
static Int getReadScripts (ScriptList *scriptLists[MAX_PLAYER_COUNT])
 

Protected Member Functions

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

Protected Attributes

ScriptGroupm_firstGroup
 
Scriptm_firstScript
 

Static Protected Attributes

static Int m_curId = 0
 
static ScriptLists_readLists [MAX_PLAYER_COUNT] = {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}
 
static Int s_numInReadList = 0
 

Detailed Description

List of scripts. May have one level of hierarchy in the ScriptGroup list.

Definition at line 1086 of file Scripts.h.

Constructor & Destructor Documentation

◆ ScriptList()

ScriptList::ScriptList ( void )

Ctor.

Definition at line 214 of file Scripts.cpp.

Member Function Documentation

◆ addGroup()

void ScriptList::addGroup ( ScriptGroup * pGrp,
Int ndx )

Add a script group to the current list of groups. Offset to position ndx.

Definition at line 430 of file Scripts.cpp.

◆ addScript()

void ScriptList::addScript ( Script * pScr,
Int ndx )

Add a script to the current list of scripts. Offset to position ndx.

Definition at line 454 of file Scripts.cpp.

◆ crc()

void ScriptList::crc ( Xfer * xfer)
protectedvirtual

CRC

Implements Snapshot.

Definition at line 239 of file Scripts.cpp.

◆ deleteGroup()

void ScriptList::deleteGroup ( ScriptGroup * pGrp)

Delete a group from the current list of groups.

Definition at line 502 of file Scripts.cpp.

◆ deleteScript()

void ScriptList::deleteScript ( Script * pScr)

Delete a script from the current list of scripts.

Definition at line 476 of file Scripts.cpp.

◆ discard()

void ScriptList::discard ( void )

ScriptList::discard - Deletes a script list, but not any children.

Definition at line 420 of file Scripts.cpp.

◆ duplicate()

ScriptList * ScriptList::duplicate ( void ) const

ScriptList::duplicate - Creates a full, "deep" copy of scriptlist.

Definition at line 330 of file Scripts.cpp.

◆ duplicateAndQualify()

ScriptList * ScriptList::duplicateAndQualify ( const AsciiString & qualifier,
const AsciiString & playerTemplateName,
const AsciiString & newPlayerName ) const

ScriptList::duplicateAndQualify - Creates a full, "deep" copy of scriptlist, adding the qualifier to names.

Definition at line 375 of file Scripts.cpp.

◆ getNextID()

static Int ScriptList::getNextID ( void )
inlinestatic

Definition at line 1112 of file Scripts.h.

◆ getReadScripts()

Int ScriptList::getReadScripts ( ScriptList * scriptLists[MAX_PLAYER_COUNT])
static

Returns array of script list pointers. This can only be called once after scripts are read, and the caller is responsible for deleting the scripts.

ScriptList::getReadScripts - Gets the scripts read in from a file by . ScriptList::ParseScriptsDataChunk.

Definition at line 563 of file Scripts.cpp.

◆ getScript()

Script * ScriptList::getScript ( void )
inline

Definition at line 1116 of file Scripts.h.

◆ getScriptGroup()

ScriptGroup * ScriptList::getScriptGroup ( void )
inline

Definition at line 1115 of file Scripts.h.

◆ loadPostProcess()

void ScriptList::loadPostProcess ( void )
protectedvirtual

Load post process

Implements Snapshot.

Definition at line 322 of file Scripts.cpp.

◆ ParseScriptListDataChunk()

Bool ScriptList::ParseScriptListDataChunk ( DataChunkInput & file,
DataChunkInfo * info,
void * userData )
static

ScriptList::ParseScriptListDataChunk - read a Scripts chunk. Format is the newer CHUNKY format. See ScriptList::WriteScriptListDataChunk for the writer. Input: DataChunkInput

Definition at line 619 of file Scripts.cpp.

◆ ParseScriptsDataChunk()

Bool ScriptList::ParseScriptsDataChunk ( DataChunkInput & file,
DataChunkInfo * info,
void * userData )
static

Reads a set of scripts into m_readScripts. Use getReadScripts to access.

ScriptList::ParseScriptsDataChunk - read a Scripts chunk. Format is the newer CHUNKY format. See ScriptList::ScriptList for the writer. Input: DataChunkInput

Definition at line 531 of file Scripts.cpp.

◆ reset()

void ScriptList::reset ( void )
static

Deletes any script lists attached to sides. Used for editor cleanup.

Todo
  • move this code into sides list.

Definition at line 197 of file Scripts.cpp.

◆ updateDefaults()

void ScriptList::updateDefaults ( void )
static

ScriptList::updateDefaults - checks for empty script lists, and adds some default stuff so you don't get a totally blank screen in the editor.

Definition at line 181 of file Scripts.cpp.

◆ WriteScriptListDataChunk()

void ScriptList::WriteScriptListDataChunk ( DataChunkOutput & chunkWriter)

ScriptList::WriteScriptListDataChunk - Writes a Scripts chunk. Format is the newer CHUNKY format. Input: DataChunkInput

Definition at line 604 of file Scripts.cpp.

◆ WriteScriptsDataChunk()

void ScriptList::WriteScriptsDataChunk ( DataChunkOutput & chunkWriter,
ScriptList * scriptLists[],
Int numLists )
static

Writes sides (including build list info.)

ScriptList::WriteScriptsDataChunk - Writes a Scripts chunk. Format is the newer CHUNKY format. See ScriptEngine::ParseScriptsDataChunk for the reader. Input: DataChunkInput

Definition at line 582 of file Scripts.cpp.

◆ xfer()

void ScriptList::xfer ( Xfer * xfer)
protectedvirtual

Xfer method Version Info: 1: Initial version

Implements Snapshot.

Definition at line 249 of file Scripts.cpp.

Member Data Documentation

◆ m_curId

Int ScriptList::m_curId = 0
staticprotected

Definition at line 1100 of file Scripts.h.

◆ m_firstGroup

ScriptGroup* ScriptList::m_firstGroup
protected

Definition at line 1098 of file Scripts.h.

◆ m_firstScript

Script* ScriptList::m_firstScript
protected

Definition at line 1099 of file Scripts.h.

◆ s_numInReadList

Int ScriptList::s_numInReadList = 0
staticprotected

Definition at line 1103 of file Scripts.h.

◆ s_readLists

ScriptList * ScriptList::s_readLists = {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}
staticprotected

Definition at line 172 of file Scripts.h.


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