Skip to content

Commit fa787c4

Browse files
committed
Merge remote-tracking branch 'public/master'
2 parents 511d9b0 + 6f61cfa commit fa787c4

File tree

15 files changed

+87
-31
lines changed

15 files changed

+87
-31
lines changed

src/d_player.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1129,6 +1129,8 @@ struct player_t
11291129
boolean dotrickfx;
11301130
boolean stingfx;
11311131
UINT8 bumperinflate;
1132+
1133+
boolean mfdfinish; // Did you cross the finish line while just about to explode?
11321134

11331135
UINT8 ringboxdelay; // Delay until Ring Box auto-activates
11341136
UINT8 ringboxaward; // Where did we stop?

src/f_finale.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1593,6 +1593,7 @@ void F_StartGameEnd(void)
15931593
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 31);
15941594
F_WipeEndScreen();
15951595
F_RunWipe(wipe_level_toblack, wipedefs[wipe_level_toblack], false, "FADEMAP0", false, false);
1596+
Music_Stop("credits");
15961597

15971598
nextmap = NEXTMAP_TITLE;
15981599
G_EndGame();

src/g_game.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2312,6 +2312,8 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
23122312
UINT16 bigwaypointgap;
23132313

23142314
INT16 duelscore;
2315+
2316+
boolean mfdfinish;
23152317

23162318
roundconditions_t roundconditions;
23172319
boolean saveroundconditions;
@@ -2406,6 +2408,8 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
24062408

24072409
totalring = players[player].totalring;
24082410
xtralife = players[player].xtralife;
2411+
2412+
mfdfinish = players[player].mfdfinish;
24092413

24102414
pflags = (players[player].pflags & (PF_WANTSTOJOIN|PF_KICKSTARTACCEL|PF_SHRINKME|PF_SHRINKACTIVE|PF_AUTOROULETTE|PF_ANALOGSTICK|PF_AUTORING));
24112415
pflags2 = (players[player].pflags2 & (PF2_SELFMUTE | PF2_SELFDEAFEN | PF2_SERVERTEMPMUTE | PF2_SERVERMUTE | PF2_SERVERDEAFEN | PF2_STRICTFASTFALL));
@@ -2483,6 +2487,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
24832487
lastsafecheatcheck = 0;
24842488
bigwaypointgap = 0;
24852489
duelscore = 0;
2490+
mfdfinish = 0;
24862491

24872492
finalized = false;
24882493

@@ -2675,6 +2680,8 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
26752680
p->xtralife = xtralife;
26762681

26772682
p->finalized = finalized;
2683+
2684+
p->mfdfinish = mfdfinish;
26782685

26792686
// SRB2kart
26802687
p->itemtype = itemtype;

src/k_hud.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5183,7 +5183,7 @@ static void K_drawKartPlayerCheck(void)
51835183
continue;
51845184
}
51855185

5186-
if ((checkplayer->invincibilitytimer <= 0) && (leveltime & 2))
5186+
if ((checkplayer->invincibilitytimer <= 0) && (leveltime & 2) && !(cv_reducevfx.value))
51875187
{
51885188
pnum++; // white frames
51895189
}

src/k_kart.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10891,7 +10891,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
1089110891
}
1089210892

1089310893
INT32 fls = K_GetEffectiveFollowerSkin(player);
10894-
if (player->follower && fls >= 0 && fls < numfollowers)
10894+
if (player->follower && fls >= 0 && fls < numfollowers && cv_karthorns.value)
1089510895
{
1089610896
const follower_t *fl = &followers[fls];
1089710897
S_StartSound(player->follower, fl->hornsound);

src/k_race.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -423,8 +423,8 @@ static void K_DrawFinishLineBeamForLine(fixed_t offset, angle_t aiming, line_t *
423423
--------------------------------------------------*/
424424

425425
void K_RunFinishLineBeam(void)
426-
{
427-
if ((gametyperules & GTR_ROLLINGSTART) || !(leveltime < starttime || rainbowstartavailable == true))
426+
{
427+
if ((gametyperules & GTR_ROLLINGSTART) || !(leveltime < starttime || rainbowstartavailable == true) || P_LevelIsFrozen())
428428
{
429429
return;
430430
}

src/lua_playerlib.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,8 @@ static int player_get(lua_State *L)
269269
lua_pushboolean(L, plr->transfer);
270270
else if (fastcmp(field,"markedfordeath"))
271271
lua_pushboolean(L, plr->markedfordeath);
272+
else if (fastcmp(field,"mfdfinish"))
273+
lua_pushboolean(L, plr->mfdfinish);
272274
else if (fastcmp(field,"incontrol"))
273275
lua_pushboolean(L, plr->incontrol);
274276
else if (fastcmp(field,"progressivethrust"))
@@ -950,6 +952,8 @@ static int player_set(lua_State *L)
950952
plr->transfer = luaL_checkboolean(L, 3);
951953
else if (fastcmp(field,"markedfordeath"))
952954
plr->markedfordeath = luaL_checkboolean(L, 3);
955+
else if (fastcmp(field,"mfdfinish"))
956+
plr->mfdfinish = luaL_checkboolean(L, 3);
953957
else if (fastcmp(field,"dotrickfx"))
954958
plr->dotrickfx = luaL_checkboolean(L, 3);
955959
else if (fastcmp(field,"stingfx"))

src/m_cond.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1797,7 +1797,7 @@ boolean M_CheckCondition(condition_t *cn, player_t *player)
17971797
case UCRP_PREFIX_BONUSROUND:
17981798
return ((grandprixinfo.gp == true) && (grandprixinfo.eventmode == GPEVENT_BONUS));
17991799
case UCRP_PREFIX_TIMEATTACK:
1800-
return (modeattacking != ATTACKING_NONE);
1800+
return (modeattacking != ATTACKING_NONE && !(skins[player->skin]->flags & SF_HIVOLT));
18011801
case UCRP_PREFIX_PRISONBREAK:
18021802
return ((gametyperules & GTR_PRISONS) && battleprisons);
18031803
case UCRP_PREFIX_SEALEDSTAR:

src/objects/cloud.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ void Obj_BulbTouched(mobj_t *special, mobj_t *toucher)
292292
P_MoveOrigin(toucher, special->x, special->y, special->z);
293293
toucher->player->nocontrol = 1;
294294
P_SetTarget(&toucher->tracer, special);
295-
toucher->flags &= ~MF_SHOOTABLE;
295+
toucher->flags &= ~(MF_SHOOTABLE|MF_NOGRAVITY);
296296
toucher->renderflags |= RF_DONTDRAW;
297297
P_SetTarget(&special->target, toucher);
298298
special->extravalue1 = spd;

src/objects/wpzturbine.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ void Obj_playerWPZTurbine(player_t *p)
220220
}
221221

222222
mt = t->spawnpoint;
223+
pmo->flags &= ~MF_NOGRAVITY;
223224

224225
opt1 = (mt->thing_args[0] != 0);
225226

0 commit comments

Comments
 (0)