void OgreApp::setupDemoScene() { globals.initPaths(); #if defined(OGRE_IS_IOS) && defined(NETWORKING) syncConfig(); #endif seed = time(0); srand(seed); // The code snippet below is used to output text // create a font resource ResourcePtr resourceText = OgreFramework::getSingletonPtr()->m_pFontMgr->create("Arial", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); resourceText->setParameter("type", "truetype"); //resourceText->setParameter("source", "C64_User_Mono_v1.0-STYLE.ttf"); resourceText->setParameter("source", "NEUROPOL.ttf"); resourceText->setParameter("size", "16"); resourceText->setParameter("resolution", "96"); resourceText->load(); Util::createSphere(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "sphereMesh", 1.0, 8, 8); Util::createCylinder(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "cylinderMesh", 1.0, 1.0, 8); Util::createDiamond(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "diamondMesh", 1.0, 1.0); Util::createBox(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "boxMesh", 1.0, 1.0, 1.0); Util::createPlane(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "planeMesh", 1.0, 1.0); Util::createDefaultSegments(OgreFramework::getSingletonPtr()->m_pSceneMgrMain); globals.initPaths(); //if (!configStageType(globals.configPath, globals.configBackup, "globalConfig")) // globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR); OgreFramework::getSingletonPtr()->m_pCameraMain->setPosition(Vector3::ZERO); OgreFramework::getSingletonPtr()->m_pCameraMain->lookAt(Vector3::ZERO); player = new Player( globals.playerName, OgreFramework::getSingletonPtr()->m_pCameraMain->getPosition(), OgreFramework::getSingletonPtr()->m_pCameraMain->getOrientation(), globals.initCamSpeed, globals.vineTOffset, seed, "vinezors" + Util::toStringInt(seed) + ".csv"); player->setSounds(true); if (!player->loadProgress(globals.savePath)) std::cout << "WARNING: Save File could not be loaded correctly" << std::endl; globals.initLogs(player->getSkillLevel().sessionID); engineStateMgr = new EngineStateManager(); engineStateMgr->requestPushEngine(ENGINE_MAIN_MENU, player); #if defined(OGRE_IS_IOS) && (NETWORKING) syncLogs(); #endif }
void OgreApp::setupDemoScene() { bool isSynced = false; globals.initPaths(); #if defined(NETWORKING) #if defined(OGRE_IS_IOS) isSynced = syncConfig(); #endif #endif seed = time(0); srand(seed); sessionOver = false; Util::generateMaterials(); Util::createSphere(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "sphereMesh", 1.0, 8, 8); Util::createCylinder(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "cylinderMesh", 1.0, 1.0, 8); Util::createDiamond(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "diamondMesh", 1.0, 1.0); Util::createBox(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "boxMesh", 1.0, 1.0, 1.0); Util::createPlane(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "planeMesh", 1.0, 1.0); Util::createDefaultSegments(OgreFramework::getSingletonPtr()->m_pSceneMgrMain); origin = Vector3(0, 0, 0); OgreFramework::getSingletonPtr()->m_pCameraMain->setPosition(Vector3(origin.x, origin.y, origin.z + globals.tunnelSegmentDepth / 2)); OgreFramework::getSingletonPtr()->m_pCameraMain->lookAt(origin); globals.initPaths(); if (!configStageType(globals.configPath, globals.configBackup, "globalConfig")) globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR); player = new Player( globals.playerName, OgreFramework::getSingletonPtr()->m_pCameraMain->getPosition(), OgreFramework::getSingletonPtr()->m_pCameraMain->getOrientation(), globals.initCamSpeed, globals.vineTOffset, SPEED_CONTROL_AUTO, seed, "vinezors" + Util::toStringInt(seed) + ".csv"); player->addVine(new Vine(OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getRootSceneNode(), player->getCamPos(), globals.vineRadius)); player->setSounds(true); player->setRunningSpeed(globals.set1StartingSpeed, globals.set2StartingSpeed, globals.set3StartingSpeed, globals.trialStartingSpeed, globals.startingNav); if (!player->loadProgress(globals.savePath)) std::cout << "WARNING: Save File could not be loaded correctly" << std::endl; globals.initLogs(player->getSkillLevel().sessionID); tunnel = NULL; hud = new Hud(); // Determine length of time globals.sessionTime = globals.sessionTimeMin; if (player->getSkillLevel().sessionID >= 1) globals.sessionTime += ((globals.sessionTimeMax - globals.sessionTimeMin) / globals.expectedNumSessions) * (player->getSkillLevel().sessionID - 1); std::cout << "Session Length: " << globals.sessionTime << std::endl; levelMgr = new LevelManager(player, globals.scheduleMain, globals.scheduleRepeat, globals.scheduleRepeatRandomPool); setLevel(EVEN); Light* lightMain = OgreFramework::getSingletonPtr()->m_pSceneMgrMain->createLight("Light"); lightMain->setDiffuseColour(1.0, 1.0, 1.0); lightMain->setSpecularColour(1.0, 1.0, 1.0); //lightMain->setAttenuation(3250, 1.0, 0.0014, 0.000007); lightNodeMain = OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getRootSceneNode()->createChildSceneNode("lightNode"); lightNodeMain->attachObject(lightMain); lightNodeMain->setPosition(OgreFramework::getSingletonPtr()->m_pCameraMain->getPosition()); if (!isSynced) { globals.setMessage("ERROR: Could not connect for updates.\nPlease contact the RA", MESSAGE_ERROR); } #if defined(NETWORKING) #if defined(OGRE_IS_IOS) syncLogs(); #endif #endif }
void OgreApp::setupDemoScene() { seed = time(0); srand(seed); sessionOver = false; Util::generateMaterials(); Util::createSphere(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "sphereMesh", 1.0, 256, 4); Util::createCylinder(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "cylinderMesh", 1.0, 1.0, 8); Util::createDiamond(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "diamondMesh", 1.0, 1.0); Util::createBox(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "boxMesh", 1.0, 1.0, 1.0); Util::createPlane(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "planeMesh", 1.0, 1.0); Util::createDefaultSegments(OgreFramework::getSingletonPtr()->m_pSceneMgrMain); origin = Vector3(0, 0, 0); OgreFramework::getSingletonPtr()->m_pCameraMain->setPosition(Vector3(origin.x, origin.y, origin.z + globals.tunnelSegmentDepth / 2)); OgreFramework::getSingletonPtr()->m_pCameraMain->lookAt(origin); globals.initPaths(); if (!configStageType(globals.configPath, globals.configBackup, "globalConfig")) globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR); player = new Player( globals.playerName, OgreFramework::getSingletonPtr()->m_pCameraMain->getPosition(), OgreFramework::getSingletonPtr()->m_pCameraMain->getOrientation(), globals.initCamSpeed, globals.vineTOffset, SPEED_CONTROL_AUTO, seed, "vinezors" + Util::toStringInt(seed) + ".csv"); player->addVine(new Vine(OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getRootSceneNode(), player->getCamPos(), globals.vineRadius)); player->setSounds(true); player->setRunningSpeed(globals.set1StartingSpeed, globals.set2StartingSpeed, globals.set3StartingSpeed, globals.trialStartingSpeed, globals.startingNav); if (player->getName() != "subject999") { if (!player->loadProgress(globals.savePath)) std::cout << "WARNING: Save File could not be loaded correctly" << std::endl; } else { // Special training session for space game PlayerLevel skill = player->getSkillLevel(); skill.sessionID = 0; skill.set1 = 1; skill.set2 = 1; skill.set3 = 1; skill.set1Rep = 0; skill.set2Rep = 1; skill.set3Rep = 2; player->setSkillLevel(skill); } globals.initLogs(player->getSkillLevel().sessionID); tunnel = NULL; hud = new Hud(); // Determine length of time globals.sessionTime = (globals.sessionTimeMin + ((globals.sessionTimeMax - globals.sessionTimeMin) / globals.expectedNumSessions) * player->getSkillLevel().sessionID); std::cout << "Session Length: " << globals.sessionTime << std::endl; levelMgr = new LevelManager(player, globals.scheduleMain, globals.scheduleRepeat, globals.scheduleRepeatRandomPool); setLevel(EVEN); // OgreFramework::getSingletonPtr()->m_pCameraMain backSphere = OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getRootSceneNode()->createChildSceneNode("backSphereNode"); Entity* backContentEntity = backSphere->getCreator()->createEntity("backSphereEntity", "sphereMesh"); backContentEntity->setMaterialName("General/PodUnknown"); backSphere->attachObject(backContentEntity); backSphere->scale(globals.podHeadRadius * 4, globals.podHeadRadius * 4, globals.podHeadRadius); backSphere->translate(Vector3(0, 0, -globals.tunnelSegmentDepth * 20)); }