aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/hires6.h
diff options
context:
space:
mode:
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