41class ScriptMaster :
public Listener
43 friend class ScriptThread;
52 Event fastEvent[ MAX_FASTEVENT+1 ];
58 unsigned int cmdCount;
63 SafePtr<ScriptThread> m_PreviousThread;
64 SafePtr<ScriptThread> m_CurrentThread;
66 con_map<const_str, GameScript *> m_GameScripts;
71 con_arrayset<str, str> StringDict;
75 static const char *ConstStrings[];
78 void InitConstStrings(
void);
79 void CloseGameScript();
80 GameScript *GetGameScriptInternal(str& filename);
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);
97 void ExecuteThread(
GameScript *scr, str label =
"");
98 void ExecuteThread(str filename, str label =
"");
99 void ExecuteThread(
GameScript *scr, str label, Event& parms);
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);