aboutsummaryrefslogtreecommitdiff
path: root/saga/script.h
diff options
context:
space:
mode:
authorEugene Sandulenko2005-01-17 20:17:06 +0000
committerEugene Sandulenko2005-01-17 20:17:06 +0000
commitdab894fdd49eef7a34f9f9f1c17c7c22741a1add (patch)
tree9f446ff30b1398626cb1df7b03f2f9573c08c685 /saga/script.h
parent4cacb8d20caeb7264098845fef1329b61eec5bf6 (diff)
downloadscummvm-rg350-dab894fdd49eef7a34f9f9f1c17c7c22741a1add.tar.gz
scummvm-rg350-dab894fdd49eef7a34f9f9f1c17c7c22741a1add.tar.bz2
scummvm-rg350-dab894fdd49eef7a34f9f9f1c17c7c22741a1add.zip
First batch of converse implementation in scripts. To see it type
'scene_change 33' in debugger. svn-id: r16588
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 {