mirror of https://github.com/zeldaret/oot.git
Cleanup colliders struct members 1 (#2462)
* Standardize some ColliderJntSphElement buffer members on `colliderElements` * Standardize some ColliderTrisElement buffer members on `colliderElements` * format
This commit is contained in:
parent
be1f9e75f0
commit
3dd893c210
|
@ -120,7 +120,7 @@ void BgBdanSwitch_InitDynaPoly(BgBdanSwitch* this, PlayState* play, CollisionHea
|
||||||
void BgBdanSwitch_InitCollision(BgBdanSwitch* this, PlayState* play) {
|
void BgBdanSwitch_InitCollision(BgBdanSwitch* this, PlayState* play) {
|
||||||
Actor* actor = &this->dyna.actor;
|
Actor* actor = &this->dyna.actor;
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, actor, &sJntSphInit, this->colliderElements);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8086D0EC(BgBdanSwitch* this) {
|
void func_8086D0EC(BgBdanSwitch* this) {
|
||||||
|
|
|
@ -20,7 +20,7 @@ typedef struct BgBdanSwitch {
|
||||||
/* 0x0000 */ DynaPolyActor dyna;
|
/* 0x0000 */ DynaPolyActor dyna;
|
||||||
/* 0x0164 */ BgBdanSwitchActionFunc actionFunc;
|
/* 0x0164 */ BgBdanSwitchActionFunc actionFunc;
|
||||||
/* 0x0168 */ ColliderJntSph collider;
|
/* 0x0168 */ ColliderJntSph collider;
|
||||||
/* 0x0188 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0188 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01C8 */ f32 unk_1C8;
|
/* 0x01C8 */ f32 unk_1C8;
|
||||||
/* 0x01CC */ s16 unk_1CC;
|
/* 0x01CC */ s16 unk_1CC;
|
||||||
/* 0x01CE */ char unk_1CE[0x2];
|
/* 0x01CE */ char unk_1CE[0x2];
|
||||||
|
|
|
@ -134,7 +134,7 @@ void BgBombwall_Init(Actor* thisx, PlayState* play) {
|
||||||
BgBombwall_InitDynapoly(this, play);
|
BgBombwall_InitDynapoly(this, play);
|
||||||
this->unk_2A2 |= 2;
|
this->unk_2A2 |= 2;
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInit, this->colliderItems);
|
Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInit, this->colliderElements);
|
||||||
|
|
||||||
for (i = 0; i <= 2; i++) {
|
for (i = 0; i <= 2; i++) {
|
||||||
for (j = 0; j <= 2; j++) {
|
for (j = 0; j <= 2; j++) {
|
||||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgBombwallActionFunc)(struct BgBombwall*, struct PlayState*);
|
||||||
typedef struct BgBombwall {
|
typedef struct BgBombwall {
|
||||||
/* 0x0000 */ DynaPolyActor dyna;
|
/* 0x0000 */ DynaPolyActor dyna;
|
||||||
/* 0x0164 */ ColliderTris collider;
|
/* 0x0164 */ ColliderTris collider;
|
||||||
/* 0x0184 */ ColliderTrisElement colliderItems[3];
|
/* 0x0184 */ ColliderTrisElement colliderElements[3];
|
||||||
/* 0x0298 */ BgBombwallActionFunc actionFunc;
|
/* 0x0298 */ BgBombwallActionFunc actionFunc;
|
||||||
/* 0x029C */ Gfx* dList;
|
/* 0x029C */ Gfx* dList;
|
||||||
/* 0x02A0 */ s16 unk_2A0;
|
/* 0x02A0 */ s16 unk_2A0;
|
||||||
|
|
|
@ -114,7 +114,7 @@ void BgHidanDalm_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader_GetVirtual(&gFireTempleHammerableTotemCol, &colHeader);
|
CollisionHeader_GetVirtual(&gFireTempleHammerableTotemCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
Collider_SetTris(play, &this->collider, thisx, &sTrisInit, this->colliderItems);
|
Collider_SetTris(play, &this->collider, thisx, &sTrisInit, this->colliderElements);
|
||||||
|
|
||||||
this->switchFlag = PARAMS_GET_U(thisx->params, 8, 8);
|
this->switchFlag = PARAMS_GET_U(thisx->params, 8, 8);
|
||||||
thisx->params &= 0xFF;
|
thisx->params &= 0xFF;
|
||||||
|
|
|
@ -13,7 +13,7 @@ typedef struct BgHidanDalm {
|
||||||
/* 0x0164 */ BgHidanDalmActionFunc actionFunc;
|
/* 0x0164 */ BgHidanDalmActionFunc actionFunc;
|
||||||
/* 0x0168 */ u8 switchFlag;
|
/* 0x0168 */ u8 switchFlag;
|
||||||
/* 0x016C */ ColliderTris collider;
|
/* 0x016C */ ColliderTris collider;
|
||||||
/* 0x018C */ ColliderTrisElement colliderItems[4];
|
/* 0x018C */ ColliderTrisElement colliderElements[4];
|
||||||
} BgHidanDalm; // size = 0x02FC
|
} BgHidanDalm; // size = 0x02FC
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -153,7 +153,7 @@ void BgHidanHamstep_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
if (PARAMS_GET_U(this->dyna.actor.params, 0, 8) == 0) {
|
if (PARAMS_GET_U(this->dyna.actor.params, 0, 8) == 0) {
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInit, this->colliderItems);
|
Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInit, this->colliderElements);
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
for (i2 = 0; i2 < 3; i2++) {
|
for (i2 = 0; i2 < 3; i2++) {
|
||||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgHidanHamstepActionFunc)(struct BgHidanHamstep*, struct PlayStat
|
||||||
typedef struct BgHidanHamstep {
|
typedef struct BgHidanHamstep {
|
||||||
/* 0x0000 */ DynaPolyActor dyna;
|
/* 0x0000 */ DynaPolyActor dyna;
|
||||||
/* 0x0164 */ ColliderTris collider;
|
/* 0x0164 */ ColliderTris collider;
|
||||||
/* 0x0184 */ ColliderTrisElement colliderItems[2];
|
/* 0x0184 */ ColliderTrisElement colliderElements[2];
|
||||||
/* 0x023C */ BgHidanHamstepActionFunc actionFunc;
|
/* 0x023C */ BgHidanHamstepActionFunc actionFunc;
|
||||||
/* 0x0240 */ s32 action;
|
/* 0x0240 */ s32 action;
|
||||||
/* 0x0244 */ s32 unk_244;
|
/* 0x0244 */ s32 unk_244;
|
||||||
|
|
|
@ -95,7 +95,7 @@ void BgHidanHrock_Init(Actor* thisx, PlayState* play) {
|
||||||
this->unk_16A = PARAMS_GET_U(thisx->params, 0, 6);
|
this->unk_16A = PARAMS_GET_U(thisx->params, 0, 6);
|
||||||
thisx->params = PARAMS_GET_U(thisx->params, 8, 8);
|
thisx->params = PARAMS_GET_U(thisx->params, 8, 8);
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
Collider_SetTris(play, &this->collider, thisx, &sTrisInit, this->colliderItems);
|
Collider_SetTris(play, &this->collider, thisx, &sTrisInit, this->colliderElements);
|
||||||
DynaPolyActor_Init(&this->dyna, 0);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
|
|
||||||
sinRotY = Math_SinS(thisx->shape.rot.y);
|
sinRotY = Math_SinS(thisx->shape.rot.y);
|
||||||
|
|
|
@ -14,7 +14,7 @@ typedef struct BgHidanHrock {
|
||||||
/* 0x0168 */ s16 unk_168;
|
/* 0x0168 */ s16 unk_168;
|
||||||
/* 0x016A */ u8 unk_16A;
|
/* 0x016A */ u8 unk_16A;
|
||||||
/* 0x016C */ ColliderTris collider;
|
/* 0x016C */ ColliderTris collider;
|
||||||
/* 0x018C */ ColliderTrisElement colliderItems[2];
|
/* 0x018C */ ColliderTrisElement colliderElements[2];
|
||||||
} BgHidanHrock; // size = 0x0244
|
} BgHidanHrock; // size = 0x0244
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -103,7 +103,7 @@ void BgHidanKowarerukabe_InitColliderSphere(BgHidanKowarerukabe* this, PlayState
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
|
||||||
|
|
||||||
this->collider.elements[0].dim.modelSphere.radius = sphereRadii[PARAMS_GET_U(this->dyna.actor.params, 0, 8)];
|
this->collider.elements[0].dim.modelSphere.radius = sphereRadii[PARAMS_GET_U(this->dyna.actor.params, 0, 8)];
|
||||||
this->collider.elements[0].dim.modelSphere.center.y = sphereYPositions[PARAMS_GET_U(this->dyna.actor.params, 0, 8)];
|
this->collider.elements[0].dim.modelSphere.center.y = sphereYPositions[PARAMS_GET_U(this->dyna.actor.params, 0, 8)];
|
||||||
|
|
|
@ -9,7 +9,7 @@ struct BgHidanKowarerukabe;
|
||||||
typedef struct BgHidanKowarerukabe {
|
typedef struct BgHidanKowarerukabe {
|
||||||
/* 0x0000 */ DynaPolyActor dyna;
|
/* 0x0000 */ DynaPolyActor dyna;
|
||||||
/* 0x0164 */ ColliderJntSph collider;
|
/* 0x0164 */ ColliderJntSph collider;
|
||||||
/* 0x0184 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0184 */ ColliderJntSphElement colliderElements[1];
|
||||||
} BgHidanKowarerukabe; // size = 0x01C4
|
} BgHidanKowarerukabe; // size = 0x01C4
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -141,8 +141,8 @@ void BgHidanRsekizou_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader_GetVirtual(&gFireTempleSpinningFlamethrowerCol, &colHeader);
|
CollisionHeader_GetVirtual(&gFireTempleSpinningFlamethrowerCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
|
||||||
for (i = 0; i < ARRAY_COUNT(this->colliderItems); i++) {
|
for (i = 0; i < ARRAY_COUNT(this->colliderElements); i++) {
|
||||||
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
||||||
}
|
}
|
||||||
this->burnFrame = 0;
|
this->burnFrame = 0;
|
||||||
|
@ -178,7 +178,7 @@ void BgHidanRsekizou_Update(Actor* thisx, PlayState* play) {
|
||||||
yawSine = Math_SinS(this->dyna.actor.shape.rot.y);
|
yawSine = Math_SinS(this->dyna.actor.shape.rot.y);
|
||||||
yawCosine = Math_CosS(this->dyna.actor.shape.rot.y);
|
yawCosine = Math_CosS(this->dyna.actor.shape.rot.y);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_COUNT(this->colliderItems); i++) {
|
for (i = 0; i < ARRAY_COUNT(this->colliderElements); i++) {
|
||||||
sphere = &this->collider.elements[i];
|
sphere = &this->collider.elements[i];
|
||||||
sphere->dim.worldSphere.center.x = this->dyna.actor.home.pos.x + yawCosine * sphere->dim.modelSphere.center.x +
|
sphere->dim.worldSphere.center.x = this->dyna.actor.home.pos.x + yawCosine * sphere->dim.modelSphere.center.x +
|
||||||
yawSine * sphere->dim.modelSphere.center.z;
|
yawSine * sphere->dim.modelSphere.center.z;
|
||||||
|
|
|
@ -11,7 +11,7 @@ typedef struct BgHidanRsekizou {
|
||||||
/* 0x0164 */ s16 bendFrame;
|
/* 0x0164 */ s16 bendFrame;
|
||||||
/* 0x0166 */ s16 burnFrame;
|
/* 0x0166 */ s16 burnFrame;
|
||||||
/* 0x0168 */ ColliderJntSph collider;
|
/* 0x0168 */ ColliderJntSph collider;
|
||||||
/* 0x0188 */ ColliderJntSphElement colliderItems[6];
|
/* 0x0188 */ ColliderJntSphElement colliderElements[6];
|
||||||
} BgHidanRsekizou; // size = 0x0308
|
} BgHidanRsekizou; // size = 0x0308
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -165,8 +165,8 @@ void BgHidanSekizou_Init(Actor* thisx, PlayState* play) {
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, 0);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->elements);
|
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
|
||||||
for (i = 0; i < ARRAY_COUNT(this->elements); i++) {
|
for (i = 0; i < ARRAY_COUNT(this->colliderElements); i++) {
|
||||||
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
||||||
}
|
}
|
||||||
if (this->dyna.actor.params == 0) {
|
if (this->dyna.actor.params == 0) {
|
||||||
|
@ -221,7 +221,7 @@ void func_8088D434(BgHidanSekizou* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (i = 3 * phi_s4; i < ARRAY_COUNT(this->elements); i++) {
|
for (i = 3 * phi_s4; i < ARRAY_COUNT(this->colliderElements); i++) {
|
||||||
this->collider.elements[i].base.atElemFlags &= ~ATELEM_ON;
|
this->collider.elements[i].base.atElemFlags &= ~ATELEM_ON;
|
||||||
this->collider.elements[i].base.ocElemFlags &= ~OCELEM_ON;
|
this->collider.elements[i].base.ocElemFlags &= ~OCELEM_ON;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ typedef struct BgHidanSekizou {
|
||||||
/* 0x0168 */ s16 unk_168[4];
|
/* 0x0168 */ s16 unk_168[4];
|
||||||
/* 0x0170 */ s16 unk_170;
|
/* 0x0170 */ s16 unk_170;
|
||||||
/* 0x0174 */ ColliderJntSph collider;
|
/* 0x0174 */ ColliderJntSph collider;
|
||||||
/* 0x0194 */ ColliderJntSphElement elements[6];
|
/* 0x0194 */ ColliderJntSphElement colliderElements[6];
|
||||||
} BgHidanSekizou; // size = 0x0314
|
} BgHidanSekizou; // size = 0x0314
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -107,7 +107,7 @@ void BgHidanSima_Init(Actor* thisx, PlayState* play) {
|
||||||
}
|
}
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->elements);
|
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
|
||||||
for (i = 0; i < ARRAY_COUNT(sJntSphElementsInit); i++) {
|
for (i = 0; i < ARRAY_COUNT(sJntSphElementsInit); i++) {
|
||||||
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ typedef struct BgHidanSima {
|
||||||
/* 0x0164 */ BgHidanSimaActionFunc actionFunc;
|
/* 0x0164 */ BgHidanSimaActionFunc actionFunc;
|
||||||
/* 0x0168 */ s16 timer;
|
/* 0x0168 */ s16 timer;
|
||||||
/* 0x016C */ ColliderJntSph collider;
|
/* 0x016C */ ColliderJntSph collider;
|
||||||
/* 0x018C */ ColliderJntSphElement elements[2];
|
/* 0x018C */ ColliderJntSphElement colliderElements[2];
|
||||||
} BgHidanSima; // size = 0x020C
|
} BgHidanSima; // size = 0x020C
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -92,7 +92,7 @@ void BgJyaBombiwa_InitCollider(BgJyaBombiwa* this, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BgJyaBombiwa_Init(Actor* thisx, PlayState* play) {
|
void BgJyaBombiwa_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
|
@ -11,7 +11,7 @@ typedef struct BgJyaBombiwa {
|
||||||
/* 0x0000 */ DynaPolyActor dyna;
|
/* 0x0000 */ DynaPolyActor dyna;
|
||||||
/* 0x0164 */ s32 unk_164;
|
/* 0x0164 */ s32 unk_164;
|
||||||
/* 0x0168 */ ColliderJntSph collider;
|
/* 0x0168 */ ColliderJntSph collider;
|
||||||
/* 0x0188 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0188 */ ColliderJntSphElement colliderElements[1];
|
||||||
} BgJyaBombiwa; // size = 0x01C8
|
} BgJyaBombiwa; // size = 0x01C8
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -87,7 +87,7 @@ void BgJyaHaheniron_ColliderInit(BgJyaHaheniron* this, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BgJyaHaheniron_SpawnFragments(PlayState* play, Vec3f* vec1, Vec3f* vec2) {
|
void BgJyaHaheniron_SpawnFragments(PlayState* play, Vec3f* vec1, Vec3f* vec2) {
|
||||||
|
|
|
@ -12,7 +12,7 @@ typedef struct BgJyaHaheniron {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ BgJyaHahenironActionFunc actionFunc;
|
/* 0x014C */ BgJyaHahenironActionFunc actionFunc;
|
||||||
/* 0x0150 */ ColliderJntSph collider;
|
/* 0x0150 */ ColliderJntSph collider;
|
||||||
/* 0x0170 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01B0 */ s16 timer;
|
/* 0x01B0 */ s16 timer;
|
||||||
} BgJyaHaheniron; // size = 0x01B4
|
} BgJyaHaheniron; // size = 0x01B4
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ void BgMenkuriEye_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
this->collider.elements[0].dim.worldSphere.center.x = this->actor.world.pos.x;
|
this->collider.elements[0].dim.worldSphere.center.x = this->actor.world.pos.x;
|
||||||
this->collider.elements[0].dim.worldSphere.center.y = this->actor.world.pos.y;
|
this->collider.elements[0].dim.worldSphere.center.y = this->actor.world.pos.y;
|
||||||
this->collider.elements[0].dim.worldSphere.center.z = this->actor.world.pos.z;
|
this->collider.elements[0].dim.worldSphere.center.z = this->actor.world.pos.z;
|
||||||
|
|
|
@ -10,7 +10,7 @@ typedef struct BgMenkuriEye {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ s16 framesUntilDisable;
|
/* 0x014C */ s16 framesUntilDisable;
|
||||||
/* 0x0150 */ ColliderJntSph collider;
|
/* 0x0150 */ ColliderJntSph collider;
|
||||||
/* 0x0170 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||||
} BgMenkuriEye; // size = 0x01B0
|
} BgMenkuriEye; // size = 0x01B0
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -206,7 +206,8 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actionFunc = BgMizuBwall_DoNothing;
|
this->actionFunc = BgMizuBwall_DoNothing;
|
||||||
} else {
|
} else {
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitFloor, this->elements)) {
|
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitFloor,
|
||||||
|
this->colliderElements)) {
|
||||||
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 484,
|
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 484,
|
||||||
this->dyna.actor.params);
|
this->dyna.actor.params);
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
|
@ -245,7 +246,8 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actionFunc = BgMizuBwall_DoNothing;
|
this->actionFunc = BgMizuBwall_DoNothing;
|
||||||
} else {
|
} else {
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitRutoWall, this->elements)) {
|
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitRutoWall,
|
||||||
|
this->colliderElements)) {
|
||||||
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 558,
|
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 558,
|
||||||
this->dyna.actor.params);
|
this->dyna.actor.params);
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
|
@ -284,7 +286,8 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actionFunc = BgMizuBwall_DoNothing;
|
this->actionFunc = BgMizuBwall_DoNothing;
|
||||||
} else {
|
} else {
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitUnusedWall, this->elements)) {
|
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitUnusedWall,
|
||||||
|
this->colliderElements)) {
|
||||||
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 638,
|
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 638,
|
||||||
this->dyna.actor.params);
|
this->dyna.actor.params);
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
|
@ -326,7 +329,7 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
||||||
} else {
|
} else {
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitStingerWall,
|
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitStingerWall,
|
||||||
this->elements)) {
|
this->colliderElements)) {
|
||||||
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 724,
|
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 724,
|
||||||
this->dyna.actor.params);
|
this->dyna.actor.params);
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
|
@ -368,7 +371,7 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
||||||
} else {
|
} else {
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitStingerWall,
|
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitStingerWall,
|
||||||
this->elements)) {
|
this->colliderElements)) {
|
||||||
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 798,
|
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 798,
|
||||||
this->dyna.actor.params);
|
this->dyna.actor.params);
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgMizuBwallActionFunc)(struct BgMizuBwall*, struct PlayState*);
|
||||||
typedef struct BgMizuBwall {
|
typedef struct BgMizuBwall {
|
||||||
/* 0x0000 */ DynaPolyActor dyna;
|
/* 0x0000 */ DynaPolyActor dyna;
|
||||||
/* 0x0164 */ ColliderTris collider;
|
/* 0x0164 */ ColliderTris collider;
|
||||||
/* 0x0184 */ ColliderTrisElement elements[3]; // only ever uses 2
|
/* 0x0184 */ ColliderTrisElement colliderElements[3]; // only ever uses 2
|
||||||
/* 0x0298 */ BgMizuBwallActionFunc actionFunc;
|
/* 0x0298 */ BgMizuBwallActionFunc actionFunc;
|
||||||
/* 0x029C */ f32 yRot;
|
/* 0x029C */ f32 yRot;
|
||||||
/* 0x02A0 */ s32 scrollAlpha1;
|
/* 0x02A0 */ s32 scrollAlpha1;
|
||||||
|
|
|
@ -102,7 +102,7 @@ void BgMoriHashigo_InitCollider(BgMoriHashigo* this, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
|
||||||
|
|
||||||
this->collider.elements[0].dim.worldSphere.center.x = (s16)this->dyna.actor.world.pos.x;
|
this->collider.elements[0].dim.worldSphere.center.x = (s16)this->dyna.actor.world.pos.x;
|
||||||
this->collider.elements[0].dim.worldSphere.center.y = (s16)this->dyna.actor.world.pos.y + 21;
|
this->collider.elements[0].dim.worldSphere.center.y = (s16)this->dyna.actor.world.pos.y + 21;
|
||||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgMoriHashigoActionFunc)(struct BgMoriHashigo*, PlayState*);
|
||||||
typedef struct BgMoriHashigo {
|
typedef struct BgMoriHashigo {
|
||||||
/* 0x0000 */ DynaPolyActor dyna;
|
/* 0x0000 */ DynaPolyActor dyna;
|
||||||
/* 0x0164 */ ColliderJntSph collider;
|
/* 0x0164 */ ColliderJntSph collider;
|
||||||
/* 0x0184 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0184 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01C4 */ BgMoriHashigoActionFunc actionFunc;
|
/* 0x01C4 */ BgMoriHashigoActionFunc actionFunc;
|
||||||
/* 0x01C8 */ s16 hitTimer;
|
/* 0x01C8 */ s16 hitTimer;
|
||||||
/* 0x01CA */ s16 bounceCounter;
|
/* 0x01CA */ s16 bounceCounter;
|
||||||
|
|
|
@ -216,7 +216,7 @@ void BgPoEvent_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
if (this->type >= 2) {
|
if (this->type >= 2) {
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
Collider_SetTris(play, &this->collider, thisx, &sTrisInit, this->colliderItems);
|
Collider_SetTris(play, &this->collider, thisx, &sTrisInit, this->colliderElements);
|
||||||
if (Flags_GetSwitch(play, thisx->params)) {
|
if (Flags_GetSwitch(play, thisx->params)) {
|
||||||
Actor_Kill(thisx);
|
Actor_Kill(thisx);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -16,7 +16,7 @@ typedef struct BgPoEvent {
|
||||||
/* 0x016A */ s8 direction;
|
/* 0x016A */ s8 direction;
|
||||||
/* 0x016C */ s16 timer;
|
/* 0x016C */ s16 timer;
|
||||||
/* 0x0170 */ ColliderTris collider;
|
/* 0x0170 */ ColliderTris collider;
|
||||||
/* 0x0190 */ ColliderTrisElement colliderItems[2];
|
/* 0x0190 */ ColliderTrisElement colliderElements[2];
|
||||||
} BgPoEvent; // size = 0x0248
|
} BgPoEvent; // size = 0x0248
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -121,7 +121,7 @@ void BgSpot06Objects_Init(Actor* thisx, PlayState* play) {
|
||||||
case LHO_WATER_TEMPLE_ENTRANCE_LOCK:
|
case LHO_WATER_TEMPLE_ENTRANCE_LOCK:
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, thisx, &sJntSphInit, this->colliderItem);
|
Collider_SetJntSph(play, &this->collider, thisx, &sJntSphInit, this->colliderElements);
|
||||||
|
|
||||||
if (LINK_IS_ADULT && Flags_GetSwitch(play, this->switchFlag)) {
|
if (LINK_IS_ADULT && Flags_GetSwitch(play, this->switchFlag)) {
|
||||||
if (!GET_EVENTCHKINF(EVENTCHKINF_RESTORED_LAKE_HYLIA)) {
|
if (!GET_EVENTCHKINF(EVENTCHKINF_RESTORED_LAKE_HYLIA)) {
|
||||||
|
|
|
@ -15,7 +15,7 @@ typedef struct BgSpot06Objects {
|
||||||
/* 0x016A */ s16 timer;
|
/* 0x016A */ s16 timer;
|
||||||
/* 0x016C */ f32 lakeHyliaWaterLevel;
|
/* 0x016C */ f32 lakeHyliaWaterLevel;
|
||||||
/* 0x0170 */ ColliderJntSph collider;
|
/* 0x0170 */ ColliderJntSph collider;
|
||||||
/* 0x0190 */ ColliderJntSphElement colliderItem[1];
|
/* 0x0190 */ ColliderJntSphElement colliderElements[1];
|
||||||
} BgSpot06Objects; // size = 0x01D0
|
} BgSpot06Objects; // size = 0x01D0
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -97,7 +97,7 @@ void func_808B02D0(BgSpot08Bakudankabe* this, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_808B0324(BgSpot08Bakudankabe* this, PlayState* play) {
|
void func_808B0324(BgSpot08Bakudankabe* this, PlayState* play) {
|
||||||
|
|
|
@ -9,7 +9,7 @@ struct BgSpot08Bakudankabe;
|
||||||
typedef struct BgSpot08Bakudankabe {
|
typedef struct BgSpot08Bakudankabe {
|
||||||
/* 0x0000 */ DynaPolyActor dyna;
|
/* 0x0000 */ DynaPolyActor dyna;
|
||||||
/* 0x0164 */ ColliderJntSph collider;
|
/* 0x0164 */ ColliderJntSph collider;
|
||||||
/* 0x0184 */ ColliderJntSphElement colliderItems[3];
|
/* 0x0184 */ ColliderJntSphElement colliderElements[3];
|
||||||
} BgSpot08Bakudankabe; // size = 0x0244
|
} BgSpot08Bakudankabe; // size = 0x0244
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -86,7 +86,7 @@ void BgYdanMaruta_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
Collider_InitTris(play, &this->collider);
|
Collider_InitTris(play, &this->collider);
|
||||||
Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInit, this->elements);
|
Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInit, this->colliderElements);
|
||||||
|
|
||||||
this->switchFlag = PARAMS_GET_U(this->dyna.actor.params, 0, 16);
|
this->switchFlag = PARAMS_GET_U(this->dyna.actor.params, 0, 16);
|
||||||
thisx->params = PARAMS_GET_U(thisx->params, 8, 8); // thisx is required to match here
|
thisx->params = PARAMS_GET_U(thisx->params, 8, 8); // thisx is required to match here
|
||||||
|
|
|
@ -14,7 +14,7 @@ typedef struct BgYdanMaruta {
|
||||||
/* 0x0168 */ u8 switchFlag;
|
/* 0x0168 */ u8 switchFlag;
|
||||||
/* 0x016A */ s16 unk_16A;
|
/* 0x016A */ s16 unk_16A;
|
||||||
/* 0x016C */ ColliderTris collider;
|
/* 0x016C */ ColliderTris collider;
|
||||||
/* 0x018C */ ColliderTrisElement elements[2];
|
/* 0x018C */ ColliderTrisElement colliderElements[2];
|
||||||
} BgYdanMaruta; // size = 0x0244
|
} BgYdanMaruta; // size = 0x0244
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -200,7 +200,7 @@ void BossDodongo_Init(Actor* thisx, PlayState* play) {
|
||||||
this->unk_224 = 2.0f;
|
this->unk_224 = 2.0f;
|
||||||
this->unk_228 = 9200.0f;
|
this->unk_228 = 9200.0f;
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->items);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
|
|
||||||
if (Flags_GetClear(play, play->roomCtx.curRoom.num)) { // KD is dead
|
if (Flags_GetClear(play, play->roomCtx.curRoom.num)) { // KD is dead
|
||||||
u16* temp_s1_3 = SEGMENTED_TO_VIRTUAL(gDodongosCavernBossLavaFloorTex);
|
u16* temp_s1_3 = SEGMENTED_TO_VIRTUAL(gDodongosCavernBossLavaFloorTex);
|
||||||
|
|
|
@ -96,7 +96,7 @@ typedef struct BossDodongo {
|
||||||
/* 0x0428 */ Vec3f subCamEye;
|
/* 0x0428 */ Vec3f subCamEye;
|
||||||
/* 0x0434 */ Vec3f subCamAt;
|
/* 0x0434 */ Vec3f subCamAt;
|
||||||
/* 0x0440 */ ColliderJntSph collider;
|
/* 0x0440 */ ColliderJntSph collider;
|
||||||
/* 0x0460 */ ColliderJntSphElement items[19];
|
/* 0x0460 */ ColliderJntSphElement colliderElements[19];
|
||||||
/* 0x0920 */ BossDodongoEffect effects[BOSS_DODONGO_EFFECT_COUNT];
|
/* 0x0920 */ BossDodongoEffect effects[BOSS_DODONGO_EFFECT_COUNT];
|
||||||
} BossDodongo; // size = 0x1820
|
} BossDodongo; // size = 0x1820
|
||||||
|
|
||||||
|
|
|
@ -193,7 +193,7 @@ void BossFd_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actor.world.pos.x = this->actor.world.pos.z = 0.0f;
|
this->actor.world.pos.x = this->actor.world.pos.z = 0.0f;
|
||||||
this->actor.world.pos.y = -200.0f;
|
this->actor.world.pos.y = -200.0f;
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->elements);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
|
|
||||||
for (i = 0; i < 100; i++) {
|
for (i = 0; i < 100; i++) {
|
||||||
this->bodySegsPos[i].x = this->actor.world.pos.x;
|
this->bodySegsPos[i].x = this->actor.world.pos.x;
|
||||||
|
|
|
@ -175,7 +175,7 @@ typedef struct BossFd {
|
||||||
/* 0x1488 */ f32 subCamAtYOffset;
|
/* 0x1488 */ f32 subCamAtYOffset;
|
||||||
/* 0x148C */ f32 subCamShake;
|
/* 0x148C */ f32 subCamShake;
|
||||||
/* 0x1490 */ ColliderJntSph collider;
|
/* 0x1490 */ ColliderJntSph collider;
|
||||||
/* 0x14B0 */ ColliderJntSphElement elements[19];
|
/* 0x14B0 */ ColliderJntSphElement colliderElements[19];
|
||||||
/* 0x1970 */ BossFdEffect effects[BOSSFD_EFFECT_COUNT];
|
/* 0x1970 */ BossFdEffect effects[BOSSFD_EFFECT_COUNT];
|
||||||
} BossFd; // size = 0x43A0
|
} BossFd; // size = 0x43A0
|
||||||
|
|
||||||
|
|
|
@ -185,7 +185,7 @@ void BossFd2_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actionFunc = BossFd2_Wait;
|
this->actionFunc = BossFd2_Wait;
|
||||||
}
|
}
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->elements);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BossFd2_Destroy(Actor* thisx, PlayState* play) {
|
void BossFd2_Destroy(Actor* thisx, PlayState* play) {
|
||||||
|
@ -816,7 +816,7 @@ void BossFd2_CollisionCheck(BossFd2* this, PlayState* play) {
|
||||||
if (this->actionFunc == BossFd2_ClawSwipe) {
|
if (this->actionFunc == BossFd2_ClawSwipe) {
|
||||||
Player* player = GET_PLAYER(play);
|
Player* player = GET_PLAYER(play);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_COUNT(this->elements); i++) {
|
for (i = 0; i < ARRAY_COUNT(this->colliderElements); i++) {
|
||||||
if (this->collider.elements[i].base.atElemFlags & ATELEM_HIT) {
|
if (this->collider.elements[i].base.atElemFlags & ATELEM_HIT) {
|
||||||
this->collider.elements[i].base.atElemFlags &= ~ATELEM_HIT;
|
this->collider.elements[i].base.atElemFlags &= ~ATELEM_HIT;
|
||||||
Actor_PlaySfx(&player->actor, NA_SE_PL_BODY_HIT);
|
Actor_PlaySfx(&player->actor, NA_SE_PL_BODY_HIT);
|
||||||
|
|
|
@ -83,7 +83,7 @@ typedef struct BossFd2 {
|
||||||
/* 0x1414 */ f32 subCamAtYOffset;
|
/* 0x1414 */ f32 subCamAtYOffset;
|
||||||
/* 0x1418 */ f32 subCamShake;
|
/* 0x1418 */ f32 subCamShake;
|
||||||
/* 0x141C */ ColliderJntSph collider;
|
/* 0x141C */ ColliderJntSph collider;
|
||||||
/* 0x143C */ ColliderJntSphElement elements[9];
|
/* 0x143C */ ColliderJntSphElement colliderElements[9];
|
||||||
} BossFd2; // size = 0x167C
|
} BossFd2; // size = 0x167C
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -385,7 +385,7 @@ void BossGoma_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actor.colChkInfo.health = 10;
|
this->actor.colChkInfo.health = 10;
|
||||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sColliderJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sColliderJntSphInit, this->colliderElements);
|
||||||
|
|
||||||
if (Flags_GetClear(play, play->roomCtx.curRoom.num)) {
|
if (Flags_GetClear(play, play->roomCtx.curRoom.num)) {
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
|
|
|
@ -150,7 +150,7 @@ typedef struct BossGoma {
|
||||||
/* 0x02A8 */ Vec3f defeatedLimbPositions[100]; // only 85/86 first indices actually used
|
/* 0x02A8 */ Vec3f defeatedLimbPositions[100]; // only 85/86 first indices actually used
|
||||||
/* 0x0758 */ u8 deadLimbsState[100]; // only 85/90 first indices actually used
|
/* 0x0758 */ u8 deadLimbsState[100]; // only 85/90 first indices actually used
|
||||||
/* 0x07BC */ ColliderJntSph collider;
|
/* 0x07BC */ ColliderJntSph collider;
|
||||||
/* 0x07DC */ ColliderJntSphElement colliderItems[13];
|
/* 0x07DC */ ColliderJntSphElement colliderElements[13];
|
||||||
} BossGoma; // size = 0x0B1C
|
} BossGoma; // size = 0x0B1C
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -118,7 +118,7 @@ void EnBa_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actor.colChkInfo.health = 4;
|
this->actor.colChkInfo.health = 4;
|
||||||
this->actor.colChkInfo.mass = MASS_HEAVY;
|
this->actor.colChkInfo.mass = MASS_HEAVY;
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
} else {
|
} else {
|
||||||
Actor_SetScale(&this->actor, 0.021f);
|
Actor_SetScale(&this->actor, 0.021f);
|
||||||
EnBa_SetupFallAsBlob(this);
|
EnBa_SetupFallAsBlob(this);
|
||||||
|
|
|
@ -31,7 +31,7 @@ typedef struct EnBa {
|
||||||
/* 0x031A */ s16 unk_31A;
|
/* 0x031A */ s16 unk_31A;
|
||||||
/* 0x031C */ s16 unk_31C;
|
/* 0x031C */ s16 unk_31C;
|
||||||
/* 0x0320 */ ColliderJntSph collider;
|
/* 0x0320 */ ColliderJntSph collider;
|
||||||
/* 0x0340 */ ColliderJntSphElement colliderItems[2];
|
/* 0x0340 */ ColliderJntSphElement colliderElements[2];
|
||||||
} EnBa; // size = 0x03C0
|
} EnBa; // size = 0x03C0
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -335,7 +335,7 @@ void EnBb_Init(Actor* thisx, PlayState* play) {
|
||||||
this->unk_254 = 0;
|
this->unk_254 = 0;
|
||||||
thisx->colChkInfo.health = 4;
|
thisx->colChkInfo.health = 4;
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, thisx, &sJntSphInit, this->elements);
|
Collider_SetJntSph(play, &this->collider, thisx, &sJntSphInit, this->colliderElements);
|
||||||
|
|
||||||
this->actionState = PARAMS_GET_NOMASK(thisx->params, 8);
|
this->actionState = PARAMS_GET_NOMASK(thisx->params, 8);
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ typedef struct EnBb {
|
||||||
/* 0x02A8 */ s16 fireIceTimer;
|
/* 0x02A8 */ s16 fireIceTimer;
|
||||||
/* 0x02AA */ u8 dmgEffect;
|
/* 0x02AA */ u8 dmgEffect;
|
||||||
/* 0x02AC */ ColliderJntSph collider;
|
/* 0x02AC */ ColliderJntSph collider;
|
||||||
/* 0x02CC */ ColliderJntSphElement elements[1];
|
/* 0x02CC */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x030C */ BodyBreak bodyBreak;
|
/* 0x030C */ BodyBreak bodyBreak;
|
||||||
/* 0x0324 */ Actor* targetActor;
|
/* 0x0324 */ Actor* targetActor;
|
||||||
} EnBb; // size = 0x0328
|
} EnBb; // size = 0x0328
|
||||||
|
|
|
@ -159,7 +159,7 @@ void EnButte_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
SkelAnime_Init(play, &this->skelAnime, &gButterflySkel, &gButterflyAnim, this->jointTable, this->morphTable, 8);
|
SkelAnime_Init(play, &this->skelAnime, &gButterflySkel, &gButterflyAnim, this->jointTable, this->morphTable, 8);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sColliderInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sColliderInit, this->colliderElements);
|
||||||
this->actor.colChkInfo.mass = 0;
|
this->actor.colChkInfo.mass = 0;
|
||||||
this->unk_25C = Rand_ZeroOne() * 0xFFFF;
|
this->unk_25C = Rand_ZeroOne() * 0xFFFF;
|
||||||
this->unk_25E = Rand_ZeroOne() * 0xFFFF;
|
this->unk_25E = Rand_ZeroOne() * 0xFFFF;
|
||||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*EnButteActionFunc)(struct EnButte*, PlayState*);
|
||||||
typedef struct EnButte {
|
typedef struct EnButte {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ ColliderJntSph collider;
|
/* 0x014C */ ColliderJntSph collider;
|
||||||
/* 0x016C */ ColliderJntSphElement colliderItems[1];
|
/* 0x016C */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01AC */ SkelAnime skelAnime;
|
/* 0x01AC */ SkelAnime skelAnime;
|
||||||
/* 0x01F0 */ Vec3s jointTable[8];
|
/* 0x01F0 */ Vec3s jointTable[8];
|
||||||
/* 0x0220 */ Vec3s morphTable[8];
|
/* 0x0220 */ Vec3s morphTable[8];
|
||||||
|
|
|
@ -124,7 +124,7 @@ void EnCrow_Init(Actor* thisx, PlayState* play) {
|
||||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &gGuaySkel, &gGuayFlyAnim, this->jointTable, this->morphTable, 9);
|
SkelAnime_InitFlex(play, &this->skelAnime, &gGuaySkel, &gGuayFlyAnim, this->jointTable, this->morphTable, 9);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
this->collider.elements[0].dim.worldSphere.radius = sJntSphInit.elements[0].dim.modelSphere.radius;
|
this->collider.elements[0].dim.worldSphere.radius = sJntSphInit.elements[0].dim.modelSphere.radius;
|
||||||
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
|
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
|
||||||
ActorShape_Init(&this->actor.shape, 2000.0f, ActorShadow_DrawCircle, 20.0f);
|
ActorShape_Init(&this->actor.shape, 2000.0f, ActorShadow_DrawCircle, 20.0f);
|
||||||
|
|
|
@ -19,7 +19,7 @@ typedef struct EnCrow {
|
||||||
/* 0x01CA */ Vec3s jointTable[9];
|
/* 0x01CA */ Vec3s jointTable[9];
|
||||||
/* 0x0200 */ Vec3s morphTable[9];
|
/* 0x0200 */ Vec3s morphTable[9];
|
||||||
/* 0x0238 */ ColliderJntSph collider;
|
/* 0x0238 */ ColliderJntSph collider;
|
||||||
/* 0x0258 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0258 */ ColliderJntSphElement colliderElements[1];
|
||||||
} EnCrow; // size = 0x0298
|
} EnCrow; // size = 0x0298
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -178,7 +178,7 @@ void EnDha_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actor.colChkInfo.health = 8;
|
this->actor.colChkInfo.health = 8;
|
||||||
this->limbAngleX[0] = -0x4000;
|
this->limbAngleX[0] = -0x4000;
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItem);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||||
|
|
||||||
EnDha_SetupWait(this);
|
EnDha_SetupWait(this);
|
||||||
|
|
|
@ -24,7 +24,7 @@ typedef struct EnDha {
|
||||||
/* 0x01DC */ Vec3f handPos[2];
|
/* 0x01DC */ Vec3f handPos[2];
|
||||||
/* 0x01F4 */ Vec3f armPos;
|
/* 0x01F4 */ Vec3f armPos;
|
||||||
/* 0x0200 */ ColliderJntSph collider;
|
/* 0x0200 */ ColliderJntSph collider;
|
||||||
/* 0x0220 */ ColliderJntSphElement colliderItem[5];
|
/* 0x0220 */ ColliderJntSphElement colliderElements[5];
|
||||||
} EnDha; // size = 0x0360
|
} EnDha; // size = 0x0360
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -460,7 +460,7 @@ void EnFd_Init(Actor* thisx, PlayState* play) {
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &gFlareDancerSkel, NULL, this->jointTable, this->morphTable, 27);
|
SkelAnime_InitFlex(play, &this->skelAnime, &gFlareDancerSkel, NULL, this->jointTable, this->morphTable, 27);
|
||||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 32.0f);
|
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 32.0f);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colSphs);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(0xF), &sColChkInit);
|
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(0xF), &sColChkInit);
|
||||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||||
this->actor.flags |= ACTOR_FLAG_SFX_FOR_PLAYER_BODY_HIT;
|
this->actor.flags |= ACTOR_FLAG_SFX_FOR_PLAYER_BODY_HIT;
|
||||||
|
|
|
@ -34,7 +34,7 @@ typedef struct EnFd {
|
||||||
/* 0x014C */ SkelAnime skelAnime;
|
/* 0x014C */ SkelAnime skelAnime;
|
||||||
/* 0x0190 */ EnFdActionFunc actionFunc;
|
/* 0x0190 */ EnFdActionFunc actionFunc;
|
||||||
/* 0x0194 */ ColliderJntSph collider;
|
/* 0x0194 */ ColliderJntSph collider;
|
||||||
/* 0x01B4 */ ColliderJntSphElement colSphs[12];
|
/* 0x01B4 */ ColliderJntSphElement colliderElements[12];
|
||||||
/* 0x04B4 */ u8 coreActive;
|
/* 0x04B4 */ u8 coreActive;
|
||||||
/* 0x04B6 */ s16 initYawToInitPos;
|
/* 0x04B6 */ s16 initYawToInitPos;
|
||||||
/* 0x04B8 */ s16 curYawToInitPos;
|
/* 0x04B8 */ s16 curYawToInitPos;
|
||||||
|
|
|
@ -159,7 +159,7 @@ void EnFirefly_Init(Actor* thisx, PlayState* play) {
|
||||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
|
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
|
||||||
SkelAnime_Init(play, &this->skelAnime, &gKeeseSkeleton, &gKeeseFlyAnim, this->jointTable, this->morphTable, 28);
|
SkelAnime_Init(play, &this->skelAnime, &gKeeseSkeleton, &gKeeseFlyAnim, this->jointTable, this->morphTable, 28);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
|
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
|
||||||
|
|
||||||
if (PARAMS_GET_NOSHIFT(this->actor.params, 15, 1) != 0) {
|
if (PARAMS_GET_NOSHIFT(this->actor.params, 15, 1) != 0) {
|
||||||
|
|
|
@ -21,7 +21,7 @@ typedef struct EnFirefly {
|
||||||
/* 0x0266 */ Vec3s morphTable[28];
|
/* 0x0266 */ Vec3s morphTable[28];
|
||||||
/* 0x0310 */ f32 maxAltitude;
|
/* 0x0310 */ f32 maxAltitude;
|
||||||
/* 0x0314 */ ColliderJntSph collider;
|
/* 0x0314 */ ColliderJntSph collider;
|
||||||
/* 0x0344 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0344 */ ColliderJntSphElement colliderElements[1];
|
||||||
} EnFirefly; // size = 0x0374
|
} EnFirefly; // size = 0x0374
|
||||||
|
|
||||||
typedef enum KeeseType {
|
typedef enum KeeseType {
|
||||||
|
|
|
@ -135,7 +135,7 @@ void EnFish_Init(Actor* thisx, PlayState* play) {
|
||||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &gFishSkel, &gFishInWaterAnim, this->jointTable, this->morphTable, 7);
|
SkelAnime_InitFlex(play, &this->skelAnime, &gFishSkel, &gFishInWaterAnim, this->jointTable, this->morphTable, 7);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
this->actor.colChkInfo.mass = 50;
|
this->actor.colChkInfo.mass = 50;
|
||||||
this->slowPhase = Rand_ZeroOne() * (0xFFFF + 0.5f);
|
this->slowPhase = Rand_ZeroOne() * (0xFFFF + 0.5f);
|
||||||
this->fastPhase = Rand_ZeroOne() * (0xFFFF + 0.5f);
|
this->fastPhase = Rand_ZeroOne() * (0xFFFF + 0.5f);
|
||||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*EnFishActionFunc)(struct EnFish*, struct PlayState*);
|
||||||
typedef struct EnFish {
|
typedef struct EnFish {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ ColliderJntSph collider;
|
/* 0x014C */ ColliderJntSph collider;
|
||||||
/* 0x016C */ ColliderJntSphElement colliderItems[1];
|
/* 0x016C */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01AC */ SkelAnime skelAnime;
|
/* 0x01AC */ SkelAnime skelAnime;
|
||||||
/* 0x01F0 */ Vec3s jointTable[7];
|
/* 0x01F0 */ Vec3s jointTable[7];
|
||||||
/* 0x021A */ Vec3s morphTable[7];
|
/* 0x021A */ Vec3s morphTable[7];
|
||||||
|
|
|
@ -206,7 +206,7 @@ void EnFw_Init(Actor* thisx, PlayState* play) {
|
||||||
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENFW_ANIM_0);
|
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENFW_ANIM_0);
|
||||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
|
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->sphs);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(0x10), &D_80A1FB94);
|
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(0x10), &D_80A1FB94);
|
||||||
Actor_SetScale(&this->actor, 0.01f);
|
Actor_SetScale(&this->actor, 0.01f);
|
||||||
this->runDirection = -this->actor.params;
|
this->runDirection = -this->actor.params;
|
||||||
|
|
|
@ -28,7 +28,7 @@ typedef struct EnFw {
|
||||||
/* 0x014C */ SkelAnime skelAnime;
|
/* 0x014C */ SkelAnime skelAnime;
|
||||||
/* 0x0190 */ EnFwActionFunc actionFunc;
|
/* 0x0190 */ EnFwActionFunc actionFunc;
|
||||||
/* 0x0194 */ ColliderJntSph collider;
|
/* 0x0194 */ ColliderJntSph collider;
|
||||||
/* 0x01B4 */ ColliderJntSphElement sphs[1];
|
/* 0x01B4 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01F4 */ Vec3f bompPos;
|
/* 0x01F4 */ Vec3f bompPos;
|
||||||
/* 0x0200 */ u8 lastDmgHook;
|
/* 0x0200 */ u8 lastDmgHook;
|
||||||
/* 0x0202 */ s16 runDirection;
|
/* 0x0202 */ s16 runDirection;
|
||||||
|
|
|
@ -105,7 +105,7 @@ void EnGoroiwa_InitCollider(EnGoroiwa* this, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
EnGoroiwa_UpdateCollider(this);
|
EnGoroiwa_UpdateCollider(this);
|
||||||
this->collider.elements[0].dim.worldSphere.radius = 58;
|
this->collider.elements[0].dim.worldSphere.radius = 58;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ typedef struct EnGoroiwa {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ EnGoroiwaActionFunc actionFunc;
|
/* 0x014C */ EnGoroiwaActionFunc actionFunc;
|
||||||
/* 0x0150 */ ColliderJntSph collider;
|
/* 0x0150 */ ColliderJntSph collider;
|
||||||
/* 0x0170 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01B0 */ Vec3f prevUnitRollAxis;
|
/* 0x01B0 */ Vec3f prevUnitRollAxis;
|
||||||
/* 0x01BC */ f32 prevRollAngleDiff;
|
/* 0x01BC */ f32 prevRollAngleDiff;
|
||||||
/* 0x01C0 */ f32 rollRotSpeed;
|
/* 0x01C0 */ f32 rollRotSpeed;
|
||||||
|
|
|
@ -124,7 +124,7 @@ void EnNy_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actor.colChkInfo.damageTable = &sDamageTable;
|
this->actor.colChkInfo.damageTable = &sDamageTable;
|
||||||
this->actor.colChkInfo.health = 2;
|
this->actor.colChkInfo.health = 2;
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sColliderInit, this->elements);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sColliderInit, this->colliderElements);
|
||||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
|
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
|
||||||
this->unk_1CA = 0;
|
this->unk_1CA = 0;
|
||||||
this->unk_1D0 = 0;
|
this->unk_1D0 = 0;
|
||||||
|
|
|
@ -12,7 +12,7 @@ typedef struct EnNy {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ EnNyActionFunc actionFunc;
|
/* 0x014C */ EnNyActionFunc actionFunc;
|
||||||
/* 0x0150 */ ColliderJntSph collider;
|
/* 0x0150 */ ColliderJntSph collider;
|
||||||
/* 0x0170 */ ColliderJntSphElement elements[1];
|
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01B0 */ char unk_1B0[0x18];
|
/* 0x01B0 */ char unk_1B0[0x18];
|
||||||
/* 0x01C8 */ s16 timer;
|
/* 0x01C8 */ s16 timer;
|
||||||
/* 0x01CA */ s16 unk_1CA;
|
/* 0x01CA */ s16 unk_1CA;
|
||||||
|
|
|
@ -182,7 +182,7 @@ void EnSkb_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actor.naviEnemyId = NAVI_ENEMY_STALCHILD;
|
this->actor.naviEnemyId = NAVI_ENEMY_STALCHILD;
|
||||||
|
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItem);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
Actor_SetScale(&this->actor, ((this->actor.params * 0.1f) + 1.0f) * 0.01f);
|
Actor_SetScale(&this->actor, ((this->actor.params * 0.1f) + 1.0f) * 0.01f);
|
||||||
|
|
||||||
this->collider.elements[0].dim.modelSphere.radius = this->collider.elements[0].dim.worldSphere.radius =
|
this->collider.elements[0].dim.modelSphere.radius = this->collider.elements[0].dim.worldSphere.radius =
|
||||||
|
|
|
@ -21,7 +21,7 @@ typedef struct EnSkb {
|
||||||
/* 0x0288 */ s16 headlessYawOffset;
|
/* 0x0288 */ s16 headlessYawOffset;
|
||||||
/* 0x028C */ BodyBreak bodyBreak;
|
/* 0x028C */ BodyBreak bodyBreak;
|
||||||
/* 0x02A4 */ ColliderJntSph collider;
|
/* 0x02A4 */ ColliderJntSph collider;
|
||||||
/* 0x02C4 */ ColliderJntSphElement colliderItem[2];
|
/* 0x02C4 */ ColliderJntSphElement colliderElements[2];
|
||||||
} EnSkb; // size = 0x0344
|
} EnSkb; // size = 0x0344
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -255,7 +255,7 @@ void EnSw_Init(Actor* thisx, PlayState* play) {
|
||||||
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENSW_ANIM_0);
|
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENSW_ANIM_0);
|
||||||
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
|
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->sphs);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(0xE), &D_80B0F074);
|
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(0xE), &D_80B0F074);
|
||||||
this->actor.scale.x = 0.02f;
|
this->actor.scale.x = 0.02f;
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ typedef struct EnSw {
|
||||||
/* 0x014C */ SkelAnime skelAnime;
|
/* 0x014C */ SkelAnime skelAnime;
|
||||||
/* 0x0190 */ EnSwActionFunc actionFunc;
|
/* 0x0190 */ EnSwActionFunc actionFunc;
|
||||||
/* 0x0194 */ ColliderJntSph collider;
|
/* 0x0194 */ ColliderJntSph collider;
|
||||||
/* 0x01B4 */ ColliderJntSphElement sphs[1];
|
/* 0x01B4 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01F4 */ Color_RGBA8 unk_1F4;
|
/* 0x01F4 */ Color_RGBA8 unk_1F4;
|
||||||
/* 0x01F8 */ Vec3s jointTable[30];
|
/* 0x01F8 */ Vec3s jointTable[30];
|
||||||
/* 0x02AC */ Vec3s morphTable[30];
|
/* 0x02AC */ Vec3s morphTable[30];
|
||||||
|
|
|
@ -161,7 +161,7 @@ void EnTp_Init(Actor* thisx, PlayState* play2) {
|
||||||
now = this;
|
now = this;
|
||||||
this->alpha = 255;
|
this->alpha = 255;
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
|
|
||||||
if (this->actor.params <= TAILPASARAN_HEAD) {
|
if (this->actor.params <= TAILPASARAN_HEAD) {
|
||||||
this->actor.naviEnemyId = NAVI_ENEMY_TAILPASARAN;
|
this->actor.naviEnemyId = NAVI_ENEMY_TAILPASARAN;
|
||||||
|
|
|
@ -24,7 +24,7 @@ typedef struct EnTp {
|
||||||
/* 0x016C */ f32 horizontalVariation;
|
/* 0x016C */ f32 horizontalVariation;
|
||||||
/* 0x0170 */ f32 extraHeightVariation;
|
/* 0x0170 */ f32 extraHeightVariation;
|
||||||
/* 0x0174 */ ColliderJntSph collider;
|
/* 0x0174 */ ColliderJntSph collider;
|
||||||
/* 0x0194 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0194 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01D4 */ struct EnTp* head;
|
/* 0x01D4 */ struct EnTp* head;
|
||||||
} EnTp; // size = 0x01D8
|
} EnTp; // size = 0x01D8
|
||||||
|
|
||||||
|
|
|
@ -162,7 +162,7 @@ void ObjComb_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
|
||||||
ObjComb_SetupWait(this);
|
ObjComb_SetupWait(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ typedef struct ObjComb {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ ObjCombActionFunc actionFunc;
|
/* 0x014C */ ObjCombActionFunc actionFunc;
|
||||||
/* 0x0150 */ ColliderJntSph collider;
|
/* 0x0150 */ ColliderJntSph collider;
|
||||||
/* 0x0170 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01B0 */ s16 unk_1B0;
|
/* 0x01B0 */ s16 unk_1B0;
|
||||||
/* 0x01B2 */ s16 unk_1B2;
|
/* 0x01B2 */ s16 unk_1B2;
|
||||||
} ObjComb; // size = 0x01B4
|
} ObjComb; // size = 0x01B4
|
||||||
|
|
|
@ -92,7 +92,7 @@ void ObjLightswitch_InitCollider(ObjLightswitch* this, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sColliderJntSphInit, this->colliderItems);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sColliderJntSphInit, this->colliderElements);
|
||||||
Matrix_SetTranslateRotateYXZ(this->actor.world.pos.x,
|
Matrix_SetTranslateRotateYXZ(this->actor.world.pos.x,
|
||||||
this->actor.world.pos.y + (this->actor.shape.yOffset * this->actor.scale.y),
|
this->actor.world.pos.y + (this->actor.shape.yOffset * this->actor.scale.y),
|
||||||
this->actor.world.pos.z, &this->actor.shape.rot);
|
this->actor.world.pos.z, &this->actor.shape.rot);
|
||||||
|
|
|
@ -19,7 +19,7 @@ typedef struct ObjLightswitch {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ ObjLightswitchActionFunc actionFunc;
|
/* 0x014C */ ObjLightswitchActionFunc actionFunc;
|
||||||
/* 0x0150 */ ColliderJntSph collider;
|
/* 0x0150 */ ColliderJntSph collider;
|
||||||
/* 0x0170 */ ColliderJntSphElement colliderItems[1];
|
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||||
/* 0x01B0 */ s16 timer; // collision-related threshold and controls animation/logic when turning on/off
|
/* 0x01B0 */ s16 timer; // collision-related threshold and controls animation/logic when turning on/off
|
||||||
/* 0x01B2 */ s16 toggleDelay; // timer ticking down used for delaying tuning on/off or disappearing, can be bypassed
|
/* 0x01B2 */ s16 toggleDelay; // timer ticking down used for delaying tuning on/off or disappearing, can be bypassed
|
||||||
/* 0x01B4 */ s16 faceTextureIndex; // texture used by the center part of the sun
|
/* 0x01B4 */ s16 faceTextureIndex; // texture used by the center part of the sun
|
||||||
|
|
|
@ -213,7 +213,7 @@ void ObjSwitch_InitJntSphCollider(ObjSwitch* this, PlayState* play, ColliderJntS
|
||||||
ColliderJntSph* colliderJntSph = &this->jntSph.col;
|
ColliderJntSph* colliderJntSph = &this->jntSph.col;
|
||||||
|
|
||||||
Collider_InitJntSph(play, colliderJntSph);
|
Collider_InitJntSph(play, colliderJntSph);
|
||||||
Collider_SetJntSph(play, colliderJntSph, &this->dyna.actor, colliderJntSphInit, this->jntSph.items);
|
Collider_SetJntSph(play, colliderJntSph, &this->dyna.actor, colliderJntSphInit, this->jntSph.elements);
|
||||||
Matrix_SetTranslateRotateYXZ(this->dyna.actor.world.pos.x,
|
Matrix_SetTranslateRotateYXZ(this->dyna.actor.world.pos.x,
|
||||||
this->dyna.actor.world.pos.y +
|
this->dyna.actor.world.pos.y +
|
||||||
this->dyna.actor.shape.yOffset * this->dyna.actor.scale.y,
|
this->dyna.actor.shape.yOffset * this->dyna.actor.scale.y,
|
||||||
|
@ -229,7 +229,7 @@ void ObjSwitch_InitTrisCollider(ObjSwitch* this, PlayState* play, ColliderTrisIn
|
||||||
Vec3f pos[3];
|
Vec3f pos[3];
|
||||||
|
|
||||||
Collider_InitTris(play, colliderTris);
|
Collider_InitTris(play, colliderTris);
|
||||||
Collider_SetTris(play, colliderTris, &this->dyna.actor, colliderTrisInit, this->tris.items);
|
Collider_SetTris(play, colliderTris, &this->dyna.actor, colliderTrisInit, this->tris.elements);
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
for (j = 0; j < 3; j++) {
|
for (j = 0; j < 3; j++) {
|
||||||
|
|
|
@ -27,12 +27,12 @@ typedef enum ObjSwitchSubType {
|
||||||
|
|
||||||
typedef struct ObjSwitchJntSph {
|
typedef struct ObjSwitchJntSph {
|
||||||
/* 0x00 */ ColliderJntSph col;
|
/* 0x00 */ ColliderJntSph col;
|
||||||
/* 0x20 */ ColliderJntSphElement items[1];
|
/* 0x20 */ ColliderJntSphElement elements[1];
|
||||||
} ObjSwitchJntSph;
|
} ObjSwitchJntSph;
|
||||||
|
|
||||||
typedef struct ObjSwitchTris {
|
typedef struct ObjSwitchTris {
|
||||||
/* 0x00 */ ColliderTris col;
|
/* 0x00 */ ColliderTris col;
|
||||||
/* 0x20 */ ColliderTrisElement items[2];
|
/* 0x20 */ ColliderTrisElement elements[2];
|
||||||
} ObjSwitchTris;
|
} ObjSwitchTris;
|
||||||
|
|
||||||
typedef struct ObjSwitch {
|
typedef struct ObjSwitch {
|
||||||
|
|
Loading…
Reference in New Issue