diff --git a/bin/resources/managed_materials/managed_mats.material b/bin/resources/managed_materials/managed_mats.material index 7ae4b820ca..e7b02f31f1 100644 --- a/bin/resources/managed_materials/managed_mats.material +++ b/bin/resources/managed_materials/managed_mats.material @@ -18,9 +18,9 @@ abstract material RoR/Managed_Mats/Base abstract material RoR/Managed_Mats/BaseNoShadows { - technique + technique BaseTechnique { - pass + pass BaseRender { texture_unit Diffuse_Map { diff --git a/source/main/RoRVersion.h b/source/main/RoRVersion.h index 2fb9991004..fa4af2b713 100644 --- a/source/main/RoRVersion.h +++ b/source/main/RoRVersion.h @@ -32,7 +32,7 @@ along with Rigs of Rods. If not, see . // $Rev:$ #define ROR_VERSION_STRING_SHORT "0.4" -#define ROR_VERSION_STRING "0.4.5.0-dev" +#define ROR_VERSION_STRING "0.4.5.0" #define ROR_VERSION_STRING_WIN 0,4,5,0 #endif //RORVERSION_H__ diff --git a/source/main/gfx/ShadowManager.cpp b/source/main/gfx/ShadowManager.cpp index 1db7c6d53d..b8e21d85ea 100644 --- a/source/main/gfx/ShadowManager.cpp +++ b/source/main/gfx/ShadowManager.cpp @@ -185,6 +185,7 @@ void ShadowManager::updateTerrainMaterial(Ogre::TerrainPSSMMaterialGenerator::SM matProfile->setReceiveDynamicShadowsLowLod(false); matProfile->setReceiveDynamicShadowsEnabled(true); matProfile->setReceiveDynamicShadowsPSSM(pssmSetup); + matProfile->setLightmapEnabled(false); } } diff --git a/source/main/gfx/camera/CameraBehaviorOrbit.cpp b/source/main/gfx/camera/CameraBehaviorOrbit.cpp index 68d6e6714f..13ace1d381 100644 --- a/source/main/gfx/camera/CameraBehaviorOrbit.cpp +++ b/source/main/gfx/camera/CameraBehaviorOrbit.cpp @@ -139,9 +139,9 @@ void CameraBehaviorOrbit::update(const CameraManager::CameraContext &ctx) if ( ctx.mCurrTruck ) { if (BeamFactory::getSingleton().getThreadingMode() == THREAD_MULTI) - precedingPosition += ctx.mCurrTruck->nodes[0].Velocity * ctx.mCurrTruck->ttdt; + precedingPosition += ctx.mCurrTruck->nodes[0].Velocity * ctx.mCurrTruck->oldframe_global_dt; else - precedingPosition += ctx.mCurrTruck->nodes[0].Velocity * ctx.mCurrTruck->tdt; + precedingPosition += ctx.mCurrTruck->nodes[0].Velocity * ctx.mCurrTruck->global_dt; } Vector3 camPosition = (1.0f / (camRatio + 1.0f)) * desiredPosition + (camRatio / (camRatio + 1.0f)) * precedingPosition; diff --git a/source/main/gfx/camera/CameraBehaviorVehicle.cpp b/source/main/gfx/camera/CameraBehaviorVehicle.cpp index 87c9a7f789..5d94efccfa 100644 --- a/source/main/gfx/camera/CameraBehaviorVehicle.cpp +++ b/source/main/gfx/camera/CameraBehaviorVehicle.cpp @@ -49,9 +49,9 @@ void CameraBehaviorVehicle::update(const CameraManager::CameraContext &ctx) } if (BeamFactory::getSingleton().getThreadingMode() == THREAD_MULTI) - camRatio = 1.0f / (ctx.mCurrTruck->ttdt * 4.0f); + camRatio = 1.0f / (ctx.mCurrTruck->oldframe_global_dt * 4.0f); else - camRatio = 1.0f / (ctx.mCurrTruck->tdt * 4.0f); + camRatio = 1.0f / (ctx.mCurrTruck->global_dt * 4.0f); camDistMin = std::min(ctx.mCurrTruck->getMinimalCameraRadius() * 2.0f, 33.0f); diff --git a/source/main/gui/panels/GUI_GameSettings.cpp b/source/main/gui/panels/GUI_GameSettings.cpp index 4942507d90..92c8e49ef6 100644 --- a/source/main/gui/panels/GUI_GameSettings.cpp +++ b/source/main/gui/panels/GUI_GameSettings.cpp @@ -376,13 +376,14 @@ void CLASS::UpdateControls() if (!IsLoaded) { m_water_type->addItem("Hydrax"); //It's working good enough to be here now. + m_shadow_type->addItem("Parallel-split Shadow Maps"); } if (BSETTING("DevMode", false) && !IsLoaded) { //Things that aren't ready to be used yet. m_sky_type->addItem("SkyX (best looking, slower)"); - m_shadow_type->addItem("Parallel-split Shadow Maps"); + } //Sky effects @@ -396,9 +397,9 @@ void CLASS::UpdateControls() //Shadow technique Ogre::String shadowtype = GameSettingsMap["Shadow technique"]; - if (shadowtype == "Texture shadows") + if (shadowtype == "Texture shadows)") m_shadow_type->setIndexSelected(1); - else if (shadowtype == "Parallel-split Shadow Maps" && BSETTING("DevMode", false)) + else if (shadowtype == "Parallel-split Shadow Maps") m_shadow_type->setIndexSelected(2); else m_shadow_type->setIndexSelected(0); @@ -1166,6 +1167,7 @@ void CLASS::OnReMapPress(MyGUI::WidgetPtr _sender) isFrameActivated = true; m_key_mapping_window_info->setCaptionWithReplacing(""); + mMainWidget->setEnabledSilent(true); str_text = ""; } diff --git a/source/main/physics/Beam.cpp b/source/main/physics/Beam.cpp index 2b84822e78..c274103927 100644 --- a/source/main/physics/Beam.cpp +++ b/source/main/physics/Beam.cpp @@ -1420,7 +1420,7 @@ void Beam::SyncReset() void Beam::threadentry() { Beam **trucks = ttrucks; - dtperstep = tdt / (Real)tsteps; + dtperstep = global_dt / (Real)tsteps; for (curtstep=0; curtstepsetCompositeMapDistance(m_terrain_config.GetInt("CompositeMapDistance", 4000)); terrainOptions->setSkirtSize(m_terrain_config.GetInt("SkirtSize", 30)); terrainOptions->setLightMapSize(m_terrain_config.GetInt("LightMapSize", 1024)); - terrainOptions->setCastsDynamicShadows(m_terrain_config.GetBool("CastsDynamicShadows", false)); + + if (matProfile->getReceiveDynamicShadowsPSSM()) + terrainOptions->setCastsDynamicShadows(true); terrainOptions->setUseRayBoxDistanceCalculation(false);