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

Document Actor "Fidget Tables" #2287

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

Conversation

Feacur
Copy link
Contributor

@Feacur Feacur commented Nov 6, 2024

rename func_80034F54 -> MM's naming UpdateLimbOverrides, because:

  • 0x814 and 0x940 constants
  • *_OverrideLimbDraw functions association
  • respectively Actor_UpdateFidgetTables and .fidgetTable
  • introduce constants for "fidgeting" formulas (no variation throughout OoT and MM)

consequent changes:

  • move the constants into z64animation.h
  • use these constant for existing formulas
  • properly name corresponding actors' fields
  • add occasional explicit limbs limit constants
  • fix z_en_go.h fields naming (was as for skeletal animation)
P.S., as a side note: `*_OverrideLimbDraw` and `*_PostLimbDraw` functions look more like `*_PreProcessLimb` and `*_PostProcessLimb` to me so, is there a strong or any reason why they should be named as they are now?

my question comes from the following observations:

  • these functions does not draw anything
  • the latter can update colliders as a "post processing" step
  • synchronize transforms or other parameters
  • generally do anything for game logic

obviously, the change by itself would be meaningless, leave alone huge. it's just curiosity

new name: `UpdateLimbOverrides`
reason:
- `0x814` and `0x940` constants
- `*_OverrideLimbDraw` functions

additionally:
- move constants into `z64animation.h`
- use these constant for existing formulas
- properly name corresponding actors' fields
- add occasional explicit limbs limit constants
@fig02
Copy link
Collaborator

fig02 commented Nov 6, 2024

You should check out the Actor_UpdateFidgetTables documentation in Majoras Mask. Instead of a generic "update overrides", its a very specific type of override. It manually rotates certain bones in an actors model to give it an idle animation, where it looks like they are breathing or otherwise idling.

I dont personally agree with the naming direction MM went by calling it "fidgeting", and is why I personally have not ported these docs over to OoT. But do not think we should go in the direction of calling it generic "overrides" either.

@fig02
Copy link
Collaborator

fig02 commented Nov 6, 2024

Regarding override limb draw: It has its name because of the return value. It gives you the ability to override the display list for a given limb if the return value is true. But yes it is true that it runs before a given limb is drawn.

Copy link
Collaborator

@fig02 fig02 left a comment

Choose a reason for hiding this comment

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

In addition to the discord conversation about using MM's names, here are some other things

src/overlays/actors/ovl_En_Go/z_en_go.h Outdated Show resolved Hide resolved
src/overlays/actors/ovl_En_Ge1/z_en_ge1.c Outdated Show resolved Hide resolved
include/z64animation.h Outdated Show resolved Hide resolved
src/code/z_actor.c Outdated Show resolved Hide resolved
src/overlays/actors/ovl_En_Ta/z_en_ta.c Outdated Show resolved Hide resolved
* remove redundant comments
* move and rename `FIDGET_*` constants
* introduce a `FIDGET_SCALE` constant, as no other value is applied
src/code/z_actor.c Outdated Show resolved Hide resolved
Feacur and others added 4 commits November 7, 2024 11:12
Co-authored-by: mzxrules <mzxrules@gmail.com>
a continuation to the 2112632
automatic padding commpensates its absence
@fig02 fig02 changed the title Document "override limbs" functions, variables, constants Document Actor "Fidget Tables" Nov 12, 2024
include/z64actor.h Outdated Show resolved Hide resolved
src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c Outdated Show resolved Hide resolved
include/z64actor.h Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants