mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Add UFO hum + hit reaction SFX
This commit is contained in:
parent
892a19c85f
commit
5837f983e8
3 changed files with 73 additions and 0 deletions
|
|
@ -56,6 +56,8 @@ enum
|
||||||
UFO_PIECE_TYPE_STEM,
|
UFO_PIECE_TYPE_STEM,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static sfxenum_t hums[16] = {sfx_claw01, sfx_claw02, sfx_claw03, sfx_claw04, sfx_claw05, sfx_claw06, sfx_claw07, sfx_claw08, sfx_claw09, sfx_claw10, sfx_claw11, sfx_claw12, sfx_claw13, sfx_claw14, sfx_claw15, sfx_claw16};
|
||||||
|
|
||||||
static void UFOMoveTo(mobj_t *ufo, fixed_t destx, fixed_t desty, fixed_t destz)
|
static void UFOMoveTo(mobj_t *ufo, fixed_t destx, fixed_t desty, fixed_t destz)
|
||||||
{
|
{
|
||||||
ufo->momx = destx - ufo->x;
|
ufo->momx = destx - ufo->x;
|
||||||
|
|
@ -414,12 +416,33 @@ static void UFOEmeraldVFX(mobj_t *ufo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static boolean UFOHumPlaying(mobj_t *ufo) {
|
||||||
|
INT32 i;
|
||||||
|
for (i = 0; i < 15; i++)
|
||||||
|
{
|
||||||
|
if (S_SoundPlaying(ufo, hums[i]))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void UFOUpdateSound(mobj_t *ufo) {
|
||||||
|
INT32 maxhealth = mobjinfo[MT_SPECIAL_UFO].spawnhealth;
|
||||||
|
INT32 healthlevel = 15 * ufo->health / maxhealth;
|
||||||
|
|
||||||
|
if (!UFOEmeraldChase(ufo) && !UFOHumPlaying(ufo))
|
||||||
|
{
|
||||||
|
S_StartSound(ufo, hums[15-healthlevel]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Obj_SpecialUFOThinker(mobj_t *ufo)
|
void Obj_SpecialUFOThinker(mobj_t *ufo)
|
||||||
{
|
{
|
||||||
UFOMove(ufo);
|
UFOMove(ufo);
|
||||||
UFOUpdateAngle(ufo);
|
UFOUpdateAngle(ufo);
|
||||||
UFOUpdateDistanceToFinish(ufo);
|
UFOUpdateDistanceToFinish(ufo);
|
||||||
UFOUpdateSpeed(ufo);
|
UFOUpdateSpeed(ufo);
|
||||||
|
UFOUpdateSound(ufo);
|
||||||
|
|
||||||
if (UFOEmeraldChase(ufo) == true)
|
if (UFOEmeraldChase(ufo) == true)
|
||||||
{
|
{
|
||||||
|
|
@ -609,10 +632,16 @@ boolean Obj_SpecialUFODamage(mobj_t *ufo, mobj_t *inflictor, mobj_t *source, UIN
|
||||||
|
|
||||||
P_LinedefExecute(LE_PINCHPHASE, ufo, NULL);
|
P_LinedefExecute(LE_PINCHPHASE, ufo, NULL);
|
||||||
|
|
||||||
|
S_StopSound(ufo);
|
||||||
|
S_StartSound(ufo, sfx_clawk2);
|
||||||
|
P_StartQuake(64<<FRACBITS, 20);
|
||||||
|
|
||||||
ufo_speed(ufo) += addSpeed; // Even more speed!
|
ufo_speed(ufo) += addSpeed; // Even more speed!
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
S_StartSound(ufo, sfx_clawht);
|
||||||
|
P_StartQuake(64<<FRACBITS, 10);
|
||||||
ufo->health -= damage;
|
ufo->health -= damage;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
22
src/sounds.c
22
src/sounds.c
|
|
@ -1152,6 +1152,28 @@ sfxinfo_t S_sfx[NUMSFX] =
|
||||||
{"grownd", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X8AWAYSOUND
|
{"grownd", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X8AWAYSOUND
|
||||||
{"invind", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X8AWAYSOUND
|
{"invind", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X8AWAYSOUND
|
||||||
|
|
||||||
|
// SRB2Kart - Claw SFX
|
||||||
|
{"claw01", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw02", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw03", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw04", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw05", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw06", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw07", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw08", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw09", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw10", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw11", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw12", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw13", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw14", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw15", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"claw16", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X2AWAYSOUND
|
||||||
|
{"clawht", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X4AWAYSOUND
|
||||||
|
{"clawzm", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X4AWAYSOUND
|
||||||
|
{"clawk1", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X8AWAYSOUND
|
||||||
|
{"clawk2", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SF_X8AWAYSOUND
|
||||||
|
|
||||||
// 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, ""},
|
||||||
|
|
|
||||||
22
src/sounds.h
22
src/sounds.h
|
|
@ -1220,6 +1220,28 @@ typedef enum
|
||||||
sfx_grownd,
|
sfx_grownd,
|
||||||
sfx_invind,
|
sfx_invind,
|
||||||
|
|
||||||
|
// Claw SFX
|
||||||
|
sfx_claw01,
|
||||||
|
sfx_claw02,
|
||||||
|
sfx_claw03,
|
||||||
|
sfx_claw04,
|
||||||
|
sfx_claw05,
|
||||||
|
sfx_claw06,
|
||||||
|
sfx_claw07,
|
||||||
|
sfx_claw08,
|
||||||
|
sfx_claw09,
|
||||||
|
sfx_claw10,
|
||||||
|
sfx_claw11,
|
||||||
|
sfx_claw12,
|
||||||
|
sfx_claw13,
|
||||||
|
sfx_claw14,
|
||||||
|
sfx_claw15,
|
||||||
|
sfx_claw16,
|
||||||
|
sfx_clawht,
|
||||||
|
sfx_clawzm,
|
||||||
|
sfx_clawk1,
|
||||||
|
sfx_clawk2,
|
||||||
|
|
||||||
// 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