Revision: 2435 http://rigsofrods.svn.sourceforge.net/rigsofrods/?rev=2435&view=rev Author: rorthomas Date: 2012-02-02 14:33:06 +0000 (Thu, 02 Feb 2012) Log Message: ----------- fixed visibility of 3d dashboards
Modified Paths: -------------- trunk/source/main/gameplay/RoRFrameListener.cpp trunk/source/main/gui/DashBoardManager.cpp trunk/source/main/gui/DashBoardManager.h trunk/source/main/physics/Beam.cpp Modified: trunk/source/main/gameplay/RoRFrameListener.cpp =================================================================== --- trunk/source/main/gameplay/RoRFrameListener.cpp 2012-02-02 13:56:29 UTC (rev 2434) +++ trunk/source/main/gameplay/RoRFrameListener.cpp 2012-02-02 14:33:06 UTC (rev 2435) @@ -5334,6 +5334,15 @@ enforceCameraFOVUpdate = true; + // hide any old dashes + if(previousTruck && previousTruck->dash) + previousTruck->dash->setVisible3d(false); + // show new + if(currentTruck && currentTruck->dash) + currentTruck->dash->setVisible3d(true); + + + // normal workflow if (!currentTruck) { // get out Modified: trunk/source/main/gui/DashBoardManager.cpp =================================================================== --- trunk/source/main/gui/DashBoardManager.cpp 2012-02-02 13:56:29 UTC (rev 2434) +++ trunk/source/main/gui/DashBoardManager.cpp 2012-02-02 14:33:06 UTC (rev 2435) @@ -176,15 +176,25 @@ return 0; } -void DashBoardManager::setVisible( bool v ) +void DashBoardManager::setVisible( bool visibility ) { - visible = v; + visible = visibility; for(int i=0; i < free_dashboard; i++) { - dashboards[i]->setVisible(visible); + if(!dashboards[i]->getIsTextureLayer()) + dashboards[i]->setVisible(visibility); } } +void DashBoardManager::setVisible3d( bool visibility ) +{ + for(int i=0; i < free_dashboard; i++) + { + if(dashboards[i]->getIsTextureLayer()) + dashboards[i]->setVisible(visibility, false); + } +} + void DashBoardManager::windowResized() { for(int i=0; i < free_dashboard; i++) @@ -650,10 +660,15 @@ mainWidget->detachFromWidget("RTTLayer1"); } -void DashBoard::setVisible(bool v) +void DashBoard::setVisible(bool v, bool smooth) { + if(!mainWidget) return; visible = v; - if(mainWidget) mainWidget->setVisibleSmooth(v); + + if(smooth) + mainWidget->setVisibleSmooth(v); + else + mainWidget->setVisible(v); } #endif // USE_MYGUI Modified: trunk/source/main/gui/DashBoardManager.h =================================================================== --- trunk/source/main/gui/DashBoardManager.h 2012-02-02 13:56:29 UTC (rev 2434) +++ trunk/source/main/gui/DashBoardManager.h 2012-02-02 14:33:06 UTC (rev 2435) @@ -191,7 +191,8 @@ bool wasLoaded() { return (free_dashboard > 0); }; - void setVisible(bool visible); + void setVisible(bool visibility); + void setVisible3d(bool visibility); bool getVisible() { return visible; }; void windowResized(); @@ -209,9 +210,11 @@ DashBoard(DashBoardManager *manager, Ogre::String filename, bool textureLayer); ~DashBoard(); - void setVisible(bool visible); + void setVisible(bool visible, bool smooth=true); bool getVisible() { return visible; }; + bool getIsTextureLayer() { return textureLayer; } + void update(float &dt); void windowResized(); Modified: trunk/source/main/physics/Beam.cpp =================================================================== --- trunk/source/main/physics/Beam.cpp 2012-02-02 13:56:29 UTC (rev 2434) +++ trunk/source/main/physics/Beam.cpp 2012-02-02 14:33:06 UTC (rev 2435) @@ -5426,7 +5426,7 @@ { dash->loadDashBoard("default_dashboard.layout", false); // TODO: load texture dashboard by default as well - //dash->loadDashBoard("default_dashboard.layout", true); + dash->loadDashBoard("default_dashboard.layout", true); } } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ Rigsofrods-devel mailing list Rigsofrods-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rigsofrods-devel