diff --git a/linker_scripts/code_script.txt b/linker_scripts/code_script.txt index c2c1035874..2bbd8cf9f7 100644 --- a/linker_scripts/code_script.txt +++ b/linker_scripts/code_script.txt @@ -4699,9 +4699,9 @@ SECTIONS ovl_Dm_Statue : AT(RomLocation) { build/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.o(.text) - build/asm/overlays/ovl_Dm_Statue_data.o(.data) + build/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.o(.data) build/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.o(.rodata) - build/asm/overlays/ovl_Dm_Statue_rodata.o(.rodata) + build/src/overlays/actors/ovl_Dm_Statue/z_dm_statue_overlay.o(.ovl) } SegmentEnd = .; SegmentSize = SegmentEnd - SegmentStart; diff --git a/linker_scripts/object_script.txt b/linker_scripts/object_script.txt index 37ca9a4ed3..7db419f27d 100644 --- a/linker_scripts/object_script.txt +++ b/linker_scripts/object_script.txt @@ -134,6 +134,10 @@ D_0600CC94 = 0x0600CC94; D_06000F28 = 0x06000F28; D_06000CE8 = 0x06000CE8; +/* z_dm_statue */ +D_06001788 = 0x06001788; +D_06000520 = 0x06000520; + /* door_spiral */ /* these are symbols from other objects based on the type of door */ D_06000590 = 0x06000590; diff --git a/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.c b/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.c index 13257e0633..cc81512d01 100644 --- a/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.c +++ b/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.c @@ -9,7 +9,6 @@ void DmStatue_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmStatue_Update(Actor* thisx, GlobalContext* globalCtx); void DmStatue_Draw(Actor* thisx, GlobalContext* globalCtx); -/* const ActorInit Dm_Statue_InitVars = { ACTOR_DM_STATUE, ACTORCAT_ITEMACTION, @@ -21,12 +20,23 @@ const ActorInit Dm_Statue_InitVars = { (ActorFunc)DmStatue_Update, (ActorFunc)DmStatue_Draw }; -*/ -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Statue_0x80A4C9B0/DmStatue_Init.asm") +extern AnimatedTexture D_06001788; +extern Gfx D_06000520[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Statue_0x80A4C9B0/DmStatue_Destroy.asm") +void DmStatue_Init(Actor* thisx, GlobalContext* globalCtx) { + DmStatue* this = THIS; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Statue_0x80A4C9B0/DmStatue_Update.asm") + Actor_SetScale(&this->actor, 10.0f); +} -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Statue_0x80A4C9B0/DmStatue_Draw.asm") +void DmStatue_Destroy(Actor* thisx, GlobalContext* globalCtx) { +} + +void DmStatue_Update(Actor* thisx, GlobalContext* globalCtx) { +} + +void DmStatue_Draw(Actor* thisx, GlobalContext* globalCtx) { + SceneProc_DrawAllSceneAnimatedTextures(globalCtx, Lib_SegmentedToVirtual(&D_06001788)); + func_800BE03C(globalCtx, D_06000520); +}