[Scummvm-git-logs] scummvm master -> 17d73513ccb25490f591ebb6e15622b1c019fae6
OMGPizzaGuy
48367439+OMGPizzaGuy at users.noreply.github.com
Tue Aug 25 02:44:05 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
17d73513cc ULTIMA8: Finish actor turn with stand animation instead appending after turn.
Commit: 17d73513ccb25490f591ebb6e15622b1c019fae6
https://github.com/scummvm/scummvm/commit/17d73513ccb25490f591ebb6e15622b1c019fae6
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2020-08-24T21:43:45-05:00
Commit Message:
ULTIMA8: Finish actor turn with stand animation instead appending after turn.
This prevents a head snaping animation at the of a turn and allows the next queued animation to not have an addition wait before starting.
Changed paths:
engines/ultima/ultima8/world/actors/actor.cpp
diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index 16503df330..bff7d85737 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -584,6 +584,7 @@ uint16 Actor::turnTowardDir(Direction targetdir) {
standanim = Animation::surrenderStand;
}
+ ProcId animpid = 0;
ProcId prevpid = 0;
// Create a sequence of turn animations from
@@ -600,28 +601,22 @@ uint16 Actor::turnTowardDir(Direction targetdir) {
bool done = false;
for (Direction dir = curdir; !done; dir = Direction_TurnByDelta(dir, stepDelta, mode)) {
- ProcId animpid = doAnim(turnanim, dir);
+ Animation::Sequence nextanim = turnanim;
+ if (dir == targetdir) {
+ nextanim = standanim;
+ done = true;
+ }
+ animpid = doAnim(nextanim, dir);
if (prevpid) {
Process *proc = Kernel::get_instance()->getProcess(animpid);
assert(proc);
proc->waitFor(prevpid);
}
- done = (dir == targetdir);
prevpid = animpid;
}
- ProcId animpid = prevpid;
- if (turnanim != standanim) {
- animpid = doAnim(standanim, targetdir);
- if (prevpid) {
- Process *proc = Kernel::get_instance()->getProcess(animpid);
- assert(proc);
- proc->waitFor(prevpid);
- }
- }
-
return animpid;
}
More information about the Scummvm-git-logs
mailing list