mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-28 04:51:42 +00:00
Damage hitlag sounds
This commit is contained in:
parent
c35b7d2f4f
commit
8e62117596
5 changed files with 50 additions and 2 deletions
|
|
@ -18,6 +18,7 @@
|
||||||
#include "m_random.h"
|
#include "m_random.h"
|
||||||
#include "p_local.h"
|
#include "p_local.h"
|
||||||
#include "r_main.h"
|
#include "r_main.h"
|
||||||
|
#include "s_sound.h"
|
||||||
|
|
||||||
/*--------------------------------------------------
|
/*--------------------------------------------------
|
||||||
void K_AddHitLag(mobj_t *mo, INT32 tics, boolean fromDamage)
|
void K_AddHitLag(mobj_t *mo, INT32 tics, boolean fromDamage)
|
||||||
|
|
@ -129,13 +130,38 @@ static void K_SpawnSingleHitLagSpark(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*--------------------------------------------------
|
||||||
|
static void K_PlayHitLagSFX(mobj_t *victim, UINT8 tics)
|
||||||
|
|
||||||
|
Plays a damage sound for a player.
|
||||||
|
|
||||||
|
Input Arguments:-
|
||||||
|
victim - Object getting damaged.
|
||||||
|
tics - How long the hitlag was.
|
||||||
|
|
||||||
|
Return:-
|
||||||
|
N/A
|
||||||
|
--------------------------------------------------*/
|
||||||
|
static void K_PlayHitLagSFX(mobj_t *victim, UINT8 tics)
|
||||||
|
{
|
||||||
|
sfxenum_t soundID = sfx_dmga1;
|
||||||
|
|
||||||
|
if (P_Random(PR_DECORATION) & 1) // might want to use this set for some other scenario, instead of randomized?
|
||||||
|
{
|
||||||
|
soundID = sfx_dmgb1;
|
||||||
|
}
|
||||||
|
|
||||||
|
soundID += ((tics * (NUM_HITLAG_SOUNDS - 1)) + (MAXHITLAGTICS >> 1)) / MAXHITLAGTICS;
|
||||||
|
S_StartSound(victim, soundID);
|
||||||
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------
|
/*--------------------------------------------------
|
||||||
static void K_SpawnHitLagEFX(mobj_t *victim, mobj_t *inflictor, mobj_t *source, UINT8 tics)
|
static void K_SpawnHitLagEFX(mobj_t *victim, mobj_t *inflictor, mobj_t *source, UINT8 tics)
|
||||||
|
|
||||||
Spawns several hitlag sparks for damage.
|
Spawns several hitlag sparks for damage.
|
||||||
|
|
||||||
Input Arguments:-
|
Input Arguments:-
|
||||||
victim - Object getting touched.
|
victim - Object getting damaged.
|
||||||
inflictor - Object touching the victim. May be NULL.
|
inflictor - Object touching the victim. May be NULL.
|
||||||
source - Object that inflictor came from. May be NULL or same as inflictor.
|
source - Object that inflictor came from. May be NULL or same as inflictor.
|
||||||
tics - How long the hitlag was.
|
tics - How long the hitlag was.
|
||||||
|
|
@ -152,6 +178,7 @@ static void K_SpawnHitLagEFX(mobj_t *victim, mobj_t *inflictor, mobj_t *source,
|
||||||
|
|
||||||
I_Assert(P_MobjWasRemoved(victim) == false);
|
I_Assert(P_MobjWasRemoved(victim) == false);
|
||||||
|
|
||||||
|
K_PlayHitLagSFX(victim, tics);
|
||||||
P_StartQuakeFromMobj(tics, tics * 2 * mapobjectscale, 512 * mapobjectscale, victim);
|
P_StartQuakeFromMobj(tics, tics * 2 * mapobjectscale, 512 * mapobjectscale, victim);
|
||||||
|
|
||||||
if (P_MobjWasRemoved(inflictor) == false)
|
if (P_MobjWasRemoved(inflictor) == false)
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ extern "C" {
|
||||||
#define MAXHITLAGTICS (30)
|
#define MAXHITLAGTICS (30)
|
||||||
#define HITLAGJITTERS (FRACUNIT / 20)
|
#define HITLAGJITTERS (FRACUNIT / 20)
|
||||||
#define NUM_HITLAG_STATES (9)
|
#define NUM_HITLAG_STATES (9)
|
||||||
|
#define NUM_HITLAG_SOUNDS (4)
|
||||||
|
|
||||||
/*--------------------------------------------------
|
/*--------------------------------------------------
|
||||||
void K_AddHitLag(mobj_t *mo, INT32 tics, boolean fromDamage);
|
void K_AddHitLag(mobj_t *mo, INT32 tics, boolean fromDamage);
|
||||||
|
|
|
||||||
|
|
@ -2752,7 +2752,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
||||||
if (type != DMG_STING)
|
if (type != DMG_STING)
|
||||||
player->flashing = K_GetKartFlashing(player);
|
player->flashing = K_GetKartFlashing(player);
|
||||||
|
|
||||||
P_PlayRinglossSound(target);
|
//P_PlayRinglossSound(target);
|
||||||
P_PlayerRingBurst(player, ringburst);
|
P_PlayerRingBurst(player, ringburst);
|
||||||
|
|
||||||
K_PopPlayerShield(player);
|
K_PopPlayerShield(player);
|
||||||
|
|
|
||||||
10
src/sounds.c
10
src/sounds.c
|
|
@ -1210,6 +1210,16 @@ sfxinfo_t S_sfx[NUMSFX] =
|
||||||
|
|
||||||
{"rank", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // Rank slam
|
{"rank", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // Rank slam
|
||||||
|
|
||||||
|
// Damage sounds
|
||||||
|
{"dmga1", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, "Damaged"},
|
||||||
|
{"dmga2", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, "Damaged"},
|
||||||
|
{"dmga3", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, "Damaged"},
|
||||||
|
{"dmga4", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, "Damaged"},
|
||||||
|
{"dmgb1", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, "Damaged"},
|
||||||
|
{"dmgb2", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, "Damaged"},
|
||||||
|
{"dmgb3", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, "Damaged"},
|
||||||
|
{"dmgb4", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, "Damaged"},
|
||||||
|
|
||||||
// SRB2Kart - Engine sounds
|
// SRB2Kart - Engine sounds
|
||||||
// Engine class A
|
// Engine class A
|
||||||
{"krta00", false, 48, 65, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
{"krta00", false, 48, 65, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||||
|
|
|
||||||
10
src/sounds.h
10
src/sounds.h
|
|
@ -1279,6 +1279,16 @@ typedef enum
|
||||||
|
|
||||||
sfx_rank,
|
sfx_rank,
|
||||||
|
|
||||||
|
// Damage sounds
|
||||||
|
sfx_dmga1,
|
||||||
|
sfx_dmga2,
|
||||||
|
sfx_dmga3,
|
||||||
|
sfx_dmga4,
|
||||||
|
sfx_dmgb1,
|
||||||
|
sfx_dmgb2,
|
||||||
|
sfx_dmgb3,
|
||||||
|
sfx_dmgb4,
|
||||||
|
|
||||||
// Next up: UNIQUE ENGINE SOUNDS! Hoooooo boy...
|
// Next up: UNIQUE ENGINE SOUNDS! Hoooooo boy...
|
||||||
// Engine class A - Low Speed, Low Weight
|
// Engine class A - Low Speed, Low Weight
|
||||||
sfx_krta00,
|
sfx_krta00,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue