diff --git a/src/k_kart.c b/src/k_kart.c index f4b9e93a7..20313da95 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3031,7 +3031,7 @@ static void K_DoSPB(player_t *victim, player_t *source) P_DamageMobj(victim->mo, source->mo, source->mo, 65); } -void K_DoPogoSpring(mobj_t *mo, fixed_t vertispeed, boolean mute) +void K_DoPogoSpring(mobj_t *mo, fixed_t vertispeed, UINT8 sound) { const fixed_t vscale = mapheaderinfo[gamemap-1]->mobj_scale + (mo->scale - mapheaderinfo[gamemap-1]->mobj_scale); @@ -3083,8 +3083,8 @@ void K_DoPogoSpring(mobj_t *mo, fixed_t vertispeed, boolean mute) else mo->momz = FixedMul(vertispeed, vscale); - if (!mute) - S_StartSound(mo, sfx_kpogos); + if (sound) + S_StartSound(mo, (sound == 1 ? sfx_kc2f : sfx_kpogos)); } void K_KillBananaChain(mobj_t *banana, mobj_t *inflictor, mobj_t *source) @@ -4775,7 +4775,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) && !player->kartstuff[k_pogospring]) { K_PlayBoostTaunt(player->mo); - K_DoPogoSpring(player->mo, 32<mo, 32<kartstuff[k_pogospring] = 1; player->kartstuff[k_itemamount]--; } diff --git a/src/k_kart.h b/src/k_kart.h index 7c37ef679..7cab42a59 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -37,7 +37,7 @@ void K_SpawnSparkleTrail(mobj_t *mo); void K_SpawnWipeoutTrail(mobj_t *mo, boolean translucent); void K_DriftDustHandling(mobj_t *spawner); void K_DoSneaker(player_t *player, boolean doPFlag); -void K_DoPogoSpring(mobj_t *mo, fixed_t vertispeed, boolean mute); +void K_DoPogoSpring(mobj_t *mo, fixed_t vertispeed, UINT8 sound); void K_KillBananaChain(mobj_t *banana, mobj_t *inflictor, mobj_t *source); void K_UpdateHnextList(player_t *player, boolean clean); void K_DropHnextList(player_t *player); diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 7c44c7962..2d287d0f5 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -2231,11 +2231,11 @@ static int lib_kDoPogoSpring(lua_State *L) { mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ)); fixed_t vertispeed = luaL_checkfixed(L, 2); - boolean mute = luaL_checkboolean(L, 3); + UINT8 sound = luaL_checkinteger(L, 3); NOHUD if (!mo) return LUA_ErrInvalid(L, "mobj_t"); - K_DoPogoSpring(mo, vertispeed, mute); + K_DoPogoSpring(mo, vertispeed, sound); return 0; } diff --git a/src/p_map.c b/src/p_map.c index b249f3628..f6f6b9b5c 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -316,7 +316,7 @@ static void P_DoFanAndGasJet(mobj_t *spring, mobj_t *object) break; if (object->player) object->player->kartstuff[k_pogospring] = 1; - K_DoPogoSpring(object, 0, true); + K_DoPogoSpring(object, 0, 0); return; } else diff --git a/src/p_mobj.c b/src/p_mobj.c index 0f0657336..6058267d5 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -8035,7 +8035,7 @@ void P_MobjThinker(mobj_t *mobj) if ((sec2 && GETSECSPECIAL(sec2->special, 3) == 1) || (P_IsObjectOnRealGround(mobj, mobj->subsector->sector) && GETSECSPECIAL(mobj->subsector->sector->special, 3) == 1)) - K_DoPogoSpring(mobj, 0, false); + K_DoPogoSpring(mobj, 0, 1); } if (mobj->threshold > 0) @@ -8110,7 +8110,7 @@ void P_MobjThinker(mobj_t *mobj) if ((sec2 && GETSECSPECIAL(sec2->special, 3) == 1) || (P_IsObjectOnRealGround(mobj, mobj->subsector->sector) && GETSECSPECIAL(mobj->subsector->sector->special, 3) == 1)) - K_DoPogoSpring(mobj, 0, false); + K_DoPogoSpring(mobj, 0, 1); break; } @@ -8139,7 +8139,7 @@ void P_MobjThinker(mobj_t *mobj) if ((sec2 && GETSECSPECIAL(sec2->special, 3) == 1) || (P_IsObjectOnRealGround(mobj, mobj->subsector->sector) && GETSECSPECIAL(mobj->subsector->sector->special, 3) == 1)) - K_DoPogoSpring(mobj, 0, false); + K_DoPogoSpring(mobj, 0, 1); } if (mobj->threshold > 0) diff --git a/src/p_spec.c b/src/p_spec.c index 86ac8f005..ab47fec3f 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -3790,7 +3790,7 @@ DoneSection2: P_InstaThrust(player->mo, player->mo->angle, minspeed); player->kartstuff[k_pogospring] = 1; - K_DoPogoSpring(player->mo, 0, false); + K_DoPogoSpring(player->mo, 0, 1); } break; @@ -3813,7 +3813,7 @@ DoneSection2: P_InstaThrust(player->mo, player->mo->angle, minspeed); player->kartstuff[k_pogospring] = 2; - K_DoPogoSpring(player->mo, 0, false); + K_DoPogoSpring(player->mo, 0, 1); } break;