mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge remote-tracking branch 'public/master'
This commit is contained in:
commit
cb9e074bda
3 changed files with 26 additions and 8 deletions
|
|
@ -647,8 +647,6 @@ target_compile_options(SRB2SDL2 PRIVATE
|
||||||
-Wall
|
-Wall
|
||||||
-Wno-c++11-compat
|
-Wno-c++11-compat
|
||||||
-Wno-c++14-compat # No C++14 compat needed
|
-Wno-c++14-compat # No C++14 compat needed
|
||||||
-Wc++20-extensions
|
|
||||||
-Wc++23-extensions # Disallow newer language features entirely
|
|
||||||
>
|
>
|
||||||
|
|
||||||
# C++, Clang and Apple Clang
|
# C++, Clang and Apple Clang
|
||||||
|
|
|
||||||
26
src/g_game.c
26
src/g_game.c
|
|
@ -4202,6 +4202,7 @@ void G_GPCupIntoRoundQueue(cupheader_t *cup, UINT8 setgametype, boolean setencor
|
||||||
UINT8 i, levelindex = 0, bonusindex = 0;
|
UINT8 i, levelindex = 0, bonusindex = 0;
|
||||||
UINT8 bonusmodulo = max(1, (cup->numlevels+1)/(cup->numbonus+1));
|
UINT8 bonusmodulo = max(1, (cup->numlevels+1)/(cup->numbonus+1));
|
||||||
UINT16 cupLevelNum;
|
UINT16 cupLevelNum;
|
||||||
|
INT32 bonusgt;
|
||||||
|
|
||||||
// Levels are added to the queue in the following pattern.
|
// Levels are added to the queue in the following pattern.
|
||||||
// For 5 Race rounds and 2 Bonus rounds, the most common case:
|
// For 5 Race rounds and 2 Bonus rounds, the most common case:
|
||||||
|
|
@ -4243,9 +4244,17 @@ void G_GPCupIntoRoundQueue(cupheader_t *cup, UINT8 setgametype, boolean setencor
|
||||||
if (cupLevelNum < nummapheaders)
|
if (cupLevelNum < nummapheaders)
|
||||||
{
|
{
|
||||||
// In the case of Bonus rounds, we simply skip invalid maps.
|
// In the case of Bonus rounds, we simply skip invalid maps.
|
||||||
|
if ((mapheaderinfo[cupLevelNum]->typeoflevel & TOL_BATTLE) == TOL_BATTLE)
|
||||||
|
{
|
||||||
|
bonusgt = GT_BATTLE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bonusgt = G_GuessGametypeByTOL(mapheaderinfo[cupLevelNum]->typeoflevel);
|
||||||
|
}
|
||||||
G_MapIntoRoundQueue(
|
G_MapIntoRoundQueue(
|
||||||
cupLevelNum,
|
cupLevelNum,
|
||||||
G_GuessGametypeByTOL(mapheaderinfo[cupLevelNum]->typeoflevel),
|
bonusgt,
|
||||||
setencore, // if this isn't correct, Got_Mapcmd will fix it
|
setencore, // if this isn't correct, Got_Mapcmd will fix it
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
@ -4313,9 +4322,22 @@ void G_GPCupIntoRoundQueue(cupheader_t *cup, UINT8 setgametype, boolean setencor
|
||||||
cupLevelNum = emeraldcup->cachedlevels[CUPCACHE_SPECIAL];
|
cupLevelNum = emeraldcup->cachedlevels[CUPCACHE_SPECIAL];
|
||||||
if (cupLevelNum < nummapheaders)
|
if (cupLevelNum < nummapheaders)
|
||||||
{
|
{
|
||||||
|
// In case of multiple TOLs, prioritize Special, then Versus, then guess.
|
||||||
|
if ((mapheaderinfo[cupLevelNum]->typeoflevel & TOL_SPECIAL) == TOL_SPECIAL)
|
||||||
|
{
|
||||||
|
bonusgt = GT_SPECIAL;
|
||||||
|
}
|
||||||
|
else if ((mapheaderinfo[cupLevelNum]->typeoflevel & TOL_VERSUS) == TOL_VERSUS)
|
||||||
|
{
|
||||||
|
bonusgt = GT_VERSUS;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bonusgt = G_GuessGametypeByTOL(mapheaderinfo[cupLevelNum]->typeoflevel);
|
||||||
|
}
|
||||||
G_MapIntoRoundQueue(
|
G_MapIntoRoundQueue(
|
||||||
cupLevelNum,
|
cupLevelNum,
|
||||||
G_GuessGametypeByTOL(mapheaderinfo[cupLevelNum]->typeoflevel),
|
bonusgt,
|
||||||
setencore, // if this isn't correct, Got_Mapcmd will fix it
|
setencore, // if this isn't correct, Got_Mapcmd will fix it
|
||||||
true // Rank-restricted!
|
true // Rank-restricted!
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -477,10 +477,8 @@ void K_HandleFollower(player_t *player)
|
||||||
|
|
||||||
if (fl->mode == FOLLOWERMODE_GROUND)
|
if (fl->mode == FOLLOWERMODE_GROUND)
|
||||||
{
|
{
|
||||||
sector_t *sec = R_PointInSubsector(sx, sy)->sector;
|
fh = min(fh, P_FloorzAtPos(sx, sy, player->follower->z, ourheight));
|
||||||
|
ch = max(ch, P_CeilingzAtPos(sx, sy, player->follower->z, ourheight) - ourheight);
|
||||||
fh = min(fh, P_GetFloorZ(player->follower, sec, sx, sy, NULL));
|
|
||||||
ch = max(ch, P_GetCeilingZ(player->follower, sec, sx, sy, NULL) - ourheight);
|
|
||||||
|
|
||||||
if (P_IsObjectOnGround(player->mo) == false)
|
if (P_IsObjectOnGround(player->mo) == false)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue