mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Don't allow finish lines to be hit multiple times per tic
This commit is contained in:
parent
9e3b818cce
commit
d1c20c2a5a
9 changed files with 18 additions and 147 deletions
|
|
@ -1873,8 +1873,6 @@ void SendWeaponPref(void)
|
||||||
buf[0] = 0;
|
buf[0] = 0;
|
||||||
if (cv_flipcam.value)
|
if (cv_flipcam.value)
|
||||||
buf[0] |= 1;
|
buf[0] |= 1;
|
||||||
if (cv_analog.value)
|
|
||||||
buf[0] |= 2;
|
|
||||||
SendNetXCmd(XD_WEAPONPREF, buf, 1);
|
SendNetXCmd(XD_WEAPONPREF, buf, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1885,8 +1883,6 @@ void SendWeaponPref2(void)
|
||||||
buf[0] = 0;
|
buf[0] = 0;
|
||||||
if (cv_flipcam2.value)
|
if (cv_flipcam2.value)
|
||||||
buf[0] |= 1;
|
buf[0] |= 1;
|
||||||
if (cv_analog2.value)
|
|
||||||
buf[0] |= 2;
|
|
||||||
SendNetXCmd2(XD_WEAPONPREF, buf, 1);
|
SendNetXCmd2(XD_WEAPONPREF, buf, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1897,8 +1893,6 @@ void SendWeaponPref3(void)
|
||||||
buf[0] = 0;
|
buf[0] = 0;
|
||||||
if (cv_flipcam3.value)
|
if (cv_flipcam3.value)
|
||||||
buf[0] |= 1;
|
buf[0] |= 1;
|
||||||
if (cv_analog3.value)
|
|
||||||
buf[0] |= 2;
|
|
||||||
SendNetXCmd3(XD_WEAPONPREF, buf, 1);
|
SendNetXCmd3(XD_WEAPONPREF, buf, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1909,8 +1903,6 @@ void SendWeaponPref4(void)
|
||||||
buf[0] = 0;
|
buf[0] = 0;
|
||||||
if (cv_flipcam4.value)
|
if (cv_flipcam4.value)
|
||||||
buf[0] |= 1;
|
buf[0] |= 1;
|
||||||
if (cv_analog4.value)
|
|
||||||
buf[0] |= 2;
|
|
||||||
SendNetXCmd4(XD_WEAPONPREF, buf, 1);
|
SendNetXCmd4(XD_WEAPONPREF, buf, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1918,11 +1910,9 @@ static void Got_WeaponPref(UINT8 **cp,INT32 playernum)
|
||||||
{
|
{
|
||||||
UINT8 prefs = READUINT8(*cp);
|
UINT8 prefs = READUINT8(*cp);
|
||||||
|
|
||||||
players[playernum].pflags &= ~(PF_FLIPCAM|PF_ANALOGMODE);
|
players[playernum].pflags &= ~(PF_FLIPCAM);
|
||||||
if (prefs & 1)
|
if (prefs & 1)
|
||||||
players[playernum].pflags |= PF_FLIPCAM;
|
players[playernum].pflags |= PF_FLIPCAM;
|
||||||
if (prefs & 2)
|
|
||||||
players[playernum].pflags |= PF_ANALOGMODE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void D_SendPlayerConfig(void)
|
void D_SendPlayerConfig(void)
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ typedef enum
|
||||||
|
|
||||||
/*** misc ***/
|
/*** misc ***/
|
||||||
PF_FORCESTRAFE = 1<<29, // Turning inputs are translated into strafing inputs
|
PF_FORCESTRAFE = 1<<29, // Turning inputs are translated into strafing inputs
|
||||||
PF_ANALOGMODE = 1<<30, // Analog mode?
|
PF_HITFINISHLINE = 1<<30, // Already hit the finish line this tic
|
||||||
|
|
||||||
// free: 1<<30 and 1<<31
|
// free: 1<<30 and 1<<31
|
||||||
} pflags_t;
|
} pflags_t;
|
||||||
|
|
|
||||||
|
|
@ -8176,7 +8176,7 @@ static const char *const PLAYERFLAG_LIST[] = {
|
||||||
|
|
||||||
/*** misc ***/
|
/*** misc ***/
|
||||||
"FORCESTRAFE", // Translate turn inputs into strafe inputs
|
"FORCESTRAFE", // Translate turn inputs into strafe inputs
|
||||||
"ANALOGMODE", // Analog mode?
|
"HITFINISHLINE", // Already hit the finish line this tic
|
||||||
|
|
||||||
NULL // stop loop here.
|
NULL // stop loop here.
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2593,7 +2593,7 @@ void G_PlayerReborn(INT32 player)
|
||||||
jointime = players[player].jointime;
|
jointime = players[player].jointime;
|
||||||
splitscreenindex = players[player].splitscreenindex;
|
splitscreenindex = players[player].splitscreenindex;
|
||||||
spectator = players[player].spectator;
|
spectator = players[player].spectator;
|
||||||
pflags = (players[player].pflags & (PF_TIMEOVER|PF_FLIPCAM|PF_TAGIT|PF_TAGGED|PF_ANALOGMODE|PF_WANTSTOJOIN));
|
pflags = (players[player].pflags & (PF_TIMEOVER|PF_FLIPCAM|PF_TAGIT|PF_TAGGED|PF_WANTSTOJOIN));
|
||||||
|
|
||||||
// As long as we're not in multiplayer, carry over cheatcodes from map to map
|
// As long as we're not in multiplayer, carry over cheatcodes from map to map
|
||||||
if (!(netgame || multiplayer))
|
if (!(netgame || multiplayer))
|
||||||
|
|
|
||||||
|
|
@ -8554,9 +8554,6 @@ void A_SPBChase(mobj_t *actor)
|
||||||
fixed_t range = (160*actor->tracer->scale);
|
fixed_t range = (160*actor->tracer->scale);
|
||||||
fixed_t cx = 0, cy =0;
|
fixed_t cx = 0, cy =0;
|
||||||
|
|
||||||
// we're tailing a player, now's a good time to regain our damage properties
|
|
||||||
actor->flags &= ~MF_NOCLIPTHING;
|
|
||||||
|
|
||||||
// Play the intimidating gurgle
|
// Play the intimidating gurgle
|
||||||
if (!S_SoundPlaying(actor, actor->info->activesound))
|
if (!S_SoundPlaying(actor, actor->info->activesound))
|
||||||
S_StartSound(actor, actor->info->activesound);
|
S_StartSound(actor, actor->info->activesound);
|
||||||
|
|
@ -8688,9 +8685,6 @@ void A_SPBChase(mobj_t *actor)
|
||||||
{
|
{
|
||||||
actor->momx = actor->momy = actor->momz = 0; // Stoooop
|
actor->momx = actor->momy = actor->momz = 0; // Stoooop
|
||||||
|
|
||||||
// don't hurt players that have nothing to do with this:
|
|
||||||
actor->flags |= MF_NOCLIPTHING;
|
|
||||||
|
|
||||||
if (actor->lastlook != -1
|
if (actor->lastlook != -1
|
||||||
&& playeringame[actor->lastlook]
|
&& playeringame[actor->lastlook]
|
||||||
&& !players[actor->lastlook].spectator
|
&& !players[actor->lastlook].spectator
|
||||||
|
|
@ -8729,10 +8723,6 @@ void A_SPBChase(mobj_t *actor)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Found someone, now get close enough to initiate the slaughter...
|
// Found someone, now get close enough to initiate the slaughter...
|
||||||
|
|
||||||
// Seeking SPB can now hurt people
|
|
||||||
actor->flags &= ~MF_NOCLIPTHING;
|
|
||||||
|
|
||||||
P_SetTarget(&actor->tracer, player->mo);
|
P_SetTarget(&actor->tracer, player->mo);
|
||||||
spbplace = bestrank;
|
spbplace = bestrank;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,6 @@ boolean P_LookForEnemies(player_t *player);
|
||||||
void P_NukeEnemies(mobj_t *inflictor, mobj_t *source, fixed_t radius);
|
void P_NukeEnemies(mobj_t *inflictor, mobj_t *source, fixed_t radius);
|
||||||
void P_HomingAttack(mobj_t *source, mobj_t *enemy); /// \todo doesn't belong in p_user
|
void P_HomingAttack(mobj_t *source, mobj_t *enemy); /// \todo doesn't belong in p_user
|
||||||
//boolean P_SuperReady(player_t *player);
|
//boolean P_SuperReady(player_t *player);
|
||||||
boolean P_AnalogMove(player_t *player);
|
|
||||||
/*boolean P_TransferToNextMare(player_t *player);
|
/*boolean P_TransferToNextMare(player_t *player);
|
||||||
UINT8 P_FindLowestMare(void);*/
|
UINT8 P_FindLowestMare(void);*/
|
||||||
UINT8 P_FindLowestLap(void);
|
UINT8 P_FindLowestLap(void);
|
||||||
|
|
|
||||||
|
|
@ -1417,7 +1417,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
|
|
||||||
thing->angle = tmthing->angle;
|
thing->angle = tmthing->angle;
|
||||||
|
|
||||||
if (!demo.playback || P_AnalogMove(thing->player))
|
if (!demo.playback)
|
||||||
{
|
{
|
||||||
if (thing->player == &players[consoleplayer])
|
if (thing->player == &players[consoleplayer])
|
||||||
localangle[0] = thing->angle;
|
localangle[0] = thing->angle;
|
||||||
|
|
|
||||||
16
src/p_spec.c
16
src/p_spec.c
|
|
@ -2283,12 +2283,6 @@ static void K_HandleLapIncrement(player_t *player)
|
||||||
P_SetupSignExit(player);
|
P_SetupSignExit(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
//player->starpostangle = player->starposttime = player->starpostnum = 0;
|
|
||||||
//player->starpostx = player->starposty = player->starpostz = 0;
|
|
||||||
|
|
||||||
// Play the starpost sound for 'consistency'
|
|
||||||
// S_StartSound(player->mo, sfx_strpst);
|
|
||||||
|
|
||||||
// Figure out how many are playing on the last lap, to prevent spectate griefing
|
// Figure out how many are playing on the last lap, to prevent spectate griefing
|
||||||
if (!nospectategrief && player->laps > (UINT8)(cv_numlaps.value))
|
if (!nospectategrief && player->laps > (UINT8)(cv_numlaps.value))
|
||||||
nospectategrief = nump;
|
nospectategrief = nump;
|
||||||
|
|
@ -2307,7 +2301,7 @@ static void K_HandleLapDecrement(player_t *player)
|
||||||
{
|
{
|
||||||
if (player)
|
if (player)
|
||||||
{
|
{
|
||||||
if (player->laps > 0)
|
if ((player->starpostnum == 0) && (player->laps > 0))
|
||||||
{
|
{
|
||||||
player->starpostnum = numstarposts;
|
player->starpostnum = numstarposts;
|
||||||
player->laps--;
|
player->laps--;
|
||||||
|
|
@ -2331,7 +2325,7 @@ void P_CrossSpecialLine(line_t *line, INT32 side, mobj_t *thing)
|
||||||
{
|
{
|
||||||
case 2001: // Finish Line
|
case 2001: // Finish Line
|
||||||
{
|
{
|
||||||
if (G_RaceGametype() && !(player->exiting))
|
if (G_RaceGametype() && !(player->exiting) && !(player->pflags & PF_HITFINISHLINE))
|
||||||
{
|
{
|
||||||
if (((line->flags & (ML_NOCLIMB)) && (side == 0))
|
if (((line->flags & (ML_NOCLIMB)) && (side == 0))
|
||||||
|| (!(line->flags & (ML_NOCLIMB)) && (side == 1))) // crossed from behind to infront
|
|| (!(line->flags & (ML_NOCLIMB)) && (side == 1))) // crossed from behind to infront
|
||||||
|
|
@ -2342,6 +2336,8 @@ void P_CrossSpecialLine(line_t *line, INT32 side, mobj_t *thing)
|
||||||
{
|
{
|
||||||
K_HandleLapDecrement(player);
|
K_HandleLapDecrement(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
player->pflags |= PF_HITFINISHLINE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -4027,7 +4023,7 @@ DoneSection2:
|
||||||
if (player->mo->scale > mapobjectscale)
|
if (player->mo->scale > mapobjectscale)
|
||||||
linespeed = FixedMul(linespeed, mapobjectscale + (player->mo->scale - mapobjectscale));
|
linespeed = FixedMul(linespeed, mapobjectscale + (player->mo->scale - mapobjectscale));
|
||||||
|
|
||||||
if (!demo.playback || P_AnalogMove(player))
|
if (!demo.playback)
|
||||||
{
|
{
|
||||||
if (player == &players[consoleplayer])
|
if (player == &players[consoleplayer])
|
||||||
localangle[0] = player->mo->angle;
|
localangle[0] = player->mo->angle;
|
||||||
|
|
@ -7935,7 +7931,7 @@ void T_Pusher(pusher_t *p)
|
||||||
thing->player->pflags |= PF_SLIDING;
|
thing->player->pflags |= PF_SLIDING;
|
||||||
thing->angle = R_PointToAngle2 (0, 0, xspeed<<(FRACBITS-PUSH_FACTOR), yspeed<<(FRACBITS-PUSH_FACTOR));
|
thing->angle = R_PointToAngle2 (0, 0, xspeed<<(FRACBITS-PUSH_FACTOR), yspeed<<(FRACBITS-PUSH_FACTOR));
|
||||||
|
|
||||||
if (!demo.playback || P_AnalogMove(thing->player))
|
if (!demo.playback)
|
||||||
{
|
{
|
||||||
if (thing->player == &players[consoleplayer])
|
if (thing->player == &players[consoleplayer])
|
||||||
{
|
{
|
||||||
|
|
|
||||||
118
src/p_user.c
118
src/p_user.c
|
|
@ -3716,11 +3716,6 @@ void P_Telekinesis(player_t *player, fixed_t thrust, fixed_t range)
|
||||||
player->pflags |= PF_THOKKED;
|
player->pflags |= PF_THOKKED;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean P_AnalogMove(player_t *player)
|
|
||||||
{
|
|
||||||
return player->pflags & PF_ANALOGMODE;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// P_GetPlayerControlDirection
|
// P_GetPlayerControlDirection
|
||||||
//
|
//
|
||||||
|
|
@ -3763,14 +3758,6 @@ boolean P_AnalogMove(player_t *player)
|
||||||
origtempangle = tempangle = 0; // relative to the axis rather than the player!
|
origtempangle = tempangle = 0; // relative to the axis rather than the player!
|
||||||
controlplayerdirection = R_PointToAngle2(0, 0, player->mo->momx, player->mo->momy);
|
controlplayerdirection = R_PointToAngle2(0, 0, player->mo->momx, player->mo->momy);
|
||||||
}
|
}
|
||||||
else if (P_AnalogMove(player) && thiscam->chase)
|
|
||||||
{
|
|
||||||
if (player->awayviewtics)
|
|
||||||
origtempangle = tempangle = player->awayviewmobj->angle;
|
|
||||||
else
|
|
||||||
origtempangle = tempangle = thiscam->angle;
|
|
||||||
controlplayerdirection = player->mo->angle;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
origtempangle = tempangle = player->mo->angle;
|
origtempangle = tempangle = player->mo->angle;
|
||||||
|
|
@ -3994,7 +3981,6 @@ static void P_3dMovement(player_t *player)
|
||||||
angle_t dangle; // replaces old quadrants bits
|
angle_t dangle; // replaces old quadrants bits
|
||||||
//boolean dangleflip = false; // SRB2kart - toaster
|
//boolean dangleflip = false; // SRB2kart - toaster
|
||||||
//fixed_t normalspd = FixedMul(player->normalspeed, player->mo->scale);
|
//fixed_t normalspd = FixedMul(player->normalspeed, player->mo->scale);
|
||||||
boolean analogmove = false;
|
|
||||||
fixed_t oldMagnitude, newMagnitude;
|
fixed_t oldMagnitude, newMagnitude;
|
||||||
#ifdef ESLOPE
|
#ifdef ESLOPE
|
||||||
vector3_t totalthrust;
|
vector3_t totalthrust;
|
||||||
|
|
@ -4006,8 +3992,6 @@ static void P_3dMovement(player_t *player)
|
||||||
// Get the old momentum; this will be needed at the end of the function! -SH
|
// Get the old momentum; this will be needed at the end of the function! -SH
|
||||||
oldMagnitude = R_PointToDist2(player->mo->momx - player->cmomx, player->mo->momy - player->cmomy, 0, 0);
|
oldMagnitude = R_PointToDist2(player->mo->momx - player->cmomx, player->mo->momy - player->cmomy, 0, 0);
|
||||||
|
|
||||||
analogmove = P_AnalogMove(player);
|
|
||||||
|
|
||||||
cmd = &player->cmd;
|
cmd = &player->cmd;
|
||||||
|
|
||||||
if ((player->exiting || mapreset) || player->pflags & PF_STASIS || player->kartstuff[k_spinouttimer]) // pw_introcam?
|
if ((player->exiting || mapreset) || player->pflags & PF_STASIS || player->kartstuff[k_spinouttimer]) // pw_introcam?
|
||||||
|
|
@ -4020,19 +4004,13 @@ static void P_3dMovement(player_t *player)
|
||||||
if (!(player->pflags & PF_FORCESTRAFE) && !player->kartstuff[k_pogospring])
|
if (!(player->pflags & PF_FORCESTRAFE) && !player->kartstuff[k_pogospring])
|
||||||
cmd->sidemove = 0;
|
cmd->sidemove = 0;
|
||||||
|
|
||||||
if (analogmove)
|
if (player->kartstuff[k_drift] != 0)
|
||||||
{
|
movepushangle = player->mo->angle-(ANGLE_45/5)*player->kartstuff[k_drift];
|
||||||
movepushangle = (cmd->angleturn<<16 /* not FRACBITS */);
|
else if (player->kartstuff[k_spinouttimer] || player->kartstuff[k_wipeoutslow]) // if spun out, use the boost angle
|
||||||
}
|
movepushangle = (angle_t)player->kartstuff[k_boostangle];
|
||||||
else
|
else
|
||||||
{
|
movepushangle = player->mo->angle;
|
||||||
if (player->kartstuff[k_drift] != 0)
|
|
||||||
movepushangle = player->mo->angle-(ANGLE_45/5)*player->kartstuff[k_drift];
|
|
||||||
else if (player->kartstuff[k_spinouttimer] || player->kartstuff[k_wipeoutslow]) // if spun out, use the boost angle
|
|
||||||
movepushangle = (angle_t)player->kartstuff[k_boostangle];
|
|
||||||
else
|
|
||||||
movepushangle = player->mo->angle;
|
|
||||||
}
|
|
||||||
movepushsideangle = movepushangle-ANGLE_90;
|
movepushsideangle = movepushangle-ANGLE_90;
|
||||||
|
|
||||||
// cmomx/cmomy stands for the conveyor belt speed.
|
// cmomx/cmomy stands for the conveyor belt speed.
|
||||||
|
|
@ -6191,69 +6169,6 @@ static void P_MovePlayer(player_t *player)
|
||||||
player->pflags &= ~PF_STARTDASH;
|
player->pflags &= ~PF_STARTDASH;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//////////////////
|
|
||||||
//ANALOG CONTROL//
|
|
||||||
//////////////////
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
// This really looks like it should be moved to P_3dMovement. -Red
|
|
||||||
if (P_AnalogMove(player)
|
|
||||||
&& (cmd->forwardmove != 0 || cmd->sidemove != 0) && !player->climbing && !twodlevel && !(player->mo->flags2 & MF2_TWOD))
|
|
||||||
{
|
|
||||||
// If travelling slow enough, face the way the controls
|
|
||||||
// point and not your direction of movement.
|
|
||||||
if (player->speed < FixedMul(5*FRACUNIT, player->mo->scale) || player->pflags & PF_GLIDING || !onground)
|
|
||||||
{
|
|
||||||
angle_t tempangle;
|
|
||||||
|
|
||||||
tempangle = (cmd->angleturn << 16);
|
|
||||||
|
|
||||||
#ifdef REDSANALOG // Ease to it. Chillax. ~Red
|
|
||||||
tempangle += R_PointToAngle2(0, 0, cmd->forwardmove*FRACUNIT, -cmd->sidemove*FRACUNIT);
|
|
||||||
{
|
|
||||||
fixed_t tweenvalue = max(abs(cmd->forwardmove), abs(cmd->sidemove));
|
|
||||||
|
|
||||||
if (tweenvalue < 10 && (cmd->buttons & (BT_FORWARD|BT_BACKWARD)) == (BT_FORWARD|BT_BACKWARD)) {
|
|
||||||
tempangle = (cmd->angleturn << 16);
|
|
||||||
tweenvalue = 16;
|
|
||||||
}
|
|
||||||
|
|
||||||
tweenvalue *= tweenvalue*tweenvalue*1536;
|
|
||||||
|
|
||||||
//if (player->pflags & PF_GLIDING)
|
|
||||||
//tweenvalue >>= 1;
|
|
||||||
|
|
||||||
tempangle -= player->mo->angle;
|
|
||||||
|
|
||||||
if (tempangle < ANGLE_180 && tempangle > tweenvalue)
|
|
||||||
player->mo->angle += tweenvalue;
|
|
||||||
else if (tempangle >= ANGLE_180 && InvAngle(tempangle) > tweenvalue)
|
|
||||||
player->mo->angle -= tweenvalue;
|
|
||||||
else
|
|
||||||
player->mo->angle += tempangle;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
// Less math this way ~Red
|
|
||||||
player->mo->angle = R_PointToAngle2(0, 0, cmd->forwardmove*FRACUNIT, -cmd->sidemove*FRACUNIT)+tempangle;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
// Otherwise, face the direction you're travelling.
|
|
||||||
else if (player->panim == PA_WALK || player->panim == PA_RUN || player->panim == PA_ROLL
|
|
||||||
/*|| ((player->mo->state >= &states[S_PLAY_ABL1] && player->mo->state <= &states[S_PLAY_SPC4]) && player->charability == CA_FLY)*/) // SRB2kart - idk
|
|
||||||
player->mo->angle = R_PointToAngle2(0, 0, player->rmomx, player->rmomy);
|
|
||||||
|
|
||||||
// Update the local angle control.
|
|
||||||
if (player == &players[consoleplayer])
|
|
||||||
localangle[0] = player->mo->angle;
|
|
||||||
else if (player == &players[displayplayers[1]])
|
|
||||||
localangle[1] = player->mo->angle;
|
|
||||||
else if (player == &players[displayplayers[2]])
|
|
||||||
localangle[2] = player->mo->angle;
|
|
||||||
else if (player == &players[displayplayers[3]])
|
|
||||||
localangle[3] = player->mo->angle;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
///////////////////////////
|
///////////////////////////
|
||||||
//BOMB SHIELD ACTIVATION,//
|
//BOMB SHIELD ACTIVATION,//
|
||||||
//HOMING, AND OTHER COOL //
|
//HOMING, AND OTHER COOL //
|
||||||
|
|
@ -8373,26 +8288,7 @@ void P_PlayerThink(player_t *player)
|
||||||
player->mo->reactiontime--;
|
player->mo->reactiontime--;
|
||||||
else if (player->mo->tracer && player->mo->tracer->type == MT_TUBEWAYPOINT)
|
else if (player->mo->tracer && player->mo->tracer->type == MT_TUBEWAYPOINT)
|
||||||
{
|
{
|
||||||
// SRB2kart - don't need no rope hangin'
|
P_DoZoomTube(player);
|
||||||
//if (player->pflags & PF_ROPEHANG)
|
|
||||||
//{
|
|
||||||
// if (!P_AnalogMove(player))
|
|
||||||
// player->mo->angle = (cmd->angleturn<<16 /* not FRACBITS */);
|
|
||||||
|
|
||||||
// ticruned++;
|
|
||||||
// if ((cmd->angleturn & TICCMD_RECEIVED) == 0)
|
|
||||||
// ticmiss++;
|
|
||||||
|
|
||||||
// P_DoRopeHang(player);
|
|
||||||
// P_SetPlayerMobjState(player->mo, S_PLAY_CARRY);
|
|
||||||
// P_DoJumpStuff(player, &player->cmd);
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
{
|
|
||||||
P_DoZoomTube(player);
|
|
||||||
//if (!(player->panim == PA_ROLL) && player->charability2 == CA2_SPINDASH) // SRB2kart
|
|
||||||
// P_SetPlayerMobjState(player->mo, S_PLAY_ATK1);
|
|
||||||
}
|
|
||||||
player->rmomx = player->rmomy = 0; // no actual momentum from your controls
|
player->rmomx = player->rmomy = 0; // no actual momentum from your controls
|
||||||
P_ResetScore(player);
|
P_ResetScore(player);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue