Document `EnKendoJs`

This commit is contained in:
JordanLongstaff 2025-12-02 08:33:01 -05:00
parent 64d2e009fb
commit 1062874b9b
13 changed files with 389 additions and 326 deletions

View File

@ -1,10 +1,10 @@
<Root>
<File Name="object_js" Segment="6">
<Animation Name="object_js_Anim_00016C" Offset="0x16C" /> <!-- Original name is "js_chigau" -->
<Animation Name="object_js_Anim_0003DC" Offset="0x3DC" /> <!-- Original name is "js_chigau2wait" -->
<Animation Name="object_js_Anim_000AD4" Offset="0xAD4" /> <!-- Original name is "js_furueru" -->
<Animation Name="object_js_Anim_000C7C" Offset="0xC7C" /> <!-- Original name is "js_maido" -->
<Animation Name="object_js_Anim_000F4C" Offset="0xF4C" /> <!-- Original name is "js_matsu" -->
<Animation Name="object_js_Anim_Flailing" Offset="0x16C" /> <!-- Original name is "js_chigau" -->
<Animation Name="object_js_Anim_StopFlailing" Offset="0x3DC" /> <!-- Original name is "js_chigau2wait" -->
<Animation Name="object_js_Anim_Scared" Offset="0xAD4" /> <!-- Original name is "js_furueru" -->
<Animation Name="object_js_Anim_Unused" Offset="0xC7C" /> <!-- Original name is "js_maido" -->
<Animation Name="object_js_Anim_Default" Offset="0xF4C" /> <!-- Original name is "js_matsu" -->
<DList Name="object_js_DL_003F30" Offset="0x3F30" />
<DList Name="object_js_DL_004510" Offset="0x4510" />
<DList Name="object_js_DL_004688" Offset="0x4688" />

View File

@ -1400,8 +1400,8 @@ void func_80122D44(struct PlayState* play, struct_80122D44_arg1* arg1);
u8 Player_MaskIdToItemId(s32 maskIdMinusOne);
s32 Player_GetCurMaskItemId(struct PlayState* play);
void func_80122F28(Player* player);
bool func_80122F9C(struct PlayState* play);
bool func_80122FCC(struct PlayState* play);
bool Player_IsBackJumping(struct PlayState* play);
bool Player_IsSideJumping(struct PlayState* play);
void func_8012300C(struct PlayState* play, s32 arg1);
void func_8012301C(Actor* thisx, struct PlayState* play2);
void func_80123140(struct PlayState* play, Player* player);

View File

@ -1343,7 +1343,7 @@ typedef enum {
#define WEEKEVENTREG_82_04 PACK_WEEKEVENTREG_FLAG(82, 0x04)
// Related to Swordsman's log minigame
#define WEEKEVENTREG_82_08 PACK_WEEKEVENTREG_FLAG(82, 0x08)
#define WEEKEVENTREG_STARTED_SWORDSMAN_MINIGAME PACK_WEEKEVENTREG_FLAG(82, 0x08)
#define WEEKEVENTREG_RECEIVED_FISHERMANS_JUMPING_GAME_HEART_PIECE PACK_WEEKEVENTREG_FLAG(82, 0x10)
#define WEEKEVENTREG_82_20 PACK_WEEKEVENTREG_FLAG(82, 0x20)
#define WEEKEVENTREG_82_40 PACK_WEEKEVENTREG_FLAG(82, 0x40)

View File

@ -1761,7 +1761,7 @@ void Interface_UpdateButtonsPart2(PlayState* play) {
}
Interface_SetHudVisibility(HUD_VISIBILITY_B);
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_82_08)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_STARTED_SWORDSMAN_MINIGAME)) {
// Swordsman's log minigame
for (i = EQUIP_SLOT_C_LEFT; i <= EQUIP_SLOT_C_RIGHT; i++) {
if (gSaveContext.buttonStatus[i] == BTN_ENABLED) {
@ -2282,7 +2282,7 @@ void Interface_UpdateButtonsPart1(PlayState* play) {
Interface_SetHudVisibility(HUD_VISIBILITY_A_B_MINIMAP);
} else if ((gSaveContext.minigameStatus == MINIGAME_STATUS_ACTIVE) && CHECK_EVENTINF(EVENTINF_35)) {
Interface_SetHudVisibility(HUD_VISIBILITY_B_MINIMAP);
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_82_08) &&
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_STARTED_SWORDSMAN_MINIGAME) &&
(gSaveContext.minigameStatus == MINIGAME_STATUS_ACTIVE)) {
Interface_SetHudVisibility(HUD_VISIBILITY_B);
} else if (play->bButtonAmmoPlusOne >= 2) {

View File

@ -363,13 +363,13 @@ void func_80122F28(Player* player) {
}
}
bool func_80122F9C(PlayState* play) {
bool Player_IsBackJumping(PlayState* play) {
Player* player = GET_PLAYER(play);
return (player->stateFlags2 & PLAYER_STATE2_80000) && (player->av1.actionVar1 == 2);
}
bool func_80122FCC(PlayState* play) {
bool Player_IsSideJumping(PlayState* play) {
Player* player = GET_PLAYER(play);
return (player->stateFlags2 & PLAYER_STATE2_80000) &&

File diff suppressed because it is too large Load Diff

View File

@ -23,14 +23,14 @@ typedef struct EnKendoJs {
/* 0x274 */ Vec3s* pathPoints;
/* 0x278 */ Vec3s headRot;
/* 0x27E */ Vec3s torsoRot;
/* 0x284 */ s16 unk_284;
/* 0x286 */ s16 unk_286;
/* 0x288 */ s16 unk_288;
/* 0x28A */ s16 unk_28A;
/* 0x28C */ s16 unk_28C;
/* 0x28E */ s16 unk_28E;
/* 0x290 */ s16 unk_290;
/* 0x292 */ u8 unk_292;
/* 0x284 */ s16 minigameRound;
/* 0x286 */ s16 courseState;
/* 0x288 */ s16 curTextId;
/* 0x28A */ s16 hasSpoken;
/* 0x28C */ s16 numLogs;
/* 0x28E */ s16 isSlashingLog;
/* 0x290 */ s16 timer;
/* 0x292 */ u8 isPlayerLockedOn;
} EnKendoJs; // size = 0x294
#endif // Z_EN_KENDO_JS_H

View File

@ -19,7 +19,7 @@ void func_80B372B8(EnMaruta* this);
void func_80B372CC(EnMaruta* this, PlayState* play);
void func_80B37364(EnMaruta* this);
void func_80B3738C(EnMaruta* this, PlayState* play);
void func_80B373F4(EnMaruta* this);
void EnMaruta_StartRetracting(EnMaruta* this);
void func_80B37428(EnMaruta* this, PlayState* play);
void func_80B374FC(EnMaruta* this, PlayState* play);
void func_80B37590(EnMaruta* this, PlayState* play);
@ -236,7 +236,7 @@ void EnMaruta_Init(Actor* thisx, PlayState* play) {
}
this->unk_214 = -1;
this->unk_220 = 0;
this->isRetracting = 0;
if (this->unk_210 == 0) {
Collider_InitCylinder(play, &this->collider);
@ -276,14 +276,14 @@ void func_80B372CC(EnMaruta* this, PlayState* play) {
this->actor.shape.rot.y -= 0x2AAA;
}
if (this->unk_220 == 1) {
func_80B373F4(this);
if (this->isRetracting == 1) {
EnMaruta_StartRetracting(this);
}
if ((this->actor.parent != NULL) && (this->actor.parent->id == ACTOR_EN_KENDO_JS)) {
EnKendoJs* kendoJs = (EnKendoJs*)this->actor.parent;
kendoJs->unk_292 = this->actor.isLockedOn;
kendoJs->isPlayerLockedOn = this->actor.isLockedOn;
}
}
@ -298,7 +298,7 @@ void func_80B3738C(EnMaruta* this, PlayState* play) {
}
}
void func_80B373F4(EnMaruta* this) {
void EnMaruta_StartRetracting(EnMaruta* this) {
this->collider.base.acFlags |= AC_HIT;
this->actor.velocity.y = 0.0f;
this->actor.gravity = -2.0f;
@ -313,7 +313,7 @@ void func_80B37428(EnMaruta* this, PlayState* play) {
if ((this->actor.parent != NULL) && (this->actor.parent->id == ACTOR_EN_KENDO_JS)) {
EnKendoJs* kendoJs = (EnKendoJs*)this->actor.parent;
kendoJs->unk_28C--;
kendoJs->numLogs--;
}
Actor_Kill(&this->actor);
}
@ -545,7 +545,7 @@ void func_80B37CA0(EnMaruta* this, PlayState* play) {
EnKendoJs* kendoJs = (EnKendoJs*)this->actor.parent;
kendoJs->unk_28E = 1;
kendoJs->unk_28C--;
kendoJs->numLogs--;
}
return;
}

View File

@ -24,7 +24,7 @@ typedef struct EnMaruta {
/* 0x21A */ s16 unk_21A;
/* 0x21C */ s16 unk_21C;
/* 0x21E */ s16 unk_21E;
/* 0x220 */ s16 unk_220;
/* 0x220 */ s16 isRetracting;
} EnMaruta; // size = 0x224
#endif // Z_EN_MARUTA_H

View File

@ -2182,8 +2182,8 @@ func_80122D44 = 0x80122D44; // type:func
Player_MaskIdToItemId = 0x80122ED8; // type:func
Player_GetCurMaskItemId = 0x80122EEC; // type:func
func_80122F28 = 0x80122F28; // type:func
func_80122F9C = 0x80122F9C; // type:func
func_80122FCC = 0x80122FCC; // type:func
Player_IsBackJumping = 0x80122F9C; // type:func
Player_IsSideJumping = 0x80122FCC; // type:func
func_8012300C = 0x8012300C; // type:func
func_8012301C = 0x8012301C; // type:func
func_80123140 = 0x80123140; // type:func
@ -13299,8 +13299,8 @@ EnRacedog_PostLimbDraw = 0x80B25A90; // type:func
EnRacedog_Draw = 0x80B25B14; // type:func
EnKendoJs_Init = 0x80B262A0; // type:func
EnKendoJs_Destroy = 0x80B264FC; // type:func
func_80B26538 = 0x80B26538; // type:func
func_80B2654C = 0x80B2654C; // type:func
EnKendoJs_SetupAwaitingTalk = 0x80B26538; // type:func
EnKendoJs_AwaitTalk = 0x80B2654C; // type:func
func_80B26758 = 0x80B26758; // type:func
func_80B269A4 = 0x80B269A4; // type:func
func_80B26AE8 = 0x80B26AE8; // type:func

View File

@ -720,7 +720,7 @@ week_event_reg = {
(82 << 8) | 0x01: "WEEKEVENTREG_82_01",
(82 << 8) | 0x02: "WEEKEVENTREG_82_02",
(82 << 8) | 0x04: "WEEKEVENTREG_82_04",
(82 << 8) | 0x08: "WEEKEVENTREG_82_08",
(82 << 8) | 0x08: "WEEKEVENTREG_STARTED_SWORDSMAN_MINIGAME",
(82 << 8) | 0x10: "WEEKEVENTREG_RECEIVED_FISHERMANS_JUMPING_GAME_HEART_PIECE",
(82 << 8) | 0x20: "WEEKEVENTREG_82_20",
(82 << 8) | 0x40: "WEEKEVENTREG_82_40",

View File

@ -1699,8 +1699,8 @@ asm/non_matchings/code/z_player_lib/func_80122D44.s,func_80122D44,0x80122D44,0x6
asm/non_matchings/code/z_player_lib/Player_MaskIdToItemId.s,Player_MaskIdToItemId,0x80122ED8,0x5
asm/non_matchings/code/z_player_lib/Player_GetCurMaskItemId.s,Player_GetCurMaskItemId,0x80122EEC,0xF
asm/non_matchings/code/z_player_lib/func_80122F28.s,func_80122F28,0x80122F28,0x1D
asm/non_matchings/code/z_player_lib/func_80122F9C.s,func_80122F9C,0x80122F9C,0xC
asm/non_matchings/code/z_player_lib/func_80122FCC.s,func_80122FCC,0x80122FCC,0x10
asm/non_matchings/code/z_player_lib/Player_IsBackJumping.s,Player_IsBackJumping,0x80122F9C,0xC
asm/non_matchings/code/z_player_lib/Player_IsSideJumping.s,Player_IsSideJumping,0x80122FCC,0x10
asm/non_matchings/code/z_player_lib/func_8012300C.s,func_8012300C,0x8012300C,0x4
asm/non_matchings/code/z_player_lib/func_8012301C.s,func_8012301C,0x8012301C,0x49
asm/non_matchings/code/z_player_lib/func_80123140.s,func_80123140,0x80123140,0x86

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
1699 asm/non_matchings/code/z_player_lib/Player_MaskIdToItemId.s Player_MaskIdToItemId 0x80122ED8 0x5
1700 asm/non_matchings/code/z_player_lib/Player_GetCurMaskItemId.s Player_GetCurMaskItemId 0x80122EEC 0xF
1701 asm/non_matchings/code/z_player_lib/func_80122F28.s func_80122F28 0x80122F28 0x1D
1702 asm/non_matchings/code/z_player_lib/func_80122F9C.s asm/non_matchings/code/z_player_lib/Player_IsBackJumping.s func_80122F9C Player_IsBackJumping 0x80122F9C 0xC
1703 asm/non_matchings/code/z_player_lib/func_80122FCC.s asm/non_matchings/code/z_player_lib/Player_IsSideJumping.s func_80122FCC Player_IsSideJumping 0x80122FCC 0x10
1704 asm/non_matchings/code/z_player_lib/func_8012300C.s func_8012300C 0x8012300C 0x4
1705 asm/non_matchings/code/z_player_lib/func_8012301C.s func_8012301C 0x8012301C 0x49
1706 asm/non_matchings/code/z_player_lib/func_80123140.s func_80123140 0x80123140 0x86

View File

@ -663,7 +663,7 @@ weekEventReg = {
(82 << 8) | 0x01: "WEEKEVENTREG_82_01",
(82 << 8) | 0x02: "WEEKEVENTREG_82_02",
(82 << 8) | 0x04: "WEEKEVENTREG_82_04",
(82 << 8) | 0x08: "WEEKEVENTREG_82_08",
(82 << 8) | 0x08: "WEEKEVENTREG_STARTED_SWORDSMAN_MINIGAME",
(82 << 8) | 0x10: "WEEKEVENTREG_RECEIVED_FISHERMANS_JUMPING_GAME_HEART_PIECE",
(82 << 8) | 0x20: "WEEKEVENTREG_82_20",
(82 << 8) | 0x40: "WEEKEVENTREG_82_40",