usbloadergx/source/usbloader/disc.h
Cyan cd3b443f4e * 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 14:30:39 +00:00

78 lines
1.3 KiB
C

#ifndef _DISC_H_
#define _DISC_H_
#include <gccore.h> /* for define ATTRIBUTE_PACKED */
#ifdef __cplusplus
extern "C"
{
#endif
/* Disc header structure */
struct discHdr
{
/* Game ID */
u8 id[6];
/* Game Disc number */
u8 disc_no;
/* Game version */
u8 disc_ver;
/* Audio streaming */
u8 streaming;
u8 bufsize;
/* Padding */
u8 is_ciso;
/* Unused, on channel list mode this is the full 64 bit tid */
u64 tid;
/* Unused, using in loader internally to detect title type */
u8 type;
/* rest of unused */
u8 unused[4];
/* Magic word */
u32 magic;
/* Padding */
u32 gc_magic;
/* Game title */
char title[64];
/* Encryption/Hashing */
u8 encryption;
u8 h3_verify;
/* Padding */
u8 unused3[30];
} ATTRIBUTE_PACKED;
/* Prototypes */
s32 Disc_Init(void);
s32 Disc_Open(void);
s32 Disc_Wait(void);
void Disc_SetLowMem(void);
s32 Disc_SetUSB(const u8 *);
s32 Disc_ReadHeader(void *);
s32 Disc_IsWii(void);
s32 Disc_FindPartition(u64 *outbuf);
s32 Disc_Mount(struct discHdr *header);
void PatchCountryStrings(void *Address, int Size);
void Disc_SelectVMode(u8 videoselected, bool devolution, u32 *dml_VideoMode);
void Disc_SetVMode(void);
s32 Disc_JumpToEntrypoint(s32 hooktype, u32 dolparameter);
extern GXRModeObj *rmode;
#ifdef __cplusplus
}
#endif
#endif