aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/mads_views.h
diff options
context:
space:
mode:
authorPaul Gilbert2010-06-03 09:34:32 +0000
committerPaul Gilbert2010-06-03 09:34:32 +0000
commit86dcc28342021933f04ff3542932fc8823ff2360 (patch)
tree88b43c3e0a4938078ad782609b5141cd96bd47c2 /engines/m4/mads_views.h
parent90649938d2d70115967c45cdd1cbb8dab1635794 (diff)
downloadscummvm-rg350-86dcc28342021933f04ff3542932fc8823ff2360.tar.gz
scummvm-rg350-86dcc28342021933f04ff3542932fc8823ff2360.tar.bz2
scummvm-rg350-86dcc28342021933f04ff3542932fc8823ff2360.zip
Moved the MADS interface view into mads_scene.cpp and did a major cleanup of scene loading code
svn-id: r49405
Diffstat (limited to 'engines/m4/mads_views.h')
-rw-r--r--engines/m4/mads_views.h62
1 files changed, 3 insertions, 59 deletions
diff --git a/engines/m4/mads_views.h b/engines/m4/mads_views.h
index 6f264312d1..31b8cd891f 100644
--- a/engines/m4/mads_views.h
+++ b/engines/m4/mads_views.h
@@ -34,11 +34,6 @@
namespace M4 {
-#define MADS_SURFACE_WIDTH 320
-#define MADS_SURFACE_HEIGHT 156
-#define MADS_SCREEN_HEIGHT 200
-#define MADS_Y_OFFSET ((MADS_SCREEN_HEIGHT - MADS_SURFACE_HEIGHT) / 2)
-
class MadsView;
enum AbortTimerMode {ABORTMODE_0 = 0, ABORTMODE_1 = 1, ABORTMODE_2 = 2};
@@ -372,9 +367,7 @@ protected:
public:
Animation(MadsM4Engine *vm);
virtual ~Animation();
- void loadFullScreen(const Common::String &filename);
-
- virtual void load(const Common::String &filename) = 0;
+ virtual void load(const Common::String &filename, uint16 flags, M4Surface *walkSurface, M4Surface *sceneSurface) = 0;
virtual void start() = 0;
virtual bool update() = 0;
virtual void stop() = 0;
@@ -386,7 +379,7 @@ class MadsView {
private:
View *_view;
public:
- Animation &_sceneAnimation;
+ Animation *_sceneAnimation;
MadsSpriteSlots _spriteSlots;
MadsTextDisplay _textDisplay;
MadsKernelMessageList _kernelMessages;
@@ -408,60 +401,11 @@ public:
M4Surface *_bgSurface;
public:
MadsView(View *view);
+ ~MadsView();
void refresh();
};
-#define CHEAT_SEQUENCE_MAX 8
-
-class IntegerList : public Common::Array<int> {
-public:
- int indexOf(int v) {
- for (uint i = 0; i < size(); ++i)
- if (operator [](i) == v)
- return i;
- return -1;
- }
-};
-
-enum InterfaceFontMode {ITEM_NORMAL, ITEM_HIGHLIGHTED, ITEM_SELECTED};
-
-enum InterfaceObjects {ACTIONS_START = 0, SCROLL_UP = 10, SCROLL_SCROLLER = 11, SCROLL_DOWN = 12,
- INVLIST_START = 13, VOCAB_START = 18};
-
-class MadsInterfaceView : public GameInterfaceView {
-private:
- IntegerList _inventoryList;
- RectList _screenObjects;
- int _highlightedElement;
- int _topIndex;
- uint32 _nextScrollerTicks;
- int _cheatKeyCtr;
-
- // Object display fields
- int _selectedObject;
- SpriteAsset *_objectSprites;
- RGBList *_objectPalData;
- int _objectFrameNumber;
-
- void setFontMode(InterfaceFontMode newMode);
- bool handleCheatKey(int32 keycode);
- bool handleKeypress(int32 keycode);
- void leaveScene();
-public:
- MadsInterfaceView(MadsM4Engine *vm);
- ~MadsInterfaceView();
-
- virtual void initialise();
- virtual void setSelectedObject(int objectNumber);
- virtual void addObjectToInventory(int objectNumber);
- int getSelectedObject() { return _selectedObject; }
- int getInventoryObject(int objectIndex) { return _inventoryList[objectIndex]; }
-
- void onRefresh(RectList *rects, M4Surface *destSurface);
- bool onEvent(M4EventType eventType, int32 param1, int x, int y, bool &captureEvents);
-};
-
}
#endif