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

#include <Scripts.h>

Inherits MemoryPoolObject, and Snapshot.

Public Member Functions

 Script ()
 
Scriptduplicate (void) const
 
ScriptduplicateAndQualify (const AsciiString &qualifier, const AsciiString &playerTemplateName, const AsciiString &newPlayerName) const
 
void setName (AsciiString name)
 
void setWarnings (Bool warnings)
 
void setComment (AsciiString comment)
 
void setActionComment (AsciiString comment)
 
void setConditionComment (AsciiString comment)
 
void setActive (Bool active)
 
void setOneShot (Bool one)
 
void setEasy (Bool easy)
 
void setNormal (Bool normal)
 
void setHard (Bool hard)
 
void setSubroutine (Bool subr)
 
void setNextScript (Script *pScr)
 
void setOrCondition (OrCondition *pCond)
 
void setAction (ScriptAction *pAction)
 
void setFalseAction (ScriptAction *pAction)
 
void updateFrom (Script *pSrc)
 Updates this from pSrc. pSrc IS MODIFIED - it's guts are removed. jba.
 
void setFrameToEvaluate (UnsignedInt frame)
 
void incrementConditionCount (void)
 
void addToConditionTime (Real time)
 
void setCurTime (Real time)
 
void setDelayEvalSeconds (Int delay)
 
UnsignedInt getFrameToEvaluate (void)
 
Int getConditionCount (void)
 
Real getConditionTime (void)
 
Real getCurTime (void)
 
Int getDelayEvalSeconds (void)
 
AsciiString getName (void) const
 
AsciiString getComment (void) const
 
AsciiString getActionComment (void) const
 
AsciiString getConditionComment (void) const
 
Bool hasWarnings (void) const
 
Bool isActive (void) const
 
Bool isOneShot (void) const
 
Bool isEasy (void) const
 
Bool isNormal (void) const
 
Bool isHard (void) const
 
Bool isSubroutine (void) const
 
ScriptgetNext (void) const
 
OrConditiongetOrCondition (void) const
 
ScriptActiongetAction (void) const
 
ScriptActiongetFalseAction (void) const
 
AsciiString getUiText (void)
 
void deleteOrCondition (OrCondition *pCond)
 
void deleteAction (ScriptAction *pAct)
 
void deleteFalseAction (ScriptAction *pAct)
 
OrConditionfindPreviousOrCondition (OrCondition *curOr)
 
AsciiString getConditionTeamName (void)
 
void setConditionTeamName (AsciiString teamName)
 
- Public Member Functions inherited from MemoryPoolObject
void deleteInstance ()
 
- Public Member Functions inherited from Snapshot
 Snapshot (void)
 
 ~Snapshot (void)
 

Static Public Member Functions

static void WriteScriptDataChunk (DataChunkOutput &chunkWriter, Script *pScript)
 
static ScriptParseScript (DataChunkInput &file, unsigned short version)
 
static Bool ParseScriptFromListDataChunk (DataChunkInput &file, DataChunkInfo *info, void *userData)
 
static Bool ParseScriptFromGroupDataChunk (DataChunkInput &file, DataChunkInfo *info, void *userData)
 

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

AsciiString m_scriptName
 Short name.
 
AsciiString m_comment
 Long comment.
 
AsciiString m_conditionComment
 Long comment about conditions.
 
AsciiString m_actionComment
 Long comment about actions.
 
Int m_delayEvaluationSeconds
 Number of seconds to delay evaluation.
 
Bool m_isActive
 If true, script is enabled. If false, disabled.
 
Bool m_isOneShot
 If true, script is made not active after executing the m_action actions.
 
Bool m_isSubroutine
 If true, script is a subroutine.
 
Bool m_easy
 Applies to easy campaign.
 
Bool m_normal
 Applies to normal campaign.
 
Bool m_hard
 Applies to Hard campaign.
 
OrConditionm_condition
 First in a list of ORed clauses.
 
ScriptActionm_action
 First in a list of actions executed if the conditions are true.
 
ScriptActionm_actionFalse
 First in a list of actions executed if the conditions are false.
 
Scriptm_nextScript
 Next in the list of scripts.
 
UnsignedInt m_frameToEvaluateAt
 When to evaluate the conditions next, if m_delayEvaluationSeconds>0.
 
Bool m_hasWarnings
 Runtime flag used by the editor only.
 
AsciiString m_conditionTeamName
 Runtime name used by ScriptEngine only.
 
