From 354a8637e1f0eba371ec39b135e1e09f7b7bfb93 Mon Sep 17 00:00:00 2001 From: Jordan Longstaff Date: Sun, 26 Apr 2026 09:59:30 -0400 Subject: [PATCH] Bombers Part 2: Guard (#1848) * Bombers Part 2: Guard * Fix errors * Re-rename functions --- include/z64save.h | 2 +- src/code/z_elf_message.c | 2 +- .../actors/ovl_En_Bombers2/z_en_bombers2.c | 161 +++++++++--------- .../actors/ovl_En_Bombers2/z_en_bombers2.h | 20 +-- tools/disasm/n64-jp-1.1/functions.txt | 12 +- tools/disasm/n64-jp-1.1/variables.txt | 2 +- tools/disasm/n64-us/functions.txt | 12 +- tools/overlayhelpers/mscriptdis.py | 2 +- tools/weekeventregconvert.py | 2 +- 9 files changed, 110 insertions(+), 105 deletions(-) diff --git a/include/z64save.h b/include/z64save.h index cf4ca90bc7..e13af81530 100644 --- a/include/z64save.h +++ b/include/z64save.h @@ -1452,7 +1452,7 @@ typedef enum { #define WEEKEVENTREG_85_80 PACK_WEEKEVENTREG_FLAG(85, 0x80) #define WEEKEVENTREG_86_01 PACK_WEEKEVENTREG_FLAG(86, 0x01) -#define WEEKEVENTREG_86_02 PACK_WEEKEVENTREG_FLAG(86, 0x02) +#define WEEKEVENTREG_TALKED_TO_BOMBERS_GUARD PACK_WEEKEVENTREG_FLAG(86, 0x02) #define WEEKEVENTREG_86_04 PACK_WEEKEVENTREG_FLAG(86, 0x04) #define WEEKEVENTREG_LISTENED_ANJU_POSTMAN_CONVERSATION PACK_WEEKEVENTREG_FLAG(86, 0x08) #define WEEKEVENTREG_86_10 PACK_WEEKEVENTREG_FLAG(86, 0x10) diff --git a/src/code/z_elf_message.c b/src/code/z_elf_message.c index cd486a8a41..22b99a30cb 100644 --- a/src/code/z_elf_message.c +++ b/src/code/z_elf_message.c @@ -90,7 +90,7 @@ u16 QuestHint_GetTatlTextId(PlayState* play) { return 0x241; } - if (CHECK_WEEKEVENTREG(WEEKEVENTREG_86_02) || CHECK_WEEKEVENTREG(WEEKEVENTREG_73_40)) { + if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_TO_BOMBERS_GUARD) || CHECK_WEEKEVENTREG(WEEKEVENTREG_73_40)) { return 0x23F; } diff --git a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c index e5c15c55c0..b51c1e2af9 100644 --- a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c +++ b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c @@ -6,6 +6,12 @@ #include "z_en_bombers2.h" +typedef enum { + /* 0 */ ENBOMBERS2_ACTION_WAITING, + /* 1 */ ENBOMBERS2_ACTION_TALKING, + /* 2 */ ENBOMBERS2_ACTION_WALKING +} EnBombers2Action; + #define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY) void EnBombers2_Init(Actor* thisx, PlayState* play); @@ -13,12 +19,12 @@ void EnBombers2_Destroy(Actor* thisx, PlayState* play); void EnBombers2_Update(Actor* thisx, PlayState* play); void EnBombers2_Draw(Actor* thisx, PlayState* play); -void func_80C04BA0(EnBombers2* this, PlayState* play); -void func_80C04D8C(EnBombers2* this, PlayState* play); -void func_80C0520C(EnBombers2* this, PlayState* play); -void func_80C04B40(EnBombers2* this); -void func_80C04D00(EnBombers2* this); -void func_80C050B8(EnBombers2* this, PlayState* play); +void EnBombers2_AwaitTalk(EnBombers2* this, PlayState* play); +void EnBombers2_Talking(EnBombers2* this, PlayState* play); +void EnBombers2_Walking(EnBombers2* this, PlayState* play); +void EnBombers2_SetupAwaitTalk(EnBombers2* this); +void EnBombers2_SetupTalking(EnBombers2* this); +void EnBombers2_StartWalking(EnBombers2* this, PlayState* play); ActorProfile En_Bombers2_Profile = { /**/ ACTOR_EN_BOMBERS2, @@ -118,14 +124,14 @@ void EnBombers2_Init(Actor* thisx, PlayState* play) { (gSaveContext.save.entrance == ENTRANCE(EAST_CLOCK_TOWN, 2))) { this->actor.world.pos.x += Math_SinS(this->actor.home.rot.y + 0xC100) * 50.0f; cos = Math_CosS(this->actor.home.rot.y + 0xC100) * 50.0f; - this->unk_2AC = true; + this->hasMovedAside = true; this->actor.world.pos.z += cos; } this->csId = this->actor.csId; if (this->csId == 0) { Actor_Kill(&this->actor); } - func_80C04B40(this); + EnBombers2_SetupAwaitTalk(this); } void EnBombers2_Destroy(Actor* thisx, PlayState* play) { @@ -144,17 +150,17 @@ void EnBombers2_ChangeAnim(EnBombers2* this, s32 animIndex, f32 playSpeed) { sAnimationModes[this->animIndex], -10.0f); } -void func_80C04B40(EnBombers2* this) { - if (!this->unk_2AC) { +void EnBombers2_SetupAwaitTalk(EnBombers2* this) { + if (!this->hasMovedAside) { EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_TAUNT, 1.0f); } else { EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_IDLE, 1.0f); } - this->unk_2C0 = 0; - this->actionFunc = func_80C04BA0; + this->action = ENBOMBERS2_ACTION_WAITING; + this->actionFunc = EnBombers2_AwaitTalk; } -void func_80C04BA0(EnBombers2* this, PlayState* play) { +void EnBombers2_AwaitTalk(EnBombers2* this, PlayState* play) { s32 yawDiffAbs; s16 yawDiff; Player* player; @@ -179,7 +185,7 @@ void func_80C04BA0(EnBombers2* this, PlayState* play) { default: break; } - if (this->unk_2AC) { + if (this->hasMovedAside) { this->textIdIndex = 7; } this->actor.textId = sTextIds[this->textIdIndex]; @@ -189,9 +195,9 @@ void func_80C04BA0(EnBombers2* this, PlayState* play) { } if (Actor_TalkOfferAccepted(&this->actor, &play->state)) { - this->unk_2B6 = this->actor.world.rot.y; - SET_WEEKEVENTREG(WEEKEVENTREG_86_02); - func_80C04D00(this); + this->bodyRotTargetAngle = this->actor.world.rot.y; + SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_TO_BOMBERS_GUARD); + EnBombers2_SetupTalking(this); return; } if (yawDiffAbs < 0x3BB5) { @@ -199,42 +205,42 @@ void func_80C04BA0(EnBombers2* this, PlayState* play) { } } -void func_80C04D00(EnBombers2* this) { +void EnBombers2_SetupTalking(EnBombers2* this) { if ((this->textIdIndex == 0) || (this->textIdIndex == 1)) { EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_ARM_SWIPE, 1.0f); } else { EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_TALK_HANDS_ON_HIPS, 1.0f); } - this->unk_2A8 = 0; - if (this->unk_2AC) { + this->animPhase = 0; + if (this->hasMovedAside) { EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_SALUTE, 1.0f); } - this->unk_2C0 = 1; - this->actionFunc = func_80C04D8C; + this->action = ENBOMBERS2_ACTION_TALKING; + this->actionFunc = EnBombers2_Talking; } -void func_80C04D8C(EnBombers2* this, PlayState* play) { +void EnBombers2_Talking(EnBombers2* this, PlayState* play) { Player* player = GET_PLAYER(play); f32 curFrame = this->skelAnime.curFrame; - if (!this->unk_2AC && (curFrame >= this->lastAnimFrame)) { - if (!(this->unk_2A8 & 1)) { + if (!this->hasMovedAside && (curFrame >= this->lastAnimFrame)) { + if (!(this->animPhase & 1)) { EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_TALK_HANDS_ON_HIPS, 1.0f); } else { EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_ARM_SWIPE, 1.0f); } - this->unk_2A8++; - this->unk_2A8 &= 1; + this->animPhase++; + this->animPhase &= 1; } switch (player->transformation) { case PLAYER_FORM_HUMAN: - this->unk_28E = -0xFA0; + this->headRotTargetZ = -0xFA0; break; case PLAYER_FORM_GORON: case PLAYER_FORM_ZORA: - this->unk_28E = -0x1770; + this->headRotTargetZ = -0x1770; break; default: @@ -267,9 +273,9 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) { } } if (Text_GetFaceReaction(play, FACE_REACTION_SET_BOMBERS_HIDEOUT_GUARD) != 0) { - this->unk_28E = 0; + this->headRotTargetZ = 0; Message_CloseTextbox(play); - func_80C04B40(this); + EnBombers2_SetupAwaitTalk(this); } else { s32 j; @@ -278,9 +284,9 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) { case 1: case 5: case 7: - this->unk_28E = 0; + this->headRotTargetZ = 0; Message_CloseTextbox(play); - func_80C04B40(this); + EnBombers2_SetupAwaitTalk(this); break; case 2: @@ -310,7 +316,7 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) { case 6: play->msgCtx.msgLength = 0; - func_80C050B8(this, play); + EnBombers2_StartWalking(this, play); break; default: @@ -320,28 +326,28 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) { } } -void func_80C050B8(EnBombers2* this, PlayState* play) { +void EnBombers2_StartWalking(EnBombers2* this, PlayState* play) { Player* player = GET_PLAYER(play); s16 homeYawToPlayer; EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_WALK, 1.0f); - this->unk_2A8 = 0; + this->animPhase = 0; homeYawToPlayer = Math_Vec3f_Yaw(&this->actor.home.pos, &player->actor.world.pos); - Math_Vec3f_Copy(&this->unk_29C, &this->actor.world.pos); + Math_Vec3f_Copy(&this->walkTarget, &this->actor.world.pos); if (this->actor.home.rot.y < homeYawToPlayer) { - this->unk_29C.x += Math_SinS(this->actor.home.rot.y + 0xC100) * 50.0f; - this->unk_29C.z += Math_CosS(this->actor.home.rot.y + 0xC100) * 50.0f; + this->walkTarget.x += Math_SinS(this->actor.home.rot.y + 0xC100) * 50.0f; + this->walkTarget.z += Math_CosS(this->actor.home.rot.y + 0xC100) * 50.0f; } else { - this->unk_29C.x += Math_SinS(this->actor.home.rot.y + 0x3F00) * 50.0f; - this->unk_29C.z += Math_CosS(this->actor.home.rot.y + 0x3F00) * 50.0f; + this->walkTarget.x += Math_SinS(this->actor.home.rot.y + 0x3F00) * 50.0f; + this->walkTarget.z += Math_CosS(this->actor.home.rot.y + 0x3F00) * 50.0f; } - this->unk_2B6 = Math_Vec3f_Yaw(&this->actor.home.pos, &this->unk_29C); - this->unk_2C0 = 2; - this->actionFunc = func_80C0520C; + this->bodyRotTargetAngle = Math_Vec3f_Yaw(&this->actor.home.pos, &this->walkTarget); + this->action = ENBOMBERS2_ACTION_WALKING; + this->actionFunc = EnBombers2_Walking; } -void func_80C0520C(EnBombers2* this, PlayState* play) { - if (this->unk_2A8 == 0) { +void EnBombers2_Walking(EnBombers2* this, PlayState* play) { + if (this->animPhase == 0) { if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) { CutsceneManager_Stop(CS_ID_GLOBAL_TALK); CutsceneManager_Queue(this->csId); @@ -349,31 +355,31 @@ void func_80C0520C(EnBombers2* this, PlayState* play) { CutsceneManager_Queue(this->csId); } else { CutsceneManager_StartWithPlayerCs(this->csId, &this->actor); - this->unk_2A8 = 1; + this->animPhase = 1; } } else { - Math_SmoothStepToS(&this->actor.world.rot.y, this->unk_2B6, 1, 0xBB8, 0); - if ((fabsf(this->unk_29C.x - this->actor.world.pos.x) < 3.0f) && - (fabsf(this->unk_29C.z - this->actor.world.pos.z) < 3.0f)) { - this->unk_2B6 = this->actor.yawTowardsPlayer; + Math_SmoothStepToS(&this->actor.world.rot.y, this->bodyRotTargetAngle, 1, 0xBB8, 0); + if ((fabsf(this->walkTarget.x - this->actor.world.pos.x) < 3.0f) && + (fabsf(this->walkTarget.z - this->actor.world.pos.z) < 3.0f)) { + this->bodyRotTargetAngle = this->actor.yawTowardsPlayer; this->actor.speed = 0.0f; if (fabsf(this->actor.world.rot.y - this->actor.yawTowardsPlayer) < 100.0f) { Message_CloseTextbox(play); this->talkState = TEXT_STATE_EVENT; this->textIdIndex = 7; EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_SALUTE, 1.0f); - this->unk_2A8 = 0; - this->unk_2C0 = 1; + this->animPhase = 0; + this->action = ENBOMBERS2_ACTION_TALKING; SET_WEEKEVENTREG(WEEKEVENTREG_ENTERED_BOMBERS_CODE); CutsceneManager_Stop(this->csId); - this->unk_2AC = true; + this->hasMovedAside = true; this->actor.textId = sTextIds[this->textIdIndex]; Message_StartTextbox(play, this->actor.textId, &this->actor); - this->actionFunc = func_80C04D8C; + this->actionFunc = EnBombers2_Talking; } } else { - Math_ApproachF(&this->actor.world.pos.x, this->unk_29C.x, 0.3f, 1.0f); - Math_ApproachF(&this->actor.world.pos.z, this->unk_29C.z, 0.3f, 1.0f); + Math_ApproachF(&this->actor.world.pos.x, this->walkTarget.x, 0.3f, 1.0f); + Math_ApproachF(&this->actor.world.pos.z, this->walkTarget.z, 0.3f, 1.0f); } } } @@ -381,7 +387,7 @@ void func_80C0520C(EnBombers2* this, PlayState* play) { void EnBombers2_Update(Actor* thisx, PlayState* play) { s32 pad; EnBombers2* this = (EnBombers2*)thisx; - Vec3f sp34; + Vec3f tempPos; s32 yawDiffAbs; SkelAnime_Update(&this->skelAnime); @@ -394,16 +400,15 @@ void EnBombers2_Update(Actor* thisx, PlayState* play) { Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK); } this->actor.shape.rot.y = this->actor.world.rot.y; - if (this->unk_2C0 != 2) { - + if (this->action != ENBOMBERS2_ACTION_WALKING) { yawDiffAbs = ABS_ALT((s16)(this->actor.yawTowardsPlayer - this->actor.world.rot.y)); - this->unk_290 = 0; + this->headRotTargetX = 0; if (yawDiffAbs < 0x3A98) { - this->unk_290 = this->actor.yawTowardsPlayer - this->actor.world.rot.y; - if (this->unk_290 >= 0x2711) { - this->unk_290 = 0x2710; - } else if (this->unk_290 < -0x2710) { - this->unk_290 = -0x2710; + this->headRotTargetX = this->actor.yawTowardsPlayer - this->actor.world.rot.y; + if (this->headRotTargetX >= 0x2711) { + this->headRotTargetX = 0x2710; + } else if (this->headRotTargetX < -0x2710) { + this->headRotTargetX = -0x2710; } } } @@ -411,19 +416,19 @@ void EnBombers2_Update(Actor* thisx, PlayState* play) { Actor_SetScale(&this->actor, 0.008f); this->actionFunc(this, play); Actor_MoveWithGravity(&this->actor); - Math_SmoothStepToS(&this->unk_28A, this->unk_290, 1, 0xBB8, 0); - Math_SmoothStepToS(&this->unk_288, this->unk_28E, 1, 0xBB8, 0); - if (this->unk_2BE == 0) { + Math_SmoothStepToS(&this->headRotX, this->headRotTargetX, 1, 0xBB8, 0); + Math_SmoothStepToS(&this->headRotZ, this->headRotTargetZ, 1, 0xBB8, 0); + if (this->blinkTimer == 0) { this->eyeIndex += 1; if (this->eyeIndex >= 3) { this->eyeIndex = 0; - this->unk_2BE = TRUNCF_BINANG(Rand_ZeroFloat(60.0f)) + 0x14; + this->blinkTimer = TRUNCF_BINANG(Rand_ZeroFloat(60.0f)) + 0x14; } } - Math_Vec3f_Copy(&sp34, &this->actor.world.pos); - if (!this->unk_2AC) { - this->actor.world.pos.x = sp34.x + Math_SinS(this->actor.world.rot.y + 0x8000) * 26.0f; - this->actor.world.pos.z = sp34.z + Math_CosS(this->actor.world.rot.y + 0x8000) * 26.0f; + Math_Vec3f_Copy(&tempPos, &this->actor.world.pos); + if (!this->hasMovedAside) { + this->actor.world.pos.x = tempPos.x + Math_SinS(this->actor.world.rot.y + 0x8000) * 26.0f; + this->actor.world.pos.z = tempPos.z + Math_CosS(this->actor.world.rot.y + 0x8000) * 26.0f; this->collider.dim.radius = 35; this->collider.dim.height = 30; } else { @@ -432,12 +437,12 @@ void EnBombers2_Update(Actor* thisx, PlayState* play) { } Collider_UpdateCylinder(&this->actor, &this->collider); CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base); - if (!this->unk_2AC) { + if (!this->hasMovedAside) { Actor_UpdateBgCheckInfo(play, &this->actor, 20.0f, 20.0f, 50.0f, UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4 | UPDBGCHECKINFO_FLAG_8 | UPDBGCHECKINFO_FLAG_10); } - Math_Vec3f_Copy(&this->actor.world.pos, &sp34); + Math_Vec3f_Copy(&this->actor.world.pos, &tempPos); } s32 EnBombers2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { @@ -447,8 +452,8 @@ s32 EnBombers2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec rot->x += this->unk_296; } if (limbIndex == OBJECT_CS_LIMB_11) { - rot->x += this->unk_28A; - rot->z += this->unk_288; + rot->x += this->headRotX; + rot->z += this->headRotZ; } if ((limbIndex == OBJECT_CS_LIMB_0F) || (limbIndex == OBJECT_CS_LIMB_13) || (limbIndex == OBJECT_CS_LIMB_14)) { *dList = NULL; diff --git a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.h b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.h index 438ee827f3..b15f7029a5 100644 --- a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.h +++ b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.h @@ -14,26 +14,26 @@ typedef struct EnBombers2 { /* 0x188 */ Vec3s jointTable[OBJECT_CS_LIMB_MAX]; /* 0x206 */ Vec3s morphTable[OBJECT_CS_LIMB_MAX]; /* 0x284 */ EnBombers2ActionFunc actionFunc; - /* 0x288 */ s16 unk_288; - /* 0x28A */ s16 unk_28A; + /* 0x288 */ s16 headRotZ; + /* 0x28A */ s16 headRotX; /* 0x28C */ UNK_TYPE1 pad_28C[2]; - /* 0x28E */ s16 unk_28E; - /* 0x290 */ s16 unk_290; + /* 0x28E */ s16 headRotTargetZ; + /* 0x290 */ s16 headRotTargetX; /* 0x292 */ UNK_TYPE1 pad_292[4]; /* 0x296 */ s16 unk_296; /* 0x298 */ UNK_TYPE1 pad_298[4]; - /* 0x29C */ Vec3f unk_29C; - /* 0x2A8 */ s32 unk_2A8; - /* 0x2AC */ u8 unk_2AC; + /* 0x29C */ Vec3f walkTarget; + /* 0x2A8 */ s32 animPhase; + /* 0x2AC */ u8 hasMovedAside; /* 0x2AE */ s16 animIndex; /* 0x2B0 */ s16 csId; /* 0x2B2 */ s16 unk_2B2; /* 0x2B4 */ s16 unk_2B4; - /* 0x2B6 */ s16 unk_2B6; + /* 0x2B6 */ s16 bodyRotTargetAngle; /* 0x2B8 */ f32 lastAnimFrame; /* 0x2BC */ s16 eyeIndex; - /* 0x2BE */ s16 unk_2BE; - /* 0x2C0 */ s16 unk_2C0; + /* 0x2BE */ s16 blinkTimer; + /* 0x2C0 */ s16 action; /* 0x2C2 */ s16 textIdIndex; /* 0x2C4 */ s16 correctDigitSlots[5]; /* 0x2CE */ s16 talkState; diff --git a/tools/disasm/n64-jp-1.1/functions.txt b/tools/disasm/n64-jp-1.1/functions.txt index f66e723ee9..7903d5cefe 100644 --- a/tools/disasm/n64-jp-1.1/functions.txt +++ b/tools/disasm/n64-jp-1.1/functions.txt @@ -16522,12 +16522,12 @@ EnBombers_Draw = 0x80C074A4; // type:func size:0x13C EnBombers2_Init = 0x80C077C0; // type:func size:0x150 EnBombers2_Destroy = 0x80C07910; // type:func size:0x2C EnBombers2_ChangeAnim = 0x80C0793C; // type:func size:0x94 -func_80C04B40 = 0x80C079D0; // type:func size:0x60 -func_80C04BA0 = 0x80C07A30; // type:func size:0x160 -func_80C04D00 = 0x80C07B90; // type:func size:0x8C -func_80C04D8C = 0x80C07C1C; // type:func size:0x32C -func_80C050B8 = 0x80C07F48; // type:func size:0x154 -func_80C0520C = 0x80C0809C; // type:func size:0x1EC +EnBombers2_SetupAwaitTalk = 0x80C079D0; // type:func size:0x60 +EnBombers2_AwaitTalk = 0x80C07A30; // type:func size:0x160 +EnBombers2_SetupTalking = 0x80C07B90; // type:func size:0x8C +EnBombers2_Talking = 0x80C07C1C; // type:func size:0x32C +EnBombers2_StartWalking = 0x80C07F48; // type:func size:0x154 +EnBombers2_Walking = 0x80C0809C; // type:func size:0x1EC EnBombers2_Update = 0x80C08288; // type:func size:0x2DC EnBombers2_OverrideLimbDraw = 0x80C08564; // type:func size:0x84 EnBombers2_Draw = 0x80C085E8; // type:func size:0x128 diff --git a/tools/disasm/n64-jp-1.1/variables.txt b/tools/disasm/n64-jp-1.1/variables.txt index aba1d69647..a7655a18e1 100644 --- a/tools/disasm/n64-jp-1.1/variables.txt +++ b/tools/disasm/n64-jp-1.1/variables.txt @@ -19479,7 +19479,7 @@ D_80C08790_unknown = 0x80C08790; D_80C087A0_unknown = 0x80C087A0; D_80C087A4_unknown = 0x80C087A4; D_80C087B0_unknown = 0x80C087B0; -jtbl_func_80C04D8C_1 = 0x80C087C0; // type:jtbl +jtbl_EnBombers2_UpdateTalk_1 = 0x80C087C0; // type:jtbl ovl_En_Bombers2_OverlayInfo = 0x80C087E0; // type:s32 ovl_En_Bombers2_RelocCount = 0x80C087F0; // type:s32 ovl_En_Bombers2_OverlayRelocations = 0x80C087F4; // type:s32 diff --git a/tools/disasm/n64-us/functions.txt b/tools/disasm/n64-us/functions.txt index 2b35b88eb8..bd4da6bf05 100644 --- a/tools/disasm/n64-us/functions.txt +++ b/tools/disasm/n64-us/functions.txt @@ -16532,12 +16532,12 @@ EnBombers_Draw = 0x80C04614; // type:func EnBombers2_Init = 0x80C04930; // type:func EnBombers2_Destroy = 0x80C04A80; // type:func EnBombers2_ChangeAnim = 0x80C04AAC; // type:func -func_80C04B40 = 0x80C04B40; // type:func -func_80C04BA0 = 0x80C04BA0; // type:func -func_80C04D00 = 0x80C04D00; // type:func -func_80C04D8C = 0x80C04D8C; // type:func -func_80C050B8 = 0x80C050B8; // type:func -func_80C0520C = 0x80C0520C; // type:func +EnBombers2_SetupAwaitTalk = 0x80C04B40; // type:func +EnBombers2_AwaitTalk = 0x80C04BA0; // type:func +EnBombers2_SetupTalking = 0x80C04D00; // type:func +EnBombers2_Talking = 0x80C04D8C; // type:func +EnBombers2_StartWalking = 0x80C050B8; // type:func +EnBombers2_Walking = 0x80C0520C; // type:func EnBombers2_Update = 0x80C053F8; // type:func EnBombers2_OverrideLimbDraw = 0x80C056D4; // type:func EnBombers2_Draw = 0x80C05758; // type:func diff --git a/tools/overlayhelpers/mscriptdis.py b/tools/overlayhelpers/mscriptdis.py index 76ca6181ab..82c7227f2e 100644 --- a/tools/overlayhelpers/mscriptdis.py +++ b/tools/overlayhelpers/mscriptdis.py @@ -750,7 +750,7 @@ week_event_reg = { (85 << 8) | 0x40: "WEEKEVENTREG_85_40", (85 << 8) | 0x80: "WEEKEVENTREG_85_80", (86 << 8) | 0x01: "WEEKEVENTREG_86_01", - (86 << 8) | 0x02: "WEEKEVENTREG_86_02", + (86 << 8) | 0x02: "WEEKEVENTREG_TALKED_TO_BOMBERS_GUARD", (86 << 8) | 0x04: "WEEKEVENTREG_86_04", (86 << 8) | 0x08: "WEEKEVENTREG_LISTENED_ANJU_POSTMAN_CONVERSATION", (86 << 8) | 0x10: "WEEKEVENTREG_86_10", diff --git a/tools/weekeventregconvert.py b/tools/weekeventregconvert.py index b4d2e9e2a5..12b00f5f2b 100755 --- a/tools/weekeventregconvert.py +++ b/tools/weekeventregconvert.py @@ -693,7 +693,7 @@ weekEventReg = { (85 << 8) | 0x40: "WEEKEVENTREG_85_40", (85 << 8) | 0x80: "WEEKEVENTREG_85_80", (86 << 8) | 0x01: "WEEKEVENTREG_86_01", - (86 << 8) | 0x02: "WEEKEVENTREG_86_02", + (86 << 8) | 0x02: "WEEKEVENTREG_TALKED_TO_BOMBERS_GUARD", (86 << 8) | 0x04: "WEEKEVENTREG_86_04", (86 << 8) | 0x08: "WEEKEVENTREG_LISTENED_ANJU_POSTMAN_CONVERSATION", (86 << 8) | 0x10: "WEEKEVENTREG_86_10",