Changeset 8
- Timestamp:
- 01/11/09 01:00:01 (3 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 2 removed
- 7 modified
-
include/dreamforge/GameLoadFile.hh (added)
-
include/dreamforge/GameObjectManager.hh (modified) (1 diff)
-
include/dreamforge/XmlParser.hh (deleted)
-
src/LevelEditor.cc (modified) (14 diffs)
-
src/LevelEditor.hh (modified) (2 diffs)
-
src/Properties.cc (modified) (2 diffs)
-
src/SConscript (modified) (1 diff)
-
src/dreamforge/GameLoadFile.cc (added)
-
src/dreamforge/GameObjectManager.cc (modified) (2 diffs)
-
src/dreamforge/GameSaveFile.cc (modified) (1 diff)
-
src/dreamforge/XmlParser.cc (deleted)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/dreamforge/GameObjectManager.hh
r5 r8 54 54 // MANIPULATORS 55 55 void addObject(ObjectPtr obj); 56 void deleteObject(); 56 void deleteObject(ObjectPtr obj); 57 57 58 void cleanAll(void); 58 59 void updateObject( float timeT ); -
trunk/src/LevelEditor.cc
r7 r8 14 14 #include "dreamforge/GameObjectManager.hh" 15 15 #include "dreamforge/GameSaveFile.hh" 16 #include "dreamforge/ XmlParser.hh"16 #include "dreamforge/GameLoadFile.hh" 17 17 18 18 #if (OGRE_PLATFORM == OGRE_PLATFORM_LINUX) … … 130 130 CObjectManager::getInstance()->cleanAll(); 131 131 132 boost::shared_ptr< XmlParser> gameLoader (new XmlParser());132 boost::shared_ptr<CGameLoadFile> gameLoader (new CGameLoadFile()); 133 133 gameLoader->loadParser(loadfile); 134 gameLoader.reset(); 134 135 } 135 136 … … 247 248 { 248 249 node->setPosition(node->getPosition().x, 249 i->worldFragment->singleIntersection.y + 5,250 i->worldFragment->singleIntersection.y, 250 251 node->getPosition().z); 251 252 } … … 270 271 // Above the camera, facing down 271 272 plane.normal = -Ogre::Vector3::UNIT_Y; 272 /*273 Ogre::Entity *ent = mSceneMgr->createEntity("head", "ogrehead.mesh");274 // Add entity to the root scene node275 Ogre::SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();276 headNode->attachObject(ent);277 headNode->yaw(Ogre::Degree(-180));278 headNode->setPosition(500,600,600);279 headNode->showBoundingBox(false);280 */281 ObjectPtr tObj = CObjectFactory::getInstance()->createObject("NPC");282 tObj->setObjectName("toto");283 tObj->setObjectMeshFile("ninja.mesh");284 tObj->initNodeObject();285 tObj->getSceneNode()->yaw(Ogre::Degree(-180));286 tObj->getSceneNode()->setPosition(500,600,600);287 tObj->getSceneNode()->showBoundingBox(false);288 tObj->init();289 290 clamToTerrain(tObj->getSceneNode());291 292 CObjectManager::getInstance()->addObject(tObj);293 273 294 274 } … … 329 309 mCamera = mSceneMgr->createCamera("PlayerCam 1"); 330 310 331 mCamera->setPosition(Ogre::Vector3(1 479,709,1389));332 mCamera->lookAt(Ogre::Vector3(1 00,0,100));311 mCamera->setPosition(Ogre::Vector3(17519,913,16033)); 312 mCamera->lookAt(Ogre::Vector3(16073,0,16600)); 333 313 mCamera->setAutoAspectRatio(true); 334 314 mCamera->setNearClipDistance(1); … … 432 412 } 433 413 434 414 //------------------------------------------------------------------------------------------------ 415 // UPDATE 435 416 //------------------------------------------------------------------------------------------------ 436 417 void LevelEdWidget::update() … … 517 498 } 518 499 } 500 501 if(evt->key() == Qt::Key_Delete) 502 { 503 if(mEditionMode && mCurentObject.use_count()) 504 { 505 CObjectManager::getInstance()->deleteObject(mCurentObject); 506 mCurentObject.reset(); 507 } 508 } 519 509 } 520 510 … … 537 527 objProperties->nodeYVal->setValue ( mCurentObject->getSceneNode()->getPosition().y ); 538 528 objProperties->nodeZVal->setValue ( mCurentObject->getSceneNode()->getPosition().z ); 539 529 /* 540 530 objProperties->snodeXVal->setValue ( mCurentObject->getSceneNode()->getScale().x ); 541 531 objProperties->snodeYVal->setValue ( mCurentObject->getSceneNode()->getScale().y ); 542 532 objProperties->snodeZVal->setValue ( mCurentObject->getSceneNode()->getScale().z ); 543 533 */ 544 534 } 545 535 … … 562 552 563 553 //------------------------------------------------------------------------------------------------ 564 void LevelEdWidget::mo uveObjectFromRay(QMouseEvent* evt, Ogre::SceneNode* node)554 void LevelEdWidget::moveObjectFromRay(QMouseEvent* evt, Ogre::SceneNode* node) 565 555 { 566 556 Ogre::Ray mouseRay = mCamera->getCameraToViewportRay((double)evt->pos().x()/(double)width(), (double)evt->pos().y()/(double)height()); … … 573 563 if (itr != result.end() && itr->worldFragment) 574 564 { 575 node->setPosition(itr->worldFragment->singleIntersection.x, itr->worldFragment->singleIntersection.y + 5, itr->worldFragment->singleIntersection.z);565 node->setPosition(itr->worldFragment->singleIntersection.x, itr->worldFragment->singleIntersection.y, itr->worldFragment->singleIntersection.z); 576 566 } 577 567 } … … 669 659 iObj->initNodeObject(); 670 660 671 /*Ogre::Ray mouseRay = mCamera->getCameraToViewportRay((double)evt->pos().x()/(double)width(), (double)evt->pos().y()/(double)height()); 672 Ogre::RaySceneQuery* mRaySceneQuery = mSceneMgr->createRayQuery(Ogre::Ray());; 673 mRaySceneQuery->setRay(mouseRay); 674 //mRaySceneQuery->setSortByDistance(true); 675 Ogre::RaySceneQueryResult &result = mRaySceneQuery->execute(); 676 Ogre::RaySceneQueryResult::iterator itr = result.begin(); 677 678 if (itr != result.end() && itr->worldFragment) 679 { 680 iObj->getSceneNode()->setPosition(itr->worldFragment->singleIntersection.x, itr->worldFragment->singleIntersection.y + 5, itr->worldFragment->singleIntersection.z); 681 }*/ 682 this->mouveObjectFromRay(evt, iObj->getSceneNode()); 661 this->moveObjectFromRay(evt, iObj->getSceneNode()); 683 662 684 663 iObj->getSceneNode()->showBoundingBox(false); … … 755 734 if (mouseLeftPressed && mCurentObject.use_count()) // If we have left click and we have an object selected 756 735 { 757 /*Ogre::Ray mouseRay = mCamera->getCameraToViewportRay((double)evt->pos().x()/(double)width(), (double)evt->pos().y()/(double)height()); 758 759 Ogre::RaySceneQuery* mRaySceneQuery = mSceneMgr->createRayQuery(Ogre::Ray());; 760 mRaySceneQuery->setRay(mouseRay); 761 762 //mRaySceneQuery->setSortByDistance(true); 763 Ogre::RaySceneQueryResult &result = mRaySceneQuery->execute(); 764 Ogre::RaySceneQueryResult::iterator itr = result.begin(); 765 766 if (itr != result.end() && itr->worldFragment) 767 { 768 mCurentObject->getSceneNode()->setPosition(itr->worldFragment->singleIntersection.x,itr->worldFragment->singleIntersection.y + 10, itr->worldFragment->singleIntersection.z); 769 }*/ 770 this->mouveObjectFromRay(evt, mCurentObject->getSceneNode()); 736 this->moveObjectFromRay(evt, mCurentObject->getSceneNode()); 771 737 } 772 738 } … … 774 740 if(mInsertMode)// && mTempObject) 775 741 { 776 /*Ogre::Ray mRay = mCamera->getCameraToViewportRay((double)evt->pos().x()/(double)width(), (double)evt->pos().y()/(double)height()); 777 778 Ogre::RaySceneQuery* mRayScQuery = mSceneMgr->createRayQuery(Ogre::Ray());; 779 mRayScQuery->setRay(mRay); 780 781 //mRaySceneQuery->setSortByDistance(true); 782 Ogre::RaySceneQueryResult &reslt = mRayScQuery->execute(); 783 Ogre::RaySceneQueryResult::iterator it = reslt.begin(); 784 785 if (it != reslt.end() && it->worldFragment) 786 { 787 mTempObject->setPosition(it->worldFragment->singleIntersection.x,it->worldFragment->singleIntersection.y + 10, it->worldFragment->singleIntersection.z); 788 }*/ 789 this->mouveObjectFromRay(evt, mTempObject); 742 this->moveObjectFromRay(evt, mTempObject); 790 743 } 791 744 … … 795 748 void LevelEdWidget::wheelEvent(QWheelEvent* evt) 796 749 { 797 mDirection.z = -evt->delta() /2;750 mDirection.z = -evt->delta();///2; 798 751 update(); 799 752 mDirection.z = 0; -
trunk/src/LevelEditor.hh
r7 r8 72 72 void getSelectedObjectInfo(void); 73 73 void resetSelectedObjectInfo(void); 74 void mo uveObjectFromRay(QMouseEvent* evt, Ogre::SceneNode* node);74 void moveObjectFromRay(QMouseEvent* evt, Ogre::SceneNode* node); 75 75 76 76 void keyPressEvent(QKeyEvent* evt); … … 97 97 QPoint mousePos; 98 98 float angleX, angleY; 99 //float rotX, rotY;99 float moveScale; 100 100 /////////////////////// 101 101 std::string mName; -
trunk/src/Properties.cc
r7 r8 113 113 snodeZVal = new QDoubleSpinBox; 114 114 115 snodeXVal->setSingleStep ( 0.1);115 snodeXVal->setSingleStep ( 10.0 ); 116 116 snodeXVal->setMaximum ( 99999.99 ); 117 snodeYVal->setSingleStep ( 0.1);117 snodeYVal->setSingleStep ( 10.0 ); 118 118 snodeYVal->setMaximum ( 99999.99 ); 119 snodeZVal->setSingleStep ( 0.1);119 snodeZVal->setSingleStep ( 10.0 ); 120 120 snodeZVal->setMaximum ( 99999.99 ); 121 121 … … 141 141 rnodeZVal = new QDoubleSpinBox; 142 142 143 rnodeXVal->setSingleStep ( 10.0 );143 rnodeXVal->setSingleStep ( 20.0 ); 144 144 rnodeXVal->setMaximum ( 360.0 ); 145 145 rnodeXVal->setMinimum ( -360.0 ); 146 rnodeYVal->setSingleStep ( 10.0 );146 rnodeYVal->setSingleStep ( 20.0 ); 147 147 rnodeYVal->setMaximum ( 360.0 ); 148 148 rnodeYVal->setMinimum ( -360.0 ); 149 rnodeZVal->setSingleStep ( 10.0 );149 rnodeZVal->setSingleStep ( 20.0 ); 150 150 rnodeZVal->setMaximum ( 360.0 ); 151 151 rnodeZVal->setMinimum ( -360.0 ); -
trunk/src/SConscript
r7 r8 15 15 'dreamforge/objects/Object.cc', 16 16 'dreamforge/GameSaveFile.cc', 17 'dreamforge/ XmlParser.cc',17 'dreamforge/GameLoadFile.cc', 18 18 'dreamforge/GameObjectManager.cc', 19 19 'dreamforge/GameEngine.cc', -
trunk/src/dreamforge/GameObjectManager.cc
r7 r8 68 68 69 69 //------------------------------------------------------------------------------------------------ 70 void CObjectManager::deleteObject(ObjectPtr obj) 71 { 72 mObjectMap::const_iterator it = mObjectList.find(obj->getSceneNode()->getName()); 73 if(mObjectList.end() != it) 74 { 75 obj->destroy(); 76 mObjectList.erase(it); 77 } 78 } 79 80 //------------------------------------------------------------------------------------------------ 70 81 void CObjectManager::cleanAll(void) 71 82 { … … 131 142 } 132 143 } 133 144 // Log here the object not found 145 return obj; 134 146 } 135 147 -
trunk/src/dreamforge/GameSaveFile.cc
r7 r8 71 71 void CSaveFile::writeEnd( void ) 72 72 { 73 mContentText << "< scene>" << std::endl;73 mContentText << "</scene>" << std::endl; 74 74 } 75 75
