aboutsummaryrefslogtreecommitdiff
path: root/saga/script.h
diff options
context:
space:
mode:
Diffstat (limited to 'saga/script.h')
-rw-r--r--saga/script.h30
1 files changed, 21 insertions, 9 deletions
diff --git a/saga/script.h b/saga/script.h
index 3f195f6df7..b1389cfe18 100644
--- a/saga/script.h
+++ b/saga/script.h
@@ -110,21 +110,30 @@ enum OpCodes {
opReturn = 0x1B,
opReturnV = 0x1C,
//...
- opSpeak = 0x53
+ opSpeak = 0x53,
+ opDialogBegin = 0x54,
+ opDialogEnd = 0x55,
+ opReply = 0x56
};
enum CycleFlags {
- kCyclePong = (1 << 0),
- kCycleOnce = (1 << 1),
- kCycleRandom = (1 << 2),
- kCycleReverse = (1 << 3)
+ kCyclePong = 1 << 0,
+ kCycleOnce = 1 << 1,
+ kCycleRandom = 1 << 2,
+ kCycleReverse = 1 << 3
};
enum WalkFlags {
- kWalkBackPedal = (1<<0),
- kWalkAsync = (1<<1),
- kWalkUseAngle = (1<<2),
- kWalkFace = (1<<5)
+ kWalkBackPedal = 1 << 0,
+ kWalkAsync = 1 << 1,
+ kWalkUseAngle = 1 << 2,
+ kWalkFace = 1 << 5
+};
+
+enum ReplyFlags {
+ kReplyOnce = 1 << 0,
+ kReplySummary = 1 << 1,
+ kReplyCondition = 1 << 2
};
struct ScriptThread {
@@ -333,6 +342,9 @@ private:
void setThreadEntrypoint(ScriptThread *thread, int entrypointNumber);
private:
+ ScriptThread *_conversingThread;
+
+private:
typedef int (Script::*ScriptFunctionType)(SCRIPTFUNC_PARAMS);
struct ScriptFunctionDescription {