diff --git a/patches/debug_patches.c b/patches/debug_patches.c index ee65fa3..fdb341c 100644 --- a/patches/debug_patches.c +++ b/patches/debug_patches.c @@ -36,7 +36,7 @@ void do_warp(PlayState* play, u16 entrance){ // req.dramAddr = text_buffer; // 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); - // DmaMgr_ProcessMsg(&req); + // DmaMgr_ProcessRequest(&req); // if (text_buffer[2] != (char)0xFE) { // recomp_printf("Invalid text\n"); diff --git a/patches/dummy_headers/objects/object_boss_hakugin/object_boss_hakugin.h b/patches/dummy_headers/objects/object_boss_hakugin/object_boss_hakugin.h new file mode 100644 index 0000000..4462798 --- /dev/null +++ b/patches/dummy_headers/objects/object_boss_hakugin/object_boss_hakugin.h @@ -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 diff --git a/patches/quicksave_patches.c b/patches/quicksave_patches.c index a89f560..cabc713 100644 --- a/patches/quicksave_patches.c +++ b/patches/quicksave_patches.c @@ -140,8 +140,8 @@ void Sched_ThreadEntry(void* arg) { Sched_HandleGfxCancel(sched); continue; - case ENTRY_MSG: - Sched_HandleEntry(sched); + case NOTIFY_MSG: + Sched_HandleNotify(sched); continue; case RSP_DONE_MSG: @@ -164,11 +164,11 @@ void Sched_ThreadEntry(void* arg) { continue; case OS_SC_PRE_NMI_MSG: - Sched_HandleReset(sched); + Sched_HandlePreNMI(sched); continue; case OS_SC_NMI_MSG: - Sched_HandleStop(sched); + Sched_HandleNMI(sched); continue; } } @@ -201,7 +201,7 @@ void DmaMgr_ThreadEntry(void* a0) { req = (DmaRequest*)msg; - DmaMgr_ProcessMsg(req); + DmaMgr_ProcessRequest(req); if (req->notifyQueue) { osSendMesg(req->notifyQueue, req->notifyMsg, OS_MESG_NOBLOCK); } diff --git a/patches/save_patches.c b/patches/save_patches.c index 229fed2..d50598b 100644 --- a/patches/save_patches.c +++ b/patches/save_patches.c @@ -5,7 +5,7 @@ extern OSMesgQueue sFlashromMesgQueue; 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. void Sram_UpdateWriteToFlashDefault(SramContext* sramCtx) { diff --git a/patches/specific_actor_transform_tagging.c b/patches/specific_actor_transform_tagging.c index fd9ab51..5cede3d 100644 --- a/patches/specific_actor_transform_tagging.c +++ b/patches/specific_actor_transform_tagging.c @@ -12,10 +12,6 @@ #include "overlays/actors/ovl_En_Twig/z_en_twig.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 Boss04* D_80BB8450; extern f32 D_80BB8454; @@ -650,7 +646,7 @@ extern Gfx gGohtStalactiteMaterialDL[]; extern Gfx gGohtStalactiteModelDL[]; // @recomp Tag Goht's rocks. -void func_80B0C398(BossHakugin* this, PlayState* play) { +void BossHakugin_DrawRockEffects(BossHakugin* this, PlayState* play) { GohtRockEffect* effect; s32 i; @@ -727,7 +723,7 @@ typedef enum { /* 25 */ OSN_ANIM_MAX } OsnAnimation; -void EnOsn_HandleCsAction(EnOsn* this, PlayState* play); +void EnOsn_HandleCutscene(EnOsn* this, PlayState* play); void EnOsn_Idle(EnOsn* this, PlayState* play); // @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); if (!isSwitchFlagSet) { // @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 { // @recomp Manual relocation, TODO remove when automated by the recompiler. this->actionFunc = (EnOsnActionFunc)actor_relocate(&this->actor, EnOsn_Idle); @@ -757,7 +753,7 @@ void EnOsn_LookFromMask(EnOsn* this); void EnOsn_FadeOut(EnOsn* this); // @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; s32 cueChannel;