aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst.h
diff options
context:
space:
mode:
authorBastien Bouclet2010-11-29 20:51:04 +0000
committerBastien Bouclet2010-11-29 20:51:04 +0000
commit2e984cf136c2199b7ea1aed4bddcfe4f555e1d76 (patch)
tree5cb53834f4841ca53ca4afae313e084953734ef3 /engines/mohawk/myst.h
parent16afca4c3ddb776bde8d882f229990f137a9c183 (diff)
downloadscummvm-rg350-2e984cf136c2199b7ea1aed4bddcfe4f555e1d76.tar.gz
scummvm-rg350-2e984cf136c2199b7ea1aed4bddcfe4f555e1d76.tar.bz2
scummvm-rg350-2e984cf136c2199b7ea1aed4bddcfe4f555e1d76.zip
MOHAWK : Move area classes to their own file
svn-id: r54598
Diffstat (limited to 'engines/mohawk/myst.h')
-rw-r--r--engines/mohawk/myst.h193
1 files changed, 2 insertions, 191 deletions
diff --git a/engines/mohawk/myst.h b/engines/mohawk/myst.h
index de433e089e..4c87b45659 100644
--- a/engines/mohawk/myst.h
+++ b/engines/mohawk/myst.h
@@ -43,6 +43,7 @@ class MystScriptParser;
class MystConsole;
class MystSaveLoad;
class MystOptionsDialog;
+class MystResource;
// Engine Debug Flags
enum {
@@ -148,197 +149,6 @@ struct MystView {
uint16 exit;
};
-class MystResource {
-public:
- MystResource(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
- virtual ~MystResource();
-
- MystResource *_parent;
- uint16 type;
-
- bool contains(Common::Point point) { return _rect.contains(point); }
- virtual void drawDataToScreen() {}
- virtual void drawConditionalDataToScreen(uint16 state) {}
- virtual void handleAnimation() {}
- virtual Common::Rect getRect() { return _rect; }
- bool isEnabled() { return _enabled; }
- void setEnabled(bool enabled) { _enabled = enabled; }
- uint16 getDest() { return _dest; }
- virtual uint16 getType8Var() { return 0xFFFF; }
-
- // Mouse interface
- virtual void handleMouseUp();
- virtual void handleMouseDown() {}
- virtual void handleMouseMove() {}
- virtual void handleMouseEnter() {}
- virtual void handleMouseLeave() {}
-
-protected:
- MohawkEngine_Myst *_vm;
-
- uint16 _flags;
- Common::Rect _rect;
- uint16 _dest;
- bool _enabled;
-};
-
-class MystResourceType5 : public MystResource {
-public:
- MystResourceType5(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
- void handleMouseUp();
-
-protected:
- MystScript _script;
-};
-
-class MystResourceType6 : public MystResourceType5 {
-public:
- MystResourceType6(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
- void handleAnimation();
-
-protected:
- static Common::String convertMystVideoName(const Common::String &name);
- Common::String _videoFile;
- uint16 _left;
- uint16 _top;
- uint16 _loop;
- uint16 _u0;
- uint16 _playBlocking;
- uint16 _playOnCardChange;
- uint16 _u3;
-
-private:
- bool _videoRunning;
-};
-
-struct MystResourceType7 : public MystResource {
-public:
- MystResourceType7(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
- virtual ~MystResourceType7();
-
- virtual void drawDataToScreen();
- virtual void handleAnimation();
-
- virtual void handleMouseUp();
- virtual void handleMouseDown();
- virtual void handleMouseEnter();
- virtual void handleMouseLeave();
-
-protected:
- uint16 _var7;
- uint16 _numSubResources;
- Common::Array<MystResource*> _subResources;
-};
-
-class MystResourceType8 : public MystResourceType7 {
-public:
- MystResourceType8(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
- virtual ~MystResourceType8();
- void drawDataToScreen();
- void drawConditionalDataToScreen(uint16 state);
- uint16 getType8Var();
-
- struct SubImage {
- uint16 wdib;
- Common::Rect rect;
- } *_subImages;
-
-protected:
- uint16 _var8;
- uint16 _numSubImages;
-};
-
-// No MystResourceType9!
-
-class MystResourceType10 : public MystResourceType8 {
-public:
- MystResourceType10(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
- virtual ~MystResourceType10();
- void handleMouseDown();
- void handleMouseUp();
- void handleMouseMove();
-
-protected:
- uint16 _kind;
- Common::Rect _rect10;
- uint16 _u0;
- uint16 _u1;
- uint16 _mouseDownOpcode;
- uint16 _mouseDragOpcode;
- uint16 _mouseUpOpcode;
- struct {
- uint16 listCount;
- uint16 *list;
- } _lists[4];
-
- bool _mouseDown;
-};
-
-class MystResourceType11 : public MystResourceType8 {
-public:
- MystResourceType11(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
- virtual ~MystResourceType11();
- void handleMouseDown();
- void handleMouseUp();
- void handleMouseMove();
-
-protected:
- uint16 _kind;
- Common::Rect _rect11;
- uint16 _u0;
- uint16 _u1;
- uint16 _mouseDownOpcode;
- uint16 _mouseDragOpcode;
- uint16 _mouseUpOpcode;
- struct {
- uint16 listCount;
- uint16 *list;
- } _lists[3];
-
- bool _mouseDown;
-};
-
-class MystResourceType12 : public MystResourceType8 {
-public:
- MystResourceType12(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
- virtual ~MystResourceType12();
- void handleAnimation();
- void handleMouseUp();
-
-protected:
- uint16 _kind;
- Common::Rect _rect11;
- uint16 _state0Frame;
- uint16 _state1Frame;
- uint16 _mouseDownOpcode;
- uint16 _mouseDragOpcode;
- uint16 _mouseUpOpcode;
- struct {
- uint16 listCount;
- uint16 *list;
- } _lists[3];
-
- uint16 _numFrames;
- uint16 _firstFrame;
- Common::Rect _frameRect;
-
-private:
- bool _doAnimation;
- uint16 _currentFrame;
-};
-
-class MystResourceType13 : public MystResource {
-public:
- MystResourceType13(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
- void handleMouseUp();
- void handleMouseEnter();
- void handleMouseLeave();
-
-protected:
- uint16 _enterOpcode;
- uint16 _leaveOpcode;
-};
-
struct MystCursorHint {
uint16 id;
int16 cursor;
@@ -382,6 +192,7 @@ public:
Common::Array<MystResource*> _resources;
bool _showResourceRects;
+ MystResource *loadResource(Common::SeekableReadStream *rlstStream, MystResource *parent);
void setResourceEnabled(uint16 resourceId, bool enable);
void setCacheState(bool state) { _cache.enabled = state; }