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

AndywinXp noreply at scummvm.org
Sun Sep 17 10:15:42 UTC 2023


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:
b3c72e00e8 SWORD1: Implement George's idle animation


Commit: b3c72e00e8b24a5dc1806847823870b7250b1694
    https://github.com/scummvm/scummvm/commit/b3c72e00e8b24a5dc1806847823870b7250b1694
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-09-17T12:15:36+02:00

Commit Message:
SWORD1: Implement George's idle animation

Thanks mikethev from the speedrunning community for the
heads up! How did we never notice this?! :D

Changed paths:
    engines/sword1/logic.cpp
    engines/sword1/sworddefs.h


diff --git a/engines/sword1/logic.cpp b/engines/sword1/logic.cpp
index 1aeccf89325..cb456c45a1d 100644
--- a/engines/sword1/logic.cpp
+++ b/engines/sword1/logic.cpp
@@ -980,7 +980,14 @@ int Logic::fnPlaySequence(Object *cpt, int32 id, int32 sequenceId, int32 d, int3
 
 int Logic::fnIdle(Object *cpt, int32 id, int32 c, int32 d, int32 e, int32 f, int32 z, int32 x) {
 	cpt->o_tree.o_script_level = 0; // force to level 0
-	cpt->o_logic = LOGIC_idle;
+
+	// George never idles, he just does rest anims (if in suitable pose)
+	if (id == GEORGE) {
+		fnNewScript(cpt, id, SCR_george_rest_anim_script, 0, 0, 0, 0, 0);
+	} else {
+		cpt->o_logic = LOGIC_idle;
+	}
+
 	return SCRIPT_STOP;
 }
 
diff --git a/engines/sword1/sworddefs.h b/engines/sword1/sworddefs.h
index bc6127e57d7..ecafdb9f4fa 100644
--- a/engines/sword1/sworddefs.h
+++ b/engines/sword1/sworddefs.h
@@ -1582,6 +1582,7 @@ enum ScriptVariableNames {
 #define SAND_25 1638407
 #define HOLDING_REPLICA_25 1638408
 #define GMASTER_79 5177345
+#define SCR_george_rest_anim_script (0 * 0x10000 + 1)
 #define SCR_std_off (0*0x10000 + 6)
 #define SCR_exit0 (0*0x10000 + 7)
 #define SCR_exit1 (0*0x10000 + 8)




More information about the Scummvm-git-logs mailing list