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:
parent
07e6ebdea1
commit
28c8e6b1fe
2 changed files with 17 additions and 11 deletions
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue