aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/agi.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agi/agi.h')
-rw-r--r--engines/agi/agi.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index bf730fcfb4..2d9432be52 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -631,6 +631,24 @@ struct AgiGame {
Common::Rect mouseFence; /**< rectangle set by fence.mouse command */
};
+/**
+ * Check if a disk image with the given MD5 sum exists in the search path.
+ *
+ * @param md5 MD5 sum of the disk image to be searched
+ * @param filename Filled with a filename in case the image is found
+ * @return True if found, otherwise false.
+ */
+bool diskImageExists(Common::String md5, Common::String &filename);
+
+/**
+ * Get MD5 sums for a given game from the booter game description table.
+ *
+ * @param gid Game ID of the game
+ * @param md5Disk0 Filled with the MD5 sum of disk 0
+ * @param md5Disk1 Filled with the MD5 sum of disk 1 if there are two disks
+ */
+bool getBooterMD5Sums(AgiGameID gid, Common::String &md5Disk0, Common::String &md5Disk1);
+
class AgiLoader {
public:
@@ -649,18 +667,14 @@ public:
class AgiLoader_v1 : public AgiLoader {
private:
AgiEngine *_vm;
- Common::String _dsk0Name;
- Common::String _dsk1Name;
+ Common::String _filenameDisk0;
+ Common::String _filenameDisk1;
int loadDir(AgiDir *agid, int offset, int num);
uint8 *loadVolRes(AgiDir *agid);
public:
- AgiLoader_v1(AgiEngine *vm, Common::String dsk0, Common::String dsk1) {
- _vm = vm;
- _dsk0Name = dsk0;
- _dsk1Name = dsk1;
- }
+ AgiLoader_v1(AgiEngine *vm);
virtual int init();
virtual int deinit();
@@ -715,6 +729,7 @@ public:
virtual int loadWords(const char *);
};
+
class GfxMgr;
class SpritesMgr;
class Menu;