Пример #1
0
void Core::Reload()
{
	Config* cfgBoot = new Config("ms0:/MbShell/config/boot.cfg");
	Cfg = new Config("ms0:/MbShell/config/main.cfg");
	CfgTheme = new ConfigTheme(Cfg->GetValue("theme"));
	
	Desktop::Init();
	Taskbar::Init();
	LCD::Init();
	Cursor::Init();
	WindowManager::Init();
	if (cfgBoot->CheckValue("homebrewloader"))
	{
		//HomeBrewManager::Init();
		//HomeBrewManager::Container->Hide();
	}
	pspAudioInit();
	delete (cfgBoot);
}
Пример #2
0
bool Core::Init()
{
	// Open config file
	Config* cfgBoot = new Config("ms0:/MbShell/config/boot.cfg");
	Cfg = new Config("ms0:/MbShell/config/main.cfg");
	CfgTheme = new ConfigTheme(Cfg->GetValue("theme"));

	// Init all the shell components
	Graphics::Init();
	Image * screenbuffer = Graphics::LoadPNG(CfgTheme->GetPathValue("b_background").c_str());
	if (!screenbuffer || !cfgBoot->CheckValue("showbuffer"))
	{
		screenbuffer = Graphics::CreateImage(480, 272);
		Graphics::ClearImage(0x00000000, screenbuffer);
	}
	Graphics::BlitImageToScreen(0, 0, screenbuffer->imageWidth, screenbuffer->imageHeight, screenbuffer, 0, 0);
	Graphics::FlipScreen();
	
	Image * system = Graphics::LoadPNG(CfgTheme->GetPathValue("b_system").c_str());
	Image * bar = Graphics::LoadPNG(CfgTheme->GetPathValue("b_bar").c_str());
	Graphics::BlitAlphaImageToImage(0, 0, system->imageWidth, system->imageHeight, system, 75, 90, screenbuffer);
	Graphics::BlitAlphaImageToImage(0, 0, bar->imageWidth-250, bar->imageHeight, bar, 101, 163, screenbuffer);
	Graphics::BlitImageToScreen(0, 0, screenbuffer->imageWidth, screenbuffer->imageHeight, screenbuffer, 0, 0);
	Graphics::FlipScreen();
	
	Desktop::Init();
	Taskbar::Init();
	LCD::Init();
	
	Image * controller = Graphics::LoadPNG(CfgTheme->GetPathValue("b_controller").c_str());
	Graphics::BlitAlphaImageToImage(0, 0, controller->imageWidth, controller->imageHeight, controller, 170, 90, screenbuffer);
	Graphics::BlitAlphaImageToImage(0, 0, bar->imageWidth-150, bar->imageHeight, bar, 101, 163, screenbuffer);
	Graphics::BlitImageToScreen(0, 0, screenbuffer->imageWidth, screenbuffer->imageHeight, screenbuffer, 0, 0);
	Graphics::FlipScreen();
	
	Cursor::Init();
	Controller::Init();
	
	Image * wm = Graphics::LoadPNG(CfgTheme->GetPathValue("b_windowmanager").c_str());
	Graphics::BlitAlphaImageToImage(0, 0, wm->imageWidth, wm->imageHeight, wm, 255, 90, screenbuffer);
	Graphics::BlitAlphaImageToImage(0, 0, bar->imageWidth-75, bar->imageHeight, bar, 101, 163, screenbuffer);
	Graphics::BlitImageToScreen(0, 0, screenbuffer->imageWidth, screenbuffer->imageHeight, screenbuffer, 0, 0);
	Graphics::FlipScreen();
	
	WindowManager::Init();
	
	if (cfgBoot->CheckValue("iconmanager"))
	{
		IconManager::Init();
	}
	
	PluginManager::Init();
	pspAudioInit();
	
	Image * desktop = Graphics::LoadPNG(CfgTheme->GetPathValue("b_desktop").c_str());
	Graphics::BlitAlphaImageToImage(0, 0, desktop->imageWidth, desktop->imageHeight, desktop, 340, 90, screenbuffer);
	Graphics::BlitAlphaImageToImage(0, 0, bar->imageWidth, bar->imageHeight, bar, 101, 163, screenbuffer);
	Graphics::BlitImageToScreen(0, 0, screenbuffer->imageWidth, screenbuffer->imageHeight, screenbuffer, 0, 0);
	Graphics::FlipScreen();
	
	if (cfgBoot->CheckValue("homebrewloader"))
	{
		HomeBrewManager::Init();
		HomeBrewManager::Container->Hide();
	}
	
	if (cfgBoot->CheckValue("startusb"))
		USBManager::ToggleUSB(1);
		
	Graphics::FreeImage(controller);
	Graphics::FreeImage(system);
	Graphics::FreeImage(wm);
	Graphics::FreeImage(desktop);
	Graphics::FreeImage(bar);
	Graphics::FreeImage(screenbuffer);
	
	#ifdef DBG
	// Debug console
	Console::Init();
	Console::Print("Artillery Debug Console");
	#endif
	delete (cfgBoot);
	return true;
}