aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/game/item.lua4
1 files changed, 2 insertions, 2 deletions
diff --git a/builtin/game/item.lua b/builtin/game/item.lua
index e51da6d6b..a8dc51d61 100644
--- a/builtin/game/item.lua
+++ b/builtin/game/item.lua
@@ -109,7 +109,7 @@ local facedir_to_dir_map = {
1, 4, 3, 2,
}
function core.facedir_to_dir(facedir)
- return facedir_to_dir[facedir_to_dir_map[facedir]]
+ return facedir_to_dir[facedir_to_dir_map[facedir % 32]]
end
function core.dir_to_wallmounted(dir)
@@ -144,7 +144,7 @@ local wallmounted_to_dir = {
{x = 0, y = 0, z = -1},
}
function core.wallmounted_to_dir(wallmounted)
- return wallmounted_to_dir[wallmounted]
+ return wallmounted_to_dir[wallmounted % 8]
end
function core.dir_to_yaw(dir)
n> require("ars") local arstb = {{ ln="Foo"}, {c="Bar"}, {n=true, rc="Boo"}} local arsdef = {{ ln="Foo"}, {c="Bar"}, {rc="Boo"}, default=true} local arstr = [[LN Foo #Bar !RC Boo]] local defstr = [[* LN Foo #Bar RC Boo]] il = _G.advtrains.interlocking describe("ars_to_text", function () it("read table", function () assert.equals(il.ars_to_text(arstb),arstr) end) it("reads back and forth", function () assert.equals(il.ars_to_text(il.text_to_ars(arstr)),arstr) end) it("handles default routes properly", function () assert.equals(il.ars_to_text(arsdef),defstr) end) end) describe("text_to_ars", function () it("writes table", function() assert.same(il.text_to_ars(arstr),arstb) end) it("handles default routes properly", function () assert.same(il.text_to_ars(defstr),arsdef) end) end) train1 = {} train2 = {} train3 = {} train1.line = "Foo" train1.routingcode = "Boo" train2.line= "Bar" train2.routingcode = "NotBoo NotBoo" train3.routingcode = "Foo Boo Moo Zoo" describe("check_rule_match", function () it("matches rules correctly", function() assert.equals(il.ars_check_rule_match(arstb,train1),1) assert.equals(il.ars_check_rule_match(arsdef,train2),nil) end) it("matches negative rules", function() assert.equals(il.ars_check_rule_match(arstb,train2),3) assert.equals(il.ars_check_rule_match(arstb,train3),nil) end) it("matches RC in a list correctly", function() assert.equals(il.ars_check_rule_match(arsdef,train3),3) end) end)