From ff9644c278e2b3365886a3d6018e7feec1585552 Mon Sep 17 00:00:00 2001 From: Ashnal Date: Mon, 23 Jun 2025 23:41:46 -0400 Subject: [PATCH] Sound effects again --- src/deh_tables.c | 4 +++- src/info.c | 11 ++++++++--- src/info.h | 4 +++- src/k_kart.c | 6 +++--- src/objects/bail.c | 6 ------ 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/deh_tables.c b/src/deh_tables.c index 9e037f4f2..a880a1766 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -1575,7 +1575,9 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi "S_BLOCKBODY", "S_BAIL", - "S_BAIB", + "S_BAIB1", + "S_BAIB2", + "S_BAIB3", "S_BAIC", "S_BAILCHARGE", diff --git a/src/info.c b/src/info.c index a8133ddb3..93f6bddae 100644 --- a/src/info.c +++ b/src/info.c @@ -2165,10 +2165,15 @@ state_t states[NUMSTATES] = {SPR_GRNG, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_BLOCKRING {SPR_GBDY, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 4, 2, S_NULL}, // S_BLOCKBODY - {SPR_BAIL, FF_FULLBRIGHT|FF_ANIMATE|0, 8, {NULL}, 8, 1, S_BAIB}, // S_BAIL - {SPR_BAIB, FF_FULLBRIGHT|FF_ANIMATE|0, 10, {NULL}, 9, 1, S_NULL}, // S_BAIB + // why can we not use actions on spawn? I'd love to fix it but I imagine all sorts of crazy pain if I change something fundamental like that + {SPR_BAIL, FF_FULLBRIGHT|FF_ANIMATE|0, 9, {NULL}, 8, 1, S_BAIB1}, // S_BAIL + {SPR_BAIB, 0, 0, {A_PlaySound}, sfx_gshb2, 2, S_BAIB2}, // S_BAIB1 + {SPR_BAIB, 0, 0, {A_PlaySound}, sfx_gshbd, 2, S_BAIB3}, // S_BAIB2 + {SPR_BAIB, FF_FULLBRIGHT|FF_ANIMATE|0, 10, {NULL}, 9, 1, S_NULL}, // S_BAIB3 + {SPR_BAIC, FF_FULLBRIGHT|FF_ANIMATE|0, 11, {NULL}, 10, 1, S_NULL}, // S_BAIC - {SPR_TECH, 0, -1, {NULL}, 41, 1, S_NULL}, // S_BAILCHARGE + + {SPR_TECH, 1, -1, {NULL}, 41, 1, S_NULL}, // S_BAILCHARGE {SPR_AMPB, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_AMPRING {SPR_AMPC, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 4, 2, S_NULL}, // S_AMPBODY diff --git a/src/info.h b/src/info.h index 3a3354263..996b721e2 100644 --- a/src/info.h +++ b/src/info.h @@ -2635,7 +2635,9 @@ typedef enum state S_BLOCKBODY, S_BAIL, - S_BAIB, + S_BAIB1, + S_BAIB2, + S_BAIB3, S_BAIC, S_BAILCHARGE, diff --git a/src/k_kart.c b/src/k_kart.c index 73d669606..09c7fae63 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -13965,7 +13965,8 @@ void K_MoveKartPlayer(player_t *player, boolean onground) if ((P_PlayerInPain(player) && player->bailcharge == 1) || (grounded && P_PlayerInPain(player) && player->bailcharge == 2)) // this is brittle .. { mobj_t *bail = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, MT_BAILCHARGE); - S_StartSound(bail, sfx_gshb9); + S_StartSound(bail, sfx_gshb9); // I tried to use info.c, but you can't play sounds on mobjspawn via A_PlaySound + S_StartSound(bail, sfx_kc4e); P_SetTarget(&bail->target, player->mo); bail->renderflags |= RF_FULLBRIGHT; // set fullbright here, were gonna animate frames in the thinker and it saves us from setting FF_FULLBRIGHT every frame } @@ -13980,7 +13981,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground) player->bailcharge = 0; mobj_t *bail = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, MT_BAIL); - S_StartSound(bail, sfx_kc33); P_SetTarget(&bail->target, player->mo); UINT32 debtrings = 20; @@ -14054,7 +14054,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) if (player->amps > 0) K_DefensiveOverdrive(player); - S_StartSound(player->mo, sfx_gshdd); + S_StartSound(player->mo, sfx_kc33); } if (player && player->mo && K_PlayerCanUseItem(player)) diff --git a/src/objects/bail.c b/src/objects/bail.c index 47f839ea5..2b5b7d622 100644 --- a/src/objects/bail.c +++ b/src/objects/bail.c @@ -57,12 +57,6 @@ void Obj_BailChargeThink (mobj_t *aura) mobj_t *mo = aura->target; player_t *player = mo->player; - // play sound - if (aura->target->player->bailcharge == 34 || aura->target->player->bailcharge == 34) - { - S_StartSound(aura, sfx_kc4e); - } - // Follow player aura->flags &= ~(MF_NOCLIPTHING); P_MoveOrigin(aura, mo->x, mo->y, mo->z + mo->height/2);