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