En_Dinofos (#235)

* En_Dinofos

* PR

* NBS

* PR

* PR
This commit is contained in:
Maide 2021-08-06 22:14:09 +01:00 committed by GitHub
parent 161da0c881
commit 1836844ea8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 1403 additions and 138 deletions

View File

@ -522,7 +522,7 @@ s32 func_800A8150(s32 index);
s32 func_800A817C(s32 index); s32 func_800A817C(s32 index);
s32 func_800A81A4(GlobalContext* globalCtx, s32 a1, s32 a2); s32 func_800A81A4(GlobalContext* globalCtx, s32 a1, s32 a2);
void func_800A81F0(EffectBlure* this, Vec3f* p1, Vec3f* p2); void func_800A81F0(EffectBlure* this, Vec3f* p1, Vec3f* p2);
// void func_800A8514(void); void func_800A8514(void* effectParams);
void EffectBlure_Initcommon(EffectBlure* params); void EffectBlure_Initcommon(EffectBlure* params);
void EffectBlure_Init1(EffectBlure* params, EffBlureInit1* init); void EffectBlure_Init1(EffectBlure* params, EffBlureInit1* init);
void EffectBlure_Init2(EffectBlure* params, EffBlureInit2* init); void EffectBlure_Init2(EffectBlure* params, EffBlureInit2* init);
@ -635,7 +635,8 @@ void EffectSsKiraKira_SpawnDispersed (GlobalContext * globalCtx, Vec3f * pos, Ve
// void EffectSsGSpk_SpawnFuse(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // void EffectSsGSpk_SpawnFuse(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void EffectSsGSpk_SpawnRandColor(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7); // void EffectSsGSpk_SpawnRandColor(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7);
// void EffectSsGSpk_SpawnSmall(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); // void EffectSsGSpk_SpawnSmall(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);
// void EffectSsDFire_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Vec3f* pzParm3, Vec3f* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE4 param_10); void EffectSsDFire_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
s16 alpha, s16 fadeDelay, s16 arg8, s32 life);
void EffectSsBubble_Spawn(GlobalContext* globalCtx, Vec3f* pos, f32 yPosOffset, f32 yPosRandScale, f32 xzPosRandScale, void EffectSsBubble_Spawn(GlobalContext* globalCtx, Vec3f* pos, f32 yPosOffset, f32 yPosRandScale, f32 xzPosRandScale,
f32 scale); f32 scale);
void EffectSsGRipple_Spawn(GlobalContext* globalCtx, Vec3f* pos, s16 radius, s16 radiusMax, s16 life); void EffectSsGRipple_Spawn(GlobalContext* globalCtx, Vec3f* pos, s16 radius, s16 radiusMax, s16 life);
@ -888,10 +889,10 @@ void func_800BC154(GlobalContext* globalCtx, ActorContext* actorCtx, Actor* acto
// void func_800BC188(void); // void func_800BC188(void);
// void func_800BC1B4(void); // void func_800BC1B4(void);
Actor* func_800BC270(GlobalContext* globalCtx, Actor* actor, f32 arg2, UNK_TYPE4 arg3); Actor* func_800BC270(GlobalContext* globalCtx, Actor* actor, f32 arg2, UNK_TYPE4 arg3);
// void func_800BC444(void); Actor* func_800BC444(GlobalContext* globalCtx, Actor* actor, f32 arg2);
// void func_800BC4EC(void); // void func_800BC4EC(void);
// void func_800BC5B8(void); // void func_800BC5B8(void);
// void func_800BC5EC(void); s32 func_800BC5EC(GlobalContext* globalCtx, Actor* actor);
void func_800BC620(Vec3f* arg0, Vec3f* arg1, UNK_TYPE arg2, GlobalContext* globalCtx); void func_800BC620(Vec3f* arg0, Vec3f* arg1, UNK_TYPE arg2, GlobalContext* globalCtx);
// void func_800BC770(void); // void func_800BC770(void);
// void func_800BC7D8(void); // void func_800BC7D8(void);
@ -919,12 +920,12 @@ void func_800BE03C(GlobalContext* globalCtx, Gfx* dl);
// void func_800BE184(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6); // void func_800BE184(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6);
u8 func_800BE22C(Actor* actor); u8 func_800BE22C(Actor* actor);
void func_800BE258(Actor* actor, UNK_PTR arg1); void func_800BE258(Actor* actor, UNK_PTR arg1);
// void func_800BE2B8(void); void func_800BE2B8(Actor* actor, ColliderJntSph* jntSphere);
// void func_800BE33C(void); void func_800BE33C(Vec3f* arg0, Vec3f* arg1, Vec3s* arg2, s32 arg3);
// void func_800BE3D0(void); // void func_800BE3D0(void);
void func_800BE504(Actor* actor, ColliderCylinder* collider); void func_800BE504(Actor* actor, ColliderCylinder* collider);
// void func_800BE568(void); // void func_800BE568(void);
void func_800BE5CC(Actor* actor, ColliderJntSph* collider, UNK_TYPE1 arg2); void func_800BE5CC(Actor* actor, ColliderJntSph* collider, s32 arg2);
// void func_800BE63C(void); // void func_800BE63C(void);
void func_800BE680(GlobalContext* globalCtx, Actor* actor, Vec3f limbPos[], s32 arg3, f32 arg4, f32 arg5, f32 arg6, u8 mode); void func_800BE680(GlobalContext* globalCtx, Actor* actor, Vec3f limbPos[], s32 arg3, f32 arg4, f32 arg5, f32 arg6, u8 mode);
void func_800BF7CC(GlobalContext* globalCtx, Actor* actor, Vec3f limbPos[], s32 arg3, s32 arg4, f32 arg5, f32 arg6); void func_800BF7CC(GlobalContext* globalCtx, Actor* actor, Vec3f limbPos[], s32 arg3, s32 arg4, f32 arg5, f32 arg6);

View File

@ -106,6 +106,7 @@ typedef struct {
#define DEGF_TO_RADF(degf) (degf * (M_PI / 180.0f)) #define DEGF_TO_RADF(degf) (degf * (M_PI / 180.0f))
#define BINANG_ROT180(angle) ((s16)(angle + 0x8000)) #define BINANG_ROT180(angle) ((s16)(angle + 0x8000))
#define BINANG_SUB(a, b) ((s16)(a - b)) #define BINANG_SUB(a, b) ((s16)(a - b))
#define BINANG_ADD(a, b) ((s16)(a + b))
#define DEG_TO_RAD(degrees) ((degrees) * (M_PI / 180.0f)) #define DEG_TO_RAD(degrees) ((degrees) * (M_PI / 180.0f))
#define BINANG_TO_DEGF(binang) ((f32)binang * (360.0001525f / 65535.0f)) #define BINANG_TO_DEGF(binang) ((f32)binang * (360.0001525f / 65535.0f))
#define BINANG_TO_RAD(binang) (((f32)binang / 32768.0f) * M_PI) #define BINANG_TO_RAD(binang) (((f32)binang / 32768.0f) * M_PI)

3
spec
View File

@ -926,8 +926,7 @@ beginseg
name "ovl_En_Dinofos" name "ovl_En_Dinofos"
compress compress
include "build/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.o" include "build/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.o"
include "build/data/ovl_En_Dinofos/ovl_En_Dinofos.data.o" include "build/src/overlays/actors/ovl_En_Dinofos/ovl_En_Dinofos_reloc.o"
include "build/data/ovl_En_Dinofos/ovl_En_Dinofos.reloc.o"
endseg endseg
beginseg beginseg

View File

@ -402,9 +402,8 @@ void EffectSsGSpk_SpawnSmall(GlobalContext* globalCtx, Actor* actor, Vec3f* pos,
} }
// EffectSsDFire Spawn Functions // EffectSsDFire Spawn Functions
#ifdef NON_MATCHING
void EffectSsDFire_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, void EffectSsDFire_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
s16 alpha, s16 fadeDelay, s16 life) { s16 alpha, s16 fadeDelay, s16 life, s32 arg9) {
EffectSsDFireInitParams initParams; EffectSsDFireInitParams initParams;
Math_Vec3f_Copy(&initParams.pos, pos); Math_Vec3f_Copy(&initParams.pos, pos);
@ -415,12 +414,10 @@ void EffectSsDFire_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity,
initParams.alpha = alpha; initParams.alpha = alpha;
initParams.fadeDelay = fadeDelay; initParams.fadeDelay = fadeDelay;
initParams.life = life; initParams.life = life;
initParams.unk_30 = arg9;
EffectSs_Spawn(globalCtx, EFFECT_SS_D_FIRE, 128, &initParams); EffectSs_Spawn(globalCtx, EFFECT_SS_D_FIRE, 128, &initParams);
} }
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDFire_Spawn.s")
#endif
// EffectSsBubble Spawn Functions // EffectSsBubble Spawn Functions

