En_Arrow (1 non-matching) (#551)

* En_Arrow

* Remove comment

* UNK_TYPE1

* Add thing

* Merge

* Merge

* PR

* PR

* PR
This commit is contained in:
Maide
2022-02-13 23:14:13 +00:00
committed by GitHub
parent 0f7f5de084
commit 5fa02d9725
7 changed files with 759 additions and 38 deletions
+3 -3
View File
@@ -576,10 +576,10 @@ void EffectSsHahen_SpawnBurst(GlobalContext* globalCtx, Vec3f* pos, f32 burstSca
// void EffectSsStick_Spawn(UNK_TYPE4 uParm1, UNK_PTR puParm2, UNK_TYPE2 uParm3);
// void EffectSsSibuki_Spawn(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7);
void EffectSsSibuki_SpawnBurst(GlobalContext* globalCtx, Vec3f* pos);
// void EffectSsStone1_Spawn(UNK_TYPE4 uParm1, UNK_PTR puParm2, UNK_TYPE4 uParm3);
void EffectSsStone1_Spawn(GlobalContext* globalCtx, Vec3f* arg1, s32 arg2);
// void EffectSsHitMark_Spawn(UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, UNK_TYPE2 uParm3, Vec3f* pzParm4);
void EffectSsHitMark_SpawnFixedScale(GlobalContext* globalCtx, s32 type, Vec3f* pos);
// void EffectSsHitMark_SpawnCustomScale(void);
void EffectSsHitMark_SpawnCustomScale(GlobalContext* globalCtx, s32 type, s16 scale, Vec3f* pos);
// void EffectSsFhgFlash_SpawnShock(UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vec3f* pzParm3, UNK_TYPE2 uParm4, UNK_TYPE1 param_5);
// void EffectSsKFire_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Vec3f* pzParm3, Vec3f* pzParm4, UNK_TYPE2 param_5, UNK_TYPE1 param_6);
void EffectSsSolderSrchBall_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 unused, s16* linkDetected, s16 drawFlag);
@@ -2099,7 +2099,7 @@ s32 func_801242B4(Player* player);
// void func_80125D4C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_801262C8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_801263FC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
void func_80126440(GlobalContext* globalCtx, Collider* param_2, s32* param_3, Vec3f* param_4, Vec3f* param_5);
s32 func_80126440(GlobalContext* globalCtx, Collider* param_2, s32* param_3, Vec3f* param_4, Vec3f* param_5);
// void func_801265C8(void);
// void func_8012669C(void);
// void func_80126808(void);
+4 -1
View File
@@ -846,8 +846,11 @@ beginseg
name "ovl_En_Arrow"
compress
include "build/src/overlays/actors/ovl_En_Arrow/z_en_arrow.o"
include "build/data/ovl_En_Arrow/ovl_En_Arrow.data.o"
#ifdef NON_MATCHING
include "build/src/overlays/actors/ovl_En_Arrow/ovl_En_Arrow_reloc.o"
#else
include "build/data/ovl_En_Arrow/ovl_En_Arrow.reloc.o"
#endif
endseg
beginseg
+1 -1
View File
@@ -242,7 +242,7 @@ void FireObj_Update(GlobalContext* globalCtx, FireObj* fire, Actor* actor) {
} else if ((fire->collision.base.acFlags & 2) && (arrow->actor.update != NULL) &&
(arrow->actor.id == ACTOR_EN_ARROW)) {
arrow->actor.params = 0;
arrow->unk_1C0 = 0x800;
arrow->collider.info.toucher.dmgFlags = 0x800;
}
fire->collision.dim.pos.x = fire->position.x;
fire->collision.dim.pos.y = fire->position.y;
File diff suppressed because it is too large Load Diff
+49 -8
View File
@@ -7,15 +7,56 @@ struct EnArrow;
typedef void (*EnArrowActionFunc)(struct EnArrow*, GlobalContext*);
enum {
/* -8 */ ENARROW_MINUS8 = -8,
/* 0 */ ENARROW_0 = 0,
/* 1 */ ENARROW_1,
/* 2 */ ENARROW_2,
/* 3 */ ENARROW_3,
/* 4 */ ENARROW_4,
/* 5 */ ENARROW_5,
/* 6 */ ENARROW_6,
/* 7 */ ENARROW_7,
/* 8 */ ENARROW_8,
};
typedef struct {
/* 0x144 */ SkelAnime skelAnime;
/* 0x188 */ Vec3s jointTable[5];
} EnArrowArrow; // size = 0x1A8
typedef struct {
/* 0x144 */ f32 unk_144;
/* 0x148 */ u8 unk_148;
/* 0x149 */ s8 unk_149;
/* 0x14A */ s16 unk_14A;
/* 0x14C */ s16 unk_14C;
} EnArrowBubble; // size = 0x150
typedef struct EnArrow {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x7C];
/* 0x01C0 */ s32 unk_1C0;
/* 0x01C4 */ char unk_1C4[0x9C];
/* 0x0260 */ u8 unk_260; // timer in OoT
/* 0x0261 */ u8 unk_261; // hitFlags in OoT
/* 0x0262 */ char unk_262[0x12];
/* 0x0274 */ EnArrowActionFunc actionFunc;
/* 0x000 */ Actor actor;
union {
EnArrowArrow arrow;
EnArrowBubble bubble;
};
/* 0x1A8 */ ColliderQuad collider;
/* 0x228 */ Vec3f unk_228;
/* 0x234 */ Vec3f unk_234;
/* 0x240 */ s32 unk_240;
/* 0x244 */ s32 unk_244;
/* 0x248 */ f32 unk_248;
/* 0x24C */ f32 unk_24C;
/* 0x250 */ f32 unk_250;
/* 0x254 */ f32 unk_254;
/* 0x258 */ f32 unk_258;
/* 0x25C */ f32 unk_25C;
/* 0x260 */ u8 unk_260; // timer in OoT
/* 0x261 */ u8 unk_261; // hitFlags in OoT
/* 0x262 */ u8 unk_262;
/* 0x263 */ u8 unk_263;
/* 0x264 */ Actor* unk_264;
/* 0x268 */ Vec3f unk_268;
/* 0x274 */ EnArrowActionFunc actionFunc;
} EnArrow; // size = 0x278
extern const ActorInit En_Arrow_InitVars;
@@ -221,7 +221,7 @@ void ObjSyokudai_Update(Actor* thisx, GlobalContext* globalCtx2) {
(flameColliderHurtboxActor->id == ACTOR_EN_ARROW)) {
flameColliderHurtboxActor->params = 0;
((EnArrow*)flameColliderHurtboxActor)->unk_1C0 = 0x800;
((EnArrow*)flameColliderHurtboxActor)->collider.info.toucher.dmgFlags = 0x800;
}
}
if ((this->snuffTimer > OBJ_SYOKUDAI_SNUFF_NEVER) &&
@@ -4,7 +4,10 @@
#include "global.h"
typedef struct {
char unk_0[UNK_SIZE];
/* 0x00 */ Vec3f unk_00;
/* 0x0C */ CollisionPoly* unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ char unk_14[UNK_SIZE];
} EffectSsSbnInitParams; // size = ?
extern const EffectSsInit Effect_Ss_Sbn_InitVars;