2011-07-29 22:59:31 +02:00
|
|
|
/****************************************************************************
|
|
|
|
* Copyright (C) 2009-2011 Dimok
|
|
|
|
*
|
|
|
|
* 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 <http://www.gnu.org/licenses/>.
|
|
|
|
****************************************************************************/
|
2011-01-22 01:06:28 +01:00
|
|
|
#ifndef GAMEBOOTER_HPP_
|
|
|
|
#define GAMEBOOTER_HPP_
|
|
|
|
|
|
|
|
#include <gctypes.h>
|
2011-12-22 23:44:48 +01:00
|
|
|
#include "usbloader/disc.h"
|
2011-01-22 01:06:28 +01:00
|
|
|
|
|
|
|
class GameBooter
|
|
|
|
{
|
2011-07-26 00:28:22 +02:00
|
|
|
public:
|
2011-12-22 23:44:48 +01:00
|
|
|
static int BootGame(struct discHdr *gameHdr);
|
2012-02-09 22:18:16 +01:00
|
|
|
static int BootGCMode(struct discHdr *gameHdr);
|
2011-07-26 00:28:22 +02:00
|
|
|
private:
|
|
|
|
static void SetupAltDOL(u8 * gameID, u8 &alternatedol, u32 &alternatedoloffset);
|
2011-11-12 19:14:09 +01:00
|
|
|
static void SetupNandEmu(u8 NandEmuMode, const char *NandEmuPath, struct discHdr &gameHeader);
|
2012-02-09 22:18:16 +01:00
|
|
|
static int SetupDisc(struct discHdr &gameHeader);
|
2011-07-26 00:28:22 +02:00
|
|
|
static u32 BootPartition(char * dolpath, u8 videoselected, u8 alternatedol, u32 alternatedoloffset);
|
2011-11-20 11:46:07 +01:00
|
|
|
static void ShutDownDevices(int gameUSBPort);
|
2012-08-24 18:55:49 +02:00
|
|
|
static int BootDIOSMIOS(struct discHdr *gameHdr);
|
|
|
|
static int BootDevolution(struct discHdr *gameHdr);
|
2013-10-01 23:13:08 +02:00
|
|
|
static int BootNintendont(struct discHdr *gameHdr);
|
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
|
|
|
static void PatchSram(int language, bool patchVideoMode, bool progressive);
|
2011-01-22 01:06:28 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|