diff options
author | Thanasis Antoniou | 2019-08-28 21:32:12 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-08-28 21:32:12 +0300 |
commit | ac3ed34610c89911127d1335012583f7e92bccb7 (patch) | |
tree | 58e301c2e261d11135dbb60b4585b5d594d06317 /engines/bladerunner/script/ai/generic_walker_c.cpp | |
parent | 0486b301e43cb63df32ceccc8b65350534f15883 (diff) | |
download | scummvm-rg350-ac3ed34610c89911127d1335012583f7e92bccb7.tar.gz scummvm-rg350-ac3ed34610c89911127d1335012583f7e92bccb7.tar.bz2 scummvm-rg350-ac3ed34610c89911127d1335012583f7e92bccb7.zip |
BLADERUNNER: Fix restored walkers idle behavior and AI_Movement_Track_Append_With_Facing
Diffstat (limited to 'engines/bladerunner/script/ai/generic_walker_c.cpp')
-rw-r--r-- | engines/bladerunner/script/ai/generic_walker_c.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/engines/bladerunner/script/ai/generic_walker_c.cpp b/engines/bladerunner/script/ai/generic_walker_c.cpp index b92cf71622..9a07aff73d 100644 --- a/engines/bladerunner/script/ai/generic_walker_c.cpp +++ b/engines/bladerunner/script/ai/generic_walker_c.cpp @@ -191,7 +191,14 @@ bool AIScriptGenericWalkerC::UpdateAnimation(int *animation, int *frame) { *animation = 430; break; case 2: +#if BLADERUNNER_ORIGINAL_BUGS + // Hatted lady with wooden umbrella still (different from 436 model!) *animation = 437; +#else + // use model 436 and animation frame 4 + *animation = 436; + _animationFrame = 4; +#endif // BLADERUNNER_ORIGINAL_BUGS break; case 3: *animation = 431; @@ -207,8 +214,8 @@ bool AIScriptGenericWalkerC::UpdateAnimation(int *animation, int *frame) { _animationFrame = 11; break; case 7: - *animation = 435; // Child walking // frame 5 could be used for still - _animationFrame = 5; + *animation = 435; // Child walking // frame 5 or 0 could be used for still + _animationFrame = 0; break; case 8: *animation = 422; // Hatted person walking fast // frame 1 could be used for still @@ -220,7 +227,7 @@ bool AIScriptGenericWalkerC::UpdateAnimation(int *animation, int *frame) { break; } if (!_vm->_cutContent - || Global_Variable_Query(kVariableGenericWalkerAModel) < 6 + || (Global_Variable_Query(kVariableGenericWalkerCModel) < 6 && Global_Variable_Query(kVariableGenericWalkerCModel) != 2) ) { _animationFrame = 0; } @@ -286,7 +293,11 @@ bool AIScriptGenericWalkerC::ChangeAnimationMode(int mode) { switch (mode) { case kAnimationModeIdle: _animationState = kGenericWalkerCStatesIdle; - _animationFrame = 0; + if (!_vm->_cutContent + || (Global_Variable_Query(kVariableGenericWalkerCModel) < 6 && Global_Variable_Query(kVariableGenericWalkerCModel) != 2) + ) { + _animationFrame = 0; + } break; case kAnimationModeWalk: _animationState = kGenericWalkerCStatesWalk; |