diff options
author | johndoe123 | 2014-03-13 16:59:16 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 9696eb9a546891bf7ff601d94f7a8a2ff6730349 (patch) | |
tree | fd34a52adad30e0080bc399ff49b71f46fe3d3df /engines/illusions/thread.h | |
parent | fc47ac41ae0b5a7fab6a7dfa29b3e33e1e5df2ac (diff) | |
download | scummvm-rg350-9696eb9a546891bf7ff601d94f7a8a2ff6730349.tar.gz scummvm-rg350-9696eb9a546891bf7ff601d94f7a8a2ff6730349.tar.bz2 scummvm-rg350-9696eb9a546891bf7ff601d94f7a8a2ff6730349.zip |
ILLUSIONS: More work on the script system
Diffstat (limited to 'engines/illusions/thread.h')
-rw-r--r-- | engines/illusions/thread.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/engines/illusions/thread.h b/engines/illusions/thread.h index 27d4c41657..2a2c0f10d2 100644 --- a/engines/illusions/thread.h +++ b/engines/illusions/thread.h @@ -29,6 +29,13 @@ namespace Illusions { class IllusionsEngine; +enum ThreadType { + kTTScriptThread = 1, + kTTTimerThread = 2, + kTTTalkThread = 3, + kTTSpecialThread = 5 +}; + class Thread { public: Thread(IllusionsEngine *vm); @@ -63,6 +70,18 @@ public: ThreadList(IllusionsEngine *vm); void startThread(Thread *thread); void updateThreads(); + Thread *findThread(uint32 threadId); + void suspendId(uint32 threadId); + void notifyId(uint32 threadId); + void notifyTimerThreads(uint32 callingThreadId); + void suspendTimerThreads(uint32 callingThreadId); + void terminateThreads(uint32 threadId); + void terminateThreadsByTag(uint32 tag, uint32 threadId); + void suspendThreadsByTag(uint32 tag, uint32 threadId); + void notifyThreadsByTag(uint32 tag, uint32 threadId); + void pauseThreads(uint32 threadId); + void resumeThreads(uint32 threadId); + void killThread(uint32 threadId); protected: typedef Common::List<Thread*> List; typedef List::iterator Iterator; |