Match m_player_sound.c_inc

This commit is contained in:
Prakxo
2024-08-19 23:19:21 +02:00
parent 2919098ccd
commit 7c01090bda
7 changed files with 356 additions and 15 deletions
+3 -3
View File
@@ -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);
+2 -3
View File
@@ -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?
+2 -2
View File
@@ -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);
+1 -1
View File
@@ -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;
+2 -2
View File
@@ -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;
}
}
+4 -4
View File
@@ -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:
+342
View File
@@ -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);
}
}