22 #ifndef GOT_GAME_SCRIPT_H 23 #define GOT_GAME_SCRIPT_H 25 #include "got/data/defines.h" 26 #include "got/gfx/gfx_pics.h" 30 typedef void (*ScriptEndFn)();
33 SCRIPT_READY, SCRIPT_PAUSED, SCRIPT_RESUMING
41 void executeScript(
long index,
const Gfx::Pics &speakerIcon, ScriptEndFn endFn =
nullptr);
44 void setAskResponse(
int option);
48 ScriptEndFn _endFn =
nullptr;
49 long _numVar[26] = {};
50 char _strVar[26][81] = {};
51 char _lineLabel[32][9] = {};
52 char *_linePtr[32] = {};
53 char *_newPtr =
nullptr;
55 char *_gosubStack[32] = {};
57 char *_forStack[11] = {};
58 long _forVal[11] = {};
59 int8 _forVar[11] = {};
61 char *_buffPtr =
nullptr;
62 char *_buffEnd =
nullptr;
63 char *_buffer =
nullptr;
68 char _tempS[255] = {};
69 ScriptPause _paused = SCRIPT_READY;
74 void scriptError(
int err_num);
79 int calcString(
int mode);
81 int getInternalVariable();
82 int execCommand(
int num);
83 int getLine(
char *src,
char *dst);
95 int cmd_say(
int mode,
int type);
114 typedef void (
Scripts:: *ScrFunction)();
115 static ScrFunction scr_func[5];
117 void runScript(
bool firstTime =
true);
122 extern void executeScript(
long index,
const Gfx::Pics &speakerIcon,
123 ScriptEndFn endFn =
nullptr);
Definition: gfx_pics.h:77