Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Carts: Check for last pathfinder predition too
Minor fix to reduce cart jitter slightly
  • Loading branch information
SmallJoker committed Jul 30, 2017
1 parent 71dff2a commit 8f1f376
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions mods/carts/functions.lua
Expand Up @@ -159,23 +159,29 @@ function carts:get_rail_direction(pos_, dir, ctrl, old_switch, railtype)
end

function carts:pathfinder(pos_, old_pos, old_dir, ctrl, pf_switch, railtype)
if vector.equals(old_pos, pos_) then
return true
end

local pos = vector.round(pos_)
local pf_pos = vector.round(old_pos)
local pf_dir = vector.new(old_dir)

for i = 1, 3 do
if vector.equals(pf_pos, pos) then
-- Success! Cart moved on correctly
return true
end
pf_dir, pf_switch = carts:get_rail_direction(
pf_pos, pf_dir, ctrl, pf_switch, railtype)

pf_dir, pf_switch = carts:get_rail_direction(pf_pos, pf_dir, ctrl, pf_switch, railtype)
if vector.equals(pf_dir, {x=0, y=0, z=0}) then
-- No way forwards
return false
end

pf_pos = vector.add(pf_pos, pf_dir)

if vector.equals(pf_pos, pos) then
-- Success! Cart moved on correctly
return true
end
end
-- Cart not found
return false
Expand Down

0 comments on commit 8f1f376

Please sign in to comment.