[Scummvm-git-logs] scummvm master -> ffa0fe199f45976f547f8ae4518f5d578780a595

mduggan mgithub at guarana.org
Tue Mar 16 10:26:55 UTC 2021


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:
ffa0fe199f ULTIMA8: Fix kneeling in Crusader


Commit: ffa0fe199f45976f547f8ae4518f5d578780a595
    https://github.com/scummvm/scummvm/commit/ffa0fe199f45976f547f8ae4518f5d578780a595
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-03-16T19:26:34+09:00

Commit Message:
ULTIMA8: Fix kneeling in Crusader

Changed paths:
    engines/ultima/ultima8/world/actors/actor.cpp
    engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp


diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index 30924a6933..3b8985e3f6 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -490,10 +490,11 @@ uint16 Actor::doAnim(Animation::Sequence anim, Direction dir, unsigned int steps
 				anim == Animation::kneelAndFireSmallWeapon ||
 				anim == Animation::kneelAndFireLargeWeapon ||
 				anim == Animation::kneelingAdvance ||
-				anim == Animation::kneelingRetreat)
+				anim == Animation::kneelingRetreat) {
 			setActorFlag(ACT_KNEELING);
-		else
+		} else if (anim != Animation::kneel) {
 			clearActorFlag(ACT_KNEELING);
+		}
 	}
 
 #if 1
diff --git a/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
index fc195f2f91..2d70e83157 100644
--- a/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
@@ -132,8 +132,9 @@ void CruAvatarMoverProcess::handleCombatMode() {
 			// Jump always ends out of combat
 			avatar->clearInCombat();
 		} else if (avatar->isKneeling()) {
-			nextanim = Animation::kneelEndCru;
+			avatar->doAnim(Animation::kneelEndCru, direction);
 			avatar->clearActorFlag(Actor::ACT_KNEELING);
+			return;
 		} else {
 			// moving forward from combat stows weapon
 			nextanim = Animation::walk;




More information about the Scummvm-git-logs mailing list