-
Notifications
You must be signed in to change notification settings - Fork 615
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 EnGo
and EnGo2
functions, fields, and animations
#2295
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`
an "ammendment" for 57951ed somehow haven't saved the changes that time
ok, got all current conversations fixed; thank you! also added a better actor params decription for each of the goron entities. |
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 (!(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) || this->actor.velocity.y > 0.0f) { | ||
return false; | ||
} | ||
|
||
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_8002F368
asPlayer_GetExchangeItemId
En_Go
as unused (which is also stated in the web too)EnGo2_StopRolling
with a switchEnGo2_RollingSlow
with a switchEnGo2_UpdateTalking
with separate ifs (couldn't do any better)