From e441999c17376337a9e5b3113cb0c9c26ad792bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B8=D1=82=D0=B0=20=D0=9A=D1=80=D1=83?= =?UTF-8?q?=D0=B3=D0=BB=D0=B8=D1=86=D0=BA=D0=B8=D0=B9?= Date: Sun, 11 May 2025 08:57:17 +0600 Subject: [PATCH] toe fix --- .../engine_remastered/configs/new_sx240.txt | 18 ++++++++++++------ .../engine_remastered/powertrain/wheel.txt | 3 +-- koptilnya/engine_remastered/wheel/wheel.txt | 3 ++- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/koptilnya/engine_remastered/configs/new_sx240.txt b/koptilnya/engine_remastered/configs/new_sx240.txt index 78b76d1..f0c9d66 100644 --- a/koptilnya/engine_remastered/configs/new_sx240.txt +++ b/koptilnya/engine_remastered/configs/new_sx240.txt @@ -39,7 +39,9 @@ local FrontWheelsConfig = table.merge( { SteerLock = 33, CustomWheel = { - CasterAngle = 3 + CasterAngle = 3, + CamberAngle = -3, + ToeAngle = 0.5 } } ) @@ -47,7 +49,11 @@ local FrontWheelsConfig = table.merge( local RearWheelsConfig = table.merge( table.copy(WheelConfig), { - HandbrakePower = 2200 + HandbrakePower = 2200, + CustomWheel = { + CamberAngle = -1, + ToeAngle = 0.5 + } } ) @@ -113,13 +119,13 @@ Vehicle:new({ Name = 'WheelFL', Type = POWERTRAIN_COMPONENT.Wheel, Input = 'AxleFront', - Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 0, CustomWheel = { CamberAngle = -3, ToeAngle = 0.5 } }) + Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 0 }) }, { Name = 'WheelFR', Type = POWERTRAIN_COMPONENT.Wheel, Input = 'AxleFront', - Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 180, CustomWheel = { CamberAngle = -3, ToeAngle = 0.5 } }) + Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 180 }) }, { Name = 'AxleBack', @@ -155,12 +161,12 @@ Vehicle:new({ Name = 'WheelRL', Input = 'AxleBack', Type = POWERTRAIN_COMPONENT.Wheel, - Config = table.merge(table.copy(RearWheelsConfig), { Offset = 0, CustomWheel = { CamberAngle = -1, ToeAngle = 0.5 } }) + Config = table.merge(table.copy(RearWheelsConfig), { Offset = 0 }) }, { Name = 'WheelRR', Input = 'AxleBack', Type = POWERTRAIN_COMPONENT.Wheel, - Config = table.merge(table.copy(RearWheelsConfig), { Offset = 180, CustomWheel = { CamberAngle = -1, ToeAngle = 0.5 } }) + Config = table.merge(table.copy(RearWheelsConfig), { Offset = 180 }) } }) diff --git a/koptilnya/engine_remastered/powertrain/wheel.txt b/koptilnya/engine_remastered/powertrain/wheel.txt index 33ecdb1..6304d34 100644 --- a/koptilnya/engine_remastered/powertrain/wheel.txt +++ b/koptilnya/engine_remastered/powertrain/wheel.txt @@ -21,7 +21,6 @@ function Wheel:initialize(vehicle, name, config) local font = render.createFont("Roboto", 256, 400, true) local mat = render.createMaterial('models/debug/debugwhite') - hook.add("PostDrawTranslucentRenderables", "DEBUG_RENDER_" .. self.name, function() if next(self.DEBUG_DATA) == nil then return end if not isValid(self.DEBUG_DATA.entity) then return end @@ -67,7 +66,7 @@ function Wheel:initialize(vehicle, name, config) self.holo = self:createHolo(self.entity) - self.customWheel = CustomWheel:new(config.CustomWheel) + self.customWheel = CustomWheel:new(table.merge(table.copy(config.CustomWheel), { Direction = self.direction })) hook.add('input', 'vehicle_wheel_update' .. self.name, function(name, value) if name == self.name then diff --git a/koptilnya/engine_remastered/wheel/wheel.txt b/koptilnya/engine_remastered/wheel/wheel.txt index abef0a7..e2bad14 100644 --- a/koptilnya/engine_remastered/wheel/wheel.txt +++ b/koptilnya/engine_remastered/wheel/wheel.txt @@ -12,6 +12,7 @@ local Wheel = class('Wheel') function Wheel:initialize(config) config = config or {} + self.direction = config.Direction or 1 self.mass = config.Mass or 20 self.radius = config.Radius or 0.27 self.rollingResistance = config.RollingResistance or 20 @@ -19,7 +20,7 @@ function Wheel:initialize(config) self.slipCircleShape = config.SlipCircleShape or 1.05 self.casterAngle = math.rad(config.CasterAngle or 0) self.camberAngle = math.rad(config.CamberAngle or 0) - self.toeAngle = math.rad(config.ToeAngle or 0) + self.toeAngle = math.rad(config.ToeAngle or 0) * -self.direction self.forwardFriction = Friction:new(config.ForwardFriction) self.sideFriction = Friction:new(config.SideFriction)