Add separate boost sound for start boost

Allows us to set it to be singular, stopping really loud start boosts with many players
This commit is contained in:
Sryder13 2017-10-25 02:47:24 +01:00
parent 65c5c94563
commit 28297d9f58
5 changed files with 17 additions and 11 deletions

View file

@ -1303,7 +1303,7 @@ void K_LakituChecker(player_t *player)
player->kartstuff[k_lakitu]--; player->kartstuff[k_lakitu]--;
// Quick! You only have three tics to boost! // Quick! You only have three tics to boost!
if (cmd->buttons & BT_ACCELERATE) if (cmd->buttons & BT_ACCELERATE)
K_DoMushroom(player, true); K_DoMushroom(player, true, false);
} }
} }
} }
@ -2228,10 +2228,14 @@ static void K_DoBooSteal(player_t *player)
} }
} }
void K_DoMushroom(player_t *player, boolean doPFlag) void K_DoMushroom(player_t *player, boolean doPFlag, boolean startboost)
{ {
sfxenum_t boostsound = sfx_mush;
if (startboost)
boostsound = sfx_sboost;
if (!player->kartstuff[k_floorboost] || player->kartstuff[k_floorboost] == 3) if (!player->kartstuff[k_floorboost] || player->kartstuff[k_floorboost] == 3)
S_StartSound(player->mo, sfx_mush); S_StartSound(player->mo, boostsound);
player->kartstuff[k_mushroomtimer] = mushroomtime; player->kartstuff[k_mushroomtimer] = mushroomtime;
@ -2624,14 +2628,14 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
if (ATTACK_IS_DOWN && !HOLDING_ITEM && onground && player->kartstuff[k_goldshroom] == 1 if (ATTACK_IS_DOWN && !HOLDING_ITEM && onground && player->kartstuff[k_goldshroom] == 1
&& player->kartstuff[k_goldshroomtimer] == 0 && NO_BOO) && player->kartstuff[k_goldshroomtimer] == 0 && NO_BOO)
{ {
K_DoMushroom(player, true); K_DoMushroom(player, true, false);
player->kartstuff[k_goldshroomtimer] = itemtime; player->kartstuff[k_goldshroomtimer] = itemtime;
player->kartstuff[k_goldshroom] = 0; player->kartstuff[k_goldshroom] = 0;
} }
// GoldenMushroom power // GoldenMushroom power
else if (ATTACK_IS_DOWN && player->kartstuff[k_goldshroomtimer] > 1 && onground && NO_BOO) else if (ATTACK_IS_DOWN && player->kartstuff[k_goldshroomtimer] > 1 && onground && NO_BOO)
{ {
K_DoMushroom(player, true); K_DoMushroom(player, true, false);
//player->kartstuff[k_goldshroomtimer] -= 10; //player->kartstuff[k_goldshroomtimer] -= 10;
//if (player->kartstuff[k_goldshroomtimer] < 1) //if (player->kartstuff[k_goldshroomtimer] < 1)
// player->kartstuff[k_goldshroomtimer] = 1; // player->kartstuff[k_goldshroomtimer] = 1;
@ -2639,19 +2643,19 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
// TripleMushroom power // TripleMushroom power
else if (ATTACK_IS_DOWN && !HOLDING_ITEM && player->kartstuff[k_mushroom] == 4 && onground && NO_BOO) else if (ATTACK_IS_DOWN && !HOLDING_ITEM && player->kartstuff[k_mushroom] == 4 && onground && NO_BOO)
{ {
K_DoMushroom(player, true); K_DoMushroom(player, true, false);
player->kartstuff[k_mushroom] = 2; player->kartstuff[k_mushroom] = 2;
} }
// DoubleMushroom power // DoubleMushroom power
else if (ATTACK_IS_DOWN && !HOLDING_ITEM && player->kartstuff[k_mushroom] == 2 && onground && NO_BOO) else if (ATTACK_IS_DOWN && !HOLDING_ITEM && player->kartstuff[k_mushroom] == 2 && onground && NO_BOO)
{ {
K_DoMushroom(player, true); K_DoMushroom(player, true, false);
player->kartstuff[k_mushroom] = 1; player->kartstuff[k_mushroom] = 1;
} }
// Mushroom power // Mushroom power
else if (ATTACK_IS_DOWN && !HOLDING_ITEM && player->kartstuff[k_mushroom] == 1 && onground && NO_BOO) else if (ATTACK_IS_DOWN && !HOLDING_ITEM && player->kartstuff[k_mushroom] == 1 && onground && NO_BOO)
{ {
K_DoMushroom(player, true); K_DoMushroom(player, true, false);
player->kartstuff[k_mushroom] = 0; player->kartstuff[k_mushroom] = 0;
} }
// Star power // Star power
@ -3105,7 +3109,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
// Get an instant boost! // Get an instant boost!
if (player->kartstuff[k_boostcharge] >= 7 && player->kartstuff[k_boostcharge] <= 10) if (player->kartstuff[k_boostcharge] >= 7 && player->kartstuff[k_boostcharge] <= 10)
{ {
K_DoMushroom(player, false); K_DoMushroom(player, false, true);
} }
// You overcharged your engine? Those things are expensive!!! // You overcharged your engine? Those things are expensive!!!
if (player->kartstuff[k_boostcharge] > 10) if (player->kartstuff[k_boostcharge] > 10)

View file

@ -22,7 +22,7 @@ void K_SquishPlayer(player_t *player, mobj_t *source);
void K_ExplodePlayer(player_t *player, mobj_t *source); void K_ExplodePlayer(player_t *player, mobj_t *source);
void K_SpawnKartExplosion(fixed_t x, fixed_t y, fixed_t z, fixed_t radius, INT32 number, mobjtype_t type, angle_t rotangle, boolean spawncenter, boolean ghostit); void K_SpawnKartExplosion(fixed_t x, fixed_t y, fixed_t z, fixed_t radius, INT32 number, mobjtype_t type, angle_t rotangle, boolean spawncenter, boolean ghostit);
void K_SpawnDriftTrail(player_t *player); void K_SpawnDriftTrail(player_t *player);
void K_DoMushroom(player_t *player, boolean doPFlag); void K_DoMushroom(player_t *player, boolean doPFlag, boolean startboost);
INT16 K_GetKartTurnValue(player_t *player, INT16 turnvalue); INT16 K_GetKartTurnValue(player_t *player, INT16 turnvalue);
void K_MomentumToFacing(player_t *player); void K_MomentumToFacing(player_t *player);
fixed_t K_GetKartSpeed(player_t *player, boolean doboostpower); fixed_t K_GetKartSpeed(player_t *player, boolean doboostpower);

View file

@ -3934,7 +3934,7 @@ DoneSection2:
player->kartstuff[k_floorboost] = 3; player->kartstuff[k_floorboost] = 3;
else else
player->kartstuff[k_floorboost] = 2; player->kartstuff[k_floorboost] = 2;
K_DoMushroom(player, false); K_DoMushroom(player, false, false);
break; break;
case 7: // SRB2kart 190117 - Oil Slick case 7: // SRB2kart 190117 - Oil Slick

View file

@ -474,6 +474,7 @@ sfxinfo_t S_sfx[NUMSFX] =
{"kart2", false, 48, 16, -1, NULL, 0, -1, -1, LUMPERROR}, {"kart2", false, 48, 16, -1, NULL, 0, -1, -1, LUMPERROR},
{"kart3", false, 48, 16, -1, NULL, 0, -1, -1, LUMPERROR}, {"kart3", false, 48, 16, -1, NULL, 0, -1, -1, LUMPERROR},
{"mlap", true, 127, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"mlap", true, 127, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"sboost", true, 90, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"mush", false, 90, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"mush", false, 90, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"star", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR}, {"star", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR},
{"mega", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR}, {"mega", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR},

View file

@ -545,6 +545,7 @@ typedef enum
sfx_kart2, sfx_kart2,
sfx_kart3, sfx_kart3,
sfx_mlap, sfx_mlap,
sfx_sboost,
sfx_mush, sfx_mush,
sfx_star, sfx_star,
sfx_mega, sfx_mega,