1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-10-19 21:19:54 +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:
Dragorn421 2022-10-12 00:47:33 +02:00 committed by GitHub
commit 40a4abefa5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
119 changed files with 159 additions and 149 deletions

View file

@ -641,8 +641,8 @@ s32 func_800427B4(CollisionPoly* polyA, CollisionPoly* polyB, Vec3f* pointA, Vec
void BgCheck_DrawDynaCollision(PlayState*, CollisionContext*);
void BgCheck_DrawStaticCollision(PlayState*, CollisionContext*);
void func_80043334(CollisionContext* colCtx, Actor* actor, s32 bgId);
s32 func_800433A4(CollisionContext* colCtx, s32 bgId, Actor* actor);
void DynaPolyActor_Init(DynaPolyActor* dynaActor, s32 flags);
s32 DynaPolyActor_TransformCarriedActor(CollisionContext* colCtx, s32 bgId, Actor* carriedActor);
void DynaPolyActor_Init(DynaPolyActor* dynaActor, s32 transformFlags);
void DynaPolyActor_UnsetAllInteractFlags(DynaPolyActor* dynaActor);
void DynaPolyActor_SetActorOnTop(DynaPolyActor* dynaActor);
void DynaPoly_SetPlayerOnTop(CollisionContext* colCtx, s32 floorBgId);

View file

@ -1303,13 +1303,6 @@ typedef struct {
/* 0x1CAD6 */ s16 unk_1CAD6[5];
} FileSelectState; // size = 0x1CAE0
typedef enum {
DPM_UNK = 0,
DPM_PLAYER = 1,
DPM_ENEMY = 2,
DPM_UNK3 = 3
} DynaPolyMoveFlag;
typedef struct {
/* 0x00 */ AnimationHeader* animation;
/* 0x04 */ f32 playSpeed;

View file

@ -254,6 +254,9 @@ if neither of the above are set : blue
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_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)
@ -265,8 +268,7 @@ typedef struct DynaPolyActor {
/* 0x150 */ f32 unk_150;
/* 0x154 */ f32 unk_154;
/* 0x158 */ s16 unk_158; // y rotation?
/* 0x15A */ u16 unk_15A;
/* 0x15C */ u32 unk_15C;
/* 0x15C */ u32 transformFlags;
/* 0x160 */ u8 interactFlags;
/* 0x162 */ s16 unk_162;
} DynaPolyActor; // size = 0x164