mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-12-19 00:11:55 +01:00
Create options to quick boot GAME(skip game prompt), and invert the left/right direction in game prompt (switch previous/next)
This commit is contained in:
parent
ce921b5bb9
commit
3bd5652da2
File diff suppressed because one or more lines are too long
22
source/cfg.c
22
source/cfg.c
@ -39,6 +39,8 @@ u8 languageChoice = 0;
|
||||
u8 viChoice = 0;
|
||||
u8 iosChoice = 0;
|
||||
u8 parentalcontrolChoice = 0;
|
||||
u8 xflip = 0;
|
||||
u8 qboot = 0;
|
||||
|
||||
#define TITLE_MAX 65
|
||||
|
||||
@ -199,6 +201,7 @@ void CFG_Default(int widescreen) // -1 = non forced Mode
|
||||
CFG.parentalcontrol = 0;
|
||||
CFG.maxcharacters = 38;
|
||||
CFG.godmode = 0;
|
||||
CFG.xflip = 0;
|
||||
|
||||
//all alignments are left top here
|
||||
THEME.selection_x = 200;
|
||||
@ -708,6 +711,20 @@ void global_cfg_set(char *name, char *val)
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (strcmp(name, "xflip") == 0) {
|
||||
int i;
|
||||
if (sscanf(val, "%d", &i) == 1) {
|
||||
Settings.xflip = i;
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (strcmp(name, "qboot") == 0) {
|
||||
int i;
|
||||
if (sscanf(val, "%d", &i) == 1) {
|
||||
Settings.qboot = i;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// split line to part1 delimiter part2
|
||||
@ -873,6 +890,8 @@ bool cfg_save_global()// save global settings
|
||||
fprintf(f, "tooltips = %d\n ", Settings.tooltips);
|
||||
fprintf(f, "password = %s\n ", Settings.unlockCode);
|
||||
fprintf(f, "cios = %d\n ", Settings.cios);
|
||||
fprintf(f, "xflip = %d\n ", Settings.xflip);
|
||||
fprintf(f, "qboot = %d\n ", Settings.qboot);
|
||||
fclose(f);
|
||||
return true;
|
||||
}
|
||||
@ -935,6 +954,7 @@ void game_set(char *name, char *val)
|
||||
game->parentalcontrol = opt_c;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
// next opt
|
||||
if (np) p = np + 1; else p = NULL;
|
||||
@ -984,6 +1004,8 @@ bool cfg_load_global()
|
||||
Settings.vpatch = off;
|
||||
Settings.language = ConsoleLangDefault;
|
||||
Settings.ocarina = off;
|
||||
Settings.xflip = off;
|
||||
Settings.qboot = off;
|
||||
Settings.hddinfo = HDDInfo;
|
||||
Settings.sinfo = ((THEME.showID) ? GameID : Neither);
|
||||
Settings.rumble = RumbleOn;
|
||||
|
12
source/cfg.h
12
source/cfg.h
@ -62,6 +62,7 @@ struct CFG
|
||||
short parentalcontrol;
|
||||
short maxcharacters;
|
||||
short godmode;
|
||||
short xflip;
|
||||
char unlockCode[20];
|
||||
char covers_path[100];
|
||||
char theme_path[100];
|
||||
@ -132,6 +133,8 @@ extern u8 languageChoice;
|
||||
extern u8 viChoice;
|
||||
extern u8 iosChoice;
|
||||
extern u8 parentalcontrolChoice;
|
||||
extern u8 xflip;
|
||||
extern u8 qboot;
|
||||
|
||||
struct Game_CFG
|
||||
{
|
||||
@ -226,12 +229,17 @@ enum {
|
||||
v0,
|
||||
};
|
||||
|
||||
enum {
|
||||
no,
|
||||
yes,
|
||||
};
|
||||
/*
|
||||
enum {
|
||||
ParentalControlOff,
|
||||
ParentalControlLevel1,
|
||||
ParentalControlLevel2,
|
||||
ParentalControlLevel3
|
||||
};
|
||||
};*/
|
||||
|
||||
struct SSettings {
|
||||
int video;
|
||||
@ -242,11 +250,13 @@ struct SSettings {
|
||||
int sinfo;
|
||||
int hddinfo;
|
||||
int rumble;
|
||||
int xflip;
|
||||
int volume;
|
||||
int tooltips;
|
||||
char unlockCode[20];
|
||||
int parentalcontrol;
|
||||
int cios;
|
||||
int qboot;
|
||||
};
|
||||
|
||||
void CFG_LoadGlobal(void);
|
||||
|
@ -92,7 +92,9 @@ DefaultSettings()
|
||||
Settings.tooltips = TooltipsOn;
|
||||
snprintf(Settings.unlockCode, sizeof(Settings.unlockCode), "ab121b");
|
||||
Settings.parentalcontrol = 0;
|
||||
Settings.cios = ios249;
|
||||
Settings.cios = ios249;
|
||||
Settings.xflip = no;
|
||||
Settings.qboot = no;
|
||||
|
||||
CFG_LoadGlobal();
|
||||
}
|
||||
|
143
source/menu.cpp
143
source/menu.cpp
@ -1043,8 +1043,8 @@ int GameWindowPrompt()
|
||||
choice = 3;
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
|
||||
}
|
||||
|
||||
else if(btnRight.GetState() == STATE_CLICKED) {//next game
|
||||
|
||||
else if((btnRight.GetState() == STATE_CLICKED) && (Settings.xflip == no)){//next game
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_RIGHT | EFFECT_SLIDE_OUT, 50);
|
||||
changed = 1;
|
||||
gameSelected = (gameSelected + 1) % gameCnt;
|
||||
@ -1052,13 +1052,30 @@ int GameWindowPrompt()
|
||||
break;
|
||||
}
|
||||
|
||||
else if(btnLeft.GetState() == STATE_CLICKED) {//previous game
|
||||
else if((btnLeft.GetState() == STATE_CLICKED) && (Settings.xflip == no)){//previous game
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_OUT, 50);
|
||||
changed = 2;
|
||||
gameSelected = (gameSelected - 1 + gameCnt) % gameCnt;
|
||||
btnLeft.ResetState();
|
||||
break;
|
||||
}
|
||||
|
||||
else if((btnRight.GetState() == STATE_CLICKED) && (Settings.xflip == yes)){//next game
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_RIGHT | EFFECT_SLIDE_OUT, 50);
|
||||
changed = 1;
|
||||
gameSelected = (gameSelected - 1 + gameCnt) % gameCnt;
|
||||
btnRight.ResetState();
|
||||
break;
|
||||
}
|
||||
|
||||
else if((btnLeft.GetState() == STATE_CLICKED) && (Settings.xflip == yes)){//previous game
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_OUT, 50);
|
||||
changed = 2;
|
||||
gameSelected = (gameSelected + 1) % gameCnt;
|
||||
btnLeft.ResetState();
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -2711,8 +2728,101 @@ static int MenuDiscList()
|
||||
strncat(text, "...", 3);
|
||||
}
|
||||
|
||||
if (Settings.qboot == yes)//quickboot game
|
||||
{
|
||||
|
||||
bool returnHere = true;
|
||||
wiilight(0);
|
||||
|
||||
int ios2;
|
||||
switch(iosChoice)
|
||||
{
|
||||
case i249:
|
||||
ios2 = 0;
|
||||
break;
|
||||
|
||||
case i222:
|
||||
ios2 = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
ios2 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
// if we have used the network or cios222 we need to reload the disklist
|
||||
if(networkisinitialized == 1 || ios2 == 1 || Settings.cios == ios222) {
|
||||
|
||||
WPAD_Flush(0);
|
||||
WPAD_Disconnect(0);
|
||||
WPAD_Shutdown();
|
||||
|
||||
WDVD_Close();
|
||||
|
||||
USBStorage_Deinit();
|
||||
|
||||
if(ios2 == 1) {
|
||||
|
||||
ret = IOS_ReloadIOS(222);
|
||||
if(ret < 0) {
|
||||
|
||||
Wpad_Init();
|
||||
WPAD_SetDataFormat(WPAD_CHAN_ALL,WPAD_FMT_BTNS_ACC_IR);
|
||||
WPAD_SetVRes(WPAD_CHAN_ALL, screenwidth, screenheight);
|
||||
|
||||
WindowPrompt("You don't have cIOS222!","Loading in cIOS249!","OK", 0);
|
||||
|
||||
WPAD_Flush(0);
|
||||
WPAD_Disconnect(0);
|
||||
WPAD_Shutdown();
|
||||
|
||||
IOS_ReloadIOS(249);
|
||||
ios2 = 0;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
ret = IOS_ReloadIOS(249);
|
||||
|
||||
}
|
||||
|
||||
ret = WBFS_Init(WBFS_DEVICE_USB);
|
||||
|
||||
PAD_Init();
|
||||
Wpad_Init();
|
||||
WPAD_SetDataFormat(WPAD_CHAN_ALL,WPAD_FMT_BTNS_ACC_IR);
|
||||
WPAD_SetVRes(WPAD_CHAN_ALL, screenwidth, screenheight);
|
||||
|
||||
ret = Disc_Init();
|
||||
ret = WBFS_Open();
|
||||
|
||||
}
|
||||
|
||||
/* Set USB mode */
|
||||
ret = Disc_SetUSB(header->id, ios2);
|
||||
if (ret < 0) {
|
||||
sprintf(text, "Error: %i", ret);
|
||||
WindowPrompt(
|
||||
"Failed to set USB:",
|
||||
text,
|
||||
"OK",0);
|
||||
}
|
||||
else {
|
||||
/* Open disc */
|
||||
ret = Disc_Open();
|
||||
if (ret < 0) {
|
||||
sprintf(text, "Error: %i", ret);
|
||||
WindowPrompt(
|
||||
"Failed to boot:",
|
||||
text,
|
||||
"OK",0);
|
||||
}
|
||||
else {
|
||||
menu = MENU_EXIT;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
bool returnHere = true;// prompt to start game
|
||||
while (returnHere)
|
||||
{
|
||||
returnHere = false;
|
||||
@ -3281,8 +3391,8 @@ static int MenuSettings()
|
||||
sprintf(options2.name[0], "Tooltips");
|
||||
sprintf(options2.name[1], "Password");
|
||||
sprintf(options2.name[2], "Boot Loader in");
|
||||
sprintf(options2.name[3], " ");
|
||||
sprintf(options2.name[4], " ");
|
||||
sprintf(options2.name[3], "Flip X");
|
||||
sprintf(options2.name[4], "Quick Boot");
|
||||
sprintf(options2.name[5], " ");
|
||||
sprintf(options2.name[6], " ");
|
||||
sprintf(options2.name[7], " ");
|
||||
@ -3399,6 +3509,10 @@ static int MenuSettings()
|
||||
Settings.tooltips = 0;
|
||||
if ( Settings.cios > 1 )
|
||||
Settings.cios = 0;
|
||||
if ( Settings.xflip > 1 )
|
||||
Settings.xflip = 0;
|
||||
if ( Settings.qboot > 1 )
|
||||
Settings.qboot = 0;
|
||||
|
||||
if (Settings.tooltips == TooltipsOn) sprintf (options2.value[0],"On");
|
||||
else if (Settings.tooltips == TooltipsOff) sprintf (options2.value[0],"Off");
|
||||
@ -3410,8 +3524,12 @@ static int MenuSettings()
|
||||
if (Settings.cios == ios249) sprintf (options2.value[2],"cIOS 249");
|
||||
else if (Settings.cios == ios222) sprintf (options2.value[2],"cIOS 222");
|
||||
|
||||
sprintf (options2.value[3]," ");
|
||||
sprintf (options2.value[4]," ");
|
||||
if (Settings.xflip == no) sprintf (options2.value[3],"No");
|
||||
else if (Settings.xflip == yes) sprintf (options2.value[3],"Yes");
|
||||
|
||||
if (Settings.qboot == no) sprintf (options2.value[4],"No");
|
||||
else if (Settings.qboot == yes) sprintf (options2.value[4],"Yes");
|
||||
|
||||
sprintf (options2.value[5]," ");
|
||||
sprintf (options2.value[6]," ");
|
||||
sprintf (options2.value[7]," ");
|
||||
@ -3455,6 +3573,12 @@ static int MenuSettings()
|
||||
case 2:
|
||||
Settings.cios++;
|
||||
break;
|
||||
case 3:
|
||||
Settings.xflip++;
|
||||
break;
|
||||
case 4:
|
||||
Settings.qboot++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3919,7 +4043,7 @@ int MainMenu(int menu)
|
||||
int currentMenu = menu;
|
||||
char imgPath[100];
|
||||
|
||||
#ifdef HW_RVL
|
||||
#ifdef HW_RVL
|
||||
snprintf(imgPath, sizeof(imgPath), "%splayer1_point.png", CFG.theme_path);
|
||||
pointer[0] = new GuiImageData(imgPath, player1_point_png);
|
||||
snprintf(imgPath, sizeof(imgPath), "%splayer2_point.png", CFG.theme_path);
|
||||
@ -4016,7 +4140,6 @@ int MainMenu(int menu)
|
||||
vol = 80;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -69,3 +69,5 @@ u32 Wpad_WaitButtons(void)
|
||||
|
||||
return buttons;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user