2008-08-06 01:09:59 +00:00
|
|
|
/****************************************************************************
|
2010-01-27 22:20:37 +00:00
|
|
|
* Snes9x Nintendo Wii/Gamecube Port
|
2008-08-06 01:09:59 +00:00
|
|
|
*
|
|
|
|
* softdev July 2006
|
|
|
|
* crunchy2 May 2007
|
2008-09-26 04:34:33 +00:00
|
|
|
* Michniewski 2008
|
2010-01-27 22:20:37 +00:00
|
|
|
* Tantric 2008-2010
|
2008-08-13 22:44:59 +00:00
|
|
|
*
|
2009-03-28 19:03:35 +00:00
|
|
|
* filebrowser.h
|
2008-08-13 22:44:59 +00:00
|
|
|
*
|
|
|
|
* Generic file routines - reading, writing, browsing
|
2008-08-06 01:09:59 +00:00
|
|
|
****************************************************************************/
|
|
|
|
|
2009-03-28 19:03:35 +00:00
|
|
|
#ifndef _FILEBROWSER_H_
|
|
|
|
#define _FILEBROWSER_H_
|
2008-08-06 01:09:59 +00:00
|
|
|
|
2008-09-26 04:34:33 +00:00
|
|
|
#include <unistd.h>
|
2008-12-24 08:02:04 +00:00
|
|
|
#include <gccore.h>
|
2018-06-06 23:40:11 +09:30
|
|
|
#include <snes9xgx.h>
|
2008-09-26 04:34:33 +00:00
|
|
|
|
2008-08-13 22:44:59 +00:00
|
|
|
#define MAXJOLIET 255
|
2010-06-23 17:34:19 +00:00
|
|
|
#ifdef HW_DOL
|
|
|
|
#define MAX_BROWSER_SIZE 1000
|
|
|
|
#else
|
2010-07-23 22:40:20 +00:00
|
|
|
#define MAX_BROWSER_SIZE 5000
|
2010-06-23 17:34:19 +00:00
|
|
|
#endif
|
2008-08-13 22:44:59 +00:00
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
2011-03-20 17:17:51 +00:00
|
|
|
char dir[MAXPATHLEN + 1]; // directory path of browserList
|
2008-12-30 00:08:17 +00:00
|
|
|
int numEntries; // # of entries in browserList
|
|
|
|
int selIndex; // currently selected index of browserList
|
|
|
|
int pageIndex; // starting index of browserList page display
|
2009-10-01 22:35:12 +00:00
|
|
|
int size; // # of entries browerList has space allocated to store
|
2008-12-30 00:08:17 +00:00
|
|
|
} BROWSERINFO;
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
2009-10-03 18:44:09 +00:00
|
|
|
size_t length; // file length
|
|
|
|
int isdir; // 0 - file, 1 - directory
|
2008-12-30 00:08:17 +00:00
|
|
|
char filename[MAXJOLIET + 1]; // full filename
|
2009-06-27 19:38:39 +00:00
|
|
|
char displayname[MAXJOLIET + 1]; // name for browser display
|
2009-10-03 19:46:57 +00:00
|
|
|
int filenum; // file # (for 7z support)
|
2009-10-01 22:35:12 +00:00
|
|
|
int icon; // icon to display
|
2008-12-30 00:08:17 +00:00
|
|
|
} BROWSERENTRY;
|
|
|
|
|
|
|
|
extern BROWSERINFO browser;
|
|
|
|
extern BROWSERENTRY * browserList;
|
2009-10-01 22:35:12 +00:00
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
ICON_NONE,
|
|
|
|
ICON_FOLDER,
|
|
|
|
ICON_SD,
|
|
|
|
ICON_USB,
|
|
|
|
ICON_DVD,
|
|
|
|
ICON_SMB
|
|
|
|
};
|
2008-12-30 00:08:17 +00:00
|
|
|
|
2008-10-09 22:36:22 +00:00
|
|
|
extern unsigned long SNESROMSize;
|
2010-03-15 23:18:18 +00:00
|
|
|
extern bool loadingFile;
|
2014-10-24 02:47:59 +00:00
|
|
|
extern char szname[MAXPATHLEN];
|
|
|
|
extern bool inSz;
|
2008-08-12 03:25:16 +00:00
|
|
|
|
2009-10-01 22:35:12 +00:00
|
|
|
bool MakeFilePath(char filepath[], int type, char * filename = NULL, int filenum = -2);
|
|
|
|
int UpdateDirName();
|
2009-03-11 17:28:37 +00:00
|
|
|
int OpenGameList();
|
2008-08-07 03:25:02 +00:00
|
|
|
int autoLoadMethod();
|
2008-12-22 09:20:35 +00:00
|
|
|
int autoSaveMethod(bool silent);
|
2008-08-10 03:14:39 +00:00
|
|
|
int FileSortCallback(const void *f1, const void *f2);
|
2008-08-13 22:44:59 +00:00
|
|
|
void StripExt(char* returnstring, char * inputstring);
|
2009-03-11 17:28:37 +00:00
|
|
|
bool IsSz();
|
2008-12-30 00:08:17 +00:00
|
|
|
void ResetBrowser();
|
2009-10-01 22:35:12 +00:00
|
|
|
bool AddBrowserEntry();
|
|
|
|
bool IsDeviceRoot(char * path);
|
|
|
|
int BrowserLoadSz();
|
|
|
|
int BrowserChangeFolder();
|
|
|
|
int BrowserLoadFile();
|
2008-08-06 01:09:59 +00:00
|
|
|
|
|
|
|
#endif
|