CfgUSBLoader/source/gc.h

93 lines
2.5 KiB
C
Raw Normal View History

#ifdef __cplusplus
extern "C"
{
#endif
#ifndef GC_H_
#define GC_H_
#include "disc.h"
#define GC_GAME_ON_DRIVE 0x444D4C00
typedef struct DML_CFG
{
u32 Magicbytes; //0xD1050CF6
u32 Version; //0x00000002
u32 VideoMode;
u32 Config;
char GamePath[255];
char CheatPath[255];
} DML_CFG;
enum dmlconfig
{
DML_CFG_CHEATS = (1<<0),
DML_CFG_DEBUGGER = (1<<1),
DML_CFG_DEBUGWAIT = (1<<2),
DML_CFG_NMM = (1<<3),
DML_CFG_NMM_DEBUG = (1<<4),
DML_CFG_GAME_PATH = (1<<5),
DML_CFG_CHEAT_PATH = (1<<6),
DML_CFG_ACTIVITY_LED= (1<<7),
DML_CFG_PADHOOK = (1<<8),
DML_CFG_FORCE_WIDE = (1<<9),
DML_CFG_BOOT_DISC = (1<<10),
DML_CFG_BOOT_DISC2 = (1<<11),
DML_CFG_NODISC = (1<<12),
DML_CFG_SCREENSHOT = (1<<13),
};
enum dmlvideomode
{
DML_VID_DML_AUTO = (0<<16),
DML_VID_FORCE = (1<<16),
DML_VID_NONE = (2<<16),
DML_VID_FORCE_PAL50 = (1<<0),
DML_VID_FORCE_PAL60 = (1<<1),
DML_VID_FORCE_NTSC = (1<<2),
DML_VID_FORCE_PROG = (1<<3),
DML_VID_PROG_PATCH = (1<<4),
};
// Devolution
typedef struct global_config
{
u32 signature; //0x3EF9DB23
u16 version; //0x00000100
u16 device_signature;
u32 memcard_cluster;
u32 disc1_cluster;
u32 disc2_cluster;
u32 options;
} gconfig;
#define DEVO_CFG_WIFILOG (1<<0) // added in Devo r100, config version 0x0110
#define DEVO_CFG_WIDE (1<<1) // added in Devo r142
#define DEVO_CFG_NOLED (1<<2)
#define DEVO_CFG_FZERO_AX (1<<3) // added in Devo r196, config version x0111
#define DEVO_CFG_TIMER_FIX (1<<4)
#define DEVO_CFG_D_BUTTONS (1<<5) // added in Devo r200, config version 0x0112
void DEVO_SetOptions(const char* path,u8 NMM);
void GC_SetVideoMode(u8 videomode, bool devo);
void GC_SetLanguage(u8 lang);
s32 DML_RemoveGame(struct discHdr header);
int DML_GameIsInstalled(char *folder);
void DML_New_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, bool cheats, bool debugger, u8 NMM, u8 nodisc, u8 DMLvideoMode, u8 LED, u8 W_SCREEN, u8 PHOOK, u8 V_PATCH, u8 screenshot);
void DML_Old_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, bool cheats);
void DML_New_SetBootDiscOption(char *CheatPath, char *NewCheatPath, bool cheats, u8 NMM, u8 LED, u8 DMLvideoMode);
u64 getDMLDisk1Size(struct discHdr *header);
u64 getDMLGameSize(struct discHdr *header);
s32 copy_DML_Game_to_SD(struct discHdr *header);
s32 delete_Old_Copied_DML_Game();
char *get_DM_Game_Folder(char *path);
bool is_gc_game_on_bootable_drive(struct discHdr *header);
void Nintendont_set_options(struct discHdr *header, char *CheatPath, char *NewCheatPath);
#endif //GC_H_
#ifdef __cplusplus
}
#endif