From 4445a831e24b98cf5d03ff354f90bc55fba81fb7 Mon Sep 17 00:00:00 2001 From: Carter Kolwey Date: Wed, 25 May 2016 22:05:52 -0500 Subject: [PATCH] Add railroad crossing stuff (signals and gates) --- init.lua | 1 + sounds/streets_rrxing_bell.ogg | Bin 0 -> 26398 bytes sounds/streets_rrxing_gate.ogg | Bin 0 -> 35717 bytes streets_rrxing/init.lua | 961 ++++++++++++++++++ textures/streets_rrgate_darkfirst.png | Bin 0 -> 762 bytes textures/streets_rrgate_end.png | Bin 0 -> 600 bytes textures/streets_rrgate_lightfirst.png | Bin 0 -> 811 bytes textures/streets_rrgate_mech_down_bottom.png | Bin 0 -> 558 bytes textures/streets_rrgate_mech_down_front.png | Bin 0 -> 504 bytes textures/streets_rrgate_mech_down_left.png | Bin 0 -> 566 bytes textures/streets_rrgate_mech_down_right.png | Bin 0 -> 562 bytes textures/streets_rrgate_mech_down_top.png | Bin 0 -> 549 bytes textures/streets_rrgate_mech_up_bottom.png | Bin 0 -> 509 bytes textures/streets_rrgate_mech_up_front.png | Bin 0 -> 573 bytes textures/streets_rrgate_mech_up_left.png | Bin 0 -> 532 bytes textures/streets_rrgate_mech_up_right.png | Bin 0 -> 540 bytes textures/streets_rrgate_side.png | Bin 0 -> 315 bytes textures/streets_rrgate_top.png | Bin 0 -> 359 bytes textures/streets_rrgate_up_left.png | Bin 0 -> 550 bytes textures/streets_rrgate_up_right.png | Bin 0 -> 527 bytes textures/streets_rrxing_bottom.png | Bin 0 -> 450 bytes textures/streets_rrxing_inv.png | Bin 0 -> 8347 bytes textures/streets_rrxing_middle.png | Bin 0 -> 1268 bytes textures/streets_rrxing_middle_back.png | Bin 0 -> 603 bytes .../streets_rrxing_middle_center_back.png | Bin 0 -> 1048 bytes textures/streets_rrxing_middle_center_off.png | Bin 0 -> 2259 bytes textures/streets_rrxing_middle_center_on.png | Bin 0 -> 3429 bytes textures/streets_rrxing_middle_left_back.png | Bin 0 -> 389 bytes textures/streets_rrxing_middle_left_off.png | Bin 0 -> 373 bytes textures/streets_rrxing_middle_left_on.png | Bin 0 -> 795 bytes textures/streets_rrxing_middle_right_back.png | Bin 0 -> 362 bytes textures/streets_rrxing_middle_right_off.png | Bin 0 -> 413 bytes textures/streets_rrxing_middle_right_on.png | Bin 0 -> 822 bytes textures/streets_rrxing_top.png | Bin 0 -> 2818 bytes textures/streets_rrxing_top_back.png | Bin 0 -> 878 bytes 35 files changed, 962 insertions(+) create mode 100644 sounds/streets_rrxing_bell.ogg create mode 100644 sounds/streets_rrxing_gate.ogg create mode 100644 streets_rrxing/init.lua create mode 100644 textures/streets_rrgate_darkfirst.png create mode 100644 textures/streets_rrgate_end.png create mode 100644 textures/streets_rrgate_lightfirst.png create mode 100644 textures/streets_rrgate_mech_down_bottom.png create mode 100644 textures/streets_rrgate_mech_down_front.png create mode 100644 textures/streets_rrgate_mech_down_left.png create mode 100644 textures/streets_rrgate_mech_down_right.png create mode 100644 textures/streets_rrgate_mech_down_top.png create mode 100644 textures/streets_rrgate_mech_up_bottom.png create mode 100644 textures/streets_rrgate_mech_up_front.png create mode 100644 textures/streets_rrgate_mech_up_left.png create mode 100644 textures/streets_rrgate_mech_up_right.png create mode 100644 textures/streets_rrgate_side.png create mode 100644 textures/streets_rrgate_top.png create mode 100644 textures/streets_rrgate_up_left.png create mode 100644 textures/streets_rrgate_up_right.png create mode 100644 textures/streets_rrxing_bottom.png create mode 100644 textures/streets_rrxing_inv.png create mode 100644 textures/streets_rrxing_middle.png create mode 100644 textures/streets_rrxing_middle_back.png create mode 100644 textures/streets_rrxing_middle_center_back.png create mode 100644 textures/streets_rrxing_middle_center_off.png create mode 100644 textures/streets_rrxing_middle_center_on.png create mode 100644 textures/streets_rrxing_middle_left_back.png create mode 100644 textures/streets_rrxing_middle_left_off.png create mode 100644 textures/streets_rrxing_middle_left_on.png create mode 100644 textures/streets_rrxing_middle_right_back.png create mode 100644 textures/streets_rrxing_middle_right_off.png create mode 100644 textures/streets_rrxing_middle_right_on.png create mode 100644 textures/streets_rrxing_top.png create mode 100644 textures/streets_rrxing_top_back.png diff --git a/init.lua b/init.lua index 98bde05..983c688 100644 --- a/init.lua +++ b/init.lua @@ -35,6 +35,7 @@ streets.load_submod("streets_installations") streets.load_submod("streets_accessories") streets.load_submod("streets_concrete") streets.load_submod("streets_poles") +streets.load_submod("streets_rrxing") if minetest.get_modpath("digilines") then streets.load_submod("streets_trafficlight") diff --git a/sounds/streets_rrxing_bell.ogg b/sounds/streets_rrxing_bell.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d59d1b9b5b635ff39beffdd922183599950ab397 GIT binary patch literal 26398 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

