From d891975adcfb9539a2389dd1362ab8fc1deb7b5a Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sun, 19 Jul 2020 09:14:18 +0200 Subject: [PATCH] Non-desyncing player speed check. --- FuturePlans.md | 1 + language.version | 2 +- zscript/swwm_player.zsc | 15 +++++---------- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/FuturePlans.md b/FuturePlans.md index 9310ed85a..180f034df 100644 --- a/FuturePlans.md +++ b/FuturePlans.md @@ -58,3 +58,4 @@ after the first release. * Saya model, for scenes or something idk * Japanese localization??? * Strife support, with rewritten dialogue +* Monster/decoration replacements add-on diff --git a/language.version b/language.version index 4d4841daf..7ccf9817d 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \cwGZ\c- r428 (Sat 18 Jul 23:42:01 CEST 2020)"; +SWWM_MODVER="\chSWWM \cwGZ\c- r429 (Sun 19 Jul 09:14:18 CEST 2020)"; diff --git a/zscript/swwm_player.zsc b/zscript/swwm_player.zsc index b979e54b0..40ba0d31b 100644 --- a/zscript/swwm_player.zsc +++ b/zscript/swwm_player.zsc @@ -792,7 +792,6 @@ Class Demolitionist : PlayerPawn double jcmove = 0.; if ( player.cmd.buttons&BT_JUMP ) jcmove += 4096.; if ( player.cmd.buttons&BT_CROUCH ) jcmove -= 4096.; - if ( FastCheck() ) jcmove *= 2.; if ( CanCrouch() && (player.crouchfactor != -1) ) fs *= player.crouchfactor; Vector3 x, y, z; [x, y, z] = swwm_CoordUtil.GetAxes(pitch,angle,roll); @@ -931,11 +930,10 @@ Class Demolitionist : PlayerPawn wallclimb = false; jumpactor = null; } - double mult = FastCheck()?2.:1.; if ( player.crouchoffset ) player.crouching = 1; - else if ( waterlevel >= 2 ) vel.z = 4*Speed*mult; + else if ( waterlevel >= 2 ) vel.z = 4*Speed; else if ( (waterlevel < 2) && (bFly || bFlyCheat) && !(player.cheats&CF_NOCLIP2) ) return; - else if ( bNoGravity ) vel.z = 3*mult; + else if ( bNoGravity ) vel.z = 3; else if ( level.IsJumpingAllowed() && ((player.onground && (player.jumptics == 0)) || (!player.onground && (level.maptime > last_jump_held) && (((dashfuel > 10.) && (boostcooldown <= 0)) || walljump || wallclimb))) ) @@ -1427,9 +1425,7 @@ Class Demolitionist : PlayerPawn bool FastCheck( bool notfast = false ) { if ( !player ) return false; - bool rslt = (player.cmd.buttons&BT_SPEED); - if ( !clrun ) clrun = CVar.GetCVar('cl_run',player); - if ( clrun.GetBool() ) rslt = !rslt; + bool rslt = max(abs(player.cmd.forwardmove),abs(player.cmd.sidemove))>6400; if ( notfast ) rslt = !rslt; return rslt; } @@ -1477,9 +1473,8 @@ Class Demolitionist : PlayerPawn // crouch to swim/float down if ( !totallyfrozen && (player.cmd.buttons&BT_CROUCH) ) { - double mult = FastCheck()?2.:1.; - if ( waterlevel >= 2 ) vel.z = -4*Speed*mult; - else if ( bNOGRAVITY ) vel.z = -3*mult; + if ( waterlevel >= 2 ) vel.z = -4*Speed; + else if ( bNOGRAVITY ) vel.z = -3; } bool wascrouching = !!(player.cmd.buttons&BT_CROUCH); if ( !AllowCrouch() ) player.cmd.buttons &= ~BT_CROUCH;