EnOsn (Happy Mask Salesman) and object_osn Docs (#1135)

* Inital cleanup

* Object

* Docs

* Small things

* PR
This commit is contained in:
Derek Hensley
2022-10-21 20:12:38 -07:00
committed by GitHub
parent 6b588eb3d7
commit c1a0d0bd2b
7 changed files with 581 additions and 424 deletions
+1 -1
View File
@@ -1981,7 +1981,7 @@ Gfx* D_801C0B20[] = {
gameplay_keep_DL_00B260,
gameplay_keep_DL_005A10,
gameplay_keep_DL_005360,
gameplay_keep_DL_0056C0,
gDekuMaskDL,
object_mask_boy_DL_000900,
object_mask_goron_DL_0014A0,
object_mask_zora_DL_000DB0,
@@ -32,7 +32,9 @@ ActorInit Dm_Char03_InitVars = {
(ActorFunc)DmChar03_Draw,
};
AnimationInfo sAnimationInfo[] = { { &object_osn_Anim_020530, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, 0.0f } };
AnimationInfo sAnimationInfo[] = {
{ &gDekuMaskFallOverAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, 0.0f },
};
void DmChar03_ChangeAnim(SkelAnime* skelAnime, AnimationInfo* animationInfo, u16 animIndex) {
f32 frame;
File diff suppressed because it is too large Load Diff
+18 -11
View File
@@ -7,25 +7,32 @@ struct EnOsn;
typedef void (*EnOsnActionFunc)(struct EnOsn*, PlayState*);
#define ENOSN_GET_TYPE(this) ((thisx)->params & 3)
typedef enum {
/* 0 */ OSN_TYPE_CHOOSE, // Will choose between Idle and Cutscene
/* 1 */ OSN_TYPE_LIE_FACE_DOWN,
/* 2 */ OSN_TYPE_LIE_FACE_UP,
/* 3 */ OSN_TYPE_CUTSCENE
} OsnType;
typedef struct EnOsn {
/* 0x000 */ Actor actor;
/* 0x144 */ ColliderCylinder collider;
/* 0x190 */ SkelAnime skelAnime;
/* 0x1D4 */ EnOsnActionFunc actionFunc;
/* 0x1D8 */ Vec3s unk_1D8;
/* 0x1DE */ Vec3s unk_1DE;
/* 0x1D8 */ Vec3s headRot;
/* 0x1DE */ Vec3s torsoRot;
/* 0x1E4 */ UNK_TYPE1 unk_1E4[0x6];
/* 0x1EA */ u16 unk_1EA;
/* 0x1EC */ u8 unk_1EC;
/* 0x1ED */ u8 unk_1ED;
/* 0x1EA */ u16 stateFlags;
/* 0x1EC */ u8 animIndex;
/* 0x1ED */ u8 csAction;
/* 0x1EE */ s16 cutscene;
/* 0x1F0 */ u8 unk_1F0;
/* 0x1F0 */ u8 shouldRotateHead;
/* 0x1F1 */ UNK_TYPE1 unk_1F1[0x3];
/* 0x1F4 */ u16 unk_1F4;
/* 0x1F6 */ s32 unk_1F6;
/* 0x1FA */ u8 unk_1FA;
/* 0x1F4 */ u16 textId;
/* 0x1F6 */ s32 maskTextFlags;
/* 0x1FA */ u8 alpha;
} EnOsn; // size = 0x1FB
#define ENOSN_GET_3(this) ((thisx)->params & 3)
#endif // Z_EN_OSN_H