mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'master' into snapify-hitlag
This commit is contained in:
commit
e1ee0977af
17 changed files with 362 additions and 51 deletions
|
|
@ -390,7 +390,7 @@ typedef struct player_s
|
|||
fixed_t offroad; // In Super Mario Kart, going offroad has lee-way of about 1 second before you start losing speed
|
||||
UINT8 waterskip; // Water skipping counter
|
||||
|
||||
UINT16 tiregrease; // Reduced friction timer after hitting a horizontal spring
|
||||
UINT16 tiregrease; // Reduced friction timer after hitting a spring
|
||||
UINT16 springstars; // Spawn stars around a player when they hit a spring
|
||||
UINT16 springcolor; // Color of spring stars
|
||||
UINT8 dashpadcooldown; // Separate the vanilla SA-style dash pads from using flashing
|
||||
|
|
@ -465,6 +465,7 @@ typedef struct player_s
|
|||
UINT8 emeralds;
|
||||
UINT8 bumpers;
|
||||
INT16 karmadelay;
|
||||
tic_t overtimekarma; // time to live in overtime comeback
|
||||
INT16 spheres;
|
||||
|
||||
SINT8 glanceDir; // Direction the player is trying to look backwards in
|
||||
|
|
|
|||
|
|
@ -2683,6 +2683,10 @@ void readsound(MYFILE *f, INT32 num)
|
|||
{
|
||||
S_sfx[num].pitch = value;
|
||||
}
|
||||
else if (fastcmp(word, "VOLUME"))
|
||||
{
|
||||
S_sfx[num].volume = value;
|
||||
}
|
||||
else if (fastcmp(word, "CAPTION") || fastcmp(word, "DESCRIPTION"))
|
||||
{
|
||||
deh_strlcpy(S_sfx[num].caption, word2,
|
||||
|
|
|
|||
|
|
@ -2281,6 +2281,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
|
|||
p->growshrinktimer = growshrinktimer;
|
||||
p->bumpers = bumper;
|
||||
p->karmadelay = comebacktime;
|
||||
p->overtimekarma = 0;
|
||||
p->eggmanblame = -1;
|
||||
p->lastdraft = -1;
|
||||
p->karthud[khud_fault] = khudfault;
|
||||
|
|
|
|||
|
|
@ -8686,7 +8686,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
20*FRACUNIT, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY, // flags
|
||||
MF_SPECIAL|MF_NOGRAVITY, // flags
|
||||
S_BALLOONPOP1 // raisestate
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@ mobj_t *K_SpawnChaosEmerald(fixed_t x, fixed_t y, fixed_t z, angle_t angle, SINT
|
|||
|
||||
P_Thrust(emerald,
|
||||
FixedAngle(P_RandomFixed() * 180) + angle,
|
||||
32 * mapobjectscale);
|
||||
24 * mapobjectscale);
|
||||
|
||||
emerald->momz = flip * 24 * mapobjectscale;
|
||||
if (emerald->eflags & MFE_UNDERWATER)
|
||||
|
|
@ -288,12 +288,6 @@ void K_RunPaperItemSpawners(void)
|
|||
|
||||
if (overtime == true)
|
||||
{
|
||||
if (battleovertime.radius < 512*mapobjectscale)
|
||||
{
|
||||
// Barrier has closed in too much
|
||||
return;
|
||||
}
|
||||
|
||||
// Double frequency of items
|
||||
interval /= 2;
|
||||
}
|
||||
|
|
@ -557,10 +551,12 @@ void K_RunBattleOvertime(void)
|
|||
}
|
||||
else if (battleovertime.radius > 0)
|
||||
{
|
||||
if (battleovertime.radius > 2*mapobjectscale)
|
||||
const fixed_t minradius = 768 * mapobjectscale;
|
||||
|
||||
if (battleovertime.radius > minradius)
|
||||
battleovertime.radius -= 2*mapobjectscale;
|
||||
else
|
||||
battleovertime.radius = 0;
|
||||
battleovertime.radius = minradius;
|
||||
}
|
||||
|
||||
if (battleovertime.radius > 0)
|
||||
|
|
|
|||
|
|
@ -2460,7 +2460,8 @@ static void K_drawKartBumpersOrKarma(void)
|
|||
else
|
||||
V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|V_SLIDEIN|splitflags, kp_bumpersticker, colormap);
|
||||
|
||||
V_DrawKartString(LAPS_X+47, LAPS_Y+3, V_HUDTRANS|V_SLIDEIN|splitflags, va("%d/%d", stplyr->bumpers, maxbumper));
|
||||
// TODO BETTER HUD
|
||||
V_DrawKartString(LAPS_X+47, LAPS_Y+3, V_HUDTRANS|V_SLIDEIN|splitflags, va("%d/%d %d", stplyr->bumpers, maxbumper, stplyr->overtimekarma / TICRATE));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
17
src/k_kart.c
17
src/k_kart.c
|
|
@ -6882,6 +6882,14 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
|||
|
||||
K_KartPlayerHUDUpdate(player);
|
||||
|
||||
if (battleovertime.enabled && !(player->pflags & PF_ELIMINATED) && player->bumpers <= 0 && player->karmadelay <= 0)
|
||||
{
|
||||
if (player->overtimekarma)
|
||||
player->overtimekarma--;
|
||||
else
|
||||
P_DamageMobj(player->mo, NULL, NULL, 1, DMG_TIMEOVER);
|
||||
}
|
||||
|
||||
if ((battleovertime.enabled >= 10*TICRATE) && !(player->pflags & PF_ELIMINATED))
|
||||
{
|
||||
fixed_t distanceToBarrier = 0;
|
||||
|
|
@ -6975,13 +6983,6 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
|||
|
||||
// Handle invincibility sfx
|
||||
K_UpdateInvincibilitySounds(player); // Also thanks, VAda!
|
||||
|
||||
// Plays the music after the starting countdown.
|
||||
if (P_IsLocalPlayer(player) && leveltime == (starttime + (TICRATE/2)))
|
||||
{
|
||||
S_ChangeMusic(mapmusname, mapmusflags, true);
|
||||
S_ShowMusicCredit();
|
||||
}
|
||||
}
|
||||
|
||||
void K_KartPlayerAfterThink(player_t *player)
|
||||
|
|
@ -8334,7 +8335,7 @@ void K_AdjustPlayerFriction(player_t *player)
|
|||
return;
|
||||
}
|
||||
|
||||
// Reduce friction after hitting a horizontal spring
|
||||
// Reduce friction after hitting a spring
|
||||
if (player->tiregrease)
|
||||
{
|
||||
player->mo->friction += ((FRACUNIT - prevfriction) / greasetics) * player->tiregrease;
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ enum sfxinfo_read {
|
|||
sfxinfor_singular,
|
||||
sfxinfor_priority,
|
||||
sfxinfor_flags, // "pitch"
|
||||
sfxinfor_volume,
|
||||
sfxinfor_caption,
|
||||
sfxinfor_skinsound
|
||||
};
|
||||
|
|
@ -49,6 +50,7 @@ const char *const sfxinfo_ropt[] = {
|
|||
"singular",
|
||||
"priority",
|
||||
"flags",
|
||||
"volume",
|
||||
"caption",
|
||||
"skinsound",
|
||||
NULL};
|
||||
|
|
@ -57,12 +59,14 @@ enum sfxinfo_write {
|
|||
sfxinfow_singular = 0,
|
||||
sfxinfow_priority,
|
||||
sfxinfow_flags, // "pitch"
|
||||
sfxinfow_volume,
|
||||
sfxinfow_caption
|
||||
};
|
||||
const char *const sfxinfo_wopt[] = {
|
||||
"singular",
|
||||
"priority",
|
||||
"flags",
|
||||
"volume",
|
||||
"caption",
|
||||
NULL};
|
||||
|
||||
|
|
@ -1328,6 +1332,9 @@ static int lib_setSfxInfo(lua_State *L)
|
|||
case sfxinfow_flags:
|
||||
info->pitch = (INT32)luaL_checkinteger(L, 3);
|
||||
break;
|
||||
case sfxinfow_volume:
|
||||
info->volume = (INT32)luaL_checkinteger(L, 3);
|
||||
break;
|
||||
case sfxinfow_caption:
|
||||
strlcpy(info->caption, luaL_checkstring(L, 3), sizeof(info->caption));
|
||||
break;
|
||||
|
|
@ -1368,6 +1375,9 @@ static int sfxinfo_get(lua_State *L)
|
|||
case sfxinfor_flags:
|
||||
lua_pushinteger(L, sfx->pitch);
|
||||
return 1;
|
||||
case sfxinfor_volume:
|
||||
lua_pushinteger(L, sfx->volume);
|
||||
return 1;
|
||||
case sfxinfor_caption:
|
||||
lua_pushstring(L, sfx->caption);
|
||||
return 1;
|
||||
|
|
@ -1408,6 +1418,9 @@ static int sfxinfo_set(lua_State *L)
|
|||
case sfxinfow_flags:
|
||||
sfx->pitch = luaL_checkinteger(L, 1);
|
||||
break;
|
||||
case sfxinfow_volume:
|
||||
sfx->volume = luaL_checkinteger(L, 1);
|
||||
break;
|
||||
case sfxinfow_caption:
|
||||
strlcpy(sfx->caption, luaL_checkstring(L, 1), sizeof(sfx->caption));
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -278,19 +278,27 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
|||
P_KillMobj(special, toucher, toucher, DMG_NORMAL);
|
||||
break;
|
||||
case MT_ITEMCAPSULE:
|
||||
if (special->threshold != KITEM_SUPERRING
|
||||
&& special->threshold != KITEM_SPB
|
||||
&& !P_CanPickupItem(player, 1))
|
||||
return;
|
||||
|
||||
if ((gametyperules & GTR_BUMPERS) && player->bumpers <= 0)
|
||||
return;
|
||||
|
||||
if (special->scale < special->extravalue1) // don't break it while it's respawning
|
||||
return;
|
||||
|
||||
if (special->threshold == KITEM_SPB && K_IsSPBInGame()) // don't spawn a second SPB
|
||||
return;
|
||||
switch (special->threshold)
|
||||
{
|
||||
case KITEM_SPB:
|
||||
if (K_IsSPBInGame()) // don't spawn a second SPB
|
||||
return;
|
||||
break;
|
||||
case KITEM_SUPERRING:
|
||||
if (player->pflags & PF_RINGLOCK) // no cheaty rings
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
if (!P_CanPickupItem(player, 1))
|
||||
return;
|
||||
break;
|
||||
}
|
||||
|
||||
S_StartSound(toucher, special->info->deathsound);
|
||||
P_KillMobj(special, toucher, toucher, DMG_NORMAL);
|
||||
|
|
@ -1973,6 +1981,10 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
|||
// Destroy any remainder bumpers from the player for karma comeback damage
|
||||
K_DestroyBumpers(player, player->bumpers);
|
||||
}
|
||||
else
|
||||
{
|
||||
source->player->overtimekarma += 5*TICRATE;
|
||||
}
|
||||
|
||||
if (damagetype & DMG_STEAL)
|
||||
{
|
||||
|
|
|
|||
38
src/p_map.c
38
src/p_map.c
|
|
@ -345,28 +345,6 @@ boolean P_DoSpring(mobj_t *spring, mobj_t *object)
|
|||
}
|
||||
}
|
||||
|
||||
if (object->player)
|
||||
{
|
||||
// Less friction when hitting horizontal springs
|
||||
if (!vertispeed)
|
||||
{
|
||||
if (!object->player->tiregrease)
|
||||
{
|
||||
UINT8 i;
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
mobj_t *grease;
|
||||
grease = P_SpawnMobj(object->x, object->y, object->z, MT_TIREGREASE);
|
||||
P_SetTarget(&grease->target, object);
|
||||
grease->angle = K_MomentumAngle(object);
|
||||
grease->extravalue1 = i;
|
||||
}
|
||||
}
|
||||
|
||||
object->player->tiregrease = greasetics; //FixedMul(greasetics << FRACBITS, finalSpeed/72) >> FRACBITS
|
||||
}
|
||||
}
|
||||
|
||||
// Horizontal speed is used as a minimum thrust, not a direct replacement
|
||||
finalSpeed = max(objectSpeed, finalSpeed);
|
||||
|
||||
|
|
@ -389,6 +367,22 @@ boolean P_DoSpring(mobj_t *spring, mobj_t *object)
|
|||
|
||||
object->player->springstars = max(vertispeed, horizspeed) / FRACUNIT / 2;
|
||||
object->player->springcolor = starcolor;
|
||||
|
||||
// Less friction when hitting springs
|
||||
if (!object->player->tiregrease)
|
||||
{
|
||||
UINT8 i;
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
mobj_t *grease;
|
||||
grease = P_SpawnMobj(object->x, object->y, object->z, MT_TIREGREASE);
|
||||
P_SetTarget(&grease->target, object);
|
||||
grease->angle = K_MomentumAngle(object);
|
||||
grease->extravalue1 = i;
|
||||
}
|
||||
|
||||
object->player->tiregrease = greasetics; //FixedMul(greasetics << FRACBITS, finalSpeed/72) >> FRACBITS
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -6889,6 +6889,9 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
z);
|
||||
mobj->angle = ang;
|
||||
|
||||
if (!P_IsObjectOnGround(mobj->target))
|
||||
mobj->renderflags |= RF_DONTDRAW;
|
||||
|
||||
if (leveltime & 1)
|
||||
mobj->renderflags |= RF_DONTDRAW;
|
||||
|
||||
|
|
|
|||
|
|
@ -314,6 +314,7 @@ static void P_NetArchivePlayers(void)
|
|||
WRITEUINT8(save_p, players[i].emeralds);
|
||||
WRITEUINT8(save_p, players[i].bumpers);
|
||||
WRITEINT16(save_p, players[i].karmadelay);
|
||||
WRITEUINT32(save_p, players[i].overtimekarma);
|
||||
WRITEINT16(save_p, players[i].spheres);
|
||||
|
||||
WRITESINT8(save_p, players[i].glanceDir);
|
||||
|
|
@ -331,6 +332,7 @@ static void P_NetArchivePlayers(void)
|
|||
WRITEFIXED(save_p, players[i].respawn.pointz);
|
||||
WRITEUINT8(save_p, players[i].respawn.flip);
|
||||
WRITEUINT32(save_p, players[i].respawn.timer);
|
||||
WRITEUINT32(save_p, players[i].respawn.airtimer);
|
||||
WRITEUINT32(save_p, players[i].respawn.distanceleft);
|
||||
WRITEUINT32(save_p, players[i].respawn.dropdash);
|
||||
|
||||
|
|
@ -567,6 +569,7 @@ static void P_NetUnArchivePlayers(void)
|
|||
players[i].emeralds = READUINT8(save_p);
|
||||
players[i].bumpers = READUINT8(save_p);
|
||||
players[i].karmadelay = READINT16(save_p);
|
||||
players[i].overtimekarma = READUINT32(save_p);
|
||||
players[i].spheres = READINT16(save_p);
|
||||
|
||||
players[i].glanceDir = READSINT8(save_p);
|
||||
|
|
@ -584,6 +587,7 @@ static void P_NetUnArchivePlayers(void)
|
|||
players[i].respawn.pointz = READFIXED(save_p);
|
||||
players[i].respawn.flip = (boolean)READUINT8(save_p);
|
||||
players[i].respawn.timer = READUINT32(save_p);
|
||||
players[i].respawn.airtimer = READUINT32(save_p);
|
||||
players[i].respawn.distanceleft = READUINT32(save_p);
|
||||
players[i].respawn.dropdash = READUINT32(save_p);
|
||||
|
||||
|
|
|
|||
|
|
@ -608,6 +608,13 @@ void P_Ticker(boolean run)
|
|||
if (playeringame[i] && players[i].mo && !P_MobjWasRemoved(players[i].mo))
|
||||
P_PlayerAfterThink(&players[i]);
|
||||
|
||||
// Plays the music after the starting countdown.
|
||||
if (leveltime == (starttime + (TICRATE/2)))
|
||||
{
|
||||
S_ChangeMusic(mapmusname, mapmusflags, true);
|
||||
S_ShowMusicCredit();
|
||||
}
|
||||
|
||||
ps_lua_thinkframe_time = I_GetPreciseTime();
|
||||
LUAh_ThinkFrame();
|
||||
ps_lua_thinkframe_time = I_GetPreciseTime() - ps_lua_thinkframe_time;
|
||||
|
|
|
|||
|
|
@ -693,7 +693,7 @@ void S_StartSoundAtVolume(const void *origin_p, sfxenum_t sfx_id, INT32 volume)
|
|||
channels[cnum].sfxinfo = sfx;
|
||||
channels[cnum].origin = origin;
|
||||
channels[cnum].volume = initial_volume;
|
||||
channels[cnum].handle = I_StartSound(sfx_id, volume, sep, pitch, priority, cnum);
|
||||
channels[cnum].handle = I_StartSound(sfx_id, S_GetSoundVolume(sfx, volume), sep, pitch, priority, cnum);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -899,7 +899,7 @@ void S_UpdateSounds(void)
|
|||
}
|
||||
|
||||
if (audible)
|
||||
I_UpdateSoundParams(c->handle, volume, sep, pitch);
|
||||
I_UpdateSoundParams(c->handle, S_GetSoundVolume(c->sfxinfo, volume), sep, pitch);
|
||||
else
|
||||
S_StopChannel(cnum);
|
||||
}
|
||||
|
|
@ -1011,6 +1011,14 @@ fixed_t S_CalculateSoundDistance(fixed_t sx1, fixed_t sy1, fixed_t sz1, fixed_t
|
|||
return FixedDiv(approx_dist, mapobjectscale); // approx_dist
|
||||
}
|
||||
|
||||
INT32 S_GetSoundVolume(sfxinfo_t *sfx, INT32 volume)
|
||||
{
|
||||
if (sfx->volume > 0)
|
||||
return (volume * sfx->volume) / 100;
|
||||
|
||||
return volume;
|
||||
}
|
||||
|
||||
//
|
||||
// Changes volume, stereo-separation, and pitch variables
|
||||
// from the norm of a sound effect to be played.
|
||||
|
|
|
|||
|
|
@ -295,6 +295,8 @@ void S_UpdateClosedCaptions(void);
|
|||
|
||||
FUNCMATH fixed_t S_CalculateSoundDistance(fixed_t px1, fixed_t py1, fixed_t pz1, fixed_t px2, fixed_t py2, fixed_t pz2);
|
||||
|
||||
INT32 S_GetSoundVolume(sfxinfo_t *sfx, INT32 volume);
|
||||
|
||||
void S_SetSfxVolume(INT32 volume);
|
||||
void S_SetMusicVolume(INT32 digvolume);
|
||||
#define S_SetDigMusicVolume S_SetMusicVolume
|
||||
|
|
|
|||
132
src/sounds.c
132
src/sounds.c
|
|
@ -908,6 +908,138 @@ sfxinfo_t S_sfx[NUMSFX] =
|
|||
{"mbv96", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"mbv97", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
|
||||
// SegaSonic Arcade sounds
|
||||
{"ssa001", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa002", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa003", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa004", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa005", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa006", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa007", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa008", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa009", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa010", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa011", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa012", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa013", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa014", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa015", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa016", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa017", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa018", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa019", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa020", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa021", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa022", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa023", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa024", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa025", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa026", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa027", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa028", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa029", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa030", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa031", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa032", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa033", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa034", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa035", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa036", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa037", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa038", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa039", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa040", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa041", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa042", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa043", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa044", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa045", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa046", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa047", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa048", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa049", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa050", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa051", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa052", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa053", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa054", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa055", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa056", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa057", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa058", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa059", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa060", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa061", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa062", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa063", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa064", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa065", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa066", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa067", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa068", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa069", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa070", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa071", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa072", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa073", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa074", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa075", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa076", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa077", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa078", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa079", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa080", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa081", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa082", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa083", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa084", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa085", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa086", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa087", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa088", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa089", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa090", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa091", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa092", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa093", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa094", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa095", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa096", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa097", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa098", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa099", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa100", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa101", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa102", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa103", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa104", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa105", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa106", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa107", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa108", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa109", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa110", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa111", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa112", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa113", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa114", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa115", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa116", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa117", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa118", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa119", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa120", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa121", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa122", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa123", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa124", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa125", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa126", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa127", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa128", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa129", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
{"ssa130", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
|
||||
|
||||
// SRB2kart
|
||||
{"slip", false, 96, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // Spinout
|
||||
{"screec", false, 48, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // Tight turning screech
|
||||
|
|
|
|||
132
src/sounds.h
132
src/sounds.h
|
|
@ -972,6 +972,138 @@ typedef enum
|
|||
sfx_mbv96,
|
||||
sfx_mbv97,
|
||||
|
||||
// SegaSonic Arcade sounds
|
||||
sfx_ssa001,
|
||||
sfx_ssa002,
|
||||
sfx_ssa003,
|
||||
sfx_ssa004,
|
||||
sfx_ssa005,
|
||||
sfx_ssa006,
|
||||
sfx_ssa007,
|
||||
sfx_ssa008,
|
||||
sfx_ssa009,
|
||||
sfx_ssa010,
|
||||
sfx_ssa011,
|
||||
sfx_ssa012,
|
||||
sfx_ssa013,
|
||||
sfx_ssa014,
|
||||
sfx_ssa015,
|
||||
sfx_ssa016,
|
||||
sfx_ssa017,
|
||||
sfx_ssa018,
|
||||
sfx_ssa019,
|
||||
sfx_ssa020,
|
||||
sfx_ssa021,
|
||||
sfx_ssa022,
|
||||
sfx_ssa023,
|
||||
sfx_ssa024,
|
||||
sfx_ssa025,
|
||||
sfx_ssa026,
|
||||
sfx_ssa027,
|
||||
sfx_ssa028,
|
||||
sfx_ssa029,
|
||||
sfx_ssa030,
|
||||
sfx_ssa031,
|
||||
sfx_ssa032,
|
||||
sfx_ssa033,
|
||||
sfx_ssa034,
|
||||
sfx_ssa035,
|
||||
sfx_ssa036,
|
||||
sfx_ssa037,
|
||||
sfx_ssa038,
|
||||
sfx_ssa039,
|
||||
sfx_ssa040,
|
||||
sfx_ssa041,
|
||||
sfx_ssa042,
|
||||
sfx_ssa043,
|
||||
sfx_ssa044,
|
||||
sfx_ssa045,
|
||||
sfx_ssa046,
|
||||
sfx_ssa047,
|
||||
sfx_ssa048,
|
||||
sfx_ssa049,
|
||||
sfx_ssa050,
|
||||
sfx_ssa051,
|
||||
sfx_ssa052,
|
||||
sfx_ssa053,
|
||||
sfx_ssa054,
|
||||
sfx_ssa055,
|
||||
sfx_ssa056,
|
||||
sfx_ssa057,
|
||||
sfx_ssa058,
|
||||
sfx_ssa059,
|
||||
sfx_ssa060,
|
||||
sfx_ssa061,
|
||||
sfx_ssa062,
|
||||
sfx_ssa063,
|
||||
sfx_ssa064,
|
||||
sfx_ssa065,
|
||||
sfx_ssa066,
|
||||
sfx_ssa067,
|
||||
sfx_ssa068,
|
||||
sfx_ssa069,
|
||||
sfx_ssa070,
|
||||
sfx_ssa071,
|
||||
sfx_ssa072,
|
||||
sfx_ssa073,
|
||||
sfx_ssa074,
|
||||
sfx_ssa075,
|
||||
sfx_ssa076,
|
||||
sfx_ssa077,
|
||||
sfx_ssa078,
|
||||
sfx_ssa079,
|
||||
sfx_ssa080,
|
||||
sfx_ssa081,
|
||||
sfx_ssa082,
|
||||
sfx_ssa083,
|
||||
sfx_ssa084,
|
||||
sfx_ssa085,
|
||||
sfx_ssa086,
|
||||
sfx_ssa087,
|
||||
sfx_ssa088,
|
||||
sfx_ssa089,
|
||||
sfx_ssa090,
|
||||
sfx_ssa091,
|
||||
sfx_ssa092,
|
||||
sfx_ssa093,
|
||||
sfx_ssa094,
|
||||
sfx_ssa095,
|
||||
sfx_ssa096,
|
||||
sfx_ssa097,
|
||||
sfx_ssa098,
|
||||
sfx_ssa099,
|
||||
sfx_ssa100,
|
||||
sfx_ssa101,
|
||||
sfx_ssa102,
|
||||
sfx_ssa103,
|
||||
sfx_ssa104,
|
||||
sfx_ssa105,
|
||||
sfx_ssa106,
|
||||
sfx_ssa107,
|
||||
sfx_ssa108,
|
||||
sfx_ssa109,
|
||||
sfx_ssa110,
|
||||
sfx_ssa111,
|
||||
sfx_ssa112,
|
||||
sfx_ssa113,
|
||||
sfx_ssa114,
|
||||
sfx_ssa115,
|
||||
sfx_ssa116,
|
||||
sfx_ssa117,
|
||||
sfx_ssa118,
|
||||
sfx_ssa119,
|
||||
sfx_ssa120,
|
||||
sfx_ssa121,
|
||||
sfx_ssa122,
|
||||
sfx_ssa123,
|
||||
sfx_ssa124,
|
||||
sfx_ssa125,
|
||||
sfx_ssa126,
|
||||
sfx_ssa127,
|
||||
sfx_ssa128,
|
||||
sfx_ssa129,
|
||||
sfx_ssa130,
|
||||
|
||||
// SRB2kart
|
||||
sfx_slip,
|
||||
sfx_screec,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue