diff --git a/ClassicalSharp/2D/Screens/Menu/HacksSettingsScreen.cs b/ClassicalSharp/2D/Screens/Menu/HacksSettingsScreen.cs index d66d422f4..b1e55d2b1 100644 --- a/ClassicalSharp/2D/Screens/Menu/HacksSettingsScreen.cs +++ b/ClassicalSharp/2D/Screens/Menu/HacksSettingsScreen.cs @@ -96,7 +96,6 @@ namespace ClassicalSharp { buttons[3].Disabled = noGlobalHacks || !p.CanSpeed; buttons[4].Disabled = noGlobalHacks || !p.CanSpeed; buttons[6].Disabled = noGlobalHacks || !p.CanPushbackBlocks; - buttons[4].Disabled = true; // TODO: get this working } ButtonWidget Make( int x, int y, string text, Action onClick, diff --git a/ClassicalSharp/ClassicalSharp.csproj b/ClassicalSharp/ClassicalSharp.csproj index 5100e6df1..bf2630c25 100644 --- a/ClassicalSharp/ClassicalSharp.csproj +++ b/ClassicalSharp/ClassicalSharp.csproj @@ -66,6 +66,7 @@ TRACE;USE_DX obj\ Project + wwwf ver 127.0.0.1 25565 diff --git a/ClassicalSharp/Entities/LocalPlayer.Physics.cs b/ClassicalSharp/Entities/LocalPlayer.Physics.cs index 9ad10afc5..f0056ef4d 100644 --- a/ClassicalSharp/Entities/LocalPlayer.Physics.cs +++ b/ClassicalSharp/Entities/LocalPlayer.Physics.cs @@ -69,13 +69,13 @@ namespace ClassicalSharp { } else if( TouchesAnyRope() ) { Velocity.Y += speeding ? 0.15f : 0.10f; canLiquidJump = false; - } else if( onGround ) { - Velocity.Y = 0; + } else if( onGround ) { DoNormalJump(); } } void DoNormalJump() { + Velocity.Y = 0; Velocity.Y += jumpVel; if( speeding ) Velocity.Y += jumpVel; if( halfSpeeding ) Velocity.Y += jumpVel / 2; @@ -96,10 +96,13 @@ namespace ClassicalSharp { void PhysicsTick( float xMoving, float zMoving ) { if( noClip ) onGround = false; - float multiply = GetBaseMultiply(); + float multiply = GetBaseMultiply(); float modifier = LowestSpeedModifier(); - float horMul = multiply * modifier; + float yMul = Math.Max( 1f, multiply / 5 ) * modifier; + float horMul = multiply * modifier; + if( !secondJump ) { horMul *= 93f; yMul *= 10f; } + else if( !firstJump ) { horMul *= 46.5f; yMul *= 7.5f; } if( TouchesAnyWater() && !flying && !noClip ) { MoveNormal( xMoving, zMoving, 0.02f * horMul, waterDrag, liquidGrav, yMul ); diff --git a/ClassicalSharp/Entities/LocalPlayer.cs b/ClassicalSharp/Entities/LocalPlayer.cs index b00df7d1c..4a1fad900 100644 --- a/ClassicalSharp/Entities/LocalPlayer.cs +++ b/ClassicalSharp/Entities/LocalPlayer.cs @@ -318,10 +318,10 @@ namespace ClassicalSharp { noClip = !noClip; } else if( key == keys[KeyBinding.Jump] && !onGround ) { if( firstJump && CanDoubleJump && DoubleJump ) { - //DoNormalJump(); TODO: get this working + DoNormalJump(); firstJump = false; } else if( secondJump && CanDoubleJump && DoubleJump ) { - //DoNormalJump(); TODO: get this working + DoNormalJump(); secondJump = false; } } else { diff --git a/ClassicalSharp/Network/NetworkProcessor.CPE.cs b/ClassicalSharp/Network/NetworkProcessor.CPE.cs index cec84e7bb..4d0aaf93c 100644 --- a/ClassicalSharp/Network/NetworkProcessor.CPE.cs +++ b/ClassicalSharp/Network/NetworkProcessor.CPE.cs @@ -58,14 +58,12 @@ namespace ClassicalSharp { bool sendHeldBlock, useMessageTypes; int envMapApperanceVer = 2; static string[] clientExtensions = { - "ClickDistance", "CustomBlocks", "HeldBlock", - "EmoteFix", "TextHotKey", "ExtPlayerList", - "EnvColors", "SelectionCuboid", "BlockPermissions", - "ChangeModel", "EnvMapAppearance", "EnvWeatherType", - "HackControl", "MessageTypes", "PlayerClick", - "FullCP437", "LongerMessages", + "ClickDistance", "CustomBlocks", "HeldBlock", "EmoteFix", "TextHotKey", "ExtPlayerList", + "EnvColors", "SelectionCuboid", "BlockPermissions", "ChangeModel", "EnvMapAppearance", + "EnvWeatherType", "HackControl", "MessageTypes", "PlayerClick", "FullCP437", + "LongerMessages", "BlockDefinitions", "BlockDefinitionsExt", // proposals - "BlockDefinitions", "BlockDefinitionsExt", "TextColors", + "BulkBlockUpdate", "TextColors", }; void HandleCpeExtInfo() { @@ -499,7 +497,7 @@ namespace ClassicalSharp { byte block = reader.buffer[i + bulkCount * sizeof(int)]; Vector3I coords = game.Map.GetCoords( indices[i] ); - if( !game.Map.IsValidPos( coords ) ) { + if( coords.X < 0 ) { Utils.LogDebug( "Server tried to update a block at an invalid position!" ); continue; } diff --git a/ClassicalSharp/Network/Utils/AsyncDownloader.cs b/ClassicalSharp/Network/Utils/AsyncDownloader.cs index 2a0e84e1b..600afd301 100644 --- a/ClassicalSharp/Network/Utils/AsyncDownloader.cs +++ b/ClassicalSharp/Network/Utils/AsyncDownloader.cs @@ -228,8 +228,8 @@ namespace ClassicalSharp.Network { HttpWebRequest MakeRequest( Request request ) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create( request.Url ); req.AutomaticDecompression = DecompressionMethods.GZip; - req.ReadWriteTimeout = 15 * 1000; - req.Timeout = 15 * 1000; + req.ReadWriteTimeout = 90 * 1000; + req.Timeout = 90 * 1000; req.Proxy = null; req.UserAgent = Program.AppName; diff --git a/Launcher2/WebService/IWebTask.cs b/Launcher2/WebService/IWebTask.cs index 93ab73ccd..cabbea514 100644 --- a/Launcher2/WebService/IWebTask.cs +++ b/Launcher2/WebService/IWebTask.cs @@ -40,8 +40,8 @@ namespace Launcher2 { protected HttpWebResponse MakeRequest( string uri, string referer, string data ) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create( uri ); request.UserAgent = Program.AppName; - request.ReadWriteTimeout = 15 * 1000; - request.Timeout = 15 * 1000; + request.ReadWriteTimeout = 90 * 1000; + request.Timeout = 90 * 1000; request.Referer = referer; request.KeepAlive = true; request.CookieContainer = cookies;