Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a reference for the 25 ms ACT frame time #115

Merged
merged 1 commit into from
Mar 18, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/rendering/animation-systems.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,13 @@ FrameDisplayTimeInMilliseconds = AnimationClip.FrameTimeInIntervals * 25;
Before diving into the accuracy of this estimate (_spoiler alert - it's slightly off_), some questions immediately spring to mind:

- Why is the frame time given in "intervals" (as ACT editor calls them) in the first place?
- Where does the 25 ms time value that has so far been used by the community actually come from?
- Where does the 25 ms time value that has so far been used by the community actually come from? [^1]
- Is it at all correct, and is there a way to precisely measure sprite animation times to verify/disprove this?

The following sections attempt to answer these questions, as far as is realistically possible.

[^1]: The earliest known source appears to be [an earlier specification of the ACT format](https://web.archive.org/web/20200220130616/http://mist.in/gratia/ro/spr/ActFileFormatFix.html), which indicates a tool called actOR

### Animation State Updates

In order to answer the first question, a bit of guesswork is needed. There's of course no way of telling for sure why this peculiar unit of measurement was chosen by the game's developers. But knowing a bit about the different animation systems in the client, a likely explanation is that sprite animations use a different mechanism altogether (e.g., clock-based state machines).
Expand Down
Loading