Just ignore prediction entirely in custom player code, who cares.

This commit is contained in:
Mari the Deer 2025-08-18 23:29:49 +02:00
commit 7a3e0ae413
4 changed files with 18 additions and 6 deletions

View file

@ -1,3 +1,3 @@
[default] [default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1232 \cu(mié 13 ago 2025 14:03:13 CEST)\c-"; SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1233 \cu(lun 18 ago 2025 23:29:49 CEST)\c-";
SWWM_SHORTVER="\cw1.3pre r1232 \cu(2025-08-13 14:03:13)\c-"; SWWM_SHORTVER="\cw1.3pre r1233 \cu(2025-08-18 23:29:49)\c-";

View file

@ -324,7 +324,7 @@ extend Class Demolitionist
vel *= .95; vel *= .95;
player.vel += RotateVector(nmove,angle)*cos(pitch)*16.; player.vel += RotateVector(nmove,angle)*cos(pitch)*16.;
player.jumptics = -2; player.jumptics = -2;
if ( !(player.cheats & CF_PREDICTING) && (player.cmd.forwardmove|player.cmd.sidemove) ) if ( player.cmd.forwardmove|player.cmd.sidemove )
PlayRunning(); PlayRunning();
if ( player.cheats&CF_REVERTPLEASE ) if ( player.cheats&CF_REVERTPLEASE )
{ {
@ -428,7 +428,7 @@ extend Class Demolitionist
if ( spd > maxspd ) vel.xy = (vel.xy+accel/GameTicRate).unit()*spd; if ( spd > maxspd ) vel.xy = (vel.xy+accel/GameTicRate).unit()*spd;
else vel.xy = vel.xy+accel/GameTicRate; else vel.xy = vel.xy+accel/GameTicRate;
} }
if ( !(player.cheats&CF_PREDICTING) && (nmove.length() > 0.) ) if ( nmove.length() > 0. )
PlayRunning(); PlayRunning();
if ( player.cheats&CF_REVERTPLEASE ) if ( player.cheats&CF_REVERTPLEASE )
{ {
@ -477,7 +477,7 @@ extend Class Demolitionist
} }
if ( player.onground ) lastgroundtic = level.maptime; if ( player.onground ) lastgroundtic = level.maptime;
else lastairtic = level.maptime; else lastairtic = level.maptime;
if ( !(player.cheats & CF_PREDICTING) && !(player.cmd.forwardmove|player.cmd.sidemove) ) if ( !(player.cmd.forwardmove|player.cmd.sidemove) )
PlayIdle(); PlayIdle();
if ( !(player.cmd.buttons&BT_USER2) || (gamestate != GS_LEVEL) || (dashcooldown > 0) || (dashfuel < 20.) ) if ( !(player.cmd.buttons&BT_USER2) || (gamestate != GS_LEVEL) || (dashcooldown > 0) || (dashfuel < 20.) )
return; return;
@ -635,7 +635,7 @@ extend Class Demolitionist
bool raging = FindInventory('RagekitPower'); bool raging = FindInventory('RagekitPower');
if ( raging ) jumpvelz *= 2.; if ( raging ) jumpvelz *= 2.;
double pvelz = vel.z; double pvelz = vel.z;
if ( !player.onground && !(player.cheats&CF_PREDICTING) ) if ( !player.onground )
{ {
// check for wall stuff // check for wall stuff
if ( walljump ) if ( walljump )

View file

@ -198,6 +198,12 @@ extend Class Demolitionist
override void PlayerThink() override void PlayerThink()
{ {
if ( player && (player.cheats&CF_PREDICTING) )
{
// sod off, m8
Super.PlayerThink();
return;
}
if ( !player || (player.playerstate != PST_DEAD) ) deadtimer = 0; if ( !player || (player.playerstate != PST_DEAD) ) deadtimer = 0;
oldangles = (angle,pitch,roll); oldangles = (angle,pitch,roll);
if ( player && (player.mo == self) && (player.playerstate != PST_DEAD) && (player.cmd.buttons&BT_USE) ) if ( player && (player.mo == self) && (player.playerstate != PST_DEAD) && (player.cmd.buttons&BT_USE) )

View file

@ -186,6 +186,12 @@ extend Class Demolitionist
override void Tick() override void Tick()
{ {
if ( player && (player.cheats&CF_PREDICTING) )
{
// sod off, m8
Super.Tick();
return;
}
Vector3 oldpos = pos; Vector3 oldpos = pos;
// can't be poisoned // can't be poisoned
PoisonDurationReceived = 0; PoisonDurationReceived = 0;