File diff suppressed because it is too large Load Diff

View File

@ -5,13 +5,43 @@
struct EnDinofos; struct EnDinofos;
typedef void (*EnDinofosActionFunc)(struct EnDinofos* this, GlobalContext* globalCtx); typedef void (*EnDinofosActionFunc)(struct EnDinofos*, GlobalContext*);
typedef struct EnDinofos { typedef struct EnDinofos {
/* 0x0000 */ Actor actor; /* 0x000 */ Actor actor;
/* 0x0144 */ char unk_144[0x140]; /* 0x144 */ SkelAnime skelAnime;
/* 0x0284 */ EnDinofosActionFunc actionFunc; /* 0x188 */ Vec3s jointTable[21];
/* 0x0288 */ char unk_288[0x3BC]; /* 0x206 */ Vec3s morphTable[21];
/* 0x284 */ EnDinofosActionFunc actionFunc;
/* 0x288 */ u8 unk_288;
/* 0x289 */ u8 unk_289;
/* 0x28A */ u8 unk_28A;
/* 0x28B */ u8 unk_28B;
/* 0x28C */ s16 unk_28C;
/* 0x28E */ s16 unk_28E;
/* 0x290 */ s16 unk_290;
/* 0x290 */ s16 unk_292;
/* 0x294 */ UNK_TYPE1 unk_294[4];
/* 0x298 */ s16 camId;
/* 0x29A */ Vec3s unk_29A;
/* 0x2A0 */ s32 unk_2A0;
/* 0x2A4 */ f32 unk_2A4;
/* 0x2A8 */ f32 unk_2A8;
/* 0x2AC */ f32 unk_2AC;
/* 0x2B0 */ f32 unk_2B0;
/* 0x2B4 */ f32 unk_2B4;
/* 0x2B8 */ f32 unk_2B8;
/* 0x2BC */ Vec3f unk_2BC;
/* 0x2C8 */ Vec3f unk_2C8;
/* 0x2D4 */ Vec3f unk_2D4[4];
/* 0x304 */ Vec3f unk_304;
/* 0x310 */ UNK_TYPE1 unk_310[0x3C];
/* 0x34C */ Vec3f unk_34C;
/* 0x358 */ UNK_TYPE1 unk_358[0xC];
/* 0x364 */ ColliderJntSph colliderJntSph;
/* 0x384 */ ColliderJntSphElement colliderJntSphElement[9];
/* 0x5C4 */ ColliderQuad colliderQuad;
} EnDinofos; // size = 0x644 } EnDinofos; // size = 0x644
extern const ActorInit En_Dinofos_InitVars; extern const ActorInit En_Dinofos_InitVars;

View File

@ -11,8 +11,9 @@ typedef struct {
/* 0x26 */ s16 scaleStep; /* 0x26 */ s16 scaleStep;
/* 0x28 */ s16 alpha; /* 0x28 */ s16 alpha;
/* 0x2A */ s16 fadeDelay; /* 0x2A */ s16 fadeDelay;
/* 0x2C */ s32 life; /* 0x2C */ s16 life;
} EffectSsDFireInitParams; // size = 0x30 /* 0x30 */ s32 unk_30;
} EffectSsDFireInitParams; // size = 0x34
extern const EffectSsInit Effect_Ss_D_Fire_InitVars; extern const EffectSsInit Effect_Ss_D_Fire_InitVars;

View File

@ -1797,6 +1797,9 @@ D_0600ABD0 = 0x0600ABD0;
D_0600C974 = 0x0600C974; D_0600C974 = 0x0600C974;
D_0600D21C = 0x0600D21C; D_0600D21C = 0x0600D21C;
D_0600D62C = 0x0600D62C; D_0600D62C = 0x0600D62C;
D_06008E30 = 0x06008E30;
D_06009030 = 0x06009030;
D_06009230 = 0x06009230;
// ovl_En_Dnb // ovl_En_Dnb