Skip to content

Commit

Permalink
Fixed DLC for multiple content such as Wii Sports Club.
Browse files Browse the repository at this point in the history
Removed No Legitimate DLC. Now there is just a "DLC on SD"  Turn it on to a backup of your DLC located on the SD card.  Turn it off to use regular DLC.
  • Loading branch information
Yardape committed Nov 2, 2016
1 parent 5cf42b4 commit a0ba461
Show file tree
Hide file tree
Showing 12 changed files with 18 additions and 63 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@
/installer/sd_loader.h
/languages/*.pot
/src/gitrev.c
/toSD.bat
4 changes: 2 additions & 2 deletions meta/meta.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<app version="1">
<name>Loadiine GX2</name>
<coder>Dimok, Maschell, n1ghty, dibas</coder>
<version>0.3 r39c1591</version>
<release_date>20160804094703</release_date>
<version>0.3 r5cf42b4</version>
<release_date>20161101010348</release_date>
<short_description>WiiU game loader</short_description>
<long_description>Loads games from SD card.

Expand Down
1 change: 0 additions & 1 deletion src/common/retain_vars.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ u8 gCursorInitDone __attribute__((section(".data"))) = 0;
u8 gPatchSDKDone __attribute__((section(".data"))) = 0;
u8 gHIDPADEnabled __attribute__((section(".data"))) = 0;
u8 gEnableDLC __attribute__((section(".data"))) = 0;
u8 gEnableDLCnL __attribute__((section(".data"))) = 0;
u32 gLoaderPhysicalBufferAddr __attribute__((section(".data"))) = 0;
u32 gLogUDP __attribute__((section(".data"))) = 0;
char gServerIP[16] __attribute__((section(".data")));
Expand Down
1 change: 0 additions & 1 deletion src/common/retain_vars.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ extern u8 gCursorInitDone;
extern u8 gPatchSDKDone;
extern u8 gHIDPADEnabled;
extern u8 gEnableDLC;
extern u8 gEnableDLCnL;
extern u32 gLoaderPhysicalBufferAddr;
extern char gServerIP[16];
extern char gAoc_Id[256];
Expand Down
4 changes: 2 additions & 2 deletions src/game/GameLauncher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ int GameLauncher::loadGameToMemory(const discHeader *header)
log_printf("sdk_version: %i\n", cosAppXmlInfoStruct.sdk_version);
log_printf("title_version: %08X\n", cosAppXmlInfoStruct.title_version);

if(gs.EnableDLC){
if(gs.EnableDLC){

char aoc_title[AOC_TITLE_SIZE];
const char *aoc_title_dir;
Expand All @@ -353,7 +353,7 @@ int GameLauncher::loadGameToMemory(const discHeader *header)
}
}
memcpy(gAoc_Id, Aoc_id.c_str(), Aoc_id.size() +1);
log_printf("Total titles: %i titles\n" ,strlen(gAoc_Id) / 2);
log_printf("AOC Total titles: %i titles\n" ,strlen(gAoc_Id) / 2);
}

return 0;
Expand Down
38 changes: 1 addition & 37 deletions src/menu/GameLauncherMenu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ GameLauncherMenu::GameLauncherMenu(int gameIdx)
, titleImageData(Resources::GetImageData("settingsTitle.png"))
, titleImage(titleImageData)
, extraSaveText(tr("Extra Save:"), 40, glm::vec4(0.8f, 0.8f, 0.8f, 1.0f))
, dlcEnableText(tr("Enable DLC Support:"), 40, glm::vec4(0.8f, 0.8f, 0.8f, 1.0f))
, dlcnlEnableText(tr("Enable DLC no legitimet"), 40, glm::vec4(0.8f, 0.8f, 0.8f, 1.0f))
, dlcEnableText(tr("Enable DLC On SD:"), 40, glm::vec4(0.8f, 0.8f, 0.8f, 1.0f))
, frameImageData(Resources::GetImageData("gameSettingsFrame.png"))
, frameImage(frameImageData)
, touchTrigger(GuiTrigger::CHANNEL_1, GuiTrigger::VPAD_TOUCH)
Expand All @@ -73,7 +72,6 @@ GameLauncherMenu::GameLauncherMenu(int gameIdx)
, DPADButtons(0,0)
, extraSaveBox(false)
, dlcEnableBox(false)
, dlcnlEnableBox(false)
, progresswindow("")
, pathSelectBox(tr("Update Folder"),NULL)
, saveModeSelectBox(tr("Save Mode"),NULL)
Expand Down Expand Up @@ -197,33 +195,20 @@ GameLauncherMenu::GameLauncherMenu(int gameIdx)
dlcEnableBox.setTrigger(&wpadTouchTrigger);
dlcEnableBox.setSoundClick(buttonClickSound);
dlcEnableBox.valueChanged.connect(this, &GameLauncherMenu::OnDLCEnableValueChanged);

gameLauncherMenuFrame.append(&dlcnlEnableBox);

dlcnlEnableBox.setTrigger(&touchTrigger);
dlcnlEnableBox.setTrigger(&wpadTouchTrigger);
dlcnlEnableBox.setSoundClick(buttonClickSound);
dlcnlEnableBox.valueChanged.connect(this, &GameLauncherMenu::OnDLCnLEnableValueChanged);

gameLauncherMenuFrame.append(&dlcEnableBox);

f32 xpos = 0.11f;
f32 yOffset = -(0.3 * height);

dlcEnableBox.setScale(buttonscale*windowScale);
dlcnlEnableBox.setScale(buttonscale*windowScale);
saveModeSelectBox.setScale(buttonscale*windowScale);
launchModeSelectBox.setScale(buttonscale*windowScale);
extraSaveBox.setScale(buttonscale*windowScale);
extraSaveText.setScale(buttonscale*windowScale);
dlcEnableText.setScale(buttonscale*windowScale);
dlcnlEnableText.setScale(buttonscale*windowScale);
pathSelectBox.setScale(buttonscale* windowScale);

dlcnlEnableBox.setPosition(xpos*width + (saveModeSelectBox.getTopValueWidth()*saveModeSelectBox.getScale() /2.0) - (dlcnlEnableBox.getWidth()*dlcnlEnableBox.getScale()/2.0), yOffset);
dlcnlEnableText.setPosition(xpos*width - (saveModeSelectBox.getTopValueWidth()*saveModeSelectBox.getScale() /2.0)+ (dlcnlEnableText.getTextWidth()/2.0), yOffset);
yOffset += saveModeSelectBox.getTopValueHeight() * saveModeSelectBox.getScale();

dlcEnableBox.setPosition(xpos*width + (saveModeSelectBox.getTopValueWidth()*saveModeSelectBox.getScale() /2.0) - (dlcEnableBox.getWidth()*dlcEnableBox.getScale()/2.0), yOffset);
dlcEnableText.setPosition(xpos*width - (saveModeSelectBox.getTopValueWidth()*saveModeSelectBox.getScale() /2.0)+ (dlcEnableText.getTextWidth()/2.0), yOffset);
yOffset += saveModeSelectBox.getTopValueHeight() * saveModeSelectBox.getScale();
Expand Down Expand Up @@ -251,7 +236,6 @@ GameLauncherMenu::GameLauncherMenu(int gameIdx)
saveModeSelectBox.valueChanged.connect(this, &GameLauncherMenu::OnSelectBoxValueChanged);

gameLauncherMenuFrame.append(&dlcEnableText);
gameLauncherMenuFrame.append(&dlcnlEnableText);
gameLauncherMenuFrame.append(&extraSaveText);
gameLauncherMenuFrame.append(&saveModeSelectBox);
gameLauncherMenuFrame.append(&pathSelectBox);
Expand All @@ -266,7 +250,6 @@ GameLauncherMenu::GameLauncherMenu(int gameIdx)

focusElements[GamelaunchermenuFocus::ExtraSave] = &extraSaveBox;
focusElements[GamelaunchermenuFocus::EnableDLC] = &dlcEnableBox;
focusElements[GamelaunchermenuFocus::EnableDLCnL] = &dlcnlEnableBox;
focusElements[GamelaunchermenuFocus::Quit] = &quitButton;
focusElements[GamelaunchermenuFocus::UpdatePath] = &pathSelectBox;
focusElements[GamelaunchermenuFocus::SaveMethod] = &saveModeSelectBox;
Expand Down Expand Up @@ -370,12 +353,6 @@ void GameLauncherMenu::OnDLCEnableValueChanged(GuiToggle * toggle,bool value){
bChanged = true;
}

void GameLauncherMenu::OnDLCnLEnableValueChanged(GuiToggle * toggle,bool value){
gamesettings.EnableDLCnL = value;
gamesettingsChanged = true;
bChanged = true;
}

void GameLauncherMenu::OnGotHeaderFromMain(GuiElement *button, int gameIdx)
{
this->gameIdx = gameIdx;
Expand Down Expand Up @@ -473,7 +450,6 @@ void GameLauncherMenu::setHeader(const discHeader * header)
launchModeSelectBox.Init(launchModeNames,launchmodeID);
extraSaveBox.setValue(gamesettings.extraSave);
dlcEnableBox.setValue(gamesettings.EnableDLC);
dlcnlEnableBox.setValue(gamesettings.EnableDLCnL);

gamesettingsChanged = false;
bChanged = true;
Expand Down Expand Up @@ -703,18 +679,6 @@ void GameLauncherMenu::update(GuiController *c)
extraSaveBox.setState(STATE_DISABLED);
extraSaveText.setState(STATE_DISABLED);
}
if(gamesettings.EnableDLC != 0){
dlcnlEnableBox.setAlpha(1.0f);
dlcnlEnableText.setAlpha(1.0f);
dlcnlEnableBox.clearState(STATE_DISABLED);
dlcnlEnableText.clearState(STATE_DISABLED);
}else{
dlcnlEnableBox.setAlpha(0.3f);
dlcnlEnableText.setAlpha(0.3f);
dlcnlEnableBox.setUnchecked();
dlcnlEnableBox.setState(STATE_DISABLED);
dlcnlEnableText.setState(STATE_DISABLED);
}

bChanged = false;
}
Expand Down
4 changes: 0 additions & 4 deletions src/menu/GameLauncherMenu.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ class GameLauncherMenu : public GuiFrame, public sigslot::has_slots<>
ExtraSave,
UpdatePath,
EnableDLC,
EnableDLCnL,
Quit,
MAX_VALUE
};
Expand Down Expand Up @@ -89,7 +88,6 @@ class GameLauncherMenu : public GuiFrame, public sigslot::has_slots<>
void OnSelectBoxValueChanged(GuiSelectBox * selectbox,std::string value);
void OnExtraSaveValueChanged(GuiToggle * toggle,bool value);
void OnDLCEnableValueChanged(GuiToggle * toggle,bool value);
void OnDLCnLEnableValueChanged(GuiToggle * toggle,bool value);

void OnGotHeaderFromMain(GuiElement *button, int gameIdx);
void OnLeftArrowClick(GuiButton *button, const GuiController *controller, GuiTrigger *trigger);
Expand Down Expand Up @@ -128,7 +126,6 @@ class GameLauncherMenu : public GuiFrame, public sigslot::has_slots<>

GuiText extraSaveText;
GuiText dlcEnableText;
GuiText dlcnlEnableText;

GuiImageData *frameImageData;
GuiImage frameImage;
Expand All @@ -155,7 +152,6 @@ class GameLauncherMenu : public GuiFrame, public sigslot::has_slots<>

GuiSwitch extraSaveBox;
GuiSwitch dlcEnableBox;
GuiSwitch dlcnlEnableBox;

const discHeader *header;
GameSettings gamesettings;
Expand Down
2 changes: 0 additions & 2 deletions src/menu/MainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,6 @@ void MainWindow::OnGameLoadFinish(GameLauncher * launcher, const discHeader *hea
//! load HID settings
gHIDPADEnabled = CSettings::getValueAsU8(CSettings::HIDPadEnabled);
gEnableDLC = 0;
gEnableDLCnL = 0;

GameSettings gs;
bool result = CSettingsGame::getInstance()->LoadGameSettings(header->id,gs);
Expand Down Expand Up @@ -544,7 +543,6 @@ void MainWindow::OnGameLoadFinish(GameLauncher * launcher, const discHeader *hea
}

gEnableDLC = gs.EnableDLC;
gEnableDLCnL = gs.EnableDLCnL;
}
Application::instance()->quit();
}
Expand Down
11 changes: 8 additions & 3 deletions src/patcher/aoc_patcher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ DECL(int, AOC_ListTitle, u32 * num_titles, AOC_TitleListType* titles, u32 max_ti
{
int result = real_AOC_ListTitle(num_titles, titles, max_titles, buffer, buffer_size);

if(GAME_LAUNCHED && gEnableDLCnL)
if(GAME_LAUNCHED && gEnableDLC)
{
*num_titles = strlen(gAoc_Id) / 2;
aoc_title_dir = gAoc_Id;
Expand Down Expand Up @@ -60,13 +60,18 @@ DECL(int, AOC_OpenTitle, char * path, void * target, void * buffer, unsigned int
return result;
}


DECL(int, AOC_GetPurchaseInfo, u32 * bResult, u64 title_id, u16 contentIndexes[], u32 numberOfContent, void * buffer, u32 buffer_size)
{
int result = real_AOC_GetPurchaseInfo(bResult, title_id, contentIndexes, numberOfContent, buffer, buffer_size );

if(GAME_LAUNCHED && gEnableDLCnL)
if(GAME_LAUNCHED && gEnableDLC)
{
*bResult = 1;
for (u32 i = 0; i < numberOfContent; i++)
{
if (bResult != NULL)
*bResult++ = 1;
}
result = 0;
}

Expand Down
10 changes: 3 additions & 7 deletions src/settings/CSettingsGame.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ bool CSettingsGame::Load()

std::string ID6 = lines[0];

std::vector<CSettingsGame::SettingValue> newValues = getSettingValuesFromGameSettings(std::string(COMMON_UPDATE_PATH), false, GAME_SAVES_DEFAULT, LOADIINE_MODE_DEFAULT, SETTING_OFF, SETTING_OFF);
std::vector<CSettingsGame::SettingValue> newValues = getSettingValuesFromGameSettings(std::string(COMMON_UPDATE_PATH), false, GAME_SAVES_DEFAULT, LOADIINE_MODE_DEFAULT, SETTING_OFF);

for(u32 i = 1; i < lines.size(); ++i)
{
Expand Down Expand Up @@ -206,7 +206,6 @@ bool CSettingsGame::LoadGameSettings(std::string ID6, GameSettings & result){
result.save_method = GAME_SAVES_DEFAULT;
result.updateFolder = COMMON_UPDATE_PATH;
result.EnableDLC = SETTING_OFF;
result.EnableDLCnL = SETTING_OFF;
return false;
}
}
Expand Down Expand Up @@ -293,10 +292,10 @@ bool CSettingsGame::Save()
}

std::vector<CSettingsGame::SettingValue> CSettingsGame::getSettingValuesFromGameSettings(GameSettings gameSettings){
return getSettingValuesFromGameSettings(gameSettings.updateFolder,gameSettings.extraSave,gameSettings.save_method,gameSettings.launch_method,gameSettings.EnableDLC,gameSettings.EnableDLCnL);
return getSettingValuesFromGameSettings(gameSettings.updateFolder,gameSettings.extraSave,gameSettings.save_method,gameSettings.launch_method,gameSettings.EnableDLC);
}

std::vector<CSettingsGame::SettingValue> CSettingsGame::getSettingValuesFromGameSettings(std::string updateFolder,bool extraSave,u8 save_method,u8 launch_method, u8 enableDlc, u8 enableDlcnl){
std::vector<CSettingsGame::SettingValue> CSettingsGame::getSettingValuesFromGameSettings(std::string updateFolder,bool extraSave,u8 save_method,u8 launch_method, u8 enableDlc){
std::vector<CSettingsGame::SettingValue> result;

result = std::vector<CSettingsGame::SettingValue>();
Expand All @@ -312,8 +311,6 @@ std::vector<CSettingsGame::SettingValue> CSettingsGame::getSettingValuesFromGame
result.at(LaunchMethod).ucValue = launch_method;
result.at(EnableDLC).dataType = TypeU8;
result.at(EnableDLC).ucValue = enableDlc;
result.at(EnableDLCnL).dataType = TypeU8;
result.at(EnableDLCnL).ucValue = enableDlcnl;
return result;
}

Expand All @@ -326,7 +323,6 @@ GameSettings * CSettingsGame::GetGameSettingsBySettingGameValue(std::string ID6,
set->save_method = settings.at(SaveMethod).ucValue;
set->launch_method = settings.at(LaunchMethod).ucValue;
set->EnableDLC = settings.at(EnableDLC).ucValue;
set->EnableDLCnL = settings.at(EnableDLCnL).ucValue;

return set;
}
Expand Down
4 changes: 1 addition & 3 deletions src/settings/CSettingsGame.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ class CSettingsGame
SaveMethod,
LaunchMethod,
EnableDLC,
EnableDLCnL,
MAX_VALUE
};

Expand Down Expand Up @@ -85,7 +84,6 @@ class CSettingsGame
settingsNames[SaveMethod] = "SaveMethod";
settingsNames[LaunchMethod] = "LaunchMethod";
settingsNames[EnableDLC] = "EnableDLC";
settingsNames[EnableDLCnL] = "EnableDLCnL";
}

typedef struct
Expand Down Expand Up @@ -121,6 +119,6 @@ class CSettingsGame

GameSettings * GetGameSettingsBySettingGameValue(std::string ID6,std::vector<SettingValue> settings);
std::vector<SettingValue> getSettingValuesFromGameSettings(GameSettings gameSettings);
std::vector<SettingValue> getSettingValuesFromGameSettings(std::string updateFolder,bool extraSave,u8 save_method,u8 launch_method,u8 enableDlc, u8 enableDlcnl);
std::vector<SettingValue> getSettingValuesFromGameSettings(std::string updateFolder,bool extraSave,u8 save_method,u8 launch_method,u8 enableDlc);
};
#endif
1 change: 0 additions & 1 deletion src/settings/SettingsGameDefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ typedef struct
u8 save_method;
u8 launch_method;
u8 EnableDLC;
u8 EnableDLCnL;
} GameSettings;

#endif // __SETTINGSGAME_DEFS_

0 comments on commit a0ba461

Please sign in to comment.