* En_Tk

* PR

* Warnings

Co-authored-by: root <root@Careface.localdomain>
This commit is contained in:
Maide
2021-11-20 12:10:37 -03:00
committed by GitHub
co-authored by root
parent ea17d924e4
commit 837eb1c806
15 changed files with 1374 additions and 88 deletions
+4 -4
View File
@@ -970,7 +970,7 @@ f32 func_800C3D50(s32 arg0, CollisionContext* colCtx, s32 arg2, CollisionPoly**
f32 func_800C3FA0(CollisionContext* colCtx, CollisionPoly** arg1, Vec3f* arg2);
f32 func_800C4000(GlobalContext* globalCtx, CollisionContext* colCtx, s32* arg2, Vec3f* arg3);
// void func_800C4058(void);
f32 func_800C40B4(CollisionContext* colCtx, CollisionPoly** arg1, s32* arg2, Vec3f* pos);
f32 func_800C40B4(CollisionContext* colCtx, CollisionPoly** poly, s32* arg2, Vec3f* arg3);
f32 func_800C411C(CollisionContext* colCtx, CollisionPoly** arg1, s32* arg2, Actor* actor, Vec3f* pos);
f32 func_800C4188(GlobalContext* globalCtx, CollisionContext* colCtx, CollisionPoly** outPoly, s32* bgId, Actor* actor, Vec3f* pos);
// void func_800C41E4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
@@ -1002,7 +1002,7 @@ s32 func_800C576C(CollisionContext* colCtx, Vec3f* arg1, Vec3f* arg2, Vec3f* arg
// void func_800C58C8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10);
// void func_800C5954(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE2 param_8);
s32 func_800C5A20(CollisionContext* colCtx, Vec3f* arg1, f32 arg2);
s32 func_800C5A64(CollisionContext* colCtx, Vec3f* arg1, f32 arg2, Actor* actor);
s32 func_800C5A64(CollisionContext* colCtx, Vec3f* arg1, f32 arg2);
void BgCheck_ScenePolygonListsInit(SSNodeList* arg0);
void BgCheck_ScenePolygonListsAlloc(GlobalContext* globalCtx, SSNodeList* lists, s32 numNodes, u32 numPolygons);
s32 func_800C5B80(u16* arg0);
@@ -1079,7 +1079,7 @@ u32 func_800C9B18(CollisionContext* colCtx, CollisionPoly* polygon, s32 index);
u32 func_800C9B40(CollisionContext* colCtx, CollisionPoly* polygon, s32 index);
u32 func_800C9B68(CollisionContext* colCtx, CollisionPoly* polygon, s32 index);
u32 func_800C9B90(CollisionContext* colCtx, CollisionPoly* polygon, s32 index);
u32 func_800C9BB8(CollisionContext* colCtx, CollisionPoly* polygon, s32 index);
s32 func_800C9BB8(CollisionContext* colCtx, CollisionPoly* polygon, s32 index);
u32 func_800C9BDC(CollisionContext* colCtx, CollisionPoly* polygon, s32 index);
// u32 func_800C9C24(CollisionContext* colCtx, CollisionPoly* polygon, s32 index, UNK_TYPE4 param_4);
u32 func_800C9C74(CollisionContext* colCtx, CollisionPoly* polygon, s32 index);
@@ -1774,7 +1774,7 @@ u32 func_800FE4B8(GlobalContext* globalCtx);
// void func_800FE590(void);
// void func_800FE5D0(void);
// UNK_TYPE4 func_800FE610(void);
s32 func_800FE620(GlobalContext* globalCtx);
u32 func_800FE620(GlobalContext* globalCtx);
void func_800FE658(f32 arg0);
// UNK_TYPE4 func_800FE6F8(UNK_TYPE4 param_1, s16 param_2, s16 param_3);
// void func_800FE778(void);
+1 -1
View File
@@ -1339,7 +1339,7 @@ struct TargetContext {
/* 0x50 */ TargetContextEntry unk50[3];
/* 0x8C */ Actor* unk8C;
/* 0x90 */ Actor* unk90;
/* 0x94 */ UNK_TYPE1 pad94[0x4];
/* 0x94 */ Actor* unk_94;
}; // size = 0x98
struct s800B948C {
+1 -3
View File
@@ -3756,9 +3756,7 @@ beginseg
name "ovl_En_Tk"
compress
include "build/src/overlays/actors/ovl_En_Tk/z_en_tk.o"
include "build/data/ovl_En_Tk/ovl_En_Tk.data.o"
include "build/data/ovl_En_Tk/ovl_En_Tk.bss.o"
include "build/data/ovl_En_Tk/ovl_En_Tk.reloc.o"
include "build/src/overlays/actors/ovl_En_Tk/ovl_En_Tk_reloc.o"
endseg
beginseg
+1 -1
View File
@@ -460,7 +460,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) {
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, 15.0f, 15.0f, 0x1D);
if (this->actor.floorHeight <= -32000.0f) {
if (this->actor.floorHeight <= BGCHECK_Y_MIN) {
Actor_MarkForDeath(&this->actor);
return;
}
@@ -8,10 +8,11 @@ struct BgDanpeiMovebg;
typedef void (*BgDanpeiMovebgActionFunc)(struct BgDanpeiMovebg*, GlobalContext*);
typedef struct BgDanpeiMovebg {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x18];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x015C */ BgDanpeiMovebgActionFunc actionFunc;
/* 0x0160 */ char unk_160[0x78];
/* 0x0160 */ char unk_160[0x6C];
/* 0x01CC */ u16 unk_1CC;
/* 0x01CE */ char unk_1CE[0xA];
} BgDanpeiMovebg; // size = 0x1D8
extern const ActorInit Bg_Danpei_Movebg_InitVars;
+1 -1
View File
@@ -10,7 +10,7 @@ typedef void (*EnDoorActionFunc)(struct EnDoor*, GlobalContext*);
typedef struct EnDoor {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x63];
/* 0x01A7 */ s8 unk1A7;
/* 0x01A7 */ s8 unk_1A7;
/* 0x01A8 */ char unk_1A8[0x20];
/* 0x01C8 */ EnDoorActionFunc actionFunc;
} EnDoor; // size = 0x1CC
@@ -268,7 +268,7 @@ s32 func_80B288E8(EnFish2* this, Vec3f vec, s32 arg2) {
}
s32 func_80B2899C(EnFish2* this, GlobalContext* globalCtx) {
if (func_800C5A64(&globalCtx->colCtx, &this->unk_2F4, this->unk_33C, &this->actor)) {
if (func_800C5A64(&globalCtx->colCtx, &this->unk_2F4, this->unk_33C)) {
return true;
}
@@ -1385,7 +1385,7 @@ s32 func_80B45550(EnInvadepoh* this, GlobalContext* globalCtx, f32 range, s32 ar
if ((actorIterator->id == ACTOR_EN_DOOR) && (actorIterator->update != NULL) &&
(actorIterator->room == this->actor.room) &&
Math3D_DistanceSquared(&actorIterator->world.pos, &this->actor.world.pos) < range) {
((EnDoor*)actorIterator)->unk1A7 = arg3;
((EnDoor*)actorIterator)->unk_1A7 = arg3;
retVal = true;
break;
}
@@ -486,7 +486,7 @@ void func_80BD9338(EnPamera* this, GlobalContext* globalCtx) {
func_80BD84F0(this, globalCtx);
actor = this->actor.child;
if ((actor != NULL) && (actor->id == ACTOR_EN_DOOR)) {
((EnDoor*)actor)->unk1A7 = -0x32;
((EnDoor*)actor)->unk_1A7 = -0x32;
}
}
@@ -742,7 +742,7 @@ void EnPametfrog_ClimbDownWall(EnPametfrog* this, GlobalContext* globalCtx) {
if (this->actor.bgCheckFlags & 1) {
EnPametfrog_SetupRunToSnapper(this);
} else if (this->actor.floorHeight == -32000.0f) {
} else if (this->actor.floorHeight == BGCHECK_Y_MIN) {
yaw = Actor_YawToPoint(&this->actor, &this->actor.home.pos);
this->actor.world.pos.x += 5.0f * Math_SinS(yaw);
this->actor.world.pos.z += 5.0f * Math_CosS(yaw);
+2 -2
View File
@@ -1417,9 +1417,9 @@ s32 func_80AF9D04(EnPm* this, GlobalContext* globalCtx) {
if (!func_8013AD6C(globalCtx) && (this->unk_374 != 0)) {
if ((sp44 != NULL) && (sp44->actor.update != NULL)) {
if (((f32)this->unk_36E / this->unk_36C) <= 0.9f) {
sp44->unk1A7 = this->unk_260;
sp44->unk_1A7 = this->unk_260;
} else {
sp44->unk1A7 = 0;
sp44->unk_1A7 = 0;
}
}
this->unk_36E = CLAMP(this->unk_36E, 0, this->unk_36C);
@@ -703,7 +703,7 @@ s32 func_80BABDD8(EnSuttari* this, GlobalContext* globalCtx, struct_80133038_arg
this->unk434 = sp44 - unkStruct->unk4;
this->unk436 = unkStruct->unk8 - unkStruct->unk4;
if (unkStruct->unk0 != 10 && unkStruct->unk0 != 11) {
sp48->unk1A7 = 0x4B;
sp48->unk_1A7 = 0x4B;
}
Math_Vec3f_Copy(&this->unk438, &sp38);
Math_Vec3f_Copy(&this->unk444, &sp2C);
File diff suppressed because it is too large Load Diff
+51 -2
View File
@@ -6,12 +6,61 @@
struct EnTk;
typedef void (*EnTkActionFunc)(struct EnTk*, GlobalContext*);
typedef void (*EnTkUnkFunc)(struct EnTk*, GlobalContext*);
#define ENTK_GET_F(thisx) ((thisx)->params & 0xF)
#define ENTK_GET_7F0(thisx) (((thisx)->params >> 4) & 0x7F)
#define ENTK_GET_F800(thisx) ((((thisx)->params >> 0xB) & 0x1F) & 0xFF)
typedef struct EnTk {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x44];
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ EnTkActionFunc actionFunc;
/* 0x018C */ char unk_18C[0x268];
/* 0x018C */ ColliderCylinder collider;
/* 0x01D8 */ Vec3s jointTable[18];
/* 0x0244 */ Vec3s morphTable[18];
/* 0x02B0 */ s8 unk_2B0;
/* 0x02B1 */ s8 unk_2B1;
/* 0x02B4 */ Vec3f unk_2B4;
/* 0x02C0 */ s16 unk_2C0;
/* 0x02C2 */ s16 unk_2C2;
/* 0x02C4 */ s16 unk_2C4;
/* 0x02C6 */ s16 unk_2C6;
/* 0x02C8 */ UNK_TYPE1 unk2C8[0x2];
/* 0x02CA */ u16 unk_2CA;
/* 0x02CC */ s16 unk_2CC;
/* 0x02D0 */ s32 unk_2D0;
/* 0x02D4 */ s32 unk_2D4;
/* 0x02D8 */ f32 unk_2D8;
/* 0x02DC */ f32 unk_2DC;
/* 0x02E0 */ s32 unk_2E0;
/* 0x02E4 */ s16 unk_2E4;
/* 0x02E6 */ u16 unk_2E6;
/* 0x02E8 */ s16 unk_2E8;
/* 0x02EC */ Vec3f unk_2EC;
/* 0x02F8 */ Vec3s unk_2F8;
/* 0x0300 */ Vec3f unk_300;
/* 0x030C */ EnTkUnkFunc unk_30C;
/* 0x0310 */ s16 unk_310;
/* 0x0312 */ s16 cutscenes[2];
/* 0x0316 */ s16 unk_316;
/* 0x0318 */ s16 unk_318;
/* 0x031A */ s16 unk_31A;
/* 0x031C */ s16 unk_31C;
/* 0x0320 */ f32 unk_320;
/* 0x0324 */ Vec3f unk_324[6];
/* 0x036C */ s32 unk_36C;
/* 0x0370 */ UNK_TYPE1 unk370[0x58];
/* 0x03C8 */ Path* unk_3C8;
/* 0x03CC */ u8 unk_3CC;
/* 0x03CE */ u16 unk_3CE;
/* 0x03D0 */ s32 unk_3D0;
/* 0x03D4 */ Vec3f unk_3D4;
/* 0x03E0 */ f32 unk_3E0;
/* 0x03E4 */ s32 unk_3E4;
/* 0x03E8 */ s32 unk_3E8;
/* 0x03EC */ s32 unk_3EC;
/* 0x03F0 */ s32 unk_3F0;
} EnTk; // size = 0x3F4
extern const ActorInit En_Tk_InitVars;
+9
View File
@@ -3697,7 +3697,16 @@ D_06002100 = 0x06002100;
// ovl_En_Tk
D_06001144 = 0x06001144;
D_06001FA8 = 0x06001FA8;
D_060020C8 = 0x060020C8;
D_060030A4 = 0x060030A4;
D_06003724 = 0x06003724;
D_06003B10 = 0x06003B10;
D_06003FB8 = 0x06003FB8;
D_06004390 = 0x06004390;
D_06004B90 = 0x06004B90;
D_06005390 = 0x06005390;
D_0600B530 = 0x0600B530;
D_0600B9E8 = 0x0600B9E8;