|
From: <xs...@us...> - 2006-05-19 00:06:23
|
Revision: 36 Author: xsdwx Date: 2006-05-18 17:06:12 -0700 (Thu, 18 May 2006) ViewCVS: http://svn.sourceforge.net/perceptioncrash/?rev=36&view=rev Log Message: ----------- no more using namespace Ogre;, freelook camera added, bsp level does not render correctly Modified Paths: -------------- trunk/perceptioncrash/src/GameManager.cpp trunk/perceptioncrash/src/InputManager.hpp trunk/perceptioncrash/src/IntroState.cpp trunk/perceptioncrash/src/PauseState.cpp trunk/perceptioncrash/src/PlayState.cpp trunk/perceptioncrash/src/PlayState.hpp Removed Paths: ------------- trunk/perceptioncrash/SConstruct Deleted: trunk/perceptioncrash/SConstruct =================================================================== --- trunk/perceptioncrash/SConstruct 2006-05-18 23:02:04 UTC (rev 35) +++ trunk/perceptioncrash/SConstruct 2006-05-19 00:06:12 UTC (rev 36) @@ -1,23 +0,0 @@ -# SCons build file for Linux - -import glob - -# create build environment -env = Environment() - -# Get library flags -env.ParseConfig('pkg-config --cflags --libs OGRE') -env.ParseConfig('pkg-config --cflags --libs CEGUI') - -# gather a list of source files -SOURCES = glob.glob('src/*.cpp') - -# add additional compiler flags -env.Append(CCFLAGS = ['-g', '-Wall']) - -# add additional libraries to link against -env.Append(LIBS = ['CEGUIOgreRenderer']) - -# build target -# output executable will be "game" -env.Program(target = 'perceptioncrash', source = SOURCES) Modified: trunk/perceptioncrash/src/GameManager.cpp =================================================================== --- trunk/perceptioncrash/src/GameManager.cpp 2006-05-18 23:02:04 UTC (rev 35) +++ trunk/perceptioncrash/src/GameManager.cpp 2006-05-19 00:06:12 UTC (rev 36) @@ -4,10 +4,8 @@ #include "InputManager.hpp" #include "GameState.hpp" -using namespace Ogre; +template<> GameManager* Ogre::Singleton<GameManager>::ms_Singleton = 0; -template<> GameManager* Singleton<GameManager>::ms_Singleton = 0; - GameManager::GameManager() { mRoot = 0; @@ -33,7 +31,7 @@ void GameManager::start(GameState* state) { - mRoot = new Root(); + mRoot = new Ogre::Root(); setupResources(); @@ -101,20 +99,11 @@ { // This is all temporary stuff Ogre::ResourceGroupManager* rgm = Ogre::ResourceGroupManager::getSingletonPtr(); - rgm->addResourceLocation("../../data/objects", "FileSystem", "General"); - rgm->addResourceLocation("../../data/images", "FileSystem", "General"); - rgm->addResourceLocation("../../data/packs/OgreCore.zip", "Zip", "General"); + rgm->addResourceLocation("data/objects", "FileSystem", "General"); + rgm->addResourceLocation("data/images", "FileSystem", "General"); + rgm->addResourceLocation("data/packs/OgreCore.zip", "Zip", "General"); + rgm->addResourceLocation("data/maps/ogretestmap.zip", "Zip", rgm->getWorldResourceGroupName()); - //rgm->addResourceLocation("data/maps/ogretestmap.zip", "Zip", - // rgm->getWorldResourceGroupName()); - - //rgm->linkWorldGeometryToResourceGroup(rgm->getWorldResourceGroupName(), - // "ogretestmap.bsp", - // mSceneMgr); - - //rgm->initialiseAllResourceGroups(); - //rgm->loadResourceGroup(rgm->getWorldResourceGroupName(), false, true); - #if 0 // load resource paths from config file ConfigFile cf; @@ -143,7 +132,7 @@ #endif } -bool GameManager::configure(void) +bool GameManager::configure() { // load config settings from ogre.cfg if (!mRoot->restoreConfig()) @@ -158,54 +147,54 @@ // initialise and create a default rendering window mRenderWindow = mRoot->initialise(true); - ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); + Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); return true; } void -GameManager::keyClicked(KeyEvent* e) +GameManager::keyClicked(Ogre::KeyEvent* e) { // call keyClicked of current state mStates.back()->keyClicked(e); } void -GameManager::keyPressed(KeyEvent* e) +GameManager::keyPressed(Ogre::KeyEvent* e) { // call keyPressed of current state mStates.back()->keyPressed(e); } void -GameManager::keyReleased(KeyEvent* e) +GameManager::keyReleased(Ogre::KeyEvent* e) { // call keyReleased of current state mStates.back()->keyReleased(e); } bool -GameManager::frameStarted(const FrameEvent& evt) +GameManager::frameStarted(const Ogre::FrameEvent& evt) { // call frameStarted of current state return mStates.back()->frameStarted(evt); } bool -GameManager::frameEnded(const FrameEvent& evt) +GameManager::frameEnded(const Ogre::FrameEvent& evt) { // call frameEnded of current state return mStates.back()->frameEnded(evt); } GameManager* -GameManager::getSingletonPtr(void) +GameManager::getSingletonPtr() { return ms_Singleton; } GameManager& -GameManager::getSingleton(void) +GameManager::getSingleton() { assert(ms_Singleton); return *ms_Singleton; Modified: trunk/perceptioncrash/src/InputManager.hpp =================================================================== --- trunk/perceptioncrash/src/InputManager.hpp 2006-05-18 23:02:04 UTC (rev 35) +++ trunk/perceptioncrash/src/InputManager.hpp 2006-05-19 00:06:12 UTC (rev 36) @@ -10,9 +10,9 @@ InputManager(Ogre::RenderWindow* rwindow); virtual ~InputManager(); - inline Ogre::InputReader* getInputDevice() const + Ogre::InputReader* getInputDevice() const { return mInputDevice; } - inline Ogre::EventProcessor* getEventProcessor() const + Ogre::EventProcessor* getEventProcessor() const { return mEventProcessor; } static InputManager& getSingleton(void); Modified: trunk/perceptioncrash/src/IntroState.cpp =================================================================== --- trunk/perceptioncrash/src/IntroState.cpp 2006-05-18 23:02:04 UTC (rev 35) +++ trunk/perceptioncrash/src/IntroState.cpp 2006-05-19 00:06:12 UTC (rev 36) @@ -4,22 +4,20 @@ #include "IntroState.hpp" #include "PlayState.hpp" -using namespace Ogre; - IntroState IntroState::mIntroState; void IntroState::enter() { mInputDevice = InputManager::getSingletonPtr()->getInputDevice(); - mRoot = Root::getSingletonPtr(); + mRoot = Ogre::Root::getSingletonPtr(); - mSceneMgr = mRoot->createSceneManager(ST_GENERIC); + mSceneMgr = mRoot->createSceneManager(Ogre::ST_GENERIC); mCamera = mSceneMgr->createCamera("IntroCamera"); mViewport = mRoot->getAutoCreatedWindow()->addViewport(mCamera); - mViewport->setBackgroundColour(ColourValue(1.0, 1.0, 1.0)); + mViewport->setBackgroundColour( Ogre::ColourValue(1.0, 1.0, 1.0) ); - mLogoOverlay = OverlayManager::getSingleton().getByName("Core/DebugOverlay"); + mLogoOverlay = Ogre::OverlayManager::getSingleton().getByName("Core/DebugOverlay"); if (mLogoOverlay) mLogoOverlay->show(); @@ -31,7 +29,7 @@ { mSceneMgr->clearScene(); mSceneMgr->destroyAllCameras(); - mRoot->getAutoCreatedWindow()->removeAllViewports(); + mRoot->getAutoCreatedWindow()->removeAllViewports(); } void @@ -45,37 +43,37 @@ } void -IntroState::keyClicked(KeyEvent* e) +IntroState::keyClicked(Ogre::KeyEvent* e) { } void -IntroState::keyPressed(KeyEvent* e) +IntroState::keyPressed(Ogre::KeyEvent* e) { - if (e->getKey() == KC_SPACE) + if (e->getKey() == Ogre::KC_SPACE) { changeState(PlayState::getInstance()); } - if (e->getKey() == KC_ESCAPE) + if (e->getKey() == Ogre::KC_ESCAPE) { mExitGame = true; } } void -IntroState::keyReleased(KeyEvent* e) +IntroState::keyReleased(Ogre::KeyEvent* e) { } bool -IntroState::frameStarted(const FrameEvent& evt) +IntroState::frameStarted(const Ogre::FrameEvent& evt) { return true; } bool -IntroState::frameEnded(const FrameEvent& evt) +IntroState::frameEnded(const Ogre::FrameEvent& evt) { if (mExitGame) return false; Modified: trunk/perceptioncrash/src/PauseState.cpp =================================================================== --- trunk/perceptioncrash/src/PauseState.cpp 2006-05-18 23:02:04 UTC (rev 35) +++ trunk/perceptioncrash/src/PauseState.cpp 2006-05-19 00:06:12 UTC (rev 36) @@ -3,18 +3,16 @@ #include "PauseState.hpp" #include "PlayState.hpp" -using namespace Ogre; - PauseState PauseState::mPauseState; void PauseState::enter() { mInputDevice = InputManager::getSingletonPtr()->getInputDevice(); - mRoot = Root::getSingletonPtr(); + mRoot = Ogre::Root::getSingletonPtr(); mViewport = mRoot->getAutoCreatedWindow()->getViewport(0); - mViewport->setBackgroundColour(ColourValue(0.0, 1.0, 0.0)); + mViewport->setBackgroundColour( Ogre::ColourValue(0.0, 1.0, 0.0) ); } void @@ -33,32 +31,32 @@ } void -PauseState::keyClicked(KeyEvent* e) +PauseState::keyClicked(Ogre::KeyEvent* e) { } void -PauseState::keyPressed(KeyEvent* e) +PauseState::keyPressed(Ogre::KeyEvent* e) { - if (e->getKey() == KC_P) + if (e->getKey() == Ogre::KC_P) { popState(); } } void -PauseState::keyReleased(KeyEvent* e) +PauseState::keyReleased(Ogre::KeyEvent* e) { } bool -PauseState::frameStarted(const FrameEvent& evt) +PauseState::frameStarted(const Ogre::FrameEvent& evt) { return true; } bool -PauseState::frameEnded(const FrameEvent& evt) +PauseState::frameEnded(const Ogre::FrameEvent& evt) { return true; } Modified: trunk/perceptioncrash/src/PlayState.cpp =================================================================== --- trunk/perceptioncrash/src/PlayState.cpp 2006-05-18 23:02:04 UTC (rev 35) +++ trunk/perceptioncrash/src/PlayState.cpp 2006-05-19 00:06:12 UTC (rev 36) @@ -1,23 +1,46 @@ #include <OgreKeyEvent.h> +#include "InputManager.hpp" + #include "PlayState.hpp" #include "IntroState.hpp" #include "PauseState.hpp" -using namespace Ogre; - PlayState PlayState::mPlayState; void PlayState::enter() { mInputDevice = InputManager::getSingletonPtr()->getInputDevice(); - mRoot = Root::getSingletonPtr(); + mRoot = Ogre::Root::getSingletonPtr(); - mSceneMgr = mRoot->createSceneManager(ST_GENERIC); + mSceneMgr = mRoot->createSceneManager("BspSceneManager"); mCamera = mSceneMgr->createCamera("PlayCamera"); mViewport = mRoot->getAutoCreatedWindow()->addViewport(mCamera); - mViewport->setBackgroundColour(ColourValue(0.3, 0.3, 0.3)); + mViewport->setBackgroundColour( Ogre::ColourValue(0.3, 0.3, 0.3) ); + + mCamera->setNearClipDistance(5.0f); + mCamera->setFarClipDistance(5000.0f); + mCamera->setAspectRatio(Ogre::Real(mViewport->getActualWidth()) / + Ogre::Real(mViewport->getActualHeight())); + + Ogre::ResourceGroupManager* rgm = Ogre::ResourceGroupManager::getSingletonPtr(); + rgm->linkWorldGeometryToResourceGroup(rgm->getWorldResourceGroupName(), + "ogretestmap.bsp", + mSceneMgr); + + // sdw: This line causes me to crash, i don't know why. It works fine in another + // project, and used to in this one, until something must have changed. + //rgm->loadResourceGroup(rgm->getWorldResourceGroupName(), false, true); + mSceneMgr->setAmbientLight( Ogre::ColourValue(1, 1, 1) ); + + Ogre::ViewPoint vp = mSceneMgr->getSuggestedViewpoint(true); + mCamera->setPosition(vp.position); + mCamera->pitch( Ogre::Degree(90) ); + mCamera->rotate(vp.orientation); + mCamera->setFixedYawAxis(true, Ogre::Vector3::UNIT_Z); + + InputManager::getSingleton().getEventProcessor()->addMouseMotionListener( this ); } void @@ -26,6 +49,7 @@ mSceneMgr->clearScene(); mSceneMgr->destroyAllCameras(); mRoot->getAutoCreatedWindow()->removeAllViewports(); + InputManager::getSingleton().getEventProcessor()->removeMouseMotionListener( this ); } void @@ -36,41 +60,58 @@ void PlayState::resume() { - mViewport->setBackgroundColour(ColourValue(0.3, 0.3, 0.3)); + mViewport->setBackgroundColour( Ogre::ColourValue(0.3, 0.3, 0.3) ); } void -PlayState::keyClicked(KeyEvent* e) +PlayState::keyClicked(Ogre::KeyEvent* e) { } void -PlayState::keyPressed(KeyEvent* e) +PlayState::keyPressed(Ogre::KeyEvent* e) { - if (e->getKey() == KC_P) + if (e->getKey() == Ogre::KC_P) { pushState(PauseState::getInstance()); } - if (e->getKey() == KC_ESCAPE) + if (e->getKey() == Ogre::KC_ESCAPE) { changeState(IntroState::getInstance()); } } void -PlayState::keyReleased(KeyEvent* e) +PlayState::keyReleased(Ogre::KeyEvent* e) { } bool -PlayState::frameStarted(const FrameEvent& evt) +PlayState::frameStarted(const Ogre::FrameEvent& evt) { return true; } bool -PlayState::frameEnded(const FrameEvent& evt) +PlayState::frameEnded(const Ogre::FrameEvent& evt) { return true; } + +void +PlayState::mouseMoved(Ogre::MouseEvent *e) +{ + mCamera->yaw( Ogre::Radian(-e->getRelX() * 1.f) ); + mCamera->pitch( Ogre::Radian(-e->getRelY() * 1.f) ); +} + +void +PlayState::mouseDragged(Ogre::MouseEvent *e) +{ +} + +void +PlayState::mouseDragMoved(Ogre::MouseEvent *e) +{ +} Modified: trunk/perceptioncrash/src/PlayState.hpp =================================================================== --- trunk/perceptioncrash/src/PlayState.hpp 2006-05-18 23:02:04 UTC (rev 35) +++ trunk/perceptioncrash/src/PlayState.hpp 2006-05-19 00:06:12 UTC (rev 36) @@ -5,7 +5,8 @@ #include "GameState.hpp" -class PlayState : public GameState +class PlayState : public GameState, + public Ogre::MouseMotionListener { public: void enter(); @@ -20,6 +21,10 @@ bool frameStarted(const Ogre::FrameEvent& evt); bool frameEnded(const Ogre::FrameEvent& evt); + void mouseMoved(Ogre::MouseEvent *); + void mouseDragged(Ogre::MouseEvent *); + void mouseDragMoved(Ogre::MouseEvent *); + static PlayState* getInstance() { return &mPlayState; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |