mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 14:34:32 +00:00
Doc dynapoly move flags (#1372)
* Doc dynapoly move flags * Use `DYNAPOLYMOVE_UPD_` more * remove `DynaPolyActor.unk_15A` (padding) * `DYNAPOLYMOVE_UPD_` -> `DYNA_MOVE_` * Remove `DYNA_MOVE_POS_AND_ROT_Y` * Actual docs * Update function names * transformFlags and Carried names Co-authored-by: fig02 <fig02srl@gmail.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * Fixup comment on `DynaPolyActor_UpdateCarriedActorPos` * Format * `DYNA_TRANSFORM_NONE` -> 0 * Touch up mentioning the `DYNA_TRANSFORM_` flags in docs Co-authored-by: fig02 <fig02srl@gmail.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
This commit is contained in:
parent
3ee2190b8d
commit
40a4abefa5
119 changed files with 159 additions and 149 deletions
|
@ -641,8 +641,8 @@ s32 func_800427B4(CollisionPoly* polyA, CollisionPoly* polyB, Vec3f* pointA, Vec
|
||||||
void BgCheck_DrawDynaCollision(PlayState*, CollisionContext*);
|
void BgCheck_DrawDynaCollision(PlayState*, CollisionContext*);
|
||||||
void BgCheck_DrawStaticCollision(PlayState*, CollisionContext*);
|
void BgCheck_DrawStaticCollision(PlayState*, CollisionContext*);
|
||||||
void func_80043334(CollisionContext* colCtx, Actor* actor, s32 bgId);
|
void func_80043334(CollisionContext* colCtx, Actor* actor, s32 bgId);
|
||||||
s32 func_800433A4(CollisionContext* colCtx, s32 bgId, Actor* actor);
|
s32 DynaPolyActor_TransformCarriedActor(CollisionContext* colCtx, s32 bgId, Actor* carriedActor);
|
||||||
void DynaPolyActor_Init(DynaPolyActor* dynaActor, s32 flags);
|
void DynaPolyActor_Init(DynaPolyActor* dynaActor, s32 transformFlags);
|
||||||
void DynaPolyActor_UnsetAllInteractFlags(DynaPolyActor* dynaActor);
|
void DynaPolyActor_UnsetAllInteractFlags(DynaPolyActor* dynaActor);
|
||||||
void DynaPolyActor_SetActorOnTop(DynaPolyActor* dynaActor);
|
void DynaPolyActor_SetActorOnTop(DynaPolyActor* dynaActor);
|
||||||
void DynaPoly_SetPlayerOnTop(CollisionContext* colCtx, s32 floorBgId);
|
void DynaPoly_SetPlayerOnTop(CollisionContext* colCtx, s32 floorBgId);
|
||||||
|
|
|
@ -1303,13 +1303,6 @@ typedef struct {
|
||||||
/* 0x1CAD6 */ s16 unk_1CAD6[5];
|
/* 0x1CAD6 */ s16 unk_1CAD6[5];
|
||||||
} FileSelectState; // size = 0x1CAE0
|
} FileSelectState; // size = 0x1CAE0
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
DPM_UNK = 0,
|
|
||||||
DPM_PLAYER = 1,
|
|
||||||
DPM_ENEMY = 2,
|
|
||||||
DPM_UNK3 = 3
|
|
||||||
} DynaPolyMoveFlag;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ AnimationHeader* animation;
|
/* 0x00 */ AnimationHeader* animation;
|
||||||
/* 0x04 */ f32 playSpeed;
|
/* 0x04 */ f32 playSpeed;
|
||||||
|
|
|
@ -254,6 +254,9 @@ if neither of the above are set : blue
|
||||||
0x2000 : translucent, else opaque
|
0x2000 : translucent, else opaque
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define DYNA_TRANSFORM_POS (1 << 0) // Position of the actors on top follows the dynapoly actor's movement.
|
||||||
|
#define DYNA_TRANSFORM_ROT_Y (1 << 1) // The Y rotation of the actors on top follows the dynapoly actor's Y rotation.
|
||||||
|
|
||||||
#define DYNA_INTERACT_ACTOR_ON_TOP (1 << 0) // There is an actor standing on the collision of the dynapoly actor
|
#define DYNA_INTERACT_ACTOR_ON_TOP (1 << 0) // There is an actor standing on the collision of the dynapoly actor
|
||||||
#define DYNA_INTERACT_PLAYER_ON_TOP (1 << 1) // The player actor is standing on the collision of the dynapoly actor
|
#define DYNA_INTERACT_PLAYER_ON_TOP (1 << 1) // The player actor is standing on the collision of the dynapoly actor
|
||||||
#define DYNA_INTERACT_PLAYER_ABOVE (1 << 2) // The player is directly above the collision of the dynapoly actor (any distance above)
|
#define DYNA_INTERACT_PLAYER_ABOVE (1 << 2) // The player is directly above the collision of the dynapoly actor (any distance above)
|
||||||
|
@ -265,8 +268,7 @@ typedef struct DynaPolyActor {
|
||||||
/* 0x150 */ f32 unk_150;
|
/* 0x150 */ f32 unk_150;
|
||||||
/* 0x154 */ f32 unk_154;
|
/* 0x154 */ f32 unk_154;
|
||||||
/* 0x158 */ s16 unk_158; // y rotation?
|
/* 0x158 */ s16 unk_158; // y rotation?
|
||||||
/* 0x15A */ u16 unk_15A;
|
/* 0x15C */ u32 transformFlags;
|
||||||
/* 0x15C */ u32 unk_15C;
|
|
||||||
/* 0x160 */ u8 interactFlags;
|
/* 0x160 */ u8 interactFlags;
|
||||||
/* 0x162 */ s16 unk_162;
|
/* 0x162 */ s16 unk_162;
|
||||||
} DynaPolyActor; // size = 0x164
|
} DynaPolyActor; // size = 0x164
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "vt.h"
|
#include "vt.h"
|
||||||
|
|
||||||
void func_800430A0(CollisionContext* colCtx, s32 bgId, Actor* actor) {
|
/**
|
||||||
|
* Update the `carriedActor`'s position based on the dynapoly actor identified by `bgId`.
|
||||||
|
*/
|
||||||
|
void DynaPolyActor_UpdateCarriedActorPos(CollisionContext* colCtx, s32 bgId, Actor* carriedActor) {
|
||||||
MtxF prevTransform;
|
MtxF prevTransform;
|
||||||
MtxF prevTransformInv;
|
MtxF prevTransformInv;
|
||||||
MtxF curTransform;
|
MtxF curTransform;
|
||||||
|
@ -9,22 +12,30 @@ void func_800430A0(CollisionContext* colCtx, s32 bgId, Actor* actor) {
|
||||||
Vec3f tempPos;
|
Vec3f tempPos;
|
||||||
|
|
||||||
if (DynaPoly_IsBgIdBgActor(bgId)) {
|
if (DynaPoly_IsBgIdBgActor(bgId)) {
|
||||||
|
|
||||||
SkinMatrix_SetTranslateRotateYXZScale(
|
SkinMatrix_SetTranslateRotateYXZScale(
|
||||||
&prevTransform, colCtx->dyna.bgActors[bgId].prevTransform.scale.x,
|
&prevTransform, colCtx->dyna.bgActors[bgId].prevTransform.scale.x,
|
||||||
colCtx->dyna.bgActors[bgId].prevTransform.scale.y, colCtx->dyna.bgActors[bgId].prevTransform.scale.z,
|
colCtx->dyna.bgActors[bgId].prevTransform.scale.y, colCtx->dyna.bgActors[bgId].prevTransform.scale.z,
|
||||||
colCtx->dyna.bgActors[bgId].prevTransform.rot.x, colCtx->dyna.bgActors[bgId].prevTransform.rot.y,
|
colCtx->dyna.bgActors[bgId].prevTransform.rot.x, colCtx->dyna.bgActors[bgId].prevTransform.rot.y,
|
||||||
colCtx->dyna.bgActors[bgId].prevTransform.rot.z, colCtx->dyna.bgActors[bgId].prevTransform.pos.x,
|
colCtx->dyna.bgActors[bgId].prevTransform.rot.z, colCtx->dyna.bgActors[bgId].prevTransform.pos.x,
|
||||||
colCtx->dyna.bgActors[bgId].prevTransform.pos.y, colCtx->dyna.bgActors[bgId].prevTransform.pos.z);
|
colCtx->dyna.bgActors[bgId].prevTransform.pos.y, colCtx->dyna.bgActors[bgId].prevTransform.pos.z);
|
||||||
|
|
||||||
if (SkinMatrix_Invert(&prevTransform, &prevTransformInv) != 2) {
|
if (SkinMatrix_Invert(&prevTransform, &prevTransformInv) != 2) {
|
||||||
|
|
||||||
SkinMatrix_SetTranslateRotateYXZScale(
|
SkinMatrix_SetTranslateRotateYXZScale(
|
||||||
&curTransform, colCtx->dyna.bgActors[bgId].curTransform.scale.x,
|
&curTransform, colCtx->dyna.bgActors[bgId].curTransform.scale.x,
|
||||||
colCtx->dyna.bgActors[bgId].curTransform.scale.y, colCtx->dyna.bgActors[bgId].curTransform.scale.z,
|
colCtx->dyna.bgActors[bgId].curTransform.scale.y, colCtx->dyna.bgActors[bgId].curTransform.scale.z,
|
||||||
colCtx->dyna.bgActors[bgId].curTransform.rot.x, colCtx->dyna.bgActors[bgId].curTransform.rot.y,
|
colCtx->dyna.bgActors[bgId].curTransform.rot.x, colCtx->dyna.bgActors[bgId].curTransform.rot.y,
|
||||||
colCtx->dyna.bgActors[bgId].curTransform.rot.z, colCtx->dyna.bgActors[bgId].curTransform.pos.x,
|
colCtx->dyna.bgActors[bgId].curTransform.rot.z, colCtx->dyna.bgActors[bgId].curTransform.pos.x,
|
||||||
colCtx->dyna.bgActors[bgId].curTransform.pos.y, colCtx->dyna.bgActors[bgId].curTransform.pos.z);
|
colCtx->dyna.bgActors[bgId].curTransform.pos.y, colCtx->dyna.bgActors[bgId].curTransform.pos.z);
|
||||||
SkinMatrix_Vec3fMtxFMultXYZ(&prevTransformInv, &actor->world.pos, &tempPos);
|
|
||||||
|
// Apply the movement of the dynapoly actor `bgId` over the last frame to the `carriedActor` position
|
||||||
|
// pos = curTransform * prevTransformInv * pos
|
||||||
|
// Note (curTransform * prevTransformInv) represents the transform relative to the previous frame
|
||||||
|
SkinMatrix_Vec3fMtxFMultXYZ(&prevTransformInv, &carriedActor->world.pos, &tempPos);
|
||||||
SkinMatrix_Vec3fMtxFMultXYZ(&curTransform, &tempPos, &pos);
|
SkinMatrix_Vec3fMtxFMultXYZ(&curTransform, &tempPos, &pos);
|
||||||
actor->world.pos = pos;
|
carriedActor->world.pos = pos;
|
||||||
|
|
||||||
if (BGCHECK_XYZ_ABSMAX <= pos.x || pos.x <= -BGCHECK_XYZ_ABSMAX || BGCHECK_XYZ_ABSMAX <= pos.y ||
|
if (BGCHECK_XYZ_ABSMAX <= pos.x || pos.x <= -BGCHECK_XYZ_ABSMAX || BGCHECK_XYZ_ABSMAX <= pos.y ||
|
||||||
pos.y <= -BGCHECK_XYZ_ABSMAX || BGCHECK_XYZ_ABSMAX <= pos.z || pos.z <= -BGCHECK_XYZ_ABSMAX) {
|
pos.y <= -BGCHECK_XYZ_ABSMAX || BGCHECK_XYZ_ABSMAX <= pos.z || pos.z <= -BGCHECK_XYZ_ABSMAX) {
|
||||||
|
|
||||||
|
@ -41,18 +52,18 @@ void func_800430A0(CollisionContext* colCtx, s32 bgId, Actor* actor) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rotate actor
|
* Update the `carriedActor`'s Y rotation based on the dynapoly actor identified by `bgId`.
|
||||||
*/
|
*/
|
||||||
void func_800432A0(CollisionContext* colCtx, s32 bgId, Actor* actor) {
|
void DynaPolyActor_UpdateCarriedActorRotY(CollisionContext* colCtx, s32 bgId, Actor* carriedActor) {
|
||||||
if (DynaPoly_IsBgIdBgActor(bgId)) {
|
if (DynaPoly_IsBgIdBgActor(bgId)) {
|
||||||
s16 rot = colCtx->dyna.bgActors[bgId].curTransform.rot.y - colCtx->dyna.bgActors[bgId].prevTransform.rot.y;
|
s16 rotY = colCtx->dyna.bgActors[bgId].curTransform.rot.y - colCtx->dyna.bgActors[bgId].prevTransform.rot.y;
|
||||||
|
|
||||||
if (actor->id == ACTOR_PLAYER) {
|
if (carriedActor->id == ACTOR_PLAYER) {
|
||||||
((Player*)actor)->currentYaw += rot;
|
((Player*)carriedActor)->currentYaw += rotY;
|
||||||
}
|
}
|
||||||
|
|
||||||
actor->shape.rot.y += rot;
|
carriedActor->shape.rot.y += rotY;
|
||||||
actor->world.rot.y += rot;
|
carriedActor->world.rot.y += rotY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,14 +81,14 @@ void func_80043334(CollisionContext* colCtx, Actor* actor, s32 bgId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transform actor's position
|
* Update the `carriedActor`'s position and Y rotation based on the dynapoly actor identified by `bgId`, according to
|
||||||
* `actor` is the actor to update
|
* the dynapoly actor's move flags (see `DYNA_TRANSFORM_POS` and `DYNA_TRANSFORM_ROT_Y`).
|
||||||
*/
|
*/
|
||||||
s32 func_800433A4(CollisionContext* colCtx, s32 bgId, Actor* actor) {
|
s32 DynaPolyActor_TransformCarriedActor(CollisionContext* colCtx, s32 bgId, Actor* carriedActor) {
|
||||||
s32 result = false;
|
s32 result = false;
|
||||||
DynaPolyActor* dynaActor;
|
DynaPolyActor* dynaActor;
|
||||||
|
|
||||||
if (DynaPoly_IsBgIdBgActor(bgId) == false) {
|
if (!DynaPoly_IsBgIdBgActor(bgId)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,13 +102,13 @@ s32 func_800433A4(CollisionContext* colCtx, s32 bgId, Actor* actor) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dynaActor->unk_15C & 1) {
|
if (dynaActor->transformFlags & DYNA_TRANSFORM_POS) {
|
||||||
func_800430A0(colCtx, bgId, actor);
|
DynaPolyActor_UpdateCarriedActorPos(colCtx, bgId, carriedActor);
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dynaActor->unk_15C & 2) {
|
if (dynaActor->transformFlags & DYNA_TRANSFORM_ROT_Y) {
|
||||||
func_800432A0(colCtx, bgId, actor);
|
DynaPolyActor_UpdateCarriedActorRotY(colCtx, bgId, carriedActor);
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
void DynaPolyActor_Init(DynaPolyActor* dynaActor, s32 flags) {
|
/**
|
||||||
|
* @param transformFlags How other actors standing on the dynapoly actor's collision move when the dynapoly actor moves.
|
||||||
|
* See `DYNA_TRANSFORM_POS`, `DYNA_TRANSFORM_ROT_Y`.
|
||||||
|
*/
|
||||||
|
void DynaPolyActor_Init(DynaPolyActor* dynaActor, s32 transformFlags) {
|
||||||
dynaActor->bgId = -1;
|
dynaActor->bgId = -1;
|
||||||
dynaActor->unk_15C = flags;
|
dynaActor->transformFlags = transformFlags;
|
||||||
dynaActor->interactFlags = 0;
|
dynaActor->interactFlags = 0;
|
||||||
dynaActor->unk_150 = 0.0f;
|
dynaActor->unk_150 = 0.0f;
|
||||||
dynaActor->unk_154 = 0.0f;
|
dynaActor->unk_154 = 0.0f;
|
||||||
|
|
|
@ -1238,7 +1238,7 @@ void Actor_UpdateBgCheckInfo(PlayState* play, Actor* actor, f32 wallCheckHeight,
|
||||||
sp74 = actor->world.pos.y - actor->prevPos.y;
|
sp74 = actor->world.pos.y - actor->prevPos.y;
|
||||||
|
|
||||||
if ((actor->floorBgId != BGCHECK_SCENE) && (actor->bgCheckFlags & BGCHECKFLAG_GROUND)) {
|
if ((actor->floorBgId != BGCHECK_SCENE) && (actor->bgCheckFlags & BGCHECKFLAG_GROUND)) {
|
||||||
func_800433A4(&play->colCtx, actor->floorBgId, actor);
|
DynaPolyActor_TransformCarriedActor(&play->colCtx, actor->floorBgId, actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & UPDBGCHECKINFO_FLAG_0) {
|
if (flags & UPDBGCHECKINFO_FLAG_0) {
|
||||||
|
|
|
@ -114,7 +114,7 @@ void EnAObj_Init(Actor* thisx, PlayState* play) {
|
||||||
thisx->focus.pos = thisx->world.pos;
|
thisx->focus.pos = thisx->world.pos;
|
||||||
this->dyna.bgId = BGACTOR_NEG_ONE;
|
this->dyna.bgId = BGACTOR_NEG_ONE;
|
||||||
this->dyna.interactFlags = 0;
|
this->dyna.interactFlags = 0;
|
||||||
this->dyna.unk_15C = DPM_UNK;
|
this->dyna.transformFlags = 0;
|
||||||
thisx->uncullZoneDownward = 1200.0f;
|
thisx->uncullZoneDownward = 1200.0f;
|
||||||
thisx->uncullZoneScale = 200.0f;
|
thisx->uncullZoneScale = 200.0f;
|
||||||
|
|
||||||
|
|
|
@ -110,7 +110,7 @@ void BgBdanObjects_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
this->switchFlag = (thisx->params >> 8) & 0x3F;
|
this->switchFlag = (thisx->params >> 8) & 0x3F;
|
||||||
thisx->params &= 0xFF;
|
thisx->params &= 0xFF;
|
||||||
if (thisx->params == 2) {
|
if (thisx->params == 2) {
|
||||||
|
|
|
@ -155,7 +155,7 @@ void BgBdanSwitch_Init(Actor* thisx, PlayState* play) {
|
||||||
case BLUE:
|
case BLUE:
|
||||||
case YELLOW_HEAVY:
|
case YELLOW_HEAVY:
|
||||||
case YELLOW:
|
case YELLOW:
|
||||||
BgBdanSwitch_InitDynaPoly(this, play, &gJabuFloorSwitchCol, DPM_PLAYER);
|
BgBdanSwitch_InitDynaPoly(this, play, &gJabuFloorSwitchCol, DYNA_TRANSFORM_POS);
|
||||||
break;
|
break;
|
||||||
case YELLOW_TALL_1:
|
case YELLOW_TALL_1:
|
||||||
case YELLOW_TALL_2:
|
case YELLOW_TALL_2:
|
||||||
|
|
|
@ -38,7 +38,7 @@ void BgBomGuard_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad[2];
|
s32 pad[2];
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gBowlingDefaultCol, &colHeader);
|
CollisionHeader_GetVirtual(&gBowlingDefaultCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ void BgBombwall_InitDynapoly(BgBombwall* this, PlayState* play) {
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gBgBombwallCol, &colHeader);
|
CollisionHeader_GetVirtual(&gBgBombwallCol, &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);
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ void BgBowlWall_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
|
|
||||||
if (this->dyna.actor.params == 0) {
|
if (this->dyna.actor.params == 0) {
|
||||||
CollisionHeader_GetVirtual(&gBowlingFirstAndFinalRoundCol, &colHeader);
|
CollisionHeader_GetVirtual(&gBowlingFirstAndFinalRoundCol, &colHeader);
|
||||||
|
|
|
@ -82,7 +82,7 @@ void BgBreakwall_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 wallType = ((this->dyna.actor.params >> 13) & 3) & 0xFF;
|
s32 wallType = ((this->dyna.actor.params >> 13) & 3) & 0xFF;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
this->bombableWallDList = sBombableWallInfo[wallType].dList;
|
this->bombableWallDList = sBombableWallInfo[wallType].dList;
|
||||||
this->colType = sBombableWallInfo[wallType].colType;
|
this->colType = sBombableWallInfo[wallType].colType;
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ void BgDdanJd_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(&gDodongoRisingPlatformCol, &colHeader);
|
CollisionHeader_GetVirtual(&gDodongoRisingPlatformCol, &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);
|
||||||
this->idleTimer = IDLE_FRAMES;
|
this->idleTimer = IDLE_FRAMES;
|
||||||
|
|
|
@ -69,7 +69,7 @@ void BgDdanKd_Init(Actor* thisx, PlayState* play) {
|
||||||
this->prevExplosive = NULL;
|
this->prevExplosive = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
Collider_InitCylinder(play, &this->collider);
|
Collider_InitCylinder(play, &this->collider);
|
||||||
Collider_SetCylinder(play, &this->collider, &this->dyna.actor, &sCylinderInit);
|
Collider_SetCylinder(play, &this->collider, &this->dyna.actor, &sCylinderInit);
|
||||||
CollisionHeader_GetVirtual(&gDodongoFallingStairsCol, &colHeader);
|
CollisionHeader_GetVirtual(&gDodongoFallingStairsCol, &colHeader);
|
||||||
|
|
|
@ -113,7 +113,7 @@ void BgDodoago_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gDodongoLowerJawCol, &colHeader);
|
CollisionHeader_GetVirtual(&gDodongoLowerJawCol, &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);
|
||||||
ActorShape_Init(&this->dyna.actor.shape, 0.0f, NULL, 0.0f);
|
ActorShape_Init(&this->dyna.actor.shape, 0.0f, NULL, 0.0f);
|
||||||
|
|
|
@ -71,7 +71,7 @@ void BgGanonOtyuka_Init(Actor* thisx, PlayState* play2) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&sCol, &colHeader);
|
CollisionHeader_GetVirtual(&sCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ void BgGateShutter_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad[2];
|
s32 pad[2];
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gKakarikoGuardGateCol, &colHeader);
|
CollisionHeader_GetVirtual(&gKakarikoGuardGateCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
this->somePos.x = thisx->world.pos.x;
|
this->somePos.x = thisx->world.pos.x;
|
||||||
|
|
|
@ -44,7 +44,7 @@ void BgGjyoBridge_Init(Actor* thisx, PlayState* play) {
|
||||||
colHeader = NULL;
|
colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gRainbowBridgeCol, &colHeader);
|
CollisionHeader_GetVirtual(&gRainbowBridgeCol, &colHeader);
|
||||||
|
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
|
|
|
@ -40,7 +40,7 @@ void BgGndFiremeiro_Init(Actor* thisx, PlayState* play) {
|
||||||
this->initPos = this->dyna.actor.world.pos;
|
this->initPos = this->dyna.actor.world.pos;
|
||||||
|
|
||||||
if (this->dyna.actor.params == 0) {
|
if (this->dyna.actor.params == 0) {
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gFireTrialPlatformCol, &colHeader);
|
CollisionHeader_GetVirtual(&gFireTrialPlatformCol, &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);
|
||||||
this->actionFunc = BgGndFiremeiro_Rise;
|
this->actionFunc = BgGndFiremeiro_Rise;
|
||||||
|
|
|
@ -50,7 +50,7 @@ void BgGndIceblock_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gWaterTrialIceBlockCol, &colHeader);
|
CollisionHeader_GetVirtual(&gWaterTrialIceBlockCol, &colHeader);
|
||||||
this->targetPos = this->dyna.actor.home.pos;
|
this->targetPos = this->dyna.actor.home.pos;
|
||||||
this->actionFunc = BgGndIceblock_Idle;
|
this->actionFunc = BgGndIceblock_Idle;
|
||||||
|
|
|
@ -43,7 +43,7 @@ void BgHaka_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gGravestoneCol, &colHeader);
|
CollisionHeader_GetVirtual(&gGravestoneCol, &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);
|
||||||
this->actionFunc = func_8087B7E8;
|
this->actionFunc = func_8087B7E8;
|
||||||
|
|
|
@ -76,7 +76,7 @@ void BgHakaGate_Init(Actor* thisx, PlayState* play) {
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
this->switchFlag = (thisx->params >> 8) & 0xFF;
|
this->switchFlag = (thisx->params >> 8) & 0xFF;
|
||||||
thisx->params &= 0xFF;
|
thisx->params &= 0xFF;
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
if (thisx->params == BGHAKAGATE_SKULL) {
|
if (thisx->params == BGHAKAGATE_SKULL) {
|
||||||
if (sSkullOfTruthRotY != 0x100) {
|
if (sSkullOfTruthRotY != 0x100) {
|
||||||
this->actionFunc = BgHakaGate_FalseSkull;
|
this->actionFunc = BgHakaGate_FalseSkull;
|
||||||
|
|
|
@ -45,7 +45,7 @@ void BgHakaHuta_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(&gBotwCoffinLidCol, &colHeader);
|
CollisionHeader_GetVirtual(&gBotwCoffinLidCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
this->unk_16A = (thisx->params >> 8) & 0xFF;
|
this->unk_16A = (thisx->params >> 8) & 0xFF;
|
||||||
|
|
|
@ -63,7 +63,7 @@ void BgHakaMegane_Init(Actor* thisx, PlayState* play) {
|
||||||
BgHakaMegane* this = (BgHakaMegane*)thisx;
|
BgHakaMegane* this = (BgHakaMegane*)thisx;
|
||||||
|
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
|
|
||||||
if (thisx->params < 3) {
|
if (thisx->params < 3) {
|
||||||
this->objBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_HAKACH_OBJECTS);
|
this->objBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_HAKACH_OBJECTS);
|
||||||
|
|
|
@ -63,12 +63,12 @@ void BgHakaMeganeBG_Init(Actor* thisx, PlayState* play) {
|
||||||
thisx->params &= 0xFF;
|
thisx->params &= 0xFF;
|
||||||
|
|
||||||
if (thisx->params == 2) {
|
if (thisx->params == 2) {
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK3);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS | DYNA_TRANSFORM_ROT_Y);
|
||||||
thisx->flags |= ACTOR_FLAG_4;
|
thisx->flags |= ACTOR_FLAG_4;
|
||||||
CollisionHeader_GetVirtual(&object_haka_objects_Col_005334, &colHeader);
|
CollisionHeader_GetVirtual(&object_haka_objects_Col_005334, &colHeader);
|
||||||
this->actionFunc = func_8087E258;
|
this->actionFunc = func_8087E258;
|
||||||
} else {
|
} else {
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
|
|
||||||
if (thisx->params == 0) {
|
if (thisx->params == 0) {
|
||||||
CollisionHeader_GetVirtual(&object_haka_objects_Col_009168, &colHeader);
|
CollisionHeader_GetVirtual(&object_haka_objects_Col_009168, &colHeader);
|
||||||
|
|
|
@ -43,7 +43,7 @@ void BgHakaShip_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, 1);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
this->switchFlag = (thisx->params >> 8) & 0xFF;
|
this->switchFlag = (thisx->params >> 8) & 0xFF;
|
||||||
this->dyna.actor.params &= 0xFF;
|
this->dyna.actor.params &= 0xFF;
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,7 @@ void BgHakaTrap_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
this->actionFunc = func_80880484;
|
this->actionFunc = func_80880484;
|
||||||
} else {
|
} else {
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
thisx->flags |= ACTOR_FLAG_4;
|
thisx->flags |= ACTOR_FLAG_4;
|
||||||
|
|
||||||
if (thisx->params == HAKA_TRAP_SPIKED_BOX) {
|
if (thisx->params == HAKA_TRAP_SPIKED_BOX) {
|
||||||
|
|
|
@ -82,7 +82,7 @@ void BgHakaTubo_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK3);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS | DYNA_TRANSFORM_ROT_Y);
|
||||||
CollisionHeader_GetVirtual(&object_haka_objects_Col_0108B8, &colHeader);
|
CollisionHeader_GetVirtual(&object_haka_objects_Col_0108B8, &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_InitCylinder(play, &this->potCollider);
|
Collider_InitCylinder(play, &this->potCollider);
|
||||||
|
|
|
@ -76,7 +76,7 @@ void BgHeavyBlock_SetupDynapoly(BgHeavyBlock* this, PlayState* play) {
|
||||||
s32 pad[2];
|
s32 pad[2];
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
this->dyna.actor.flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_17;
|
this->dyna.actor.flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_17;
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gHeavyBlockCol, &colHeader);
|
CollisionHeader_GetVirtual(&gHeavyBlockCol, &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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,7 +100,7 @@ void BgHidanDalm_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
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);
|
||||||
|
|
|
@ -44,7 +44,7 @@ void BgHidanFslift_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(&gFireTempleHookshotElevatorCol, &colHeader);
|
CollisionHeader_GetVirtual(&gFireTempleHookshotElevatorCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
if (Actor_SpawnAsChild(&play->actorCtx, &this->dyna.actor, play, ACTOR_OBJ_HSBLOCK, this->dyna.actor.world.pos.x,
|
if (Actor_SpawnAsChild(&play->actorCtx, &this->dyna.actor, play, ACTOR_OBJ_HSBLOCK, this->dyna.actor.world.pos.x,
|
||||||
|
|
|
@ -134,7 +134,7 @@ void BgHidanHamstep_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 i2;
|
s32 i2;
|
||||||
BgHidanHamstep* step;
|
BgHidanHamstep* step;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
|
|
||||||
if ((this->dyna.actor.params & 0xFF) == 0) {
|
if ((this->dyna.actor.params & 0xFF) == 0) {
|
||||||
|
|
|
@ -88,7 +88,7 @@ void BgHidanHrock_Init(Actor* thisx, PlayState* play) {
|
||||||
thisx->params = (thisx->params >> 8) & 0xFF;
|
thisx->params = (thisx->params >> 8) & 0xFF;
|
||||||
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->colliderItems);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
|
|
||||||
sinRotY = Math_SinS(thisx->shape.rot.y);
|
sinRotY = Math_SinS(thisx->shape.rot.y);
|
||||||
cosRotY = Math_CosS(thisx->shape.rot.y);
|
cosRotY = Math_CosS(thisx->shape.rot.y);
|
||||||
|
|
|
@ -67,7 +67,7 @@ void BgHidanKousi_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
Actor_SetFocus(thisx, 50.0f);
|
Actor_SetFocus(thisx, 50.0f);
|
||||||
osSyncPrintf("◯◯◯炎の神殿オブジェクト【格子(arg_data : %0x)】出現 (%d %d)\n", thisx->params, thisx->params & 0xFF,
|
osSyncPrintf("◯◯◯炎の神殿オブジェクト【格子(arg_data : %0x)】出現 (%d %d)\n", thisx->params, thisx->params & 0xFF,
|
||||||
((s32)thisx->params >> 8) & 0xFF);
|
((s32)thisx->params >> 8) & 0xFF);
|
||||||
|
|
|
@ -78,7 +78,7 @@ void BgHidanKowarerukabe_InitDynaPoly(BgHidanKowarerukabe* this, PlayState* play
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
|
|
||||||
if (collisionHeaders[this->dyna.actor.params & 0xFF] != NULL) {
|
if (collisionHeaders[this->dyna.actor.params & 0xFF] != NULL) {
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(collisionHeaders[this->dyna.actor.params & 0xFF], &colHeader);
|
CollisionHeader_GetVirtual(collisionHeaders[this->dyna.actor.params & 0xFF], &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);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -72,7 +72,7 @@ void BgHidanRock_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
|
|
||||||
this->type = thisx->params & 0xFF;
|
this->type = thisx->params & 0xFF;
|
||||||
this->unk_169 = 0;
|
this->unk_169 = 0;
|
||||||
|
|
|
@ -127,7 +127,7 @@ void BgHidanRsekizou_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
colHeader = NULL;
|
colHeader = NULL;
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
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);
|
||||||
|
|
|
@ -151,7 +151,7 @@ void BgHidanSekizou_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
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->elements);
|
||||||
for (i = 0; i < ARRAY_COUNT(this->elements); i++) {
|
for (i = 0; i < ARRAY_COUNT(this->elements); i++) {
|
||||||
|
|
|
@ -87,7 +87,7 @@ void BgHidanSima_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
if (this->dyna.actor.params == 0) {
|
if (this->dyna.actor.params == 0) {
|
||||||
CollisionHeader_GetVirtual(&gFireTempleStonePlatform1Col, &colHeader);
|
CollisionHeader_GetVirtual(&gFireTempleStonePlatform1Col, &colHeader);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -40,7 +40,7 @@ void BgHidanSyoku_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(&gFireTempleFlareDancerPlatformCol, &colHeader);
|
CollisionHeader_GetVirtual(&gFireTempleFlareDancerPlatformCol, &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);
|
||||||
this->actionFunc = func_8088F4B8;
|
this->actionFunc = func_8088F4B8;
|
||||||
|
|
|
@ -45,7 +45,7 @@ void BgIceObjects_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&object_ice_objects_Col_0003F0, &colHeader);
|
CollisionHeader_GetVirtual(&object_ice_objects_Col_0003F0, &colHeader);
|
||||||
Math_Vec3f_Copy(&this->targetPos, &this->dyna.actor.home.pos);
|
Math_Vec3f_Copy(&this->targetPos, &this->dyna.actor.home.pos);
|
||||||
this->actionFunc = BgIceObjects_Idle;
|
this->actionFunc = BgIceObjects_Idle;
|
||||||
|
|
|
@ -53,7 +53,7 @@ void BgIceShutter_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
colHeader = NULL;
|
colHeader = NULL;
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
sp28 = this->dyna.actor.params & 0xFF;
|
sp28 = this->dyna.actor.params & 0xFF;
|
||||||
this->dyna.actor.params = (this->dyna.actor.params >> 8) & 0xFF;
|
this->dyna.actor.params = (this->dyna.actor.params >> 8) & 0xFF;
|
||||||
CollisionHeader_GetVirtual(&object_ice_objects_Col_002854, &colHeader);
|
CollisionHeader_GetVirtual(&object_ice_objects_Col_002854, &colHeader);
|
||||||
|
|
|
@ -65,7 +65,7 @@ void BgIceTurara_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&object_ice_objects_Col_002594, &colHeader);
|
CollisionHeader_GetVirtual(&object_ice_objects_Col_002594, &colHeader);
|
||||||
Collider_InitCylinder(play, &this->collider);
|
Collider_InitCylinder(play, &this->collider);
|
||||||
Collider_SetCylinder(play, &this->collider, &this->dyna.actor, &sCylinderInit);
|
Collider_SetCylinder(play, &this->collider, &this->dyna.actor, &sCylinderInit);
|
||||||
|
|
|
@ -39,7 +39,7 @@ void BgInGate_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gIngoGateCol, &colHeader);
|
CollisionHeader_GetVirtual(&gIngoGateCol, &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);
|
||||||
|
|
|
@ -59,7 +59,7 @@ void BgJyaAmishutter_InitDynaPoly(BgJyaAmishutter* this, PlayState* play, Collis
|
||||||
void BgJyaAmishutter_Init(Actor* thisx, PlayState* play) {
|
void BgJyaAmishutter_Init(Actor* thisx, PlayState* play) {
|
||||||
BgJyaAmishutter* this = (BgJyaAmishutter*)thisx;
|
BgJyaAmishutter* this = (BgJyaAmishutter*)thisx;
|
||||||
|
|
||||||
BgJyaAmishutter_InitDynaPoly(this, play, &gAmishutterCol, DPM_UNK);
|
BgJyaAmishutter_InitDynaPoly(this, play, &gAmishutterCol, 0);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
BgJyaAmishutter_SetupWaitForPlayer(this);
|
BgJyaAmishutter_SetupWaitForPlayer(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,7 +96,7 @@ void BgJyaBombiwa_Init(Actor* thisx, PlayState* play) {
|
||||||
this->dyna.actor.params & 0x3F);
|
this->dyna.actor.params & 0x3F);
|
||||||
osSyncPrintf(VT_RST);
|
osSyncPrintf(VT_RST);
|
||||||
}
|
}
|
||||||
BgJyaBombiwa_SetupDynaPoly(this, play, &gBombiwaCol, DPM_UNK);
|
BgJyaBombiwa_SetupDynaPoly(this, play, &gBombiwaCol, 0);
|
||||||
BgJyaBombiwa_InitCollider(this, play);
|
BgJyaBombiwa_InitCollider(this, play);
|
||||||
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
|
|
|
@ -397,7 +397,7 @@ void BgJyaCobra_UpdateShadowFromTop(BgJyaCobra* this) {
|
||||||
void BgJyaCobra_Init(Actor* thisx, PlayState* play) {
|
void BgJyaCobra_Init(Actor* thisx, PlayState* play) {
|
||||||
BgJyaCobra* this = (BgJyaCobra*)thisx;
|
BgJyaCobra* this = (BgJyaCobra*)thisx;
|
||||||
|
|
||||||
BgJyaCobra_InitDynapoly(this, play, &gCobraCol, DPM_UNK);
|
BgJyaCobra_InitDynapoly(this, play, &gCobraCol, 0);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
if (!(this->dyna.actor.params & 3) && Flags_GetSwitch(play, ((s32)this->dyna.actor.params >> 8) & 0x3F)) {
|
if (!(this->dyna.actor.params & 3) && Flags_GetSwitch(play, ((s32)this->dyna.actor.params >> 8) & 0x3F)) {
|
||||||
this->dyna.actor.world.rot.y = this->dyna.actor.home.rot.y = this->dyna.actor.shape.rot.y = 0;
|
this->dyna.actor.world.rot.y = this->dyna.actor.home.rot.y = this->dyna.actor.shape.rot.y = 0;
|
||||||
|
|
|
@ -56,7 +56,7 @@ void BgJyaKanaami_InitDynaPoly(BgJyaKanaami* this, PlayState* play, CollisionHea
|
||||||
void BgJyaKanaami_Init(Actor* thisx, PlayState* play) {
|
void BgJyaKanaami_Init(Actor* thisx, PlayState* play) {
|
||||||
BgJyaKanaami* this = (BgJyaKanaami*)thisx;
|
BgJyaKanaami* this = (BgJyaKanaami*)thisx;
|
||||||
|
|
||||||
BgJyaKanaami_InitDynaPoly(this, play, &gKanaamiCol, DPM_UNK);
|
BgJyaKanaami_InitDynaPoly(this, play, &gKanaamiCol, 0);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
||||||
func_80899A08(this);
|
func_80899A08(this);
|
||||||
|
|
|
@ -61,7 +61,7 @@ void BgJyaLift_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
// "Goddess lift CT"
|
// "Goddess lift CT"
|
||||||
osSyncPrintf("女神リフト CT\n");
|
osSyncPrintf("女神リフト CT\n");
|
||||||
BgJyaLift_InitDynapoly(this, play, &gLiftCol, DPM_UNK);
|
BgJyaLift_InitDynapoly(this, play, &gLiftCol, 0);
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
if (Flags_GetSwitch(play, (thisx->params & 0x3F))) {
|
if (Flags_GetSwitch(play, (thisx->params & 0x3F))) {
|
||||||
BgJyaLift_SetFinalPosY(this);
|
BgJyaLift_SetFinalPosY(this);
|
||||||
|
|
|
@ -159,7 +159,7 @@ void BgJyaMegami_SetupSpawnEffect(BgJyaMegami* this, PlayState* play, f32 arg2)
|
||||||
void BgJyaMegami_Init(Actor* thisx, PlayState* play) {
|
void BgJyaMegami_Init(Actor* thisx, PlayState* play) {
|
||||||
BgJyaMegami* this = (BgJyaMegami*)thisx;
|
BgJyaMegami* this = (BgJyaMegami*)thisx;
|
||||||
|
|
||||||
BgJyaMegami_InitDynaPoly(this, play, &GMegamiCol, DPM_UNK);
|
BgJyaMegami_InitDynaPoly(this, play, &GMegamiCol, 0);
|
||||||
BgJyaMegami_InitCollider(this, play);
|
BgJyaMegami_InitCollider(this, play);
|
||||||
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
|
|
|
@ -110,7 +110,7 @@ void BgJyaZurerukabe_Init(Actor* thisx, PlayState* play) {
|
||||||
BgJyaZurerukabe* this = (BgJyaZurerukabe*)thisx;
|
BgJyaZurerukabe* this = (BgJyaZurerukabe*)thisx;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
BgJyaZurerukabe_InitDynaPoly(this, play, &gZurerukabeCol, DPM_UNK);
|
BgJyaZurerukabe_InitDynaPoly(this, play, &gZurerukabeCol, 0);
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_COUNT(D_8089B9F0); i++) {
|
for (i = 0; i < ARRAY_COUNT(D_8089B9F0); i++) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ void BgMenkuriKaiten_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK3);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS | DYNA_TRANSFORM_ROT_Y);
|
||||||
CollisionHeader_GetVirtual(&gGTGRotatingRingPlatformCol, &colHeader);
|
CollisionHeader_GetVirtual(&gGTGRotatingRingPlatformCol, &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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,7 +177,7 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
this->yRot = this->dyna.actor.world.pos.y;
|
this->yRot = this->dyna.actor.world.pos.y;
|
||||||
this->dList = sDLists[(u16)this->dyna.actor.params & 0xF];
|
this->dList = sDLists[(u16)this->dyna.actor.params & 0xF];
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(sColHeaders[(u16)this->dyna.actor.params & 0xF], &colHeader);
|
CollisionHeader_GetVirtual(sColHeaders[(u16)this->dyna.actor.params & 0xF], &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);
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ void BgMizuMovebg_Init(Actor* thisx, PlayState* play) {
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
((BgMizuMovebg*)thisx)->homeY = thisx->world.pos.y;
|
((BgMizuMovebg*)thisx)->homeY = thisx->world.pos.y;
|
||||||
((BgMizuMovebg*)thisx)->dlist = D_8089EB50[MOVEBG_TYPE(thisx->params)];
|
((BgMizuMovebg*)thisx)->dlist = D_8089EB50[MOVEBG_TYPE(thisx->params)];
|
||||||
DynaPolyActor_Init(&((BgMizuMovebg*)thisx)->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&((BgMizuMovebg*)thisx)->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(D_8089EB70[MOVEBG_TYPE(thisx->params)], &colHeader);
|
CollisionHeader_GetVirtual(D_8089EB70[MOVEBG_TYPE(thisx->params)], &colHeader);
|
||||||
((BgMizuMovebg*)thisx)->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
((BgMizuMovebg*)thisx)->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ void BgMizuShutter_Init(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
this->displayList = sDisplayLists[BGMIZUSHUTTER_SIZE_PARAM(&this->dyna.actor)];
|
this->displayList = sDisplayLists[BGMIZUSHUTTER_SIZE_PARAM(&this->dyna.actor)];
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(sCollisionHeaders[BGMIZUSHUTTER_SIZE_PARAM(&this->dyna.actor)], &colHeader);
|
CollisionHeader_GetVirtual(sCollisionHeaders[BGMIZUSHUTTER_SIZE_PARAM(&this->dyna.actor)], &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);
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ void BgMizuUzu_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gObjectMizuObjectsUzuCol_0074EC, &colHeader);
|
CollisionHeader_GetVirtual(&gObjectMizuObjectsUzuCol_0074EC, &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);
|
||||||
this->actionFunc = func_8089F788;
|
this->actionFunc = func_8089F788;
|
||||||
|
|
|
@ -74,7 +74,7 @@ void BgMoriBigst_Init(Actor* thisx, PlayState* play) {
|
||||||
Flags_GetSwitch(play, (this->dyna.actor.params >> 8) & 0x3F),
|
Flags_GetSwitch(play, (this->dyna.actor.params >> 8) & 0x3F),
|
||||||
Flags_GetTempClear(play, this->dyna.actor.room), Flags_GetClear(play, this->dyna.actor.room),
|
Flags_GetTempClear(play, this->dyna.actor.room), Flags_GetClear(play, this->dyna.actor.room),
|
||||||
GET_PLAYER(play)->actor.world.pos.y);
|
GET_PLAYER(play)->actor.world.pos.y);
|
||||||
BgMoriBigst_InitDynapoly(this, play, &gMoriBigstCol, DPM_UNK);
|
BgMoriBigst_InitDynapoly(this, play, &gMoriBigstCol, 0);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
this->moriTexObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_MORI_TEX);
|
this->moriTexObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_MORI_TEX);
|
||||||
if (this->moriTexObjIndex < 0) {
|
if (this->moriTexObjIndex < 0) {
|
||||||
|
|
|
@ -100,7 +100,7 @@ void BgMoriElevator_Init(Actor* thisx, PlayState* play) {
|
||||||
sIsSpawned = true;
|
sIsSpawned = true;
|
||||||
this->dyna.actor.room = -1;
|
this->dyna.actor.room = -1;
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(&gMoriElevatorCol, &colHeader);
|
CollisionHeader_GetVirtual(&gMoriElevatorCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
BgMoriElevator_SetupWaitAfterInit(this);
|
BgMoriElevator_SetupWaitAfterInit(this);
|
||||||
|
|
|
@ -144,7 +144,7 @@ s32 BgMoriHashigo_InitClasp(BgMoriHashigo* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 BgMoriHashigo_InitLadder(BgMoriHashigo* this, PlayState* play) {
|
s32 BgMoriHashigo_InitLadder(BgMoriHashigo* this, PlayState* play) {
|
||||||
BgMoriHashigo_InitDynapoly(this, play, &gMoriHashigoCol, DPM_UNK);
|
BgMoriHashigo_InitDynapoly(this, play, &gMoriHashigoCol, 0);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChainLadder);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChainLadder);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,9 +73,9 @@ void BgMoriHashira4_Init(Actor* thisx, PlayState* play) {
|
||||||
this->dyna.actor.params &= 0xFF;
|
this->dyna.actor.params &= 0xFF;
|
||||||
|
|
||||||
if (this->dyna.actor.params == 0) {
|
if (this->dyna.actor.params == 0) {
|
||||||
BgMoriHashira4_InitDynaPoly(this, play, &gMoriHashira1Col, DPM_UNK3);
|
BgMoriHashira4_InitDynaPoly(this, play, &gMoriHashira1Col, DYNA_TRANSFORM_POS | DYNA_TRANSFORM_ROT_Y);
|
||||||
} else {
|
} else {
|
||||||
BgMoriHashira4_InitDynaPoly(this, play, &gMoriHashira2Col, DPM_UNK);
|
BgMoriHashira4_InitDynaPoly(this, play, &gMoriHashira2Col, 0);
|
||||||
}
|
}
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
this->moriTexObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_MORI_TEX);
|
this->moriTexObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_MORI_TEX);
|
||||||
|
|
|
@ -59,7 +59,7 @@ void BgMoriHineri_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 t6;
|
s32 t6;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
|
|
||||||
switchFlagParam = this->dyna.actor.params & 0x3F;
|
switchFlagParam = this->dyna.actor.params & 0x3F;
|
||||||
t6 = this->dyna.actor.params & 0x4000;
|
t6 = this->dyna.actor.params & 0x4000;
|
||||||
|
|
|
@ -53,7 +53,7 @@ void BgMoriKaitenkabe_Init(Actor* thisx, PlayState* play) {
|
||||||
// "Forest Temple object 【Rotating Wall (arg_data: 0x% 04x)】 appears"
|
// "Forest Temple object 【Rotating Wall (arg_data: 0x% 04x)】 appears"
|
||||||
osSyncPrintf("◯◯◯森の神殿オブジェクト【回転壁(arg_data : 0x%04x)】出現 \n", this->dyna.actor.params);
|
osSyncPrintf("◯◯◯森の神殿オブジェクト【回転壁(arg_data : 0x%04x)】出現 \n", this->dyna.actor.params);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gMoriKaitenkabeCol, &colHeader);
|
CollisionHeader_GetVirtual(&gMoriKaitenkabeCol, &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);
|
||||||
this->moriTexObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_MORI_TEX);
|
this->moriTexObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_MORI_TEX);
|
||||||
|
|
|
@ -50,7 +50,7 @@ void BgMoriRakkatenjo_Init(Actor* thisx, PlayState* play) {
|
||||||
BgMoriRakkatenjo* this = (BgMoriRakkatenjo*)thisx;
|
BgMoriRakkatenjo* this = (BgMoriRakkatenjo*)thisx;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
// "Forest Temple obj. Falling Ceiling"
|
// "Forest Temple obj. Falling Ceiling"
|
||||||
osSyncPrintf("森の神殿 obj. 落下天井 (home posY %f)\n", this->dyna.actor.home.pos.y);
|
osSyncPrintf("森の神殿 obj. 落下天井 (home posY %f)\n", this->dyna.actor.home.pos.y);
|
||||||
if ((fabsf(1991.0f - this->dyna.actor.home.pos.x) > 0.001f) ||
|
if ((fabsf(1991.0f - this->dyna.actor.home.pos.x) > 0.001f) ||
|
||||||
|
|
|
@ -209,7 +209,7 @@ void BgPoEvent_Init(Actor* thisx, PlayState* play) {
|
||||||
BgPoEvent_InitPaintings(this, play);
|
BgPoEvent_InitPaintings(this, play);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
if (Flags_GetSwitch(play, thisx->params)) {
|
if (Flags_GetSwitch(play, thisx->params)) {
|
||||||
Actor_Kill(thisx);
|
Actor_Kill(thisx);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -44,7 +44,7 @@ void BgPushbox_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gBlockSmallCol, &colHeader);
|
CollisionHeader_GetVirtual(&gBlockSmallCol, &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);
|
||||||
ActorShape_Init(&this->dyna.actor.shape, 0.0f, NULL, 0.0f);
|
ActorShape_Init(&this->dyna.actor.shape, 0.0f, NULL, 0.0f);
|
||||||
|
|
|
@ -52,7 +52,7 @@ void BgRelayObjects_Init(Actor* thisx, PlayState* play) {
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
this->switchFlag = thisx->params & 0x3F;
|
this->switchFlag = thisx->params & 0x3F;
|
||||||
thisx->params = (thisx->params >> 8) & 0xFF;
|
thisx->params = (thisx->params >> 8) & 0xFF;
|
||||||
DynaPolyActor_Init(&this->dyna, 3);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS | DYNA_TRANSFORM_ROT_Y);
|
||||||
if (thisx->params == WINDMILL_ROTATING_GEAR) {
|
if (thisx->params == WINDMILL_ROTATING_GEAR) {
|
||||||
CollisionHeader_GetVirtual(&gWindmillRotatingPlatformCol, &colHeader);
|
CollisionHeader_GetVirtual(&gWindmillRotatingPlatformCol, &colHeader);
|
||||||
if (GET_EVENTCHKINF(EVENTCHKINF_65)) {
|
if (GET_EVENTCHKINF(EVENTCHKINF_65)) {
|
||||||
|
|
|
@ -39,7 +39,7 @@ void BgSpot00Break_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
|
|
||||||
if (this->dyna.actor.params == 1) {
|
if (this->dyna.actor.params == 1) {
|
||||||
CollisionHeader_GetVirtual(&gBarbedWireFenceCol, &colHeader);
|
CollisionHeader_GetVirtual(&gBarbedWireFenceCol, &colHeader);
|
||||||
|
|
|
@ -53,7 +53,7 @@ void BgSpot00Hanebasi_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, 1);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
|
|
||||||
if (this->dyna.actor.params == DT_DRAWBRIDGE) {
|
if (this->dyna.actor.params == DT_DRAWBRIDGE) {
|
||||||
CollisionHeader_GetVirtual(&gHyruleFieldCastleDrawbridgeCol, &colHeader);
|
CollisionHeader_GetVirtual(&gHyruleFieldCastleDrawbridgeCol, &colHeader);
|
||||||
|
|
|
@ -295,7 +295,7 @@ void BgSpot01Idohashira_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader;
|
CollisionHeader* colHeader;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
colHeader = NULL;
|
colHeader = NULL;
|
||||||
CollisionHeader_GetVirtual(&gKakarikoWellArchCol, &colHeader);
|
CollisionHeader_GetVirtual(&gKakarikoWellArchCol, &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);
|
||||||
|
|
|
@ -42,7 +42,7 @@ void BgSpot01Idosoko_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
CollisionHeader_GetVirtual(&gKakarikoBOTWStoneCol, &colHeader);
|
CollisionHeader_GetVirtual(&gKakarikoBOTWStoneCol, &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);
|
||||||
|
|
|
@ -97,7 +97,7 @@ void func_808AC2BC(BgSpot01Objects2* this, PlayState* play) {
|
||||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->objBankIndex].segment);
|
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->objBankIndex].segment);
|
||||||
|
|
||||||
this->dyna.actor.objBankIndex = this->objBankIndex;
|
this->dyna.actor.objBankIndex = this->objBankIndex;
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
|
|
||||||
switch (this->dyna.actor.params & 7) {
|
switch (this->dyna.actor.params & 7) {
|
||||||
case 4: // Shooting gallery
|
case 4: // Shooting gallery
|
||||||
|
|
|
@ -48,7 +48,7 @@ void BgSpot03Taki_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
this->switchFlag = (this->dyna.actor.params & 0x3F);
|
this->switchFlag = (this->dyna.actor.params & 0x3F);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&object_spot03_object_Col_000C98, &colHeader);
|
CollisionHeader_GetVirtual(&object_spot03_object_Col_000C98, &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);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
|
|
|
@ -47,7 +47,7 @@ void BgSpot05Soko_Init(Actor* thisx, PlayState* play) {
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
this->switchFlag = (thisx->params >> 8) & 0xFF;
|
this->switchFlag = (thisx->params >> 8) & 0xFF;
|
||||||
thisx->params &= 0xFF;
|
thisx->params &= 0xFF;
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
if (thisx->params == 0) {
|
if (thisx->params == 0) {
|
||||||
CollisionHeader_GetVirtual(&object_spot05_objects_Col_000918, &colHeader);
|
CollisionHeader_GetVirtual(&object_spot05_objects_Col_000918, &colHeader);
|
||||||
if (LINK_IS_ADULT) {
|
if (LINK_IS_ADULT) {
|
||||||
|
|
|
@ -104,7 +104,7 @@ void BgSpot06Objects_Init(Actor* thisx, PlayState* play) {
|
||||||
switch (thisx->params) {
|
switch (thisx->params) {
|
||||||
case LHO_WATER_TEMPLE_ENTRACE_GATE:
|
case LHO_WATER_TEMPLE_ENTRACE_GATE:
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gLakeHyliaWaterTempleGateCol, &colHeader);
|
CollisionHeader_GetVirtual(&gLakeHyliaWaterTempleGateCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ void BgSpot06Objects_Init(Actor* thisx, PlayState* play) {
|
||||||
break;
|
break;
|
||||||
case LHO_ICE_BLOCK:
|
case LHO_ICE_BLOCK:
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gLakeHyliaZoraShortcutIceblockCol, &colHeader);
|
CollisionHeader_GetVirtual(&gLakeHyliaZoraShortcutIceblockCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
this->actionFunc = BgSpot06Objects_DoNothing;
|
this->actionFunc = BgSpot06Objects_DoNothing;
|
||||||
|
|
|
@ -37,7 +37,7 @@ void BgSpot07Taki_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
if (LINK_IS_ADULT) {
|
if (LINK_IS_ADULT) {
|
||||||
if (this->dyna.actor.params == 0) {
|
if (this->dyna.actor.params == 0) {
|
||||||
|
|
|
@ -161,7 +161,7 @@ void BgSpot08Bakudankabe_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
if (Flags_GetSwitch(play, (this->dyna.actor.params & 0x3F))) {
|
if (Flags_GetSwitch(play, (this->dyna.actor.params & 0x3F))) {
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -299,10 +299,10 @@ void BgSpot08Iceblock_Init(Actor* thisx, PlayState* play) {
|
||||||
switch (this->dyna.actor.params & 0xF) {
|
switch (this->dyna.actor.params & 0xF) {
|
||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
BgSpot08Iceblock_InitDynaPoly(this, play, colHeader, DPM_UNK3);
|
BgSpot08Iceblock_InitDynaPoly(this, play, colHeader, DYNA_TRANSFORM_POS | DYNA_TRANSFORM_ROT_Y);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
BgSpot08Iceblock_InitDynaPoly(this, play, colHeader, DPM_UNK);
|
BgSpot08Iceblock_InitDynaPoly(this, play, colHeader, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ s32 func_808B1BEC(BgSpot09Obj* this, PlayState* play) {
|
||||||
s32 pad2[2];
|
s32 pad2[2];
|
||||||
|
|
||||||
if (D_808B1F90[this->dyna.actor.params] != NULL) {
|
if (D_808B1F90[this->dyna.actor.params] != NULL) {
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(D_808B1F90[this->dyna.actor.params], &colHeader);
|
CollisionHeader_GetVirtual(D_808B1F90[this->dyna.actor.params], &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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,7 @@ void BgSpot11Bakudankabe_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
if (Flags_GetSwitch(play, (this->dyna.actor.params & 0x3F))) {
|
if (Flags_GetSwitch(play, (this->dyna.actor.params & 0x3F))) {
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -59,7 +59,7 @@ void BgSpot12Gate_InitDynaPoly(BgSpot12Gate* this, PlayState* play, CollisionHea
|
||||||
void BgSpot12Gate_Init(Actor* thisx, PlayState* play) {
|
void BgSpot12Gate_Init(Actor* thisx, PlayState* play) {
|
||||||
BgSpot12Gate* this = (BgSpot12Gate*)thisx;
|
BgSpot12Gate* this = (BgSpot12Gate*)thisx;
|
||||||
|
|
||||||
BgSpot12Gate_InitDynaPoly(this, play, &gGerudoFortressWastelandGateCol, DPM_UNK);
|
BgSpot12Gate_InitDynaPoly(this, play, &gGerudoFortressWastelandGateCol, 0);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
|
|
||||||
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
||||||
|
|
|
@ -57,7 +57,7 @@ void func_808B3420(BgSpot12Saku* this, PlayState* play, CollisionHeader* collisi
|
||||||
void BgSpot12Saku_Init(Actor* thisx, PlayState* play) {
|
void BgSpot12Saku_Init(Actor* thisx, PlayState* play) {
|
||||||
BgSpot12Saku* this = (BgSpot12Saku*)thisx;
|
BgSpot12Saku* this = (BgSpot12Saku*)thisx;
|
||||||
|
|
||||||
func_808B3420(this, play, &gGerudoFortressGTGShutterCol, DPM_UNK);
|
func_808B3420(this, play, &gGerudoFortressGTGShutterCol, 0);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
|
||||||
func_808B3714(this);
|
func_808B3714(this);
|
||||||
|
|
|
@ -121,7 +121,7 @@ s32 func_808B3AAC(BgSpot15Rrbox* this, PlayState* play) {
|
||||||
void BgSpot15Rrbox_Init(Actor* thisx, PlayState* play) {
|
void BgSpot15Rrbox_Init(Actor* thisx, PlayState* play) {
|
||||||
BgSpot15Rrbox* this = (BgSpot15Rrbox*)thisx;
|
BgSpot15Rrbox* this = (BgSpot15Rrbox*)thisx;
|
||||||
|
|
||||||
func_808B3960(this, play, &gLonLonMilkCrateCol, DPM_UNK);
|
func_808B3960(this, play, &gLonLonMilkCrateCol, 0);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
func_808B3A34(this);
|
func_808B3A34(this);
|
||||||
if (Flags_GetSwitch(play, (this->dyna.actor.params & 0x3F))) {
|
if (Flags_GetSwitch(play, (this->dyna.actor.params & 0x3F))) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ void BgSpot15Saku_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gLonLonCorralFenceCol, &colHeader);
|
CollisionHeader_GetVirtual(&gLonLonCorralFenceCol, &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);
|
||||||
this->dyna.actor.scale.x = 0.1f;
|
this->dyna.actor.scale.x = 0.1f;
|
||||||
|
|
|
@ -95,7 +95,7 @@ void BgSpot17Bakudankabe_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
if (Flags_GetSwitch(play, (this->dyna.actor.params & 0x3F))) {
|
if (Flags_GetSwitch(play, (this->dyna.actor.params & 0x3F))) {
|
||||||
Actor_Kill(&this->dyna.actor);
|
Actor_Kill(&this->dyna.actor);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -133,7 +133,7 @@ void BgSpot18Basket_Init(Actor* thisx, PlayState* play) {
|
||||||
BgSpot18Basket* this = (BgSpot18Basket*)thisx;
|
BgSpot18Basket* this = (BgSpot18Basket*)thisx;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK3);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS | DYNA_TRANSFORM_ROT_Y);
|
||||||
func_808B7710(&this->dyna.actor, play);
|
func_808B7710(&this->dyna.actor, play);
|
||||||
CollisionHeader_GetVirtual(&gGoronCityVaseCol, &colHeader);
|
CollisionHeader_GetVirtual(&gGoronCityVaseCol, &colHeader);
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ void BgSpot18Futa_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gGoronCityVaseLidCol, &colHeader);
|
CollisionHeader_GetVirtual(&gGoronCityVaseLidCol, &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);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
|
|
|
@ -128,7 +128,7 @@ s32 func_808B8A98(BgSpot18Obj* this, PlayState* play) {
|
||||||
s32 pad[2];
|
s32 pad[2];
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(D_808B90FC[this->dyna.actor.params & 0xF], &colHeader);
|
CollisionHeader_GetVirtual(D_808B90FC[this->dyna.actor.params & 0xF], &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);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -42,7 +42,7 @@ void BgSpot18Shutter_Init(Actor* thisx, PlayState* play) {
|
||||||
s32 param = (this->dyna.actor.params >> 8) & 1;
|
s32 param = (this->dyna.actor.params >> 8) & 1;
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
|
|
||||||
if (param == 0) {
|
if (param == 0) {
|
||||||
|
|
|
@ -38,7 +38,7 @@ void BgSstFloor_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(&gBongoDrumCol, &colHeader);
|
CollisionHeader_GetVirtual(&gBongoDrumCol, &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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@ void BgTreemouth_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(thisx, sInitChain);
|
Actor_ProcessInitChain(thisx, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gDekuTreeMouthCol, &colHeader);
|
CollisionHeader_GetVirtual(&gDekuTreeMouthCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
|
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
|
||||||
|
|
|
@ -36,7 +36,7 @@ void BgUmaJump_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gJumpableHorseFenceCol, &colHeader);
|
CollisionHeader_GetVirtual(&gJumpableHorseFenceCol, &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);
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ void BgVbSima_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader = NULL;
|
CollisionHeader* colHeader = NULL;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
CollisionHeader_GetVirtual(&gVolvagiaPlatformCol, &colHeader);
|
CollisionHeader_GetVirtual(&gVolvagiaPlatformCol, &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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ void BgYdanHasi_Init(Actor* thisx, PlayState* play) {
|
||||||
this->type = ((thisx->params >> 8) & 0x3F);
|
this->type = ((thisx->params >> 8) & 0x3F);
|
||||||
thisx->params = thisx->params & 0xFF;
|
thisx->params = thisx->params & 0xFF;
|
||||||
waterBox = &play->colCtx.colHeader->waterBoxes[1];
|
waterBox = &play->colCtx.colHeader->waterBoxes[1];
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
if (thisx->params == HASI_WATER) {
|
if (thisx->params == HASI_WATER) {
|
||||||
// Water the moving platform floats on in B1. Never runs in Master Quest
|
// Water the moving platform floats on in B1. Never runs in Master Quest
|
||||||
waterBox->ySurface = thisx->world.pos.y = thisx->home.pos.y += -5.0f;
|
waterBox->ySurface = thisx->world.pos.y = thisx->home.pos.y += -5.0f;
|
||||||
|
|
|
@ -96,7 +96,7 @@ void BgYdanMaruta_Init(Actor* thisx, PlayState* play) {
|
||||||
this->actionFunc = func_808BEFF4;
|
this->actionFunc = func_808BEFF4;
|
||||||
} else {
|
} else {
|
||||||
triInit = &sTrisElementsInit[1];
|
triInit = &sTrisElementsInit[1];
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
CollisionHeader_GetVirtual(&gDTFallingLadderCol, &colHeader);
|
CollisionHeader_GetVirtual(&gDTFallingLadderCol, &colHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||||
thisx->home.pos.y += -280.0f;
|
thisx->home.pos.y += -280.0f;
|
||||||
|
|
|
@ -94,7 +94,7 @@ void BgYdanSp_Init(Actor* thisx, PlayState* play) {
|
||||||
this->isDestroyedSwitchFlag = thisx->params & 0x3F;
|
this->isDestroyedSwitchFlag = thisx->params & 0x3F;
|
||||||
this->burnSwitchFlag = (thisx->params >> 6) & 0x3F;
|
this->burnSwitchFlag = (thisx->params >> 6) & 0x3F;
|
||||||
this->dyna.actor.params = (thisx->params >> 0xC) & 0xF;
|
this->dyna.actor.params = (thisx->params >> 0xC) & 0xF;
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
|
||||||
Collider_InitTris(play, &this->trisCollider);
|
Collider_InitTris(play, &this->trisCollider);
|
||||||
Collider_SetTris(play, &this->trisCollider, &this->dyna.actor, &sTrisInit, this->trisColliderItems);
|
Collider_SetTris(play, &this->trisCollider, &this->dyna.actor, &sTrisInit, this->trisColliderItems);
|
||||||
if (this->dyna.actor.params == WEB_FLOOR) {
|
if (this->dyna.actor.params == WEB_FLOOR) {
|
||||||
|
|
|
@ -102,7 +102,7 @@ void BgZg_Init(Actor* thisx, PlayState* play) {
|
||||||
CollisionHeader* colHeader;
|
CollisionHeader* colHeader;
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
colHeader = NULL;
|
colHeader = NULL;
|
||||||
CollisionHeader_GetVirtual(&gTowerCollapseBarsCol, &colHeader);
|
CollisionHeader_GetVirtual(&gTowerCollapseBarsCol, &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);
|
||||||
|
|
|
@ -243,7 +243,7 @@ void DemoGj_InitCommon(DemoGj* this, PlayState* play, CollisionHeader* header) {
|
||||||
|
|
||||||
if (header != NULL) {
|
if (header != NULL) {
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
newHeader = NULL;
|
newHeader = NULL;
|
||||||
CollisionHeader_GetVirtual(header, &newHeader);
|
CollisionHeader_GetVirtual(header, &newHeader);
|
||||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, newHeader);
|
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, newHeader);
|
||||||
|
|
|
@ -455,7 +455,7 @@ void func_8097EDD8(DemoGt* this, PlayState* play, CollisionHeader* collision) {
|
||||||
|
|
||||||
if (collision != NULL) {
|
if (collision != NULL) {
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
colHeader = NULL;
|
colHeader = NULL;
|
||||||
CollisionHeader_GetVirtual(collision, &colHeader);
|
CollisionHeader_GetVirtual(collision, &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);
|
||||||
|
|
|
@ -227,7 +227,7 @@ void DoorShutter_Init(Actor* thisx, PlayState* play2) {
|
||||||
|
|
||||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||||
this->dyna.actor.home.pos.z = this->dyna.actor.shape.yOffset;
|
this->dyna.actor.home.pos.z = this->dyna.actor.shape.yOffset;
|
||||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
DynaPolyActor_Init(&this->dyna, 0);
|
||||||
this->doorType = (this->dyna.actor.params >> 6) & 0xF;
|
this->doorType = (this->dyna.actor.params >> 6) & 0xF;
|
||||||
phi_a3 = D_80998224[this->doorType];
|
phi_a3 = D_80998224[this->doorType];
|
||||||
if (phi_a3 < 0) {
|
if (phi_a3 < 0) {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue