aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/hires6.h
diff options
context:
space:
mode:
authorWalter van Niftrik2016-04-15 23:49:00 +0200
committerWalter van Niftrik2016-06-06 20:35:49 +0200
commit92b1b287b1686424a58abfb06661916bf3dfcaeb (patch)
treefaf30ce003f5573c4da4317f663e37b3d331f97c /engines/adl/hires6.h
parente755f8fcba4d3dfc746d83f60b70d2aad86360b9 (diff)
downloadscummvm-rg350-92b1b287b1686424a58abfb06661916bf3dfcaeb.tar.gz
scummvm-rg350-92b1b287b1686424a58abfb06661916bf3dfcaeb.tar.bz2
scummvm-rg350-92b1b287b1686424a58abfb06661916bf3dfcaeb.zip
ADL: Preliminary support for hires6 disk changing
Diffstat (limited to 'engines/adl/hires6.h')
-rw-r--r--engines/adl/hires6.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/adl/hires6.h b/engines/adl/hires6.h
index 443a9ca5a9..aa3dbf5e77 100644
--- a/engines/adl/hires6.h
+++ b/engines/adl/hires6.h
@@ -49,9 +49,23 @@ namespace Adl {
#define IDI_HR6_MSG_ITEM_NOT_HERE 254
#define IDI_HR6_MSG_THANKS_FOR_PLAYING 252
+struct DiskDataDesc {
+ byte track;
+ byte sector;
+ byte offset;
+ byte volume;
+};
+
class HiRes6Engine : public AdlEngine_v3 {
public:
- HiRes6Engine(OSystem *syst, const AdlGameDescription *gd) : AdlEngine_v3(syst, gd), _currVerb(0), _currNoun(0) { }
+ HiRes6Engine(OSystem *syst, const AdlGameDescription *gd) :
+ AdlEngine_v3(syst, gd),
+ _boot(nullptr),
+ _currVerb(0),
+ _currNoun(0) {
+ }
+
+ ~HiRes6Engine() { delete _boot; }
private:
// AdlEngine
@@ -65,7 +79,11 @@ private:
void printString(const Common::String &str);
void applyDataBlockOffset(byte &track, byte &sector) const;
+ void loadDisk(byte disk);
+
+ DiskImage_DSK *_boot;
byte _currVerb, _currNoun;
+ Common::Array<DiskDataDesc> _diskDataDesc;
};
} // End of namespace Adl