From 7c01090bdadf8f3224937ecbaca648dc67dfd6bd Mon Sep 17 00:00:00 2001 From: Prakxo Date: Mon, 19 Aug 2024 23:19:21 +0200 Subject: [PATCH] Match m_player_sound.c_inc --- include/audio.h | 6 +- include/audio_defs.h | 5 +- include/jaudio_NES/game64.h | 4 +- src/ac_my_room_move.c_inc | 2 +- src/ac_npc_sendo_move.c_inc | 4 +- src/audio.c | 8 +- src/m_player_sound.c_inc | 342 ++++++++++++++++++++++++++++++++++++ 7 files changed, 356 insertions(+), 15 deletions(-) diff --git a/include/audio.h b/include/audio.h index e5dd0c1f..aa417578 100644 --- a/include/audio.h +++ b/include/audio.h @@ -54,8 +54,8 @@ extern void sAdo_BgmStart(u8 id); extern void sAdo_BgmStop(u16 id); extern void sAdo_SysTrgStart(u16 id); -extern void sAdo_PlyWalkSe(int walk, const xyz_t* pos); -extern void sAdo_PlyWalkSeRoom(int walk, const xyz_t* pos); +extern void sAdo_PlyWalkSe(u16 walk, const xyz_t* pos); +extern void sAdo_PlyWalkSeRoom(u8 walk, const xyz_t* pos); extern void sAdo_NpcWalkSe(int walk, const xyz_t* pos); extern void sAdo_NpcWalkSeRoom(int walk, const xyz_t* pos); @@ -132,7 +132,7 @@ extern void sAdo_Museum(u8 type); extern void sAdo_SoftReset(); extern u16 sAdo_Get_WalkLabel(int type); -extern int sAdo_Get_KokeruLabel(int type); +extern u16 sAdo_Get_KokeruLabel(int type); extern void sAdo_SceneMode(u8 mode); extern u8 sAdo_RoomIncectPos(u32 f, u16 u, const xyz_t* pos); diff --git a/include/audio_defs.h b/include/audio_defs.h index eb3399ed..761b40bd 100644 --- a/include/audio_defs.h +++ b/include/audio_defs.h @@ -45,8 +45,7 @@ typedef enum audio_sound_effects { NA_SE_DRAWER_SHUT = 0x3A, NA_SE_ITEM_GET = 0x40, - NA_SE_ITEM_HORIDASHI = 0x47, - + NA_SE_47 = 0x47, NA_SE_MONEY0 = 0x49, NA_SE_MONEY1, NA_SE_MONEY2, @@ -54,7 +53,7 @@ typedef enum audio_sound_effects { NA_SE_52 = 0x52, - NA_SE_BIRTH_FTR = 0x57, + NA_SE_ITEM_HORIDASHI = 0x57, NA_SE_CLEAN_UP_FTR = 0x58, NA_SE_TOOL_FURI = 0x5A, // swing? diff --git a/include/jaudio_NES/game64.h b/include/jaudio_NES/game64.h index c9c0de6d..d39524aa 100644 --- a/include/jaudio_NES/game64.h +++ b/include/jaudio_NES/game64.h @@ -14,8 +14,8 @@ extern void Na_BgmStart(u8); extern void Na_BgmCrossfadeStart(u8); extern void Na_BgmStop(u16); extern void Na_SysTrgStart(u16); -extern void Na_PlyWalkSe(int, u16, f32); -extern void Na_PlyWalkSeRoom(int, u16, f32); +extern void Na_PlyWalkSe(u16, u16, f32); +extern void Na_PlyWalkSeRoom(u8, u16, f32); extern void Na_NpcWalkSe(int, u16, f32); extern void Na_NpcWalkSeRoom(int, u16, f32); extern void Na_PlayerStatusLevel(f32, int); diff --git a/src/ac_my_room_move.c_inc b/src/ac_my_room_move.c_inc index 7a87261f..a71def25 100644 --- a/src/ac_my_room_move.c_inc +++ b/src/ac_my_room_move.c_inc @@ -2354,7 +2354,7 @@ static void aMR_BirthWait(FTR_ACTOR* ftr_actor, GAME* game, MY_ROOM_ACTOR* my_ro if (ftr_actor->id == my_room->rsv_ftr[i].free_no) { if (my_room->rsv_ftr[i].frames <= 0) { ftr_actor->state = aFTR_STATE_BIRTH; - sAdo_OngenTrgStart(NA_SE_BIRTH_FTR, &ftr_actor->position); + sAdo_OngenTrgStart(NA_SE_ITEM_HORIDASHI, &ftr_actor->position); } break; diff --git a/src/ac_npc_sendo_move.c_inc b/src/ac_npc_sendo_move.c_inc index acb82443..8b62a29b 100644 --- a/src/ac_npc_sendo_move.c_inc +++ b/src/ac_npc_sendo_move.c_inc @@ -370,12 +370,12 @@ static int aSEN_get_msg_no(NPC_SENDO_ACTOR* sendo, int msg_no) { static void aSEN_agb_trans_se_proc(NPC_SENDO_ACTOR* sendo, int enable) { if (enable == TRUE) { if (sendo->agb_trans_se == FALSE) { - sAdo_SysLevStart(NA_SE_ITEM_HORIDASHI); + sAdo_SysLevStart(NA_SE_47); sendo->agb_trans_se = TRUE; } } else { if (sendo->agb_trans_se == TRUE) { - sAdo_SysLevStop(NA_SE_ITEM_HORIDASHI); + sAdo_SysLevStop(NA_SE_47); sendo->agb_trans_se = FALSE; } } diff --git a/src/audio.c b/src/audio.c index d02bd1f8..07d1a928 100644 --- a/src/audio.c +++ b/src/audio.c @@ -60,7 +60,7 @@ extern void sAdo_SysTrgStart(u16 id) { Na_SysTrgStart(id); } -extern void sAdo_PlyWalkSe(int walk, const xyz_t* pos) { +extern void sAdo_PlyWalkSe(u16 walk, const xyz_t* pos) { f32 fcalc; u16 scalc; @@ -69,7 +69,7 @@ extern void sAdo_PlyWalkSe(int walk, const xyz_t* pos) { Na_PlyWalkSe(walk, scalc, fcalc); } -extern void sAdo_PlyWalkSeRoom(int walk, const xyz_t* pos) { +extern void sAdo_PlyWalkSeRoom(u8 walk, const xyz_t* pos) { f32 fcalc; u16 scalc; @@ -400,10 +400,10 @@ u16 sAdo_Get_WalkLabel(int type) { return ret; } -int sAdo_Get_KokeruLabel(int type) { +u16 sAdo_Get_KokeruLabel(int type) { u16 label = sAdo_Get_WalkLabel(type); - int ret; + u16 ret; switch (label) { case 0x4201: diff --git a/src/m_player_sound.c_inc b/src/m_player_sound.c_inc index e69de29b..0e0b92a4 100644 --- a/src/m_player_sound.c_inc +++ b/src/m_player_sound.c_inc @@ -0,0 +1,342 @@ +typedef enum player_status_level_s { + mPlayer_WAIT, + mPlayer_WALK, + mPlayer_RUN, + mPlayer_DASH, +}mPlayer_STATUS_LEVEL; + +void Player_actor_sound_SetStatus(ACTOR* actor) { + PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor; + int status; + f32 speed; + + status = player->now_main_index; + speed = player->keyframe0.frame_control.speed / 0.6f; + + switch (status) { + case mPlayer_INDEX_READY_WALK_NET: + case mPlayer_INDEX_DEMO_WALK: + case mPlayer_INDEX_WALK: + status = mPlayer_WALK; + break; + case mPlayer_INDEX_RUN: + status = mPlayer_RUN; + break; + case mPlayer_INDEX_DASH: + status = mPlayer_DASH; + break; + default: + status = 0; + break; + } + if (speed > 1.0f) { + speed = 1.0f; + } else if (speed < 0.0f) { + speed = 0.0f; + } + sAdo_PlayerStatusLevel(speed, status); +} + +void Player_actor_set_sound_common1(xyz_t* pos, u16 id) { + sAdo_OngenTrgStart(id, pos); +} + +void Player_actor_set_sound_common2(ACTOR* actor, u16 id) { + Player_actor_set_sound_common1(&actor->world.position,id); +} + +void Player_actor_sound_FootStep1(ACTOR* actor, u16 id){ + xyz_t* pos = &actor->world.position; + xyz_t apos; + int check; + u32 attr; + + apos = *pos; + + attr = mCoBG_Wpos2Attribute(apos,0); + if(sAdo_CheckOnPlussBridge(pos,attr)){ + id = 0x420A; + } + + sAdo_PlyWalkSe(id, pos); +} + +void Player_actor_sound_FootStep2(ACTOR* actor) { + int floorId; + + floorId = Common_Get(floor_idx); + if (floorId >= 0) { + if (mRmTp_SoundStepWalkSE(&actor->world.position) != 0) { + sAdo_PlyWalkSeRoom(0xFF, &actor->world.position); + } + else if (floorId < 0x56) { + sAdo_PlyWalkSeRoom(floorId, &actor->world.position); + } + } else { + u16 label = sAdo_Get_WalkLabel(actor->bg_collision_check.result.unit_attribute); + Player_actor_sound_FootStep1(actor, label); + } +} + +void Player_actor_sound_Tumble(ACTOR* actor) { + u16 label = sAdo_Get_KokeruLabel(actor->bg_collision_check.result.unit_attribute); + Player_actor_set_sound_common2(actor, label); +} + +void Player_actor_sound_AMI_FURI(ACTOR* actor) { + PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor; + + Player_actor_set_sound_common1(&player->net_pos, NA_SE_TOOL_FURI); +} + +void Player_actor_sound_AMI_HIT(ACTOR* actor) { + PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor; + + Player_actor_set_sound_common1(&player->net_pos, NA_SE_AMI_HIT); +} + +void Player_actor_sound_AMI_GET(ACTOR* actor) { + PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor; + + Player_actor_set_sound_common1(&player->net_pos, NA_SE_TOOL_GET); +} + +void Player_actor_sound_GASAGOSO(ACTOR* actor) { + Player_actor_set_sound_common2(actor,0x69); +} + +void Player_actor_sound_AXE_FURI(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_TOOL_FURI); +} + +void Player_actor_sound_AXE_HIT(ACTOR* actor,xyz_t* pos) { + xyz_t posA; + + posA.x = pos->x; + posA.z = pos->z; + posA.y = actor->world.position.y + 20.0f; + + Player_actor_set_sound_common1(&posA, 0x41D); +} + +void Player_actor_sound_AXE_CUT(ACTOR* actor,xyz_t* pos) { + xyz_t posA; + + posA.x = pos->x; + posA.z = pos->z; + posA.y = actor->world.position.y + 20.0f; + + Player_actor_set_sound_common1(&posA, 0x41E); +} + +void Player_actor_sound_SIT(ACTOR* actor, int ftr_idx){ + int id = mRmTp_GetFtrActionSE(ftr_idx, mRmTp_CHAIR_ACTION_SIT); + + if(id >= 0){ + Player_actor_set_sound_common2(actor,id); + } + else{ + Player_actor_set_sound_common2(actor,NA_SE_HARD_CHAIR_SIT); + } +} + +void Player_actor_sound_STANDUP(ACTOR* actor, int ftr_idx){ + int id = mRmTp_GetFtrActionSE(ftr_idx,1); + + if(id >= 0){ + Player_actor_set_sound_common2(actor,id); + } + else{ + Player_actor_set_sound_common2(actor,NA_SE_HARD_CHAIR_STANDUP); + } +} + +void Player_actor_sound_JUMP(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_JUMP); +} + +void Player_actor_sound_LANDING(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_LANDING); +} + +void Player_actor_sound_ITEM_GET(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_ITEM_GET); +} + +void Player_actor_sound_BED_IN(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_BED_IN); +} + +void Player_actor_sound_BED_NEGAERI(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_BED_NEGAERI); +} + +void Player_actor_sound_BED_OUT(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_BED_OUT); +} + +void Player_actor_sound_ROD_STROKE(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_ROD_STROKE); +} + +void Player_actor_sound_ROD_STROKE_small(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_ROD_STROKE_SMALL); +} + +void Player_actor_sound_ROD_BACK(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_ROD_BACK); +} + +void Player_actor_sound_scoop1(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_SCOOP1); +} + +void Player_actor_sound_scoop_umeru(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_SCOOP_UMERU); +} + +void Player_actor_sound_scoop_hit(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_SCOOP_HIT); +} + +void Player_actor_sound_scoop_shigemi(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_SCOOP_SHIGEMI); +} + +void Player_actor_sound_ITEM_HORIDASHI(ACTOR* actor){ + Player_actor_set_sound_common2(actor,NA_SE_ITEM_HORIDASHI); +} + +void Player_actor_sound_slip(ACTOR* actor){ + Player_actor_set_sound_common2(actor,0x4129); +} + +void Player_actor_sound_tree_touch(xyz_t* pos){ + sAdo_OngenTrgStart(NA_SE_TREE_TOUCH,pos); +} + +void Player_actor_sound_tree_yurasu(xyz_t* pos){ + sAdo_OngenTrgStart(NA_SE_TREE_YURASU,pos); +} + +void Player_actor_sound_kirikabu_scoop(ACTOR* actor){ + Player_actor_set_sound_common2(actor,NA_SE_KIRIBASU_SCOOP); +} + +void Player_actor_sound_kirikabu_out(ACTOR* actor){ + Player_actor_set_sound_common2(actor,NA_SE_KIRIBASU_OUT); +} + +void Player_actor_sound_knock(ACTOR* actor){ + Player_actor_set_sound_common2(actor,NA_SE_SOUND_KNOCK); +} + +void Player_actor_sound_coin_gasagoso(ACTOR* actor){ + Player_actor_set_sound_common2(actor,NA_SE_COIN_GASAGOSO); +} + +void Player_actor_sound_araiiki(ACTOR* actor){ + s8 gender = Common_Get(now_private)->gender; + + Player_actor_set_sound_common2(actor,(gender == 0) ? (u16)NA_SE_ARAIIKI_BOY : (u16)NA_SE_ARAIIKI_GIRL); +} + +void Player_actor_sound_zassou_nuku(xyz_t* pos) { + sAdo_OngenTrgStart(NA_SE_ZASSOU_NUKU,pos); +} + +void Player_actor_sound_hachi_sasareru(ACTOR* actor){ + Player_actor_set_sound_common2(actor,NA_SE_HACHI_SASARERU); +} + +void Player_actor_sound_wear(ACTOR* actor){ + Player_actor_set_sound_common2(actor,NA_SE_WEAR); +} + +void Player_actor_sound_dai_ue_kakunou(ACTOR* actor){ + Player_actor_set_sound_common2(actor,NA_SE_DAI_UE_KAKUNOU); +} + +void Player_actor_sound_umbrella_rotate(ACTOR* actor){ + Player_actor_set_sound_common2(actor,NA_SE_UMBRELLA_ROTATE); +} + +u16 Player_actor_sound_Get_bgm_num_forCompletePayment() { + switch(Common_Get(complete_payment_type)){ + case 1: + return NA_SE_MONEY0; + default: + return NA_SE_MONEY1; + } +} + +u16 Player_actor_sound_Get_bgm_num_forDemoGetGoldenItem(int type) { + switch (type) { + case 0: + return NA_SE_MONEY0; + case 1: + return NA_SE_MONEY2; + case 2: + return NA_SE_COIN; + default: + return NA_SE_MONEY1; + } +} + + +void Player_actor_sound_camera_move1(void) { + sAdo_SysTrgStart(NA_SE_CAMERA_MOVE1); +} + +void Player_actor_sound_camera_move2() { + sAdo_SysTrgStart(NA_SE_CAMERA_MOVE2); +} + +void Player_actor_sound_karaburi(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_KARABURI); +} + +void Player_actor_sound_scoop_tree_hit(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_SCOOP_TREE_HIT); +} + +void Player_actor_sound_scoop_item_hit(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_SCOOP_ITEM_HIT); +} + +void Player_actor_sound_axe_ball_hit(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_SCOOP_ITEM_HIT); +} + +void Player_actor_sound_axe_broken1(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_TOOL_BROKEN1); +} + +void Player_actor_sound_axe_broken2(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_TOOL_BROKEN2); +} + +void Player_actor_sound_axe_broken3(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_TOOL_BROKEN3); +} + +void Player_actor_sound_uchiwa(ACTOR* actor) { + Player_actor_set_sound_common2(actor,NA_SE_UCHIWA); +} + +void Player_actor_sound_move_temochi_kazaguruma(ACTOR* actor) { + PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor; + f32 speed; + + speed = ABS(player->item_keyframe.frame_control.speed / 44.0f); + + if (speed > 1.0f) { + speed = 1.0f; + } else if (speed < 0.0f) { + speed = 0.0f; + } + if (speed != 0.0f) { + sAdo_kazagurumaLevel(speed); + sAdo_OngenPos((u32) player, NA_SE_TEMOCHI_KAZAGURUMA, &actor->world.position); + } +} \ No newline at end of file