I 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 MeC+bLwl(R00WM)etpET3 literal 0 HcmV?d00001 diff --git a/sounds/streets_rrxing_gate.ogg b/sounds/streets_rrxing_gate.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4106df2820a4376ddae934cd183d781140e99fca GIT binary patch literal 35717 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 literal 0 HcmV?d00001 diff --git a/streets_rrxing/init.lua b/streets_rrxing/init.lua new file mode 100644 index 0000000..30fb0a6 --- /dev/null +++ b/streets_rrxing/init.lua @@ -0,0 +1,961 @@ +--[[ + ## StreetsMod 2.0 ## + Submod: rrxing + Optional: true +]] + +streets.rrxing_sound_handles = {} + +local function play_bell(pos) + local pos_hash = minetest.hash_node_position(pos) + if not streets.rrxing_sound_handles[pos_hash] then + streets.rrxing_sound_handles[pos_hash] = minetest.sound_play("streets_rrxing_bell", + {pos = pos, gain = 0.66, loop = true, max_hear_distance = 20,}) + end +end + +local function stop_bell(pos) + local pos_hash = minetest.hash_node_position(pos) + local sound_handle = streets.rrxing_sound_handles[pos_hash] + if sound_handle then + minetest.sound_stop(sound_handle) + streets.rrxing_sound_handles[pos_hash] = nil + end +end + +local function left_light_direction(pos, param2) + if param2 == 0 then + pos.x = pos.x - 1 + elseif param2 == 1 then + pos.z = pos.z + 1 + elseif param2 == 2 then + pos.x = pos.x + 1 + elseif param2 == 3 then + pos.z = pos.z - 1 + end +end + +local function right_light_direction(pos, param2) + if param2 == 0 then + pos.x = pos.x + 2 + elseif param2 == 1 then + pos.z = pos.z - 2 + elseif param2 == 2 then + pos.x = pos.x - 2 + elseif param2 == 3 then + pos.z = pos.z + 2 + end +end + +local function lights_on(pos) + local node = minetest.get_node(pos) + local param2 = node.param2 + minetest.swap_node(pos, {name = "streets:rrxing_middle_center_on", param2 = node.param2}) + left_light_direction(pos, param2) + minetest.swap_node(pos, {name = "streets:rrxing_middle_left_on", param2 = node.param2}) + right_light_direction(pos, param2) + minetest.swap_node(pos, {name = "streets:rrxing_middle_right_on", param2 = node.param2}) +end + +local function lights_off(pos) + local node = minetest.get_node(pos) + local param2 = node.param2 + minetest.swap_node(pos, {name = "streets:rrxing_middle_center_off", param2 = node.param2}) + left_light_direction(pos, param2) + minetest.swap_node(pos, {name = "streets:rrxing_middle_left_off", param2 = node.param2}) + right_light_direction(pos, param2) + minetest.swap_node(pos, {name = "streets:rrxing_middle_right_off", param2 = node.param2}) +end + +local function toggle_lights(pos) + pos.y = pos.y + 2 + local node = minetest.get_node(pos) + if node.name == "streets:rrxing_middle_center_off" then + play_bell(pos) + lights_on(pos) + elseif (node.name == "streets:rrxing_middle_center_on") then + stop_bell(pos) + lights_off(pos) + end +end + +minetest.register_node("streets:rrxing_top", { + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_top_back.png", + "streets_rrxing_top_back.png", + "streets_rrxing_top_back.png", + "streets_rrxing_top.png" + }, + on_destruct = stop_bell, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 3, not_in_creative_inventory = 1}, + node_box = { + type = "fixed", + fixed = { + {-1/16, -1/2, -1/16, 1/16, 0, 1/16}, + {-1/8, 0, -1/8, 1/8, 3/8, 1/8}, + {-1/4, 1/8, -1/4, 1/4, 1/4, 1/4}, + {-1/2, -1/2, -1/16, 1/2, 0, -1/16}, + {-1/8, -1/2, -1/16, 1/8, -1/4, 1/8} + } + }, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0} + } +}) + +minetest.register_node("streets:rrxing_middle_right_on", { + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_middle_right_back.png", + {name="streets_rrxing_middle_right_on.png",animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}} + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {not_in_creative_inventory = 1}, + light_source = 12, + node_box = { + type = "fixed", + fixed = { + {-1/2, -1/2, -1/16, -1/4, 1/2, -1/16}, + {-1/2, -5/16, -1/16, -7/16, 1/16, 3/16}, + {-1/2, 1/32, -5/16, -15/32, 3/32, -1/16}, + {-15/32, -1/8, -3/16, -13/32, 1/32, -1/16} + } + }, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0} + } +}) + +minetest.register_node("streets:rrxing_middle_right_off", { + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_middle_right_back.png", + "streets_rrxing_middle_right_off.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {not_in_creative_inventory = 1}, + node_box = { + type = "fixed", + fixed = { + {-1/2, -1/2, -1/16, -1/4, 1/2, -1/16}, + {-1/2, -5/16, -1/16, -7/16, 1/16, 3/16}, + {-1/2, 1/32, -5/16, -15/32, 3/32, -1/16}, + {-15/32, -1/8, -3/16, -13/32, 1/32, -1/16} + } + }, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0} + } +}) + +minetest.register_node("streets:rrxing_middle_left_on", { + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_middle_left_back.png", + {name="streets_rrxing_middle_left_on.png",animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}} + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + light_source = 12, + groups = {not_in_creative_inventory = 1}, + node_box = { + type = "fixed", + fixed = { + {1/4, -1/2, -1/16, 1/2, 1/2, -1/16}, + {7/16, -5/16, -1/16, 1/2, 1/16, 3/16}, + {15/32, 1/32, -5/16, 1/2, 3/32, -1/16}, + {13/32, -1/8, -3/16, 15/32, 1/32, -1/16} + } + }, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0} + } +}) + +minetest.register_node("streets:rrxing_middle_left_off", { + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_middle_left_back.png", + "streets_rrxing_middle_left_off.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {not_in_creative_inventory = 1}, + node_box = { + type = "fixed", + fixed = { + {1/4, -1/2, -1/16, 1/2, 1/2, -1/16}, + {7/16, -5/16, -1/16, 1/2, 1/16, 3/16}, + {15/32, 1/32, -5/16, 1/2, 3/32, -1/16}, + {13/32, -1/8, -3/16, 15/32, 1/32, -1/16} + } + }, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0} + } +}) + +minetest.register_node("streets:rrxing_middle_center_on", { + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_middle_center_back.png", + "streets_rrxing_middle_center_back.png", + "streets_rrxing_middle_center_back.png", + {name="streets_rrxing_middle_center_on.png",animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}} + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + light_source = 12, + groups = {not_in_creative_inventory = 1}, + node_box = { + type = "fixed", + fixed = { + {-1/16, -1/2, -1/16, 1/16, 1/2, 1/16}, + {-1/2, -1/2, -1/16, 1/2, 1/2, -1/16}, + {-1/2, -5/16, -1/16, -3/16, 1/16, 3/16}, + {3/16, -5/16, -1/16, 1/2, 1/16, 3/16}, + {-3/16, -3/16, -1/16, 3/16, -1/16, 1/8}, + {-1/2, 1/32, -5/16, -7/32, 3/32, -1/16}, + {-7/32, -1/8, -3/16, -5/32, 1/32, -1/16}, + {7/32, 1/32, -5/16, 1/2, 3/32, -1/16}, + {5/32, -1/8, -3/16, 7/32, 1/32, -1/16} + } + }, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0} + } +}) + + +minetest.register_node("streets:rrxing_middle_center_off", { + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_middle_center_back.png", + "streets_rrxing_middle_center_back.png", + "streets_rrxing_middle_center_back.png", + "streets_rrxing_middle_center_off.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {not_in_creative_inventory = 1}, + node_box = { + type = "fixed", + fixed = { + {-1/16, -1/2, -1/16, 1/16, 1/2, 1/16}, + {-1/2, -1/2, -1/16, 1/2, 1/2, -1/16}, + {-1/2, -5/16, -1/16, -3/16, 1/16, 3/16}, + {3/16, -5/16, -1/16, 1/2, 1/16, 3/16}, + {-3/16, -3/16, -1/16, 3/16, -1/16, 1/8}, + {-1/2, 1/32, -5/16, -7/32, 3/32, -1/16}, + {-7/32, -1/8, -3/16, -5/32, 1/32, -1/16}, + {7/32, 1/32, -5/16, 1/2, 3/32, -1/16}, + {5/32, -1/8, -3/16, 7/32, 1/32, -1/16} + } + }, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0} + } +}) + +minetest.register_node("streets:rrxing_middle", { + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_middle_back.png", + "streets_rrxing_middle_back.png", + "streets_rrxing_middle_back.png", + "streets_rrxing_middle.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 3, not_in_creative_inventory = 1}, + node_box = { + type = "fixed", + fixed = { + {-1/16, -1/2, -1/16, 1/16, 1/2, 1/16}, + {-3/8, -3/8, -1/8, 3/8, 3/8, -1/16}, + {-1/8, -1/8, -1/16, 1/8, 1/8, 1/8} + } + }, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0} + } +}) + +minetest.register_node("streets:rrxing_bottom", { + description = "Railroad Crossing Signal", + inventory_image = "streets_rrxing_inv.png", + wield_image = "streets_rrxing_inv.png", + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_bottom.png", + "streets_rrxing_bottom.png", + "streets_rrxing_bottom.png", + "streets_rrxing_bottom.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 3}, + node_box = { + type = "fixed", + fixed = { + {-1/16, 0, -1/16, 1/16, 1/2, 1/16}, + {-1/2, -1/2, -1/4, 1/2, -3/8, 1/4}, + {-1/4, -1/2, -1/2, 1/4, -3/8, 1/2}, + {-1/8, -3/8, -1/8, 1/8, 0, 1/8} + } + }, + selection_box = { + type = "fixed", + fixed = { + -- top + {-1/8, 0 + 3, -1/8, 1/8, 3/8 + 3, 1/8}, + {-1/4, 1/8 + 3, -1/4, 1/4, 1/4 + 3, 1/4}, + {-1/8, -1/2 + 3, -1/16 + 0.01, 1/8, -1/4 + 3, 1/8}, + -- middle center, left and right + {-9/16, -5/16 + 2, -1/16, -3/16, 1/16 + 2, 3/16}, + {3/16, -5/16 + 2, -1/16, 9/16, 1/16 + 2, 3/16}, + + {-3/16, -3/16 + 2, -1/16 + 0.01, 3/16, -1/16 + 2, 1/8}, + + {-1/2, 1/32 + 2, -5/16, -7/32, 3/32 + 2, -1/16 - 0.01}, + {-7/32, -1/8 + 2, -3/16, -5/32, 1/32 + 2, -1/16 - 0.01}, + {13/32 - 1, -1/8 + 2, -3/16, 15/32 - 1, 1/32 + 2, -1/16 - 0.01}, + + {7/32, 1/32 + 2, -5/16, 1/2, 3/32 + 2, -1/16 - 0.01}, + {5/32, -1/8 + 2, -3/16, 7/32, 1/32 + 2, -1/16 - 0.01}, + {-15/32 + 1, -1/8 + 2, -3/16, -13/32 + 1, 1/32 + 2, -1/16 - 0.01}, + -- middle + {-3/8, -3/8 + 1, -1/8, 3/8, 3/8 + 1, -1/16}, + {-1/8, -1/8 + 1, -1/16, 1/8, 1/8 + 1, 1/8}, + -- bottom + {-1/2, -1/2, -1/4, 1/2, -3/8, 1/4}, + {-1/4, -1/2, -1/2, 1/4, -3/8, 1/2}, + {-1/8, -3/8, -1/8, 1/8, 0, 1/8}, + -- post + {-1/16, 0, -1/16, 1/16, 3, 1/16} + } + }, + + on_construct = function(pos) + local node = minetest.get_node(pos) + local param2 = node.param2 + + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + + pos.y = pos.y + 1 + node.name = "streets:rrxing_middle" + minetest.set_node(pos, node) + + pos.y = pos.y + 2 + node.name = "streets:rrxing_top" + minetest.set_node(pos, node) + + pos.y = pos.y - 1 + node.name = "streets:rrxing_middle_center_off" + minetest.set_node(pos, node) + + left_light_direction(pos, param2) + node.name = "streets:rrxing_middle_left_off" + minetest.set_node(pos, node) + + right_light_direction(pos, param2) + node.name = "streets:rrxing_middle_right_off" + minetest.set_node(pos, node) + end, + + on_destruct = function(pos) + local node = minetest.get_node(pos) + local param2 = node.param2 + pos.y=pos.y+2 + stop_bell(pos, node) + pos.y=pos.y-2 + + for i = 1, 3 do + pos.y = pos.y + 1 + minetest.remove_node(pos) + end + + pos.y = pos.y - 1 + + left_light_direction(pos, param2) + minetest.remove_node(pos) + + right_light_direction(pos, param2) + minetest.remove_node(pos) + end, + + on_punch = function(pos, node) + toggle_lights(pos, node) + end, + + on_receive_fields = function(pos, formname, fields, sender) + if (fields.channel) then + minetest.get_meta(pos):set_string("channel", fields.channel) + end + end, + + digiline = { + receptor = {}, + effector = { + action = function(pos, node, channel, msg) + local setchan = minetest.get_meta(pos):get_string("channel") + if setchan ~= channel then + return + end + if (msg=="bell_on") then + pos.y = pos.y+2 + play_bell(pos) + elseif (msg=="bell_off") then + pos.y = pos.y+2 + stop_bell(pos) + elseif (msg=="lights_on") then + pos.y = pos.y+2 + lights_on(pos) + elseif (msg=="lights_off") then + pos.y = pos.y+2 + lights_off(pos) + end + end + } + } +}) + +local function move_arm(pos) + local node = minetest.get_node(pos) + local param2 = node.param2 + + if param2 == 0 then + dir = "z-" + elseif param2 == 1 then + dir = "x-" + elseif param2 == 2 then + dir = "z+" + elseif param2 == 3 then + dir = "x+" + end + + minetest.sound_play("streets_rrxing_gate", { + pos = pos, + gain = 0.66, + max_hear_distance = 20 + }) + + if node.name == "streets:rrgate_mech_down" then + minetest.set_node(pos, {name = "streets:rrgate_mech_up", param2 = node.param2}) + + if dir == "x+" then + for i = 1, 10 do + pos.x = pos.x + 1 + if (string.match(minetest.get_node(pos).name, "streets:rrgate_lightfirst") + or string.match(minetest.get_node(pos).name, "streets:rrgate_end") + or string.match(minetest.get_node(pos).name, "streets:rrgate_darkfirst")) == nil then + break + end + minetest.set_node(pos,{name="air"}) + node.name = "streets:rrgate_up" + minetest.set_node({x=pos.x-i, y=pos.y+i, z=pos.z}, node) + end + elseif dir == "x-" then + for i = 1, 10 do + pos.x = pos.x - 1 + if (string.match(minetest.get_node(pos).name, "streets:rrgate_lightfirst") + or string.match(minetest.get_node(pos).name, "streets:rrgate_end") + or string.match(minetest.get_node(pos).name, "streets:rrgate_darkfirst")) == nil then + break + end + minetest.set_node(pos,{name="air"}) + node.name = "streets:rrgate_up" + minetest.set_node({x=pos.x+i, y=pos.y+i, z=pos.z}, node) + end + elseif dir == "z+" then + for i = 1, 10 do + pos.z = pos.z + 1 + if (string.match(minetest.get_node(pos).name, "streets:rrgate_lightfirst") + or string.match(minetest.get_node(pos).name, "streets:rrgate_end") + or string.match(minetest.get_node(pos).name, "streets:rrgate_darkfirst")) == nil then + break + end + minetest.set_node(pos,{name="air"}) + node.name = "streets:rrgate_up" + minetest.set_node({x=pos.x, y=pos.y+i, z=pos.z-i}, node) + end + elseif dir == "z-" then + for i = 1, 10 do + pos.z = pos.z - 1 + if (string.match(minetest.get_node(pos).name, "streets:rrgate_lightfirst") + or string.match(minetest.get_node(pos).name, "streets:rrgate_end") + or string.match(minetest.get_node(pos).name, "streets:rrgate_darkfirst")) == nil then + break + end + minetest.set_node(pos,{name="air"}) + node.name = "streets:rrgate_up" + minetest.set_node({x=pos.x, y=pos.y+i, z=pos.z+i}, node) + end + end + + elseif node.name == "streets:rrgate_mech_up" then + minetest.swap_node(pos, {name = "streets:rrgate_mech_down", param2 = node.param2}) + if dir == "x+" then + for i = 1, 10 do + pos.y = pos.y + 1 + if string.match(minetest.get_node(pos).name, "streets:rrgate_up") == nil then + break + end + minetest.set_node(pos,{name="air"}) + if i % 2 == 1 then + node.name = "streets:rrgate_lightfirst" + else + node.name = "streets:rrgate_darkfirst" + end + if minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}).name ~= "streets:rrgate_up" then + node.name = "streets:rrgate_end" + end + minetest.set_node({x=pos.x+i, y=pos.y-i, z=pos.z}, node) + end + elseif dir == "x-" then + for i = 1, 10 do + pos.y = pos.y + 1 + if string.match(minetest.get_node(pos).name, "streets:rrgate_up") == nil then + break + end + minetest.set_node(pos,{name="air"}) + if i % 2 == 1 then + node.name = "streets:rrgate_lightfirst" + else + node.name = "streets:rrgate_darkfirst" + end + if minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}).name ~= "streets:rrgate_up" then + node.name = "streets:rrgate_end" + end + minetest.set_node({x=pos.x-i, y=pos.y-i, z=pos.z}, node) + end + elseif dir == "z+" then + for i = 1, 10 do + pos.y = pos.y + 1 + if string.match(minetest.get_node(pos).name, "streets:rrgate_up") == nil then + break + end + minetest.set_node(pos,{name="air"}) + if i % 2 == 1 then + node.name = "streets:rrgate_lightfirst" + else + node.name = "streets:rrgate_darkfirst" + end + if minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}).name ~= "streets:rrgate_up" then + node.name = "streets:rrgate_end" + end + minetest.set_node({x=pos.x, y=pos.y-i, z=pos.z+i}, node) + end + elseif dir == "z-" then + for i = 1, 10 do + pos.y = pos.y + 1 + if string.match(minetest.get_node(pos).name, "streets:rrgate_up") == nil then + break + end + minetest.set_node(pos,{name="air"}) + if i % 2 == 1 then + node.name = "streets:rrgate_lightfirst" + else + node.name = "streets:rrgate_darkfirst" + end + if minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}).name ~= "streets:rrgate_up" then + node.name = "streets:rrgate_end" + end + minetest.set_node({x=pos.x, y=pos.y-i, z=pos.z-i}, node) + end + end + end +end + +minetest.register_node("streets:rrgate_mech_down", { + description = "Railroad Crossing Gate Mechanism", + tiles = { + "streets_rrgate_mech_down_top.png", + "streets_rrgate_mech_down_bottom.png", + "streets_rrgate_mech_down_right.png", + "streets_rrgate_mech_down_left.png", + "streets_rrgate_mech_down_front.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1}, + node_box = { + type = "fixed", + fixed = { + {-1/4, -1/4, -1/4, 1/4, 1/4, 1/4}, + {-1/8, -1/2, -1/8, 1/8, -1/4, 1/8}, + + {-3/8, -1/2, -1/2, -1/4, -1/4, 1/8}, + {-3/8, -1/2, -1/8, -1/4, 1/8, 1/8}, + {-3/8, -1/8, -1/8, -1/4, 1/8, 1/2}, + {-1/2, -3/16, 1/4, -3/8, 3/16, 1/2}, + {-1/2, -1/8, 3/16, -3/8, 1/8, 1/2}, + {-1/2, -1/16, 1/8, -3/8, 1/16, 1/2}, + + {1/4, -1/2, -1/2, 3/8, -1/4, 1/8}, + {1/4, -1/2, -1/8, 3/8, 1/8, 1/8}, + {1/4, -1/8, -1/8, 3/8, 1/8, 1/2}, + {3/8, -3/16, 1/4, 1/2, 3/16, 1/2}, + {3/8, -1/8, 3/16, 1/2, 1/8, 1/2}, + {3/8, -1/16, 1/8, 1/2, 1/16, 1/2}, + + {-3/8, -1/2, -1/2, 3/8, -1/4, -3/8}, + + {-7/16, -1/16, -1/16, 7/16, 1/16, 1/16} + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/4, -1/4, -1/4, 1/4, 1/4, 1/4}, + {-1/8, -1/2, -1/8, 1/8, -1/4, 1/8}, + + {-3/8, -1/2, -1/2, -1/4, -1/4, 1/8}, + {-3/8, -1/2, -1/8, -1/4, 1/8, 1/8}, + {-3/8, -1/8, -1/8, -1/4, 1/8, 1/2}, + {-1/2, -3/16, 1/4, -3/8, 3/16, 1/2}, + {-1/2, -1/8, 3/16, -3/8, 1/8, 1/2}, + {-1/2, -1/16, 1/8, -3/8, 1/16, 1/2}, + + {1/4, -1/2, -1/2, 3/8, -1/4, 1/8}, + {1/4, -1/2, -1/8, 3/8, 1/8, 1/8}, + {1/4, -1/8, -1/8, 3/8, 1/8, 1/2}, + {3/8, -3/16, 1/4, 1/2, 3/16, 1/2}, + {3/8, -1/8, 3/16, 1/2, 1/8, 1/2}, + {3/8, -1/16, 1/8, 1/2, 1/16, 1/2}, + + {-3/8, -1/2, -1/2, 3/8, -1/4, -3/8}, + + {-7/16, -1/16, -1/16, 7/16, 1/16, 1/16} + } + }, + + after_place_node = function(pos) + local node = minetest.get_node(pos) + node.name = "streets:rrgate_mech_bottom" + minetest.set_node(pos, node) + pos.y = pos.y + 1 + node.name = "streets:rrgate_mech_down" + minetest.set_node(pos, node) + end, + + after_dig_node = function(pos) + pos.y = pos.y - 1 + minetest.set_node(pos,{name="air"}) + end, + + on_punch = function(pos) + move_arm(pos) + end +}) + +minetest.register_node("streets:rrgate_mech_up", { + tiles = { + "streets_rrgate_mech_down_front.png", --A bit "different", I know, but that texture works + "streets_rrgate_mech_up_bottom.png", + "streets_rrgate_mech_up_right.png", + "streets_rrgate_mech_up_left.png", + "streets_rrgate_mech_up_front.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1,not_in_creative_inventory = 1}, + drop = "streets:rrgate_mech_down", + node_box = { + type = "fixed", + fixed = { + {-1/4, -1/4, -1/4, 1/4, 1/4, 1/4}, + {-1/8, -1/2, -1/8, 1/8, -1/4, 1/8}, + + {-3/8, -1/8, -1/2, -1/4, 1/2, -1/4}, + {-3/8, -1/8, -1/2, -1/4, 1/8, 1/8}, + {-3/8, -1/2, -1/8, -1/4, 1/8, 1/8}, + {-1/2, -1/2, -3/16, -3/8, -1/4, 3/16}, + {-1/2, -1/2, -1/8, -3/8, -3/16, 1/8}, + {-1/2, -1/2, -1/16, -3/8, -1/8, 1/16}, + + {1/4, -1/8, -1/2, 3/8, 1/2, -1/4}, + {1/4, -1/8, -1/2, 3/8, 1/8, 1/8}, + {1/4, -1/2, -1/8, 3/8, 1/8, 1/8}, + {3/8, -1/2, -3/16, 1/2, -1/4, 3/16}, + {3/8, -1/2, -1/8, 1/2, -3/16, 1/8}, + {3/8, -1/2, -1/16, 1/2, -1/8, 1/16}, + + {-3/8, 3/8, -1/2, 3/8, 1/2, -1/4}, + + {-7/16, -1/16, -1/16, 7/16, 1/16, 1/16} + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/4, -1/4, -1/4, 1/4, 1/4, 1/4}, + {-1/8, -1/2, -1/8, 1/8, -1/4, 1/8}, + + {-3/8, -1/8, -1/2, -1/4, 1/2, -1/4}, + {-3/8, -1/8, -1/2, -1/4, 1/8, 1/8}, + {-3/8, -1/2, -1/8, -1/4, 1/8, 1/8}, + {-1/2, -1/2, -3/16, -3/8, -1/4, 3/16}, + {-1/2, -1/2, -1/8, -3/8, -3/16, 1/8}, + {-1/2, -1/2, -1/16, -3/8, -1/8, 1/16}, + + {1/4, -1/8, -1/2, 3/8, 1/2, -1/4}, + {1/4, -1/8, -1/2, 3/8, 1/8, 1/8}, + {1/4, -1/2, -1/8, 3/8, 1/8, 1/8}, + {3/8, -1/2, -3/16, 1/2, -1/4, 3/16}, + {3/8, -1/2, -1/8, 1/2, -3/16, 1/8}, + {3/8, -1/2, -1/16, 1/2, -1/8, 1/16}, + + {-3/8, 3/8, -1/2, 3/8, 1/2, -1/4}, + + {-7/16, -1/16, -1/16, 7/16, 1/16, 1/16} + } + }, + + after_dig_node = function(pos) + pos.y = pos.y - 1 + minetest.set_node(pos,{name="air"}) + end, + + on_punch = function(pos) + move_arm(pos) + end +}) + +minetest.register_node("streets:rrgate_mech_bottom", { + tiles = { + "streets_tl_bg.png", + "streets_tl_bg.png", + "streets_rrxing_bottom.png", + "streets_rrxing_bottom.png", + "streets_rrxing_bottom.png", + "streets_rrxing_bottom.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1,not_in_creative_inventory = 1}, + drop = "streets:rrgate_mech_down", + node_box = { + type = "fixed", + fixed = { + {-1/16, -1/2, -1/16, 1/16, 1/2, 1/16}, + {-1/2, -1/2, -1/4, 1/2, -3/8, 1/4}, + {-1/4, -1/2, -1/2, 1/4, -3/8, 1/2}, + {-1/8, -1/2, -1/8, 1/8, 0, 1/8} + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/16, -1/2, -1/16, 1/16, 1/2, 1/16}, + {-1/2, -1/2, -1/4, 1/2, -3/8, 1/4}, + {-1/4, -1/2, -1/2, 1/4, -3/8, 1/2}, + {-1/8, -1/2, -1/8, 1/8, 0, 1/8} + } + }, + + after_dig_node = function(pos) + pos.y = pos.y + 1 + minetest.set_node(pos,{name="air"}) + end, + + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + end, + + on_receive_fields = function(pos, formname, fields) + if (fields.channel) then + minetest.get_meta(pos):set_string("channel", fields.channel) + end + end, + + digiline = { + receptor = {}, + effector = { + action = function(pos, node, channel, msg) + local setchan = minetest.get_meta(pos):get_string("channel") + if setchan ~= channel then + return + end + pos.y = pos.y + 1 + local mechnode = minetest.get_node(pos) + if ((msg == "up" and mechnode.name=="streets:rrgate_mech_down") or (msg == "down" and mechnode.name=="streets:rrgate_mech_up")) then + move_arm(pos) + end + end + } + }, +}) + +minetest.register_node("streets:rrgate_lightfirst", { + description = "Railroad Crossing Gate", + tiles = { + "streets_rrgate_top.png", + "streets_rrgate_side.png", + {name="streets_rrgate_lightfirst.png",animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}}, + {name="streets_rrgate_lightfirst.png",animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}}, + "streets_rrgate_side.png", + "streets_rrgate_side.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1}, + light_source = 12, + node_box = { + type = "fixed", + fixed = { + {-1/8, -1/2, -1/2, 1/8, -7/16, 1/2}, + {-1/8, -5/16, -1/2, 1/8, -1/4, 1/2}, + {-1/8, -1/2, -1/2, -1/16, -1/4, 1/2}, + {1/16, -1/2, -1/2, 1/8, -1/4, 1/2}, + {0, -1/4, -1/8, 0, 0, 1/8} + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/8, -1/2, -1/2, 1/8, -1/4, 1/2} + } + } +}) + +minetest.register_node("streets:rrgate_darkfirst", { + tiles = { + "streets_rrgate_top.png", + "streets_rrgate_side.png", + {name="streets_rrgate_darkfirst.png",animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}}, + {name="streets_rrgate_darkfirst.png",animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}}, + "streets_rrgate_side.png", + "streets_rrgate_side.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1,not_in_creative_inventory = 1}, + drop = "streets:rrgate_lightfirst", + node_box = { + type = "fixed", + fixed = { + {-1/8, -1/2, -1/2, 1/8, -7/16, 1/2}, + {-1/8, -5/16, -1/2, 1/8, -1/4, 1/2}, + {-1/8, -1/2, -1/2, -1/16, -1/4, 1/2}, + {1/16, -1/2, -1/2, 1/8, -1/4, 1/2}, + {0, -1/4, -1/8, 0, 0, 1/8} + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/8, -1/2, -1/2, 1/8, -1/4, 1/2} + } + } +}) + +minetest.register_node("streets:rrgate_end", { + tiles = { + "streets_rrgate_top.png", + "streets_rrgate_side.png", + "streets_rrgate_end.png", + "streets_rrgate_end.png", + "streets_rrgate_side.png", + "streets_rrgate_side.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1,not_in_creative_inventory = 1}, + drop = "streets:rrgate_lightfirst", + node_box = { + type = "fixed", + fixed = { + {-1/8, -1/2, -1/2, 1/8, -7/16, 1/2}, + {-1/8, -5/16, -1/2, 1/8, -1/4, 1/2}, + {-1/8, -1/2, -1/2, -1/16, -1/4, 1/2}, + {1/16, -1/2, -1/2, 1/8, -1/4, 1/2}, + {0, -1/4, -1/8, 0, 0, 1/8} + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/8, -1/2, -1/2, 1/8, -1/4, 1/2} + } + } +}) + +minetest.register_node("streets:rrgate_up", { + tiles = { + "streets_rrgate_side.png", + "streets_rrgate_side.png", + "streets_rrgate_up_left.png", + "streets_rrgate_up_right.png", + "streets_rrgate_top.png", + "streets_rrgate_side.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1,not_in_creative_inventory = 1}, + drop = "streets:rrgate_lightfirst", + node_box = { + type = "fixed", + fixed = { + {-1/8, -1/2, -1/2, 1/8, 1/2, -7/16}, + {-1/8, -1/2, -5/16, 1/8, 1/2, -1/4}, + {-1/8, -1/2, -1/2, -1/16, 1/2, -1/4}, + {1/16, -1/2, -1/2, 1/8, 1/2, -1/4}, + {0, -1/8, -1/4, 0, 1/8, 0} + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/8, -1/2, -1/2, 1/8, 1/2, -1/4} + } + } +}) diff --git a/textures/streets_rrgate_darkfirst.png b/textures/streets_rrgate_darkfirst.png new file mode 100644 index 0000000000000000000000000000000000000000..70b1cd39b4db7720fe18a917cde0a09a5185d365 GIT binary patch literal 762 zcmVt6+dvS8zw!EzaBxCE6%wcvm8yNE_WgJX-U5L{5f=#c3K4J)5*Znvu!>roUn8q0Z$$pL!3 zo?Z$A8yg!MKq-aS?*lN~+Cn57>gMJ~-kkxUn7sO37jE4Sv)K%QR>l7C@W9eE0PxuB z72k2UyWA*fx7*tDJOH%Lv=;;c{eEAT7KULM>cs^Nhr>o=$=%(Z25{X>4)giE++u$p zfYix$ON;Oo7>~!97FwAalv11n!Q&$U6JvKTE=o)ldvC`3y9UhUjd6DNZw3Z~fnHR1 z9?wo?^0{G1oBv`w@~6`*I*cX?2ClA3o+_nE4CjnI&%o!;uk-x+`sL@q)Oe7u(A(Y3 z>Pb@a+%+ptOuJkYc|B*qy}X1ZDKwQMG2>P3&YSM}@p1i=(D(h!%Z|1vr5JB@E-9)^yC(`d)-cDbAy) z4NN6t<82?Ox%Zzsop=*C0FFi@jz%L6fGrUYHaBCy(KQ^a`#N@fprbX1!(m}O91iJd zjo)C*M)`rc{&R~blL@g?|FvJYM>-SXUW6ZOYlZRq>MHjlOrIixcNO7Ys}+Axst{oW zj9V?vZf|RguyGiETwjkptPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_0005&Nkl5ljoq8cREK?IV67}0uY&gN{!<)h17HYTCkfX{ z!Vq|`6vM$F1GIQFradK~Lm(F6YO&ZFuNDhp5yA#B178v5dCo?DAMtXzB-7e^3w%Aw zTq$Ns@$KknYy5h6$V@5LzczxuD#G(9%03vg72y;}qlnSdleY*Pui?kz$DA z&m?KKhLg!e0D{2EVYAuPZ(LkhUfp~J_yS~UiUy)6q6CyNdz8+b|Tzf3}+@<)bYHO-P_IG^Xv9w)f*Dcnbs)LtG%VD?|mMAEaNYcVVZH zu7Wy@aDo4lrQ{^G&pG}d`}n|O2-`e7J_dxN+{44;W9$JhLeKRTpi5CeKOWW6Hh`&Z z+Eo!zU~&lrd-Zx!wek^g)#=oLF)(#e!c_qYRKL~hNlR-Q+RSq=1hG<_$8il93FD2W zAYHBh(r6@`zyWa7>v7cUaR6)y!NKNc0!Zy(m~^CotO54^*lTtGh#y~%c zIJ>=dCSl<){Jg%N1X`oDW-J7Mdc9&{cz1WF0V)+khsk7;|6_mO_|>kj27UlZzmEi> zC}Ii-rT7hmBeM{LC^96wxG??Zcq8q2&y&zjo>y6*fz&o-#Y!x2=GocH9_VyBI%BsP z-wY(@CZAXjY5QGRi>lV*aS#9y4u{4AS64Ypl~OqmXC7G`1z*3u?ufg-UVa}KSqm}^ zgWX;8o~Aj=D^~N={+Dqgd(S*jxx9olopCBdYR8+G%NN(&1;@wET`JY8*+A9yHUPsg zG$)*uXKOs~0Xd!K{#U1`EaKA2%1Vw4{eC~^5hLB%d7b4aC$GwgTJ}gE*~rp1JV#}v zWPzPH+h?SePs+**)q5tTl6QtzpaO&o7_We#zczVzc=!s*b7(f3xkNvX<3eM}|1mj0 ztJNx}M6A>EEvO8WFhP2ylQCb+*>vjE9fo`{3Xe{^ofDn9ta>I#i9Y86?`P19+ plJx=UTpw_OuMhb8fUgfMfxi)kN+Z-`BJ}_O002ovPDHLkV1g+%Z=(PJ literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_mech_down_bottom.png b/textures/streets_rrgate_mech_down_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..c7fbfeaff6df0c6c931738b7b574f80f297bc161 GIT binary patch literal 558 zcmV+}0@3}6P)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_0005ONklEMm0xY@zm0-sPi75~UvuIu`Rccy7jTE;xR^s5~zpDB!g4~!)CQ*_? z2u-!kBT3Tve3m3# zuU9j7Ivu01+x^<&cs!bQW(e@SAL$V|olfR@yWNI&HiSfjXq2R)DA+G?0%ZT~cKgT+ z%Ch`*zw`)D=YzpOlC;@uj4x0PtaI&sqTlaJlIHXIKO^9kGKRyUBx%3jn{}_u=Ma7Z zvGfVxV8j%sL-}H{z|)N~6t7k*v)_0;HjbDsf!ScchJ-)${AtOl2brp>4B4V6 z;*)4di-3+tM!V)M(1Day$aPr!FjoO=9@Q?jb6 z#5$tsbQ+s=jB*qaOOz~^OXK;(-1maML!uvma5@BtFLKfW zmyA!ePk`8Y$KwmjvJ8KD0XgQY1S0JdAp3o`zv|=P9lk&C&e}c!l=FpT`=`2MNK!q% w(`ugpj)r2gA2R-*(!0a^03Fiz>De}c2S2s{b6otQ6aWAK07*qoM6N<$g4pE&bN~PV literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_mech_down_front.png b/textures/streets_rrgate_mech_down_front.png new file mode 100644 index 0000000000000000000000000000000000000000..5d019fcd7301c04da4ce7adce652785e91d51d1b GIT binary patch literal 504 zcmVPx#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_0004tNkl zOONU>3`S2&p}Ztm!2kb=MZC&8v$#E1Bn&glMjE_{V$$O8*p3Sy``E|+x)r}2XqqMf z6ve-zx7!VXx~`*rS(X4?E*AhsqY(g$#p1{RDElT*t=H=SaJ^mu*laf6Mm!#m0od>N zk@EZf9wY5YrGBlh>i{qq3^F00B5k=`hUc7CRTU{uiJZ@8o)x9GTCD;=2!UtPzQ2D0 z)9IAw2+iT?bc$95)?B++x$C>?cW-WeemERPime$* z_fH`0Z*y$q=2U;GSo3!YY`5FUe>@%mm`o;_b%9lGPK?mKxl~Eo4JwhCRjy)lKcCMd za-Qp-KzjFkbM1D!NTIc$B1uTfeowo{s#kH_wnbLc@MZEj3tr}SM?%Gi!y%dpX`k!& z-tf7mY4Rday&&l#HD{^cbvBztUqBMFJJQ+m?)xA=0xB}%bO!vNVx405-UFU<)!uzC uPx#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_0005WNkl zO>XKy5QM++*!&ofu=tU<2n)mYeF1hX;0Q>pY%q-9;-v^PN(fOF5QSdh_6(k?uC5+< z#VcO%*Ta0ZV87ot0LSAIfL5yofO8IjIF12091h-d(=-5NS$6Xq(W4oN(==@W&gU}# z-EP-Iq`Wc4L#})nolXaUvMld9z{43Z!{M;GMwTRrhxl|lc^mX>t@W7d^?CrT*J}XU z?KS{|!Qix(>vjnkfeU0e) zAVQ(MKIELk7;{0azSsM^OQ0XiC!`SAywu`s7Y1PRsf`F3czeO`%o(qu{0$HpWX@M-EMcgP2#w@u6Z~s z!r2fy>hsTn?`{~4M&9(4PiPj1sZd+tERkP4UIX9VAcSH-$U{dBeL~%$?zmY0uVX;! z{!IPh4Jy1pXup{FeGCYp5XcXNFr13gh;G&4`iC>{4_P1P*7`;0Z2$lO07*qoM6N<$ Ef*=3@YXATM literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_mech_down_right.png b/textures/streets_rrgate_mech_down_right.png new file mode 100644 index 0000000000000000000000000000000000000000..5399be87171a13c7a56061bddd1c2258c191e39b GIT binary patch literal 562 zcmV-20?qx2P)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_0005SNkl zO>XKi6otPy1c*R_HNXIg1uzI~KWjk(0Rw&<2sj^E!%w{vnvcx$@ zmSsdy^nNvMV7*>f_b5lBQEkHce2y`OJkM*y3W-9d(8zSoIe>cejai_D!&r)loF6Wr z^FZ07=h~RE<)1u|=Q(+vKQuSXvikR8v3NWSR;!g4g7J9lDGKvn1VY6klBVf%WkI6{ zbf$-S94glMa=8THbUFbrolXJh_xqkH_1^OnP^_d-3RDY3MzK|2p4o1<&s`0p;c!^p zD+X0wUD^(g*v4=ARg+vUo{&fC zFPRU;>fcw!zePYXlwy@rkPx#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_0005FNkl1$H#bd90O-E91Z~(kH-KsP4kuk`u%>A@nA3j z;B-1=Lg040B^kGE`_=*Kx(1*uOP;l$*19KPjjX-u*A@R8RaGV5lYpAbhk!FwtrFR6 zHtjPRHRE%yt?A`*0bn#50kB*ylkc1PmlirF5ND(d%*>cfCIB1`hva$GO4N|kG=2lmHJ~p;rqHw0&$nkhrnvJDn2`w_PZ4;?vjy!&n2+i z?UMWM|8-qw>H@=_O*dFeGl_06V~OboGk#Kk;);9;n9+W}Pp;L18A(D?W)|I}>Lv5n zc-aw%`+ZeaZ}~5Xr1B-;OkdUPxA9YtnI8drI%n+erSHEwnO-{gxcfztulj}j200000NkvXXu0mjfVgUA9 literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_mech_up_bottom.png b/textures/streets_rrgate_mech_up_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae9ed339b05cb741e9d0e0d1e5fc4ad73618d7c GIT binary patch literal 509 zcmVPx#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_0004yNkl zy^g{#5QN785)wdE)Resc`%sY{1q6hDQ`~*0>G^z` zaWonkgyZqg6_?A!>@&gu{@&7K;Cj89IkAQTwBTb8V(fG}8UOiwE=f8bkBKvY`d_b? zi7i$Xh1n;@Xd%yYlP!zI!uY4J0bUN$?RIOJK@04AZEzkY*6VfR46IhG*i|(z1sOJ- zPK~)n+-MnYgW{CZSI@RW+q$w{rxjQ?dOHW zkc!9%6Ta*DZi$va+P3Z29+Hj*h#h%LteJzH5vF|Y|3mc41m|IjeX;_k`)9!CHwbw- zG4&ep4EP@uU5|706uN6VS%Atx(6(*psyEN`*hRA2?M%%FiT?|N_;5G`_rHi;zy29$ znkM|`;Pac@HgKzE~U1V7n00000NkvXXu0mjfRlVn| literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_mech_up_front.png b/textures/streets_rrgate_mech_up_front.png new file mode 100644 index 0000000000000000000000000000000000000000..d7b7a3b73deedd9b8f74dcb90b2cc0fb3022331f GIT binary patch literal 573 zcmV-D0>b@?P)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_0005dNkl2|w? zw$teZh28Gw6362)jMGAZ`5yTZIGs-6dAr>fzgZ9xFGQ0hRaM1$nG?YM_xt@%{-Cbw zZ`aF@0Ox!#7)X*fn@z|IoCd~u_B_$=_a#ZoIFuyq_xmvJ%G^Wb6Nu$c zfDFc-lIc+HL{P}@JSLM#$cXt8n9t|I?PNq+NcinWkn8DZ&zq(RgsQ4aPohO$1bnYK z$Mn;_b3e~`hu>2lKmgC==YiE~RXi)5^!n!Psk_(-Fb)B3J^HyNo2JREBAU%+=~WTR zISuS3O8hjS*lR(rkf;YBoDTu^m@1dp?RG&S^H2l{NO9i%^x%50lF1Y86JYN==SeF7-w4RQOs z8qO87_jt(zlFai;t9=3}LNV@#jDIQlw;}W25%WBNcfKmGwh4Ry`A-|fA?|?g00000 LNkvXXu0mjf2U!Ti literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_mech_up_left.png b/textures/streets_rrgate_mech_up_left.png new file mode 100644 index 0000000000000000000000000000000000000000..4ddd6066051aa87ee52754661b49c397ef310ff7 GIT binary patch literal 532 zcmV+v0_**WP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_0004}Nklzv=;}HOB?LT2ab-7$9>xP#z zkldTFTCIGUru+Rq_$_S-!{IRSfEZ{tn>F!3l3Yn@x7z@$*Xsaz?DE*{VnXXE z7c{;<1Nu@SAB{$VtA$tyg`vBolf8hG58Pz zd7hK!`R{l@nu?KIG-Zh=Z>W2;|BETD^H3DeX0w9w${2`I7W??u{aAZ-L7Juk6PhpY z)aN`P?SxRtCnVBb<9t33koWujZ#8;<2I8}v>Toy&4E1_F0Jht0z|>ujz5RJWm8Pk` zO|;!^7kELMt1FhvWl{?Ue*6K}TCBBr@A2L~!L*OhfamSz4n7nF<|<9)t1UGNFs Wn$Nf~$swWu0000W- literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_mech_up_right.png b/textures/streets_rrgate_mech_up_right.png new file mode 100644 index 0000000000000000000000000000000000000000..91c56004d20a7c204028eb35fb584ba4d81ac1b6 GIT binary patch literal 540 zcmV+%0^|LOP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00056NklEkQPK9NXEAxi?l?0fYJ^O0TChU8zW1sMqQPL` z0NU*~0M=Rnj4=RgHk*hyu9y$6Z8MFGI= zb^{=aqJKg_+W(|^p6BkKjN(--m&*l!PN(BtYYm6PsNMv0V&|MkLf7Z>`TL}C?EN1S zJDpAd^!t4Pj>ls|JfKX}2}Ac!CKGQqNP7`dya=sUtA`KCd3kTKSm2z)IY*kNWo5in zg7J9l0Cu|_0KHz%lRynh5>@@AtK5q9U}>#4ps-rP`)~8WY&LuN`|VYrI#=)4Fw(AR edN>@KQ3YQzrrW^WKdg5E0000mJ literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_side.png b/textures/streets_rrgate_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e2836120e359cc1afb672bd17f9a8cf4d9df21b3 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE~wI&QQZ;L%S|M|=s{v+?sr;Am**B8~EZ^!tSF=)-I0J~bIR~6@WF3{Sdy4*iO#+~8T zHr9lB&l_CqY7->b7*?%1l_Pef>#E@6mov`qfB4*dk^ENAXx__9Pe*~g?dj_0vd$@? F2>?l+d9nZi literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_top.png b/textures/streets_rrgate_top.png new file mode 100644 index 0000000000000000000000000000000000000000..5f997a498c707cccecb925c84d17f941634b91de GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE!3S<;+V`?lrV-T~YdOZ)o7d9k;e!Wq54CByil2!BK!AVA|56%D4ml;ZJrY-Y;ML zDEBtQiO+v7vD@??*rc=k7PsVoPK~empA2|a)fx-B)nTwAU!pB4Z0z~}VF+W+4~ zOneugmzv-aeEsWQO@Z&HxsU!W)B5wZAw%AE;=;XiCjC`6;9+KP4P-Fzy&SGtk*7W- zaf(W(q4FQ~gm4|+%-HMG1vdQW-ES-Scg_L%gIg0)Uob7Z1qvchS3j3^P60@?kEP)R%|NkkalyV;XSP&DEhNz=X zAL_)WCY(Z?xIny&xYw+GRjk)*3s9CN0AUycP}em8v)N4G5t93RpWpvK0ae$i+gp@U zD5WsQV2nX)jn>*ff&JCPgLh*`2^3L85k&;X5G)o5ArL}PRTWiL`6tkO^7!c8=mCK; z3@O79RoAGxMm7!dg6`-m;BX-lI&Aa5Iu`L4AaPoO3qk8P(uK7^r-Zxrjqw$5J63J& zx8iu|pH8P1AP52gmdoWJJ>sMSf7=6KGMV)JktE3=J`$_zYYW}ZYo!2KY_~wy9ktd( zSq6Za&-YbwwOXB}#IIw(83zc`^cHk*xzq6lLQ>#HlOn;V1>NGZ?uKYWjYr>BF3f9(N~rfJVm zmSuyap-9v8Aive!9nfXPpN|jEGvQCXzx%Y;C*UR^Yc1AV@;oPhdn1oy@-`E^5;(c? z`s&>{fY|MJ7N95!0Gg)xT4-ay|9`>A&{BSJa64CRFYsLf9mZE++jc#-bJyj>iMe2C ojIV(6wNt>hv!J{8jnNhO1iK}tLzRH0%m4rY07*qoM6N<$g4RO#=l}o! literal 0 HcmV?d00001 diff --git a/textures/streets_rrgate_up_right.png b/textures/streets_rrgate_up_right.png new file mode 100644 index 0000000000000000000000000000000000000000..c77759763db8105bffc948b01e6c37f081e4218e GIT binary patch literal 527 zcmV+q0`UEbP)B^s;*>frUZ~ffz#U zM3$^QSn?*#hApgRA37kAMu?gD=b!Od5LwEybO6Q}0F+VyXsrQAVmt6JnZ-8Hwk-fc zh!ee(68H)T^oC}gDQhhN^Z6Y33J8SUhscwpi#c#(as;9~VD9cP#?ZEHA2mQ#Ra8|q z5(4-47q7&{n}K9|eeD2*bMXG&bD?P(U~CTD+?=TfLtwdFI_Po>u-okfz&&p-WckSfTs%!Psl;)75wn`sh@=GkX2BYGpeqEBmII!7l{)%R({~&<_K|lG|F#0@@gqhGs z>^v8YpO7X;Aie{u)yZ*Y3^QZUX^KwMkr4Rc#IcN)f_Al{O%kk>SSd-hCe?am4!pda zsp3yW+pUA6f59Yy+uOb)PE!R(oQOXa8-pGd&5dOaUXbnQL70(Y)*K0-mQYU@$B>F!Z)flBYc>#Yef*(~?a2TC3aqj& zd$z~k_vj01(Xmdq;!e5n@y_dwyzk12N@C0Z^@iADeGs(4$6?+jb(Yxn(&UL$ARm%O2Vt@S(`PELjc bWq%m7dDFJ;mVev?w2{Hn)z4*}Q$iB}o+7i! literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_inv.png b/textures/streets_rrxing_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f6c6296df3c49ed8a1f723830ac10a85257b93 GIT binary patch literal 8347 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 A&Hw-a literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle.png b/textures/streets_rrxing_middle.png new file mode 100644 index 0000000000000000000000000000000000000000..5185a297cd658bf8cce8d54f6ca840130d52f732 GIT binary patch literal 1268 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_000DsNkl$TNm=wVcT z=s_WbHKK;Yq4oK1Z*N3Ibbo)}UK%_hRI)9JKP{6$ez z>Astro666;y1F`y5`2Aq)nb^4Xti2t7y11BOeZHN+UKQdTEcuB$HwE84G{Y^wfgTbJ5?_e;XkB^UbA)sS=mD&HvYA{Vx zIy*bFsm3igv^`weqcskg&*#?blgXr0kE#URNCYruIj8n|y@Hqdyvo=*T)OIi#O8!!t->!XD=OqjYlqZQ4n#+auY@E?%4VP%jME2cbChhQ3l({w=oFl z7EeTUd3o8n&Nt1i6(z{l&hvcl#j7N!(;2hb%or&Q(Oni_$pDOT#2RBv#XRCaj^hGz z3n8?6Lf5-f*IW0%FD)~KQ-ezguzVSSdZ&GtLEO#W|InUp)Brk_Hsi;xgN0v`%Y*EXyd% zvf6ubyW*XV(DeR+lLHvzj9cD&tE2L=EZbt27oc{Nb-z<<4~!UFpOLR|@6x3Mc1nYF z*&V&6n^ck{J7*0{y`7Z9x|cUm+NNn*_*1!|iQz1UCX~>YsBnxe zEmyIF_nV~l-Q68KM(hOv{64_+4UcKTc#L~_xU+-?#6AQbB0L5w$vkvY|;e62ZtJTW)1NMr5rbm(_(h+g~{|$Nrcmw=`j?m7e16jdVTlfg@ e2Ji-Gef$AOQbRfe>L1(y0000H literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle_back.png b/textures/streets_rrxing_middle_back.png new file mode 100644 index 0000000000000000000000000000000000000000..469addf5c9a4fb6907c8993f5face0e2e06e3502 GIT binary patch literal 603 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x37`TN&n2}-D90{P7cb+beAr-gY&i3waau8@ax?Mv}#`Dkr{iipJ z^SeA*_@MOp?IqTmcN{tLDmuNwM=SQKsqus}YJIogn*BL*dmHbu&o=(c=A5tj_EeE! zpKQa^EBZBd^Bwm^tqoyha$u<0!1kolF5>a)uU04I``tS})Z}G3TrYK;mm2wD-&3PG zkN(z~&#$+TY5G&NQ)LwcqXNUfb&Q^qX2`5tb!t!j=9@F54o2vREjw25c0%e*OZ(6U z1_6f0CJl3xm!I63C~@Y`b(RayfA2G&@87%Pb(E9>7e@nUEyHh%<0n0XWS*+2e5&!UL-TwYhvS3S(WitGJm$$w96X!ik2Gh3d z=DxyD?kGR02?hC~=Q2al8Ef_gzxD46r#!wRzu^6iyzQ450v#CsEM~h9U0pk;_Wt7? z<@TlzDr{!$J7B#$fR%%RQD8aamtRjbEML4;oOeEb^5f-~PsT_u$;`^)`mX#U85}rA zG8rr*rY(K>^`-ERe&^RZyL$AMP$vt?z-x27-nrZwM jgTe~DWM4fxy%Hx literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle_center_back.png b/textures/streets_rrxing_middle_center_back.png new file mode 100644 index 0000000000000000000000000000000000000000..7c504728601a18db354b092e3dea1d0423fb3527 GIT binary patch literal 1048 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 literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle_center_on.png b/textures/streets_rrxing_middle_center_on.png new file mode 100644 index 0000000000000000000000000000000000000000..575ebcacfc1daf7423033b6e73f6722e5c9f0f03 GIT binary patch literal 3429 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 literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle_left_back.png b/textures/streets_rrxing_middle_left_back.png new file mode 100644 index 0000000000000000000000000000000000000000..8d7367636cdda36ef9041b2065ee47c5493c87b5 GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x37`TN&n2}-D90{Nn2~QWtkcwMxXPxb9Q4nBDd@Nt}@NayOu&G3E zqQ9EA`r*89Y2{aQ72@o=wxt&Efz1OFIS-S2em+02N#|Y=L;N+~j9c4u+2oYh%t*M` z(9d{8V)Gh)i3J~Z1)Nr_E4u%E)qOsR58=#PzHxqGd~6}cY&qSjB3|!@iSJFz=ih3- zOE@sFeE26-aKGH}LTT*B>f761*|0_MI-K6lWSSt+_G;er+D04u0}M?cYl_&rJ literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle_left_off.png b/textures/streets_rrxing_middle_left_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3acc761abf509c05b508e7813097ab36e4cd7d3d GIT binary patch literal 373 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-77kAr$B>F!Z)ct5YBmsHyKdi<;d9@KtsS_gKOg22Z<7YN@J561m_gTxhz?wb+CbZ>(t5T z9oaH;b7raOD{XpTUGpfllW~=?!kj<*Coo2Fz1;O~+xhv=CD+bgc96lWfj8g=>!Iy) z(++IQEqo!$%C^ENLB`#mEyC=;?}&!d*u|x{w{6dFyuK-+p|jGVk6m)Xk%lerzt_sI z?SK5^m)QY^)vfl14kv9C&M+3;uc-1bI5&}T6_1DS0fyI~8@}wFf5^7sxq>XZN^;xDh-QopFuV#B<)Tozmwjo|EpgTe~ HDWM4f-(-`g literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle_left_on.png b/textures/streets_rrxing_middle_left_on.png new file mode 100644 index 0000000000000000000000000000000000000000..6d6851bb9b3e0fadbed41a5c9286734ea126e143 GIT binary patch literal 795 zcmV+$1LXXPP)+ z3;L%300000006)%MQ#Bv7K_2g&IkiCp|0yzlFG6a2K1G>4o0Iz|qR;yN$cDvoM z$4A!ZZHoaeb3o|%r1IADB{{%Z4w%hmN5}d7en05>%kfx}G$jXQG7nI6&xf9Wg8|MA z7~8!a=YU<)z4~xr=SyqfS#H39a}Qv-T(&RW`=N&?VV+=re~$r93~1Y-0GrKbV8E;C zRFbr?^Vin%S2s5p;CdcVM05Qr%ml6da(#^fE)0mr{rP-8nER_~Ud$O7;C2ZRR)f|) z7hP8PW#?aSZ!y5den8j0&MYk^e zfB{bT1B#+Jx+)B_g?lsNyFDMk0RLI8GompQY^|st7~pIa2*huIR8@6!?$47UuLi^> z#0DHj37!i$Hz1W0VlW_=KvO1QKyCrA*K6Js1poj5000000Dydhg zKqdwx>jxN9s~-@r1)lEiFd&QlfD~8c04D~d>IVdxsD41aHo$;f1AoK-C;I`(`T>b~ zLS5J709OXYCSXAB`vL#d4~SqMz;c)i;ByoRoT?wdo}hOFViPbRR|8Txfl=Uy0pUy2 z>a~3{TDwrCx{ox^C4G|g&4US*{(g2_QP6!FJAO;L@9igKn*%12p3X5~>IeKMCaeXV Z@CU#NzaiiC;p6}S002ovPDHLkV1mN*Q?>vA literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle_right_back.png b/textures/streets_rrxing_middle_right_back.png new file mode 100644 index 0000000000000000000000000000000000000000..cb6a9bcebd0c584e0a1b4512bd4f7ca01d40b6b9 GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x37`TN&n2}-D90{P{Ur!gukcwMxXPxG1G2n51+^y8b@$3J5&5n%p z&|@u?x$2hb(^D_ap1mxD1!NQmBn7&9SIk;g)1NIO&@v@ROfYknTfl){vr{McGxL9# zbz_rGq{|ZvzS>8ny-YFH4wgUT4>IpjG2%IV+Oj@&de`oC&Ws`rOcryPmTq6m{^s{O z-}S2k8nju@e4g{M;RM%-NbZE&W}@F~&+9pG2QVC$OL+dzqEE~2{O8AcAOV{P`!|-? z-hTXT-h?10#w^QElRPQ~oft3PXMVFU|DoIgi6snn%N-8>W5|roE#AXf72Xia#MQB? tp?ux}k&a~z`Cbl;7lq=kPo2Mr!C&s_9J7nB9Mr+y@^tlcS?83{1OQpQhROf{ literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle_right_off.png b/textures/streets_rrxing_middle_right_off.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e378acedf4a99b10f1ccc3444dd66b2022801c GIT binary patch literal 413 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-76VTg$B>F!Z)Y9MYf%tzXivMUkb9``|9^JV zz~+lmRf{x_Y<(N}Z13f+d2PoH&L}Yf%>jd52KRpdC{B=ZU#!WHe~Y)m#CI~Uit?5j z3+^>cXZ&#QxRHH=L+|c}t>22K?OwOKs{BC1eyM=$xel@yzSo)wBSMGXtde?$C@(Bm- z^8WBJ_7w`ra`?4z-RsP^`D^#uNP~oDc!{21JjK&-uCwFBzW2+s_od8I<5^K8{zG4p z#mXsEBH-G$m2yA+J(%b{Y1a`&mLdj51qRV44fm^>QtcBY*#1cdMY3Np`z$emN8@_U xOyR8k+AWOh;|jcex*2b8oBF&quZ!u$L+&FpqJp@}6m&qL;OXk;vd$@?2>?EKrKA7= literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_middle_right_on.png b/textures/streets_rrxing_middle_right_on.png new file mode 100644 index 0000000000000000000000000000000000000000..5517f0db71c6d49e5fa35f9e6a7bcd3ab6eb2f1a GIT binary patch literal 822 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!3HFEH|A#nDYhhUcNd2LAh=-f^2tCE&H|6f zVg?3oVGw3ym^DWND9B#o>Fdh=fRUG3P;bWN3nv*Em=1foIEGZ*dOK%t(X9Z1*8UC_ zj@F)86*D|1s%_QY?;NL+KT&D&@#5^?jF*nIaxZq|5d64UI@pWc z`TH)bd}ldh*CGuta=K#ezW*tA1J3~t2c`YGlODe~lFg!^#w6m(x>n=-=Wq9gT?1Vd zc@JomFg;T7tWuxS5#Yfwui+r$iO+ks{%d5ZsNq_YS#|Byo%(%GH~6JR43gKM);y-BjC2k7L8ey~mjK&5zW2Z1IY@Zd%L0-oX6e z0Q;UW;VoYqo)(>~Z)@sd-V-^GMT4>IT=e`0wQB`9C3YPMO_nkpgpy2}v zC5=<7Z`do8Fu{l)%N?xdmW9dPU_bDW@gC<4ZpK}DPf{;&3%-$mV9WPI<2Q5G#tP-v zOwpEU{~6x1#B?5=|D@$t)82Igy*2DDDi0>V5nbheH$rB4Fhj#Tsff_f_uN38y$$D& zD>FQZeD+Iz=I`Efe;MN+sAj7$%ID=VFm$)GGaPt-cA2uH&N+~kKMHGk8Ge-2->B-;o@9-B zsV~7TSiLv6@233$X~z9WHqGMBdHOd)C;#X_#yF0ODSzs8r^R{xXPEnYW9MJ68vmrq zwOsOXGk^Cm*JR4AU!t^Rn*Ww(<^lW#+q(BG;omUv-i15q{~6Y^^qk$l|BbwW6r;2F w4lf-MV1P9gEq%|h&PnZocEiu;eILXZzk8C+k~hB(n8F!6UHx3vIVCg!0BI&@0{{R3 literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_top.png b/textures/streets_rrxing_top.png new file mode 100644 index 0000000000000000000000000000000000000000..a9fb96fb9c2224c6a8b816735146450547da4eb5 GIT binary patch literal 2818 zcmXX|2UJtb7QI1A3?&KX0ZJA4ic%s-QC^UM2}O`59YF*Of)J31p*@O}kfj0~ zjs0Dq{NTIzPQWBsK>}@z4S}*AsRgjX?_p+)0}g&a*^LFspy#l^iBli|2p;)eAi#^4 z5&!^8HN_d&l14ch;a*pUBs;QbuY&Km`6WpnIjBg9b}kW%opwArBWppO!4U)Nk401X zN};+Hj~Xj;hK28Y2I-C^+OR9P_2dNQ1gAQS z1)$N{V{H+?whNX6sUMTn9ZXInkAz^wuwu zQZD7ojJm3HX=sEmb4fCzj?r@242F)U%Jol*Zu@#VI^vdNpS=&AiEoXHXynU00bS^4 zXZHg4*J(7`u7L?UO3$>L6Qtm}*G8*bAsTc)J$`YOfW^FNU&D|x<7*>Dh4}A(98`8F8)u10=n@Mp`W{Q_6joIwVPxR@ zKL;(pj*Xew+1b^L$cRImSa6QPW!&31P+a3e)IIZ+fU^^}B=4LGfqre?)jc1=xcNN8wLd3oZ_ z&JLNq4S}0JY{@>G-1(~7ynBHtkAOzbo|~yVxW@7I^(C@wfT%45QPO!TD)vdRd#UHUuoQwfx%#XOeS9m^Yh$0 z;)2Zt$*nx?DDs)XpChb@13H=P7X1AW=eJ(S$I^d3N8zt07nYTs02engG4Ykj#Ak(X z97Q7W@Ah%;dbhjWK<=0&?Q$3fI7fz`beU@dziHBHhin9RKnUdS z`M>r^Z64~NeX0`j&05%8amO_KF)s2=5p}uiL)SdNy>TMr8ZZ0NJNX?w-en`z4pWcS?kYYbky zh0C)JTW30a>h8v4WQ;X3a2gqHRX4lbD;KBX|K&JK7SCSliq46l)2Yo%w$ z(@XiQohP%JZ)il3R~HJh46RX8=kM{}sy;eYel1?nG+pzKs9}y()8Qh(7V6BkC^!-= zhehG}S3!~qHAfv1XkNqQ_A4#(`$G92o{Z~Tlg;lz%->iDFa`D2@`h{X1Gqfb?jC={4^ z`WZ--%0(0&1W(xZ_p}2jR?vWBd4GvJ+p#o>R#R)I5#DzKF|F6r%};>*FhJqMwx;8M zgL#Ra1CxcusB~>{7%VKVj<_It!^z0W>FBMVmz`yFA~4EiII7fztQV^dJ6E_vaMm~n z2XS!w&d$z`2MIWyTqTeFopt|nQV4t{tL9I~>4&GO9UkfylH({83W4lrmN;}St=o8d zDsV=s<6mE<8G%|x%Dl}|RZ&s&ZEp{d`sksabTcC)B*bgJFXv|~T)(f>g+ZP@_dIxx z%^qB2mfZQZw@uvnc}HFz7Hg;(w&j2N^y%C&2BErQ%dhkCuBE6bC;amo#-mcAmcZ(< zzqk0ch-{Sidp)J1BJmle}sb3MZ_4h zm*G57?BKn%Q33*sCD)j8Jv3>hTB zEQrmib0Vp!sX|zdjF<_(q4ixHbM`GT@R6EJw$3w(B3s$p$AMXhE>I{Y60d%{M~Z&| zq@sD9x8*C6?|3%-uKY7BMy4ZHP&~bGXD0+DF77$^B|`~~9{P`=_rD$*85KbsXI>si z-Bq=7bPF+zu*ByJYSYCdoFGjtEp>)nUY+}y!Z9{Te*TA$v07hG;FzQ&cfbstlb;{^ zeP1n2FsQ**U`jSQ+Mp^-Qz!Qh>gl$0qjHPsEZ><+j2Koms}ySBf!r>b48%Qo}+nyRLv!i$`yKbX8e zGvUXu2vZboi8*|Pn7P&>AS)+E)w=*)Q2vKYa%|HH`RRq(91ryJ^NY(>A}y6N&VU}` zg9m3_n*P!|lAM+nPiWc~^Nt-_*<7;W_Ua!w3en+W72X;v7NZ#t=o)eA#U`#Y+}ULUUu*!rG! z&C1S>kJjA|*g7~UWSB1k>D{+5qSM8EJP>GfWDV*i@HVxDwNu*M}bGv=s%b!$A_^ZV!2ALkL!si~HSx zE!R7@GHm;v_SS@w5SRM(t2FWDF^|7W=rUT^1XpJDK zPPt0*`ubUqbwW4pUVTSGg5hL^Z%Vg6mK2cx@aX7S$LB?S{`!bt0z6)RPxXE_xPrG< Nz!YzRD>HPD{x45tX{-PM literal 0 HcmV?d00001 diff --git a/textures/streets_rrxing_top_back.png b/textures/streets_rrxing_top_back.png new file mode 100644 index 0000000000000000000000000000000000000000..49412ec62acaf853c51e4af4ee02f88b13f7c789 GIT binary patch literal 878 zcmV-!1CjiRP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00094Nkl<{{Qc}f$S)DUWRiZBkcf%fw6hA7OA<-a+4MzAwq-*5h6s$rwSf= zf&G3@s^iDwQJa6gUbQhHwZ~Bq1cUxZ>C-Jh0PyJm$U`pxeYz+L>bxw=!U6;U0)QFu z0L!vS8=uayj5-f_fubn2ah~V3@%?_s!U6;U0)Xl8fHX~OW5Y10KEGHjTJZ?h^TGlI z00Mw%^#dHosX1{JMYZ|WYDKLT!Y~y500DpiV8;Cb$nBTQC4EOENmzgYKmafi9^kqz z3BwS@am+0j-)=WTo40M7+ggs}kSxonTtcELUw+ngoy=`#s|3t24AR>L<^%#{pRHp+ zb@w3%umv_Hu`G);Dc@uTnDrp!=4E|dxn~()yCKB z6>}j%<)LR+Ab3fsIF~edJRV6GAm9n`7~;AvX>wJX>~=dc2oD$&gf5CRc|aN5pwC0@ z&g%1HjFIPgjc(!lKB3hLG#+4@Ced}h_8q)$0DFc|9~cXys`5OeG4EYBO_S?8x7#g2 z2qAf>v{t^CW(|L#I0RwvT7bsFSh8NP2ahYV=Xtog5X_rUf*_#A1Q;`lqClFa5rhy* zk_11WPekJZFjB+34u2105bMrSwFl|@K9&(eD2gIH2I3_UZPL^b;`=^+n+8iD{ygffMFPO_=UMeU9LI6| ztD=XC1=zMdc`B?Z3gI3D=AigH5b`|7y)9sF%D1(KFUh@Mzw+Dwwg3PC07*qoM6N<$ Eg4C#g8vp