+#include "animation.hxx"
+
+static int
+personality_pretrav_callback(ssgEntity * entity, int mask)
+{
+ ((SGPersonalityBranch *)entity)->_old_current = SGAnimation::current_object;
+ SGAnimation::current_object = (SGPersonalityBranch *)entity;
+ return 1;
+}
+
+static int
+personality_posttrav_callback(ssgEntity * entity, int mask)
+{
+ SGAnimation::current_object = ((SGPersonalityBranch *)entity)->_old_current;
+ ((SGPersonalityBranch *)entity)->_old_current = 0;
+ return 1;
+}
+
+SGPersonalityBranch::SGPersonalityBranch()
+{
+ setTravCallback(SSG_CALLBACK_PRETRAV, personality_pretrav_callback);
+ setTravCallback(SSG_CALLBACK_POSTTRAV, personality_posttrav_callback);
+}