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

[SM64] Animations Rewrite/Rework #467

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

Lilaa3
Copy link
Collaborator

@Lilaa3 Lilaa3 commented Sep 30, 2024

Wouldn't it be funny if this was approved, just like, instantly
Based on prs: #449 , #393, #450

Fully rewriten animation exporter and importer, with some code I'm proud of and some code I probably kept from a year ago (be harsh as needed)

  • Redisigned to work with the combined exporter (unintentionally)
  • Support for everything and anything vanilla can do, all previous features and workflow carried over as best as possible without decreasing features for users who want everything
  • Supports C, binary and insertable binary for both imports and exports
  • Brand new workflow with table exports now being an (the default) option
  • DMA animations are now not a pain in the ass for either binary or C (you're welcome everyone that asked me to do it) (binary reimports the DMA table and exports with the new action, reordering everything that needs to be reordered and compressing)
  • All flags supported + custom, now per action
  • Enums (A bit proud of how well those work)
  • Multiple header (variant) animations
  • References (for animation data and table elements)
  • Easily replace vanilla animations
  • Binary now uses a behavior address with presets instead of animate and load command addresses
  • Custom loop points (start frame works wha!)
  • Quick data read for simple rigs (read from f-curve)
  • A lot of little quality of life improvements

anim_test_impor_allt_script.py for testing all import presets

TODO (up for review because code is "done" (as in if I keep trying to find issues on my own for the next months I'll cry)):

  • Finish docs

@SonicTheHedgeHog64
Copy link
Contributor

SonicTheHedgeHog64 commented Oct 1, 2024

import c animations actually fucking work, i worship lila from now on, W Lila

@Lilaa3 Lilaa3 added enhancement New feature or request test please Ask that some other Fast64 dev tests the feature/... sm64 Has to do with the Super Mario 64 side codebase Code maintenance/cleanup labels Oct 1, 2024
Copy link
Contributor

@SonicTheHedgeHog64 SonicTheHedgeHog64 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Animation I/O works from C to Binary and the false bounds detection works

@Dragorn421
Copy link
Contributor

You mention this is based on other PRs, so are these other PRs to be merged first?

Copy link
Contributor

@YoshiMilkman YoshiMilkman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works great. Been using it for DMA animation exporting with a custom Mario rig. Nothing else in Fast64 seems broken. Been using for a few weeks now.

@Lilaa3
Copy link
Collaborator Author

Lilaa3 commented Oct 14, 2024

You mention this is based on other PRs, so are these other PRs to be merged first?

Ideally, obviously no pressure since the smart includes pr is niche, i just incorporated it for the simple actor include write function (oh and the useful functions for the table update function!)

@Lilaa3
Copy link
Collaborator Author

Lilaa3 commented Oct 14, 2024

Also worth mentioning that I could always remove non animation data from the actor presets until we actually use them, I just thought scut would benifit from them in her importer pr #198
Test script uses them tho since it imports all animated actors' geolayouts and animations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
codebase Code maintenance/cleanup enhancement New feature or request sm64 Has to do with the Super Mario 64 side test please Ask that some other Fast64 dev tests the feature/...
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants