Add Nintendont BBA emulation and net profile options

This commit is contained in:
wiidev 2019-11-11 20:00:00 +00:00
parent a78a615b55
commit 7d01cc0359
32 changed files with 247 additions and 4 deletions

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr "Fouten overslaan"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr "Omettre les erreurs"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "Omettre le BIOS" msgstr "Omettre le BIOS"
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Patch vidéo Sneek" msgstr "Patch vidéo Sneek"

View File

@ -1950,6 +1950,12 @@ msgstr "Fehler überspringen"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Sneek Video Patch" msgstr "Sneek Video Patch"

View File

@ -1949,6 +1949,12 @@ msgstr "Áãíüçóç óöáëìÜôùí"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Patch åéêüíáò ãéá sneek" msgstr "Patch åéêüíáò ãéá sneek"

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr "Salta errori"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "Salta IPL" msgstr "Salta IPL"
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Patch video sneek" msgstr "Patch video sneek"

View File

@ -1950,6 +1950,12 @@ msgstr "エラーをスキップ"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "SNEEK映像パッチ" msgstr "SNEEK映像パッチ"

View File

@ -1947,6 +1947,12 @@ msgstr "오류 건너뛰기"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "IPL 건너뛰기" msgstr "IPL 건너뛰기"
msgid "BBA Emulation"
msgstr "BBA 에뮬레이션"
msgid "BBA Net Profile"
msgstr "BBA 넷 프로파일"
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Sneek 비디오 경로" msgstr "Sneek 비디오 경로"

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr "Pular Erros"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Patch Vídeo Sneek" msgstr "Patch Vídeo Sneek"

View File

@ -1950,6 +1950,12 @@ msgstr "Saltar Erros"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Patch Vídeo Sneek" msgstr "Patch Vídeo Sneek"

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr "跳过错误"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Sneek 视频补丁" msgstr "Sneek 视频补丁"

View File

@ -1950,6 +1950,12 @@ msgstr "Saltar errores"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Parche vídeo Sneek" msgstr "Parche vídeo Sneek"

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr "略過錯誤"
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Sneek視訊修正" msgstr "Sneek視訊修正"

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -1950,6 +1950,12 @@ msgstr ""
msgid "Skip IPL" msgid "Skip IPL"
msgstr "" msgstr ""
msgid "BBA Emulation"
msgstr ""
msgid "BBA Net Profile"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "" msgstr ""

View File

@ -20,12 +20,12 @@
#include <gctypes.h> #include <gctypes.h>
#define NIN_MAGIC 0x01070CF6 #define NIN_MAGIC 0x01070CF6
#define NIN_CFG_VERSION 0x00000008 #define NIN_CFG_VERSION 0x00000009
typedef struct NIN_CFG typedef struct NIN_CFG
{ {
u32 Magicbytes; // 0x01070CF6 u32 Magicbytes; // 0x01070CF6
u32 Version; // v4 since v3.354, v5 since v3.358, v6 since v3.368, v7 since 4.424, v8 since 4.431 u32 Version; // v4 since v3.354, v5 since v3.358, v6 since v3.368, v7 since v4.424, v8 since v4.431, v9 since v6.487
u32 Config; u32 Config;
u32 VideoMode; u32 VideoMode;
u32 Language; u32 Language;
@ -41,7 +41,7 @@ typedef struct NIN_CFG
char MemCardBlocksV4;// replaced in v3.354 - cfg version 4 - from u32 in v3 to Char in v4 char MemCardBlocksV4;// replaced in v3.354 - cfg version 4 - from u32 in v3 to Char in v4
char VideoScale; // added in v3.354 - cfg version 4 char VideoScale; // added in v3.354 - cfg version 4
char VideoOffset; // added in v3.354 - cfg version 4 char VideoOffset; // added in v3.354 - cfg version 4
char Unused; // added in v3.354 - cfg version 4 char NetworkProfile; // added in v6.487 - cfg version 9
}; };
}; };
} NIN_CFG; } NIN_CFG;
@ -68,6 +68,7 @@ enum ninconfig
NIN_CFG_ARCADE_MODE = (1<<16), // v4.424 NIN_CFG_ARCADE_MODE = (1<<16), // v4.424
NIN_CFG_CC_RUMBLE = (1 << 17),// v4.431 cfg version 8 NIN_CFG_CC_RUMBLE = (1 << 17),// v4.431 cfg version 8
NIN_CFG_SKIP_IPL = (1 << 18),// v4.435 NIN_CFG_SKIP_IPL = (1 << 18),// v4.435
NIN_CFG_BBA_EMU = (1 << 19),// v6.487 cfg version 9
}; };
enum ninvideomode enum ninvideomode

