Merge pull request #126 from OpenMW/master

Add OpenMW commits up to 14 Jan
This commit is contained in:
David Cernat 2017-01-14 05:59:16 +02:00 committed by GitHub
commit 70b43ecef6

View file

@ -13,7 +13,8 @@ namespace
enum RefDataFlags enum RefDataFlags
{ {
Flag_SuppressActivate = 1, // If set, activation will be suppressed and redirected to the OnActivate flag, which can then be handled by a script. Flag_SuppressActivate = 1, // If set, activation will be suppressed and redirected to the OnActivate flag, which can then be handled by a script.
Flag_OnActivate = 2 Flag_OnActivate = 2,
Flag_ActivationBuffered = 4
}; };
} }
@ -241,38 +242,32 @@ namespace MWWorld
return mChanged || !mAnimationState.empty(); return mChanged || !mAnimationState.empty();
} }
bool RefData::activateByScript()
{
bool ret = (mFlags & Flag_ActivationBuffered);
mFlags &= ~(Flag_SuppressActivate|Flag_OnActivate);
return ret;
}
bool RefData::activate() bool RefData::activate()
{ {
if (!(mFlags & Flag_SuppressActivate)) if (mFlags & Flag_SuppressActivate)
return true; {
mFlags |= Flag_OnActivate|Flag_ActivationBuffered;
return false;
}
else else
{ {
mFlags |= Flag_OnActivate; return true;
return false;
} }
} }
bool RefData::onActivate() bool RefData::onActivate()
{ {
bool ret = mFlags & Flag_OnActivate;
mFlags |= Flag_SuppressActivate; mFlags |= Flag_SuppressActivate;
if (mFlags & Flag_OnActivate)
{
mFlags &= (~Flag_OnActivate); mFlags &= (~Flag_OnActivate);
return true; return ret;
}
return false;
}
bool RefData::activateByScript()
{
if (mFlags & Flag_SuppressActivate)
{
mFlags &= (~Flag_SuppressActivate);
return true;
}
else
return false;
} }
const ESM::AnimationState& RefData::getAnimationState() const const ESM::AnimationState& RefData::getAnimationState() const