mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-11 16:09:09 +00:00
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
78 changed files with 92 additions and 89 deletions
|
@ -120,7 +120,7 @@ void BgBdanSwitch_InitDynaPoly(BgBdanSwitch* this, PlayState* play, CollisionHea
|
|||
void BgBdanSwitch_InitCollision(BgBdanSwitch* this, PlayState* play) {
|
||||
Actor* actor = &this->dyna.actor;
|
||||
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) {
|
||||
|
|
|
@ -20,7 +20,7 @@ typedef struct BgBdanSwitch {
|
|||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgBdanSwitchActionFunc actionFunc;
|
||||
/* 0x0168 */ ColliderJntSph collider;
|
||||
/* 0x0188 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0188 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01C8 */ f32 unk_1C8;
|
||||
/* 0x01CC */ s16 unk_1CC;
|
||||
/* 0x01CE */ char unk_1CE[0x2];
|
||||
|
|
|
@ -134,7 +134,7 @@ void BgBombwall_Init(Actor* thisx, PlayState* play) {
|
|||
BgBombwall_InitDynapoly(this, play);
|
||||
this->unk_2A2 |= 2;
|
||||
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 (j = 0; j <= 2; j++) {
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgBombwallActionFunc)(struct BgBombwall*, struct PlayState*);
|
|||
typedef struct BgBombwall {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ColliderTris collider;
|
||||
/* 0x0184 */ ColliderTrisElement colliderItems[3];
|
||||
/* 0x0184 */ ColliderTrisElement colliderElements[3];
|
||||
/* 0x0298 */ BgBombwallActionFunc actionFunc;
|
||||
/* 0x029C */ Gfx* dList;
|
||||
/* 0x02A0 */ s16 unk_2A0;
|
||||
|
|
|
@ -114,7 +114,7 @@ void BgHidanDalm_Init(Actor* thisx, PlayState* play) {
|
|||
CollisionHeader_GetVirtual(&gFireTempleHammerableTotemCol, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||
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);
|
||||
thisx->params &= 0xFF;
|
||||
|
|
|
@ -13,7 +13,7 @@ typedef struct BgHidanDalm {
|
|||
/* 0x0164 */ BgHidanDalmActionFunc actionFunc;
|
||||
/* 0x0168 */ u8 switchFlag;
|
||||
/* 0x016C */ ColliderTris collider;
|
||||
/* 0x018C */ ColliderTrisElement colliderItems[4];
|
||||
/* 0x018C */ ColliderTrisElement colliderElements[4];
|
||||
} BgHidanDalm; // size = 0x02FC
|
||||
|
||||
#endif
|
||||
|
|
|
@ -153,7 +153,7 @@ void BgHidanHamstep_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (PARAMS_GET_U(this->dyna.actor.params, 0, 8) == 0) {
|
||||
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 (i2 = 0; i2 < 3; i2++) {
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgHidanHamstepActionFunc)(struct BgHidanHamstep*, struct PlayStat
|
|||
typedef struct BgHidanHamstep {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ColliderTris collider;
|
||||
/* 0x0184 */ ColliderTrisElement colliderItems[2];
|
||||
/* 0x0184 */ ColliderTrisElement colliderElements[2];
|
||||
/* 0x023C */ BgHidanHamstepActionFunc actionFunc;
|
||||
/* 0x0240 */ s32 action;
|
||||
/* 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);
|
||||
thisx->params = PARAMS_GET_U(thisx->params, 8, 8);
|
||||
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);
|
||||
|
||||
sinRotY = Math_SinS(thisx->shape.rot.y);
|
||||
|
|
|
@ -14,7 +14,7 @@ typedef struct BgHidanHrock {
|
|||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016A */ u8 unk_16A;
|
||||
/* 0x016C */ ColliderTris collider;
|
||||
/* 0x018C */ ColliderTrisElement colliderItems[2];
|
||||
/* 0x018C */ ColliderTrisElement colliderElements[2];
|
||||
} BgHidanHrock; // size = 0x0244
|
||||
|
||||
#endif
|
||||
|
|
|
@ -103,7 +103,7 @@ void BgHidanKowarerukabe_InitColliderSphere(BgHidanKowarerukabe* this, PlayState
|
|||
s32 pad;
|
||||
|
||||
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.center.y = sphereYPositions[PARAMS_GET_U(this->dyna.actor.params, 0, 8)];
|
||||
|
|
|
@ -9,7 +9,7 @@ struct BgHidanKowarerukabe;
|
|||
typedef struct BgHidanKowarerukabe {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ColliderJntSph collider;
|
||||
/* 0x0184 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0184 */ ColliderJntSphElement colliderElements[1];
|
||||
} BgHidanKowarerukabe; // size = 0x01C4
|
||||
|
||||
#endif
|
||||
|
|
|
@ -141,8 +141,8 @@ void BgHidanRsekizou_Init(Actor* thisx, PlayState* play) {
|
|||
CollisionHeader_GetVirtual(&gFireTempleSpinningFlamethrowerCol, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
Collider_InitJntSph(play, &this->collider);
|
||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderItems);
|
||||
for (i = 0; i < ARRAY_COUNT(this->colliderItems); i++) {
|
||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
|
||||
for (i = 0; i < ARRAY_COUNT(this->colliderElements); i++) {
|
||||
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
||||
}
|
||||
this->burnFrame = 0;
|
||||
|
@ -178,7 +178,7 @@ void BgHidanRsekizou_Update(Actor* thisx, PlayState* play) {
|
|||
yawSine = Math_SinS(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->dim.worldSphere.center.x = this->dyna.actor.home.pos.x + yawCosine * sphere->dim.modelSphere.center.x +
|
||||
yawSine * sphere->dim.modelSphere.center.z;
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef struct BgHidanRsekizou {
|
|||
/* 0x0164 */ s16 bendFrame;
|
||||
/* 0x0166 */ s16 burnFrame;
|
||||
/* 0x0168 */ ColliderJntSph collider;
|
||||
/* 0x0188 */ ColliderJntSphElement colliderItems[6];
|
||||
/* 0x0188 */ ColliderJntSphElement colliderElements[6];
|
||||
} BgHidanRsekizou; // size = 0x0308
|
||||
|
||||
#endif
|
||||
|
|
|
@ -165,8 +165,8 @@ void BgHidanSekizou_Init(Actor* thisx, PlayState* play) {
|
|||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
DynaPolyActor_Init(&this->dyna, 0);
|
||||
Collider_InitJntSph(play, &this->collider);
|
||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->elements);
|
||||
for (i = 0; i < ARRAY_COUNT(this->elements); i++) {
|
||||
Collider_SetJntSph(play, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
|
||||
for (i = 0; i < ARRAY_COUNT(this->colliderElements); i++) {
|
||||
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
||||
}
|
||||
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.ocElemFlags &= ~OCELEM_ON;
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ typedef struct BgHidanSekizou {
|
|||
/* 0x0168 */ s16 unk_168[4];
|
||||
/* 0x0170 */ s16 unk_170;
|
||||
/* 0x0174 */ ColliderJntSph collider;
|
||||
/* 0x0194 */ ColliderJntSphElement elements[6];
|
||||
/* 0x0194 */ ColliderJntSphElement colliderElements[6];
|
||||
} BgHidanSekizou; // size = 0x0314
|
||||
|
||||
#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);
|
||||
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++) {
|
||||
this->collider.elements[i].dim.worldSphere.radius = this->collider.elements[i].dim.modelSphere.radius;
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ typedef struct BgHidanSima {
|
|||
/* 0x0164 */ BgHidanSimaActionFunc actionFunc;
|
||||
/* 0x0168 */ s16 timer;
|
||||
/* 0x016C */ ColliderJntSph collider;
|
||||
/* 0x018C */ ColliderJntSphElement elements[2];
|
||||
/* 0x018C */ ColliderJntSphElement colliderElements[2];
|
||||
} BgHidanSima; // size = 0x020C
|
||||
|
||||
#endif
|
||||
|
|
|
@ -92,7 +92,7 @@ void BgJyaBombiwa_InitCollider(BgJyaBombiwa* this, PlayState* play) {
|
|||
s32 pad;
|
||||
|
||||
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) {
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef struct BgJyaBombiwa {
|
|||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ s32 unk_164;
|
||||
/* 0x0168 */ ColliderJntSph collider;
|
||||
/* 0x0188 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0188 */ ColliderJntSphElement colliderElements[1];
|
||||
} BgJyaBombiwa; // size = 0x01C8
|
||||
|
||||
#endif
|
||||
|
|
|
@ -87,7 +87,7 @@ void BgJyaHaheniron_ColliderInit(BgJyaHaheniron* this, PlayState* play) {
|
|||
s32 pad;
|
||||
|
||||
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) {
|
||||
|
|
|
@ -12,7 +12,7 @@ typedef struct BgJyaHaheniron {
|
|||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ BgJyaHahenironActionFunc actionFunc;
|
||||
/* 0x0150 */ ColliderJntSph collider;
|
||||
/* 0x0170 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01B0 */ s16 timer;
|
||||
} BgJyaHaheniron; // size = 0x01B4
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ void BgMenkuriEye_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
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.y = this->actor.world.pos.y;
|
||||
this->collider.elements[0].dim.worldSphere.center.z = this->actor.world.pos.z;
|
||||
|
|
|
@ -10,7 +10,7 @@ typedef struct BgMenkuriEye {
|
|||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ s16 framesUntilDisable;
|
||||
/* 0x0150 */ ColliderJntSph collider;
|
||||
/* 0x0170 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||
} BgMenkuriEye; // size = 0x01B0
|
||||
|
||||
#endif
|
||||
|
|
|
@ -206,7 +206,8 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
|||
this->actionFunc = BgMizuBwall_DoNothing;
|
||||
} else {
|
||||
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,
|
||||
this->dyna.actor.params);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
|
@ -245,7 +246,8 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
|||
this->actionFunc = BgMizuBwall_DoNothing;
|
||||
} else {
|
||||
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,
|
||||
this->dyna.actor.params);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
|
@ -284,7 +286,8 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
|||
this->actionFunc = BgMizuBwall_DoNothing;
|
||||
} else {
|
||||
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,
|
||||
this->dyna.actor.params);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
|
@ -326,7 +329,7 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
|||
} else {
|
||||
Collider_InitTris(play, &this->collider);
|
||||
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,
|
||||
this->dyna.actor.params);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
|
@ -368,7 +371,7 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
|||
} else {
|
||||
Collider_InitTris(play, &this->collider);
|
||||
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,
|
||||
this->dyna.actor.params);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgMizuBwallActionFunc)(struct BgMizuBwall*, struct PlayState*);
|
|||
typedef struct BgMizuBwall {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ColliderTris collider;
|
||||
/* 0x0184 */ ColliderTrisElement elements[3]; // only ever uses 2
|
||||
/* 0x0184 */ ColliderTrisElement colliderElements[3]; // only ever uses 2
|
||||
/* 0x0298 */ BgMizuBwallActionFunc actionFunc;
|
||||
/* 0x029C */ f32 yRot;
|
||||
/* 0x02A0 */ s32 scrollAlpha1;
|
||||
|
|
|
@ -102,7 +102,7 @@ void BgMoriHashigo_InitCollider(BgMoriHashigo* this, PlayState* play) {
|
|||
s32 pad;
|
||||
|
||||
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.y = (s16)this->dyna.actor.world.pos.y + 21;
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgMoriHashigoActionFunc)(struct BgMoriHashigo*, PlayState*);
|
|||
typedef struct BgMoriHashigo {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ColliderJntSph collider;
|
||||
/* 0x0184 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0184 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01C4 */ BgMoriHashigoActionFunc actionFunc;
|
||||
/* 0x01C8 */ s16 hitTimer;
|
||||
/* 0x01CA */ s16 bounceCounter;
|
||||
|
|
|
@ -216,7 +216,7 @@ void BgPoEvent_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (this->type >= 2) {
|
||||
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)) {
|
||||
Actor_Kill(thisx);
|
||||
} else {
|
||||
|
|
|
@ -16,7 +16,7 @@ typedef struct BgPoEvent {
|
|||
/* 0x016A */ s8 direction;
|
||||
/* 0x016C */ s16 timer;
|
||||
/* 0x0170 */ ColliderTris collider;
|
||||
/* 0x0190 */ ColliderTrisElement colliderItems[2];
|
||||
/* 0x0190 */ ColliderTrisElement colliderElements[2];
|
||||
} BgPoEvent; // size = 0x0248
|
||||
|
||||
#endif
|
||||
|
|
|
@ -121,7 +121,7 @@ void BgSpot06Objects_Init(Actor* thisx, PlayState* play) {
|
|||
case LHO_WATER_TEMPLE_ENTRANCE_LOCK:
|
||||
Actor_ProcessInitChain(thisx, sInitChain);
|
||||
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 (!GET_EVENTCHKINF(EVENTCHKINF_RESTORED_LAKE_HYLIA)) {
|
||||
|
|
|
@ -15,7 +15,7 @@ typedef struct BgSpot06Objects {
|
|||
/* 0x016A */ s16 timer;
|
||||
/* 0x016C */ f32 lakeHyliaWaterLevel;
|
||||
/* 0x0170 */ ColliderJntSph collider;
|
||||
/* 0x0190 */ ColliderJntSphElement colliderItem[1];
|
||||
/* 0x0190 */ ColliderJntSphElement colliderElements[1];
|
||||
} BgSpot06Objects; // size = 0x01D0
|
||||
|
||||
#endif
|
||||
|
|
|
@ -97,7 +97,7 @@ void func_808B02D0(BgSpot08Bakudankabe* this, PlayState* play) {
|
|||
s32 pad;
|
||||
|
||||
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) {
|
||||
|
|
|
@ -9,7 +9,7 @@ struct BgSpot08Bakudankabe;
|
|||
typedef struct BgSpot08Bakudankabe {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ColliderJntSph collider;
|
||||
/* 0x0184 */ ColliderJntSphElement colliderItems[3];
|
||||
/* 0x0184 */ ColliderJntSphElement colliderElements[3];
|
||||
} BgSpot08Bakudankabe; // size = 0x0244
|
||||
|
||||
#endif
|
||||
|
|
|
@ -86,7 +86,7 @@ void BgYdanMaruta_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
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);
|
||||
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;
|
||||
/* 0x016A */ s16 unk_16A;
|
||||
/* 0x016C */ ColliderTris collider;
|
||||
/* 0x018C */ ColliderTrisElement elements[2];
|
||||
/* 0x018C */ ColliderTrisElement colliderElements[2];
|
||||
} BgYdanMaruta; // size = 0x0244
|
||||
|
||||
#endif
|
||||
|
|
|
@ -200,7 +200,7 @@ void BossDodongo_Init(Actor* thisx, PlayState* play) {
|
|||
this->unk_224 = 2.0f;
|
||||
this->unk_228 = 9200.0f;
|
||||
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
|
||||
u16* temp_s1_3 = SEGMENTED_TO_VIRTUAL(gDodongosCavernBossLavaFloorTex);
|
||||
|
|
|
@ -96,7 +96,7 @@ typedef struct BossDodongo {
|
|||
/* 0x0428 */ Vec3f subCamEye;
|
||||
/* 0x0434 */ Vec3f subCamAt;
|
||||
/* 0x0440 */ ColliderJntSph collider;
|
||||
/* 0x0460 */ ColliderJntSphElement items[19];
|
||||
/* 0x0460 */ ColliderJntSphElement colliderElements[19];
|
||||
/* 0x0920 */ BossDodongoEffect effects[BOSS_DODONGO_EFFECT_COUNT];
|
||||
} 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.y = -200.0f;
|
||||
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++) {
|
||||
this->bodySegsPos[i].x = this->actor.world.pos.x;
|
||||
|
|
|
@ -175,7 +175,7 @@ typedef struct BossFd {
|
|||
/* 0x1488 */ f32 subCamAtYOffset;
|
||||
/* 0x148C */ f32 subCamShake;
|
||||
/* 0x1490 */ ColliderJntSph collider;
|
||||
/* 0x14B0 */ ColliderJntSphElement elements[19];
|
||||
/* 0x14B0 */ ColliderJntSphElement colliderElements[19];
|
||||
/* 0x1970 */ BossFdEffect effects[BOSSFD_EFFECT_COUNT];
|
||||
} BossFd; // size = 0x43A0
|
||||
|
||||
|
|
|
@ -185,7 +185,7 @@ void BossFd2_Init(Actor* thisx, PlayState* play) {
|
|||
this->actionFunc = BossFd2_Wait;
|
||||
}
|
||||
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) {
|
||||
|
@ -816,7 +816,7 @@ void BossFd2_CollisionCheck(BossFd2* this, PlayState* play) {
|
|||
if (this->actionFunc == BossFd2_ClawSwipe) {
|
||||
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) {
|
||||
this->collider.elements[i].base.atElemFlags &= ~ATELEM_HIT;
|
||||
Actor_PlaySfx(&player->actor, NA_SE_PL_BODY_HIT);
|
||||
|
|
|
@ -83,7 +83,7 @@ typedef struct BossFd2 {
|
|||
/* 0x1414 */ f32 subCamAtYOffset;
|
||||
/* 0x1418 */ f32 subCamShake;
|
||||
/* 0x141C */ ColliderJntSph collider;
|
||||
/* 0x143C */ ColliderJntSphElement elements[9];
|
||||
/* 0x143C */ ColliderJntSphElement colliderElements[9];
|
||||
} BossFd2; // size = 0x167C
|
||||
|
||||
#endif
|
||||
|
|
|
@ -385,7 +385,7 @@ void BossGoma_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.colChkInfo.health = 10;
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
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)) {
|
||||
Actor_Kill(&this->actor);
|
||||
|
|
|
@ -150,7 +150,7 @@ typedef struct BossGoma {
|
|||
/* 0x02A8 */ Vec3f defeatedLimbPositions[100]; // only 85/86 first indices actually used
|
||||
/* 0x0758 */ u8 deadLimbsState[100]; // only 85/90 first indices actually used
|
||||
/* 0x07BC */ ColliderJntSph collider;
|
||||
/* 0x07DC */ ColliderJntSphElement colliderItems[13];
|
||||
/* 0x07DC */ ColliderJntSphElement colliderElements[13];
|
||||
} BossGoma; // size = 0x0B1C
|
||||
|
||||
#endif
|
||||
|
|
|
@ -118,7 +118,7 @@ void EnBa_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.colChkInfo.health = 4;
|
||||
this->actor.colChkInfo.mass = MASS_HEAVY;
|
||||
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 {
|
||||
Actor_SetScale(&this->actor, 0.021f);
|
||||
EnBa_SetupFallAsBlob(this);
|
||||
|
|
|
@ -31,7 +31,7 @@ typedef struct EnBa {
|
|||
/* 0x031A */ s16 unk_31A;
|
||||
/* 0x031C */ s16 unk_31C;
|
||||
/* 0x0320 */ ColliderJntSph collider;
|
||||
/* 0x0340 */ ColliderJntSphElement colliderItems[2];
|
||||
/* 0x0340 */ ColliderJntSphElement colliderElements[2];
|
||||
} EnBa; // size = 0x03C0
|
||||
|
||||
#endif
|
||||
|
|
|
@ -335,7 +335,7 @@ void EnBb_Init(Actor* thisx, PlayState* play) {
|
|||
this->unk_254 = 0;
|
||||
thisx->colChkInfo.health = 4;
|
||||
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);
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ typedef struct EnBb {
|
|||
/* 0x02A8 */ s16 fireIceTimer;
|
||||
/* 0x02AA */ u8 dmgEffect;
|
||||
/* 0x02AC */ ColliderJntSph collider;
|
||||
/* 0x02CC */ ColliderJntSphElement elements[1];
|
||||
/* 0x02CC */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x030C */ BodyBreak bodyBreak;
|
||||
/* 0x0324 */ Actor* targetActor;
|
||||
} 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);
|
||||
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->unk_25C = Rand_ZeroOne() * 0xFFFF;
|
||||
this->unk_25E = Rand_ZeroOne() * 0xFFFF;
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*EnButteActionFunc)(struct EnButte*, PlayState*);
|
|||
typedef struct EnButte {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ ColliderJntSph collider;
|
||||
/* 0x016C */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x016C */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01AC */ SkelAnime skelAnime;
|
||||
/* 0x01F0 */ Vec3s jointTable[8];
|
||||
/* 0x0220 */ Vec3s morphTable[8];
|
||||
|
|
|
@ -124,7 +124,7 @@ void EnCrow_Init(Actor* thisx, PlayState* play) {
|
|||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gGuaySkel, &gGuayFlyAnim, this->jointTable, this->morphTable, 9);
|
||||
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;
|
||||
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
|
||||
ActorShape_Init(&this->actor.shape, 2000.0f, ActorShadow_DrawCircle, 20.0f);
|
||||
|
|
|
@ -19,7 +19,7 @@ typedef struct EnCrow {
|
|||
/* 0x01CA */ Vec3s jointTable[9];
|
||||
/* 0x0200 */ Vec3s morphTable[9];
|
||||
/* 0x0238 */ ColliderJntSph collider;
|
||||
/* 0x0258 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0258 */ ColliderJntSphElement colliderElements[1];
|
||||
} EnCrow; // size = 0x0298
|
||||
|
||||
#endif
|
||||
|
|
|
@ -178,7 +178,7 @@ void EnDha_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.colChkInfo.health = 8;
|
||||
this->limbAngleX[0] = -0x4000;
|
||||
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;
|
||||
|
||||
EnDha_SetupWait(this);
|
||||
|
|
|
@ -24,7 +24,7 @@ typedef struct EnDha {
|
|||
/* 0x01DC */ Vec3f handPos[2];
|
||||
/* 0x01F4 */ Vec3f armPos;
|
||||
/* 0x0200 */ ColliderJntSph collider;
|
||||
/* 0x0220 */ ColliderJntSphElement colliderItem[5];
|
||||
/* 0x0220 */ ColliderJntSphElement colliderElements[5];
|
||||
} EnDha; // size = 0x0360
|
||||
|
||||
#endif
|
||||
|
|
|
@ -460,7 +460,7 @@ void EnFd_Init(Actor* thisx, PlayState* play) {
|
|||
SkelAnime_InitFlex(play, &this->skelAnime, &gFlareDancerSkel, NULL, this->jointTable, this->morphTable, 27);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 32.0f);
|
||||
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);
|
||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
this->actor.flags |= ACTOR_FLAG_SFX_FOR_PLAYER_BODY_HIT;
|
||||
|
|
|
@ -34,7 +34,7 @@ typedef struct EnFd {
|
|||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ EnFdActionFunc actionFunc;
|
||||
/* 0x0194 */ ColliderJntSph collider;
|
||||
/* 0x01B4 */ ColliderJntSphElement colSphs[12];
|
||||
/* 0x01B4 */ ColliderJntSphElement colliderElements[12];
|
||||
/* 0x04B4 */ u8 coreActive;
|
||||
/* 0x04B6 */ s16 initYawToInitPos;
|
||||
/* 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);
|
||||
SkelAnime_Init(play, &this->skelAnime, &gKeeseSkeleton, &gKeeseFlyAnim, this->jointTable, this->morphTable, 28);
|
||||
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);
|
||||
|
||||
if (PARAMS_GET_NOSHIFT(this->actor.params, 15, 1) != 0) {
|
||||
|
|
|
@ -21,7 +21,7 @@ typedef struct EnFirefly {
|
|||
/* 0x0266 */ Vec3s morphTable[28];
|
||||
/* 0x0310 */ f32 maxAltitude;
|
||||
/* 0x0314 */ ColliderJntSph collider;
|
||||
/* 0x0344 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0344 */ ColliderJntSphElement colliderElements[1];
|
||||
} EnFirefly; // size = 0x0374
|
||||
|
||||
typedef enum KeeseType {
|
||||
|
|
|
@ -135,7 +135,7 @@ void EnFish_Init(Actor* thisx, PlayState* play) {
|
|||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gFishSkel, &gFishInWaterAnim, this->jointTable, this->morphTable, 7);
|
||||
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->slowPhase = 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 {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ ColliderJntSph collider;
|
||||
/* 0x016C */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x016C */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01AC */ SkelAnime skelAnime;
|
||||
/* 0x01F0 */ Vec3s jointTable[7];
|
||||
/* 0x021A */ Vec3s morphTable[7];
|
||||
|
|
|
@ -206,7 +206,7 @@ void EnFw_Init(Actor* thisx, PlayState* play) {
|
|||
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENFW_ANIM_0);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
|
||||
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);
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->runDirection = -this->actor.params;
|
||||
|
|
|
@ -28,7 +28,7 @@ typedef struct EnFw {
|
|||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ EnFwActionFunc actionFunc;
|
||||
/* 0x0194 */ ColliderJntSph collider;
|
||||
/* 0x01B4 */ ColliderJntSphElement sphs[1];
|
||||
/* 0x01B4 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01F4 */ Vec3f bompPos;
|
||||
/* 0x0200 */ u8 lastDmgHook;
|
||||
/* 0x0202 */ s16 runDirection;
|
||||
|
|
|
@ -105,7 +105,7 @@ void EnGoroiwa_InitCollider(EnGoroiwa* this, PlayState* play) {
|
|||
s32 pad;
|
||||
|
||||
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);
|
||||
this->collider.elements[0].dim.worldSphere.radius = 58;
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ typedef struct EnGoroiwa {
|
|||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ EnGoroiwaActionFunc actionFunc;
|
||||
/* 0x0150 */ ColliderJntSph collider;
|
||||
/* 0x0170 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01B0 */ Vec3f prevUnitRollAxis;
|
||||
/* 0x01BC */ f32 prevRollAngleDiff;
|
||||
/* 0x01C0 */ f32 rollRotSpeed;
|
||||
|
|
|
@ -124,7 +124,7 @@ void EnNy_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.colChkInfo.damageTable = &sDamageTable;
|
||||
this->actor.colChkInfo.health = 2;
|
||||
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);
|
||||
this->unk_1CA = 0;
|
||||
this->unk_1D0 = 0;
|
||||
|
|
|
@ -12,7 +12,7 @@ typedef struct EnNy {
|
|||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ EnNyActionFunc actionFunc;
|
||||
/* 0x0150 */ ColliderJntSph collider;
|
||||
/* 0x0170 */ ColliderJntSphElement elements[1];
|
||||
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01B0 */ char unk_1B0[0x18];
|
||||
/* 0x01C8 */ s16 timer;
|
||||
/* 0x01CA */ s16 unk_1CA;
|
||||
|
|
|
@ -182,7 +182,7 @@ void EnSkb_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.naviEnemyId = NAVI_ENEMY_STALCHILD;
|
||||
|
||||
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);
|
||||
|
||||
this->collider.elements[0].dim.modelSphere.radius = this->collider.elements[0].dim.worldSphere.radius =
|
||||
|
|
|
@ -21,7 +21,7 @@ typedef struct EnSkb {
|
|||
/* 0x0288 */ s16 headlessYawOffset;
|
||||
/* 0x028C */ BodyBreak bodyBreak;
|
||||
/* 0x02A4 */ ColliderJntSph collider;
|
||||
/* 0x02C4 */ ColliderJntSphElement colliderItem[2];
|
||||
/* 0x02C4 */ ColliderJntSphElement colliderElements[2];
|
||||
} EnSkb; // size = 0x0344
|
||||
|
||||
#endif
|
||||
|
|
|
@ -255,7 +255,7 @@ void EnSw_Init(Actor* thisx, PlayState* play) {
|
|||
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENSW_ANIM_0);
|
||||
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
|
||||
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);
|
||||
this->actor.scale.x = 0.02f;
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ typedef struct EnSw {
|
|||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ EnSwActionFunc actionFunc;
|
||||
/* 0x0194 */ ColliderJntSph collider;
|
||||
/* 0x01B4 */ ColliderJntSphElement sphs[1];
|
||||
/* 0x01B4 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01F4 */ Color_RGBA8 unk_1F4;
|
||||
/* 0x01F8 */ Vec3s jointTable[30];
|
||||
/* 0x02AC */ Vec3s morphTable[30];
|
||||
|
|
|
@ -161,7 +161,7 @@ void EnTp_Init(Actor* thisx, PlayState* play2) {
|
|||
now = this;
|
||||
this->alpha = 255;
|
||||
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) {
|
||||
this->actor.naviEnemyId = NAVI_ENEMY_TAILPASARAN;
|
||||
|
|
|
@ -24,7 +24,7 @@ typedef struct EnTp {
|
|||
/* 0x016C */ f32 horizontalVariation;
|
||||
/* 0x0170 */ f32 extraHeightVariation;
|
||||
/* 0x0174 */ ColliderJntSph collider;
|
||||
/* 0x0194 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0194 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01D4 */ struct EnTp* head;
|
||||
} EnTp; // size = 0x01D8
|
||||
|
||||
|
|
|
@ -162,7 +162,7 @@ void ObjComb_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ typedef struct ObjComb {
|
|||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ ObjCombActionFunc actionFunc;
|
||||
/* 0x0150 */ ColliderJntSph collider;
|
||||
/* 0x0170 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x0170 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01B0 */ s16 unk_1B0;
|
||||
/* 0x01B2 */ s16 unk_1B2;
|
||||
} ObjComb; // size = 0x01B4
|
||||
|
|
|
@ -92,7 +92,7 @@ void ObjLightswitch_InitCollider(ObjLightswitch* this, PlayState* play) {
|
|||
s32 pad;
|
||||
|
||||
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,
|
||||
this->actor.world.pos.y + (this->actor.shape.yOffset * this->actor.scale.y),
|
||||
this->actor.world.pos.z, &this->actor.shape.rot);
|
||||
|
|
|
@ -19,7 +19,7 @@ typedef struct ObjLightswitch {
|
|||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ ObjLightswitchActionFunc actionFunc;
|
||||
/* 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
|
||||
/* 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
|
||||
|
|
|
@ -213,7 +213,7 @@ void ObjSwitch_InitJntSphCollider(ObjSwitch* this, PlayState* play, ColliderJntS
|
|||
ColliderJntSph* colliderJntSph = &this->jntSph.col;
|
||||
|
||||
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,
|
||||
this->dyna.actor.world.pos.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];
|
||||
|
||||
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 (j = 0; j < 3; j++) {
|
||||
|
|
|
@ -27,12 +27,12 @@ typedef enum ObjSwitchSubType {
|
|||
|
||||
typedef struct ObjSwitchJntSph {
|
||||
/* 0x00 */ ColliderJntSph col;
|
||||
/* 0x20 */ ColliderJntSphElement items[1];
|
||||
/* 0x20 */ ColliderJntSphElement elements[1];
|
||||
} ObjSwitchJntSph;
|
||||
|
||||
typedef struct ObjSwitchTris {
|
||||
/* 0x00 */ ColliderTris col;
|
||||
/* 0x20 */ ColliderTrisElement items[2];
|
||||
/* 0x20 */ ColliderTrisElement elements[2];
|
||||
} ObjSwitchTris;
|
||||
|
||||
typedef struct ObjSwitch {
|
||||
|
|
Loading…
Add table
Reference in a new issue