aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/hires2.h
diff options
context:
space:
mode:
authorWalter van Niftrik2016-03-14 15:39:19 +0100
committerWalter van Niftrik2016-06-06 20:35:49 +0200
commitb4aea80723460417f3514c8d27a41d69195cd23f (patch)
tree794b5775c879ee8da14fac4379937b828f2dd529 /engines/adl/hires2.h
parent0686ba9de8f77a1928d2d7aa4736384eb0715494 (diff)
downloadscummvm-rg350-b4aea80723460417f3514c8d27a41d69195cd23f.tar.gz
scummvm-rg350-b4aea80723460417f3514c8d27a41d69195cd23f.tar.bz2
scummvm-rg350-b4aea80723460417f3514c8d27a41d69195cd23f.zip
ADL: Implement hires2 word wrapping
Diffstat (limited to 'engines/adl/hires2.h')
-rw-r--r--engines/adl/hires2.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/engines/adl/hires2.h b/engines/adl/hires2.h
index f09a62fdcc..91bbf0a4f7 100644
--- a/engines/adl/hires2.h
+++ b/engines/adl/hires2.h
@@ -63,9 +63,20 @@ namespace Adl {
#define IDI_HR2_OFS_STR_PLAY_AGAIN TSO(0x1a, 0x8, 0x25)
#define IDI_HR2_OFS_STR_PRESS_RETURN TSO(0x1a, 0x8, 0x5f)
+struct Picture2 {
+ byte track;
+ byte sector;
+ byte offset;
+};
+
+struct RoomData {
+ Common::String description;
+ Common::Array<Picture2> pictures;
+};
+
class HiRes2Engine : public AdlEngine {
public:
- HiRes2Engine(OSystem *syst, const AdlGameDescription *gd) : AdlEngine(syst, gd) { }
+ HiRes2Engine(OSystem *syst, const AdlGameDescription *gd) : AdlEngine(syst, gd), _linesPrinted(0) { }
private:
// AdlEngine
@@ -75,7 +86,14 @@ private:
void restartGame();
void drawPic(byte pic, Common::Point pos) const;
void drawItem(const Item &item, const Common::Point &pos) const { }
- void showRoom() const;
+ void showRoom();
+
+ void loadRoom(uint i);
+ void checkTextOverflow(char c);
+ void printString(const Common::String &str);
+
+ RoomData _roomData;
+ uint _linesPrinted;
};
} // End of namespace Adl