diff --git a/data/images/blank.png b/data/images/blank.png index 2ff698c4..ef92201a 100644 Binary files a/data/images/blank.png and b/data/images/blank.png differ diff --git a/data/images/checkboxhid.png b/data/images/checkboxhid.png index 7d207cba..76651aad 100644 Binary files a/data/images/checkboxhid.png and b/data/images/checkboxhid.png differ diff --git a/data/images/checkboxreq.png b/data/images/checkboxreq.png index bb129086..2e3a325e 100644 Binary files a/data/images/checkboxreq.png and b/data/images/checkboxreq.png differ diff --git a/data/images/checkboxs.png b/data/images/checkboxs.png index 6bf3b9e9..1dc8858d 100644 Binary files a/data/images/checkboxs.png and b/data/images/checkboxs.png differ diff --git a/data/wii_game_booter.dol b/data/wii_game_booter.dol index 6f471727..ac5faf3d 100644 Binary files a/data/wii_game_booter.dol and b/data/wii_game_booter.dol differ diff --git a/resources/wiiflow_game_booter/source/ChannelHandler.cpp b/resources/wiiflow_game_booter/source/ChannelHandler.cpp index 662afd77..733a22e2 100644 --- a/resources/wiiflow_game_booter/source/ChannelHandler.cpp +++ b/resources/wiiflow_game_booter/source/ChannelHandler.cpp @@ -1,19 +1,30 @@ -/**************************************************************************** - * Copyright (C) 2012 FIX94 +/*************************************************************************** + * Copyright (C) 2010 + * by dude * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - ****************************************************************************/ + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + * + * Channel Launcher Class + * + * for WiiXplorer 2010 + ***************************************************************************/ #include #include #include @@ -124,9 +135,6 @@ static u32 MoveDol(u8 *buffer) dolchunksize[dolchunkcount] = dolfile->section_size[i]; memmove(dolchunkoffset[dolchunkcount], buffer + dolfile->section_pos[i], dolchunksize[dolchunkcount]); - DCFlushRange(dolchunkoffset[dolchunkcount], dolchunksize[dolchunkcount]); - ICInvalidateRange(dolchunkoffset[dolchunkcount], dolchunksize[dolchunkcount]); - dolchunkcount++; } return dolfile->entry_point; @@ -136,24 +144,18 @@ u32 LoadChannel() { u32 entry = 0; - /* Re-Init ISFS */ - ISFS_Initialize(); - GetAppNameFromTmd(true, &bootcontent); u8 *data = GetDol(bootcontent); entry = MoveDol(data); free(data); - /* De-Init ISFS */ - ISFS_Deinitialize(); - return entry; } void PatchChannel(u8 vidMode, GXRModeObj *vmode, bool vipatch, bool countryString, u8 patchVidModes, int aspectRatio) { bool hook = false; - for(u32 i = 0; i < dolchunkcount; i++) + for(u8 i = 0; i < dolchunkcount; i++) { patchVideoModes(dolchunkoffset[i], dolchunksize[i], vidMode, vmode, patchVidModes); if(vipatch) vidolpatcher(dolchunkoffset[i], dolchunksize[i]); @@ -162,6 +164,8 @@ void PatchChannel(u8 vidMode, GXRModeObj *vmode, bool vipatch, bool countryStrin if(aspectRatio != -1) PatchAspectRatio(dolchunkoffset[i], dolchunksize[i], aspectRatio); if(hooktype != 0 && dogamehooks(dolchunkoffset[i], dolchunksize[i], true)) hook = true; + DCFlushRange(dolchunkoffset[i], dolchunksize[i]); + ICInvalidateRange(dolchunkoffset[i], dolchunksize[i]); } if(hook) ocarina_do_code(conf->title); diff --git a/resources/wiiflow_game_booter/source/Config.hpp b/resources/wiiflow_game_booter/source/Config.hpp index 158be93b..2a59b0e5 100644 --- a/resources/wiiflow_game_booter/source/Config.hpp +++ b/resources/wiiflow_game_booter/source/Config.hpp @@ -1,4 +1,19 @@ - +/**************************************************************************** + * Copyright (C) 2012 FIX94 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + ****************************************************************************/ #ifndef _CFG_HPP_ #define _CFG_HPP_ diff --git a/resources/wiiflow_game_booter/source/main.cpp b/resources/wiiflow_game_booter/source/main.cpp index ab635a35..16c305a0 100644 --- a/resources/wiiflow_game_booter/source/main.cpp +++ b/resources/wiiflow_game_booter/source/main.cpp @@ -81,9 +81,16 @@ int main() } else if(conf->BootType == TYPE_CHANNEL) { + /* Re-Init ISFS */ + ISFS_Initialize(); + + /* Load and Patch Channel */ AppEntrypoint = LoadChannel(); PatchChannel(conf->vidMode, vmode, conf->vipatch, conf->countryString, conf->patchVidMode, conf->aspectRatio); + + /* De-Init ISFS */ + ISFS_Deinitialize(); } /* Set time */