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

perfectly preserve animation data on export #105

Open
ScanMountGoat opened this issue Nov 12, 2021 · 0 comments
Open

perfectly preserve animation data on export #105

ScanMountGoat opened this issue Nov 12, 2021 · 0 comments
Labels
question Further information is requested

Comments

@ScanMountGoat
Copy link
Member

ScanMountGoat commented Nov 12, 2021

Anim files after version 2.0 use lossy compression for certain tracks, which can cause desyncs in some games when used online if one the player's files is slightly modified. It's unclear if there is a reasonable way to achieve this given the current API design. ssbh_data considers anim compression settings to be an implementation detail, so ssbh_data_py also has no way of producing binary identical output.

It's unclear if the issue is the output not being binary identical or compressing at a lower quality setting than the original. It's possible to compute the error as a function of min, max, and bit_count. This function is not well behaved across its range of inputs, so there's no straightforward way to determine the optimal compression setting.

While not guaranteed, the compression <-> decompression process is 1:1 for floats in practice. This could be doable if the original compression settings were preserved. Attempts to modify the data would potentially require recalculating the correct compression settings.

@ScanMountGoat ScanMountGoat added the question Further information is requested label Nov 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant