En_Tru_Mt (#726)

* En_Tru_Mt

* PR

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
This commit is contained in:
Maide
2022-03-27 11:32:08 -03:00
committed by GitHub
co-authored by Anghelo Carvajal
parent 38eef9252e
commit 9e13859495
6 changed files with 517 additions and 50 deletions
+1 -2
View File
@@ -4194,8 +4194,7 @@ beginseg
name "ovl_En_Tru_Mt"
compress
include "build/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.o"
include "build/data/ovl_En_Tru_Mt/ovl_En_Tru_Mt.data.o"
include "build/data/ovl_En_Tru_Mt/ovl_En_Tru_Mt.reloc.o"
include "build/src/overlays/actors/ovl_En_Tru_Mt/ovl_En_Tru_Mt_reloc.o"
endseg
beginseg
@@ -95,7 +95,7 @@ s32 EnJcMato_CheckForHit(EnJcMato* this, GlobalContext* globalCtx) {
this->collider.base.acFlags &= ~AC_HIT;
Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_TRE_BOX_APPEAR);
globalCtx->interfaceCtx.unk_25C = 1;
this->hitFlag = 1;
this->hitFlag = true;
return 1;
} else {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
@@ -111,7 +111,7 @@ void EnJcMato_SetupIdle(EnJcMato* this) {
void EnJcMato_Idle(EnJcMato* this, GlobalContext* globalCtx) {
s16 shouldDespawn;
if (this->hitFlag != 0) {
if (this->hitFlag) {
if (this->despawnTimer == 0) {
shouldDespawn = 0;
} else {
@@ -133,7 +133,7 @@ void EnJcMato_Init(Actor* thisx, GlobalContext* globalCtx) {
this->collider.dim.worldSphere.radius = 0xF;
this->actor.colChkInfo.damageTable = &sDamageTable;
Actor_SetScale(&this->actor, 0.008f);
this->hitFlag = 0;
this->hitFlag = false;
this->despawnTimer = 25;
EnJcMato_SetupIdle(this);
}
File diff suppressed because it is too large Load Diff
@@ -2,15 +2,43 @@
#define Z_EN_TRU_MT_H
#include "global.h"
#include "objects/object_tru/object_tru.h"
struct EnTruMt;
typedef void (*EnTruMtActionFunc)(struct EnTruMt*, GlobalContext*);
#define ENTRUMT_GET_FF(thisx) ((thisx)->params & 0xFF)
#define ENTRUMT_GET_FC00(thisx) (((thisx)->params & 0xFC00) >> 0xA)
typedef struct EnTruMt {
/* 0x0000 */ Actor actor;
/* 0x0144 */ EnTruMtActionFunc actionFunc;
/* 0x0148 */ char unk_148[0x260];
/* 0x0148 */ SkelAnime skelAnime;
/* 0x018C */ ColliderSphere collider;
/* 0x01E4 */ Vec3s jointTable[OBJECT_TRU_LIMB_MAX];
/* 0x0286 */ Vec3s morphTable[OBJECT_TRU_LIMB_MAX];
/* 0x0328 */ u16 unk_328;
/* 0x032A */ UNK_TYPE1 unk32A[0xC];
/* 0x0336 */ Vec3s unk_336;
/* 0x033C */ Vec3f unk_33C;
/* 0x0348 */ s16 unk_348;
/* 0x034A */ s16 unk_34A;
/* 0x034C */ s16 unk_34C;
/* 0x034E */ s16 unk_34E;
/* 0x0350 */ Vec3f unk_350;
/* 0x035C */ Vec3f unk_35C;
/* 0x0368 */ Path* path;
/* 0x036C */ s32 unk_36C;
/* 0x0370 */ Vec3f unk_370;
/* 0x037C */ UNK_TYPE1 unk37C[0xC];
/* 0x0388 */ s16 unk_388;
/* 0x038A */ s16 unk_38A;
/* 0x038C */ s16 unk_38C;
/* 0x038E */ Vec3s unk_38E;
/* 0x0394 */ s16 unk_394;
/* 0x0398 */ Vec3f unk_398;
/* 0x03A4 */ u8 unk_3A4;
} EnTruMt; // size = 0x3A8
extern const ActorInit En_Tru_Mt_InitVars;
+3 -3
View File
@@ -14457,9 +14457,9 @@
0x80B76E1C:("EnTruMt_Destroy",),
0x80B76E48:("EnTruMt_Update",),
0x80B76ED4:("func_80B76ED4",),
0x80B77008:("func_80B77008",),
0x80B77078:("func_80B77078",),
0x80B77354:("func_80B77354",),
0x80B77008:("EnTruMt_OverrideLimbDraw",),
0x80B77078:("EnTruMt_PostLimbDraw",),
0x80B77354:("EnTruMt_TransformLimbDraw",),
0x80B773D0:("EnTruMt_Draw",),
0x80B77770:("func_80B77770",),
0x80B77FA4:("func_80B77FA4",),
-5
View File
@@ -1671,11 +1671,6 @@ D_06000A44 = 0x06000A44;
D_0601A820 = 0x0601A820;
D_0601A830 = 0x0601A830;
// ovl_En_Tru_Mt
D_060004C8 = 0x060004C8;
D_0601AA60 = 0x0601AA60;
// ovl_En_Twig
D_060014C8 = 0x060014C8;