Player doc: anim wrappers (#1434)

* player cs docs setup

* more docs

* more docs

* missed enums

* more docs, but broken. Need to fix sPlayerCsModeAnimFuncs

* fix

* rm enum

* more minor docs

* PR suggestion

* typo

* csActionFunc

* PR Suggestion

* player animation

* cleanup

* cleanup

* comments

* macro

* fix bss

* another comment

* better macro

* move macro

* fix bss

* adjust names

* simplify enum

* missed flags

* PR Review

* adjust comment

* missed defines
This commit is contained in:
engineer124
2023-11-18 23:55:04 +11:00
committed by GitHub
parent dbb6410ba3
commit faba61d9b8
14 changed files with 630 additions and 601 deletions
+5 -1
View File
@@ -12,6 +12,10 @@ struct Actor;
struct SkelAnime;
struct PlayerAnimationFrame;
// for indexing `jointTable[]` and `morphTable[]`
#define LIMB_ROOT_POS 0 // Translation/Offset of the root limb
#define LIMB_ROOT_ROT 1 // Rotation of the root limb
#define LIMB_DONE 0xFF
#define BODYPART_NONE -1
@@ -186,7 +190,7 @@ typedef struct SkelAnime {
} update;
/* 0x34 */ s8 initFlags; // Flags used when initializing Player's skeleton
/* 0x35 */ u8 moveFlags; // Flags used for animations that move the actor in worldspace.
/* 0x36 */ s16 prevRot; // Previous rotation in worldspace.
/* 0x36 */ s16 prevYaw; // Previous rotation in worldspace.
/* 0x38 */ Vec3s prevTransl; // Previous modelspace translation.
/* 0x3E */ Vec3s baseTransl; // Base modelspace translation.
} SkelAnime; // size = 0x44
+7
View File
@@ -317,6 +317,13 @@ typedef enum PlayerDoorType {
/* 5 */ PLAYER_DOORTYPE_PROXIMITY
} PlayerDoorType;
// Some player animations are played at this reduced speed, for reasons yet unclear.
// Perhaps to compress animation data?
// This is called "adjusted" for now.
// z_en_horse also has many instances of this adjusted speed
#define PLAYER_ANIM_ADJUSTED_SPEED (2.0f / 3.0f)
#define PLAYER_ANIM_NORMAL_SPEED (3.0f / 3.0f)
typedef enum PlayerAnimType {
/* 0 */ PLAYER_ANIMTYPE_DEFAULT, // DEFAULT
/* 1 */ PLAYER_ANIMTYPE_1,