mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-14 10:37:41 -04:00
Fix the "bahro climbing a ladder" crash
This fix will cause the armature brain to skip over animations that it doesn't have data for, rather than crashing. If you're in debug mode, you'll get a nice assert as well.
This commit is contained in:
@ -425,6 +425,14 @@ bool plAnimStage::IMoveBackward(double time, float delta, float &overrun, plArma
|
||||
bool infiniteLoop = fLoops == -1;
|
||||
bool loopsRemain = fCurLoop > 0 || infiniteLoop;
|
||||
|
||||
// If we don't have this animation, just pretend to have worked.
|
||||
// Otherwise, we crash the client.
|
||||
if (!fAnimInstance)
|
||||
{
|
||||
hsAssert(false, "AnimInstance nil");
|
||||
return true;
|
||||
}
|
||||
|
||||
// This must be here before we set the local time.
|
||||
if (fAnimInstance->GetTimeConvert())
|
||||
fAnimInstance->GetTimeConvert()->Backwards();
|
||||
@ -477,6 +485,14 @@ bool plAnimStage::IMoveForward(double time, float delta, float &overrun, plArmat
|
||||
// first get the target time in local time, ignoring overruns
|
||||
float target = fLocalTime + delta;
|
||||
|
||||
// If we don't have this animation, just pretend to have worked.
|
||||
// Otherwise, we crash the client.
|
||||
if (!fAnimInstance)
|
||||
{
|
||||
hsAssert(false, "AnimInstance nil");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (fAnimInstance->GetTimeConvert())
|
||||
fAnimInstance->GetTimeConvert()->Forewards();
|
||||
|
||||
|
Reference in New Issue
Block a user