usbloadergx/source/main.cpp
dimok321 05f7dcb368 *Added Unicode fix (thx to CDGod) (Chinese fix.) You might need another font for it. We won't include the Unicode font since its too big.
*Added some new Language Variables (check out Wiki)
*Added Languages to SVN
*Added titles.txt path changeable
*Changed CONFIGFILENAMES to GXGlobal.cfg, GXGameSettings.cfg and GXtheme.cfg !!!

Finnish (final v2 by JussiPik)
Dutch (final v2 by kedest, Adr990)
Spanish (final v1 tlozano)
French (final v1 by Amour)
T.Chinese (final v1 by kyogc)
2009-05-17 08:40:47 +00:00

162 lines
3.3 KiB
C++

/****************************************************************************
* libwiigui Template
* Tantric 2009
*
* demo.cpp
* Basic template/demonstration of libwiigui capabilities. For a
* full-featured app using many more extensions, check out Snes9x GX.
***************************************************************************/
#include <gccore.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ogcsys.h>
#include <unistd.h>
#include <wiiuse/wpad.h>
#include "FreeTypeGX.h"
#include "video.h"
#include "audio.h"
#include "menu.h"
#include "input.h"
#include "filelist.h"
#include "main.h"
#include "http.h"
#include "dns.h"
#include "fatmounter.h"
#include "disc.h"
#include "wbfs.h"
#include "sys.h"
#include "video2.h"
#include "wpad.h"
#include "cfg.h"
#include "language.h"
/* Constants */
#define CONSOLE_XCOORD 260
#define CONSOLE_YCOORD 115
#define CONSOLE_WIDTH 340
#define CONSOLE_HEIGHT 218
FreeTypeGX *fontSystem=0;
FreeTypeGX *fontClock=0;
int ExitRequested = 0;
bool netcheck = false;
/*Networking - Forsaekn*/
int Net_Init(char *ip){
s32 res;
while ((res = net_init()) == -EAGAIN)
{
usleep(100 * 1000); //100ms
}
if (if_config(ip, NULL, NULL, true) < 0) {
printf(" Error reading IP address, exiting");
usleep(1000 * 1000 * 1); //1 sec
return FALSE;
}
return TRUE;
}
void ExitApp()
{
ShutoffRumble();
StopGX();
ShutdownAudio();
SDCard_deInit();
//WPAD_Flush(0);
//WPAD_Disconnect(0);
//WPAD_Shutdown();
//exit(0);
}
void
DefaultSettings()
{
Settings.video = discdefault;
Settings.vpatch = off;
Settings.language = ConsoleLangDefault;
Settings.ocarina = off;
Settings.hddinfo = HDDInfo;
Settings.sinfo = ((THEME.showID) ? GameID : Neither);
Settings.rumble = RumbleOn;
if (THEME.showRegion)
{
Settings.sinfo = ((Settings.sinfo == GameID) ? Both : GameRegion);
}
Settings.volume = v80;
Settings.tooltips = TooltipsOn;
snprintf(Settings.unlockCode, sizeof(Settings.unlockCode), "ab121b");
Settings.parentalcontrol = 0;
Settings.cios = ios249;
Settings.xflip = no;
Settings.qboot = no;
Settings.unicodefix = no;
CFG_LoadGlobal();
}
int
main(int argc, char *argv[])
{
s32 ret2;
SDCard_Init();
lang_default();
CFG_Load();
DefaultSettings();
SDCard_deInit();
/* Load Custom IOS */
if(Settings.cios == ios222) {
ret2 = IOS_ReloadIOS(222);
if (ret2 < 0) {
Settings.cios = ios249;
ret2 = IOS_ReloadIOS(249);
}
} else {
ret2 = IOS_ReloadIOS(249);
}
if (ret2 < 0) {
printf("ERROR: cIOS could not be loaded!");
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
}
SDCard_Init();
Sys_Init();
//Video_SetMode();
//Con_Init(CONSOLE_XCOORD, CONSOLE_YCOORD, CONSOLE_WIDTH, CONSOLE_HEIGHT);
//Wpad_Init();
PAD_Init();
InitVideo(); // Initialise video
InitAudio(); // Initialize audio
fontSystem = new FreeTypeGX();
fontSystem->loadFont(font_ttf, font_ttf_size, 0);
fontSystem->setCompatibilityMode(FTGX_COMPATIBILITY_DEFAULT_TEVOP_GX_PASSCLR | FTGX_COMPATIBILITY_DEFAULT_VTXDESC_GX_NONE);
fontClock = new FreeTypeGX();
fontClock->loadFont(clock_ttf, clock_ttf_size, 0);
fontClock->setCompatibilityMode(FTGX_COMPATIBILITY_DEFAULT_TEVOP_GX_PASSCLR | FTGX_COMPATIBILITY_DEFAULT_VTXDESC_GX_NONE);
InitGUIThreads();
MainMenu(MENU_CHECK);
return 0;
}