summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2023-11-03 13:11:20 -0600
committerKiritoDv <kiritodev01@gmail.com>2023-11-03 13:11:20 -0600
commitc1190b096c698a400a476eca403616a5cf4ebf94 (patch)
tree59b957bdd5f19532af063ddfec9e0401266c143a /src
parent2372e2fe903e86e455e1aaf0ced2a42042353c13 (diff)
Matched func_80C0E9CC
Diffstat (limited to 'src')
-rw-r--r--src/overlays/actors/ovl_En_Bsb/z_en_bsb.c45
1 files changed, 44 insertions, 1 deletions
diff --git a/src/overlays/actors/ovl_En_Bsb/z_en_bsb.c b/src/overlays/actors/ovl_En_Bsb/z_en_bsb.c
index 45fa36408..cb6733b88 100644
--- a/src/overlays/actors/ovl_En_Bsb/z_en_bsb.c
+++ b/src/overlays/actors/ovl_En_Bsb/z_en_bsb.c
@@ -991,7 +991,50 @@ void func_80C0E480(EnBsb* this, PlayState* play) {
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0E618.s")
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0E9CC.s")
+s32 func_80C0E9CC(EnBsb *this, PlayState *play) {
+ s32 sp24;
+
+ if (Cutscene_IsCueInChannel(play, 0x214U) != 0) {
+ sp24 = Cutscene_GetCueChannel(play, 0x214U);
+ if (this->unk_0296 != play->csCtx.actorCues[sp24]->id) {
+ if (this->unk_02B4 != 0xE) {
+ func_80C0E178(this);
+ }
+ switch (play->csCtx.actorCues[sp24]->id) {
+ case 1:
+ func_80C0B290(this, 0xD);
+ break;
+ case 2:
+ if ((this->unk_02D8 != 0xE) && (this->unk_02D8 != 0xF)) {
+ func_80C0B290(this, 0xE);
+ }
+ break;
+ case 3:
+ if ((this->unk_02D8 != 0x10) && (this->unk_02D8 != 0x11)) {
+ func_80C0B290(this, 0x10);
+ }
+ break;
+ case 4:
+ if ((this->unk_02D8 != 0x12) && (this->unk_02D8 != 0x13)) {
+ func_80C0B290(this, 0x12);
+ }
+ break;
+ case 5:
+ gSaveContext.save.saveInfo.weekEventReg[0x17] |= 4;
+ Actor_PlaySfx(&this->actor, 0x3AA9U);
+ break;
+ case 6:
+ Flags_SetSwitch(play, (s32) this->unk_02BA);
+ Actor_PlaySfx(&this->actor, 0x4823U);
+ break;
+ }
+ }
+ this->unk_0296 = (s16) play->csCtx.actorCues[sp24]->id;
+ Cutscene_ActorTranslateAndYaw(&this->actor, play, sp24);
+ return 1;
+ }
+ return 0;
+}
void EnBsb_Update(Actor* thisx, PlayState* play) {
EnBsb* this = THIS;