mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'master' into new-menus
This commit is contained in:
commit
be74c5217e
12 changed files with 95 additions and 36 deletions
|
|
@ -68,12 +68,12 @@ CV_PossibleValue_t CV_YesNo[] = {{0, "No"}, {1, "Yes"}, {0, NULL}};
|
||||||
CV_PossibleValue_t CV_Unsigned[] = {{0, "MIN"}, {999999999, "MAX"}, {0, NULL}};
|
CV_PossibleValue_t CV_Unsigned[] = {{0, "MIN"}, {999999999, "MAX"}, {0, NULL}};
|
||||||
CV_PossibleValue_t CV_Natural[] = {{1, "MIN"}, {999999999, "MAX"}, {0, NULL}};
|
CV_PossibleValue_t CV_Natural[] = {{1, "MIN"}, {999999999, "MAX"}, {0, NULL}};
|
||||||
|
|
||||||
//SRB2kart
|
// SRB2kart
|
||||||
CV_PossibleValue_t kartspeed_cons_t[] = {
|
CV_PossibleValue_t kartspeed_cons_t[] = {
|
||||||
{-1, "Auto"},
|
{KARTSPEED_AUTO, "Auto"},
|
||||||
{0, "Easy"},
|
{KARTSPEED_EASY, "Easy"},
|
||||||
{1, "Normal"},
|
{KARTSPEED_NORMAL, "Normal"},
|
||||||
{2, "Hard"},
|
{KARTSPEED_HARD, "Hard"},
|
||||||
{0, NULL}
|
{0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,10 @@ extern CV_PossibleValue_t CV_Unsigned[];
|
||||||
extern CV_PossibleValue_t CV_Natural[];
|
extern CV_PossibleValue_t CV_Natural[];
|
||||||
|
|
||||||
// SRB2kart
|
// SRB2kart
|
||||||
|
#define KARTSPEED_AUTO -1
|
||||||
|
#define KARTSPEED_EASY 0
|
||||||
|
#define KARTSPEED_NORMAL 1
|
||||||
|
#define KARTSPEED_HARD 2
|
||||||
extern CV_PossibleValue_t kartspeed_cons_t[];
|
extern CV_PossibleValue_t kartspeed_cons_t[];
|
||||||
|
|
||||||
extern consvar_t cv_execversion;
|
extern consvar_t cv_execversion;
|
||||||
|
|
|
||||||
|
|
@ -1241,6 +1241,7 @@ static inline void CL_DrawConnectionStatus(void)
|
||||||
case CL_ASKDOWNLOADFILES:
|
case CL_ASKDOWNLOADFILES:
|
||||||
case CL_WAITDOWNLOADFILESRESPONSE:
|
case CL_WAITDOWNLOADFILESRESPONSE:
|
||||||
cltext = M_GetText("Waiting to download files...");
|
cltext = M_GetText("Waiting to download files...");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
cltext = M_GetText("Connecting to server...");
|
cltext = M_GetText("Connecting to server...");
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -1535,10 +1535,11 @@ void D_SRB2Main(void)
|
||||||
newskill = (INT16)kartspeed_cons_t[j].value;
|
newskill = (INT16)kartspeed_cons_t[j].value;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!kartspeed_cons_t[j].strvalue) // reached end of the list with no match
|
if (!kartspeed_cons_t[j].strvalue) // reached end of the list with no match
|
||||||
{
|
{
|
||||||
j = atoi(sskill); // assume they gave us a skill number, which is okay too
|
j = atoi(sskill); // assume they gave us a skill number, which is okay too
|
||||||
if (j >= 0 && j <= 2)
|
if (j >= KARTSPEED_EASY && j <= KARTSPEED_HARD)
|
||||||
newskill = (INT16)j;
|
newskill = (INT16)j;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -424,13 +424,13 @@ consvar_t cv_timetic = {"timerres", "Normal", CV_SAVE|CV_NOSHOWHELP, timetic_con
|
||||||
static CV_PossibleValue_t pointlimit_cons_t[] = {{0, "MIN"}, {999999990, "MAX"}, {0, NULL}};
|
static CV_PossibleValue_t pointlimit_cons_t[] = {{0, "MIN"}, {999999990, "MAX"}, {0, NULL}};
|
||||||
consvar_t cv_pointlimit = {"pointlimit", "0", CV_NETVAR|CV_CALL|CV_NOINIT, pointlimit_cons_t,
|
consvar_t cv_pointlimit = {"pointlimit", "0", CV_NETVAR|CV_CALL|CV_NOINIT, pointlimit_cons_t,
|
||||||
PointLimit_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
PointLimit_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
static CV_PossibleValue_t timelimit_cons_t[] = {{0, "MIN"}, {30, "MAX"}, {0, NULL}};
|
static CV_PossibleValue_t timelimit_cons_t[] = {{0, "MIN"}, {1800, "MAX"}, {0, NULL}};
|
||||||
consvar_t cv_timelimit = {"timelimit", "0", CV_NETVAR|CV_CALL|CV_NOINIT, timelimit_cons_t,
|
consvar_t cv_timelimit = {"timelimit", "0", CV_NETVAR|CV_CALL|CV_NOINIT, timelimit_cons_t,
|
||||||
TimeLimit_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
TimeLimit_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
static CV_PossibleValue_t numlaps_cons_t[] = {{1, "MIN"}, {50, "MAX"}, {0, NULL}};
|
static CV_PossibleValue_t numlaps_cons_t[] = {{1, "MIN"}, {99, "MAX"}, {0, NULL}};
|
||||||
consvar_t cv_numlaps = {"numlaps", "3", CV_NETVAR|CV_CALL|CV_NOINIT, numlaps_cons_t,
|
consvar_t cv_numlaps = {"numlaps", "3", CV_NETVAR|CV_CALL|CV_NOINIT, numlaps_cons_t,
|
||||||
NumLaps_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
NumLaps_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
static CV_PossibleValue_t basenumlaps_cons_t[] = {{1, "MIN"}, {50, "MAX"}, {0, "Map default"}, {0, NULL}};
|
static CV_PossibleValue_t basenumlaps_cons_t[] = {{1, "MIN"}, {99, "MAX"}, {0, "Map default"}, {0, NULL}};
|
||||||
consvar_t cv_basenumlaps = {"basenumlaps", "Map default", CV_NETVAR|CV_CALL|CV_CHEAT, basenumlaps_cons_t, BaseNumLaps_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_basenumlaps = {"basenumlaps", "Map default", CV_NETVAR|CV_CALL|CV_CHEAT, basenumlaps_cons_t, BaseNumLaps_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
consvar_t cv_forceskin = {"forceskin", "Off", CV_NETVAR|CV_CALL|CV_CHEAT, Forceskin_cons_t, ForceSkin_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_forceskin = {"forceskin", "Off", CV_NETVAR|CV_CALL|CV_CHEAT, Forceskin_cons_t, ForceSkin_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
@ -5782,7 +5782,7 @@ static void KartFrantic_OnChange(void)
|
||||||
|
|
||||||
static void KartSpeed_OnChange(void)
|
static void KartSpeed_OnChange(void)
|
||||||
{
|
{
|
||||||
if (!M_SecretUnlocked(SECRET_HARDSPEED) && cv_kartspeed.value == 2)
|
if (!M_SecretUnlocked(SECRET_HARDSPEED) && cv_kartspeed.value == KARTSPEED_HARD)
|
||||||
{
|
{
|
||||||
CONS_Printf(M_GetText("You haven't earned this yet.\n"));
|
CONS_Printf(M_GetText("You haven't earned this yet.\n"));
|
||||||
CV_StealthSet(&cv_kartspeed, cv_kartspeed.defaultvalue);
|
CV_StealthSet(&cv_kartspeed, cv_kartspeed.defaultvalue);
|
||||||
|
|
@ -5791,13 +5791,15 @@ static void KartSpeed_OnChange(void)
|
||||||
|
|
||||||
if (G_RaceGametype())
|
if (G_RaceGametype())
|
||||||
{
|
{
|
||||||
if ((UINT8)cv_kartspeed.value != gamespeed && gamestate == GS_LEVEL && leveltime > starttime)
|
if ((gamestate == GS_LEVEL && leveltime < starttime) && (cv_kartspeed.value != KARTSPEED_AUTO))
|
||||||
CONS_Printf(M_GetText("Game speed will be changed to \"%s\" next round.\n"), cv_kartspeed.string);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
CONS_Printf(M_GetText("Game speed has been changed to \"%s\".\n"), cv_kartspeed.string);
|
CONS_Printf(M_GetText("Game speed has been changed to \"%s\".\n"), cv_kartspeed.string);
|
||||||
gamespeed = (UINT8)cv_kartspeed.value;
|
gamespeed = (UINT8)cv_kartspeed.value;
|
||||||
}
|
}
|
||||||
|
else if (cv_kartspeed.value != (signed)gamespeed)
|
||||||
|
{
|
||||||
|
CONS_Printf(M_GetText("Game speed will be changed to \"%s\" next round.\n"), cv_kartspeed.string);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
19
src/g_game.c
19
src/g_game.c
|
|
@ -3692,6 +3692,7 @@ static void G_DoCompleted(void)
|
||||||
{
|
{
|
||||||
INT32 i, j = 0;
|
INT32 i, j = 0;
|
||||||
boolean gottoken = false;
|
boolean gottoken = false;
|
||||||
|
SINT8 powertype = PWRLV_DISABLED;
|
||||||
|
|
||||||
tokenlist = 0; // Reset the list
|
tokenlist = 0; // Reset the list
|
||||||
|
|
||||||
|
|
@ -3830,13 +3831,23 @@ static void G_DoCompleted(void)
|
||||||
nextmap = G_RandMap(G_TOLFlag(gametype), prevmap, false, 0, false, NULL);
|
nextmap = G_RandMap(G_TOLFlag(gametype), prevmap, false, 0, false, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// We are committed to this map now.
|
// We are committed to this map now.
|
||||||
// We may as well allocate its header if it doesn't exist
|
// We may as well allocate its header if it doesn't exist
|
||||||
// (That is, if it's a real map)
|
// (That is, if it's a real map)
|
||||||
if (nextmap < NUMMAPS && !mapheaderinfo[nextmap])
|
if (nextmap < NUMMAPS && !mapheaderinfo[nextmap])
|
||||||
P_AllocMapHeader(nextmap);
|
P_AllocMapHeader(nextmap);
|
||||||
|
|
||||||
|
// Set up power level gametype scrambles
|
||||||
|
if (netgame && cv_kartusepwrlv.value)
|
||||||
|
{
|
||||||
|
if (G_RaceGametype())
|
||||||
|
powertype = PWRLV_RACE;
|
||||||
|
else if (G_BattleGametype())
|
||||||
|
powertype = PWRLV_BATTLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
K_SetPowerLevelScrambles(powertype);
|
||||||
|
|
||||||
demointermission:
|
demointermission:
|
||||||
|
|
||||||
if (skipstats && !modeattacking) // Don't skip stats if we're in record attack
|
if (skipstats && !modeattacking) // Don't skip stats if we're in record attack
|
||||||
|
|
@ -4111,7 +4122,11 @@ void G_LoadGameData(void)
|
||||||
matchesplayed = READUINT32(save_p);
|
matchesplayed = READUINT32(save_p);
|
||||||
|
|
||||||
for (i = 0; i < PWRLV_NUMTYPES; i++)
|
for (i = 0; i < PWRLV_NUMTYPES; i++)
|
||||||
|
{
|
||||||
vspowerlevel[i] = READUINT16(save_p);
|
vspowerlevel[i] = READUINT16(save_p);
|
||||||
|
if (vspowerlevel[i] < PWRLVRECORD_MIN || vspowerlevel[i] > PWRLVRECORD_MAX)
|
||||||
|
goto datacorrupt;
|
||||||
|
}
|
||||||
|
|
||||||
modded = READUINT8(save_p);
|
modded = READUINT8(save_p);
|
||||||
|
|
||||||
|
|
@ -6903,7 +6918,7 @@ void G_LoadDemoInfo(menudemo_t *pdemo)
|
||||||
extrainfo_p = infobuffer + READUINT32(info_p);
|
extrainfo_p = infobuffer + READUINT32(info_p);
|
||||||
|
|
||||||
// Pared down version of CV_LoadNetVars to find the kart speed
|
// Pared down version of CV_LoadNetVars to find the kart speed
|
||||||
pdemo->kartspeed = 1; // Default to normal speed
|
pdemo->kartspeed = KARTSPEED_NORMAL; // Default to normal speed
|
||||||
count = READUINT16(info_p);
|
count = READUINT16(info_p);
|
||||||
while (count--)
|
while (count--)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ typedef struct menudemo_s {
|
||||||
UINT16 map;
|
UINT16 map;
|
||||||
UINT8 addonstatus; // What do we need to do addon-wise to play this demo?
|
UINT8 addonstatus; // What do we need to do addon-wise to play this demo?
|
||||||
UINT8 gametype;
|
UINT8 gametype;
|
||||||
UINT8 kartspeed; // Add OR DF_ENCORE for encore mode, idk
|
SINT8 kartspeed; // Add OR DF_ENCORE for encore mode, idk
|
||||||
UINT8 numlaps;
|
UINT8 numlaps;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
|
|
||||||
|
|
@ -3049,7 +3049,7 @@ static void HU_DrawRankings(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
V_DrawCenteredString(256, 8, 0, "GAME SPEED");
|
V_DrawCenteredString(256, 8, 0, "GAME SPEED");
|
||||||
V_DrawCenteredString(256, 16, hilicol, kartspeed_cons_t[gamespeed].strvalue);
|
V_DrawCenteredString(256, 16, hilicol, kartspeed_cons_t[1+gamespeed].strvalue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// When you play, you quickly see your score because your name is displayed in white.
|
// When you play, you quickly see your score because your name is displayed in white.
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,10 @@ INT16 K_CalculatePowerLevelAvg(void)
|
||||||
UINT8 i;
|
UINT8 i;
|
||||||
|
|
||||||
if (!netgame || !cv_kartusepwrlv.value)
|
if (!netgame || !cv_kartusepwrlv.value)
|
||||||
|
{
|
||||||
|
CONS_Debug(DBG_GAMELOGIC, "Not in a netgame, or not using power levels -- no average.\n");
|
||||||
return 0; // No average.
|
return 0; // No average.
|
||||||
|
}
|
||||||
|
|
||||||
if (G_RaceGametype())
|
if (G_RaceGametype())
|
||||||
t = PWRLV_RACE;
|
t = PWRLV_RACE;
|
||||||
|
|
@ -91,7 +94,10 @@ INT16 K_CalculatePowerLevelAvg(void)
|
||||||
t = PWRLV_BATTLE;
|
t = PWRLV_BATTLE;
|
||||||
|
|
||||||
if (t == PWRLV_DISABLED)
|
if (t == PWRLV_DISABLED)
|
||||||
|
{
|
||||||
|
CONS_Debug(DBG_GAMELOGIC, "Could not set a power level type -- no average.\n");
|
||||||
return 0; // Hmm?!
|
return 0; // Hmm?!
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < MAXPLAYERS; i++)
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -99,12 +105,15 @@ INT16 K_CalculatePowerLevelAvg(void)
|
||||||
|| clientpowerlevels[i][t] == 0) // splitscreen player
|
|| clientpowerlevels[i][t] == 0) // splitscreen player
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
avg += clientpowerlevels[i][t];
|
avg += (clientpowerlevels[i][t] << FRACBITS);
|
||||||
div++;
|
div++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!div)
|
if (!div)
|
||||||
|
{
|
||||||
|
CONS_Debug(DBG_GAMELOGIC, "Found no players -- no average.\n");
|
||||||
return 0; // No average.
|
return 0; // No average.
|
||||||
|
}
|
||||||
|
|
||||||
avg /= div;
|
avg /= div;
|
||||||
|
|
||||||
|
|
@ -120,19 +129,32 @@ void K_SetPowerLevelScrambles(SINT8 powertype)
|
||||||
case PWRLV_RACE:
|
case PWRLV_RACE:
|
||||||
if (cv_kartspeed.value == -1 || cv_kartencore.value == -1)
|
if (cv_kartspeed.value == -1 || cv_kartencore.value == -1)
|
||||||
{
|
{
|
||||||
UINT8 speed = atoi(cv_kartspeed.defaultvalue);
|
UINT8 speed = KARTSPEED_NORMAL;
|
||||||
boolean encore = false;
|
boolean encore = false;
|
||||||
INT16 avg = 0, min = 0;
|
INT16 avg = 0, min = 0;
|
||||||
UINT8 i, t = 0;
|
UINT8 i, t = 1;
|
||||||
|
|
||||||
avg = K_CalculatePowerLevelAvg();
|
avg = K_CalculatePowerLevelAvg();
|
||||||
|
|
||||||
for (i = 0; i < MAXPLAYERS; i++)
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
{
|
{
|
||||||
|
if (!playeringame[i] || players[i].spectator
|
||||||
|
|| clientpowerlevels[i][t] == 0) // splitscreen player
|
||||||
|
continue;
|
||||||
|
|
||||||
if (min == 0 || clientpowerlevels[i][0] < min)
|
if (min == 0 || clientpowerlevels[i][0] < min)
|
||||||
min = clientpowerlevels[i][0];
|
min = clientpowerlevels[i][0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CONS_Debug(DBG_GAMELOGIC, "Min: %d, Avg: %d\n", min, avg);
|
||||||
|
|
||||||
|
if (avg == 0 || min == 0)
|
||||||
|
{
|
||||||
|
CONS_Debug(DBG_GAMELOGIC, "No average/minimum, no scramblin'.\n");
|
||||||
|
speedscramble = encorescramble = -1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (min >= 7800)
|
if (min >= 7800)
|
||||||
{
|
{
|
||||||
if (avg >= 8200)
|
if (avg >= 8200)
|
||||||
|
|
@ -161,6 +183,10 @@ void K_SetPowerLevelScrambles(SINT8 powertype)
|
||||||
else
|
else
|
||||||
t = 1;
|
t = 1;
|
||||||
}
|
}
|
||||||
|
#if 1
|
||||||
|
else
|
||||||
|
t = 1;
|
||||||
|
#else
|
||||||
else if (min >= 1800)
|
else if (min >= 1800)
|
||||||
{
|
{
|
||||||
if (avg >= 2200)
|
if (avg >= 2200)
|
||||||
|
|
@ -170,35 +196,41 @@ void K_SetPowerLevelScrambles(SINT8 powertype)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
t = 0;
|
t = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
CONS_Debug(DBG_GAMELOGIC, "Table position: %d\n", t);
|
||||||
|
|
||||||
switch (t)
|
switch (t)
|
||||||
{
|
{
|
||||||
case 5:
|
case 5:
|
||||||
speed = 2;
|
speed = KARTSPEED_HARD;
|
||||||
encore = true;
|
encore = true;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
speed = M_RandomChance((7<<FRACBITS)/10) ? 2 : 1;
|
speed = P_RandomChance((7<<FRACBITS)/10) ? KARTSPEED_HARD : KARTSPEED_NORMAL;
|
||||||
encore = M_RandomChance(FRACUNIT>>1);
|
encore = P_RandomChance(FRACUNIT>>1);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
speed = M_RandomChance((3<<FRACBITS)/10) ? 2 : 1;
|
speed = P_RandomChance((3<<FRACBITS)/10) ? KARTSPEED_HARD : KARTSPEED_NORMAL;
|
||||||
encore = M_RandomChance(FRACUNIT>>2);
|
encore = P_RandomChance(FRACUNIT>>2);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
speed = 1;
|
speed = 1;
|
||||||
encore = M_RandomChance(FRACUNIT>>3);
|
encore = P_RandomChance(FRACUNIT>>3);
|
||||||
break;
|
break;
|
||||||
case 1: default:
|
case 1: default:
|
||||||
speed = 1;
|
speed = KARTSPEED_NORMAL;
|
||||||
encore = false;
|
encore = false;
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
speed = M_RandomChance((3<<FRACBITS)/10) ? 0 : 1;
|
speed = P_RandomChance((3<<FRACBITS)/10) ? KARTSPEED_EASY : KARTSPEED_NORMAL;
|
||||||
encore = false;
|
encore = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CONS_Debug(DBG_GAMELOGIC, "Rolled speed: %d\n", speed);
|
||||||
|
CONS_Debug(DBG_GAMELOGIC, "Rolled encore: %s\n", (encore ? "true" : "false"));
|
||||||
|
|
||||||
if (cv_kartspeed.value == -1)
|
if (cv_kartspeed.value == -1)
|
||||||
speedscramble = speed;
|
speedscramble = speed;
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -3290,6 +3290,9 @@ static void P_NetArchiveMisc(void)
|
||||||
WRITEUINT8(save_p, franticitems);
|
WRITEUINT8(save_p, franticitems);
|
||||||
WRITEUINT8(save_p, comeback);
|
WRITEUINT8(save_p, comeback);
|
||||||
|
|
||||||
|
WRITESINT8(save_p, speedscramble);
|
||||||
|
WRITESINT8(save_p, encorescramble);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
WRITESINT8(save_p, battlewanted[i]);
|
WRITESINT8(save_p, battlewanted[i]);
|
||||||
|
|
||||||
|
|
@ -3410,6 +3413,9 @@ static inline boolean P_NetUnArchiveMisc(void)
|
||||||
franticitems = (boolean)READUINT8(save_p);
|
franticitems = (boolean)READUINT8(save_p);
|
||||||
comeback = (boolean)READUINT8(save_p);
|
comeback = (boolean)READUINT8(save_p);
|
||||||
|
|
||||||
|
speedscramble = READSINT8(save_p);
|
||||||
|
encorescramble = READSINT8(save_p);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
battlewanted[i] = READSINT8(save_p);
|
battlewanted[i] = READSINT8(save_p);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2388,18 +2388,18 @@ static void P_LevelInitStuff(void)
|
||||||
// SRB2Kart: map load variables
|
// SRB2Kart: map load variables
|
||||||
if (modeattacking) // Just play it safe and set everything
|
if (modeattacking) // Just play it safe and set everything
|
||||||
{
|
{
|
||||||
gamespeed = 2;
|
gamespeed = KARTSPEED_HARD;
|
||||||
franticitems = false;
|
franticitems = false;
|
||||||
comeback = true;
|
comeback = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (G_BattleGametype())
|
if (G_BattleGametype())
|
||||||
gamespeed = 0;
|
gamespeed = KARTSPEED_EASY;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (cv_kartspeed.value == -1)
|
if (cv_kartspeed.value == KARTSPEED_AUTO)
|
||||||
gamespeed = ((speedscramble == -1) ? atoi(cv_kartspeed.defaultvalue) : (UINT8)speedscramble);
|
gamespeed = ((speedscramble == -1) ? KARTSPEED_NORMAL : (UINT8)speedscramble);
|
||||||
else
|
else
|
||||||
gamespeed = (UINT8)cv_kartspeed.value;
|
gamespeed = (UINT8)cv_kartspeed.value;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -603,7 +603,7 @@ dotimer:
|
||||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, hilicol, M_GetText("Teams will be scrambled next round!"));*/
|
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, hilicol, M_GetText("Teams will be scrambled next round!"));*/
|
||||||
if (speedscramble != -1 && speedscramble != gamespeed)
|
if (speedscramble != -1 && speedscramble != gamespeed)
|
||||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24, hilicol|V_ALLOWLOWERCASE|V_SNAPTOBOTTOM,
|
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24, hilicol|V_ALLOWLOWERCASE|V_SNAPTOBOTTOM,
|
||||||
va(M_GetText("Next race will be %s Speed!"), kartspeed_cons_t[speedscramble].strvalue));
|
va(M_GetText("Next race will be %s Speed!"), kartspeed_cons_t[1+speedscramble].strvalue));
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -998,8 +998,6 @@ void Y_StartIntermission(void)
|
||||||
powertype = PWRLV_BATTLE;
|
powertype = PWRLV_BATTLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
K_SetPowerLevelScrambles(powertype);
|
|
||||||
|
|
||||||
if (!multiplayer)
|
if (!multiplayer)
|
||||||
{
|
{
|
||||||
timer = 0;
|
timer = 0;
|
||||||
|
|
@ -1076,7 +1074,7 @@ void Y_StartIntermission(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (powertype != -1)
|
if (powertype != PWRLV_DISABLED)
|
||||||
K_UpdatePowerLevels();
|
K_UpdatePowerLevels();
|
||||||
|
|
||||||
bgpatch = W_CachePatchName("MENUBG", PU_STATIC);
|
bgpatch = W_CachePatchName("MENUBG", PU_STATIC);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue