diff options
author | johndoe123 | 2014-04-11 09:40:54 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 2e149cf651ee9344ee96ea904c5dce5a444aeaff (patch) | |
tree | 5fb2c760d303a4db0856cbc4de7c94609d8b4238 /engines/illusions/illusions.h | |
parent | 67366aa04b723fadec300cc6ce1d5c6ee9241af7 (diff) | |
download | scummvm-rg350-2e149cf651ee9344ee96ea904c5dce5a444aeaff.tar.gz scummvm-rg350-2e149cf651ee9344ee96ea904c5dce5a444aeaff.tar.bz2 scummvm-rg350-2e149cf651ee9344ee96ea904c5dce5a444aeaff.zip |
ILLUSIONS: More work on Duckman
- Implement Duckman cursor and interaction handling
- Add more script opcodes
- Add TextDrawer and ScreenText (needs minor refactoring for BBDOU)
Diffstat (limited to 'engines/illusions/illusions.h')
-rw-r--r-- | engines/illusions/illusions.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/engines/illusions/illusions.h b/engines/illusions/illusions.h index ff7d2194af..3bfa8765cd 100644 --- a/engines/illusions/illusions.h +++ b/engines/illusions/illusions.h @@ -23,6 +23,7 @@ #ifndef ILLUSIONS_ILLUSIONS_H #define ILLUSIONS_ILLUSIONS_H +#include "illusions/graphics.h" #include "audio/mixer.h" #include "audio/decoders/aiff.h" #include "common/array.h" @@ -63,6 +64,7 @@ class Dictionary; class FramesList; class Input; class Screen; +class ScreenText; class ScriptOpcodes; class ScriptResource; class Sequence; @@ -97,6 +99,7 @@ public: void updateEvents(); Screen *_screen; + ScreenText *_screenText; Input *_input; ActorItems *_actorItems; BackgroundItems *_backgroundItems; @@ -118,6 +121,9 @@ public: int _field8; uint32 _fieldA, _fieldE; + WidthHeight _defaultTextDimensions; + Common::Point _defaultTextPosition; + int16 _menuChoiceOfs; int getGameId() const { @@ -143,7 +149,12 @@ public: void setCurrFontId(uint32 fontId); bool checkActiveTalkThreads(); uint32 clipTextDuration(uint32 duration); + void getDefaultTextDimensions(WidthHeight &dimensions); + void setDefaultTextDimensions(WidthHeight &dimensions); + void getDefaultTextPosition(Common::Point &position); + void setDefaultTextPosition(Common::Point &position); + virtual void setDefaultTextCoords() = 0; virtual void loadSpecialCode(uint32 resId) = 0; virtual void unloadSpecialCode(uint32 resId) = 0; virtual void notifyThreadId(uint32 &threadId) = 0; @@ -152,14 +163,12 @@ public: virtual uint32 getPriorityFromBase(int16 priority) = 0; virtual uint32 getPrevScene() = 0; virtual uint32 getCurrentScene() = 0; - virtual bool isCursorObject(uint32 actorTypeId, uint32 objectId) = 0; virtual void setCursorControlRoutine(Control *control) = 0; virtual void placeCursorControl(Control *control, uint32 sequenceId) = 0; virtual void setCursorControl(Control *control) = 0; virtual void showCursor() = 0; virtual void hideCursor() = 0; - virtual void startScriptThreadSimple(uint32 threadId, uint32 callingThreadId) = 0; virtual uint32 startTempScriptThread(byte *scriptCodeIp, uint32 callingThreadId, uint32 value8, uint32 valueC, uint32 value10) = 0; |