mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-21 02:39:43 +00:00
Fix AnimState initialization
Remove redundant user defined constructor and destructor, make sure all members are properly initialized including mTime (new float does not initialize the float).
This commit is contained in:
parent
55642650ea
commit
9d2f132aa7
1 changed files with 13 additions and 30 deletions
|
@ -142,45 +142,28 @@ namespace MWRender
|
|||
struct AnimState
|
||||
{
|
||||
std::shared_ptr<AnimSource> mSource;
|
||||
float mStartTime;
|
||||
float mLoopStartTime;
|
||||
float mLoopStopTime;
|
||||
float mStopTime;
|
||||
float mStartTime = 0;
|
||||
float mLoopStartTime = 0;
|
||||
float mLoopStopTime = 0;
|
||||
float mStopTime = 0;
|
||||
|
||||
typedef std::shared_ptr<float> TimePtr;
|
||||
TimePtr mTime;
|
||||
float mSpeedMult;
|
||||
std::shared_ptr<float> mTime = std::make_shared<float>(0);
|
||||
float mSpeedMult = 1;
|
||||
|
||||
bool mPlaying;
|
||||
bool mLoopingEnabled;
|
||||
uint32_t mLoopCount;
|
||||
bool mPlaying = false;
|
||||
bool mLoopingEnabled = true;
|
||||
uint32_t mLoopCount = 0;
|
||||
|
||||
AnimPriority mPriority;
|
||||
int mBlendMask;
|
||||
bool mAutoDisable;
|
||||
|
||||
AnimState()
|
||||
: mStartTime(0.0f)
|
||||
, mLoopStartTime(0.0f)
|
||||
, mLoopStopTime(0.0f)
|
||||
, mStopTime(0.0f)
|
||||
, mTime(new float)
|
||||
, mSpeedMult(1.0f)
|
||||
, mPlaying(false)
|
||||
, mLoopingEnabled(true)
|
||||
, mLoopCount(0)
|
||||
, mPriority(0)
|
||||
, mBlendMask(0)
|
||||
, mAutoDisable(true)
|
||||
{
|
||||
}
|
||||
~AnimState() = default;
|
||||
AnimPriority mPriority{ 0 };
|
||||
int mBlendMask = 0;
|
||||
bool mAutoDisable = true;
|
||||
|
||||
float getTime() const { return *mTime; }
|
||||
void setTime(float time) { *mTime = time; }
|
||||
|
||||
bool shouldLoop() const { return getTime() >= mLoopStopTime && mLoopingEnabled && mLoopCount > 0; }
|
||||
};
|
||||
|
||||
typedef std::map<std::string, AnimState, std::less<>> AnimStateMap;
|
||||
AnimStateMap mStates;
|
||||
|
||||
|
|
Loading…
Reference in a new issue