本文整理汇总了C++中CVideo::init方法的典型用法代码示例。如果您正苦于以下问题:C++ CVideo::init方法的具体用法?C++ CVideo::init怎么用?C++ CVideo::init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CVideo
的用法示例。
在下文中一共展示了CVideo::init方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv)
{
set_new_handler(no_memory);
geckoinit = InitGecko();
__exception_setreload(5);
SYS_SetArena1Hi(APPLOADER_START);
char *gameid = NULL;
string dolLoc; //(argv[0] != NULL ? argv[0] : "");
for (int i = 0; i < argc; i++)
{
if (argv[i] != NULL && strcasestr(argv[i], "ios=") != NULL && strlen(argv[i]) > 4)
{
while(argv[i][0] && !isdigit(argv[i][0])) argv[i]++;
if (atoi(argv[i]) < 254 && atoi(argv[i]) > 0)
mainIOS = atoi(argv[i]);
}
else if (strlen(argv[i]) == 6)
{
gameid = argv[i];
for (int i=0; i < 5; i++)
if (!isalnum(gameid[i]))
gameid = NULL;
}
}
gprintf("Loading cIOS: %d\n", mainIOS);
ISFS_Initialize();
// Load Custom IOS
bool iosOK = loadIOS(mainIOS, false);
MEM2_init(52);
u8 mainIOSBase = 0;
iosOK = iosOK && cIOSInfo::D2X(mainIOS, &mainIOSBase);
gprintf("Loaded cIOS: %u has base %u\n", mainIOS, mainIOSBase);
// Init video
CVideo vid;
vid.init();
WIILIGHT_Init();
vid.waitMessage(0.2f);
// Init
Sys_Init();
Sys_ExitTo(EXIT_TO_HBC);
int ret = 0;
do
{
Open_Inputs();
bool deviceAvailable = false;
u8 timeout = 0;
while(!deviceAvailable && timeout++ != 20)
{
DeviceHandler::Instance()->MountAll();
sleep(1);
for(u8 device = SD; device <= USB8; device++)
if(DeviceHandler::Instance()->IsInserted(device))
deviceAvailable = true;
}
bool dipOK = Disc_Init() >= 0;
CMenu menu(vid);
menu.init(dolLoc);
mainMenu = &menu;
if(!deviceAvailable)
{
menu.error(L"Could not find a device to save configuration files on!");
break;
}
else if(!iosOK)
{
menu.error(sfmt("d2x cIOS %i rev6 or later is required", mainIOS));
break;
}
else if(!dipOK)
{
menu.error(L"Could not initialize the DIP module!");
break;
}
else
{
if (gameid != NULL && strlen(gameid) == 6)
menu._directlaunch(gameid);
else
ret = menu.main();
}
vid.cleanup();
if (bootHB)
{
IOS_ReloadIOS(58);
BootHomebrew();
//.........这里部分代码省略.........
示例2: old_main
int old_main()
{
geckoinit = InitGecko();
use_dvdx = 1;
InitDVD();
SYS_SetArena1Hi((void *)0x81200000); // See loader/apploader.c
CVideo vid;
gprintf("WodeFlow started, running with ios %d\n", IOS_GetVersion());
bool dipOK = false;
int ret = 0;
bool hbc;
bool wodeOK = false;
// MEM2 usage :
// 36 MB for general purpose allocations
// 12 MB for covers (and temporary buffers)
// adds 15 MB from MEM1 to obtain 27 MB for covers (about 150 HQ covers on screen)
MEM2_init(36, 12); // Max ~48
// Launched through the HBC?
hbc = *((u32 *) 0x80001804) == 0x53545542 && *((u32 *) 0x80001808) == 0x48415858;
// Init video
vid.init();
// Init
STexture texWait;
texWait.fromPNG(wait_png, GX_TF_RGB565, ALLOC_MALLOC);
vid.waitMessage(texWait);
Sys_Init();
Sys_ExitToWiiMenu(true);
Fat_Mount();
WPAD_Init();
WPAD_SetDataFormat(0, WPAD_FMT_BTNS_ACC_IR);
dipOK = Disc_Init() >= 0;
if (dipOK) {
u32 status = 0;
if (WDVD_GetCoverStatus(&status) != 0 || (status & 2) == 0) {
// WDVD_WaitForDisc();
STexture texWaitForDisc;
texWaitForDisc.fromPNG(wait_disc_png, GX_TF_RGB565, ALLOC_MALLOC);
vid.waitMessage(texWaitForDisc);
texWaitForDisc.data.release();
do
{
WPAD_ScanPads();
s32 padsState = WPAD_ButtonsDown(0);
if ((padsState & WPAD_BUTTON_B) != 0)
break;
usleep(100 * 1000);
} while (WDVD_GetCoverStatus(&status) != 0 || (status & 2) == 0);
if ((status & 2) == 0) return -2;
InitDVD();
}
}
wodeOK = WBFS_Init() >= 0;
vid.waitMessage(texWait);
texWait.data.release();
MEM2_takeBigOnes(true);
do
{
CMenu menu(vid);
menu.init(hbc);
if (!dipOK)
menu.error(L"Could not initialize DIP module!");
else if (!wodeOK)
menu.error(L"Wode not found.");
else
{
ret = menu.main();
}
vid.cleanup();
} while (ret == 1);
LaunchISO(0, 0);
CloseWode();
Fat_Unmount();
return ret;
};