View File

@ -226,6 +226,8 @@ bool CGameSettings::Save()
fprintf(f, "NINArcadeMode:%d; ", GameList[i].NINArcadeMode); fprintf(f, "NINArcadeMode:%d; ", GameList[i].NINArcadeMode);
fprintf(f, "NINCCRumble:%d; ", GameList[i].NINCCRumble); fprintf(f, "NINCCRumble:%d; ", GameList[i].NINCCRumble);
fprintf(f, "NINSkipIPL:%d; ", GameList[i].NINSkipIPL); fprintf(f, "NINSkipIPL:%d; ", GameList[i].NINSkipIPL);
fprintf(f, "NINBBA:%d; ", GameList[i].NINBBA);
fprintf(f, "NINBBAProfile:%d; ", GameList[i].NINBBAProfile);
fprintf(f, "NINMCEmulation:%d; ", GameList[i].NINMCEmulation); fprintf(f, "NINMCEmulation:%d; ", GameList[i].NINMCEmulation);
fprintf(f, "NINMCSize:%d; ", GameList[i].NINMCSize); fprintf(f, "NINMCSize:%d; ", GameList[i].NINMCSize);
fprintf(f, "NINUSBHID:%d; ", GameList[i].NINUSBHID); fprintf(f, "NINUSBHID:%d; ", GameList[i].NINUSBHID);
@ -459,6 +461,16 @@ bool CGameSettings::SetSetting(GameCFG & game, const char *name, const char *val
game.NINSkipIPL = atoi(value); game.NINSkipIPL = atoi(value);
return true; return true;
} }
else if (strcmp(name, "NINBBA") == 0)
{
game.NINBBA = atoi(value);
return true;
}
else if (strcmp(name, "NINBBAProfile") == 0)
{
game.NINBBAProfile = atoi(value);
return true;
}
else if(strcmp(name, "NINMCEmulation") == 0) else if(strcmp(name, "NINMCEmulation") == 0)
{ {
game.NINMCEmulation = atoi(value); game.NINMCEmulation = atoi(value);
@ -690,6 +702,8 @@ void CGameSettings::SetDefault(GameCFG &game)
game.NINArcadeMode = INHERIT; game.NINArcadeMode = INHERIT;
game.NINCCRumble = INHERIT; game.NINCCRumble = INHERIT;
game.NINSkipIPL = INHERIT; game.NINSkipIPL = INHERIT;
game.NINBBA = INHERIT;
game.NINBBAProfile = INHERIT;
game.NINMCEmulation = INHERIT; game.NINMCEmulation = INHERIT;
game.NINMCSize = INHERIT; game.NINMCSize = INHERIT;
game.NINUSBHID = INHERIT; game.NINUSBHID = INHERIT;

View File

@ -50,6 +50,8 @@ typedef struct _GameCFG
short NINArcadeMode; short NINArcadeMode;
short NINCCRumble; short NINCCRumble;
short NINSkipIPL; short NINSkipIPL;
short NINBBA;
short NINBBAProfile;
short NINMCEmulation; short NINMCEmulation;
short NINMCSize; short NINMCSize;
short NINUSBHID; short NINUSBHID;
@ -113,6 +115,8 @@ typedef struct _GameCFG
this->NINArcadeMode = game.NINArcadeMode; this->NINArcadeMode = game.NINArcadeMode;
this->NINCCRumble = game.NINCCRumble; this->NINCCRumble = game.NINCCRumble;
this->NINSkipIPL = game.NINSkipIPL; this->NINSkipIPL = game.NINSkipIPL;
this->NINBBA = game.NINBBA;
this->NINBBAProfile = game.NINBBAProfile;
this->NINMCEmulation = game.NINMCEmulation; this->NINMCEmulation = game.NINMCEmulation;
this->NINMCSize = game.NINMCSize; this->NINMCSize = game.NINMCSize;
this->NINUSBHID = game.NINUSBHID; this->NINUSBHID = game.NINUSBHID;

View File

@ -194,6 +194,8 @@ void CSettings::SetDefault()
NINArcadeMode = OFF; NINArcadeMode = OFF;
NINCCRumble = OFF; NINCCRumble = OFF;
NINSkipIPL = OFF; NINSkipIPL = OFF;
NINBBA = OFF;
NINBBAProfile = 0;
NINMCEmulation = ON; NINMCEmulation = ON;
NINMCSize = 2; NINMCSize = 2;
NINAutoboot = ON; NINAutoboot = ON;
@ -454,6 +456,8 @@ bool CSettings::Save()
fprintf(file, "NINArcadeMode = %d\n", NINArcadeMode); fprintf(file, "NINArcadeMode = %d\n", NINArcadeMode);
fprintf(file, "NINCCRumble = %d\n", NINCCRumble); fprintf(file, "NINCCRumble = %d\n", NINCCRumble);
fprintf(file, "NINSkipIPL = %d\n", NINSkipIPL); fprintf(file, "NINSkipIPL = %d\n", NINSkipIPL);
fprintf(file, "NINBBA = %d\n", NINBBA);
fprintf(file, "NINBBAProfile = %d\n", NINBBAProfile);
fprintf(file, "NINMCEmulation = %d\n", NINMCEmulation); fprintf(file, "NINMCEmulation = %d\n", NINMCEmulation);
fprintf(file, "NINMCSize = %d\n", NINMCSize); fprintf(file, "NINMCSize = %d\n", NINMCSize);
fprintf(file, "NINAutoboot = %d\n", NINAutoboot); fprintf(file, "NINAutoboot = %d\n", NINAutoboot);
@ -993,6 +997,16 @@ bool CSettings::SetSetting(char *name, char *value)
NINSkipIPL = atoi(value); NINSkipIPL = atoi(value);
return true; return true;
} }
else if (strcmp(name, "NINBBA") == 0)
{
NINBBA = atoi(value);
return true;
}
else if (strcmp(name, "NINBBAProfile") == 0)
{
NINBBAProfile = atoi(value);
return true;
}
else if (strcmp(name, "NINMCEmulation") == 0) else if (strcmp(name, "NINMCEmulation") == 0)
{ {
NINMCEmulation = atoi(value); NINMCEmulation = atoi(value);

View File

@ -198,6 +198,8 @@ class CSettings
short NINArcadeMode; short NINArcadeMode;
short NINCCRumble; short NINCCRumble;
short NINSkipIPL; short NINSkipIPL;
short NINBBA;
short NINBBAProfile;
s8 NINMCEmulation; s8 NINMCEmulation;
short NINMCSize; short NINMCSize;
short NINAutoboot; short NINAutoboot;

View File

@ -340,6 +340,16 @@ enum
}; };
enum
{
NIN_BBA_AUTO,
NIN_BBA_1,
NIN_BBA_2,
NIN_BBA_3,
NIN_BBA_MAX_CHOICE
};
enum enum
{ {
DML_VIDEO_AUTO, DML_VIDEO_AUTO,

View File

@ -202,6 +202,8 @@ void GCGameLoadSM::SetOptionNames()
Options->SetName(Idx++, "%s", tr( "Triforce Arcade Mode" )); Options->SetName(Idx++, "%s", tr( "Triforce Arcade Mode" ));
Options->SetName(Idx++, "%s", tr("CC Rumble")); Options->SetName(Idx++, "%s", tr("CC Rumble"));
Options->SetName(Idx++, "%s", tr("Skip IPL")); Options->SetName(Idx++, "%s", tr("Skip IPL"));
Options->SetName(Idx++, "%s", tr( "BBA Emulation" ));
Options->SetName(Idx++, "%s", tr( "BBA Net Profile" ));
Options->SetName(Idx++, "%s", tr( "Memory Card Emulation" )); Options->SetName(Idx++, "%s", tr( "Memory Card Emulation" ));
Options->SetName(Idx++, "%s", tr( "Memory Card Blocks Size" )); Options->SetName(Idx++, "%s", tr( "Memory Card Blocks Size" ));
Options->SetName(Idx++, "%s", tr( "USB-HID Controller" )); Options->SetName(Idx++, "%s", tr( "USB-HID Controller" ));
@ -423,6 +425,20 @@ void GCGameLoadSM::SetOptionValues()
else else
Options->SetValue(Idx++, "%s", tr(OnOffText[GameConfig.NINSkipIPL])); Options->SetValue(Idx++, "%s", tr(OnOffText[GameConfig.NINSkipIPL]));
//! Settings: NIN BBA Emulation
if (GameConfig.NINBBA == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
else
Options->SetValue(Idx++, "%s", tr(OnOffText[GameConfig.NINBBA]));
//! Settings: NIN BBA Net Profile
if(GameConfig.NINBBAProfile == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
else if(GameConfig.NINBBAProfile == 0)
Options->SetValue(Idx++, tr("Auto"));
else
Options->SetValue(Idx++, "%i", GameConfig.NINBBAProfile);
//! Settings: NIN Memory Card Emulation //! Settings: NIN Memory Card Emulation
if(GameConfig.NINMCEmulation == INHERIT) if(GameConfig.NINMCEmulation == INHERIT)
Options->SetValue(Idx++, tr("Use global")); Options->SetValue(Idx++, tr("Use global"));
@ -783,6 +799,18 @@ int GCGameLoadSM::GetMenuInternal()
if (++GameConfig.NINSkipIPL >= MAX_ON_OFF) GameConfig.NINSkipIPL = INHERIT; if (++GameConfig.NINSkipIPL >= MAX_ON_OFF) GameConfig.NINSkipIPL = INHERIT;
} }
//! Settings: NIN BBA Emulation
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
if (++GameConfig.NINBBA >= MAX_ON_OFF) GameConfig.NINBBA = INHERIT;
}
//! Settings: NIN BBA Net Profile
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
if (++GameConfig.NINBBAProfile >= NIN_BBA_MAX_CHOICE) GameConfig.NINBBAProfile = INHERIT;
}
//! Settings: NIN Memory Card Emulation //! Settings: NIN Memory Card Emulation
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx) else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{ {

View File

@ -280,6 +280,8 @@ void LoaderSettings::SetOptionNames()
Options->SetName(Idx++, "%s", tr( "Triforce Arcade Mode" )); Options->SetName(Idx++, "%s", tr( "Triforce Arcade Mode" ));
Options->SetName(Idx++, "%s", tr("CC Rumble")); Options->SetName(Idx++, "%s", tr("CC Rumble"));
Options->SetName(Idx++, "%s", tr("Skip IPL")); Options->SetName(Idx++, "%s", tr("Skip IPL"));
Options->SetName(Idx++, "%s", tr( "BBA Emulation" ));
Options->SetName(Idx++, "%s", tr( "BBA Net Profile" ));
Options->SetName(Idx++, "%s", tr( "Memory Card Emulation" )); Options->SetName(Idx++, "%s", tr( "Memory Card Emulation" ));
Options->SetName(Idx++, "%s", tr( "Memory Card Blocks Size" )); Options->SetName(Idx++, "%s", tr( "Memory Card Blocks Size" ));
Options->SetName(Idx++, "%s", tr( "USB-HID Controller" )); Options->SetName(Idx++, "%s", tr( "USB-HID Controller" ));
@ -452,7 +454,6 @@ void LoaderSettings::SetOptionValues()
{ {
Options->SetValue(Idx++, "%s", tr("Manual (40~120)")); Options->SetValue(Idx++, "%s", tr("Manual (40~120)"));
Options->SetValue(Idx++, "%d", Settings.NINVideoScale); Options->SetValue(Idx++, "%d", Settings.NINVideoScale);
} }
//! Settings: NIN VideoOffset //! Settings: NIN VideoOffset
@ -470,6 +471,15 @@ void LoaderSettings::SetOptionValues()
//! Settings: NIN Skip IPL //! Settings: NIN Skip IPL
Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINSkipIPL])); Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINSkipIPL]));
//! Settings: NIN BBA Emulation
Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINBBA]));
//! Settings: NIN BBA Net Profile
if(Settings.NINBBAProfile == 0)
Options->SetValue(Idx++, "%s", tr("Auto"));
else
Options->SetValue(Idx++, "%i", Settings.NINBBAProfile);
//! Settings: NIN Memory Card Emulation //! Settings: NIN Memory Card Emulation
Options->SetValue(Idx++, "%s", tr(NINMCText[Settings.NINMCEmulation])); Options->SetValue(Idx++, "%s", tr(NINMCText[Settings.NINMCEmulation]));
@ -889,6 +899,18 @@ int LoaderSettings::GetMenuInternal()
if (++Settings.NINSkipIPL >= MAX_ON_OFF) Settings.NINSkipIPL = 0; if (++Settings.NINSkipIPL >= MAX_ON_OFF) Settings.NINSkipIPL = 0;
} }
//! Settings: NIN BBA Emulation
else if (ret == ++Idx)
{
if (++Settings.NINBBA >= MAX_ON_OFF) Settings.NINBBA = 0;
}
//! Settings: NIN BBA Net Profile
else if (ret == ++Idx)
{
if (++Settings.NINBBAProfile >= NIN_BBA_MAX_CHOICE) Settings.NINBBAProfile = 0;
}
//! Settings: NIN Memory Card Emulation //! Settings: NIN Memory Card Emulation
else if (ret == ++Idx) else if (ret == ++Idx)
{ {

View File

@ -1023,6 +1023,8 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
u8 ninArcadeModeChoice = game_cfg->NINArcadeMode == INHERIT ? Settings.NINArcadeMode : game_cfg->NINArcadeMode; u8 ninArcadeModeChoice = game_cfg->NINArcadeMode == INHERIT ? Settings.NINArcadeMode : game_cfg->NINArcadeMode;
u8 ninCCRumbleChoice = game_cfg->NINCCRumble == INHERIT ? Settings.NINCCRumble : game_cfg->NINCCRumble; u8 ninCCRumbleChoice = game_cfg->NINCCRumble == INHERIT ? Settings.NINCCRumble : game_cfg->NINCCRumble;
u8 ninSkipIPLChoice = game_cfg->NINSkipIPL == INHERIT ? Settings.NINSkipIPL : game_cfg->NINSkipIPL; u8 ninSkipIPLChoice = game_cfg->NINSkipIPL == INHERIT ? Settings.NINSkipIPL : game_cfg->NINSkipIPL;
u8 ninBBAChoice = game_cfg->NINBBA == INHERIT ? Settings.NINBBA : game_cfg->NINBBA;
u8 ninBBAProfileChoice = game_cfg->NINBBAProfile == INHERIT ? Settings.NINBBAProfile : game_cfg->NINBBAProfile;
const char *ninLoaderPath = game_cfg->NINLoaderPath.size() == 0 ? Settings.NINLoaderPath : game_cfg->NINLoaderPath.c_str(); const char *ninLoaderPath = game_cfg->NINLoaderPath.size() == 0 ? Settings.NINLoaderPath : game_cfg->NINLoaderPath.c_str();
@ -1499,6 +1501,14 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
if(NIN_cfg_version >= 5 && ninRemlimitChoice) if(NIN_cfg_version >= 5 && ninRemlimitChoice)
nin_config->Config |= NIN_CFG_REMLIMIT; nin_config->Config |= NIN_CFG_REMLIMIT;
// BBA emulation
if (NIN_cfg_version >= 9 && ninBBAChoice)
nin_config->Config |= NIN_CFG_BBA_EMU; // v6.487+
// BBA network profile
if(NIN_cfg_version >= 9 && ninBBAChoice && !isWiiU())
nin_config->NetworkProfile = ninBBAProfileChoice; // v6.487+
// Setup Video Mode // Setup Video Mode
if(ninVideoChoice == DML_VIDEO_NONE) // No video mode changes if(ninVideoChoice == DML_VIDEO_NONE) // No video mode changes
{ {