Real m_conditionTime
 Amount of time (cum) to evaluate conditions.
 
Real m_curTime
 Amount of time (cum) to evaluate conditions.
 
Int m_conditionExecutedCount
 Number of times conditions evaluated.
 

Detailed Description

This is a script, in a linked list of scripts. The m_condition list is evaluated, and if one of the or clauses is true, the m_action list is executed. .

Definition at line 604 of file Scripts.h.

Constructor & Destructor Documentation

◆ Script()

Script::Script ( void )

Ctor - initializes members.

Definition at line 911 of file Scripts.cpp.

Member Function Documentation

◆ addToConditionTime()

void Script::addToConditionTime ( Real time)
inline

Definition at line 665 of file Scripts.h.

◆ crc()

void Script::crc ( Xfer * xfer)
protectedvirtual

CRC

Implements Snapshot.

Definition at line 965 of file Scripts.cpp.

◆ deleteAction()

void Script::deleteAction ( ScriptAction * pAct)

Script::deleteAction - delete pAct from the action list.

Definition at line 1137 of file Scripts.cpp.

◆ deleteFalseAction()

void Script::deleteFalseAction ( ScriptAction * pAct)

Script::deleteFalseAction - delete pAct from the false action list.

Definition at line 1160 of file Scripts.cpp.

◆ deleteOrCondition()

void Script::deleteOrCondition ( OrCondition * pCond)

Script::deleteOrCondition - delete pCond from the or condition list.

Definition at line 1114 of file Scripts.cpp.

◆ duplicate()

Script * Script::duplicate ( void ) const

Script::duplicate - Creates a full, "deep" copy of script. Condition list and action list is duplicated as well. Note - just the script, doesn't duplicate a list of scripts. m_nextScript is NULL on the copy.

Definition at line 1003 of file Scripts.cpp.

◆ duplicateAndQualify()

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

Script::duplicate - Creates a full, "deep" copy of script, with qualifier added to names. Condition list and action list is duplicated as well. Note - just the script, doesn't duplicate a list of scripts. m_nextScript is NULL on the copy.

Definition at line 1041 of file Scripts.cpp.

◆ findPreviousOrCondition()

OrCondition * Script::findPreviousOrCondition ( OrCondition * curOr)

Script::findPreviousOrCondition - find the OrCondition that immediately proceeds curOr. Input: OrCondition

Definition at line 1331 of file Scripts.cpp.

◆ getAction()

ScriptAction * Script::getAction ( void ) const
inline

Definition at line 688 of file Scripts.h.

◆ getActionComment()

AsciiString Script::getActionComment ( void ) const
inline

Definition at line 677 of file Scripts.h.

◆ getComment()

AsciiString Script::getComment ( void ) const
inline

Definition at line 676 of file Scripts.h.

◆ getConditionComment()

AsciiString Script::getConditionComment ( void ) const
inline

Definition at line 678 of file Scripts.h.

◆ getConditionCount()

Int Script::getConditionCount ( void )
inline

Definition at line 670 of file Scripts.h.

◆ getConditionTeamName()

AsciiString Script::getConditionTeamName ( void )
inline

Definition at line 705 of file Scripts.h.

◆ getConditionTime()

Real Script::getConditionTime ( void )
inline

Definition at line 671 of file Scripts.h.

◆ getCurTime()

Real Script::getCurTime ( void )
inline

Definition at line 672 of file Scripts.h.

◆ getDelayEvalSeconds()

Int Script::getDelayEvalSeconds ( void )
inline

Definition at line 673 of file Scripts.h.

◆ getFalseAction()

ScriptAction * Script::getFalseAction ( void ) const
inline

Definition at line 689 of file Scripts.h.

◆ getFrameToEvaluate()

UnsignedInt Script::getFrameToEvaluate ( void )
inline

Definition at line 669 of file Scripts.h.

◆ getName()

AsciiString Script::getName ( void ) const
inline

Definition at line 675 of file Scripts.h.

◆ getNext()

Script * Script::getNext ( void ) const
inline

Definition at line 686 of file Scripts.h.

◆ getOrCondition()

OrCondition * Script::getOrCondition ( void ) const
inline

Definition at line 687 of file Scripts.h.

◆ getUiText()

AsciiString Script::getUiText ( void )

Script::getUiText - Creates the string to display in the scripts dialog box.

Definition at line 1183 of file Scripts.cpp.

◆ hasWarnings()

Bool Script::hasWarnings ( void ) const
inline

Definition at line 679 of file Scripts.h.

◆ incrementConditionCount()

void Script::incrementConditionCount ( void )
inline

Definition at line 664 of file Scripts.h.

◆ isActive()

Bool Script::isActive ( void ) const
inline

Definition at line 680 of file Scripts.h.

◆ isEasy()

Bool Script::isEasy ( void ) const
inline

Definition at line 682 of file Scripts.h.

◆ isHard()

Bool Script::isHard ( void ) const
inline

Definition at line 684 of file Scripts.h.

◆ isNormal()

Bool Script::isNormal ( void ) const
inline

Definition at line 683 of file Scripts.h.

◆ isOneShot()

Bool Script::isOneShot ( void ) const
inline

Definition at line 681 of file Scripts.h.

◆ isSubroutine()

Bool Script::isSubroutine ( void ) const
inline

Definition at line 685 of file Scripts.h.

◆ loadPostProcess()

void Script::loadPostProcess ( void )
protectedvirtual

Load post process

Implements Snapshot.

Definition at line 993 of file Scripts.cpp.

◆ ParseScript()

Script * Script::ParseScript ( DataChunkInput & file,
unsigned short version )
static

Script::ParseScript - read a script chunk. Format is the newer CHUNKY format. See ScriptList::WriteScriptDataChunk for the writer. Input: DataChunkInput

Definition at line 1264 of file Scripts.cpp.

◆ ParseScriptFromGroupDataChunk()

Bool Script::ParseScriptFromGroupDataChunk ( DataChunkInput & file,
DataChunkInfo * info,
void * userData )
static

Script::ParseScriptFromGroupDataChunk - read a script chunk in a script group. Format is the newer CHUNKY format. See ScriptList::WriteScriptListDataChunk for the writer. Input: DataChunkInput

Definition at line 1316 of file Scripts.cpp.

◆ ParseScriptFromListDataChunk()

Bool Script::ParseScriptFromListDataChunk ( DataChunkInput & file,
DataChunkInfo * info,
void * userData )
static

Script::ParseScriptFromListDataChunk - read a script chunk in a script list. Format is the newer CHUNKY format. See ScriptList::WriteScriptListDataChunk for the writer. Input: DataChunkInput

Definition at line 1300 of file Scripts.cpp.

◆ setAction()

void Script::setAction ( ScriptAction * pAction)
inline

Definition at line 660 of file Scripts.h.

◆ setActionComment()

void Script::setActionComment ( AsciiString comment)
inline

Definition at line 650 of file Scripts.h.

◆ setActive()

void Script::setActive ( Bool active)
inline

Definition at line 652 of file Scripts.h.

◆ setComment()

void Script::setComment ( AsciiString comment)
inline

Definition at line 649 of file Scripts.h.

◆ setConditionComment()

void Script::setConditionComment ( AsciiString comment)
inline

Definition at line 651 of file Scripts.h.

◆ setConditionTeamName()

void Script::setConditionTeamName ( AsciiString teamName)
inline

Definition at line 706 of file Scripts.h.

◆ setCurTime()

void Script::setCurTime ( Real time)
inline

Definition at line 666 of file Scripts.h.

◆ setDelayEvalSeconds()

void Script::setDelayEvalSeconds ( Int delay)
inline

Definition at line 667 of file Scripts.h.

◆ setEasy()

void Script::setEasy ( Bool easy)
inline

Definition at line 654 of file Scripts.h.

◆ setFalseAction()

void Script::setFalseAction ( ScriptAction * pAction)
inline

Definition at line 661 of file Scripts.h.

◆ setFrameToEvaluate()

void Script::setFrameToEvaluate ( UnsignedInt frame)
inline

Definition at line 663 of file Scripts.h.

◆ setHard()

void Script::setHard ( Bool hard)
inline

Definition at line 656 of file Scripts.h.

◆ setName()

void Script::setName ( AsciiString name)
inline

Definition at line 647 of file Scripts.h.

◆ setNextScript()

void Script::setNextScript ( Script * pScr)
inline

Definition at line 658 of file Scripts.h.

◆ setNormal()

void Script::setNormal ( Bool normal)
inline

Definition at line 655 of file Scripts.h.

◆ setOneShot()

void Script::setOneShot ( Bool one)
inline

Definition at line 653 of file Scripts.h.

◆ setOrCondition()

void Script::setOrCondition ( OrCondition * pCond)
inline

Definition at line 659 of file Scripts.h.

◆ setSubroutine()

void Script::setSubroutine ( Bool subr)
inline

Definition at line 657 of file Scripts.h.

◆ setWarnings()

void Script::setWarnings ( Bool warnings)
inline

Definition at line 648 of file Scripts.h.

◆ updateFrom()

void Script::updateFrom ( Script * pSrc)

Updates this from pSrc. pSrc IS MODIFIED - it's guts are removed. jba.

Script::updateFrom - Copies all the data from pSrc into this. Any data in this is deleted (conditions, actions). Note that this guts pSrc, and removes it's conditions and actions. Intended for use in an edit dialog, where pSrc is a copy edited, and if cancelled discarded, and if not cancelled, updated into the real script, then discarded.

Definition at line 1081 of file Scripts.cpp.

◆ WriteScriptDataChunk()

void Script::WriteScriptDataChunk ( DataChunkOutput & chunkWriter,
Script * pScript )
static

Script::WriteScriptDataChunk - Writes a Scripts chunk. Format is the newer CHUNKY format. Input: DataChunkInput

Definition at line 1233 of file Scripts.cpp.

◆ xfer()

void Script::xfer ( Xfer * xfer)
protectedvirtual

Xfer method Version Info: 1: Initial version

Implements Snapshot.

Definition at line 975 of file Scripts.cpp.

Member Data Documentation

◆ m_action

ScriptAction* Script::m_action
protected

First in a list of actions executed if the conditions are true.

Definition at line 627 of file Scripts.h.

◆ m_actionComment

AsciiString Script::m_actionComment
protected

Long comment about actions.

Definition at line 617 of file Scripts.h.

◆ m_actionFalse

ScriptAction* Script::m_actionFalse
protected

First in a list of actions executed if the conditions are false.

Definition at line 628 of file Scripts.h.

◆ m_comment

AsciiString Script::m_comment
protected

Long comment.

Definition at line 615 of file Scripts.h.

◆ m_condition

OrCondition* Script::m_condition
protected

First in a list of ORed clauses.

Definition at line 626 of file Scripts.h.

◆ m_conditionComment

AsciiString Script::m_conditionComment
protected

Long comment about conditions.

Definition at line 616 of file Scripts.h.

◆ m_conditionExecutedCount

Int Script::m_conditionExecutedCount
protected

Number of times conditions evaluated.

Definition at line 637 of file Scripts.h.

◆ m_conditionTeamName

AsciiString Script::m_conditionTeamName
protected

Runtime name used by ScriptEngine only.

Definition at line 634 of file Scripts.h.

◆ m_conditionTime

Real Script::m_conditionTime
protected

Amount of time (cum) to evaluate conditions.

Definition at line 635 of file Scripts.h.

◆ m_curTime

Real Script::m_curTime
protected

Amount of time (cum) to evaluate conditions.

Definition at line 636 of file Scripts.h.

◆ m_delayEvaluationSeconds

Int Script::m_delayEvaluationSeconds
protected

Number of seconds to delay evaluation.

Definition at line 618 of file Scripts.h.

◆ m_easy

Bool Script::m_easy
protected

Applies to easy campaign.

Definition at line 622 of file Scripts.h.

◆ m_frameToEvaluateAt

UnsignedInt Script::m_frameToEvaluateAt
protected

When to evaluate the conditions next, if m_delayEvaluationSeconds>0.

Definition at line 632 of file Scripts.h.

◆ m_hard

Bool Script::m_hard
protected

Applies to Hard campaign.

Definition at line 624 of file Scripts.h.

◆ m_hasWarnings

Bool Script::m_hasWarnings
protected

Runtime flag used by the editor only.

Definition at line 633 of file Scripts.h.

◆ m_isActive

Bool Script::m_isActive
protected

If true, script is enabled. If false, disabled.

Definition at line 619 of file Scripts.h.

◆ m_isOneShot

Bool Script::m_isOneShot
protected

If true, script is made not active after executing the m_action actions.

Definition at line 620 of file Scripts.h.

◆ m_isSubroutine

Bool Script::m_isSubroutine
protected

If true, script is a subroutine.

Definition at line 621 of file Scripts.h.

◆ m_nextScript

Script* Script::m_nextScript
protected

Next in the list of scripts.

Definition at line 629 of file Scripts.h.

◆ m_normal

Bool Script::m_normal
protected

Applies to normal campaign.

Definition at line 623 of file Scripts.h.

◆ m_scriptName

AsciiString Script::m_scriptName
protected

Short name.

Definition at line 614 of file Scripts.h.


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