43 unsigned int sourcePos;
44 unsigned int startLinePos;
61 size_t m_SourceLength;
67 size_t cachedInfoIndex;
73 const_str ConstFilename(
void);
74 bool GetSourceAt(
size_t sourcePos,
str *sourceLine,
int& column,
int& line);
75 bool GetSourceAt(
const unsigned char *sourcePos,
str *sourceLine,
int& column,
int& line);
77 void PrintSourcePos(
size_t sourcePos,
bool dev);
78 void PrintSourcePos(
unsigned char *m_pCodePos,
bool dev);
79 void PrintSourcePos(
str sourceLine,
int column,
int line,
bool dev);
82class StateScript :
public Class
84 friend class GameScript;
97 void Archive(
Archiver& arc)
override;
99 bool AddLabel(
str label,
unsigned char *pos,
bool private_section =
false);
100 bool AddLabel(const_str label,
unsigned char *pos,
bool private_section =
false);
101 unsigned char *FindLabel(
str label);
102 unsigned char *FindLabel(const_str label);
103 const_str NearestLabel(
unsigned char *pos);
113 unsigned char *m_TryStartCodePos;
114 unsigned char *m_TryEndCodePos;
117class GameScript :
public AbstractScript
127 unsigned char *m_ProgBuffer;
135 unsigned int requiredStackSize;
139 GameScript(
const char *filename);
143 static void Archive(
Archiver& arc, GameScript *& scr);
144 void ArchiveCodePos(
Archiver& arc,
unsigned char **codePos);
147 void Load(
const void *sourceBuffer,
size_t sourceLength);
149 bool GetCodePos(
unsigned char *codePos,
str& filename,
int& pos);
150 bool SetCodePos(
unsigned char *& codePos,
str& filename,
int pos);
152 unsigned int GetRequiredStackSize(
void);
154 qboolean labelExists(
const char *name);
156 StateScript *CreateCatchStateScript(
unsigned char *try_begin_code_pos,
unsigned char *try_end_code_pos);
159 StateScript *GetCatchStateScript(
unsigned char *in,
unsigned char *& out);
161 bool ScriptCheck(
void);
164class ScriptThreadLabel
174 void Execute(
Listener *listener = NULL)
const;
180 void Set(
const char *label);
181 void Set(const_str label);
183 void SetScript(
const char *label);
184 void SetScript(const_str label);
187 bool TrySet(const_str label);
188 bool TrySet(
const char *label);
189 bool TrySetScript(const_str label);
190 bool TrySetScript(
const char *label);
192 bool IsSet(
void)
const;
193 bool IsFile(const_str filename)
const;
199 friend bool operator==(
const ScriptThreadLabel& a,
const ScriptThreadLabel& b);
204 return a.m_Label == b.m_Label && a.m_Script == b.m_Script;
Definition gamescript.h:107
Definition container.h:85
Definition listener.h:246
Definition gamescript.h:118
Definition listener.h:450
Definition gamescript.h:165
Definition scriptthread.h:28
Definition scriptvariable.h:75
Definition gamescript.h:83
Definition gamescript.h:36
Definition gamescript.h:42