1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 16:29:55 +00:00

Cleanup loadRules method, smooth animation transitions game.rst docuemntation

This commit is contained in:
Sam Hellawell 2024-04-05 22:20:32 +01:00
parent 07e6ebdea1
commit 28c8e6b1fe
2 changed files with 17 additions and 11 deletions

View file

@ -58,7 +58,7 @@ namespace Resource
osg::ref_ptr<const AnimBlendRules> AnimBlendRulesManager::loadRules(std::string_view path)
{
const VFS::Path::Normalized normalizedPath = VFS::Path::Normalized(path);
const VFS::Path::Normalized normalizedPath(path);
std::optional<osg::ref_ptr<osg::Object>> obj = mCache->getRefFromObjectCacheOrNone(normalizedPath);
if (obj.has_value())
{
@ -67,15 +67,7 @@ namespace Resource
else
{
osg::ref_ptr<AnimBlendRules> blendRules = AnimBlendRules::fromFile(mVfs, normalizedPath);
if (blendRules == nullptr)
{
// No blend rules were found in VFS, cache a nullptr.
osg::ref_ptr<AnimBlendRules> nullRules = nullptr;
mCache->addEntryToObjectCache(normalizedPath, nullRules);
// To avoid confusion - never return blend rules with 0 rules
return nullRules;
}
else
if (blendRules)
{
// Blend rules were found in VFS, cache them.
mCache->addEntryToObjectCache(normalizedPath, blendRules);
@ -83,7 +75,10 @@ namespace Resource
}
}
return nullptr;
// No blend rules were found in VFS, cache a nullptr.
osg::ref_ptr<AnimBlendRules> nullRules = nullptr;
mCache->addEntryToObjectCache(normalizedPath, nullRules);
return nullRules;
}
void AnimBlendRulesManager::reportStats(unsigned int frameNumber, osg::Stats* stats) const

View file

@ -541,3 +541,14 @@ In third person, the camera will sway along with the movement animations of the
Enabling this option disables this swaying by having the player character move independently of its animation.
This setting can be controlled in the Settings tab of the launcher.
smooth animation transitions
---------------------------------
:Type: boolean
:Range: True/False
:Default: False
Enabling this option uses smooth transitions between animations making them a lot less jarring. Also allows to load modded animation blending.
This setting can be controlled in the Settings tab of the launcher.