-
Notifications
You must be signed in to change notification settings - Fork 647
Document EnGo and EnGo2 functions, fields, and animations
#2295
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
base: main
Are you sure you want to change the base?
Conversation
- `callback1_80A3ED24` is `NpcGetTextIdFunc` - `callback2_80A3ED24` is `NpcUpdateTalkStateFunc`
reason: `EnGo2_EyeMouthTexState` code analogy
returns are indeed required to match
partially they already were there
and `func_80A45360` as `EnGo2_UpdateShadowAlpha`
771e39d to
423748a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I plan to review go2 on its own shortly. I would rather review the actor thats actually used, and then port over any similarities to go after the fact.
For now, here is one comment about the function named in z_actor. I would kinda prefer docs for this function happen in a separate PR, personally.
|
|
||
| if (DECR(this->unk_590)) { | ||
| if (!arg3) { | ||
| // rumble on odds and evens |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does this comment mean?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tried to describe that this block is used for animation and create slight shaking, as if a stone is rolling on an uneven surface. changed the comment to
// animate grounded shaking
| void EnGo2_WakingUp(EnGo2* this) { | ||
| f32 xyzDist = PARAMS_GET_S(this->actor.params, 0, 5) == GORON_DMT_BIGGORON ? 800.0f : 200.0f; | ||
| void EnGo2_SetupUncurledFlags_NearTracking(EnGo2* this) { | ||
| // always false, he wakes up with `EnGo2_SetupUncurledFlags_Biggoron` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
who is "he" ?
Why does the comment mention biggoron when this function is apparently used for fire-generic-gorons and Link-goron ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
because this line checks for GORON_DMT_BIGGORON. changed it for
// always false: this functions if for `GORON_FIRE_GENERIC` and `GORON_CITY_LINK`
// see `EnGo2_SetupUncurledFlags_Biggoron` for `GORON_DMT_BIGGORON`'s variant
additonally:
func_8002F368asPlayer_GetExchangeItemIdEn_Goas unused (which is also stated in the web too)EnGo2_StopRollingwith a switchEnGo2_RollingSlowwith a switchEnGo2_UpdateTalkingwith separate ifs (couldn't do any better)