mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-12-28 20:21:48 +01:00
~fixed confirmation box
~improved history filelist update ~removed some global variables
This commit is contained in:
parent
b7f3a1bfd5
commit
05014756ca
@ -107,7 +107,7 @@ void config_default(void)
|
|||||||
config.bgm_volume = 100.0;
|
config.bgm_volume = 100.0;
|
||||||
config.sfx_volume = 100.0;
|
config.sfx_volume = 100.0;
|
||||||
config.screen_w = 658;
|
config.screen_w = 658;
|
||||||
config.askConfirm = 0;
|
config.ask_confirm = 0;
|
||||||
|
|
||||||
/* restore saved configuration */
|
/* restore saved configuration */
|
||||||
config_load();
|
config_load();
|
||||||
|
@ -60,7 +60,7 @@ typedef struct
|
|||||||
int8 sram_auto;
|
int8 sram_auto;
|
||||||
int8 state_auto;
|
int8 state_auto;
|
||||||
int16 screen_w;
|
int16 screen_w;
|
||||||
uint8 askConfirm;
|
uint8 ask_confirm;
|
||||||
} t_config;
|
} t_config;
|
||||||
|
|
||||||
/* Global data */
|
/* Global data */
|
||||||
|
@ -41,14 +41,13 @@
|
|||||||
/** Minimal Primary Volume Descriptor **/
|
/** Minimal Primary Volume Descriptor **/
|
||||||
#define PVDROOT 0x9c
|
#define PVDROOT 0x9c
|
||||||
|
|
||||||
bool haveDVDdir = 0;
|
|
||||||
|
|
||||||
/** Static Variables **/
|
/** Static Variables **/
|
||||||
static u64 rootdir = 0; /* current root directory offset */
|
static u64 rootdir = 0;
|
||||||
static u64 basedir = 0; /* base directory offset */
|
static u64 basedir = 0;
|
||||||
static int rootdirlength = 0; /* current root directory length */
|
static int rootdirlength = 0;
|
||||||
static int IsJoliet = 0;
|
static int IsJoliet = 0;
|
||||||
static int diroffset = 0;
|
static int diroffset = 0;
|
||||||
|
static int haveDVDdir = 0;
|
||||||
static char dvdbuffer[2048];
|
static char dvdbuffer[2048];
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -200,11 +199,21 @@ static int getentry(int entrycount)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* DVD_UpdateRootDir
|
* DVD_ClearDirectory
|
||||||
|
*
|
||||||
|
* Clear DVD directory flag
|
||||||
|
***************************************************************************/
|
||||||
|
void DVD_ClearDirectory(void)
|
||||||
|
{
|
||||||
|
haveDVDdir = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* DVD_UpdateDirectory
|
||||||
*
|
*
|
||||||
* Update DVD current root directory
|
* Update DVD current root directory
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
int DVD_UpdateDir(bool go_up, u64 offset, u32 length)
|
int DVD_UpdateDirectory(bool go_up, u64 offset, u32 length)
|
||||||
{
|
{
|
||||||
/* root has no parent directory */
|
/* root has no parent directory */
|
||||||
if (go_up && (basedir == rootdir)) return 0;
|
if (go_up && (basedir == rootdir)) return 0;
|
||||||
@ -380,10 +389,10 @@ int DVD_Open(void)
|
|||||||
{
|
{
|
||||||
/* set DVD as default */
|
/* set DVD as default */
|
||||||
haveDVDdir = 1;
|
haveDVDdir = 1;
|
||||||
haveFATdir = 0;
|
FAT_ClearDirectory();
|
||||||
|
|
||||||
/* reset File selector */
|
/* reset File selector */
|
||||||
FileSelClear(max);
|
ClearSelector(max);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -25,10 +25,10 @@
|
|||||||
#ifndef _FILE_DVD_H
|
#ifndef _FILE_DVD_H
|
||||||
#define _FILE_DVD_H
|
#define _FILE_DVD_H
|
||||||
|
|
||||||
extern int DVD_UpdateDir(bool go_up,u64 offset, u32 length);
|
extern void DVD_ClearDirectory(void);
|
||||||
|
extern int DVD_UpdateDirectory(bool go_up,u64 offset, u32 length);
|
||||||
extern int DVD_ParseDirectory(void);
|
extern int DVD_ParseDirectory(void);
|
||||||
extern int DVD_LoadFile(u8 *buffer,u32 selection);
|
extern int DVD_LoadFile(u8 *buffer,u32 selection);
|
||||||
extern int DVD_Open(void);
|
extern int DVD_Open(void);
|
||||||
extern bool haveDVDdir;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -29,7 +29,8 @@
|
|||||||
#include "file_fat.h"
|
#include "file_fat.h"
|
||||||
#include "file_dvd.h"
|
#include "file_dvd.h"
|
||||||
|
|
||||||
bool haveFATdir = 0;
|
/* FAT directory has been updated */
|
||||||
|
static int haveFATdir = 0;
|
||||||
|
|
||||||
/* current FAT directory */
|
/* current FAT directory */
|
||||||
static char fatdir[MAXPATHLEN];
|
static char fatdir[MAXPATHLEN];
|
||||||
@ -39,11 +40,21 @@ static int fat_type = 0;
|
|||||||
static int useHistory = 0;
|
static int useHistory = 0;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* FAT_UpdateDir
|
* FAT_ClearDirectory
|
||||||
|
*
|
||||||
|
* Clear FAT directory flag
|
||||||
|
***************************************************************************/
|
||||||
|
void FAT_ClearDirectory(void)
|
||||||
|
{
|
||||||
|
haveFATdir = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* FAT_UpdateDirectory
|
||||||
*
|
*
|
||||||
* Update FAT current root directory
|
* Update FAT current root directory
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
int FAT_UpdateDir(bool go_up, char *filename)
|
int FAT_UpdateDirectory(bool go_up, char *filename)
|
||||||
{
|
{
|
||||||
int size=0;
|
int size=0;
|
||||||
char *test;
|
char *test;
|
||||||
@ -143,6 +154,9 @@ int FAT_LoadFile(u8 *buffer, u32 selection)
|
|||||||
{
|
{
|
||||||
filelist[selection].length = filestat.st_size;
|
filelist[selection].length = filestat.st_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* update filelist */
|
||||||
|
haveFATdir = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* file size */
|
/* file size */
|
||||||
@ -151,7 +165,7 @@ int FAT_LoadFile(u8 *buffer, u32 selection)
|
|||||||
if (length > 0)
|
if (length > 0)
|
||||||
{
|
{
|
||||||
/* Add/move the file to the top of the history. */
|
/* Add/move the file to the top of the history. */
|
||||||
if(!useHistory) history_add_file(fatdir, filelist[selection].filename);
|
history_add_file(fatdir, filelist[selection].filename);
|
||||||
|
|
||||||
/* full filename */
|
/* full filename */
|
||||||
char fname[MAXPATHLEN];
|
char fname[MAXPATHLEN];
|
||||||
@ -264,10 +278,10 @@ int FAT_Open(int type)
|
|||||||
{
|
{
|
||||||
/* FAT is default */
|
/* FAT is default */
|
||||||
haveFATdir = 1;
|
haveFATdir = 1;
|
||||||
haveDVDdir = 0;
|
DVD_ClearDirectory();
|
||||||
|
|
||||||
/* reset File selector */
|
/* reset File selector */
|
||||||
FileSelClear(max);
|
ClearSelector(max);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -31,10 +31,10 @@
|
|||||||
#define TYPE_USB 2
|
#define TYPE_USB 2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern int FAT_UpdateDir(bool go_up, char *filename);
|
extern void FAT_ClearDirectory(void);
|
||||||
|
extern int FAT_UpdateDirectory(bool go_up, char *filename);
|
||||||
extern int FAT_ParseDirectory(void);
|
extern int FAT_ParseDirectory(void);
|
||||||
extern int FAT_LoadFile(u8* buffer,u32 selection);
|
extern int FAT_LoadFile(u8* buffer,u32 selection);
|
||||||
extern int FAT_Open(int type);
|
extern int FAT_Open(int type);
|
||||||
extern bool haveFATdir;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -89,7 +89,7 @@ static gui_image bg_filesel[10] =
|
|||||||
{NULL,Banner_top_png,IMAGE_VISIBLE,0,0,640,108,255},
|
{NULL,Banner_top_png,IMAGE_VISIBLE,0,0,640,108,255},
|
||||||
{NULL,Banner_bottom_png,IMAGE_VISIBLE,0,380,640,100,255},
|
{NULL,Banner_bottom_png,IMAGE_VISIBLE,0,380,640,100,255},
|
||||||
{NULL,Main_logo_png,IMAGE_VISIBLE,466,40,152,44,255},
|
{NULL,Main_logo_png,IMAGE_VISIBLE,466,40,152,44,255},
|
||||||
{NULL,Frame_s1_png,IMAGE_VISIBLE,8,70,372,336,200},
|
{NULL,Frame_s1_png,IMAGE_VISIBLE,8,70,372,336,230},
|
||||||
{NULL,Frame_s2_png,0,384,264,248,140,200},
|
{NULL,Frame_s2_png,0,384,264,248,140,200},
|
||||||
{NULL,Snap_empty_png,IMAGE_VISIBLE,422,114,164,116,255},
|
{NULL,Snap_empty_png,IMAGE_VISIBLE,422,114,164,116,255},
|
||||||
{NULL,NULL,0,424,116,160,112,255},
|
{NULL,NULL,0,424,116,160,112,255},
|
||||||
@ -284,7 +284,6 @@ int FileSelector(unsigned char *buffer, bool useFAT)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
filelist[i].filename_offset = 0;
|
|
||||||
if (filelist[i].flags)
|
if (filelist[i].flags)
|
||||||
{
|
{
|
||||||
/* directory icon */
|
/* directory icon */
|
||||||
@ -325,13 +324,13 @@ int FileSelector(unsigned char *buffer, bool useFAT)
|
|||||||
m->selected = m->max_buttons + 2;
|
m->selected = m->max_buttons + 2;
|
||||||
for (i = offset; i < (offset + PAGESIZE) && (i < maxfiles); i++)
|
for (i = offset; i < (offset + PAGESIZE) && (i < maxfiles); i++)
|
||||||
{
|
{
|
||||||
if ((x<=380)&&(y>=yoffset)&&(y<(yoffset+(bar_over.h))))
|
if ((x<=380)&&(y>=yoffset)&&(y<(yoffset+24)))
|
||||||
{
|
{
|
||||||
selection = i;
|
selection = i;
|
||||||
m->selected = -1;
|
m->selected = -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
yoffset += (bar_over.h);
|
yoffset += 24;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* find selected button */
|
/* find selected button */
|
||||||
@ -461,9 +460,9 @@ int FileSelector(unsigned char *buffer, bool useFAT)
|
|||||||
|
|
||||||
/* get new directory */
|
/* get new directory */
|
||||||
if (useFAT)
|
if (useFAT)
|
||||||
ret = FAT_UpdateDir(go_up,filelist[selection].filename);
|
ret = FAT_UpdateDirectory(go_up,filelist[selection].filename);
|
||||||
else
|
else
|
||||||
ret = DVD_UpdateDir(go_up,filelist[selection].offset,filelist[selection].length);
|
ret = DVD_UpdateDirectory(go_up,filelist[selection].offset,filelist[selection].length);
|
||||||
|
|
||||||
/* get new entry list or quit */
|
/* get new entry list or quit */
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -514,7 +513,7 @@ int FileSelector(unsigned char *buffer, bool useFAT)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* user confirmation */
|
/* user confirmation */
|
||||||
if (GUI_ConfirmPrompt("WARNING", "Load File ?"))
|
if (GUI_ConfirmPrompt("Load this file ?"))
|
||||||
{
|
{
|
||||||
/* Load ROM file from device */
|
/* Load ROM file from device */
|
||||||
if (useFAT)
|
if (useFAT)
|
||||||
@ -538,7 +537,7 @@ int FileSelector(unsigned char *buffer, bool useFAT)
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* use canceled */
|
/* user canceled */
|
||||||
GUI_MsgBoxClose();
|
GUI_MsgBoxClose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -547,8 +546,7 @@ int FileSelector(unsigned char *buffer, bool useFAT)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ClearSelector(u32 max)
|
||||||
void FileSelClear(u32 max)
|
|
||||||
{
|
{
|
||||||
maxfiles = max;
|
maxfiles = max;
|
||||||
offset = 0;
|
offset = 0;
|
||||||
|
@ -35,13 +35,12 @@ typedef struct
|
|||||||
u32 length;
|
u32 length;
|
||||||
char flags;
|
char flags;
|
||||||
char filename[MAXJOLIET];
|
char filename[MAXJOLIET];
|
||||||
u16 filename_offset;
|
|
||||||
}FILEENTRIES;
|
}FILEENTRIES;
|
||||||
|
|
||||||
/* Globals */
|
/* Globals */
|
||||||
extern int FileSelector(unsigned char *buffer, bool useFAT);
|
extern int FileSelector(unsigned char *buffer, bool useFAT);
|
||||||
extern int FileSortCallback(const void *f1, const void *f2);
|
extern int FileSortCallback(const void *f1, const void *f2);
|
||||||
extern void FileSelClear(u32 max);
|
extern void ClearSelector(u32 max);
|
||||||
extern FILEENTRIES filelist[MAXFILES];
|
extern FILEENTRIES filelist[MAXFILES];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -101,8 +101,8 @@ void GUI_InitMenu(gui_menu *menu)
|
|||||||
item->texture = gxTextureOpenPNG(item->data,0);
|
item->texture = gxTextureOpenPNG(item->data,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* setup message box */
|
/* update message box */
|
||||||
GUI_MsgBoxUpdate(menu,0,0);
|
message_box.parent = menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Release Menu allocated memory */
|
/* Release Menu allocated memory */
|
||||||
@ -1226,17 +1226,20 @@ static void *MsgBox_Thread(void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* draw exit message */
|
/* draw exit message */
|
||||||
if (message_box.buttonB)
|
if (message_box.buttonA)
|
||||||
{
|
{
|
||||||
FONT_write(": OK",18,206+message_box.buttonA->width+12,640,248,(GXColor)WHITE);
|
if (message_box.buttonB)
|
||||||
FONT_write(": CANCEL",18,286+message_box.buttonB->width+12,640,248,(GXColor)WHITE);
|
{
|
||||||
gxDrawTexture(message_box.buttonA, 206, 248-18+(18-message_box.buttonA->height)/2,message_box.buttonA->width, message_box.buttonA->height,255);
|
FONT_write("OK",18,220+message_box.buttonA->width+6,288,640,(GXColor)WHITE);
|
||||||
gxDrawTexture(message_box.buttonB, 286, 248-18+(18-message_box.buttonB->height)/2,message_box.buttonA->width, message_box.buttonA->height,255);
|
FONT_alignRight("CANCEL",18,166+message_box.window->width-(220-166),288,(GXColor)WHITE);
|
||||||
}
|
if (message_box.buttonA) gxDrawTexture(message_box.buttonA, 220, 288-18+(18-message_box.buttonA->height)/2,message_box.buttonA->width, message_box.buttonA->height,255);
|
||||||
else if (message_box.buttonA)
|
if (message_box.buttonB) gxDrawTexture(message_box.buttonB, 328, 288-18+(18-message_box.buttonB->height)/2,message_box.buttonB->width, message_box.buttonB->height,255);
|
||||||
{
|
}
|
||||||
FONT_writeCenter("Press to continue.",18,166,166+message_box.window->width,248+22,(GXColor)WHITE);
|
else
|
||||||
gxDrawTexture(message_box.buttonA, 166+116, 248+4+(18-message_box.buttonA->height)/2,message_box.buttonA->width, message_box.buttonA->height,255);
|
{
|
||||||
|
FONT_writeCenter("Press to continue.",18,166,166+message_box.window->width,248+22,(GXColor)WHITE);
|
||||||
|
if (message_box.buttonA) gxDrawTexture(message_box.buttonA, 166+116, 248+4+(18-message_box.buttonA->height)/2,message_box.buttonA->width, message_box.buttonA->height,255);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update display */
|
/* update display */
|
||||||
@ -1256,9 +1259,8 @@ static void *MsgBox_Thread(void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* update current Message Box */
|
/* update current Message Box */
|
||||||
void GUI_MsgBoxUpdate(gui_menu *parent, char *title, char *msg)
|
void GUI_MsgBoxUpdate(char *title, char *msg)
|
||||||
{
|
{
|
||||||
if (parent) message_box.parent = parent;
|
|
||||||
if (title) strncpy(message_box.title,title,64);
|
if (title) strncpy(message_box.title,title,64);
|
||||||
if (msg) strncpy(message_box.msg,msg,64);
|
if (msg) strncpy(message_box.msg,msg,64);
|
||||||
}
|
}
|
||||||
@ -1268,8 +1270,13 @@ void GUI_MsgBoxOpen(char *title, char *msg, bool throbber)
|
|||||||
{
|
{
|
||||||
if (SILENT) return;
|
if (SILENT) return;
|
||||||
|
|
||||||
|
/* clear unused textures */
|
||||||
|
gxTextureClose(&message_box.buttonA);
|
||||||
|
gxTextureClose(&message_box.buttonB);
|
||||||
|
gxTextureClose(&message_box.throbber);
|
||||||
|
|
||||||
/* update message box */
|
/* update message box */
|
||||||
GUI_MsgBoxUpdate(0,title,msg);
|
GUI_MsgBoxUpdate(title,msg);
|
||||||
|
|
||||||
/* ensure we are not already running */
|
/* ensure we are not already running */
|
||||||
if (!message_box.refresh)
|
if (!message_box.refresh)
|
||||||
@ -1367,7 +1374,7 @@ void GUI_MsgBoxClose(void)
|
|||||||
GUI_DrawMenu(message_box.parent);
|
GUI_DrawMenu(message_box.parent);
|
||||||
gxSetScreen();
|
gxSetScreen();
|
||||||
|
|
||||||
/* close textures */
|
/* clear all textures */
|
||||||
gxTextureClose(&message_box.window);
|
gxTextureClose(&message_box.window);
|
||||||
gxTextureClose(&message_box.top);
|
gxTextureClose(&message_box.top);
|
||||||
gxTextureClose(&message_box.buttonA);
|
gxTextureClose(&message_box.buttonA);
|
||||||
@ -1381,27 +1388,25 @@ void GUI_WaitPrompt(char *title, char *msg)
|
|||||||
if (SILENT) return;
|
if (SILENT) return;
|
||||||
|
|
||||||
/* update message box */
|
/* update message box */
|
||||||
gxTextureClose(&message_box.throbber);
|
|
||||||
GUI_MsgBoxOpen(title, msg, 0);
|
GUI_MsgBoxOpen(title, msg, 0);
|
||||||
|
|
||||||
/* allocate texture memory */
|
/* allocate texture */
|
||||||
message_box.buttonA = gxTextureOpenPNG(Key_A_png,0);
|
message_box.buttonA = gxTextureOpenPNG(Key_A_png,0);
|
||||||
|
|
||||||
/* wait for button A */
|
/* wait for button A */
|
||||||
while (m_input.keys & PAD_BUTTON_A) VIDEO_WaitVSync();
|
while (m_input.keys & PAD_BUTTON_A) VIDEO_WaitVSync();
|
||||||
while (!(m_input.keys & PAD_BUTTON_A)) VIDEO_WaitVSync();
|
while (!(m_input.keys & PAD_BUTTON_A)) VIDEO_WaitVSync();
|
||||||
|
|
||||||
/* close message box */
|
/* always close message box */
|
||||||
GUI_MsgBoxClose();
|
GUI_MsgBoxClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
int GUI_ConfirmPrompt(char *title, char *msg)
|
int GUI_ConfirmPrompt(char *msg)
|
||||||
{
|
{
|
||||||
if (config.askConfirm)
|
if (config.ask_confirm)
|
||||||
{
|
{
|
||||||
/* update message box */
|
/* update message box */
|
||||||
gxTextureClose(&message_box.throbber);
|
GUI_MsgBoxOpen("User Confirmation", msg, 0);
|
||||||
GUI_MsgBoxOpen(title, msg, 0);
|
|
||||||
|
|
||||||
/* allocate textures */
|
/* allocate textures */
|
||||||
message_box.buttonA = gxTextureOpenPNG(Key_A_png,0);
|
message_box.buttonA = gxTextureOpenPNG(Key_A_png,0);
|
||||||
|
@ -288,10 +288,10 @@ extern int GUI_WindowPrompt(gui_menu *parent, char *title, char *items[], u8 nb_
|
|||||||
extern void GUI_OptionBox(gui_menu *parent, optioncallback cb, char *title, void *option, float step, float min, float max, u8 type);
|
extern void GUI_OptionBox(gui_menu *parent, optioncallback cb, char *title, void *option, float step, float min, float max, u8 type);
|
||||||
extern void GUI_SlideMenuTitle(gui_menu *m, int title_offset);
|
extern void GUI_SlideMenuTitle(gui_menu *m, int title_offset);
|
||||||
extern void GUI_MsgBoxOpen(char *title, char *msg, bool throbber);
|
extern void GUI_MsgBoxOpen(char *title, char *msg, bool throbber);
|
||||||
extern void GUI_MsgBoxUpdate(gui_menu *parent, char *title, char *msg);
|
extern void GUI_MsgBoxUpdate(char *title, char *msg);
|
||||||
extern void GUI_MsgBoxClose(void);
|
extern void GUI_MsgBoxClose(void);
|
||||||
extern void GUI_WaitPrompt(char *title, char *msg);
|
extern void GUI_WaitPrompt(char *title, char *msg);
|
||||||
extern int GUI_ConfirmPrompt(char *title, char *msg);
|
extern int GUI_ConfirmPrompt(char *msg);
|
||||||
extern void GUI_FadeOut();
|
extern void GUI_FadeOut();
|
||||||
extern void GUI_SetBgColor(GXColor color);
|
extern void GUI_SetBgColor(GXColor color);
|
||||||
extern void GUI_Initialize(void);
|
extern void GUI_Initialize(void);
|
||||||
|
@ -249,14 +249,15 @@ static gui_item items_video[8] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Preferences menu */
|
/* Preferences menu */
|
||||||
static gui_item items_prefs[6] =
|
static gui_item items_prefs[7] =
|
||||||
{
|
{
|
||||||
{NULL,NULL,"Auto SRAM: OFF", "Enable/disable automatic SRAM", 52,132,276,48},
|
{NULL,NULL,"Auto SRAM: OFF", "Enable/disable automatic SRAM", 52,132,276,48},
|
||||||
{NULL,NULL,"Auto STATE: OFF", "Enable/disable automatic Savestate", 52,132,276,48},
|
{NULL,NULL,"Auto STATE: OFF", "Enable/disable automatic Savestate", 52,132,276,48},
|
||||||
{NULL,NULL,"SFX Volume: 100", "Adjust sound effects volume", 52,132,276,48},
|
{NULL,NULL,"SFX Volume: 100", "Adjust sound effects volume", 52,132,276,48},
|
||||||
{NULL,NULL,"BGM Volume: 100", "Adjust background music volume", 52,132,276,48},
|
{NULL,NULL,"BGM Volume: 100", "Adjust background music volume", 52,132,276,48},
|
||||||
{NULL,NULL,"BG Color: DEFAULT", "Change background color", 52,132,276,48},
|
{NULL,NULL,"BG Color: DEFAULT", "Change background color", 52,132,276,48},
|
||||||
{NULL,NULL,"Screen Width: 658", "Adjust Screen Width", 52,132,276,48}
|
{NULL,NULL,"Screen Width: 658", "Adjust Screen Width", 52,132,276,48},
|
||||||
|
{NULL,NULL,"Confirmation Box: OFF", "Enable/disable user confirmation", 52,132,276,48}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@ -447,7 +448,7 @@ static gui_menu menu_prefs =
|
|||||||
{
|
{
|
||||||
"Menu Settings",
|
"Menu Settings",
|
||||||
0,0,
|
0,0,
|
||||||
6,4,6,
|
7,4,6,
|
||||||
items_prefs,
|
items_prefs,
|
||||||
buttons_list,
|
buttons_list,
|
||||||
bg_list,
|
bg_list,
|
||||||
@ -615,6 +616,7 @@ static void prefmenu ()
|
|||||||
if (config.bg_color) sprintf (items[4].text, "BG Color: Type %d", config.bg_color);
|
if (config.bg_color) sprintf (items[4].text, "BG Color: Type %d", config.bg_color);
|
||||||
else sprintf (items[4].text, "BG Color: DEFAULT");
|
else sprintf (items[4].text, "BG Color: DEFAULT");
|
||||||
sprintf (items[5].text, "Screen Width: %d", config.screen_w);
|
sprintf (items[5].text, "Screen Width: %d", config.screen_w);
|
||||||
|
sprintf (items[6].text, "Confirmation Box: %s",config.ask_confirm ? "ON":"OFF");
|
||||||
|
|
||||||
GUI_InitMenu(m);
|
GUI_InitMenu(m);
|
||||||
GUI_SlideMenuTitle(m,strlen("Menu "));
|
GUI_SlideMenuTitle(m,strlen("Menu "));
|
||||||
@ -668,6 +670,11 @@ static void prefmenu ()
|
|||||||
sprintf (items[5].text, "Screen Width: %d", config.screen_w);
|
sprintf (items[5].text, "Screen Width: %d", config.screen_w);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 6:
|
||||||
|
config.ask_confirm ^= 1;
|
||||||
|
sprintf (items[6].text, "Confirmation Box: %s",config.ask_confirm ? "ON":"OFF");
|
||||||
|
break;
|
||||||
|
|
||||||
case -1:
|
case -1:
|
||||||
quit = 1;
|
quit = 1;
|
||||||
break;
|
break;
|
||||||
|
@ -116,7 +116,7 @@ static void pad_config(int chan, int max_keys)
|
|||||||
|
|
||||||
/* wait for user input */
|
/* wait for user input */
|
||||||
sprintf(msg,"Press key for %s\n(Z to return)",keys_name[i]);
|
sprintf(msg,"Press key for %s\n(Z to return)",keys_name[i]);
|
||||||
GUI_MsgBoxUpdate(0,0,msg);
|
GUI_MsgBoxUpdate(0,msg);
|
||||||
|
|
||||||
key = 0;
|
key = 0;
|
||||||
while (!key)
|
while (!key)
|
||||||
@ -345,7 +345,7 @@ static void wpad_config(u8 chan, u8 exp, u8 max_keys)
|
|||||||
|
|
||||||
/* wait for user input */
|
/* wait for user input */
|
||||||
sprintf(msg,"Press key for %s\n(HOME to return)",keys_name[i]);
|
sprintf(msg,"Press key for %s\n(HOME to return)",keys_name[i]);
|
||||||
GUI_MsgBoxUpdate(0,0,msg);
|
GUI_MsgBoxUpdate(0,msg);
|
||||||
|
|
||||||
/* wait for input */
|
/* wait for input */
|
||||||
key = 0;
|
key = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user