Changeset 11
- Timestamp:
- 06/28/09 03:57:15 (3 years ago)
- Location:
- trunk
- Files:
-
- 3 modified
-
config/objects.txt (modified) (2 diffs)
-
src/LevelEditor.cc (modified) (6 diffs)
-
src/dreamforge/GameEngine.cc (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/config/objects.txt
r7 r11 6 6 OgreHead ogrehead.mesh MSTR Ogre3D head mesh use for test 7 7 Ninja ninja.mesh NPC Ogre3D ninja mesh use for test 8 Monstre 9 Drako dragon.mesh MSTR Ogre3D head mesh use for test 8 10 Flore 9 11 Plantes … … 19 21 Elements 20 22 Rock Rock1_1.mesh BLD test 23 Armes 24 EPEE epee.mesh BLD test 25 BOUCLIER bouclier.mesh BLD test -
trunk/src/LevelEditor.cc
r10 r11 275 275 Ogre::RaySceneQuery* tempRayQuery = mSceneMgr->createRayQuery(Ogre::Ray(node->getPosition(), Ogre::Vector3::NEGATIVE_UNIT_Y)); 276 276 Ogre::Ray tempRay; 277 tempRayQuery->setQueryTypeMask(Ogre::SceneManager::WORLD_GEOMETRY_TYPE_MASK); 278 tempRayQuery->setWorldFragmentType(Ogre::SceneQuery::WFT_SINGLE_INTERSECTION); 277 279 tempRay.setOrigin(node->getPosition()); 278 280 tempRay.setDirection(Ogre::Vector3::NEGATIVE_UNIT_Y); … … 291 293 void LevelEdWidget::createScene( void ) 292 294 { 293 295 /* 294 296 std::string terrain_cfg("terrain.cfg"); 295 297 mSceneMgr -> setWorldGeometry( terrain_cfg ); … … 298 300 { 299 301 mCamera->setFarClipDistance(0); 300 } 301 302 }*/ 303 mSceneMgr->setWorldGeometry( Ogre::String("terrain_mainMenu.cfg") ); 302 304 // Define the required skyplane 303 305 Ogre::Plane plane; … … 343 345 344 346 mCamera = mSceneMgr->createCamera("LEVELCAM"); 345 mCamera->setPosition(Ogre::Vector3( 17519,913,16033));346 mCamera->lookAt(Ogre::Vector3( 16073,0,16600));347 mCamera->setPosition(Ogre::Vector3(750,913,750)); 348 mCamera->lookAt(Ogre::Vector3(850,0,950)); 347 349 mCamera->setAutoAspectRatio(true); 348 350 mCamera->setNearClipDistance(1); … … 668 670 Ogre::Ray mouseRay = mCamera->getCameraToViewportRay((double)evt->pos().x()/(double)width(), (double)evt->pos().y()/(double)height()); 669 671 Ogre::RaySceneQuery* mRaySceneQuery = mSceneMgr->createRayQuery(Ogre::Ray());; 672 mRaySceneQuery->setQueryTypeMask(Ogre::SceneManager::WORLD_GEOMETRY_TYPE_MASK); 673 mRaySceneQuery->setWorldFragmentType(Ogre::SceneQuery::WFT_SINGLE_INTERSECTION); 670 674 mRaySceneQuery->setRay(mouseRay); 671 675 //mRaySceneQuery->setSortByDistance(true); … … 690 694 Ogre::Ray mouseRay = mCamera->getCameraToViewportRay((double)evt->pos().x()/(double)width(), (double)evt->pos().y()/(double)height()); 691 695 Ogre::RaySceneQuery* mRaySceneQuery = mSceneMgr->createRayQuery(Ogre::Ray());; 696 mRaySceneQuery->setQueryTypeMask(Ogre::SceneManager::WORLD_GEOMETRY_TYPE_MASK || Ogre::SceneManager::ENTITY_TYPE_MASK); 697 mRaySceneQuery->setWorldFragmentType(Ogre::SceneQuery::WFT_SINGLE_INTERSECTION); 692 698 mRaySceneQuery->setRay(mouseRay); 693 699 -
trunk/src/dreamforge/GameEngine.cc
r10 r11 22 22 23 23 #include "freequest/log/Logger.hh" 24 24 #include "dreamforge/Exceptions.hh" 25 25 #include "dreamforge/GameEngine.hh" 26 26 … … 74 74 //mRoot->loadPlugin("/usr/lib/OGRE/Plugin_CgProgramManager.so"); 75 75 mRoot->loadPlugin("/usr/lib/OGRE/Plugin_ParticleFX.so"); 76 mRoot->loadPlugin("/usr/lib/OGRE/Plugin_OctreeSceneManager.so"); 76 //mRoot->loadPlugin("/usr/lib/OGRE/Plugin_OctreeSceneManager.so"); 77 mRoot->loadPlugin("/usr/lib/OGRE/Plugin_PagingLandScapeSceneManager2.so"); 77 78 #elif defined __TARGET_WINDOWS__ 78 79 mRoot->loadPlugin("RenderSystem_GL"); … … 80 81 mRoot->loadPlugin("Plugin_CgProgramManager"); 81 82 mRoot->loadPlugin("Plugin_ParticleFX"); 82 mRoot->loadPlugin("Plugin_OctreeSceneManager"); 83 //mRoot->loadPlugin("Plugin_OctreeSceneManager"); 84 mRoot->loadPlugin("Plugin_PagingLandScapeSceneManager2"); 83 85 #else 84 86 #error Plateform Not Implemented … … 123 125 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data", "FileSystem", "General"); 124 126 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/fonts", "FileSystem", "General"); 127 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/gui", "FileSystem", "General"); 125 128 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models", "FileSystem", "General"); 126 129 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/mesh", "FileSystem", "General"); … … 130 133 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/humain", "FileSystem", "General"); 131 134 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/armes", "FileSystem", "General"); 132 //Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/test", "FileSystem", "General");133 135 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain", "FileSystem", "General"); 134 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/ET", "FileSystem", "General");135 136 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/world", "FileSystem", "General"); 137 136 138 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/OgreCore.zip", "Zip", "Bootstrap"); 139 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/montres/dragon.zip", "Zip", "Bootstrap"); 140 141 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/PLSM/terrains/collision", "FileSystem", "COL"); 142 143 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/PLSM", "FileSystem", "PLSM2"); 144 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/PLSM/scripts", "FileSystem", "PLSM2"); 145 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/PLSM/textures", "FileSystem", "PLSM2"); 146 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/PLSM/programs", "FileSystem", "PLSM2"); 147 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/PLSM/terrains", "FileSystem", "PLSM2"); 148 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/PLSM/datasrcs", "FileSystem", "PLSM2"); 149 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/PLSM/overlays", "FileSystem", "PLSM2"); 150 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/PLSM/models","FileSystem", "PLSM2"); 137 151 } 138 152 catch( Ogre::Exception& e ) // TODO : Next time use our Exception … … 161 175 { 162 176 LOG_INFO( Logger::getLogger("dreamforge"), " == Create Scene manager and Camera == "); 163 // Create a generic scene manager and our main camera 164 mSceneMgr = mRoot->createSceneManager("TerrainSceneManager", "LEVELSCMGR"); 177 bool notFound = true; 178 // Get the SceneManager, in this case the Paging LandScape specialization 179 Ogre::SceneManagerEnumerator::MetaDataIterator it = mRoot->getSceneManagerMetaDataIterator(); 180 while (it.hasMoreElements ()) 181 { 182 const Ogre::SceneManagerMetaData* metaData = it.getNext (); 183 184 /// A mask describing which sorts of scenes this manager can handle 185 if (metaData->sceneTypeMask == Ogre::ST_EXTERIOR_REAL_FAR && 186 metaData->worldGeometrySupported == true && 187 metaData->typeName == "PagingLandScapeSceneManager") 188 { 189 notFound = false; 190 break; 191 } 192 } 193 if (notFound) 194 { 195 THROW_EXCEPTION(Exception, "Could not find Paging Landscape plugin."); 196 //LOG_ERROR(Logger::getLogger("freequest.game"), "====! Could not find Paging Landscape plugin. !===="); 197 //Ogre::OGRE_EXCEPT(Exception::ERR_ITEM_NOT_FOUND, "Could not find Paging Landscape plugin. Check if it's in plugins.cfg.","chooseSceneManager"); 198 } 199 200 // Create a generic scene manager and our main camera 201 //mSceneMgr = mRoot->createSceneManager(Ogre::ST_EXTERIOR_CLOSE, "EXTERIOR SCENE"); 202 203 mSceneMgr = mRoot->createSceneManager(Ogre::ST_EXTERIOR_REAL_FAR, "LEVELSCMGR" ); 204 //mSceneMgr = mRoot->createSceneManager("PagingLandScapeSceneManager", "EXTERIOR SCENE" ); 205 // Create a generic scene manager and our main camera 206 //mSceneMgr = mRoot->createSceneManager("TerrainSceneManager", "LEVELSCMGR"); 165 207 } 166 208
