41class ScriptMaster :
public Listener
43 friend class ScriptThread;
52 Event fastEvent[ MAX_FASTEVENT+1 ];
58 unsigned int cmdCount;
75 static const char *ConstStrings[];
78 void InitConstStrings(
void);
79 void CloseGameScript();
81 void ExecuteRunning();
82 void Cache(
Event *ev);
83 void RegisterAliasAndCache(
Event *ev);
84 void RegisterAlias(
Event *ev);
87 CLASS_PROTOTYPE(ScriptMaster);
90 virtual ~ScriptMaster();
95 ScriptThread *CreateThread(
GameScript *scr,
str label, Listener *self = NULL);
96 ScriptThread *CreateThread(
str filename,
str label, Listener *self = NULL);
98 void ExecuteThread(
str filename,
str label =
"");
100 void ExecuteThread(
str filename,
str label,
Event &parms);
101 ScriptThread *CreateScriptThread(
ScriptClass *scriptClass,
unsigned char *m_pCodePos);
102 ScriptThread *CreateScriptThread(
GameScript *scr, Listener *self, const_str label);
103 ScriptThread *CreateScriptThread(
GameScript *scr, Listener *self,
str label);
104 ScriptThread *CreateScriptThread(
ScriptClass *scriptClass, const_str label);
105 ScriptThread *CreateScriptThread(
ScriptClass *scriptClass,
str label);
106 void Reset(qboolean samemap =
false);
107 ScriptThread *PreviousThread(
void);
108 ScriptThread *CurrentThread(
void);
109 ScriptThread *CurrentScriptThread(
void);
112 GameScript *GetGameScript(const_str filename, qboolean recompile =
false);
113 GameScript *GetGameScript(
str filename, qboolean recompile =
false);
114 GameScript *GetScript(const_str filename, qboolean recompile =
false);
115 GameScript *GetScript(
str filename, qboolean recompile =
false);
117 void SetTime(
int time);
119 void AddTiming(ScriptThread *thread,
int time);
120 void RemoveTiming(ScriptThread *thread);
121 const_str AddString(
const char *s);
122 const_str AddString(
str& s);
123 const_str GetString(
const char *s);
124 const_str GetString(
str s);
125 str & GetString(const_str s);
127 void ArchiveString(
Archiver& arc, const_str& s);
131 void AllowPause(
bool allow);
132 void AddMenu(
str name);
133 void RemoveMenu(
str name);
134 void LoadMenus(
void);
135 void Archive(
Archiver& arc)
override;
139 void PrintStatus(
void);
140 void PrintThread(
int iThreadNum);