mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-02-21 03:11:24 +00:00
Porting over some things from sonicitems
This commit is contained in:
parent
0db99ff2c4
commit
3e7fbad490
9 changed files with 260 additions and 120 deletions
|
@ -352,7 +352,8 @@ consvar_t cv_lightning = {"lightning", "On", CV_NETVAR|CV_CHEAT, CV_OnOff,
|
|||
consvar_t cv_feather = {"feathers", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
consvar_t cv_karthud = {"karthud", "Default", CV_SAVE|CV_CALL, karthud_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_kartminimap = {"kartminimap", "Yes", CV_SAVE, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
static CV_PossibleValue_t kartminimap_cons_t[] = {{0, "MIN"}, {10, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_kartminimap = {"kartminimap", "4", CV_SAVE, kartminimap_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_kartcheck = {"kartcheck", "Yes", CV_SAVE, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
static CV_PossibleValue_t kartstarsfx_cons_t[] = {{0, "Music"}, {1, "SMK"}, {0, NULL}};
|
||||
consvar_t cv_kartstarsfx = {"kartstarsfx", "SMK", CV_SAVE, kartstarsfx_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
@ -363,7 +364,7 @@ consvar_t cv_kartfrantic = {"kartfrantic", "Off", CV_NETVAR|CV_CHEAT|CV_CALL|CV_
|
|||
consvar_t cv_kartcomeback = {"kartcomeback", "On", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartComeback_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_kartmirror = {"kartmirror", "Off", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartMirror_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
static CV_PossibleValue_t speedometer_cons_t[] = {{0, "Off"}, {1, "Kilometers"}, {2, "Miles"}, {3, "Fracunits"}, {0, NULL}};
|
||||
consvar_t cv_speedometer = {"speedometer", "Kilometers", CV_SAVE, speedometer_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; // use tics in display
|
||||
consvar_t cv_speedometer = {"speedometer", "Off", CV_SAVE, speedometer_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; // use tics in display
|
||||
|
||||
static CV_PossibleValue_t votetime_cons_t[] = {{10, "MIN"}, {3600, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_votetime = {"votetime", "20", CV_NETVAR, votetime_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
|
|
@ -2495,7 +2495,7 @@ void G_PlayerReborn(INT32 player)
|
|||
}
|
||||
}
|
||||
|
||||
if (leveltime > 157)
|
||||
if (leveltime > 157 && !p->spectator)
|
||||
p->kartstuff[k_lakitu] = 48; // Lakitu Spawner
|
||||
|
||||
if (gametype == GT_COOP)
|
||||
|
|
210
src/k_kart.c
210
src/k_kart.c
|
@ -1349,9 +1349,9 @@ void K_LakituChecker(player_t *player)
|
|||
newx = player->mo->x + P_ReturnThrustX(player->mo, newangle, 0);
|
||||
newy = player->mo->y + P_ReturnThrustY(player->mo, newangle, 0);
|
||||
if (player->mo->eflags & MFE_VERTICALFLIP)
|
||||
newz = player->mo->z - 128*FRACUNIT;
|
||||
newz = player->mo->z - 128*(mapheaderinfo[gamemap-1]->mobj_scale);
|
||||
else
|
||||
newz = player->mo->z + 64*FRACUNIT;
|
||||
newz = player->mo->z + 64*(mapheaderinfo[gamemap-1]->mobj_scale);
|
||||
mo = P_SpawnMobj(newx, newy, newz, MT_LAKITU);
|
||||
if (mo)
|
||||
{
|
||||
|
@ -2381,17 +2381,17 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
|||
if (!player)
|
||||
return NULL;
|
||||
|
||||
// Figure out projectile speed by CC
|
||||
// Figure out projectile speed by game speed
|
||||
switch (gamespeed)
|
||||
{
|
||||
case 0:
|
||||
PROJSPEED = 68*FRACUNIT; // Avg Speed is 34
|
||||
PROJSPEED = 68*(mapheaderinfo[gamemap-1]->mobj_scale); // Avg Speed is 34
|
||||
break;
|
||||
case 2:
|
||||
PROJSPEED = 96*FRACUNIT; // Avg Speed is 48
|
||||
PROJSPEED = 96*(mapheaderinfo[gamemap-1]->mobj_scale); // Avg Speed is 48
|
||||
break;
|
||||
default:
|
||||
PROJSPEED = 82*FRACUNIT; // Avg Speed is 41
|
||||
PROJSPEED = 82*(mapheaderinfo[gamemap-1]->mobj_scale); // Avg Speed is 41
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -2741,7 +2741,8 @@ static void K_DoLightning(player_t *player, boolean bluelightning)
|
|||
|
||||
mo = (mobj_t *)think;
|
||||
|
||||
if (mo->type == MT_PLAYER)
|
||||
if (mo->player && !mo->player->spectator
|
||||
&& mo->player->kartstuff[k_position] < player->kartstuff[k_position])
|
||||
P_DamageMobj(mo, player->mo, player->mo, bluelightning ? 65 : 64);
|
||||
else
|
||||
continue;
|
||||
|
@ -4235,8 +4236,8 @@ static void K_initKartHUD(void)
|
|||
SPDM_X = 9; // 9
|
||||
SPDM_Y = BASEVIDHEIGHT- 45; // 155
|
||||
// Position Number
|
||||
POSI_X = BASEVIDWIDTH - 6; // 268
|
||||
POSI_Y = BASEVIDHEIGHT- 4; // 138
|
||||
POSI_X = BASEVIDWIDTH - 9; // 268
|
||||
POSI_Y = BASEVIDHEIGHT- 9; // 138
|
||||
// Top-Four Faces
|
||||
FACE_X = 9; // 9
|
||||
FACE_Y = 92; // 92
|
||||
|
@ -5093,17 +5094,95 @@ void K_ReloadSkinIconGraphics(void)
|
|||
K_LoadIconGraphics(skins[i].iconprefix, i);
|
||||
}
|
||||
|
||||
static void K_drawKartMinimap(void)
|
||||
static void K_drawKartMinimapHead(player_t *player, INT32 x, INT32 y, INT32 flags, patch_t *AutomapPic)
|
||||
{
|
||||
// amnum xpos & ypos are the icon's speed around the HUD.
|
||||
// The number being divided by is for how fast it moves.
|
||||
// The higher the number, the slower it moves.
|
||||
|
||||
// am xpos & ypos are the icon's starting position. Withouht
|
||||
// it, they wouldn't 'spawn' on the top-right side of the HUD.
|
||||
|
||||
fixed_t amnumxpos;
|
||||
fixed_t amnumypos;
|
||||
INT32 amxpos;
|
||||
INT32 amypos;
|
||||
|
||||
node_t *bsp = &nodes[numnodes-1];
|
||||
fixed_t maxx, minx, maxy, miny;
|
||||
maxx = maxy = INT32_MAX;
|
||||
minx = miny = INT32_MIN;
|
||||
minx = bsp->bbox[0][BOXLEFT];
|
||||
maxx = bsp->bbox[0][BOXRIGHT];
|
||||
miny = bsp->bbox[0][BOXBOTTOM];
|
||||
maxy = bsp->bbox[0][BOXTOP];
|
||||
|
||||
if (bsp->bbox[1][BOXLEFT] < minx)
|
||||
minx = bsp->bbox[1][BOXLEFT];
|
||||
if (bsp->bbox[1][BOXRIGHT] > maxx)
|
||||
maxx = bsp->bbox[1][BOXRIGHT];
|
||||
if (bsp->bbox[1][BOXBOTTOM] < miny)
|
||||
miny = bsp->bbox[1][BOXBOTTOM];
|
||||
if (bsp->bbox[1][BOXTOP] > maxy)
|
||||
maxy = bsp->bbox[1][BOXTOP];
|
||||
|
||||
// You might be wondering why these are being bitshift here
|
||||
// it's because mapwidth and height would otherwise overflow for maps larger than half the size possible...
|
||||
// map boundaries and sizes will ALWAYS be whole numbers thankfully
|
||||
// later calculations take into consideration that these are actually not in terms of FRACUNIT though
|
||||
minx >>= FRACBITS;
|
||||
maxx >>= FRACBITS;
|
||||
miny >>= FRACBITS;
|
||||
maxy >>= FRACBITS;
|
||||
|
||||
fixed_t mapwidth = maxx - minx;
|
||||
fixed_t mapheight = maxy - miny;
|
||||
|
||||
// These should always be small enough to be bitshift back right now
|
||||
fixed_t xoffset = (minx + mapwidth/2)<<FRACBITS;
|
||||
fixed_t yoffset = (miny + mapheight/2)<<FRACBITS;
|
||||
|
||||
fixed_t xscale = FixedDiv(AutomapPic->width, mapwidth);
|
||||
fixed_t yscale = FixedDiv(AutomapPic->height, mapheight);
|
||||
fixed_t zoom = FixedMul(min(xscale, yscale), FRACUNIT-FRACUNIT/20);
|
||||
|
||||
amnumxpos = (FixedMul(player->mo->x, zoom) - FixedMul(xoffset, zoom));
|
||||
amnumypos = -(FixedMul(player->mo->y, zoom) - FixedMul(yoffset, zoom));
|
||||
|
||||
amxpos = amnumxpos + ((x + AutomapPic->width/2 - (iconprefix[player->skin]->width/2))<<FRACBITS);
|
||||
amypos = amnumypos + ((y + AutomapPic->height/2 - (iconprefix[player->skin]->height/2))<<FRACBITS);
|
||||
|
||||
if (mirrormode)
|
||||
{
|
||||
flags |= V_FLIP;
|
||||
amxpos = -amnumxpos + ((x + AutomapPic->width/2 + (iconprefix[player->skin]->width/2))<<FRACBITS);
|
||||
}
|
||||
|
||||
if (!player->skincolor) // 'default' color
|
||||
V_DrawSciencePatch(amxpos, amypos, flags, iconprefix[player->skin], FRACUNIT);
|
||||
else
|
||||
{
|
||||
UINT8 *colormap;
|
||||
if (player->mo->colorized)
|
||||
{
|
||||
colormap = R_GetTranslationColormap(TC_STARMAN, player->mo->color, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
colormap = R_GetTranslationColormap(player->skin, player->mo->color, 0);
|
||||
}
|
||||
V_DrawFixedPatch(amxpos, amypos, FRACUNIT, flags, iconprefix[player->skin], colormap);
|
||||
}
|
||||
}
|
||||
|
||||
static void K_drawKartMinimap(void)
|
||||
{
|
||||
INT32 lumpnum;
|
||||
patch_t *AutomapPic;
|
||||
INT32 i = 0;
|
||||
INT32 x, y;
|
||||
INT32 splitflags = V_SNAPTORIGHT|V_HUDTRANSHALF;
|
||||
const INT32 minimaptrans = ((10-cv_kartminimap.value)<<FF_TRANSSHIFT);
|
||||
INT32 splitflags = V_SNAPTORIGHT|minimaptrans;
|
||||
|
||||
// Draw the HUD only when playing in a level.
|
||||
// hu_stuff needs this, unlike st_stuff.
|
||||
|
@ -5131,106 +5210,27 @@ static void K_drawKartMinimap(void)
|
|||
else
|
||||
V_DrawScaledPatch(x, y, splitflags, AutomapPic);
|
||||
|
||||
splitflags &= ~V_HUDTRANSHALF; // Head icons won't be transparent
|
||||
|
||||
if (splitscreen != 2)
|
||||
splitflags |= V_HUDTRANS;
|
||||
{
|
||||
splitflags &= ~minimaptrans;
|
||||
splitflags |= V_HUDTRANSHALF;
|
||||
}
|
||||
|
||||
// Player's tiny icons on the Automap.
|
||||
for (i = 0; i < MAXPLAYERS; i++)
|
||||
{
|
||||
if (i == displayplayer && splitscreen != 2)
|
||||
continue; // Do displayplayer later
|
||||
if (players[i].mo && !players[i].spectator)
|
||||
{
|
||||
// amnum xpos & ypos are the icon's speed around the HUD.
|
||||
// The number being divided by is for how fast it moves.
|
||||
// The higher the number, the slower it moves.
|
||||
|
||||
// am xpos & ypos are the icon's starting position. Withouht
|
||||
// it, they wouldn't 'spawn' on the top-right side of the HUD.
|
||||
|
||||
node_t *bsp = &nodes[numnodes-1];
|
||||
fixed_t maxx, minx, maxy, miny;
|
||||
maxx = maxy = INT32_MAX;
|
||||
minx = miny = INT32_MIN;
|
||||
minx = bsp->bbox[0][BOXLEFT];
|
||||
maxx = bsp->bbox[0][BOXRIGHT];
|
||||
miny = bsp->bbox[0][BOXBOTTOM];
|
||||
maxy = bsp->bbox[0][BOXTOP];
|
||||
|
||||
if (bsp->bbox[1][BOXLEFT] < minx)
|
||||
minx = bsp->bbox[1][BOXLEFT];
|
||||
if (bsp->bbox[1][BOXRIGHT] > maxx)
|
||||
maxx = bsp->bbox[1][BOXRIGHT];
|
||||
if (bsp->bbox[1][BOXBOTTOM] < miny)
|
||||
miny = bsp->bbox[1][BOXBOTTOM];
|
||||
if (bsp->bbox[1][BOXTOP] > maxy)
|
||||
maxy = bsp->bbox[1][BOXTOP];
|
||||
|
||||
// You might be wondering why these are being bitshift here
|
||||
// it's because mapwidth and height would otherwise overflow for maps larger than half the size possible...
|
||||
// map boundaries and sizes will ALWAYS be whole numbers thankfully
|
||||
// later calculations take into consideration that these are actually not in terms of FRACUNIT though
|
||||
minx >>= FRACBITS;
|
||||
maxx >>= FRACBITS;
|
||||
miny >>= FRACBITS;
|
||||
maxy >>= FRACBITS;
|
||||
|
||||
fixed_t mapwidth = maxx - minx;
|
||||
fixed_t mapheight = maxy - miny;
|
||||
|
||||
// These should always be small enough to be bitshift back right now
|
||||
fixed_t xoffset = (minx + mapwidth/2)<<FRACBITS;
|
||||
fixed_t yoffset = (miny + mapheight/2)<<FRACBITS;
|
||||
|
||||
fixed_t xscale = FixedDiv(AutomapPic->width, mapwidth);
|
||||
fixed_t yscale = FixedDiv(AutomapPic->height, mapheight);
|
||||
fixed_t zoom = FixedMul(min(xscale, yscale), FRACUNIT-FRACUNIT/20);
|
||||
|
||||
amnumxpos = (FixedMul(players[i].mo->x, zoom) - FixedMul(xoffset, zoom));
|
||||
amnumypos = -(FixedMul(players[i].mo->y, zoom) - FixedMul(yoffset, zoom));
|
||||
|
||||
amxpos = amnumxpos + ((x + AutomapPic->width/2 - (iconprefix[players[i].skin]->width/2))<<FRACBITS);
|
||||
amypos = amnumypos + ((y + AutomapPic->height/2 - (iconprefix[players[i].skin]->height/2))<<FRACBITS);
|
||||
|
||||
if (mirrormode)
|
||||
{
|
||||
amxpos = -amnumxpos + ((x + AutomapPic->width/2 + (iconprefix[players[i].skin]->width/2))<<FRACBITS);
|
||||
if (!players[i].skincolor) // 'default' color
|
||||
V_DrawSciencePatch(amxpos, amypos, splitflags|V_FLIP, iconprefix[players[i].skin], FRACUNIT);
|
||||
else
|
||||
{
|
||||
UINT8 *colormap;
|
||||
if (players[i].mo->colorized)
|
||||
{
|
||||
colormap = R_GetTranslationColormap(TC_STARMAN, players[i].mo->color, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
colormap = R_GetTranslationColormap(players[i].skin, players[i].mo->color, 0);
|
||||
}
|
||||
V_DrawFixedPatch(amxpos, amypos, FRACUNIT, splitflags|V_FLIP, iconprefix[players[i].skin], colormap);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!players[i].skincolor) // 'default' color
|
||||
V_DrawSciencePatch(amxpos, amypos, splitflags, iconprefix[players[i].skin], FRACUNIT);
|
||||
else
|
||||
{
|
||||
UINT8 *colormap;
|
||||
if (players[i].mo->colorized)
|
||||
{
|
||||
colormap = R_GetTranslationColormap(TC_STARMAN, players[i].mo->color, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
colormap = R_GetTranslationColormap(players[i].skin, players[i].mo->color, 0);
|
||||
}
|
||||
V_DrawFixedPatch(amxpos, amypos, FRACUNIT, splitflags, iconprefix[players[i].skin], colormap);
|
||||
}
|
||||
}
|
||||
}
|
||||
K_drawKartMinimapHead(&players[i], x, y, splitflags, AutomapPic);
|
||||
}
|
||||
|
||||
if (splitscreen == 2)
|
||||
return; // Don't need this for splits
|
||||
|
||||
splitflags &= ~V_HUDTRANSHALF;
|
||||
splitflags |= V_HUDTRANS;
|
||||
K_drawKartMinimapHead(stplyr, x, y, splitflags, AutomapPic);
|
||||
}
|
||||
|
||||
static void K_drawBattleFullscreen(void)
|
||||
|
@ -5460,7 +5460,7 @@ void K_drawKartHUD(void)
|
|||
K_drawKartPlayerCheck();
|
||||
}
|
||||
|
||||
if ((splitscreen == 0 || splitscreen == 2) && cv_kartminimap.value)
|
||||
if ((splitscreen == 0 && cv_kartminimap.value) || splitscreen == 2)
|
||||
K_drawKartMinimap();
|
||||
|
||||
// If the item window is closing, draw it closing!
|
||||
|
|
|
@ -1422,10 +1422,11 @@ static menuitem_t OP_GameOptionsMenu[] =
|
|||
{IT_STRING | IT_CVAR | IT_CV_SLIDER,
|
||||
NULL, "HUD Visibility", &cv_translucenthud, 50},
|
||||
|
||||
{IT_STRING | IT_CVAR, NULL, "Star SFX", &cv_kartstarsfx, 62},
|
||||
{IT_STRING | IT_CVAR | IT_CV_SLIDER,
|
||||
NULL, "Minimap Visibility", &cv_kartminimap, 62},
|
||||
{IT_STRING | IT_CVAR, NULL, "Speedometer Display", &cv_speedometer, 72},
|
||||
{IT_STRING | IT_CVAR, NULL, "Show Minimap", &cv_kartminimap, 82},
|
||||
{IT_STRING | IT_CVAR, NULL, "Show \"CHECK\"", &cv_kartcheck, 92},
|
||||
{IT_STRING | IT_CVAR, NULL, "Show \"CHECK\"", &cv_kartcheck, 82},
|
||||
{IT_STRING | IT_CVAR, NULL, "Star SFX", &cv_kartstarsfx, 92},
|
||||
|
||||
#ifdef SEENAMES
|
||||
{IT_STRING | IT_CVAR, NULL, "HUD Player Names", &cv_seenames, 104},
|
||||
|
|
|
@ -2005,7 +2005,7 @@ boolean P_CheckRacers(void)
|
|||
// Check if all the players in the race have finished. If so, end the level.
|
||||
for (i = 0; i < MAXPLAYERS; i++)
|
||||
{
|
||||
if (playeringame[i] && !players[i].exiting && players[i].lives > 0)
|
||||
if (playeringame[i] && !players[i].spectator && !players[i].exiting && players[i].lives > 0)
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -3159,7 +3159,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
|||
K_SpinPlayer(player, source);
|
||||
|
||||
// Start shrinking!
|
||||
player->mo->destscale = 6*FRACUNIT/8;
|
||||
player->mo->destscale = 6*(mapheaderinfo[gamemap-1]->mobj_scale)/8;
|
||||
player->kartstuff[k_growshrinktimer] -= (100+20*(16-(player->kartstuff[k_position])));
|
||||
}
|
||||
// Mega Mushroom? Let's take that away.
|
||||
|
|
|
@ -9258,7 +9258,7 @@ void P_PlayerThink(player_t *player)
|
|||
// Check if all the players in the race have finished. If so, end the level.
|
||||
for (i = 0; i < MAXPLAYERS; i++)
|
||||
{
|
||||
if (playeringame[i])
|
||||
if (playeringame[i] && !players[i].spectator)
|
||||
{
|
||||
if (!players[i].exiting && players[i].lives > 0)
|
||||
break;
|
||||
|
@ -9280,7 +9280,7 @@ void P_PlayerThink(player_t *player)
|
|||
// If you've hit the countdown and you haven't made
|
||||
// it to the exit, you're a goner!
|
||||
else */
|
||||
if (countdown == 1 && !player->exiting && player->lives > 0)
|
||||
if (countdown == 1 && !player->exiting && !player->spectator && player->lives > 0)
|
||||
{
|
||||
if (netgame && player->health > 0)
|
||||
CONS_Printf(M_GetText("%s ran out of time.\n"), player_names[player-players]);
|
||||
|
|
70
src/sounds.c
70
src/sounds.c
|
@ -505,6 +505,76 @@ sfxinfo_t S_sfx[NUMSFX] =
|
|||
{"boing", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"smkinv", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
|
||||
// Knuckles Chaotix sounds
|
||||
{"kc2a", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc2b", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc2c", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc2d", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc2e", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc2f", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Pogo Spring
|
||||
{"kc30", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc31", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc32", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc33", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc34", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc35", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc36", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc37", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc38", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc39", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc3a", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc3b", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc3c", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc3d", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc3e", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc3f", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc40", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc41", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc42", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc43", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc44", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc45", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc46", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc47", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc48", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc49", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc4a", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc4b", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc4c", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc4d", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc4e", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc4f", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc50", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc51", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc52", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc53", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc54", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc55", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc56", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc57", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc58", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc59", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Shrink
|
||||
{"kc5a", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Grow
|
||||
{"kc5b", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc5c", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc5d", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc5e", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc5f", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc60", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc61", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc62", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc63", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc64", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc65", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc66", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc67", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc68", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc69", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc6b", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc6c", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc6d", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
{"kc6e", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
|
||||
|
||||
// SRB2kart - Skin sounds
|
||||
{"kwin", false, 64, 0, -1, NULL, 0, SKSWIN, -1, LUMPERROR},
|
||||
{"klose", false, 64, 0, -1, NULL, 0, SKSLOSE, -1, LUMPERROR},
|
||||
|
|
72
src/sounds.h
72
src/sounds.h
|
@ -577,11 +577,79 @@ typedef enum
|
|||
sfx_boing,
|
||||
sfx_smkinv,
|
||||
|
||||
// KC sounds
|
||||
sfx_kc2a,
|
||||
sfx_kc2b,
|
||||
sfx_kc2c,
|
||||
sfx_kc2d,
|
||||
sfx_kc2e,
|
||||
sfx_kc2f,
|
||||
sfx_kc30,
|
||||
sfx_kc31,
|
||||
sfx_kc32,
|
||||
sfx_kc33,
|
||||
sfx_kc34,
|
||||
sfx_kc35,
|
||||
sfx_kc36,
|
||||
sfx_kc37,
|
||||
sfx_kc38,
|
||||
sfx_kc39,
|
||||
sfx_kc3a,
|
||||
sfx_kc3b,
|
||||
sfx_kc3c,
|
||||
sfx_kc3d,
|
||||
sfx_kc3e,
|
||||
sfx_kc3f,
|
||||
sfx_kc40,
|
||||
sfx_kc41,
|
||||
sfx_kc42,
|
||||
sfx_kc43,
|
||||
sfx_kc44,
|
||||
sfx_kc45,
|
||||
sfx_kc46,
|
||||
sfx_kc47,
|
||||
sfx_kc48,
|
||||
sfx_kc49,
|
||||
sfx_kc4a,
|
||||
sfx_kc4b,
|
||||
sfx_kc4c,
|
||||
sfx_kc4d,
|
||||
sfx_kc4e,
|
||||
sfx_kc4f,
|
||||
sfx_kc50,
|
||||
sfx_kc51,
|
||||
sfx_kc52,
|
||||
sfx_kc53,
|
||||
sfx_kc54,
|
||||
sfx_kc55,
|
||||
sfx_kc56,
|
||||
sfx_kc57,
|
||||
sfx_kc58,
|
||||
sfx_kc59,
|
||||
sfx_kc5a,
|
||||
sfx_kc5b,
|
||||
sfx_kc5c,
|
||||
sfx_kc5d,
|
||||
sfx_kc5e,
|
||||
sfx_kc5f,
|
||||
sfx_kc60,
|
||||
sfx_kc61,
|
||||
sfx_kc62,
|
||||
sfx_kc63,
|
||||
sfx_kc64,
|
||||
sfx_kc65,
|
||||
sfx_kc66,
|
||||
sfx_kc67,
|
||||
sfx_kc68,
|
||||
sfx_kc69,
|
||||
sfx_kc6b,
|
||||
sfx_kc6c,
|
||||
sfx_kc6d,
|
||||
sfx_kc6e,
|
||||
|
||||
sfx_kwin,
|
||||
sfx_klose,
|
||||
sfx_slow,
|
||||
//
|
||||
|
||||
sfx_taunt1,
|
||||
sfx_taunt2,
|
||||
sfx_taunt3,
|
||||
|
|
|
@ -303,7 +303,7 @@ void VID_BlitLinearScreen(const UINT8 *srcptr, UINT8 *destptr, INT32 width, INT3
|
|||
#endif
|
||||
}
|
||||
|
||||
static UINT8 hudplusalpha[11] = { 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0};
|
||||
//static UINT8 hudplusalpha[11] = { 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0};
|
||||
static UINT8 hudminusalpha[11] = { 10, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5};
|
||||
|
||||
static const UINT8 *v_colormap = NULL;
|
||||
|
@ -362,8 +362,8 @@ void V_DrawFixedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_t
|
|||
alphalevel = hudminusalpha[cv_translucenthud.value];
|
||||
else if (alphalevel == 14)
|
||||
alphalevel = 10 - cv_translucenthud.value;
|
||||
else if (alphalevel == 15)
|
||||
alphalevel = hudplusalpha[cv_translucenthud.value];
|
||||
/*else if (alphalevel == 15)
|
||||
alphalevel = hudplusalpha[cv_translucenthud.value];*/
|
||||
|
||||
if (alphalevel >= 10)
|
||||
return; // invis
|
||||
|
|
Loading…
Reference in a new issue