Fix controls not working when going uphill

This commit is contained in:
SmallJoker 2018-07-04 22:04:55 +02:00
parent 7e275e1985
commit 34155473a9

View File

@ -107,7 +107,17 @@ function boost_cart:get_rail_direction(pos_, dir, ctrl, old_switch, railtype)
right.z = -dir.x
end
if ctrl and dir.y == 0 then
local straight_priority = ctrl and dir.y ~= 0
-- Normal, to disallow rail switching up- & downhill
if straight_priority then
cur = self:check_front_up_down(pos, dir, true, railtype)
if cur then
return cur
end
end
if ctrl then
if old_switch == 1 then
left_check = false
elseif old_switch == 2 then
@ -130,9 +140,11 @@ function boost_cart:get_rail_direction(pos_, dir, ctrl, old_switch, railtype)
end
-- Normal
cur = self:check_front_up_down(pos, dir, true, railtype)
if cur then
return cur
if not straight_priority then
cur = self:check_front_up_down(pos, dir, true, railtype)
if cur then
return cur
end
end
-- Left, if not already checked