Was just playing around with the animate sim primitive in The Sims 1, here's what I found:
- The false branch is only ever called when an event is played. The false branch is never used for animations with no events (but you should loop it back just to make sure)! I tested this by making it play a sound when called.
- The false branch can idle completely legally, with
no effect to the animation speed.
- This means the animation does not only progress when looped back to, like Darren thought.
- After starting the animation, the Animate Sim primitive
acts as an event listener. A false branch looping back to it will resume event listening, however if the false branch executes over multiple ticks events in these events
can be skipped, as upon looping back to the animate sim primitive it will instantly return false and set the parameter specified to the latest event (not any previous ones). Not entirely sure about this, since I haven't found any animations where I can make it play catchup yet.
- If a false branch is called that waits a very long time before looping back and the animation ends, the true branch
will not be called until the loopback completes. When I set the aquarium feed event to call a wait of 3000 ticks, upon using it Betty was stuck in a perpetual hell where she was unable to move a muscle until the animation completed:
- The expected events counter still seems completely useless. It was set to 0 and the event still called multiple times.