diff options
| author | balloondude2 <55861555+balloondude2@users.noreply.github.com> | 2024-06-24 18:46:58 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-24 20:46:58 -0400 |
| commit | 3ef3e7a2394a36ca00cf23cb0cd8abf617809084 (patch) | |
| tree | 13746f2f55e98f27e729c5161dc1787d4e791922 | |
| parent | a38b9daa6dbf30e8b3e39fb223e29a4531eb10c2 (diff) | |
[Enhancement] Fix Fierce Deity interactions with Bombers (#674)
* Allow FD to talk to Bomber Jim. Adds comments to unknown data.
* fd works with blue bombers and guard bomber
* clang format
4 files changed, 20 insertions, 8 deletions
diff --git a/mm/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c b/mm/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c index a67886832..229cce497 100644 --- a/mm/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c +++ b/mm/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c @@ -257,7 +257,11 @@ void func_80C039A8(EnBombers* this, PlayState* play) { this->actor.textId = 0x744; } break; - + // #region 2S2H - Enhancements. Fierce Deity gets same dialog as Human without notebook + case PLAYER_FORM_FIERCE_DEITY: + this->actor.textId = 0x73D; + break; + // #endregion default: break; } diff --git a/mm/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c b/mm/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c index 92444c961..9b59ec40f 100644 --- a/mm/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c +++ b/mm/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c @@ -165,6 +165,9 @@ void func_80C04BA0(EnBombers2* this, PlayState* play) { player = GET_PLAYER(play); switch (player->transformation) { + // #region 2S2H - Enhancements. Fierce Deity gets same dialog as Goron and Zora + case PLAYER_FORM_FIERCE_DEITY: + // #endregion case PLAYER_FORM_GORON: case PLAYER_FORM_ZORA: this->textIdIndex = 1; @@ -233,6 +236,9 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) { this->unk_28E = -0xFA0; break; + // #region 2S2H - Enhancements. Fierce Deity. + case PLAYER_FORM_FIERCE_DEITY: + // #endregion case PLAYER_FORM_GORON: case PLAYER_FORM_ZORA: this->unk_28E = -0x1770; diff --git a/mm/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c b/mm/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c index 4976e7822..891e0741d 100644 --- a/mm/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c +++ b/mm/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c @@ -84,19 +84,19 @@ static ColliderCylinderInit sCylinderInit = { { 10, 30, 0, { 0, 0, 0 } }, }; -u16 D_80C00A44[] = { 0x719, 0x71A, 0x71B, 0x708 }; +u16 D_80C00A44[] = { 0x719, 0x71A, 0x71B, 0x708 }; // text IDs before popping balloon -u16 D_80C00A4C[] = { 0x739, 0x73A, 0x73B, 0x000 }; +u16 D_80C00A4C[] = { 0x739, 0x73A, 0x73B, 0x000 }; // text IDs after popping balloon u16 D_80C00A54[] = { 0x739, 0x73A, 0x73B, 0x714, 0x709, 0x70A, 0x70B, 0x70C, 0x70D, 0x70E, 0x70F, 0x712, 0x713, -}; +}; // text IDs for Deku after popping balloon u16 D_80C00A70[] = { 0x739, 0x73A, 0x73B, 0x759, 0x753, 0x754, 0x755, 0x756, 0x70D, 0x757, 0x758, 0x712, 0x713, -}; +}; // text IDs for Human after popping balloon -u16 D_80C00A8C[] = { 0x736, 0x737, 0x738, 0x74E }; +u16 D_80C00A8C[] = { 0x736, 0x737, 0x738, 0x74E }; // text IDs after hide and seek typedef enum { /* -1 */ ENBOMJIMA_ANIM_NONE = -1, @@ -225,9 +225,11 @@ void func_80BFE32C(EnBomjima* this, PlayState* play, s32 arg2) { if (player->transformation == PLAYER_FORM_GORON) { this->unk_2C8 = 1; } - if (player->transformation == PLAYER_FORM_ZORA) { + // #region 2S2H - Enhancements. Fierce Deity gets same dialog as Zora + if (player->transformation == PLAYER_FORM_ZORA || player->transformation == PLAYER_FORM_FIERCE_DEITY) { this->unk_2C8 = 2; } + // #endregion switch (this->unk_2CA) { case 0: diff --git a/mm/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.h b/mm/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.h index 15b4b10fb..f288b70c1 100644 --- a/mm/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.h +++ b/mm/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.h @@ -37,7 +37,7 @@ typedef struct EnBomjima { /* 0x2C2 */ s16 unk_2C2; /* 0x2C4 */ s16 cutsceneTimer; /* 0x2C6 */ s16 unk_2C6; - /* 0x2C8 */ s16 unk_2C8; + /* 0x2C8 */ s16 unk_2C8; //index into arrays of textIDs /* 0x2CA */ s16 unk_2CA; /* 0x2CC */ f32 animEndFrame; /* 0x2D0 */ f32 unk_2D0; |
