Document Actor_TalkOfferAccepted (#1502)

* rename

* PR Review
This commit is contained in:
engineer124
2023-11-21 12:36:02 +11:00
committed by GitHub
parent 28706d798d
commit 0e441520cc
154 changed files with 376 additions and 365 deletions
+2 -2
View File
@@ -87,7 +87,7 @@ void func_80952734(EnMs* this, PlayState* play) {
this->actor.textId = 0x932;
}
if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) {
if (Actor_TalkOfferAccepted(&this->actor, &play->state) != 0) {
this->actionFunc = func_809527F8;
return;
}
@@ -112,7 +112,7 @@ void func_809529AC(EnMs* this, PlayState* play) {
}
void func_80952A1C(EnMs* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
if (Actor_TalkOfferAccepted(&this->actor, &play->state)) {
Message_ContinueTextbox(play, 0x936U);
this->actionFunc = func_809527F8;
} else {
+3 -3
View File
@@ -134,7 +134,7 @@ void func_80C1019C(EnRecepgirl* this, PlayState* play) {
}
}
if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) {
if (Actor_TalkOfferAccepted(&this->actor, &play->state) != 0) {
func_80C10290(this);
} else if (Actor_IsFacingPlayer(&this->actor, 0x2000)) {
Actor_OfferTalk(&this->actor, play, 60.0f);
@@ -470,7 +470,7 @@ void func_80C1019C(EnRecepgirl* this, PlayState* play) {
}
}
if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) {
if (Actor_TalkOfferAccepted(&this->actor, &play->state) != 0) {
func_80C10290(this);
} else if (Actor_IsFacingPlayer(&this->actor, 0x2000)) {
Actor_OfferTalk(&this->actor, play, 60.0f);
@@ -540,7 +540,7 @@ void func_80C102D4(EnRecepgirl* this, PlayState* play) {
}
}
```
All this branching is to make the conversation look more diverse and interesting. Notably, though, `func_80C1019C` is set to start with, and is only changed when `Actor_ProcessTalkRequest(&this->actor, &play->state) != 0`. This is something to do with talking. The other function handles the rest of the conversation, and hands back to the first if `Message_GetState(&play->msgCtx) == 2`. This function is *something* to do with the text state, which will require `z_message` to be decomped. However, observation in-game will reveal this is something to do with ending dialogue. So we can conclude that the action functions are `EnRecepgirl_Wait` and `EnRecepgirl_Talk`. The setup functions are thus `EnRecepgirl_SetupWait` and `EnRecepgirl_SetupTalk`.
All this branching is to make the conversation look more diverse and interesting. Notably, though, `func_80C1019C` is set to start with, and is only changed when `Actor_TalkOfferAccepted(&this->actor, &play->state) != 0`. This is something to do with talking. The other function handles the rest of the conversation, and hands back to the first if `Message_GetState(&play->msgCtx) == 2`. This function is *something* to do with the text state, which will require `z_message` to be decomped. However, observation in-game will reveal this is something to do with ending dialogue. So we can conclude that the action functions are `EnRecepgirl_Wait` and `EnRecepgirl_Talk`. The setup functions are thus `EnRecepgirl_SetupWait` and `EnRecepgirl_SetupTalk`.
For more complex actors, we have a tool called `graphovl.py` that can produce function flow graphs for actors: running
+3 -3
View File
@@ -130,7 +130,7 @@ void func_80C1019C(EnRecepgirl* this, PlayState* play) {
Animation_ChangeTransitionRepeat(temp_a0, &D_06009890, -4.0f);
}
}
if (Actor_ProcessTalkRequest((Actor *) this, play) != 0) {
if (Actor_TalkOfferAccepted((Actor *) this, play) != 0) {
func_80C10290(this);
return;
}
@@ -185,7 +185,7 @@ void func_80C1019C(EnRecepgirl* this, PlayState* play) {
Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, -4.0f);
}
}
if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) {
if (Actor_TalkOfferAccepted(&this->actor, &play->state) != 0) {
func_80C10290(this);
return;
}
@@ -223,7 +223,7 @@ void func_80C1019C(EnRecepgirl* this, PlayState* play) {
}
}
if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) {
if (Actor_TalkOfferAccepted(&this->actor, &play->state) != 0) {
func_80C10290(this);
} else if (Actor_IsFacingPlayer(&this->actor, 0x2000)) {
Actor_OfferTalk(&this->actor, play, 60.0f);