diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.c | 41 | ||||
| -rw-r--r-- | src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.h | 5 |
2 files changed, 37 insertions, 9 deletions
diff --git a/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.c b/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.c index 49ba2d123..8bb151e9f 100644 --- a/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.c +++ b/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.c @@ -9,7 +9,9 @@ void EnTanron6_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTanron6_Update(Actor* thisx, GlobalContext* globalCtx); void EnTanron6_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void EnTanron6_DoNothing(EnTanron6* this); +void func_80BE60D0(EnTanron6* this, GlobalContext* globalCtx); + const ActorInit En_Tanron6_InitVars = { ACTOR_EN_TANRON6, ACTORTYPE_ENEMY, @@ -21,16 +23,39 @@ const ActorInit En_Tanron6_InitVars = { (ActorFunc)EnTanron6_Update, (ActorFunc)EnTanron6_Draw }; -*/ -GLOBAL_ASM("asm/non_matchings/ovl_En_Tanron6_0x80BE6040/EnTanron6_Init.asm") +ActorDamageChart D_80BE6170 = { 0xF0, 0xF0, 0x00, 0xF1, 0xE1, 0xE1, 0x00, 0xE1, 0xF0, 0xF0, 0xF0, + 0xE1, 0xE1, 0x46, 0xF0, 0xF0, 0xE1, 0xF0, 0xF0, 0x00, 0x00, 0xF0, + 0xE1, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0 }; + +void EnTanron6_Init(Actor* thisx, GlobalContext* globalCtx) { + EnTanron6* this = THIS; + + this->actor.unkA0.mass = 0xA; + Actor_SetDrawParams(&this->actor.shape, 0, func_800B3FC0, 19.0f); + this->actor.unkA0.health = 1; + this->actor.unkA0.damageChart = &D_80BE6170; + this->actor.unk1F = 6; + EnTanron6_DoNothing(this); +} + +void EnTanron6_Destroy(Actor* thisx, GlobalContext* globalCtx) { +} -GLOBAL_ASM("asm/non_matchings/ovl_En_Tanron6_0x80BE6040/EnTanron6_Destroy.asm") +void EnTanron6_DoNothing(EnTanron6* this) { + this->actionFunc = func_80BE60D0; +} -GLOBAL_ASM("asm/non_matchings/ovl_En_Tanron6_0x80BE6040/func_80BE60BC.asm") +void func_80BE60D0(EnTanron6* this, GlobalContext* globalCtx) { +} -GLOBAL_ASM("asm/non_matchings/ovl_En_Tanron6_0x80BE6040/func_80BE60D0.asm") +void EnTanron6_Update(Actor* thisx, GlobalContext* globalCtx) { + EnTanron6* this = THIS; -GLOBAL_ASM("asm/non_matchings/ovl_En_Tanron6_0x80BE6040/EnTanron6_Update.asm") + this->actionFunc(this, globalCtx); + Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor); + func_800B78B8(globalCtx, &this->actor, 10.0f, 40.0f, 40.0f, 0x1D); +} -GLOBAL_ASM("asm/non_matchings/ovl_En_Tanron6_0x80BE6040/EnTanron6_Draw.asm") +void EnTanron6_Draw(Actor* thisx, GlobalContext* globalCtx) { +} diff --git a/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.h b/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.h index 656f744fa..f6e16ef24 100644 --- a/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.h +++ b/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.h @@ -5,9 +5,12 @@ struct EnTanron6; +typedef void (*EnTanron6ActionFunc)(struct EnTanron6*, GlobalContext*); + typedef struct EnTanron6 { /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC0]; + /* 0x144 */ char unk_144[0xBC]; + /* 0x200 */ EnTanron6ActionFunc actionFunc; } EnTanron6; // size = 0x204 extern const ActorInit En_Tanron6_InitVars; |
