1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-02-27 11:34:29 +00:00

Player Docs: Initial AnimSfx stuff (#1556)

* initial animsfx docs

* review

* extra space
This commit is contained in:
fig02 2023-10-05 10:22:40 -04:00 committed by GitHub
parent c39578f971
commit ebc6ebf232
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -74,10 +74,29 @@ typedef struct {
/* 0x0C */ s16 yaw; /* 0x0C */ s16 yaw;
} SpecialRespawnInfo; // size = 0x10 } SpecialRespawnInfo; // size = 0x10
typedef enum {
/* 1 */ ANIMSFX_TYPE_1 = 1,
/* 2 */ ANIMSFX_TYPE_2,
/* 3 */ ANIMSFX_TYPE_3,
/* 4 */ ANIMSFX_TYPE_4,
/* 5 */ ANIMSFX_TYPE_5,
/* 6 */ ANIMSFX_TYPE_6,
/* 7 */ ANIMSFX_TYPE_7,
/* 8 */ ANIMSFX_TYPE_8,
/* 9 */ ANIMSFX_TYPE_9
} AnimSfxType;
#define ANIMSFX_SHIFT_TYPE(type) ((type) << 11)
#define ANIMSFX_DATA(type, frame) ((ANIMSFX_SHIFT_TYPE(type) | ((frame)&0x7FF)))
#define ANIMSFX_GET_TYPE(data) ((data)&0x7800)
#define ANIMSFX_GET_FRAME(data) ((data)&0x7FF)
typedef struct { typedef struct {
/* 0x00 */ u16 sfxId; /* 0x00 */ u16 sfxId;
/* 0x02 */ s16 field; /* 0x02 */ s16 data;
} struct_80832924; // size = 0x04 } AnimSfxEntry; // size = 0x04
typedef struct { typedef struct {
/* 0x00 */ u16 unk_00; /* 0x00 */ u16 unk_00;
@ -1099,54 +1118,57 @@ static LinkAnimationHeader* D_80853D7C[][2] = {
{ &gPlayerAnim_link_wait_itemD2_20f, &gPlayerAnim_link_wait_itemD2_20f } { &gPlayerAnim_link_wait_itemD2_20f, &gPlayerAnim_link_wait_itemD2_20f }
}; };
static struct_80832924 D_80853DEC[] = { static AnimSfxEntry D_80853DEC[] = {
{ NA_SE_VO_LI_SNEEZE, -0x2008 }, { NA_SE_VO_LI_SNEEZE, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 8) },
}; };
static struct_80832924 D_80853DF0[] = { static AnimSfxEntry D_80853DF0[] = {
{ NA_SE_VO_LI_SWEAT, -0x2012 }, { NA_SE_VO_LI_SWEAT, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 18) },
}; };
static struct_80832924 D_80853DF4[] = { static AnimSfxEntry D_80853DF4[] = {
{ NA_SE_VO_LI_BREATH_REST, -0x200D }, { NA_SE_VO_LI_BREATH_REST, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 13) },
}; };
static struct_80832924 D_80853DF8[] = { static AnimSfxEntry D_80853DF8[] = {
{ NA_SE_VO_LI_BREATH_REST, -0x200A }, { NA_SE_VO_LI_BREATH_REST, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 10) },
}; };
static struct_80832924 D_80853DFC[] = { static AnimSfxEntry D_80853DFC[] = {
{ NA_SE_PL_CALM_HIT, 0x82C }, { NA_SE_PL_CALM_HIT, 0x830 }, { NA_SE_PL_CALM_HIT, 0x834 }, { NA_SE_PL_CALM_HIT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 44) }, { NA_SE_PL_CALM_HIT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 48) },
{ NA_SE_PL_CALM_HIT, 0x838 }, { NA_SE_PL_CALM_HIT, -0x83C }, { NA_SE_PL_CALM_HIT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 52) }, { NA_SE_PL_CALM_HIT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 56) },
{ NA_SE_PL_CALM_HIT, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 60) },
}; };
static struct_80832924 D_80853E10[] = { static AnimSfxEntry D_80853E10[] = {
{ 0, 0x4019 }, { 0, 0x401E }, { 0, 0x402C }, { 0, 0x4030 }, { 0, 0x4034 }, { 0, -0x4038 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 25) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 30) },
{ 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 44) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 48) },
{ 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 52) }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_8, 56) },
}; };
static struct_80832924 D_80853E28[] = { static AnimSfxEntry D_80853E28[] = {
{ NA_SE_IT_SHIELD_POSTURE, 0x810 }, { NA_SE_IT_SHIELD_POSTURE, ANIMSFX_DATA(ANIMSFX_TYPE_1, 16) },
{ NA_SE_IT_SHIELD_POSTURE, 0x814 }, { NA_SE_IT_SHIELD_POSTURE, ANIMSFX_DATA(ANIMSFX_TYPE_1, 20) },
{ NA_SE_IT_SHIELD_POSTURE, -0x846 }, { NA_SE_IT_SHIELD_POSTURE, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 70) },
}; };
static struct_80832924 D_80853E34[] = { static AnimSfxEntry D_80853E34[] = {
{ NA_SE_IT_HAMMER_SWING, 0x80A }, { NA_SE_IT_HAMMER_SWING, ANIMSFX_DATA(ANIMSFX_TYPE_1, 10) },
{ NA_SE_VO_LI_AUTO_JUMP, 0x200A }, { NA_SE_VO_LI_AUTO_JUMP, ANIMSFX_DATA(ANIMSFX_TYPE_4, 10) },
{ NA_SE_IT_SWORD_SWING, 0x816 }, { NA_SE_IT_SWORD_SWING, ANIMSFX_DATA(ANIMSFX_TYPE_1, 22) },
{ NA_SE_VO_LI_SWORD_N, -0x2016 }, { NA_SE_VO_LI_SWORD_N, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 22) },
}; };
static struct_80832924 D_80853E44[] = { static AnimSfxEntry D_80853E44[] = {
{ NA_SE_IT_SWORD_SWING, 0x827 }, { NA_SE_IT_SWORD_SWING, ANIMSFX_DATA(ANIMSFX_TYPE_1, 39) },
{ NA_SE_VO_LI_SWORD_N, -0x2027 }, { NA_SE_VO_LI_SWORD_N, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 39) },
}; };
static struct_80832924 D_80853E4C[] = { static AnimSfxEntry D_80853E4C[] = {
{ NA_SE_VO_LI_RELAX, -0x2014 }, { NA_SE_VO_LI_RELAX, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 20) },
}; };
static struct_80832924* D_80853E50[] = { static AnimSfxEntry* D_80853E50[] = {
D_80853DEC, D_80853DF0, D_80853DF4, D_80853DF8, D_80853DFC, D_80853E10, D_80853DEC, D_80853DF0, D_80853DF4, D_80853DF8, D_80853DFC, D_80853E10,
D_80853E28, D_80853E34, D_80853E44, D_80853E4C, NULL, D_80853E28, D_80853E34, D_80853E44, D_80853E4C, NULL,
}; };
@ -1797,38 +1819,50 @@ void func_808328EC(Player* this, u16 sfxId) {
this->stateFlags2 |= PLAYER_STATE2_3; this->stateFlags2 |= PLAYER_STATE2_3;
} }
void func_80832924(Player* this, struct_80832924* entry) { /**
s32 data; * Process a list of `AnimSfx` entries.
s32 flags; * An `AnimSfx` entry contains a sound effect to play, a frame number that indicates
u32 cont; * when during an animation it should play, and a type value that indicates how it should be played back.
*
* The list will stop being processed after an entry that has a negative value for the `data` field.
*
* Some types do not make use of `sfxId`, the SFX function called will pick a sound on its own.
* The `sfxId` field is not used in this case and can be any value, but 0 is typically used.
*
* @param entry A pointer to the first entry of an `AnimSfx` list.
*/
void Player_ProcessAnimSfxList(Player* this, AnimSfxEntry* entry) {
s32 cont;
s32 pad; s32 pad;
do { do {
data = ABS(entry->field); s32 absData = ABS(entry->data);
flags = data & 0x7800; s32 type = ANIMSFX_GET_TYPE(absData);
if (LinkAnimation_OnFrame(&this->skelAnime, fabsf(data & 0x7FF))) {
if (flags == 0x800) { if (LinkAnimation_OnFrame(&this->skelAnime, fabsf(ANIMSFX_GET_FRAME(absData)))) {
if (type == ANIMSFX_SHIFT_TYPE(ANIMSFX_TYPE_1)) {
Player_PlaySfx(this, entry->sfxId); Player_PlaySfx(this, entry->sfxId);
} else if (flags == 0x1000) { } else if (type == ANIMSFX_SHIFT_TYPE(ANIMSFX_TYPE_2)) {
func_80832770(this, entry->sfxId); func_80832770(this, entry->sfxId);
} else if (flags == 0x1800) { } else if (type == ANIMSFX_SHIFT_TYPE(ANIMSFX_TYPE_3)) {
func_808327C4(this, entry->sfxId); func_808327C4(this, entry->sfxId);
} else if (flags == 0x2000) { } else if (type == ANIMSFX_SHIFT_TYPE(ANIMSFX_TYPE_4)) {
func_80832698(this, entry->sfxId); func_80832698(this, entry->sfxId);
} else if (flags == 0x2800) { } else if (type == ANIMSFX_SHIFT_TYPE(ANIMSFX_TYPE_5)) {
func_808328A0(this); func_808328A0(this);
} else if (flags == 0x3000) { } else if (type == ANIMSFX_SHIFT_TYPE(ANIMSFX_TYPE_6)) {
func_808327F8(this, 6.0f); func_808327F8(this, 6.0f);
} else if (flags == 0x3800) { } else if (type == ANIMSFX_SHIFT_TYPE(ANIMSFX_TYPE_7)) {
func_80832854(this); func_80832854(this);
} else if (flags == 0x4000) { } else if (type == ANIMSFX_SHIFT_TYPE(ANIMSFX_TYPE_8)) {
func_808327F8(this, 0.0f); func_808327F8(this, 0.0f);
} else if (flags == 0x4800) { } else if (type == ANIMSFX_SHIFT_TYPE(ANIMSFX_TYPE_9)) {
func_800F4010(&this->actor.projectedPos, func_800F4010(&this->actor.projectedPos,
NA_SE_PL_WALK_GROUND + SURFACE_SFX_OFFSET_WOOD + this->ageProperties->unk_94, 0.0f); NA_SE_PL_WALK_GROUND + SURFACE_SFX_OFFSET_WOOD + this->ageProperties->unk_94, 0.0f);
} }
} }
cont = (entry->field >= 0);
cont = (entry->data >= 0); // stop processing if `data` is negative
entry++; entry++;
} while (cont); } while (cont);
} }
@ -2043,7 +2077,7 @@ s32 func_80833350(Player* this) {
void func_808333FC(Player* this, s32 arg1) { void func_808333FC(Player* this, s32 arg1) {
if (D_80853E7C[arg1] != 0) { if (D_80853E7C[arg1] != 0) {
func_80832924(this, D_80853E50[D_80853E7C[arg1] - 1]); Player_ProcessAnimSfxList(this, D_80853E50[D_80853E7C[arg1] - 1]);
} }
} }
@ -8623,9 +8657,9 @@ void Player_Action_80843954(Player* this, PlayState* play) {
} }
} }
static struct_80832924 D_808545DC[] = { static AnimSfxEntry D_808545DC[] = {
{ 0, 0x4014 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 20) },
{ 0, -0x401E }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_8, 30) },
}; };
void Player_Action_80843A38(Player* this, PlayState* play) { void Player_Action_80843A38(Player* this, PlayState* play) {
@ -8643,7 +8677,7 @@ void Player_Action_80843A38(Player* this, PlayState* play) {
} }
} }
func_80832924(this, D_808545DC); Player_ProcessAnimSfxList(this, D_808545DC);
} }
static Vec3f D_808545E4 = { 0.0f, 0.0f, 5.0f }; static Vec3f D_808545E4 = { 0.0f, 0.0f, 5.0f };
@ -8685,11 +8719,11 @@ void func_80843AE8(PlayState* play, Player* this) {
} }
} }
static struct_80832924 D_808545F0[] = { static AnimSfxEntry D_808545F0[] = {
{ NA_SE_PL_BOUND, 0x103C }, { NA_SE_PL_BOUND, ANIMSFX_DATA(ANIMSFX_TYPE_2, 60) },
{ 0, 0x408C }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 140) },
{ 0, 0x40A4 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 164) },
{ 0, -0x40AA }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_8, 170) },
}; };
void Player_Action_80843CEC(Player* this, PlayState* play) { void Player_Action_80843CEC(Player* this, PlayState* play) {
@ -8711,7 +8745,7 @@ void Player_Action_80843CEC(Player* this, PlayState* play) {
} }
if (this->skelAnime.animation == &gPlayerAnim_link_derth_rebirth) { if (this->skelAnime.animation == &gPlayerAnim_link_derth_rebirth) {
func_80832924(this, D_808545F0); Player_ProcessAnimSfxList(this, D_808545F0);
} else if (this->skelAnime.animation == &gPlayerAnim_link_normal_electric_shock_end) { } else if (this->skelAnime.animation == &gPlayerAnim_link_normal_electric_shock_end) {
if (LinkAnimation_OnFrame(&this->skelAnime, 88.0f)) { if (LinkAnimation_OnFrame(&this->skelAnime, 88.0f)) {
func_80832770(this, NA_SE_PL_BOUND); func_80832770(this, NA_SE_PL_BOUND);
@ -8916,11 +8950,11 @@ void Player_Action_8084411C(Player* this, PlayState* play) {
} }
} }
static struct_80832924 D_8085460C[] = { static AnimSfxEntry D_8085460C[] = {
{ NA_SE_VO_LI_SWORD_N, 0x2001 }, { NA_SE_VO_LI_SWORD_N, ANIMSFX_DATA(ANIMSFX_TYPE_4, 1) },
{ NA_SE_PL_WALK_GROUND, 0x1806 }, { NA_SE_PL_WALK_GROUND, ANIMSFX_DATA(ANIMSFX_TYPE_3, 6) },
{ NA_SE_PL_ROLL, 0x806 }, { NA_SE_PL_ROLL, ANIMSFX_DATA(ANIMSFX_TYPE_1, 6) },
{ 0, -0x2812 }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_5, 18) },
}; };
void Player_Action_80844708(Player* this, PlayState* play) { void Player_Action_80844708(Player* this, PlayState* play) {
@ -8997,7 +9031,7 @@ void Player_Action_80844708(Player* this, PlayState* play) {
func_8002F8F0(&this->actor, NA_SE_PL_ROLL_DUST - SFX_FLAG); func_8002F8F0(&this->actor, NA_SE_PL_ROLL_DUST - SFX_FLAG);
} }
func_80832924(this, D_8085460C); Player_ProcessAnimSfxList(this, D_8085460C);
} }
} }
} }
@ -9547,9 +9581,9 @@ void Player_Action_80846050(Player* this, PlayState* play) {
Math_ScaledStepToS(&this->unk_3BC.y, 0, 4000); Math_ScaledStepToS(&this->unk_3BC.y, 0, 4000);
} }
static struct_80832924 D_8085461C[] = { static AnimSfxEntry D_8085461C[] = {
{ NA_SE_VO_LI_SWORD_L, 0x2031 }, { NA_SE_VO_LI_SWORD_L, ANIMSFX_DATA(ANIMSFX_TYPE_4, 49) },
{ NA_SE_VO_LI_SWORD_N, -0x20E6 }, { NA_SE_VO_LI_SWORD_N, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 230) },
}; };
void Player_Action_80846120(Player* this, PlayState* play) { void Player_Action_80846120(Player* this, PlayState* play) {
@ -9581,7 +9615,7 @@ void Player_Action_80846120(Player* this, PlayState* play) {
return; return;
} }
func_80832924(this, D_8085461C); Player_ProcessAnimSfxList(this, D_8085461C);
} }
void Player_Action_80846260(Player* this, PlayState* play) { void Player_Action_80846260(Player* this, PlayState* play) {
@ -11797,9 +11831,9 @@ void func_8084B840(PlayState* play, Player* this, f32 arg2) {
} }
} }
static struct_80832924 D_80854870[] = { static AnimSfxEntry D_80854870[] = {
{ NA_SE_PL_SLIP, 0x1003 }, { NA_SE_PL_SLIP, ANIMSFX_DATA(ANIMSFX_TYPE_2, 3) },
{ NA_SE_PL_SLIP, -0x1015 }, { NA_SE_PL_SLIP, -ANIMSFX_DATA(ANIMSFX_TYPE_2, 21) },
}; };
void Player_Action_8084B898(Player* this, PlayState* play) { void Player_Action_8084B898(Player* this, PlayState* play) {
@ -11817,7 +11851,7 @@ void Player_Action_8084B898(Player* this, PlayState* play) {
} }
} }
func_80832924(this, D_80854870); Player_ProcessAnimSfxList(this, D_80854870);
func_8083F524(play, this); func_8083F524(play, this);
if (!func_8083F9D0(play, this)) { if (!func_8083F9D0(play, this)) {
@ -11838,9 +11872,9 @@ void Player_Action_8084B898(Player* this, PlayState* play) {
} }
} }
static struct_80832924 D_80854878[] = { static AnimSfxEntry D_80854878[] = {
{ NA_SE_PL_SLIP, 0x1004 }, { NA_SE_PL_SLIP, ANIMSFX_DATA(ANIMSFX_TYPE_2, 4) },
{ NA_SE_PL_SLIP, -0x1018 }, { NA_SE_PL_SLIP, -ANIMSFX_DATA(ANIMSFX_TYPE_2, 24) },
}; };
static Vec3f D_80854880 = { 0.0f, 26.0f, -40.0f }; static Vec3f D_80854880 = { 0.0f, 26.0f, -40.0f };
@ -11868,7 +11902,7 @@ void Player_Action_8084B9E4(Player* this, PlayState* play) {
func_80832698(this, NA_SE_VO_LI_PUSH); func_80832698(this, NA_SE_VO_LI_PUSH);
} }
} else { } else {
func_80832924(this, D_80854878); Player_ProcessAnimSfxList(this, D_80854878);
} }
} }
@ -12126,10 +12160,10 @@ void Player_Action_8084BF1C(Player* this, PlayState* play) {
static f32 D_80854898[] = { 10.0f, 20.0f }; static f32 D_80854898[] = { 10.0f, 20.0f };
static f32 D_808548A0[] = { 40.0f, 50.0f }; static f32 D_808548A0[] = { 40.0f, 50.0f };
static struct_80832924 D_808548A8[] = { static AnimSfxEntry D_808548A8[] = {
{ NA_SE_PL_WALK_GROUND + SURFACE_SFX_OFFSET_WOOD, 0x80A }, { NA_SE_PL_WALK_GROUND + SURFACE_SFX_OFFSET_WOOD, ANIMSFX_DATA(ANIMSFX_TYPE_1, 10) },
{ NA_SE_PL_WALK_GROUND + SURFACE_SFX_OFFSET_WOOD, 0x814 }, { NA_SE_PL_WALK_GROUND + SURFACE_SFX_OFFSET_WOOD, ANIMSFX_DATA(ANIMSFX_TYPE_1, 20) },
{ NA_SE_PL_WALK_GROUND + SURFACE_SFX_OFFSET_WOOD, -0x81E }, { NA_SE_PL_WALK_GROUND + SURFACE_SFX_OFFSET_WOOD, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 30) },
}; };
void Player_Action_8084C5F8(Player* this, PlayState* play) { void Player_Action_8084C5F8(Player* this, PlayState* play) {
@ -12157,7 +12191,7 @@ void Player_Action_8084C5F8(Player* this, PlayState* play) {
sp38 = D_80854898; sp38 = D_80854898;
if (this->actionVar2 != 0) { if (this->actionVar2 != 0) {
func_80832924(this, D_808548A8); Player_ProcessAnimSfxList(this, D_808548A8);
sp38 = D_808548A0; sp38 = D_808548A0;
} }
@ -12175,9 +12209,12 @@ void Player_Action_8084C5F8(Player* this, PlayState* play) {
} }
} }
static struct_80832924 D_808548B4[] = { static AnimSfxEntry D_808548B4[] = {
{ 0, 0x3028 }, { 0, 0x3030 }, { 0, 0x3038 }, { 0, 0x3040 }, { 0, 0x3048 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 40) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 48) },
{ 0, 0x3050 }, { 0, 0x3058 }, { 0, 0x3060 }, { 0, -0x3068 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 56) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 64) },
{ 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 72) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 80) },
{ 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 88) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 96) },
{ 0, -ANIMSFX_DATA(ANIMSFX_TYPE_6, 104) },
}; };
/** /**
@ -12204,12 +12241,15 @@ void Player_Action_8084C760(Player* this, PlayState* play) {
} }
// Still entering crawlspace // Still entering crawlspace
func_80832924(this, D_808548B4); Player_ProcessAnimSfxList(this, D_808548B4);
} }
static struct_80832924 D_808548D8[] = { static AnimSfxEntry D_808548D8[] = {
{ 0, 0x300A }, { 0, 0x3012 }, { 0, 0x301A }, { 0, 0x3022 }, { 0, 0x3034 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 10) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 18) },
{ 0, 0x303C }, { 0, 0x3044 }, { 0, 0x304C }, { 0, -0x3054 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 26) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 34) },
{ 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 52) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 60) },
{ 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 68) }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 76) },
{ 0, -ANIMSFX_DATA(ANIMSFX_TYPE_6, 84) },
}; };
/** /**
@ -12226,7 +12266,7 @@ void Player_Action_8084C81C(Player* this, PlayState* play) {
} }
// Continue animation of leaving crawlspace // Continue animation of leaving crawlspace
func_80832924(this, D_808548D8); Player_ProcessAnimSfxList(this, D_808548D8);
} }
static Vec3f D_808548FC[] = { static Vec3f D_808548FC[] = {
@ -12358,10 +12398,11 @@ static u8 D_80854998[2][2] = {
static Vec3s D_8085499C = { -69, 7146, -266 }; static Vec3s D_8085499C = { -69, 7146, -266 };
static struct_80832924 D_808549A4[] = { static AnimSfxEntry D_808549A4[] = {
{ NA_SE_PL_CALM_HIT, 0x830 }, { NA_SE_PL_CALM_HIT, 0x83A }, { NA_SE_PL_CALM_HIT, 0x844 }, { NA_SE_PL_CALM_HIT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 48) }, { NA_SE_PL_CALM_HIT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 58) },
{ NA_SE_PL_CALM_PAT, 0x85C }, { NA_SE_PL_CALM_PAT, 0x86E }, { NA_SE_PL_CALM_PAT, 0x87E }, { NA_SE_PL_CALM_HIT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 68) }, { NA_SE_PL_CALM_PAT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 92) },
{ NA_SE_PL_CALM_PAT, 0x884 }, { NA_SE_PL_CALM_PAT, -0x888 }, { NA_SE_PL_CALM_PAT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 110) }, { NA_SE_PL_CALM_PAT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 126) },
{ NA_SE_PL_CALM_PAT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 132) }, { NA_SE_PL_CALM_PAT, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 136) },
}; };
void Player_Action_8084CC98(Player* this, PlayState* play) { void Player_Action_8084CC98(Player* this, PlayState* play) {
@ -12427,7 +12468,7 @@ void Player_Action_8084CC98(Player* this, PlayState* play) {
} else if (LinkAnimation_Update(play, &this->skelAnime)) { } else if (LinkAnimation_Update(play, &this->skelAnime)) {
this->actionVar2 = 99; this->actionVar2 = 99;
} else if (this->skelAnime.animation == &gPlayerAnim_link_uma_wait_1) { } else if (this->skelAnime.animation == &gPlayerAnim_link_uma_wait_1) {
func_80832924(this, D_808549A4); Player_ProcessAnimSfxList(this, D_808549A4);
} }
} else { } else {
this->skelAnime.curFrame = rideActor->curFrame; this->skelAnime.curFrame = rideActor->curFrame;
@ -12537,10 +12578,10 @@ void Player_Action_8084CC98(Player* this, PlayState* play) {
} }
} }
static struct_80832924 D_808549C4[] = { static AnimSfxEntry D_808549C4[] = {
{ 0, 0x2800 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_5, 0) },
{ NA_SE_PL_GET_OFF_HORSE, 0x80A }, { NA_SE_PL_GET_OFF_HORSE, ANIMSFX_DATA(ANIMSFX_TYPE_1, 10) },
{ NA_SE_PL_SLIPDOWN, -0x819 }, { NA_SE_PL_SLIPDOWN, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 25) },
}; };
void Player_Action_8084D3E4(Player* this, PlayState* play) { void Player_Action_8084D3E4(Player* this, PlayState* play) {
@ -12565,21 +12606,21 @@ void Player_Action_8084D3E4(Player* this, PlayState* play) {
Camera_ChangeSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_NORMAL0); Camera_ChangeSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_NORMAL0);
if (this->mountSide < 0) { if (this->mountSide < 0) {
D_808549C4[0].field = 0x2828; D_808549C4[0].data = ANIMSFX_DATA(ANIMSFX_TYPE_5, 40);
} else { } else {
D_808549C4[0].field = 0x281D; D_808549C4[0].data = ANIMSFX_DATA(ANIMSFX_TYPE_5, 29);
} }
func_80832924(this, D_808549C4); Player_ProcessAnimSfxList(this, D_808549C4);
} }
} }
static struct_80832924 D_808549D0[] = { static AnimSfxEntry D_808549D0[] = {
{ NA_SE_PL_SWIM, -0x800 }, { NA_SE_PL_SWIM, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 0) },
}; };
void func_8084D530(Player* this, f32* arg1, f32 arg2, s16 arg3) { void func_8084D530(Player* this, f32* arg1, f32 arg2, s16 arg3) {
func_8084AEEC(this, arg1, arg2, arg3); func_8084AEEC(this, arg1, arg2, arg3);
func_80832924(this, D_808549D0); Player_ProcessAnimSfxList(this, D_808549D0);
} }
void func_8084D574(PlayState* play, Player* this, s16 arg2) { void func_8084D574(PlayState* play, Player* this, s16 arg2) {
@ -12993,11 +13034,11 @@ void Player_Action_8084E604(Player* this, PlayState* play) {
func_8083721C(this); func_8083721C(this);
} }
static struct_80832924 D_808549E0[] = { static AnimSfxEntry D_808549E0[] = {
{ 0, 0x3857 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_7, 87) },
{ NA_SE_VO_LI_CLIMB_END, 0x2057 }, { NA_SE_VO_LI_CLIMB_END, ANIMSFX_DATA(ANIMSFX_TYPE_4, 87) },
{ NA_SE_VO_LI_AUTO_JUMP, 0x2045 }, { NA_SE_VO_LI_AUTO_JUMP, ANIMSFX_DATA(ANIMSFX_TYPE_4, 69) },
{ 0, -0x287B }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_5, 123) },
}; };
void Player_Action_8084E6D4(Player* this, PlayState* play) { void Player_Action_8084E6D4(Player* this, PlayState* play) {
@ -13055,7 +13096,7 @@ void Player_Action_8084E6D4(Player* this, PlayState* play) {
} else { } else {
if (this->actionVar2 == 0) { if (this->actionVar2 == 0) {
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
func_80832924(this, D_808549E0); Player_ProcessAnimSfxList(this, D_808549E0);
} }
return; return;
} }
@ -13070,17 +13111,17 @@ void Player_Action_8084E6D4(Player* this, PlayState* play) {
} }
} }
static struct_80832924 D_808549F0[] = { static AnimSfxEntry D_808549F0[] = {
{ NA_SE_IT_MASTER_SWORD_SWING, -0x83C }, { NA_SE_IT_MASTER_SWORD_SWING, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 60) },
}; };
void func_8084E988(Player* this) { void func_8084E988(Player* this) {
func_80832924(this, D_808549F0); Player_ProcessAnimSfxList(this, D_808549F0);
} }
static struct_80832924 D_808549F4[] = { static AnimSfxEntry D_808549F4[] = {
{ NA_SE_VO_LI_AUTO_JUMP, 0x2005 }, { NA_SE_VO_LI_AUTO_JUMP, ANIMSFX_DATA(ANIMSFX_TYPE_4, 5) },
{ 0, -0x280F }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_5, 15) },
}; };
void Player_Action_8084E9AC(Player* this, PlayState* play) { void Player_Action_8084E9AC(Player* this, PlayState* play) {
@ -13100,7 +13141,7 @@ void Player_Action_8084E9AC(Player* this, PlayState* play) {
} }
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
func_80832924(this, D_808549F4); Player_ProcessAnimSfxList(this, D_808549F4);
} else { } else {
func_8084E988(this); func_8084E988(this);
} }
@ -13262,9 +13303,9 @@ static BottleDropInfo D_80854A28[] = {
{ ACTOR_EN_INSECT, INSECT_TYPE_FIRST_DROPPED }, { ACTOR_EN_INSECT, INSECT_TYPE_FIRST_DROPPED },
}; };
static struct_80832924 D_80854A34[] = { static AnimSfxEntry D_80854A34[] = {
{ NA_SE_VO_LI_AUTO_JUMP, 0x2026 }, { NA_SE_VO_LI_AUTO_JUMP, ANIMSFX_DATA(ANIMSFX_TYPE_4, 38) },
{ NA_SE_EV_BOTTLE_CAP_OPEN, -0x828 }, { NA_SE_EV_BOTTLE_CAP_OPEN, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 40) },
}; };
void Player_Action_8084EFC0(Player* this, PlayState* play) { void Player_Action_8084EFC0(Player* this, PlayState* play) {
@ -13288,11 +13329,11 @@ void Player_Action_8084EFC0(Player* this, PlayState* play) {
return; return;
} }
func_80832924(this, D_80854A34); Player_ProcessAnimSfxList(this, D_80854A34);
} }
static struct_80832924 D_80854A3C[] = { static AnimSfxEntry D_80854A3C[] = {
{ NA_SE_PL_PUT_OUT_ITEM, -0x81E }, { NA_SE_PL_PUT_OUT_ITEM, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 30) },
}; };
void Player_Action_8084F104(Player* this, PlayState* play) { void Player_Action_8084F104(Player* this, PlayState* play) {
@ -13340,7 +13381,7 @@ void Player_Action_8084F104(Player* this, PlayState* play) {
} }
} }
} else if (this->actionVar2 >= 0) { } else if (this->actionVar2 >= 0) {
func_80832924(this, D_80854A3C); Player_ProcessAnimSfxList(this, D_80854A3C);
} }
if ((this->actionVar1 == 0) && (this->unk_664 != NULL)) { if ((this->actionVar1 == 0) && (this->unk_664 != NULL)) {
@ -13877,24 +13918,24 @@ static LinkAnimationHeader* D_80854A70[] = {
static u8 D_80854A7C[] = { 70, 10, 10 }; static u8 D_80854A7C[] = { 70, 10, 10 };
static struct_80832924 D_80854A80[] = { static AnimSfxEntry D_80854A80[] = {
{ NA_SE_PL_SKIP, 0x814 }, { NA_SE_PL_SKIP, ANIMSFX_DATA(ANIMSFX_TYPE_1, 20) },
{ NA_SE_VO_LI_SWORD_N, 0x2014 }, { NA_SE_VO_LI_SWORD_N, ANIMSFX_DATA(ANIMSFX_TYPE_4, 20) },
{ 0, -0x301A }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_6, 26) },
}; };
static struct_80832924 D_80854A8C[][2] = { static AnimSfxEntry D_80854A8C[][2] = {
{ {
{ 0, 0x4014 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 20) },
{ NA_SE_VO_LI_MAGIC_FROL, -0x201E }, { NA_SE_VO_LI_MAGIC_FROL, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 30) },
}, },
{ {
{ 0, 0x4014 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 20) },
{ NA_SE_VO_LI_MAGIC_NALE, -0x202C }, { NA_SE_VO_LI_MAGIC_NALE, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 44) },
}, },
{ {
{ NA_SE_VO_LI_MAGIC_ATTACK, 0x2014 }, { NA_SE_VO_LI_MAGIC_ATTACK, ANIMSFX_DATA(ANIMSFX_TYPE_4, 20) },
{ NA_SE_IT_SWORD_SWING_HARD, -0x814 }, { NA_SE_IT_SWORD_SWING_HARD, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 20) },
}, },
}; };
@ -13948,9 +13989,9 @@ void Player_Action_808507F4(Player* this, PlayState* play) {
} }
} else if (this->actionVar1 >= 0) { } else if (this->actionVar1 >= 0) {
if (this->actionVar2 == 0) { if (this->actionVar2 == 0) {
func_80832924(this, D_80854A80); Player_ProcessAnimSfxList(this, D_80854A80);
} else if (this->actionVar2 == 1) { } else if (this->actionVar2 == 1) {
func_80832924(this, D_80854A8C[this->actionVar1]); Player_ProcessAnimSfxList(this, D_80854A8C[this->actionVar1]);
if ((this->actionVar1 == 2) && LinkAnimation_OnFrame(&this->skelAnime, 30.0f)) { if ((this->actionVar1 == 2) && LinkAnimation_OnFrame(&this->skelAnime, 30.0f)) {
this->stateFlags1 &= ~(PLAYER_STATE1_28 | PLAYER_STATE1_29); this->stateFlags1 &= ~(PLAYER_STATE1_28 | PLAYER_STATE1_29);
} }
@ -14049,19 +14090,23 @@ static void (*D_80854AA4[])(PlayState*, Player*, void*) = {
func_80851050, func_80851194, func_808511B4, func_80851248, func_808512E0, func_80851050, func_80851194, func_808511B4, func_80851248, func_808512E0,
}; };
static struct_80832924 D_80854AF0[] = { static AnimSfxEntry D_80854AF0[] = {
{ 0, 0x2822 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_5, 34) },
{ NA_SE_PL_CALM_HIT, 0x82D }, { NA_SE_PL_CALM_HIT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 45) },
{ NA_SE_PL_CALM_HIT, 0x833 }, { NA_SE_PL_CALM_HIT, ANIMSFX_DATA(ANIMSFX_TYPE_1, 51) },
{ NA_SE_PL_CALM_HIT, -0x840 }, { NA_SE_PL_CALM_HIT, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 64) },
}; };
static struct_80832924 D_80854B00[] = { static AnimSfxEntry D_80854B00[] = {
{ NA_SE_VO_LI_SURPRISE, 0x2003 }, { 0, 0x300F }, { 0, 0x3018 }, { 0, 0x301E }, { NA_SE_VO_LI_FALL_L, -0x201F }, { NA_SE_VO_LI_SURPRISE, ANIMSFX_DATA(ANIMSFX_TYPE_4, 3) },
{ 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 15) },
{ 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 24) },
{ 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 30) },
{ NA_SE_VO_LI_FALL_L, -ANIMSFX_DATA(ANIMSFX_TYPE_4, 31) },
}; };
static struct_80832924 D_80854B14[] = { static AnimSfxEntry D_80854B14[] = {
{ 0, -0x300A }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_6, 10) },
}; };
static struct_80854B18 D_80854B18[PLAYER_CSACTION_MAX] = { static struct_80854B18 D_80854B18[PLAYER_CSACTION_MAX] = {
@ -14378,7 +14423,7 @@ void func_80851294(PlayState* play, Player* this, void* anim) {
void func_808512E0(PlayState* play, Player* this, void* arg2) { void func_808512E0(PlayState* play, Player* this, void* arg2) {
LinkAnimation_Update(play, &this->skelAnime); LinkAnimation_Update(play, &this->skelAnime);
func_80832924(this, arg2); Player_ProcessAnimSfxList(this, arg2);
} }
void func_80851314(Player* this) { void func_80851314(Player* this) {
@ -14492,14 +14537,14 @@ void func_80851688(PlayState* play, Player* this, CsCmdActorCue* cue) {
} }
} }
static struct_80832924 D_80855188[] = { static AnimSfxEntry D_80855188[] = {
{ 0, 0x302A }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 42) },
{ 0, -0x3030 }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_6, 48) },
}; };
void func_80851750(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80851750(PlayState* play, Player* this, CsCmdActorCue* cue) {
LinkAnimation_Update(play, &this->skelAnime); LinkAnimation_Update(play, &this->skelAnime);
func_80832924(this, D_80855188); Player_ProcessAnimSfxList(this, D_80855188);
} }
void func_80851788(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80851788(PlayState* play, Player* this, CsCmdActorCue* cue) {
@ -14587,9 +14632,9 @@ static struct_808551A4 D_808551A4[] = {
{ NA_SE_IT_SWORD_STICK_STN, NA_SE_VO_LI_SWORD_N }, { NA_SE_IT_SWORD_STICK_STN, NA_SE_VO_LI_SWORD_N },
}; };
static struct_80832924 D_808551AC[] = { static AnimSfxEntry D_808551AC[] = {
{ 0, 0x401D }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 29) },
{ 0, -0x4027 }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_8, 39) },
}; };
void func_80851A50(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80851A50(PlayState* play, Player* this, CsCmdActorCue* cue) {
@ -14619,7 +14664,7 @@ void func_80851A50(PlayState* play, Player* this, CsCmdActorCue* cue) {
func_80832698(this, NA_SE_VO_LI_SWORD_L); func_80832698(this, NA_SE_VO_LI_SWORD_L);
} }
} else { } else {
func_80832924(this, D_808551AC); Player_ProcessAnimSfxList(this, D_808551AC);
} }
} }
@ -14628,8 +14673,8 @@ void func_80851B90(PlayState* play, Player* this, CsCmdActorCue* cue) {
ANIMMODE_ONCE, 0.0f); ANIMMODE_ONCE, 0.0f);
} }
static struct_80832924 D_808551B4[] = { static AnimSfxEntry D_808551B4[] = {
{ 0, -0x281E }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_5, 30) },
}; };
void func_80851BE8(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80851BE8(PlayState* play, Player* this, CsCmdActorCue* cue) {
@ -14642,7 +14687,7 @@ void func_80851BE8(PlayState* play, Player* this, CsCmdActorCue* cue) {
LinkAnimation_Change(play, &this->skelAnime, &gPlayerAnim_link_okarina_warp_goal, (2.0f / 3.0f), 10.0f, LinkAnimation_Change(play, &this->skelAnime, &gPlayerAnim_link_okarina_warp_goal, (2.0f / 3.0f), 10.0f,
Animation_GetLastFrame(&gPlayerAnim_link_okarina_warp_goal), ANIMMODE_ONCE, -8.0f); Animation_GetLastFrame(&gPlayerAnim_link_okarina_warp_goal), ANIMMODE_ONCE, -8.0f);
} }
func_80832924(this, D_808551B4); Player_ProcessAnimSfxList(this, D_808551B4);
} }
} }
@ -14664,8 +14709,8 @@ void func_80851D2C(PlayState* play, Player* this, CsCmdActorCue* cue) {
Player_SetModels(this, Player_ActionToModelGroup(this, this->itemAction)); Player_SetModels(this, Player_ActionToModelGroup(this, this->itemAction));
} }
static struct_80832924 D_808551B8[] = { static AnimSfxEntry D_808551B8[] = {
{ NA_SE_IT_SWORD_PICKOUT, -0x80C }, { NA_SE_IT_SWORD_PICKOUT, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 12) },
}; };
void func_80851D80(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80851D80(PlayState* play, Player* this, CsCmdActorCue* cue) {
@ -14674,7 +14719,7 @@ void func_80851D80(PlayState* play, Player* this, CsCmdActorCue* cue) {
if (LinkAnimation_OnFrame(&this->skelAnime, 6.0f)) { if (LinkAnimation_OnFrame(&this->skelAnime, 6.0f)) {
func_80846720(play, this, 0); func_80846720(play, this, 0);
} else { } else {
func_80832924(this, D_808551B8); Player_ProcessAnimSfxList(this, D_808551B8);
} }
} }
@ -14707,12 +14752,12 @@ void func_80851ECC(PlayState* play, Player* this, CsCmdActorCue* cue) {
} }
} }
void func_80851F14(PlayState* play, Player* this, LinkAnimationHeader* anim, struct_80832924* arg3) { void func_80851F14(PlayState* play, Player* this, LinkAnimationHeader* anim, AnimSfxEntry* arg3) {
if (LinkAnimation_Update(play, &this->skelAnime)) { if (LinkAnimation_Update(play, &this->skelAnime)) {
Player_AnimPlayLoopAdjusted(play, this, anim); Player_AnimPlayLoopAdjusted(play, this, anim);
this->actionVar2 = 1; this->actionVar2 = 1;
} else if (this->actionVar2 == 0) { } else if (this->actionVar2 == 0) {
func_80832924(this, arg3); Player_ProcessAnimSfxList(this, arg3);
} }
} }
@ -14721,10 +14766,10 @@ void func_80851F84(PlayState* play, Player* this, CsCmdActorCue* cue) {
func_80851134(play, this, &gPlayerAnim_clink_op3_wait1); func_80851134(play, this, &gPlayerAnim_clink_op3_wait1);
} }
static struct_80832924 D_808551BC[] = { static AnimSfxEntry D_808551BC[] = {
{ NA_SE_VO_LI_RELAX, 0x2023 }, { NA_SE_VO_LI_RELAX, ANIMSFX_DATA(ANIMSFX_TYPE_4, 35) },
{ NA_SE_PL_SLIPDOWN, 0x8EC }, { NA_SE_PL_SLIPDOWN, ANIMSFX_DATA(ANIMSFX_TYPE_1, 236) },
{ NA_SE_PL_SLIPDOWN, -0x900 }, { NA_SE_PL_SLIPDOWN, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 256) },
}; };
void func_80851FB0(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80851FB0(PlayState* play, Player* this, CsCmdActorCue* cue) {
@ -14734,23 +14779,23 @@ void func_80851FB0(PlayState* play, Player* this, CsCmdActorCue* cue) {
ANIM_FLAG_PLAYER_7); ANIM_FLAG_PLAYER_7);
this->actionVar2 = 1; this->actionVar2 = 1;
} else if (this->actionVar2 == 0) { } else if (this->actionVar2 == 0) {
func_80832924(this, D_808551BC); Player_ProcessAnimSfxList(this, D_808551BC);
if (LinkAnimation_OnFrame(&this->skelAnime, 240.0f)) { if (LinkAnimation_OnFrame(&this->skelAnime, 240.0f)) {
this->actor.shape.shadowDraw = ActorShadow_DrawFeet; this->actor.shape.shadowDraw = ActorShadow_DrawFeet;
} }
} }
} }
static struct_80832924 D_808551C8[] = { static AnimSfxEntry D_808551C8[] = {
{ NA_SE_PL_LAND + SURFACE_SFX_OFFSET_WOOD, 0x843 }, { NA_SE_PL_LAND + SURFACE_SFX_OFFSET_WOOD, ANIMSFX_DATA(ANIMSFX_TYPE_1, 67) },
{ 0, 0x4854 }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_9, 84) },
{ 0, 0x485A }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_9, 90) },
{ 0, -0x4860 }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_9, 96) },
}; };
void func_80852048(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80852048(PlayState* play, Player* this, CsCmdActorCue* cue) {
LinkAnimation_Update(play, &this->skelAnime); LinkAnimation_Update(play, &this->skelAnime);
func_80832924(this, D_808551C8); Player_ProcessAnimSfxList(this, D_808551C8);
} }
void func_80852080(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80852080(PlayState* play, Player* this, CsCmdActorCue* cue) {
@ -14776,15 +14821,15 @@ void func_808520BC(PlayState* play, Player* this, CsCmdActorCue* cue) {
this->actor.world.pos.z = distZ * sp4 + startZ; this->actor.world.pos.z = distZ * sp4 + startZ;
} }
static struct_80832924 D_808551D8[] = { static AnimSfxEntry D_808551D8[] = {
{ NA_SE_PL_BOUND, 0x1014 }, { NA_SE_PL_BOUND, ANIMSFX_DATA(ANIMSFX_TYPE_2, 20) },
{ NA_SE_PL_BOUND, -0x101E }, { NA_SE_PL_BOUND, -ANIMSFX_DATA(ANIMSFX_TYPE_2, 30) },
}; };
void func_80852174(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80852174(PlayState* play, Player* this, CsCmdActorCue* cue) {
func_808520BC(play, this, cue); func_808520BC(play, this, cue);
LinkAnimation_Update(play, &this->skelAnime); LinkAnimation_Update(play, &this->skelAnime);
func_80832924(this, D_808551D8); Player_ProcessAnimSfxList(this, D_808551D8);
} }
void func_808521B8(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_808521B8(PlayState* play, Player* this, CsCmdActorCue* cue) {
@ -14822,18 +14867,18 @@ void func_80852298(PlayState* play, Player* this, CsCmdActorCue* cue) {
} }
} }
static struct_80832924 D_808551E0[] = { static AnimSfxEntry D_808551E0[] = {
{ 0, 0x300A }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 10) },
{ 0, -0x3018 }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_6, 24) },
}; };
void func_80852328(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80852328(PlayState* play, Player* this, CsCmdActorCue* cue) {
func_80851F14(play, this, &gPlayerAnim_link_demo_furimuki2_wait, D_808551E0); func_80851F14(play, this, &gPlayerAnim_link_demo_furimuki2_wait, D_808551E0);
} }
static struct_80832924 D_808551E8[] = { static AnimSfxEntry D_808551E8[] = {
{ 0, 0x400F }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_8, 15) },
{ 0, -0x4023 }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_8, 35) },
}; };
void func_80852358(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80852358(PlayState* play, Player* this, CsCmdActorCue* cue) {
@ -14853,24 +14898,24 @@ void func_80852388(PlayState* play, Player* this, CsCmdActorCue* cue) {
} }
} }
void func_80852414(PlayState* play, Player* this, LinkAnimationHeader* anim, struct_80832924* arg3) { void func_80852414(PlayState* play, Player* this, LinkAnimationHeader* anim, AnimSfxEntry* arg3) {
func_80851294(play, this, anim); func_80851294(play, this, anim);
if (this->actionVar2 == 0) { if (this->actionVar2 == 0) {
func_80832924(this, arg3); Player_ProcessAnimSfxList(this, arg3);
} }
} }
static struct_80832924 D_808551F0[] = { static AnimSfxEntry D_808551F0[] = {
{ 0, 0x300F }, { 0, ANIMSFX_DATA(ANIMSFX_TYPE_6, 15) },
{ 0, -0x3021 }, { 0, -ANIMSFX_DATA(ANIMSFX_TYPE_6, 33) },
}; };
void func_80852450(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80852450(PlayState* play, Player* this, CsCmdActorCue* cue) {
func_80852414(play, this, &gPlayerAnim_clink_demo_koutai_wait, D_808551F0); func_80852414(play, this, &gPlayerAnim_clink_demo_koutai_wait, D_808551F0);
} }
static struct_80832924 D_808551F8[] = { static AnimSfxEntry D_808551F8[] = {
{ NA_SE_PL_KNOCK, -0x84E }, { NA_SE_PL_KNOCK, -ANIMSFX_DATA(ANIMSFX_TYPE_1, 78) },
}; };
void func_80852480(PlayState* play, Player* this, CsCmdActorCue* cue) { void func_80852480(PlayState* play, Player* this, CsCmdActorCue* cue) {