1
0
Fork 0
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:
Dragorn421 2025-02-11 02:02:56 +01:00 committed by GitHub
parent be1f9e75f0
commit 3dd893c210
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
78 changed files with 92 additions and 89 deletions

View file

@ -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) {

View file

@ -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];

View file

@ -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++) {

View file

@ -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;

View file

@ -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;

View file

@ -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

View file

@ -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++) {

View file

@ -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;

View file

@ -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);

View file

@ -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

View file

@ -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)];

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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;
}

View file

@ -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

View file

@ -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;
}

View file

@ -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

View file

@ -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) {

View file

@ -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

View file

@ -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) {

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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);

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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 {

View file

@ -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

View file

@ -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)) {

View file

@ -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

View file

@ -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) {

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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;

View file

@ -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];

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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) {

View file

@ -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 {

View file

@ -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);

View file

@ -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];

View file

@ -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;

View file

@ -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;

View file

@ -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;
}

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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 =

View file

@ -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

View file

@ -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;

View file

@ -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];

View file

@ -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;

View file

@ -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

View file

@ -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);
}

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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++) {

View file

@ -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 {