diff options
Diffstat (limited to 'fios.h')
-rw-r--r-- | fios.h | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -3,6 +3,50 @@ #ifndef FIOS_H #define FIOS_H +/* Deals with finding savegames */ +typedef struct { + byte type; + uint64 mtime; + char title[64]; + char name[256 - 12 - 64]; +} FiosItem; + +enum { + FIOS_TYPE_DRIVE = 0, + FIOS_TYPE_PARENT = 1, + FIOS_TYPE_DIR = 2, + FIOS_TYPE_FILE = 3, + FIOS_TYPE_OLDFILE = 4, + FIOS_TYPE_SCENARIO = 5, + FIOS_TYPE_OLD_SCENARIO = 6, + FIOS_TYPE_DIRECT = 7, + FIOS_TYPE_INVALID = 255, +}; + +/* Variables to display file lists */ +extern FiosItem *_fios_list; // defined in misc_gui.c +extern int _fios_num; // defined in fios.c, read_only version of _fios_count +extern int _saveload_mode; // defined in misc_gui.c + +// Get a list of savegames +FiosItem *FiosGetSavegameList(int mode); +// Get a list of scenarios +FiosItem *FiosGetScenarioList(int mode); +// Free the list of savegames +void FiosFreeSavegameList(void); +// Browse to. Returns a filename w/path if we reached a file. +char *FiosBrowseTo(const FiosItem *item); +// Return path, free space and stringID +StringID FiosGetDescText(const char **path, uint32 *total_free); +// Delete a name +bool FiosDelete(const char *name); +// Make a filename from a name +void FiosMakeSavegameName(char *buf, const char *name, size_t size); +// Allocate a new FiosItem +FiosItem *FiosAlloc(void); + +int CDECL compare_FiosItems(const void *a, const void *b); + /* Implementation of opendir/readdir/closedir for Windows */ #if defined(WIN32) #include <windows.h> |