mirror of
https://github.com/zeldaret/mm.git
synced 2026-05-23 06:54:14 -04:00
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user