|
From: <xs...@us...> - 2006-05-17 03:57:34
|
Revision: 16 Author: xsdwx Date: 2006-05-16 20:57:29 -0700 (Tue, 16 May 2006) ViewCVS: http://svn.sourceforge.net/perceptioncrash/?rev=16&view=rev Log Message: ----------- Modified Paths: -------------- trunk/perceptioncrash/src/game.cpp trunk/perceptioncrash/src/game.hpp Modified: trunk/perceptioncrash/src/game.cpp =================================================================== --- trunk/perceptioncrash/src/game.cpp 2006-05-17 03:21:59 UTC (rev 15) +++ trunk/perceptioncrash/src/game.cpp 2006-05-17 03:57:29 UTC (rev 16) @@ -7,14 +7,14 @@ Game::Game() : m_pRoot(new Ogre::Root("plugins.cfg", "ogre.cfg", "ogre.log")), m_pSmgr(m_pRoot->createSceneManager("BspSceneManager")), - m_pFrameListener(new Framely), m_pEventProcessor(new Ogre::EventProcessor), - m_pRaySceneQuery( m_pSmgr->createRayQuery(Ogre::Ray()) ), + key_quit(Input::getSingleton().createKey("quit", Ogre::KC_ESCAPE)), key_up(Input::getSingleton().createKey("up", Ogre::KC_W)), key_right(Input::getSingleton().createKey("right", Ogre::KC_D)), key_down(Input::getSingleton().createKey("down", Ogre::KC_S)), key_left(Input::getSingleton().createKey("left", Ogre::KC_A)) { + // HACK This is setting either OpenGL or first thing it comes to Ogre::RenderSystemList *renderers = m_pRoot->getAvailableRenderers(); Ogre::RenderSystem *r = *renderers->begin(); // default @@ -32,6 +32,7 @@ m_pRoot->setRenderSystem(r); m_pWindow = m_pRoot->initialise(true, "Application"); + // Should probably change this stuff m_pCamera = m_pSmgr->createCamera("camera"); m_pCamera->setPosition(Ogre::Vector3(0.0f, 0.0f, 500.0f)); m_pCamera->lookAt(Ogre::Vector3(0.0f, 0.0f, 0.0f)); @@ -41,11 +42,9 @@ m_pViewport = m_pWindow->addViewport( m_pCamera ); m_pViewport->setBackgroundColour( Ogre::ColourValue(0.3f, 0.3f, 0.3f) ); - m_pCamera->setAspectRatio(Ogre::Real(m_pViewport->getActualWidth()) / - Ogre::Real(m_pViewport->getActualHeight())); + m_pCamera->setAspectRatio( Ogre::Real(m_pViewport->getActualWidth()) / + Ogre::Real(m_pViewport->getActualHeight()) ); - m_pRoot->addFrameListener( m_pFrameListener.get() ); - m_pEventProcessor->addKeyListener( &Input::getSingleton() ); m_pEventProcessor->addMouseMotionListener( &Input::getSingleton() ); m_pEventProcessor->initialise( m_pWindow ); @@ -56,6 +55,8 @@ } void Game::run() { + + // This is all temporary stuff Ogre::ResourceGroupManager::getSingleton().addResourceLocation( "data/objects", "FileSystem", "General" ); @@ -83,14 +84,15 @@ Ogre::SceneNode *myNode = m_pSmgr->getRootSceneNode()->createChildSceneNode("Robot1Node"); myNode->attachObject(myEntity); - for (;;) { - if (!m_pRoot->_fireFrameStarted()) break; + // This is how the real game loop should go + while ( !key_quit->isDown() ) { + if ( !m_pRoot->_fireFrameStarted() ) break; Think(); m_pRoot->_updateAllRenderTargets(); - if (!m_pRoot->_fireFrameEnded()) break; + if ( !m_pRoot->_fireFrameEnded() ) break; } } @@ -99,30 +101,9 @@ if (key_right->isDown()) { m_pCamera->moveRelative( Ogre::Vector3(2, 0, 0) ); } if (key_down->isDown()) { m_pCamera->moveRelative( Ogre::Vector3(0, 0, 2) ); } if (key_left->isDown()) { m_pCamera->moveRelative( Ogre::Vector3(-2, 0, 0) ); } - - if ( key_up->isDown() || key_right->isDown() || - key_down->isDown() || key_left->isDown() ) { - Ogre::Ray r( m_pCamera->getPosition(), m_pCamera->getDirection()*20 ); - m_pRaySceneQuery->setRay( r ); - Ogre::RaySceneQueryResult &result = m_pRaySceneQuery->execute(); - Ogre::RaySceneQueryResult::iterator i = result.begin(); - if ( i != result.end() && i->worldFragment ) { - m_pCamera->setPosition( i->worldFragment->singleIntersection ); - } - } } void Game::mousemotion_listener(Ogre::Real x, Ogre::Real y) { m_pCamera->yaw( Ogre::Radian(-x * 1.f) ); m_pCamera->pitch( Ogre::Radian(-y * 1.f) ); } - -bool Framely::frameStarted(Ogre::FrameEvent const &e) { - - return true; -} - -bool Framely::frameEnded(Ogre::FrameEvent const &e) { - - return !key_quit->isDown(); -} Modified: trunk/perceptioncrash/src/game.hpp =================================================================== --- trunk/perceptioncrash/src/game.hpp 2006-05-17 03:21:59 UTC (rev 15) +++ trunk/perceptioncrash/src/game.hpp 2006-05-17 03:57:29 UTC (rev 16) @@ -9,17 +9,6 @@ #include <memory> -class Framely : public Ogre::FrameListener { -public: - Framely() : key_quit(Input::getSingleton().createKey("quit", Ogre::KC_ESCAPE)) { } - - bool frameStarted(Ogre::FrameEvent const &); - bool frameEnded(Ogre::FrameEvent const &); - -private: - input_key* key_quit; -}; - class Game { public: Game(); @@ -34,11 +23,9 @@ Ogre::SceneManager *m_pSmgr; Ogre::Camera *m_pCamera; Ogre::Viewport *m_pViewport; - - std::auto_ptr<Framely> m_pFrameListener; std::auto_ptr<Ogre::EventProcessor> m_pEventProcessor; - std::auto_ptr<Ogre::RaySceneQuery> m_pRaySceneQuery; + input_key* key_quit; input_key* key_up; input_key* key_right; input_key* key_down; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |