mirror of
https://github.com/dborth/vbagx.git
synced 2024-11-21 18:19:16 +01:00
79 lines
1.9 KiB
C
79 lines
1.9 KiB
C
/****************************************************************************
|
|
* Visual Boy Advance GX
|
|
*
|
|
* Tantric 2008-2023
|
|
*
|
|
* filebrowser.h
|
|
*
|
|
* Generic file routines - reading, writing, browsing
|
|
****************************************************************************/
|
|
|
|
#ifndef _FILEBROWSER_H_
|
|
#define _FILEBROWSER_H_
|
|
|
|
#include <unistd.h>
|
|
#include <gccore.h>
|
|
|
|
#define MAXJOLIET 255
|
|
#ifdef HW_DOL
|
|
#define MAX_BROWSER_SIZE 1000
|
|
#else
|
|
#define MAX_BROWSER_SIZE 3000
|
|
#endif
|
|
|
|
typedef struct
|
|
{
|
|
char dir[MAXPATHLEN + 1]; // directory path of browserList
|
|
int numEntries; // # of entries in browserList
|
|
int selIndex; // currently selected index of browserList
|
|
int pageIndex; // starting index of browserList page display
|
|
int size; // # of entries browerList has space allocated to store
|
|
} BROWSERINFO;
|
|
|
|
typedef struct
|
|
{
|
|
size_t length; // file length
|
|
int isdir; // 0 - file, 1 - directory
|
|
char filename[MAXJOLIET + 1]; // full filename
|
|
char displayname[MAXJOLIET + 1]; // name for browser display
|
|
int filenum; // file # (for 7z support)
|
|
int icon; // icon to display
|
|
} BROWSERENTRY;
|
|
|
|
extern BROWSERINFO browser;
|
|
extern BROWSERENTRY * browserList;
|
|
extern char ROMFilename[512];
|
|
extern bool ROMLoaded;
|
|
extern bool loadingFile;
|
|
extern char szpath[MAXPATHLEN];
|
|
extern bool inSz;
|
|
extern char szname[MAXPATHLEN];
|
|
|
|
enum
|
|
{
|
|
ICON_NONE,
|
|
ICON_FOLDER,
|
|
ICON_SD,
|
|
ICON_USB,
|
|
ICON_DVD,
|
|
ICON_SMB
|
|
};
|
|
|
|
bool MakeFilePath(char filepath[], int type, char * filename = NULL, int filenum = -2);
|
|
int UpdateDirName();
|
|
int OpenGameList();
|
|
int autoLoadMethod();
|
|
int autoSaveMethod(bool silent);
|
|
int FileSortCallback(const void *f1, const void *f2);
|
|
void StripExt(char* returnstring, const char* inputstring);
|
|
bool IsSz();
|
|
void ResetBrowser();
|
|
bool AddBrowserEntry();
|
|
bool IsDeviceRoot(char * path);
|
|
int BrowserLoadSz();
|
|
int BrowserChangeFolder();
|
|
int BrowserLoadFile();
|
|
bool AutoloadGame(char* filepath, char* filename);
|
|
|
|
#endif
|