aboutsummaryrefslogtreecommitdiff
path: root/sky/disk.h
diff options
context:
space:
mode:
Diffstat (limited to 'sky/disk.h')
-rw-r--r--sky/disk.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/sky/disk.h b/sky/disk.h
index a824748433..38801ad8cf 100644
--- a/sky/disk.h
+++ b/sky/disk.h
@@ -26,15 +26,28 @@
#define MAX_FILES_IN_LIST 60
+typedef struct __prefFile {
+ uint8 *data;
+ uint16 fileNr;
+ uint32 fileSize;
+ struct __prefFile *next;
+} prefFile;
+
class SkyDisk {
public:
SkyDisk(char *gameDataPath);
+ ~SkyDisk(void);
uint8 *loadFile(uint16 fileNr, uint8 *dest);
+ void prefetchFile(uint16 fileNr);
+
uint32 determineGameVersion();
uint32 _lastLoadedFileSize;
protected:
+ prefFile *_prefRoot;
+ uint8 *givePrefetched(uint16 fileNr, uint32 *fSize);
+
uint8 *getFileInfo(uint16 fileNr);
void dumpFile(uint16 fileNr);