En_Mushi2 (#304)

* En_Mushi2

* Warnings

* Fix

* YOLO

* Format
This commit is contained in:
Maide 2021-10-27 19:36:06 +01:00 committed by GitHub
parent de3fc29d51
commit 8beaa7841e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 1191 additions and 77 deletions

View File

@ -4007,7 +4007,7 @@ extern Gfx D_04048DF0[];
extern UNK_TYPE D_04050D10;
extern UNK_TYPE D_04051180;
extern UNK_TYPE D_04051238;
extern UNK_TYPE D_0405140C;
extern AnimationHeader D_0405140C;
extern UNK_TYPE D_040527F0;
extern UNK_TYPE D_040528B0;
extern Gfx D_04054A90[];

3
spec
View File

@ -3135,8 +3135,7 @@ beginseg
name "ovl_En_Mushi2"
compress
include "build/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.o"
include "build/data/ovl_En_Mushi2/ovl_En_Mushi2.data.o"
include "build/data/ovl_En_Mushi2/ovl_En_Mushi2.reloc.o"
include "build/src/overlays/actors/ovl_En_Mushi2/ovl_En_Mushi2_reloc.o"
endseg
beginseg

View File

@ -7,7 +7,9 @@ struct EnFish;
typedef struct EnFish {
/* 0x000 */ Actor actor;
/* 0x144 */ char unk_144[0x138];
/* 0x144 */ char unk144[0x133];
/* 0x277 */ s8 unk_277;
/* 0x278 */ char unk278[0x4];
} EnFish; // size = 0x27C
extern const ActorInit En_Fish_InitVars;

View File

@ -4,6 +4,7 @@
* Description: Marine Research Lab Fish
*/
#include "overlays/actors/ovl_En_Fish/z_en_fish.h"
#include "overlays/actors/ovl_En_Mushi2/z_en_mushi2.h"
#include "z_en_fish2.h"
@ -444,8 +445,8 @@ void func_80B2913C(EnFish2* this, GlobalContext* globalCtx) {
void func_80B29194(EnFish2* this) {
if ((this->unk_354 != NULL) && (this->unk_2C8 == 0)) {
EnMushi2* mushi = (EnMushi2*)this->unk_350;
mushi->unk_277 = 1;
EnFish* fish = (EnFish*)this->unk_350;
fish->unk_277 = 1;
}
this->unk_2C4 = 0;

File diff suppressed because it is too large Load Diff

View File

@ -7,14 +7,42 @@ struct EnMushi2;
typedef void (*EnMushi2ActionFunc)(struct EnMushi2*, GlobalContext*);
#define ENMUSHI2_GET_3(thisx) ((thisx)->params & 3)
typedef struct {
/* 0x00 */ s16 unk_00;
/* 0x02 */ s16 unk_02;
} EnMushi2Struct;
typedef struct EnMushi2 {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x133];
/* 0x0277 */ s8 unk_277;
/* 0x0278 */ char unk_278[0x90];
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ Vec3s jointTable[24];
/* 0x0218 */ Vec3s morphTable[24];
/* 0x02A8 */ ColliderJntSph collider;
/* 0x02C8 */ ColliderJntSphElement colliderElements[1];
/* 0x0308 */ EnMushi2ActionFunc actionFunc;
/* 0x030C */ s32 unk_30C;
/* 0x0310 */ char unk_310[0x64];
/* 0x0310 */ Vec3f unk_310;
/* 0x031C */ Vec3f unk_31C;
/* 0x0328 */ Vec3f unk_328;
/* 0x0334 */ CollisionPoly* unk_334;
/* 0x0338 */ u32 unk_338;
/* 0x033C */ Vec3f unk_33C;
/* 0x0348 */ f32 unk_348;
/* 0x034C */ struct ObjBean* unk_34C;
/* 0x0350 */ f32 unk_350;
/* 0x0354 */ f32 unk_354;
/* 0x0358 */ f32 unk_358;
/* 0x035C */ f32 unk_35C;
/* 0x0360 */ f32 unk_360;
/* 0x0364 */ s16 unk_364;
/* 0x0366 */ s16 unk_366;
/* 0x0368 */ s16 unk_368;
/* 0x036A */ s16 unk_36A;
/* 0x036C */ s16 unk_36C;
/* 0x036E */ s16 unk_36E;
/* 0x0370 */ s16 unk_370;
} EnMushi2; // size = 0x374
extern const ActorInit En_Mushi2_InitVars;

View File

@ -7,11 +7,22 @@ struct ObjBean;
typedef void (*ObjBeanActionFunc)(struct ObjBean*, GlobalContext*);
#define OBJBEAN_GET_C000(thisx) (((thisx)->params >> 0xE) & 3)
enum {
/* 0x00 */ ENOBJBEAN_GET_C000_0,
/* 0x01 */ ENOBJBEAN_GET_C000_1,
/* 0x02 */ ENOBJBEAN_GET_C000_2,
};
typedef struct ObjBean {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x18];
/* 0x015C */ ObjBeanActionFunc actionFunc;
/* 0x0160 */ char unk_160[0xA4];
/* 0x0160 */ char unk_160[0x80];
/* 0x01E0 */ s8 unk_1E0;
/* 0x01E4 */ s32 unk_1E4;
/* 0x01E8 */ char unk_1E8[0x1C];
} ObjBean; // size = 0x204
extern const ActorInit Obj_Bean_InitVars;