bool GuiDemo::setup(void) { gkBlendFile* blend = gkBlendLoader::getSingleton().loadFile(gkUtils::getFile(m_blend), "", GUIDEMO_GROUP_NAME); if (!blend) { gkPrintf("File loading failed.\n"); return false; } m_scene = blend->getMainScene(); if (!m_scene) { gkPrintf("No usable scenes found in blend.\n"); return false; } m_scene->createInstance(); // add input hooks gkWindowSystem::getSingleton().addListener(this); gkBlendLoader::getSingleton().loadFile(gkUtils::getFile(ASSETS_BLEND_FILE), "", GUIDEMO_GROUP_NAME); //-- initRocket(); return true; }
bool OgreKit::setup(void) { gkBlendFile* blend = gkBlendLoader::getSingleton().loadFile(gkUtils::getFile(m_blend), gkBlendLoader::LO_ALL_SCENES); if (!blend) { gkPrintf("File loading failed.\n"); return false; } m_scene = blend->getSceneByName("StartScene"); if (!m_scene) m_scene = blend->getMainScene(); if (!m_scene) { gkPrintf("No usable scenes found in blend.\n"); return false; } m_scene->createInstance(); // add input hooks gkWindowSystem::getSingleton().addListener(this); #ifdef OGREKIT_USE_COMPOSITOR //gkCompositorManager::getSingleton().setCompositorChain(GK_COMPOSITOR_OP_ADD, GK_COMPOSITOR_BLOOM); #endif return true; }
void GuiDemo::initRocket() { GK_ASSERT(m_scene && !m_rkContext); gkWindow* window = m_scene->getDisplayWindow(); // Rocket initialisation. m_rkOgreRenderer = new RenderInterfaceOgre3D(window->getWidth(), window->getHeight()); Rocket::Core::SetRenderInterface(m_rkOgreRenderer); m_rkOgreSystem = new SystemInterfaceOgre3D(); Rocket::Core::SetSystemInterface(m_rkOgreSystem); Rocket::Core::Initialise(); Rocket::Controls::Initialise(); installRocketFonts(); m_rkContext = Rocket::Core::CreateContext("main", Rocket::Core::Vector2i(window->getWidth(), window->getHeight())); Rocket::Debugger::Initialise(m_rkContext); m_rkFileInterface = new FileInterfaceOgre3D(); Rocket::Core::SetFileInterface(m_rkFileInterface); // Load the mouse cursor and release the caller's reference. Rocket::Core::ElementDocument* cursor = m_rkContext->LoadMouseCursor(ROCKET_CURSOR_PAGE); if (cursor) cursor->RemoveReference(); m_document = m_rkContext->LoadDocument(ROCKET_DEMO_PAGE); if (m_document) { Rocket::Core::Element* button = m_document->GetElementById(DEMO_PAGE_BUTTON_ID); if (button) button->AddEventListener("click", this); m_document->Show(); } m_rkEventListener = new RocketEventListener(window, m_rkContext); m_rkRenderListener = new RocketRenderListener(window->getRenderWindow(), m_scene->getManager(), m_rkContext); }
void GuiDemo::loadGUI() { GK_ASSERT(m_scene); // Install fonts gkGUIManager *gm = gkGUIManager::getSingletonPtr(); gm->loadFont("Delicious-Roman"); gm->loadFont("Delicious-Bold"); gm->loadFont("Delicious-Italic"); gm->loadFont("Delicious-BoldItalic"); // Initialise the Lua interface Rocket::Core::Lua::Interpreter::Initialise(); Rocket::Controls::Lua::RegisterTypes(Rocket::Core::Lua::Interpreter::GetLuaState()); //Rocket::Core::Vector2f v; v.Normalise(); // Create context gkGUI *gui = m_scene->getDisplayWindow()->getGUI(); // Enable debugger (shift+~) gm->setDebug(gui); // Load the mouse cursor and release the caller's reference. Rocket::Core::ElementDocument* cursor = gui->getContext()->LoadMouseCursor(ROCKET_CURSOR_PAGE); if (cursor) cursor->RemoveReference(); m_document = gui->getContext()->LoadDocument(ROCKET_DEMO_PAGE); if (m_document) { Rocket::Core::Element* button = m_document->GetElementById(DEMO_PAGE_BUTTON_ID); if (button) button->AddEventListener("click", this); m_document->Show(); } }
bool OgreKit::setup(void) { LOG_FOOT; if (assetMgr) { #if USE_APK_ARCHIVE Ogre::ArchiveManager::getSingleton().addArchiveFactory(new Ogre::APKFileSystemArchiveFactory(assetMgr)); Ogre::ArchiveManager::getSingleton().addArchiveFactory(new Ogre::APKZipArchiveFactory(assetMgr)); Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/", "APKFileSystem", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); #endif } #if USE_APK_ARCHIVE Ogre::DataStreamPtr stream = Ogre::ResourceGroupManager::getSingleton().openResource(m_blend, Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); if (stream.isNull()) { gkPrintf("Error: Can't open file %s.", m_blend.c_str()); return false; } size_t size = stream->size(); char* buf = new char[size]; stream->read(buf, size); gkBlendFile* blend = gkBlendLoader::getSingleton().loadFromMemory(buf,size,gkBlendLoader::LO_ALL_SCENES); #else gkBlendFile* blend = gkBlendLoader::getSingleton().loadFile(m_blend,gkBlendLoader::LO_ALL_SCENES); //, "", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); #endif if (!blend) { LOGI("File loading failed.\n"); return false; } LOG_FOOT; m_scene = blend->getMainScene(); if (!m_scene) { LOGI("No usable scenes found in blend.\n"); return false; } LOG_FOOT; m_scene->createInstance(); LOG_FOOT; m_scene->getMainCamera()->getCamera()->setAutoAspectRatio(true); // add input hooks gkWindow* win = gkWindowSystem::getSingleton().getMainWindow(); m_input = static_cast<OIS::AndroidInputManager*>(win->getInputManager()); LOG_FOOT; return true; }