aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/thread.h
diff options
context:
space:
mode:
authorjohndoe1232014-03-13 19:55:25 +0100
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit9d35f807ecc0cbc7a98a987c02d58d795706ed1f (patch)
treed92c9e062265b56d2c2797d39f950494b83530ac /engines/illusions/thread.h
parent9696eb9a546891bf7ff601d94f7a8a2ff6730349 (diff)
downloadscummvm-rg350-9d35f807ecc0cbc7a98a987c02d58d795706ed1f.tar.gz
scummvm-rg350-9d35f807ecc0cbc7a98a987c02d58d795706ed1f.tar.bz2
scummvm-rg350-9d35f807ecc0cbc7a98a987c02d58d795706ed1f.zip
ILLUSIONS: More work on the script system
Diffstat (limited to 'engines/illusions/thread.h')
-rw-r--r--engines/illusions/thread.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/engines/illusions/thread.h b/engines/illusions/thread.h
index 2a2c0f10d2..eab92aeaad 100644
--- a/engines/illusions/thread.h
+++ b/engines/illusions/thread.h
@@ -36,16 +36,23 @@ enum ThreadType {
kTTSpecialThread = 5
};
+enum ThreadStatus {
+ kTSTerminate = 1,
+ kTSYield = 2,
+ kTSSuspend = 3,
+ kTSRun = 4
+};
+
class Thread {
public:
- Thread(IllusionsEngine *vm);
+ Thread(IllusionsEngine *vm, uint32 threadId, uint32 callingThreadId, uint notifyFlags);
virtual ~Thread();
- virtual int onUpdate() = 0;
- virtual void onSuspend() = 0;
- virtual void onNotify() = 0;
- virtual void onPause() = 0;
- virtual void onResume() = 0;
- virtual void onTerminated() = 0;
+ virtual int onUpdate();
+ virtual void onSuspend();
+ virtual void onNotify();
+ virtual void onPause();
+ virtual void onResume();
+ virtual void onTerminated();
void pause();
void resume();
void suspend();