mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-28 12:58:00 +03:00
Merge branch 'idle_select_to_group_name' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Use string_view for sIdleSelectToGroupName See merge request OpenMW/openmw!4646
This commit is contained in:
commit
3a5c0c29cf
7 changed files with 19 additions and 17 deletions
|
@ -200,7 +200,7 @@ namespace MWBase
|
|||
///< Skip the animation for the given MW-reference for one frame. Calls to this function for
|
||||
/// references that are currently not in the scene should be ignored.
|
||||
|
||||
virtual bool checkAnimationPlaying(const MWWorld::Ptr& ptr, const std::string& groupName) = 0;
|
||||
virtual bool checkAnimationPlaying(const MWWorld::Ptr& ptr, std::string_view groupName) = 0;
|
||||
|
||||
virtual bool checkScriptedAnimationPlaying(const MWWorld::Ptr& ptr) const = 0;
|
||||
|
||||
|
|
|
@ -2028,7 +2028,7 @@ namespace MWMechanics
|
|||
iter->second->getCharacterController().skipAnim();
|
||||
}
|
||||
|
||||
bool Actors::checkAnimationPlaying(const MWWorld::Ptr& ptr, const std::string& groupName) const
|
||||
bool Actors::checkAnimationPlaying(const MWWorld::Ptr& ptr, std::string_view groupName) const
|
||||
{
|
||||
const auto iter = mIndex.find(ptr.mRef);
|
||||
if (iter != mIndex.end())
|
||||
|
|
|
@ -119,7 +119,7 @@ namespace MWMechanics
|
|||
std::string_view startKey, std::string_view stopKey, bool forceLoop);
|
||||
void enableLuaAnimations(const MWWorld::Ptr& ptr, bool enable);
|
||||
void skipAnimation(const MWWorld::Ptr& ptr) const;
|
||||
bool checkAnimationPlaying(const MWWorld::Ptr& ptr, const std::string& groupName) const;
|
||||
bool checkAnimationPlaying(const MWWorld::Ptr& ptr, std::string_view groupName) const;
|
||||
bool checkScriptedAnimationPlaying(const MWWorld::Ptr& ptr) const;
|
||||
void persistAnimationStates() const;
|
||||
void clearAnimationQueue(const MWWorld::Ptr& ptr, bool clearScripted);
|
||||
|
|
|
@ -40,15 +40,15 @@ namespace MWMechanics
|
|||
|
||||
static const std::size_t MAX_IDLE_SIZE = 8;
|
||||
|
||||
const std::string AiWander::sIdleSelectToGroupName[GroupIndex_MaxIdle - GroupIndex_MinIdle + 1] = {
|
||||
std::string("idle2"),
|
||||
std::string("idle3"),
|
||||
std::string("idle4"),
|
||||
std::string("idle5"),
|
||||
std::string("idle6"),
|
||||
std::string("idle7"),
|
||||
std::string("idle8"),
|
||||
std::string("idle9"),
|
||||
const std::string_view AiWander::sIdleSelectToGroupName[GroupIndex_MaxIdle - GroupIndex_MinIdle + 1] = {
|
||||
"idle2",
|
||||
"idle3",
|
||||
"idle4",
|
||||
"idle5",
|
||||
"idle6",
|
||||
"idle7",
|
||||
"idle8",
|
||||
"idle9",
|
||||
};
|
||||
|
||||
namespace
|
||||
|
@ -680,7 +680,7 @@ namespace MWMechanics
|
|||
{
|
||||
if ((GroupIndex_MinIdle <= idleSelect) && (idleSelect <= GroupIndex_MaxIdle))
|
||||
{
|
||||
const std::string& groupName = sIdleSelectToGroupName[idleSelect - GroupIndex_MinIdle];
|
||||
const std::string_view groupName = sIdleSelectToGroupName[idleSelect - GroupIndex_MinIdle];
|
||||
return MWBase::Environment::get().getMechanicsManager()->playAnimationGroup(actor, groupName, 0, 1);
|
||||
}
|
||||
else
|
||||
|
@ -695,7 +695,7 @@ namespace MWMechanics
|
|||
{
|
||||
if ((GroupIndex_MinIdle <= idleSelect) && (idleSelect <= GroupIndex_MaxIdle))
|
||||
{
|
||||
const std::string& groupName = sIdleSelectToGroupName[idleSelect - GroupIndex_MinIdle];
|
||||
const std::string_view groupName = sIdleSelectToGroupName[idleSelect - GroupIndex_MinIdle];
|
||||
return MWBase::Environment::get().getMechanicsManager()->checkAnimationPlaying(actor, groupName);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "typedaipackage.hpp"
|
||||
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
#include "aitemporarybase.hpp"
|
||||
|
@ -181,7 +182,7 @@ namespace MWMechanics
|
|||
const ESM::Pathgrid::Point& start, const ESM::Pathgrid::Point& end, AiWanderStorage& storage);
|
||||
|
||||
/// lookup table for converting idleSelect value to groupName
|
||||
static const std::string sIdleSelectToGroupName[GroupIndex_MaxIdle - GroupIndex_MinIdle + 1];
|
||||
static const std::string_view sIdleSelectToGroupName[GroupIndex_MaxIdle - GroupIndex_MinIdle + 1];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -778,7 +778,8 @@ namespace MWMechanics
|
|||
else
|
||||
mObjects.skipAnimation(ptr);
|
||||
}
|
||||
bool MechanicsManager::checkAnimationPlaying(const MWWorld::Ptr& ptr, const std::string& groupName)
|
||||
|
||||
bool MechanicsManager::checkAnimationPlaying(const MWWorld::Ptr& ptr, std::string_view groupName)
|
||||
{
|
||||
if (ptr.getClass().isActor())
|
||||
return mActors.checkAnimationPlaying(ptr, groupName);
|
||||
|
|
|
@ -146,7 +146,7 @@ namespace MWMechanics
|
|||
std::string_view startKey, std::string_view stopKey, bool forceLoop) override;
|
||||
void enableLuaAnimations(const MWWorld::Ptr& ptr, bool enable) override;
|
||||
void skipAnimation(const MWWorld::Ptr& ptr) override;
|
||||
bool checkAnimationPlaying(const MWWorld::Ptr& ptr, const std::string& groupName) override;
|
||||
bool checkAnimationPlaying(const MWWorld::Ptr& ptr, std::string_view groupName) override;
|
||||
bool checkScriptedAnimationPlaying(const MWWorld::Ptr& ptr) const override;
|
||||
void persistAnimationStates() override;
|
||||
void clearAnimationQueue(const MWWorld::Ptr& ptr, bool clearScripted) override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue