ovl_Bg_Keikoku_Spr OK (#111)

* finish actor

* fix linker
This commit is contained in:
Zelllll 2021-04-29 19:46:01 -05:00 committed by GitHub
parent 69d9f32ef3
commit fed1b37da1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 53 additions and 9 deletions

View File

@ -1434,9 +1434,9 @@ SECTIONS
ovl_Bg_Keikoku_Spr : AT(RomLocation)
{
build/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.o(.text)
build/asm/overlays/ovl_Bg_Keikoku_Spr_data.o(.data)
build/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.o(.data)
build/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.o(.rodata)
build/asm/overlays/ovl_Bg_Keikoku_Spr_rodata.o(.rodata)
build/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr_overlay.o(.ovl)
}
SegmentEnd = .;
SegmentSize = SegmentEnd - SegmentStart;

View File

@ -126,6 +126,14 @@ D_0600A490 = 0x0600A490;
D_06000040 = 0x06000040;
D_060024F0 = 0x060024F0;
/* z_bg_keikoku_spr */
D_06000100 = 0x06000100;
D_060001F8 = 0x060001F8;
D_06000300 = 0x06000300;
D_060003F8 = 0x060003F8;
D_06000500 = 0x06000500;
D_060005F8 = 0x060005F8;
/* z_dm_sa */
D_06013328 = 0x06013328;
D_0600CC94 = 0x0600CC94;

View File

@ -1,3 +1,9 @@
/*
* File: z_bg_keikoku_spr.c
* Overlay: ovl_Bg_Keikoku_Spr
* Description: Termina Field Fountain Water
*/
#include "z_bg_keikoku_spr.h"
#define FLAGS 0x00000000
@ -9,7 +15,6 @@ void BgKeikokuSpr_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgKeikokuSpr_Update(Actor* thisx, GlobalContext* globalCtx);
void BgKeikokuSpr_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
const ActorInit Bg_Keikoku_Spr_InitVars = {
ACTOR_BG_KEIKOKU_SPR,
ACTORCAT_PROP,
@ -19,14 +24,45 @@ const ActorInit Bg_Keikoku_Spr_InitVars = {
(ActorFunc)BgKeikokuSpr_Init,
(ActorFunc)BgKeikokuSpr_Destroy,
(ActorFunc)BgKeikokuSpr_Update,
(ActorFunc)BgKeikokuSpr_Draw
(ActorFunc)BgKeikokuSpr_Draw,
};
*/
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Spr_0x808C3A50/BgKeikokuSpr_Init.asm")
static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneForward, 3000, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneScale, 200, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneDownward, 400, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 20, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Spr_0x808C3A50/BgKeikokuSpr_Destroy.asm")
extern Gfx D_06000100[];
extern AnimatedTexture D_060001F8;
extern Gfx D_06000300[];
extern AnimatedTexture D_060003F8;
extern Gfx D_06000500[];
extern AnimatedTexture D_060005F8;
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Spr_0x808C3A50/BgKeikokuSpr_Update.asm")
void BgKeikokuSpr_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(thisx, sInitChain);
}
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Spr_0x808C3A50/BgKeikokuSpr_Draw.asm")
void BgKeikokuSpr_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void BgKeikokuSpr_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgKeikokuSpr_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx);
SceneProc_DrawAllSceneAnimatedTextures(globalCtx, Lib_SegmentedToVirtual(&D_060001F8));
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06000100);
SceneProc_DrawAllSceneAnimatedTextures(globalCtx, Lib_SegmentedToVirtual(&D_060003F8));
gSPDisplayList(POLY_XLU_DISP++, D_06000300);
SceneProc_DrawAllSceneAnimatedTextures(globalCtx, Lib_SegmentedToVirtual(&D_060005F8));
gSPDisplayList(POLY_XLU_DISP++, D_06000500);
CLOSE_DISPS(globalCtx->state.gfxCtx);
}