mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-04 21:40:03 +00:00
renamed mPlayedIdle to mIdleAnimation.
This commit is contained in:
parent
22f49128cc
commit
00eef585af
@ -66,7 +66,7 @@ namespace MWMechanics
|
|||||||
// AiWander states
|
// AiWander states
|
||||||
AiWander::WanderState mState;
|
AiWander::WanderState mState;
|
||||||
|
|
||||||
unsigned short mPlayedIdle;
|
unsigned short mIdleAnimation;
|
||||||
|
|
||||||
PathFinder mPathFinder;
|
PathFinder mPathFinder;
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ namespace MWMechanics
|
|||||||
mGreetingTimer(0),
|
mGreetingTimer(0),
|
||||||
mCell(NULL),
|
mCell(NULL),
|
||||||
mState(AiWander::Wander_ChooseAction),
|
mState(AiWander::Wander_ChooseAction),
|
||||||
mPlayedIdle(0)
|
mIdleAnimation(0)
|
||||||
{};
|
{};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -240,12 +240,11 @@ namespace MWMechanics
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check if idle animation finished
|
// Check if idle animation finished
|
||||||
short unsigned& playedIdle = storage.mPlayedIdle;
|
short unsigned& idleAnimation = storage.mIdleAnimation;
|
||||||
GreetingState& greetingState = storage.mSaidGreeting;
|
GreetingState& greetingState = storage.mSaidGreeting;
|
||||||
if ((wanderState == Wander_IdleNow) &&
|
if ((wanderState == Wander_IdleNow) &&
|
||||||
!checkIdle(actor, playedIdle) && (greetingState == Greet_Done || greetingState == Greet_None))
|
!checkIdle(actor, idleAnimation) && (greetingState == Greet_Done || greetingState == Greet_None))
|
||||||
{
|
{
|
||||||
playedIdle = 0;
|
|
||||||
wanderState = Wander_ChooseAction;
|
wanderState = Wander_ChooseAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -253,10 +252,9 @@ namespace MWMechanics
|
|||||||
|
|
||||||
if (wanderState == Wander_ChooseAction)
|
if (wanderState == Wander_ChooseAction)
|
||||||
{
|
{
|
||||||
playedIdle = 0;
|
idleAnimation = getRandomIdle();
|
||||||
getRandomIdle(playedIdle); // NOTE: sets mPlayedIdle with a random selection
|
|
||||||
|
|
||||||
if(!playedIdle && mDistance)
|
if(!idleAnimation && mDistance)
|
||||||
{
|
{
|
||||||
wanderState = Wander_MoveNow;
|
wanderState = Wander_MoveNow;
|
||||||
}
|
}
|
||||||
@ -265,7 +263,7 @@ namespace MWMechanics
|
|||||||
// Play idle animation and recreate vanilla (broken?) behavior of resetting start time of AIWander:
|
// Play idle animation and recreate vanilla (broken?) behavior of resetting start time of AIWander:
|
||||||
MWWorld::TimeStamp currentTime = world->getTimeStamp();
|
MWWorld::TimeStamp currentTime = world->getTimeStamp();
|
||||||
mStartTime = currentTime;
|
mStartTime = currentTime;
|
||||||
playIdle(actor, playedIdle);
|
playIdle(actor, idleAnimation);
|
||||||
wanderState = Wander_IdleNow;
|
wanderState = Wander_IdleNow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -468,7 +466,6 @@ namespace MWMechanics
|
|||||||
stopWalking(actor, storage);
|
stopWalking(actor, storage);
|
||||||
mObstacleCheck.clear();
|
mObstacleCheck.clear();
|
||||||
storage.mState = Wander_IdleNow;
|
storage.mState = Wander_IdleNow;
|
||||||
getRandomIdle(storage.mPlayedIdle);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
turnActorToFacePlayer(actorPos, playerPos, storage);
|
turnActorToFacePlayer(actorPos, playerPos, storage);
|
||||||
@ -605,9 +602,10 @@ namespace MWMechanics
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AiWander::getRandomIdle(short unsigned& playedIdle)
|
short unsigned AiWander::getRandomIdle()
|
||||||
{
|
{
|
||||||
unsigned short idleRoll = 0;
|
unsigned short idleRoll = 0;
|
||||||
|
short unsigned selectedAnimation = 0;
|
||||||
|
|
||||||
for(unsigned int counter = 0; counter < mIdle.size(); counter++)
|
for(unsigned int counter = 0; counter < mIdle.size(); counter++)
|
||||||
{
|
{
|
||||||
@ -618,10 +616,11 @@ namespace MWMechanics
|
|||||||
unsigned short randSelect = (int)(Misc::Rng::rollProbability() * int(100 / fIdleChanceMultiplier));
|
unsigned short randSelect = (int)(Misc::Rng::rollProbability() * int(100 / fIdleChanceMultiplier));
|
||||||
if(randSelect < idleChance && randSelect > idleRoll)
|
if(randSelect < idleChance && randSelect > idleRoll)
|
||||||
{
|
{
|
||||||
playedIdle = counter+2;
|
selectedAnimation = counter + GroupIndex_MinIdle;
|
||||||
idleRoll = randSelect;
|
idleRoll = randSelect;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return selectedAnimation;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AiWander::fastForward(const MWWorld::Ptr& actor, AiState &state)
|
void AiWander::fastForward(const MWWorld::Ptr& actor, AiState &state)
|
||||||
|
@ -77,7 +77,7 @@ namespace MWMechanics
|
|||||||
void stopWalking(const MWWorld::Ptr& actor, AiWanderStorage& storage);
|
void stopWalking(const MWWorld::Ptr& actor, AiWanderStorage& storage);
|
||||||
void playIdle(const MWWorld::Ptr& actor, unsigned short idleSelect);
|
void playIdle(const MWWorld::Ptr& actor, unsigned short idleSelect);
|
||||||
bool checkIdle(const MWWorld::Ptr& actor, unsigned short idleSelect);
|
bool checkIdle(const MWWorld::Ptr& actor, unsigned short idleSelect);
|
||||||
void getRandomIdle(unsigned short& playedIdle);
|
short unsigned getRandomIdle();
|
||||||
void setPathToAnAllowedNode(const MWWorld::Ptr& actor, AiWanderStorage& storage, const ESM::Position& actorPos);
|
void setPathToAnAllowedNode(const MWWorld::Ptr& actor, AiWanderStorage& storage, const ESM::Position& actorPos);
|
||||||
void playGreetingIfPlayerGetsTooClose(const MWWorld::Ptr& actor, AiWanderStorage& storage);
|
void playGreetingIfPlayerGetsTooClose(const MWWorld::Ptr& actor, AiWanderStorage& storage);
|
||||||
void evadeObstacles(const MWWorld::Ptr& actor, AiWanderStorage& storage, float duration);
|
void evadeObstacles(const MWWorld::Ptr& actor, AiWanderStorage& storage, float duration);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user