Commit 82f786d0 authored by bret curtis's avatar bret curtis

add regression fixes

parent aa299fec
Pipeline #41411 failed with stage
in 4 minutes and 32 seconds
openmw (0.45.0-3) unstable; urgency=low
[ Bret Curtis ]
* Added official 0.45 release patch that fixes regressions in original
release
-- Bret Curtis <psi29a@gmail.com> Fri, 29 Mar 2019 08:15:09 +0200
openmw (0.45.0-2) unstable; urgency=low
[ Bret Curtis ]
......
Description: brings openmw-0.45 up to latest, fixing regressions
Author: Bret Curtis <psi29a@gmail.com>
--- openmw-0.45.0.orig/CMakeLists.txt
+++ openmw-0.45.0/CMakeLists.txt
@@ -204,6 +204,7 @@ include_directories(${OPENSCENEGRAPH_INC
set(USED_OSG_PLUGINS
osgdb_bmp
osgdb_dds
+ osgdb_freetype
osgdb_jpeg
osgdb_osg
osgdb_png
--- openmw-0.45.0.orig/apps/openmw/mwclass/npc.cpp
+++ openmw-0.45.0/apps/openmw/mwclass/npc.cpp
@@ -935,8 +935,12 @@ namespace MWClass
const float normalizedEncumbrance = getNormalizedEncumbrance(ptr);
- bool sneaking = MWBase::Environment::get().getMechanicsManager()->isSneaking(ptr) && stats.getStance(MWMechanics::CreatureStats::Stance_Sneak);
- bool running = MWBase::Environment::get().getMechanicsManager()->isRunning(ptr) && stats.getStance(MWMechanics::CreatureStats::Stance_Run);
+ bool swimming = world->isSwimming(ptr);
+ bool inair = !world->isOnGround(ptr) && !swimming && !world->isFlying(ptr);
+ bool sneaking = stats.getStance(MWMechanics::CreatureStats::Stance_Sneak);
+ sneaking = sneaking && (inair || MWBase::Environment::get().getMechanicsManager()->isSneaking(ptr));
+ bool running = stats.getStance(MWMechanics::CreatureStats::Stance_Run);
+ running = running && (inair || MWBase::Environment::get().getMechanicsManager()->isRunning(ptr));
float walkSpeed = gmst.fMinWalkSpeed->mValue.getFloat() + 0.01f*npcdata->mNpcStats.getAttribute(ESM::Attribute::Speed).getModified()*
(gmst.fMaxWalkSpeed->mValue.getFloat() - gmst.fMinWalkSpeed->mValue.getFloat());
@@ -961,7 +965,7 @@ namespace MWClass
flySpeed = std::max(0.0f, flySpeed);
moveSpeed = flySpeed;
}
- else if (world->isSwimming(ptr))
+ else if (swimming)
{
float swimSpeed = walkSpeed;
if(running)
@@ -971,7 +975,7 @@ namespace MWClass
gmst.fSwimRunAthleticsMult->mValue.getFloat();
moveSpeed = swimSpeed;
}
- else if (running)
+ else if (running && !sneaking)
moveSpeed = runSpeed;
else
moveSpeed = walkSpeed;
--- openmw-0.45.0.orig/apps/openmw/mwgui/journalwindow.cpp
+++ openmw-0.45.0/apps/openmw/mwgui/journalwindow.cpp
@@ -554,7 +554,7 @@ namespace
mQuestMode = true;
setVisible (LeftTopicIndex, false);
- setVisible (CenterTopicIndex, true);
+ setVisible (CenterTopicIndex, false);
setVisible (RightTopicIndex, false);
setVisible (TopicsList, false);
setVisible (QuestsList, true);
--- openmw-0.45.0.orig/apps/openmw/mwmechanics/spellpriority.cpp
+++ openmw-0.45.0/apps/openmw/mwmechanics/spellpriority.cpp
@@ -171,7 +171,7 @@ namespace MWMechanics
float rating = rateEffects(enchantment->mEffects, actor, enemy);
- rating *= 2; // prefer rechargable magic items over spells
+ rating *= 1.25f; // prefer rechargable magic items over spells
return rating;
}
--- openmw-0.45.0.orig/apps/openmw/mwmechanics/weaponpriority.cpp
+++ openmw-0.45.0/apps/openmw/mwmechanics/weaponpriority.cpp
@@ -125,7 +125,9 @@ namespace MWMechanics
value = ref->mBase->mData.mCombat;
}
- rating *= getHitChance(actor, enemy, value) / 100.f;
+ // Take hit chance in account, but do not allow rating become negative.
+ float chance = getHitChance(actor, enemy, value) / 100.f;
+ rating *= std::min(1.f, std::max(0.01f, chance));
if (weapon->mData.mType < ESM::Weapon::Arrow)
rating *= weapon->mData.mSpeed;
--- openmw-0.45.0.orig/apps/openmw/mwworld/weather.cpp
+++ openmw-0.45.0/apps/openmw/mwworld/weather.cpp
@@ -739,7 +739,7 @@ void WeatherManager::update(float durati
}
else
{
- theta = static_cast<float>(osg::PI) + static_cast<float>(osg::PI) * (adjustedHour - adjustedNightStart) / nightDuration;
+ theta = static_cast<float>(osg::PI) - static_cast<float>(osg::PI) * (adjustedHour - adjustedNightStart) / nightDuration;
}
osg::Vec3f final(
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment