also update patched function names

This commit is contained in:
AltoXorg 2024-06-22 22:04:30 +08:00
parent c7ae9c650b
commit fa919b16b7
5 changed files with 154 additions and 15 deletions

View File

@ -36,7 +36,7 @@ void do_warp(PlayState* play, u16 entrance){
// req.dramAddr = text_buffer; // req.dramAddr = text_buffer;
// req.size = play->msgCtx.font.messageEnd; // req.size = play->msgCtx.font.messageEnd;
// recomp_printf("dma from vrom 0x%08X to vram 0x%08x of 0x%04X bytes\n", req.vromAddr, req.dramAddr, req.size); // recomp_printf("dma from vrom 0x%08X to vram 0x%08x of 0x%04X bytes\n", req.vromAddr, req.dramAddr, req.size);
// DmaMgr_ProcessMsg(&req); // DmaMgr_ProcessRequest(&req);
// if (text_buffer[2] != (char)0xFE) { // if (text_buffer[2] != (char)0xFE) {
// recomp_printf("Invalid text\n"); // recomp_printf("Invalid text\n");

View File

@ -0,0 +1,143 @@
// Required to include MM decomp headers without having built the repo
#ifndef OBJECT_BOSS_HAKUGIN_H
#define OBJECT_BOSS_HAKUGIN_H 1
typedef enum GohtLimb {
/* 0x00 */ GOHT_LIMB_NONE,
/* 0x01 */ GOHT_LIMB_ROOT,
/* 0x02 */ GOHT_LIMB_PELVIS,
/* 0x03 */ GOHT_LIMB_THORAX_ROOT,
/* 0x04 */ GOHT_LIMB_THORAX_WRAPPER,
/* 0x05 */ GOHT_LIMB_FRONT_RIGHT_LEG_ROOT,
/* 0x06 */ GOHT_LIMB_FRONT_RIGHT_UPPER_LEG,
/* 0x07 */ GOHT_LIMB_FRONT_RIGHT_LOWER_LEG_ROOT,
/* 0x08 */ GOHT_LIMB_FRONT_RIGHT_LOWER_LEG,
/* 0x09 */ GOHT_LIMB_FRONT_RIGHT_HOOF,
/* 0x0A */ GOHT_LIMB_FRONT_LEFT_LEG_ROOT,
/* 0x0B */ GOHT_LIMB_FRONT_LEFT_UPPER_LEG,
/* 0x0C */ GOHT_LIMB_FRONT_LEFT_LOWER_LEG_ROOT,
/* 0x0D */ GOHT_LIMB_FRONT_LEFT_LOWER_LEG,
/* 0x0E */ GOHT_LIMB_FRONT_LEFT_HOOF,
/* 0x0F */ GOHT_LIMB_THORAX,
/* 0x10 */ GOHT_LIMB_HEAD,
/* 0x11 */ GOHT_LIMB_JAW_ROOT,
/* 0x12 */ GOHT_LIMB_JAW,
/* 0x13 */ GOHT_LIMB_BACK_RIGHT_LEG_ROOT,
/* 0x14 */ GOHT_LIMB_BACK_RIGHT_LEG_WRAPPER,
/* 0x15 */ GOHT_LIMB_BACK_RIGHT_THIGH,
/* 0x16 */ GOHT_LIMB_BACK_RIGHT_SHIN,
/* 0x17 */ GOHT_LIMB_BACK_RIGHT_PASTERN_ROOT,
/* 0x18 */ GOHT_LIMB_BACK_RIGHT_PASTERN,
/* 0x19 */ GOHT_LIMB_BACK_RIGHT_HOOF,
/* 0x1A */ GOHT_LIMB_BACK_LEFT_LEG_ROOT,
/* 0x1B */ GOHT_LIMB_BACK_LEFT_LEG_WRAPPER,
/* 0x1C */ GOHT_LIMB_BACK_LEFT_THIGH,
/* 0x1D */ GOHT_LIMB_BACK_LEFT_SHIN,
/* 0x1E */ GOHT_LIMB_BACK_LEFT_PASTERN_ROOT,
/* 0x1F */ GOHT_LIMB_BACK_LEFT_PASTERN,
/* 0x20 */ GOHT_LIMB_BACK_LEFT_HOOF,
/* 0x21 */ GOHT_LIMB_MAX
} GohtLimb;
extern s16 sGohtThawAndBreakWallAnimFrameData[];
extern JointIndex sGohtThawAndBreakWallAnimJointIndices[];
extern AnimationHeader gGohtThawAndBreakWallAnim;
extern s16 sGohtWritheOnSideAnimFrameData[];
extern JointIndex sGohtWritheOnSideAnimJointIndices[];
extern AnimationHeader gGohtWritheOnSideAnim;
extern s16 sGohtTwitchOnSideAnimFrameData[];
extern JointIndex sGohtTwitchOnSideAnimJointIndices[];
extern AnimationHeader gGohtTwitchOnSideAnim;
extern s16 sGohtFallOnSideAnimFrameData[];
extern JointIndex sGohtFallOnSideAnimJointIndices[];
extern AnimationHeader gGohtFallOnSideAnim;
extern s16 sGohtStationaryAnimFrameData[];
extern JointIndex sGohtStationaryAnimJointIndices[];
extern AnimationHeader gGohtStationaryAnim;
extern Vtx object_boss_hakuginVtx_0031B0[];
extern Gfx gGohtPelvisDL[];
extern Gfx gGohtBackLeftHoofDL[];
extern Gfx gGohtBackLeftPasternDL[];
extern Gfx gGohtBackLeftShinDL[];
extern Gfx gGohtBackLeftThighDL[];
extern Gfx gGohtBackRightHoofDL[];
extern Gfx gGohtBackRightPasternDL[];
extern Gfx gGohtBackRightShinDL[];
extern Gfx gGohtBackRightThighDL[];
extern Gfx gGohtHeadDL[];
extern Gfx gGohtJawDL[];
extern Gfx gGohtThoraxDL[];
extern Gfx gGohtFrontLeftHoofDL[];
extern Gfx gGohtFrontLeftLowerLegDL[];
extern Gfx gGohtFrontLeftUpperLegDL[];
extern Gfx gGohtFrontRightHoofDL[];
extern Gfx gGohtFrontRightLowerLegDL[];
extern Gfx gGohtFrontRightUpperLegDL[];
extern u64 gGohtMachineryTex[];
extern u64 gGohtMetalPlateWithCirclePatternTex[];
extern u64 gGohtMetalPlateWithMulticoloredPatternTex[];
extern u64 gGohtEyeTex[];
extern u64 gGohtFaceAndKneePatternTex[];
extern u64 gGohtHornTex[];
extern Vtx object_boss_hakuginVtx_0102D8[];
extern Gfx gGohtRockMaterialDL[];
extern Gfx gGohtRockModelDL[];
extern u64 gGohtRockTex[];
extern Vtx object_boss_hakuginVtx_010F80[];
extern Gfx gGohtStalactiteMaterialDL[];
extern Gfx gGohtStalactiteModelDL[];
extern Vtx object_boss_hakuginVtx_0111C8[];
extern Gfx gGohtLightningMaterialDL[];
extern Gfx gGohtLightningModelDL[];
extern u64 gGohtLightningTex[];
extern u8 gGohtUnusedZeroesBlob[];
extern u64 gGohtLightOrbTex[];
extern Vtx object_boss_hakuginVtx_012E90[];
extern Gfx gGohtLightOrbMaterialDL[];
extern Gfx gGohtLightOrbModelDL[];
extern StandardLimb gGohtRootLimb;
extern StandardLimb gGohtPelvisLimb;
extern StandardLimb gGohtThoraxRootLimb;
extern StandardLimb gGohtThoraxWrapperLimb;
extern StandardLimb gGohtFrontRightLegRootLimb;
extern StandardLimb gGohtFrontRightUpperLegLimb;
extern StandardLimb gGohtFrontRightLowerLegRootLimb;
extern StandardLimb gGohtFrontRightLowerLegLimb;
extern StandardLimb gGohtFrontRightHoofLimb;
extern StandardLimb gGohtFrontLeftLegRootLimb;
extern StandardLimb gGohtFrontLeftUpperLegLimb;
extern StandardLimb gGohtFrontLeftLowerLegRootLimb;
extern StandardLimb gGohtFrontLeftLowerLegLimb;
extern StandardLimb gGohtFrontLeftHoofLimb;
extern StandardLimb gGohtThoraxLimb;
extern StandardLimb gGohtHeadLimb;
extern StandardLimb gGohtJawRootLimb;
extern StandardLimb gGohtJawLimb;
extern StandardLimb gGohtBackRightLegRootLimb;
extern StandardLimb gGohtBackRightLegWrapperLimb;
extern StandardLimb gGohtBackRightThighLimb;
extern StandardLimb gGohtBackRightShinLimb;
extern StandardLimb gGohtBackRightPasternRootLimb;
extern StandardLimb gGohtBackRightPasternLimb;
extern StandardLimb gGohtBackRightHoofLimb;
extern StandardLimb gGohtBackLeftLegRootLimb;
extern StandardLimb gGohtBackLeftLegWrapperLimb;
extern StandardLimb gGohtBackLeftThighLimb;
extern StandardLimb gGohtBackLeftShinLimb;
extern StandardLimb gGohtBackLeftPasternRootLimb;
extern StandardLimb gGohtBackLeftPasternLimb;
extern StandardLimb gGohtBackLeftHoofLimb;
extern void* gGohtSkelLimbs[];
extern FlexSkeletonHeader gGohtSkel;
extern s16 sGohtFallDownAnimFrameData[];
extern JointIndex sGohtFallDownAnimJointIndices[];
extern AnimationHeader gGohtFallDownAnim;
extern s16 sGohtRunAnimFrameData[];
extern JointIndex sGohtRunAnimJointIndices[];
extern AnimationHeader gGohtRunAnim;
extern s16 sGohtGetUpFromSideAnimFrameData[];
extern JointIndex sGohtGetUpFromSideAnimJointIndices[];
extern AnimationHeader gGohtGetUpFromSideAnim;
extern u64 gGohtTitleCardTex[];
#endif

View File

@ -140,8 +140,8 @@ void Sched_ThreadEntry(void* arg) {
Sched_HandleGfxCancel(sched); Sched_HandleGfxCancel(sched);
continue; continue;
case ENTRY_MSG: case NOTIFY_MSG:
Sched_HandleEntry(sched); Sched_HandleNotify(sched);
continue; continue;
case RSP_DONE_MSG: case RSP_DONE_MSG:
@ -164,11 +164,11 @@ void Sched_ThreadEntry(void* arg) {
continue; continue;
case OS_SC_PRE_NMI_MSG: case OS_SC_PRE_NMI_MSG:
Sched_HandleReset(sched); Sched_HandlePreNMI(sched);
continue; continue;
case OS_SC_NMI_MSG: case OS_SC_NMI_MSG:
Sched_HandleStop(sched); Sched_HandleNMI(sched);
continue; continue;
} }
} }
@ -201,7 +201,7 @@ void DmaMgr_ThreadEntry(void* a0) {
req = (DmaRequest*)msg; req = (DmaRequest*)msg;
DmaMgr_ProcessMsg(req); DmaMgr_ProcessRequest(req);
if (req->notifyQueue) { if (req->notifyQueue) {
osSendMesg(req->notifyQueue, req->notifyMsg, OS_MESG_NOBLOCK); osSendMesg(req->notifyQueue, req->notifyMsg, OS_MESG_NOBLOCK);
} }

View File

@ -5,7 +5,7 @@
extern OSMesgQueue sFlashromMesgQueue; extern OSMesgQueue sFlashromMesgQueue;
s32 SysFlashrom_IsInit(void); s32 SysFlashrom_IsInit(void);
void Sleep_Msec(u32 ms); void msleep(u32 ms);
// @recomp Patched to not wait a hardcoded amount of time for the save to complete. // @recomp Patched to not wait a hardcoded amount of time for the save to complete.
void Sram_UpdateWriteToFlashDefault(SramContext* sramCtx) { void Sram_UpdateWriteToFlashDefault(SramContext* sramCtx) {

View File

@ -12,10 +12,6 @@
#include "overlays/actors/ovl_En_Twig/z_en_twig.h" #include "overlays/actors/ovl_En_Twig/z_en_twig.h"
#include "overlays/actors/ovl_En_Honotrap/z_en_honotrap.h" #include "overlays/actors/ovl_En_Honotrap/z_en_honotrap.h"
// Decomp renames, TODO update decomp and remove these
#define EnHonotrap_FlameGroup func_8092F878
#define EnHonotrap_DrawFlameGroup func_80930190
extern EnTanron2* D_80BB8458[82]; extern EnTanron2* D_80BB8458[82];
extern Boss04* D_80BB8450; extern Boss04* D_80BB8450;
extern f32 D_80BB8454; extern f32 D_80BB8454;
@ -650,7 +646,7 @@ extern Gfx gGohtStalactiteMaterialDL[];
extern Gfx gGohtStalactiteModelDL[]; extern Gfx gGohtStalactiteModelDL[];
// @recomp Tag Goht's rocks. // @recomp Tag Goht's rocks.
void func_80B0C398(BossHakugin* this, PlayState* play) { void BossHakugin_DrawRockEffects(BossHakugin* this, PlayState* play) {
GohtRockEffect* effect; GohtRockEffect* effect;
s32 i; s32 i;
@ -727,7 +723,7 @@ typedef enum {
/* 25 */ OSN_ANIM_MAX /* 25 */ OSN_ANIM_MAX
} OsnAnimation; } OsnAnimation;
void EnOsn_HandleCsAction(EnOsn* this, PlayState* play); void EnOsn_HandleCutscene(EnOsn* this, PlayState* play);
void EnOsn_Idle(EnOsn* this, PlayState* play); void EnOsn_Idle(EnOsn* this, PlayState* play);
// @recomp Patched to skip interpolation when the Happy Mask Salesman changes animations. // @recomp Patched to skip interpolation when the Happy Mask Salesman changes animations.
@ -742,7 +738,7 @@ void EnOsn_ChooseAction(EnOsn* this, PlayState* play) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, OSN_ANIM_IDLE); Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, OSN_ANIM_IDLE);
if (!isSwitchFlagSet) { if (!isSwitchFlagSet) {
// @recomp No need to relocate as this function is replaced, so the patch compilation will pick the new address. // @recomp No need to relocate as this function is replaced, so the patch compilation will pick the new address.
this->actionFunc = EnOsn_HandleCsAction; this->actionFunc = EnOsn_HandleCutscene;
} else { } else {
// @recomp Manual relocation, TODO remove when automated by the recompiler. // @recomp Manual relocation, TODO remove when automated by the recompiler.
this->actionFunc = (EnOsnActionFunc)actor_relocate(&this->actor, EnOsn_Idle); this->actionFunc = (EnOsnActionFunc)actor_relocate(&this->actor, EnOsn_Idle);
@ -757,7 +753,7 @@ void EnOsn_LookFromMask(EnOsn* this);
void EnOsn_FadeOut(EnOsn* this); void EnOsn_FadeOut(EnOsn* this);
// @recomp Patched to skip interpolation when the Happy Mask Salesman changes animations. // @recomp Patched to skip interpolation when the Happy Mask Salesman changes animations.
void EnOsn_HandleCsAction(EnOsn* this, PlayState* play) { void EnOsn_HandleCutscene(EnOsn* this, PlayState* play) {
u8 pad; u8 pad;
s32 cueChannel; s32 cueChannel;