Bootstrap BgHeavyBlock

This commit is contained in:
Derek Hensley 2025-03-15 21:53:02 -07:00
parent bdde968ab7
commit 0242f22ec2
4 changed files with 73 additions and 1 deletions

View File

@ -11,6 +11,7 @@
*
* DEFINE_ACTOR_UNSET is needed to define empty entries from the original game
*/
#include "versions.h"
/* 0x000 */ DEFINE_ACTOR_INTERNAL(Player, ACTOR_PLAYER, ALLOCTYPE_NORMAL, "Player")
/* 0x001 */ DEFINE_ACTOR(En_Test, ACTOR_EN_TEST, ALLOCTYPE_NORMAL, "En_Test")
/* 0x002 */ DEFINE_ACTOR(En_GirlA, ACTOR_EN_GIRLA, ALLOCTYPE_NORMAL, "En_GirlA")
@ -89,7 +90,11 @@
/* 0x04B */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_4B)
/* 0x04C */ DEFINE_ACTOR(En_Rd, ACTOR_EN_RD, ALLOCTYPE_NORMAL, "En_Rd")
/* 0x04D */ DEFINE_ACTOR(Bg_F40_Flift, ACTOR_BG_F40_FLIFT, ALLOCTYPE_NORMAL, "Bg_F40_Flift")
/* 0x04E */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_4E)
#if MM_VERSION >= N64_US
/* 0x04E */ DEFINE_ACTOR_UNSET(ACTOR_BG_HEAVY_BLOCK)
#else
/* 0x04E */ DEFINE_ACTOR(Bg_Heavy_Block, ACTOR_BG_HEAVY_BLOCK, ALLOCTYPE_NORMAL, "Bg_Heavy_Block")
#endif
/* 0x04F */ DEFINE_ACTOR(Obj_Mure, ACTOR_OBJ_MURE, ALLOCTYPE_NORMAL, "Obj_Mure")
/* 0x050 */ DEFINE_ACTOR(En_Sw, ACTOR_EN_SW, ALLOCTYPE_NORMAL, "En_Sw")
/* 0x051 */ DEFINE_ACTOR(Object_Kankyo, ACTOR_OBJECT_KANKYO, ALLOCTYPE_NORMAL, "Object_Kankyo")

View File

@ -2,6 +2,8 @@
* ROM spec file
*/
#include "include/versions.h"
beginseg
name "framebuffer_lo"
address 0x80000500
@ -1257,6 +1259,15 @@ beginseg
include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_F40_Flift/ovl_Bg_F40_Flift_reloc.o"
endseg
#if MM_VERSION < N64_US
beginseg
name "ovl_Bg_Heavy_Block"
compress
include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Heavy_Block/z_bg_heavy_block.o"
include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Heavy_Block/ovl_Bg_Heavy_Block_reloc.o"
endseg
#endif
beginseg
name "ovl_Obj_Mure"
compress

View File

@ -0,0 +1,40 @@
/*
* File: z_bg_heavy_block.c
* Overlay: ovl_Bg_Heavy_Block
* Description: Large block that can only be lifted with Golden Gauntlets
*/
#include "z_bg_heavy_block.h"
#include "versions.h"
#define FLAGS 0
void BgHeavyBlock_Init(Actor* thisx, PlayState* play);
void BgHeavyBlock_Destroy(Actor* thisx, PlayState* play);
void BgHeavyBlock_Update(Actor* thisx, PlayState* play);
void BgHeavyBlock_Draw(Actor* thisx, PlayState* play);
ActorProfile Bg_Heavy_Block_Profile = {
/**/ ACTOR_BG_HEAVY_BLOCK,
/**/ ACTORCAT_BG,
/**/ FLAGS,
/**/ OBJECT_HEAVY_OBJECT,
/**/ sizeof(BgHeavyBlock),
/**/ BgHeavyBlock_Init,
/**/ BgHeavyBlock_Destroy,
/**/ BgHeavyBlock_Update,
/**/ BgHeavyBlock_Draw,
};
void BgHeavyBlock_Init(Actor* thisx, PlayState* play) {
}
void BgHeavyBlock_Destroy(Actor* thisx, PlayState* play) {
}
void BgHeavyBlock_Update(Actor* thisx, PlayState* play) {
}
void BgHeavyBlock_Draw(Actor* thisx, PlayState* play) {
}

View File

@ -0,0 +1,16 @@
#ifndef Z_BG_HEAVY_BLOCK_H
#define Z_BG_HEAVY_BLOCK_H
#include "global.h"
struct BgHeavyBlock;
typedef void (*BgHeavyBlockActionFunc)(struct BgHeavyBlock*, PlayState*);
typedef struct BgHeavyBlock {
/* 0x000 */ DynaPolyActor dyna;
/* 0x15C */ char unk_15C[0x16C - 0x15C];
/* 0x16C */ BgHeavyBlockActionFunc actionFunc;
} BgHeavyBlock; // size = 0x170
#endif // Z_BG_HEAVY_BLOCK_H