From c0cc26aa22b13547770d86293a283539cc2659f1 Mon Sep 17 00:00:00 2001 From: v-rob <31123645+v-rob@users.noreply.github.com> Date: Sat, 14 Jul 2018 14:39:13 -0700 Subject: [PATCH] Initial commit --- LICENSE | 63 +++ depends.txt | 1 + init.lua | 1 + models/advcarts_cargo_cart.obj | 50 +++ models/advcarts_cart.obj | 78 ++++ models/advcarts_engine.obj | 76 ++++ .../advcarts_track_diagonal_slope_bottom.obj | 16 + models/advcarts_track_diagonal_slope_top.obj | 16 + models/advcarts_track_normal.obj | 16 + models/advcarts_track_slope_bottom.obj | 16 + models/advcarts_track_slope_top.obj | 16 + models/advcarts_track_straight.obj | 52 +++ textures/advcarts_hammer.png | Bin 0 -> 558 bytes textures/advcarts_track_atc_curve.png | Bin 0 -> 3605 bytes textures/advcarts_track_atc_inv.png | Bin 0 -> 181 bytes textures/advcarts_track_atc_straight.png | Bin 0 -> 956 bytes textures/advcarts_track_atc_straight_45.png | Bin 0 -> 5781 bytes .../advcarts_track_detector_off_curve.png | Bin 0 -> 3596 bytes textures/advcarts_track_detector_off_inv.png | Bin 0 -> 183 bytes .../advcarts_track_detector_off_straight.png | Bin 0 -> 960 bytes ...dvcarts_track_detector_off_straight_45.png | Bin 0 -> 5768 bytes textures/advcarts_track_detector_on_curve.png | Bin 0 -> 3585 bytes textures/advcarts_track_detector_on_inv.png | Bin 0 -> 183 bytes .../advcarts_track_detector_on_straight.png | Bin 0 -> 958 bytes ...advcarts_track_detector_on_straight_45.png | Bin 0 -> 5779 bytes textures/advcarts_track_load_curve.png | Bin 0 -> 3584 bytes textures/advcarts_track_load_inv.png | Bin 0 -> 182 bytes textures/advcarts_track_load_straight.png | Bin 0 -> 957 bytes textures/advcarts_track_load_straight_45.png | Bin 0 -> 5764 bytes .../advcarts_track_steel_6_way_crossing.png | Bin 0 -> 8446 bytes .../advcarts_track_steel_8_way_crossing.png | Bin 0 -> 6706 bytes textures/advcarts_track_steel_crossing.png | Bin 0 -> 667 bytes textures/advcarts_track_steel_curve.png | Bin 0 -> 4186 bytes textures/advcarts_track_steel_diagonal.png | Bin 0 -> 6791 bytes ...ts_track_steel_diagonal_6_way_crossing.png | Bin 0 -> 4645 bytes ...advcarts_track_steel_diagonal_crossing.png | Bin 0 -> 9875 bytes .../advcarts_track_steel_diagonal_slope.png | Bin 0 -> 6488 bytes .../advcarts_track_steel_diagonal_switch.png | Bin 0 -> 6007 bytes ...dvcarts_track_steel_diagonal_switch_ty.png | Bin 0 -> 5288 bytes ...advcarts_track_steel_diagonal_switch_y.png | Bin 0 -> 4218 bytes textures/advcarts_track_steel_inv.png | Bin 0 -> 640 bytes .../advcarts_track_steel_skewed_crossing.png | Bin 0 -> 6516 bytes textures/advcarts_track_steel_straight.png | Bin 0 -> 974 bytes textures/advcarts_track_steel_switch.png | Bin 0 -> 3857 bytes textures/advcarts_track_steel_switch_ty.png | Bin 0 -> 5559 bytes textures/advcarts_track_steel_switch_y.png | Bin 0 -> 6007 bytes textures/advcarts_track_unload_curve.png | Bin 0 -> 3590 bytes textures/advcarts_track_unload_inv.png | Bin 0 -> 182 bytes textures/advcarts_track_unload_straight.png | Bin 0 -> 959 bytes .../advcarts_track_unload_straight_45.png | Bin 0 -> 5778 bytes track.txt | 6 + tracks.lua | 408 ++++++++++++++++++ 52 files changed, 815 insertions(+) create mode 100644 LICENSE create mode 100644 depends.txt create mode 100644 init.lua create mode 100644 models/advcarts_cargo_cart.obj create mode 100644 models/advcarts_cart.obj create mode 100644 models/advcarts_engine.obj create mode 100644 models/advcarts_track_diagonal_slope_bottom.obj create mode 100644 models/advcarts_track_diagonal_slope_top.obj create mode 100644 models/advcarts_track_normal.obj create mode 100644 models/advcarts_track_slope_bottom.obj create mode 100644 models/advcarts_track_slope_top.obj create mode 100644 models/advcarts_track_straight.obj create mode 100644 textures/advcarts_hammer.png create mode 100644 textures/advcarts_track_atc_curve.png create mode 100644 textures/advcarts_track_atc_inv.png create mode 100644 textures/advcarts_track_atc_straight.png create mode 100644 textures/advcarts_track_atc_straight_45.png create mode 100644 textures/advcarts_track_detector_off_curve.png create mode 100644 textures/advcarts_track_detector_off_inv.png create mode 100644 textures/advcarts_track_detector_off_straight.png create mode 100644 textures/advcarts_track_detector_off_straight_45.png create mode 100644 textures/advcarts_track_detector_on_curve.png create mode 100644 textures/advcarts_track_detector_on_inv.png create mode 100644 textures/advcarts_track_detector_on_straight.png create mode 100644 textures/advcarts_track_detector_on_straight_45.png create mode 100644 textures/advcarts_track_load_curve.png create mode 100644 textures/advcarts_track_load_inv.png create mode 100644 textures/advcarts_track_load_straight.png create mode 100644 textures/advcarts_track_load_straight_45.png create mode 100644 textures/advcarts_track_steel_6_way_crossing.png create mode 100644 textures/advcarts_track_steel_8_way_crossing.png create mode 100644 textures/advcarts_track_steel_crossing.png create mode 100644 textures/advcarts_track_steel_curve.png create mode 100644 textures/advcarts_track_steel_diagonal.png create mode 100644 textures/advcarts_track_steel_diagonal_6_way_crossing.png create mode 100644 textures/advcarts_track_steel_diagonal_crossing.png create mode 100644 textures/advcarts_track_steel_diagonal_slope.png create mode 100644 textures/advcarts_track_steel_diagonal_switch.png create mode 100644 textures/advcarts_track_steel_diagonal_switch_ty.png create mode 100644 textures/advcarts_track_steel_diagonal_switch_y.png create mode 100644 textures/advcarts_track_steel_inv.png create mode 100644 textures/advcarts_track_steel_skewed_crossing.png create mode 100644 textures/advcarts_track_steel_straight.png create mode 100644 textures/advcarts_track_steel_switch.png create mode 100644 textures/advcarts_track_steel_switch_ty.png create mode 100644 textures/advcarts_track_steel_switch_y.png create mode 100644 textures/advcarts_track_unload_curve.png create mode 100644 textures/advcarts_track_unload_inv.png create mode 100644 textures/advcarts_track_unload_straight.png create mode 100644 textures/advcarts_track_unload_straight_45.png create mode 100644 track.txt create mode 100644 tracks.lua diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..64a2fed --- /dev/null +++ b/LICENSE @@ -0,0 +1,63 @@ +LICENSE FOR CODE: +================= + + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + + +LICENSE FOR MEDIA: +================== + + +Licenses of media (textures, models and sounds) +----------------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ \ No newline at end of file diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..331d858 --- /dev/null +++ b/depends.txt @@ -0,0 +1 @@ +default \ No newline at end of file diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..200eb11 --- /dev/null +++ b/init.lua @@ -0,0 +1 @@ +dofile(minetest.get_modpath("advcarts").."/tracks.lua") \ No newline at end of file diff --git a/models/advcarts_cargo_cart.obj b/models/advcarts_cargo_cart.obj new file mode 100644 index 0000000..d717a4c --- /dev/null +++ b/models/advcarts_cargo_cart.obj @@ -0,0 +1,50 @@ +# Blender v2.78 (sub 0) OBJ File: '' +# www.blender.org +mtllib advtrains_cargo_cart.mtl +o Cube +v 4.999998 -5.000000 -4.999997 +v 4.999998 -5.000000 4.999998 +v -4.999998 -5.000000 4.999997 +v -4.999996 -5.000000 -5.000000 +v 5.000000 5.000000 -4.999995 +v 4.999994 5.000000 5.000000 +v -5.000000 5.000000 4.999996 +v -4.999997 5.000000 -4.999998 +vt 0.5000 0.5000 +vt 0.5000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.5000 +vt 0.5000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.5000 +vt 0.5000 0.5000 +vt 1.0000 0.5000 +vt 1.0000 1.0000 +vt 0.5000 1.0000 +vt 0.5000 0.5000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vt 0.5000 0.5000 +vt 0.5000 0.0000 +vt 1.0000 0.5000 +vt 1.0000 1.0000 +vt 0.5000 1.0000 +vt 0.5000 0.5000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 0.5000 0.0000 +vt 0.5000 0.5000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 -0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +usemtl Material +s off +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/5/2 8/6/2 7/7/2 6/8/2 +f 1/9/3 5/10/3 6/11/3 2/12/3 +f 2/13/4 6/14/4 7/15/4 3/16/4 +f 3/17/5 7/18/5 8/19/5 4/20/5 +f 5/21/6 1/22/6 4/23/6 8/24/6 diff --git a/models/advcarts_cart.obj b/models/advcarts_cart.obj new file mode 100644 index 0000000..e080da5 --- /dev/null +++ b/models/advcarts_cart.obj @@ -0,0 +1,78 @@ +# Blender v2.78 (sub 0) OBJ File: 'carts_cart.blend' +# www.blender.org +mtllib advtrains_cart.mtl +o Cube +v 5.000000 -5.000000 -5.000000 +v 5.000000 -5.000000 5.000000 +v -5.000000 -5.000000 4.999999 +v -4.999998 -5.000000 -5.000002 +v 5.000002 5.000000 -4.999997 +v 4.999997 5.000000 5.000003 +v -5.000002 5.000000 4.999998 +v -5.000000 5.000000 -5.000000 +v 4.324999 5.000000 4.325001 +v 4.325000 -4.325000 4.325000 +v -4.325001 5.000000 4.325003 +v -4.324999 5.000000 -4.324998 +v -4.325000 -4.325000 4.325001 +v -4.325000 -4.325000 -4.324999 +v 4.324998 5.000000 -4.324999 +v 4.324999 -4.325000 -4.325000 +vt 0.5000 -0.0000 +vt -0.0000 0.0000 +vt -0.0000 0.5000 +vt 0.5000 0.5000 +vt 1.0000 0.5000 +vt 0.5000 1.0000 +vt 1.0000 1.0000 +vt 0.5000 1.0000 +vt 0.5000 0.5000 +vt 1.0000 0.5000 +vt 1.0000 1.0000 +vt 0.5000 -0.0000 +vt 0.5000 0.5000 +vt 1.0000 0.5000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vt 0.5000 0.5000 +vt 0.5000 -0.0000 +vt 1.0000 0.0000 +vt 0.4688 1.0000 +vt 0.4688 0.5312 +vt 0.0312 0.5312 +vt 0.0312 1.0000 +vt 0.4688 1.0000 +vt 0.4688 0.5312 +vt 0.0312 0.5312 +vt 0.0312 1.0000 +vt 0.4688 0.9688 +vt 0.0312 0.9688 +vt 0.0312 0.5312 +vt 0.4688 0.5312 +vt -0.0000 0.5000 +vt 0.5000 0.5000 +vt 0.4688 0.9688 +vt 0.0000 1.0000 +vt 0.0312 0.9688 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn 0.0000 1.0000 -0.0000 +usemtl Material +s off +f 2/1/1 3/2/1 4/3/1 1/4/1 +f 2/5/2 1/4/2 5/6/2 6/7/2 +f 8/8/3 4/9/3 3/10/3 7/11/3 +f 4/12/4 8/13/4 5/14/4 1/15/4 +f 6/16/5 7/17/5 3/18/5 2/19/5 +f 14/20/2 12/21/2 11/22/2 13/23/2 +f 10/24/3 9/25/3 15/26/3 16/27/3 +f 16/28/6 14/29/6 13/30/6 10/31/6 +f 16/27/5 15/26/5 12/21/5 14/20/5 +f 9/25/4 10/24/4 13/23/4 11/22/4 +f 9/25/6 11/22/6 7/32/6 6/33/6 +f 9/25/6 6/33/6 5/6/6 15/34/6 +f 15/34/6 5/6/6 8/35/6 12/36/6 +f 12/36/6 8/35/6 7/32/6 11/22/6 diff --git a/models/advcarts_engine.obj b/models/advcarts_engine.obj new file mode 100644 index 0000000..54aa345 --- /dev/null +++ b/models/advcarts_engine.obj @@ -0,0 +1,76 @@ +# Blender v2.78 (sub 0) OBJ File: '' +# www.blender.org +mtllib advcarts_engine.mtl +o Cube.001 +v 5.000000 -5.000001 4.999999 +v -5.000000 -5.000001 4.999998 +v -4.999998 -4.999999 -5.000003 +v 5.000000 -4.999999 -5.000001 +v 5.000002 5.000001 -4.999996 +v 4.999997 4.999999 5.000004 +v -5.000000 5.000001 -4.999999 +v -5.000002 4.999999 4.999999 +v -4.325000 -4.324999 -4.324999 +v -4.324999 5.000000 -4.324997 +v -4.325001 5.000000 4.325004 +v -4.325000 -4.325000 4.325000 +v 4.325000 -4.325000 4.324999 +v 4.324999 5.000000 4.325002 +v 4.324998 5.000000 -4.324998 +v 4.324999 -4.324999 -4.325000 +vt 0.5000 -0.0000 +vt -0.0000 0.0000 +vt -0.0000 0.5000 +vt 0.5000 0.5000 +vt 1.0000 0.5000 +vt 0.5000 1.0000 +vt 1.0000 1.0000 +vt 0.5000 1.0000 +vt 0.5000 0.5000 +vt 1.0000 0.5000 +vt 1.0000 1.0000 +vt 1.0000 1.0000 +vt 1.0000 0.5000 +vt 0.5000 1.0000 +vt 0.5000 0.5000 +vt 0.5000 0.5000 +vt 0.5000 1.0000 +vt 1.0000 1.0000 +vt 1.0000 0.5000 +vt 0.5000 0.5000 +vt 0.5000 1.0000 +vt 1.0000 1.0000 +vt 1.0000 0.5000 +vt 0.5000 0.5000 +vt 0.0000 0.5000 +vt 0.0000 -0.0000 +vt 0.5000 0.0000 +vt 0.4688 0.5312 +vt 0.0312 0.5312 +vt -0.0000 0.5000 +vt 0.5000 0.5000 +vt 0.4688 0.9688 +vt 0.0000 1.0000 +vt 0.0312 0.9688 +vn 0.0000 -1.0000 -0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +usemtl Material.001 +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 1/5/2 4/4/2 5/6/2 6/7/2 +f 7/8/3 3/9/3 2/10/3 8/11/3 +f 3/9/4 7/8/4 5/12/4 4/13/4 +f 6/7/5 8/14/5 2/15/5 1/5/5 +f 9/16/2 10/17/2 11/18/2 12/19/2 +f 13/20/3 14/21/3 15/22/3 16/23/3 +f 16/24/6 9/25/6 12/26/6 13/27/6 +f 16/23/5 15/22/5 10/17/5 9/16/5 +f 14/21/4 13/20/4 12/19/4 11/18/4 +f 14/28/6 11/29/6 8/30/6 6/31/6 +f 14/28/6 6/31/6 5/6/6 15/32/6 +f 15/32/6 5/6/6 7/33/6 10/34/6 +f 10/34/6 7/33/6 8/30/6 11/29/6 diff --git a/models/advcarts_track_diagonal_slope_bottom.obj b/models/advcarts_track_diagonal_slope_bottom.obj new file mode 100644 index 0000000..834530a --- /dev/null +++ b/models/advcarts_track_diagonal_slope_bottom.obj @@ -0,0 +1,16 @@ +# Blender v2.78 (sub 0) OBJ File: 'advcarts_track_diagonal_slope_bottom.obj' +# www.blender.org +mtllib advcarts_track_diagonal_slope_bottom.mtl +o Plane +v 0.853553 -0.500000 -0.146447 +v 0.146447 -0.500000 -0.853553 +v -0.853553 0.000000 0.146447 +v -0.146447 0.000000 0.853553 +vt 0.0000 0.4142 +vt 0.4142 0.0000 +vt 1.0000 0.5858 +vt 0.5858 1.0000 +vn 0.2357 0.9428 -0.2357 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 diff --git a/models/advcarts_track_diagonal_slope_top.obj b/models/advcarts_track_diagonal_slope_top.obj new file mode 100644 index 0000000..8d57194 --- /dev/null +++ b/models/advcarts_track_diagonal_slope_top.obj @@ -0,0 +1,16 @@ +# Blender v2.78 (sub 0) OBJ File: 'advcarts_track_diagonal_slope_bottom.obj' +# www.blender.org +mtllib advcarts_track_diagonal_slope_top.mtl +o Plane.002 +v 0.853553 0.000000 -0.146447 +v 0.146447 0.000000 -0.853553 +v -0.853553 0.500000 0.146447 +v -0.146447 0.500000 0.853553 +vt 0.0000 0.4142 +vt 0.4142 0.0000 +vt 1.0000 0.5858 +vt 0.5858 1.0000 +vn 0.2357 0.9428 -0.2357 +usemtl None.002 +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 diff --git a/models/advcarts_track_normal.obj b/models/advcarts_track_normal.obj new file mode 100644 index 0000000..e28313d --- /dev/null +++ b/models/advcarts_track_normal.obj @@ -0,0 +1,16 @@ +# Blender v2.78 (sub 0) OBJ File: 'advcarts_track_normal.obj' +# www.blender.org +mtllib advcarts_track_normal.mtl +o Plane +v 1.000000 -0.498000 -1.000000 +v -1.000000 -0.498000 -1.000000 +v -1.000000 -0.498000 1.000000 +v 1.000000 -0.498000 1.000000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 1.0000 -0.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 diff --git a/models/advcarts_track_slope_bottom.obj b/models/advcarts_track_slope_bottom.obj new file mode 100644 index 0000000..6313fd4 --- /dev/null +++ b/models/advcarts_track_slope_bottom.obj @@ -0,0 +1,16 @@ +# Blender v2.78 (sub 0) OBJ File: 'advcarts_track_diagonal_slope_bottom.obj' +# www.blender.org +mtllib advcarts_track_slope_bottom.mtl +o Plane.001 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 0.000000 0.500000 +v 0.500000 0.000000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 0.8944 -0.4472 +usemtl None.001 +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 diff --git a/models/advcarts_track_slope_top.obj b/models/advcarts_track_slope_top.obj new file mode 100644 index 0000000..80bbab7 --- /dev/null +++ b/models/advcarts_track_slope_top.obj @@ -0,0 +1,16 @@ +# Blender v2.78 (sub 0) OBJ File: 'advcarts_track_diagonal_slope_bottom.obj' +# www.blender.org +mtllib advcarts_track_slope_top.mtl +o Plane.001 +v 0.500000 -0.000000 -0.500000 +v -0.500000 -0.000000 -0.500000 +v -0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 0.8944 -0.4472 +usemtl None.001 +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 diff --git a/models/advcarts_track_straight.obj b/models/advcarts_track_straight.obj new file mode 100644 index 0000000..a088462 --- /dev/null +++ b/models/advcarts_track_straight.obj @@ -0,0 +1,52 @@ +# Blender v2.78 (sub 0) OBJ File: 'advcarts_straight.obj' +# www.blender.org +mtllib advcarts_track_straight.mtl +o Plane.001 +v 0.375000 -0.499000 1.000000 +v 1.000000 -0.499000 1.000000 +v 1.000000 -0.499000 -1.000000 +v 0.375000 -0.499000 -1.000000 +v -1.000000 -0.499000 1.000000 +v -0.375000 -0.499000 1.000000 +v -0.375000 -0.499000 -1.000000 +v -1.000000 -0.499000 -1.000000 +v -0.375000 -0.497000 1.000000 +v -0.250000 -0.497000 1.000000 +v -0.250000 -0.497000 -1.000000 +v -0.375000 -0.497000 -1.000000 +v 0.250000 -0.497000 1.000000 +v 0.375000 -0.497000 1.000000 +v 0.375000 -0.497000 -1.000000 +v 0.250000 -0.497000 -1.000000 +v -0.250000 -0.499000 1.000000 +v 0.250000 -0.499000 1.000000 +v 0.250000 -0.499000 -1.000000 +v -0.250000 -0.499000 -1.000000 +vt 0.6875 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.6875 1.0000 +vt 0.0000 0.0000 +vt 0.3125 0.0000 +vt 0.3125 1.0000 +vt 0.0000 1.0000 +vt 0.3125 0.0000 +vt 0.3750 0.0000 +vt 0.3750 1.0000 +vt 0.3125 1.0000 +vt 0.6250 0.0000 +vt 0.6875 0.0000 +vt 0.6875 1.0000 +vt 0.6250 1.0000 +vt 0.3750 0.0000 +vt 0.6250 0.0000 +vt 0.6250 1.0000 +vt 0.3750 1.0000 +vn 0.0000 1.0000 0.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/5/1 6/6/1 7/7/1 8/8/1 +f 9/9/1 10/10/1 11/11/1 12/12/1 +f 13/13/1 14/14/1 15/15/1 16/16/1 +f 17/17/1 18/18/1 19/19/1 20/20/1 diff --git a/textures/advcarts_hammer.png b/textures/advcarts_hammer.png new file mode 100644 index 0000000000000000000000000000000000000000..79d195d2afe28a8b0da9056b77a11285cb78a2a6 GIT binary patch literal 558 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 O((UQ$=d#Wzp$P!LIx!Le literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_atc_straight.png b/textures/advcarts_track_atc_straight.png new file mode 100644 index 0000000000000000000000000000000000000000..84c41f99aeb52bfae83a08cd2f24e33cb6633c9e GIT binary patch literal 956 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 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_detector_off_inv.png b/textures/advcarts_track_detector_off_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..52dc35255d35d7398802ef09feae39cef266a932 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DjSL74G){)!Z!AbW|YuPgf_c5X2v{WZmZF9C(5GD9Ltobz*YQ}arITm}Z;#FSKp z^30M91$R&1fD>JNKpN#dT^vI!PA4Zw)IIpm()NGJ3B%sDgBcP$mkks|85lHH@<*#% R-(>>n_jL7hS?83{1OOZrG^YRn literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_detector_off_straight.png b/textures/advcarts_track_detector_off_straight.png new file mode 100644 index 0000000000000000000000000000000000000000..b0d57a3c255715e34265d30a3e44b63d3f74c892 GIT binary patch literal 960 zcmV;x13&zUP)VGd000McNliru;S3f6HX&!f(trQ}15HUp zK~z}7?UhYvTxAr7pYQ(6H#gTfWBw%3O0`Wx{+Jq6sG@Y?LP|h{KqX+Yg+J?Gbj0Q@(r%9E5^si zDHIA6i^VP=^54{o9|EwpUL&{E;LeT~xU_W)!!Vi( z-c!KiCp*bh1oe8IZ-2`0+(3h0S}n0!s*!Xpq;22_D#}T?7LWko_t`w+?neF-V;y{V zd2QG4>?tp9$MAh0$8pFSV-Y|3$bvr7ca%H2?xnluK8~Ll=ET4-?TJ3#eDIpyiAz_9 zFbo5Mptmz|@D8|f8^bUN!w{v^O>f<|$1p7ur_G@);b58yi}02ju~-bR=HZ9-o&xsl zz>#i;APn$4kEc_Gi2o=%CeS7B>8jG*w#NGEJhdB(SgOc7e~yTqxECK=r(7;0?HE1n z=D|Dg?w42S@9)R+JZ2UO3~x^%eYJoeDCQR%+IM{52MTE$Kqml~(mCQC4`A6g7rvf3 z+!jbFab1^RGb22;&7D7;)#7EuZt?m8`ql3{1;8)GLGEhv_PqnmcLYrk1cy2>N-3n2 zC{;h)8UknyVHk35bT#6p=2GJ0*DN-xA#rKa+abBOvPE2)OwHA!&g|R)c5l}H0^WLN zh)<^*8!(+-i99gB*x2WtnJ?umyqfyYJ!p7fI-MidZxejy8m0BYJ&@b*5dvJ- zz2z;$pe{_5f8iDD7xI~!OGN`eb8MO4HhYm$l5`K@fzN(iW^gcp5Q3|j8$5KX!C#zSjCNnz z2F21wH2+d1Bx&CXz~w7>;>RUQDL%QFIouYQritS?{IN8`xoz&fud@66jvE42%oInp iMmL#%3oW$J0>D3`R7wxm&swnn0000w`7|LO=6^b;-A*8S|F*|I7#7;tvQIT;dH960rFr@=gWQ1wkJI4qi z$C*9aQi!%hi819+4p|ZgV|>rF-|zcOinP3PA|)Cjye#3_g6KiqC+L&4Et#w$O&?huKn;3C^I;5xg!ykaU~q7x6r@_!KxP ze$m0%PMo*pC#0z*V_0t$f__qTu>Iv&%=_6q{~J5|W9eLzbg{_K3~OPHu}bI_B2PWH zaodX*c6z&_XoabSYh?%A6$_b;9fagPBq0IYqF&-HmL9mv?pC0Iqi(pKX6a+Y)bx(we|eio`ehJ z-AEAMfBizotlsYa_I-D5|8up~BH!k-+l@Hh&@N8ow=a>+OzDl3o`}h;*LFi4KFB0B1l~mx&zFO~AN&6Y3I)b81#qR` zL2V5UnHh^`xi=tY8qW|9qK{Mlar;T0J+hmfM?LtgsCoZszMXArec~pH5ejFuS{fS5iOUeh7F_&XsEa-jJ5ia5mlGmE zLex17?j3w;70VGh4(~>wAURH?qxv{FN!=?TKnQBa$JWH~E0N{v0xKoKaRdL4TdXk> z;#}lKoIpckEuXUAi?6o+<}dStfyB{{?Tb~`tE)Q%4{{);fk3Oyfq4z4%m$lTSQCqa zN4)tf^3&R(X**O}5_pr=>r1Q!dwa-L2~>xHTNrR)Z(%th&+u5fuHCvDK+zE|FT9-XfAA*C6NyiSbHi9Gy&oR)%wpkuhsk|~9zM9}NB%YU#{rlW zc$FD!Bi;ak4e}a*?me4eKX6Pe|L-VuTTtVjYcI}|_+HZL)FX8NHJbCgk+KFYqjFRj z0D}Z`A(%WMZh9uO=SAQCsZY_A*urP&R6SAEE|O>J*C(Cd#GJ*t9$0ynK}~tLZ2f&T z)#y7hT*U|cJA>PNwf`c$;L%_8rR{nbPY-xlM;GoFXjSAU8+4InXKOW}s~C{M5=mSq zrg$1Air~?N4M<`2fGp*}j||H(a<{on=S!yeX_0~jtf;NrMz?z->p;R>6@{&iR3fxJ z+23}I#f{PP;wMVtT=MgOt6xs>3sy=*GT`ezaYN^P`D-!GRJ3{_oI9vR)8fpzjegOc zQ)n0*lV9De+P&k7)^x;)QmZ<{ObFRw1dsrryQ~A3XW|=Ph@;gZ*CducO(BToLJPi& z3N!HoOP3|fSS{ojYI`r_V$PBHIij~+G~B30fFuG(Dp%ww&FjJX$_XZ7`48qe3k_Zb z+c9`LvLtQxTktdVJVei{_dd{*fpy2YuE|zrYX26qn6UT}E{Q z3UN)MoYZ~ciIh;^9XLG1`kH0;?avpRF6`p?XHg%vRd!>FB`JBRm%JWdP+oDKVR0r~ z-Py{D7g~s#;`nPKy!jWhAmnEU{xr7t7%lkah?PIO+|#1M>JoVJeO`|{GC``h5OjuM zl;3{am8W#xpJbMsaI|ibpI~WZb*Z6wtxPJeVNcuK+VZc^-rdrn6PIGW07P#O`AV^LXb;;WGx6^H+$_BNO%ISh6TcE{Z!KJd+9u1LyW^J3 zYE~_lqTCqA_ZuAYrWb^pyY};xqJl?0d@^3{c78swx{a(w-PKmP-8aZ&C4>`My_!Po zf8NeO9T3Z(h@aAhRWD)g#rqhbh5mE?CjS({yQxsH&;tFeVm|J3gF`>JQetFpSw-~D zrqIBut5*|NRSdDY4AV!s=Ta!1=sTk5vfI)iWFoZ;l#N~h=%pqi50wfl{c#81_0m98 zg3odMhRw2{uXy{hOua@|KCA60=t~iG&#iSIMY7!OBDHs_-xI&Dq#7OfPSXR-!~JkE z%-}d*runIMS&ykae)P3Tzm4U~Oe(P@{0P#WH}?_CM6<4T*la`%5oX}XwWf^#WXL9~ z;74~{X7*_#y8o^V#GFfJ>1E=N{2;Wu)_BM_gRQg?W?v0o?~0s>ozZ^o&NKWu?&JN{ zK~pF7dUz5G=oInmfGQ_axF+1Im$$KFfxK>MHq0bDhkHwpDU&nrbRtkjW8$XuBDB|f z6**z{FcO4QpDItO3Eu#MGkW%!K?KZ}KNx>>2Uu6|a>3_kQS9>h)uD}M64sqxAXv-$ z_N^?qdIPr~v4v1R6mL_voCV@F9X54A)=66fC<3CI9?%a$ZN^8lMB)q7TEDuUZySM_pwLHtFH3y%DJZ+s{rdAaEVENN zbW?$QCf>jdxr=(Z%|8oYjO>xc?4euVMRjSZ-2@~;N!Jla*fO_y*QyO3UQBVj1lY58$v+XMWG3u+??$~n*@temSN2v>^2d! z$Wbrp@5QDE&Qxan+f)7Pn@E^F9RGAjWJxD3b@{*~ynG1qU;l8^uW))t?woVogqfzR zlJFtcHG09dKmLR?B?PSi7;`wWA&KRDuoQvsAvaUlNh?Zu|mFyKfz~X7a zsy{960$8qO#hN<&kP!`y?<TyAa(5)zKp@gA5fLvjZxpLnb99}=8AegwS@61b5T*V@bnb6_gy6-9MhpG5K~6;aqp*JzV7^q zEWH;|(0WKT(C_{MWcU0U3HT*4+IGB750tzDFEvpnNWBVEvUj_AabwwJ5I?;j$ zu)SY~sT0bk1Mu}hR@_4D6AyR39p~$-z686F)`@kxO9{s?qm}LEG*E&59%zX7mc(`M zFYhS?;Y7w^9=A-Cij*9N!njnl(7wDyA-ADUvh4VU5D*1=I6>6YHxLMdOEkEaP6VY>vkgciNn3oltaI zte<%}1Mk2Byr)q()Z;-nRs(S2{xeh%uQ6(9@vL<#%pp8)#V2@ zD8w{!)OLHi^Gb(GJhFb2lR0HF;6O#XR3LmX!f!p!bZ)RU<@4l3j?Ch@@II61i3X0^ zYVE4kb@+`pi+~}AKVFj+mTOa0rEn%`T^5v+!li*;cTcPOt!udVdJ|aY7eym&gd|Rm zIu%w>&8{)qLWv3z%rr{S1wf5;f7pvdbZ zg7sCsY{TD@S$I8!bIx;{9_L%KjZ!y5wq4jYK^+A;bXKy!$9{ zC93x>5Q0xjBX(8;Dxl=`&Zkm3NkflyM2a;VKLa-{{j3m@cBLx| za&vR5zVtdLfM*Dt)SvgNByoumDwo1FUy;mv$8uN^^}BhID<)J6^p?J{PZ{_bWRHQ9 z`rm^<{BpPm#2{Ao_x4UL+CxcP(;nKLwH0TytT4-elhM0IQkm+?Ij>%kEo|CIvJmWh z``&69eQXhZV9}!AB;*>{yL#n?x16B~EX>K|N@Ikj4(jf-;8&TDSpH$?-DA@9aj$uL zfya)u!PYBN+_f2@{1kjW$#A-ZgkiGfs}qcSU*%bjzhMcl=n5E%#QD4TCuWpu*!zn_ zzoM{o9ACjpt9o`h-vuJ=t_%Ng$%Nl- z0Nj?P1(Oe6W*F2y_YdqhiPkShZb0er9=d)Oo zmK&7WKrx;@6idL@yfwh4m$GXd(9fhPG$+x}!}hthr(V{rva~#(#;5MXiGYwnbACJF99P71||68m_1x;S8bY)Brez>0nB7n1`OQRUwNM1SpjDQu3HHB zjVqK{`(WzhK5|xyMOYY4v;%vQw5oZgzQAgEY0f$!72b~+GeJN7s(L^h;Xw;_13HK- zKZFJSG{>#}CsrUI?~-AGN>4*Qso&~fGZy+IaeM#uo0XXmFBsjMI*wPY8>im%>_m9* zJ3DC)pOd{i(AM(!x@WpmSNEaAz-S?HCPOdFOc}T(JU<7j);fOL&C&}1%^c+A5a_cDkgpa!}7d= z15&fGXBgJHNa{(f>j2L~lcv=pAYs%65>Uz=k*NL8pb9*WozA}#9pTfY|AoO#c$CEQ z_i6W*rC+h<-sZBtg!Wg>w(A!~YyKfO*>1>dBn5 zk~kWgS&55T4u9R&^QZ}Y4R!@cf+-rhfrFj@cfh1YA~d2FXDO;U!FyvFNQ=59hR>sq zXB)0xfMFsd`RBDw$PQ0rTmH&4009DVN}uK$1V~)MTAg}BQ#P(UQdD1L$Gwsg9j~U( zhaUr7EQ-fMgBBQ+R_ArqSOyR6xQ&nX05&m6O%`vD4FI437zE{)LqAK(1J!kS(E^mwI9u9U#Y%2~0T>c*;wzCQV literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_detector_on_curve.png b/textures/advcarts_track_detector_on_curve.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d2b8402dbf762ade0ad97ca9f10123cd18e91c GIT binary patch literal 3585 zcmcImXci};z6$T4PaTRl1As19^+oVV zHF5B!##tYKZw-;QG1A%mBK_z*jQFFE*EdHphGyRfUJm`Ri8r5U==R*{CYt;M%I1Wh zQuE1ur;5>*Kh>jNaj;rz$i)d)YAw%FN~(&B zQ}EfBH7bx$pGa`6+mAyELK*_B9=i_ZhW-pk;4s3FTRETM$|S=$eMk8?!!Fne|>F{Zg+l z{U5^u_vvMZKt9(fe`yP!gX0t5wb1U{t;=pi%}7FEFJFTL1sU}!nlXnq&Lc5zRZwbc>Pox|V`NFRkhR0?DxTLIQjY}Q8#eO0JbQx!}2 ze98F46oa-CXbGjm1VK}xEZ$$@Z$4&pE>2*d+cs!Uxh4K*WnGAi)>?!uFvO_%U^aSl z2ST9DZt}IX(a+U_2F4Kdv1Ts*>p^x03;qUI= z-GFL(mJtk-NW>S-^IXDOCR+*JE?oXs2%$FK*HZU3s{Sq*F`K<8xioG*nrtQeRz0Jz zOUs`BbRQO59Y8!{5jnZ>ydm@i7nCM@p^-K7U~cPqZ`j;xs`4;%VQ)m=t}ENCmkcA2 zkplb4&EO*5T0c^jnyH=<=Gtn%=$hBd@FV5XhjU&kg~X*%lY+A{Q#Fu-ezI9nk2zH` zU%MZ6px_!6t(*<@c>-(i^>fY1wepeNB9EoIpJw$x7pX#`OF48*7KJO-&YgkJI9bXI z>re@fzgY*iJ-UxNE`k%eUcx&LJ7hmcygjc;CB4C#gns8f*yy?Z>wD`?(Upg&3=`%z zFpV;$E_Ubk6%e1~zIjg{5Bbnc_YmtYuDmGYdv?~^o5ahcimnKRzJe(VWTE!yNczqd zyf7OxlKL|7-v^A%x#skb@vls?c`>trj7RH}qSs%-?rpS^ADAK>hvRVhKI+r%fTRRk zw;$Ic1bt7fCRp~tuKaY=U{h>dTWNet0yQyZIFG_>-;_L@7r?dXB~y{`86AIgwrARd z0n9-0hl`IXPa|)V(fOLWJK(foCWw?T$(Car{w!>va`szHn-}#Nc0mk#Zgtpz2G$3<~8e0zxoB$w~ayUAUl4NghwG$5Wa_(0pCTp zq>c+G_}stFJRH;=jO~bi-`r7MD-o}cg}Kg);uiS?EoLE{vWy z>Im;wb|1SB`~eP>70kYmTFlF)K-VVVK zsHS-3rq|ymd@7xASHOLtFA5o|C#lbZU-h-2%6{S(tXd+{S)YIgUaOUEm%J@Xz2fj9E7{GTuCd zXBd>Lb?I^3X4kanw3)b*zAY@`h|wQe(?{V_{mO}CFjR*kqWxN`@KHyXKw!fo8c?Ig z;7VJ(d$uFoVTm?wayWVpI#MRk_eZz&>un>zS*9FnrM(Pf7aXJ`iM)-E#tGZ^yeJm_~-*9WQ)`H4Hl8yv_OH` zu|4II2WnH%U76{ij zm~onT8=y}K0>B0ULjbe@wPYH2WS3uHt@|Xduv5i1&R9ZxD4m}oDOnr2H$neVp|pw= zIFkO*wL75(UTMRehh*O%sFL$YAkt6+96c?NZ=nKK15_k{5P%85-|(TmyY#waSDqOa zj3_Ik?Cvm%gex5XNg?CWTvtw$^M{U{-$!r%NKp_NZQ|TX!qfiUgAR@}9qXzA81vw7 zfNI_Q|HAd>q=A1_^P^9XC?wDO=alcioV?w-(oarbe6izv9-eoYi<{wl4E*uYE8LmOFMozIx3_ j<)y!0fsOkgKbq6ZB6he&l19O1l_VeU058_Qm>>QN$+b-! literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_detector_on_inv.png b/textures/advcarts_track_detector_on_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..6cc4c9085403b1baae97801eb6070b29bbe2238f GIT binary patch literal 183 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 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_load_curve.png b/textures/advcarts_track_load_curve.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb4447bc0dc0b1382ddd0d2e96e3e980f921c1b GIT binary patch literal 3584 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 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_load_straight_45.png b/textures/advcarts_track_load_straight_45.png new file mode 100644 index 0000000000000000000000000000000000000000..5b50cfeec2bd191a4509ad416bd48cc83a0dcd8e GIT binary patch literal 5764 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 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_6_way_crossing.png b/textures/advcarts_track_steel_6_way_crossing.png new file mode 100644 index 0000000000000000000000000000000000000000..5b82e8b3bd83dfe970812b5ce45a2bb4c0a45f23 GIT binary patch literal 8446 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 BDp3Fc literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_curve.png b/textures/advcarts_track_steel_curve.png new file mode 100644 index 0000000000000000000000000000000000000000..66affa3fe7f7aca23dbaae847c687763fadb96f6 GIT binary patch literal 4186 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 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_diagonal.png b/textures/advcarts_track_steel_diagonal.png new file mode 100644 index 0000000000000000000000000000000000000000..f5ad4ae5e5a1bcab67b50ac5de8c11c459d71464 GIT binary patch literal 6791 zcmcI}i91w%`2LwO7)y+#z3Tgyy#8QXA-?`L%VuIu*?d@tjgGskhx^Lak^b3gZU&mCK9(`~|k2}2OH z&D_ky4uTNi5CNeDz?;jp5^wM(;9+TM0&Vhs@|&NffHOi@%$$NCNUVkTi)arlxd2WI z2Af+Q7yKr;4TBZ=;9>Cwg8tfJZenO3HaL?@NFX@Yv@?p*{MfIoo%PJ)cDL6zS23JV z+-XZT*ybx6d~0XDkX^mYTGz+ou*%0OlJ-W*_R=OQ&SlB*w(sPB7vF9(KounH_Newn zD>oOnO_24>FM3|uD9+WMSxuhJJkl63)4V)49rek8wX$Jg)saM?=je{oou+b{-(;g> zvHw@Ei}@O6QUy*@B zAsD%`7zoN2%Ou2-DyIce5L9B!tdq;1;2=QiFUHK~48MfyvkgkP@a=%mQk)1Hf^5f` zIyir<1~*d{Bhmf#tgX)Fm;f;dtPC$W8Jey z1rb9q32aWyJ6H{E#tb#YAHrcF2!Bu$7mt4r??cM5`H-9%v1gD)amKR^XSQ((l)uv+ zp|u&l*+EZ9Ng1Kb91S+x*lZh?g-F8jkWMrjseyx_>u97J+Y&?KAVB<>`OMKch$ar< zrDI8L@Ci+E*qsPLDlVGmWu95*%F7oLDYEeNYQ5>5gkRAztCAI#5HxxB|Bu(0xnfAw z-il57FhvCUh=Yi^aVw2vT#_;WsgJ2BKe=>6g)J$u@#~|kahMVW6>C#=B2ANItS%Ct z=;Yln+i=1|2cgu7Pji;@KbhkEH!>Wfn6tCJqr}az4*EIm05p+%xBFv4!mkH&xI0r) z5XmlmLk<0U7T%7UUV#nJSJ?hocUmBdm+!bdvN6?hc?grdlk*xoc8DU5tliq54tJs$ z!ipY<#W;_*%Z+LMi4<&{UB~kw#(`D0fe^Mr7X_MY@TS=5{;vC zhWN(s##@5ZJ-0Ut?0`|ObcH7bt^@#5Z&O{;2f=-Xs`)(z(4xhqU|-oQyn~-jQ$_sd?9p^2FQl;A$UJ} zVC(+8Q-=Y}Iv|_9Tl-o4)`I##mC;MI$}qhrw$E)}cNRI}*T9G4OQD{vSV$xFuK9u{ zlc7ID*o0e5QVmMJQ^#8+?sM)xzy%3l@FGz0Azb?5-ar~X?P%Rx#ko3xq^QMXQIuvF_S`X|3 zkb3P52=0_nKJpiwiwkCScyR%o65RBI+%`BHp@DQeAzxaO1qA&H{-VCIlEc*L!Bh8h ze#DYaSO&h4Ub?HXR8`1Ndbt8O1^?RuyV%86s53e_^7tjsfdcpDm#TYYtT* zA={noAaq{pBa$2e2xP8HBH?x ze=-+b*DHw7YZCz|z~1HrpjT;u##o0hvXWyHv82>-K~NtW(YFlNDLBVyZHF6`BFF+! zoLG!4Nf8hWgv=6IdK@m_b8Ox+0F+7qiDlI*S+?kg&lep(h(8UjeklcuaXm(KWh!2y z+(-#taM~!R^;ur^JR{mB)jRlHiqGQK%5|3ag;+C;Q6sJP^Mmh53_?{!vshvj9Wn&0_EO`PMT z{$>Vb)2V8d@*|}o;7%^B>Dn5lpPZYOWfxsr3h?>fmnarv?*)kH10YuyX60UF#cp+3 z)b#Gkr`Y-B>uZ9<01cco2_dy^tqWk;$7Uz0UjTrg&%~MPVI;?tYxpWeDSd&Ohf^}! z;5Qb}1DK}#w%u@6Pnsg<)`=UPy~Ivw=Hf%a!UyXFgDdyfUe&80tVoKuX9Wh@}pV>5U~Q$aaB z1X|es29hhrOo9h?P0Hu9%dQMT1YpJka$OgklVSj%;JLmN?C*Q~HdS<^HZz(4hpgR-~UX z&u5pSjF_^u7WrbJsYtJ`DLzJ!#0=dT0i&VID-NBqS_U^Z|E4GT(gGJ*yFQiT^h7Zw zA7KSU=pa6}r$2)*$)3`{F>+s>>(g2@F(HrqMl6Mf)<~BO!7f&{d=S1>pEJPO+Z!XE}R+L}suiACATWo%}y4AfE z7=~YZk4s5(PftHz3q86pKO78azG@}VOCSOJig51lpriw?ciL4Eof((2RT0W9Hf1O# zi^YI9BP}EAImYzx2l|mKS{c(tN~E{i%!{C zd~YRRH*$wBv9S84uALs%d`Rq{ymMs--DnIk-=2tYJ!~fV*KoOd@ypSrWXD4|3EiQX z?VpkPNTn{=MOigwK=}kg;YHYGzfMZ_-F>oCt`*{Q`-S7e=PmHP>}(6F57AMP1s;`9g9uYxI?aE`%4zeCZJJpSB;j2aC<5 zTtM*^jUCya^(psMN~S_)v=SLHpXbm^kvVoF*eOCWL6dTTc2o6dS=B&d zm%b!AlMrEDE>oU5uGktj#MDtBzK5IMt?!!^_UWk*{zN;pRhrRSQj zEydb=(QC6uKACeeWkk(yOwN6B5b{OphlA>;*bA*bU7OB^KzEhY|^2)cww%m-8jA=RCf|EhvGO zXY*VhD7!vefzL*17R_?P6+n(YSy1c3-e0$_=hRPDpgi8{dwgC_PyKOI81F~ybp7ai ziRIS+KY?X>U&Ba?om02%?DYt?=251YbNisf zyAJ-5(#kAOIUau~dKi=NWh5~hcLYUqxACo$DeV7GrZY%Jl6k5lE2tS>088gi;Oq+hO`O-ICYea(qN#`#gQX(yc=1lmLUu++EvmP-y z_bp=S_Uxf5a|6vZJngfa<2|>>!3r`svgS~PIn(BpkbN#IT?L`sR$iWl_xZS22zfIL zbW%glro$kp!6_hs&k(J*#bmr2w-vUQ3gR$1Gn7-lMd`-a)N#gfbZ`TuO3t<)uyz@* z_A#$&cIiZmq2J9OfBikK^FMmtv1mW4*$QZmmqW&R(CWa`BXAQvM6fk)dNeHK-j!i>A7r( zP3LqDa%%;`#D=vn{^x6aQw!XK00dksZ4>Ut3l?jL(!9-_lFbb7cHX$-@(qF z;x{>o70@+-u(p5Zex8@fI{3n zkq)#Z@tPdNRmd!yW2Zpvq&uvLnPi7XISoIMqdjSnqK*uwd>ov&F4RZlHM`kJkNK&@ zBy*-pP?6bQuT=m8m8!;cNvCBK%HFwifleb2_Tt@>ff&Jj0MnE`i519Q-JBfNT*BPZ zweGam-G?+_GlT$Z8=$GM^kqa*eU$P?g2lqsW^Pbxn0e@)h!=|XZx-TRdWW>bquX=B z!!#RzHf>I>lu~rAm!NUvM;zCg-L%p3(5*)im(WGR^VM=#t0i;Hm1EH^40 z%2mH+?qjRH_Dmg%Z3r-~RO>BM;e(eDhY@*A(p?u;GefXD#y$)oM$IbABh%ahrK6em zI$+(wn6Af8ZLo=ndY*2jHty7*eoXn(K*#71Z|}J3#D>qfpy&nuvk+eH#&Ui7D^%F> zdQ?A{;PAhOwd3(h;+1M(%!vm<*uOiu*lQZSbtopMK)&Lk+k}&-4yC*y1_*VYWHG)@B3Li_v-k5s!(L?&5)?KY*SC-MpPo&M7=YSTi+@5#@xCWnc^`6i~*>%s6?;nm>nk<%fxAgtE?K%4* z%j}=iLSRs7-af`mch^tgaNLu;yOh0$`Rr{)@?%Kh{m+!utuo@ZcW62CA{p;ex>|}! zrp?9T`yaZ=f(XQLd@n|Mz7Y`F*knEGtB)9TCV8_NP;Vm^VuwP|c2v=E127J0x`CtJ z>Uiw)1FWs!#SqjuyzgyU0L&J89DW!yg;-K1i!q&-qe}apr*3ty1(rsUz+Q(3QbrvG z!~Q}8VS+$Vcpeb`kxhhspWRqSqMY{&mSek{E!du@v!=AWhK?_jiyGV{8XiR!u{1Ss zDx{7qGI_;qAo7Lj>4q%FYgvu{fWoxTAPaV@y9rTY2p@ue{d6r7^J27p{hos<$>(Ir z`v-du#Ez~ksHO|tv%CE3{HIdwmP*Fdf3Pp2r^74QugFow)iv>I(e}m)z=pODJr#F3 zFcmGbe^%DB#hsT|k~+a)VJoN#HE!>svDp^b>g|BW{!AKvc60}!D*&k_s50v%4voyt zF_K16vBl*fK7+uPuxD2CApu>B0q#=9+NJ{&sTy+Hp*6i-rK)q&Gx?z zMW==2UuLs>tMcV4p-6>V`^)j$BWL!L`>I^)nTwt(F$cC>2wxPkLazeFYw?yC-$97#1w>Hs$TpS z0H)XGbM1_}1C2?>`D%bkcpB-rA+^a!^mgc9?7cN$005IS&(_<)kBHbHi6e_qVR>_e z{qlt~j6nM+pN_?m-RvRY0e@Tmp5Jp^Q`o!xd~TNQyeRbbFz9S>%s({^B~DU?PcyBImmjfx~DkhN}Kk zVIA;wAgd^-7!{sJc%8KZ)?g~qbvJ~nP%53AS`Gx%=w(5>450I~LoK{07p`T5sROB5AZkJLs@ip{5Dfz;=@#D%YICHTO=%gSdi z++Q5Tlw2g@A&8_jdXMQpOx8jt8~0{Y)t@VEvGXm@^1T>`m)f$DfmH=o!22w` z)e-(611}|a@gyaFkn)ehHBfR9;2f5^Hy<#)^z*Xcq&JOk` z$;}&U_nktfGjnq6fgJR_&55@>E0kfbd7|OPQtc0>_%O${U6}m@NxE2p3VURu^q)=} ztT}Yu5Q6$3lnalw+=(Ei7*ymQA}`RbW6-7rz!OqWhoR3t*|H@8lW;6xPdk>Q+Vi)he)w<`A*|L*ewTI0|&x+ep67q?52^2%xVCI z_%}@)0lCJI_Dpvl5Rsz+WB4c%5mBbj+rzD6Kzh8&MnKXrc;CD&^WM;S;Uvizd*JHs g|GTeCEJ~x1MMwVjUL~xn0kaS?KW=SOVdNhBzZCj?DF6Tf literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_diagonal_6_way_crossing.png b/textures/advcarts_track_steel_diagonal_6_way_crossing.png new file mode 100644 index 0000000000000000000000000000000000000000..72a9c33ddb51943c06699f4f2d216fbfdcbdddae GIT binary patch literal 4645 zcmbtXi$Bx*|Nm@uvg(LYDaytc5$Z%Gm$Q|-Vn`RMP^#lFaw)gkMx7(K%w;H-B~&V* zzAgz{bz~9ibfJieWx0-t`DC{5d-^?of57jzJ+{y1eR;g!ulw`)N^*B|R9T_50)ikF zXD2&P2tt5Y1cY7&9>>D(o&k?#C-*tpL2||SX49Q4FthxelXnCJt<+Hb5YUZ+bzo9C z(%IEsc~E(!<_hKX{L2C`r4{IPB+@pNLOC5035F2l>K||#7Zn)!2hP#i)t#H%7yv<- zRA;+AUeP@hg_P9QUpI1CLvE}3l0$I?jSuc*o{WfhX<2#OIp0g8H;8#ux9fJbe#`BO zw5?w0cR!hz9wBczTN2na6;JkzpqLPjE&A=R!rl|=nh5Mvp0!V3xFx<-&$xVfLfJ~V z?e&bc{L}TmOJ{~93;(H#i;Id|Sm=0c#LSO(f2GOXmWFsV(3~{E>-vsH}irIl^ zRIoU%kuBOL)_}O`o^XkS-;Xb@8#dygf$bh{AJ^;XtaVh(Xw)gh`t?<43f-5gM}lyd z#bbJE`b(PcflDSea6k*K*BlP%mN;&l7@dt)gPbl)TTcG_<708L?m^RBdtPsBf2k8D z?`_Y6u8L!JC^TgLXM1QeU7mfy2W1VH;o}V}I)2`>Y}LXGJ+%wJvrUnEUx5}nu(;LX;uSKw>3LmNvXW}qdx3CS7{{L$QcO}?{U?nAp6YV*K zC1)uNro|PxikPp(DUb46@11T*wxg!!Yw|F}9JCs}!QUz*MBB1E?w0}!gSk9C_YP4Q zuYsJa)IJtQCU%xuhcB#oxoiAv(5)F<~->LNTJ!92C-MWcwPH zt)eVO+&iHRoW>yP!tbJsJF5?zeLv9YF+DWX{74N!lI?#b(oG`81Y1jhLWaXXtXTFk zHFy&UV%~xi9V*SnM#`076>+|vS~iiV*puTM+fvlnhFyy&l*XiyCWQ#Q>*fbkoHq)) zC~!*4tqZ1mn*{99F5zs{!;uFg{Loj&dFw=V_Ti3vo-Mv=@H*v5o&g7qQ+h!iSra#E zN=ts#4sHq%n6bYn+c>w$(^%HIBi+`j;Ij1$5Pphm#MvIB2_N6OKf9Uv`E4JU1?)`E z_Dg}p8VDrg9U4cQ9sj(TF<))7#nK1`6(mFAZUbZ@(Pq6NvdpvG(}-E1>HsADxc1q9 zHnyh6HM7&I3S&JkeBY!iKiw_gzhHA8_8yeUJWkL?cy$pH$I&f^$-CM_*yWLx+JA0; zC1OvAQCl3K-MEL+7~NokS~hSP~BnFb>*fO(FGI?_N)S&Ipitf? z7UdAv_c%y*Wjqe^xdp_Az)=Qit~vTXY3S>X#uGKaORhkWxHX$^yE;CI`XD=V;@8P< z-_DsT9GF40qk5oZTiJ<*$Rg>(G({xg*$&iGDCCki_+{v-oee`*Dq2Kmzev4bR)Eo&qKeMuR-I#(cTQ&Ud9db1Q%TtY10QUD&Mayjf)p~+S6}CB z#NMUO;8uFYc7h7T2%^qBuZrHc=p1AH_K8v;D1DF~?kdON>((yy*PcKI`X*2>AFo9q zA-}7nJgIjw*zv{=Wzb$dTn76F`T=b|$jzP}1Fe;bKMp$4ss?I)1Pe=i#nTQ$ zi)LE`(`IK_8`34z{Ld$;DI2W9dZOij33q9WXm{Y=mkZ~!{;+myoXwt={W+{_w>z+P zZU#0~odXp@I8s+|E*(QkuzTWeQ15IbhzcZt*v5_;v-g2;;i{@I_{^VXUiM0~S79>Y zjiREW=em?7Pq>hE-Zm|^ zob({DiO7clTeOVjXM4M+2fI9|qFNK=#KeS);id-TxU*-^9uU23I$2y|oda2LB!`*_ zJu@lN5e6u#WUA@`l%4=ebATe7#%FZIcYFWBG_GcC}6_jh>c*oXQ<5evCn zeT#YuFQr1L@3XT9331et5cocmSXp{pX1)iyC{Dc8zp{kQ#=;paD8Pg2gSy4V3OiDz z3R@5WesR;KD4YREI=VEZ4Lf_0I#T-3n#&r4?4Fp<Y_ zh5C?ln@Zby;jM5+2%j&!BK6&7ZeCjIlV@QjWe{a!%rcm4QdUw1@ANoB1rnp4>qhsl4&ZWZH+h`R{~+mo4n zajTNBG!LN>^E=M{G_Ale zXDSW#uqf{OLGXNj;m0qz(?+@NJ%vqa6r;mnK<^GBA=3jm-fC&gChD7f2YU1Ky^&OWKz-PiN6KVqVq#@#)>5 zFaSXoB(6?_f-!d;sOd*Lrj!5&Jb#t60d@u66ezdOAy9b0dHofm#K&PS=vNttbb#!3 zv6D}WqRp6MqJkK73vO&VtHqY}*YuuT>{spUIwO^>6!NxH7yE2{l1%aRfVt)KpQ^`h z&d1zYd*j3Kj(tZmlsR9a_jh#T+bynvcnk?(d(neMe`MyeeKM94avj|H)RF^|Lmzf^uk$%dmi#00>H7TMn z0n_NGJZYJ?=#Ba1ZP4=3Dp$8h$8jY+EV8AcQLqjtckM%`amnN3lU9>sL2;MF)V+Bc zczPAn=f#=%5n0|InCba4gKj`Okz|J7o-8Fn_mb&>v7y@l*UQ(VOS!7oCY6pfUyR8T zB-@-&6c~E|kJt^XNZGsqkN(${t0rxM?aWamb%aRPpB85yI@&d(Z*Lg|wy_`!t@r_X zuigMVHbe&x($qB24KM_{>52yQmE)FHWK5p5IAJe!+rNW9R6hdR_Ws?w1J##|zX5O@ zc~%x-qz^A*rn)q~jgD@o%Kz+MkT6a#ogA~zPcM%1#k~z&-wB@3->TDhjID~Nug3NL z_AL#_DD)>V*23`+;aX(tO-~n<$qn{Y;CXM`@JS9ph@~2JpPgrjWBh*IfA*O+zxh!RaohLi z(dHjPXE%{AOKWFlDXs7ew@u0pP!Bq9Qo_Spgn!RFC^LVagALb)4xpavtB&X~l;Nih z4PMnp?5Ie_B0BHPs%3bFCTtT71VA!I(N4Ej;xOENQ286DpD(VngC0F4lf+@TF~Gg) zAn7&Uk0z9wo(t&lWL^PX0FH>jA+JR|n#Ygn?o7XSZPj#O4VPtdG%1oU<8mfkZH&_!@nQMh+|g|QHbOoMPq+dSJ~T09O9fmsnN)FMUYCe~TJi23Nj8~=%|9Eve|F#Jt^S|R zF4LlHmoYfJ5wRhif zVz6G8?b+ME;BL&$-YlHK6V>RJj+`w1i?#80#reMr7yLt(rf{1<$NHfy6u_<$;%)?h zW6%^H2B6KrqDh5#zbxXq_)^f7K_K?b>9duo$t`g-{ujHiXWN0wn=tkDQ*gtB%T|sW zOjgq(3EGg(k>+ zm&3OWHwxQ^e7liq2cbzy-c7MJPLrE4(J_6Cja4K_ye^(-)9huq$=8d}RP(WF@wQ-#`AmM|KR<6m>FMlzRP{?bKTc<-6z`EP?v{OgcAaR@aSQ6Odt>_ z_y~n?uz|PhcMETVH-tCV$_E1BZD;;MySxgWz(ICjJ%dZ^)7%Hyc+Sg=CE>s!5jV4I zzS>?M9?qV=;7iKwz##tQc2zi{#sj73ygVI3Vs≷-_2Y`UZIr(!jrqMzso@`&>rKj+ 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 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_diagonal_slope.png b/textures/advcarts_track_steel_diagonal_slope.png new file mode 100644 index 0000000000000000000000000000000000000000..fdb13682f45dda24385b91c6c4d39175a436f92e GIT binary patch literal 6488 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 E04ONhk^lez literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_diagonal_switch.png b/textures/advcarts_track_steel_diagonal_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..bb13e1570ee5eb5b2a593a14395ea22de63047f6 GIT binary patch literal 6007 zcmbVQi9eL<`+jGdgRwU%Q8GlbSHx+ZDT(YYwk#tG(HPEH5@tr(+K!|m+t4a&5h}}Q z#z|!vl_kWOILb0+A`D*R_l)!X3w|FT^FHtTJn#Kp_jOZpE-LD8+ATB5NmbJ-s%0dI&kBL!DB}b zox0e^%O#|!^~5z(i>(KaWSp{T{kWm}W#KjJ2bsh)J;Ujf8sip~NeL&654}Ylkg~DP z-soKN{Q3@wXYMzyp14&^vQeeQ#l127c@qYCG>4P2y2StI4_^K2%D2F%74k!`!K?l| zn>-+0CP@T8q_d+Lu2!jAc-KP?3uiE) ziL1knCNVYPIN{Hv#RZSN80XpjT22RAF3ModU`@?UJ-BF+DY@M%~iAp%zl&~_{ zTUqpD=T7TCAh|-M%S}FC7tVD^mWB}cbnT8{p#=sDOF=@Z6E1Mm|B25q17zqZBKu$d%8bhZ?{L=9UVQVn)8YcfXJ}{B4i*OaDL1f4Y z^P+8E99Ma*ikg~pGGXM?1?qNKlbHh{X}g%^ckzYksk#Vzp-HvE%86x9twu%2X79|> zUSSs3oIP#!w>qw2WO8aac%E}Q7B2pxe1)y<{leg435Z5>1!sdn|9y^jyaBv`!L6g* zL{$ia6aJ8bE^VI4emi}4IT}5};-}LL;e%k1ic*B`C{j$^vUXCpfyEIqf<%sZkOmh#peXwu}nJYsfF5xu1gp$ADN zaGIRa>&_4V>oFJ{GPx%*)M`gb)F{p?Hg*(t=987D4!Fg(`f8w{ctNe!tp~|;dt|j& z+(C3ESK(NrEDnQ*@@1*sNZm~rvoHeUSkIaZ(pUGSgA)W3Now z>Lk4s$FTqRD?PXs?S!D+>1jM^GNx?8jhY<#J7hb&?J3*K1(#t%llJlHo#~6Qc*f$Z z{+L&#cxVs#aR;C7sy=^n{54Deo+T;r0g@J9h&u7|SA{du@{&+3IxNO~o#-(c*;B_g zKa&d~@klg_l#ah9k!Q3TLZ~HaE%c|B)6q3-ho|W;V@Te}GC{vqW5t>0*_NJeC$O%dkZ@Q~>Z2 z6c~EiKH}t{xhTD{o8ypsGGJJlx>Pw7?2qZVv0#D@RK4h;f$&%bAXYP*v8VKsx1D(H z52dLpWMnNNE=s)2G~*J{elk+Z=Q&ILjYsNxmczkbThB`>x0CDqT&rGsA~HX5%YXjKt9&k{jNnP9-b9; zVluP#?0bZ!CLKlgPB9PNgOGtcT2@B*b<_}>#-2tK@vGpnQJ&Ysitf-<0DPxCu1h*2 zrSczxJXaha47S04Y5Z~rAE@oU9`ihrql0iI#2>l?9up?C{2jbx`Q2WEGQSOcvn8sGSOL1vbmtx7>TvA_*@VX?x>J>z7O^_!69yrU~+Qu#?-wk=IC&u`_Y z{5%$g9`@eAGY-p{1Lo(}bYebDW&W2rL&-7e(qZsq?Js=2ZU5c~Wmx z$l1p^d#KKF2G3#^k|{O&`O7`5O}ERY3=|HU&mO=OLQ>QU6Kb#LYtbfWq2-Z*w^7`| zD?3#sp4j!Ow~1e$ zpZOJ5NbG08%Qai-%kwD6Q;?i?B#!Y!#q#Nwt9_Y=wQm{0PiPigzX-!G?^iyoppZ66Zp#}BUZH$ev^JfACgUAD@|-0W}OGmB^3> z5z+p8!5$sxB0PuLct;Sd9Xj03{62gO6~gAEO1roZ#FUGg4>{uiMH$L5bmJ>RJ{^$4 z>|m+iUd`5zvf|8MuG6GJm-3C|_V*hB#_?KB)ObB+c^aN!ENP_E{)=ng9NmCstmAT? zcQX>^Sl9pE3sZ3o{AF_6?EyFRX28BZ%9N8xb?>?{@iYb(oRc_r@ZFC2M%<^!?TX-3 z&O&jnQirUhC+4S>ka!o8i9f9fYK0Uv%=g}KkWPO?#Y}Qhn~SEVl9JLf7HLbc7Zdj! zDI9D{AK=^X@3mhmssk4v&=%ay#d*eVzK!2NX?sxi;lqc5%;6gY0W`=)iopv@6Oc#C zYf!CXeS-r~@fp;0Bj-fOtTdtguH$iI$E&K+=B!*EHkQ1U30b%GNs&m}dWd>7|}1D33;tm?TnY5}<{<6Y1) z^tal#Ps=p~>LZGX9yi~7;;BG=-z%2>LqcxD&*de{`S;4p^Cvf3G1CJ3;9XbF97 zC7l`@TNe@S-Yq7F*x~!LH)W|Fg%y6ODwMSFrG@^DA{QAfbyOPAm^lHtAXw5;tfVta zxujCa^IWklGJz4b*t_n_9hyFDhHjetK_Ux1bZH%#yMZ?1?5oV+cOOO;0Gy=svN>~t z8V9IA@IxCfyq?V9+{L>GFLCk~4)OL1!KY_8gdbMh&!ii{%eV3Ox$MAN)M;~6hxO3Z z6J;rCD*vfI>};EVO`vcYb$So_Ctw&Rbz$`KJWd_dV(mDb1-IM=>72yiVFG#Q@YyH{ zUMs!A-KteEUdf`TwQaKMEMK0EG7F#BEHbmr?~;jcHRk2tTh`V2X4-NZw-3JmPqQkz zWZb~j7P}2T$NK^3;WR^es5iqwR&Ftqp$Ftfk2O|?@dWcz8_rsW-Gx>5mgAkRYY^N2 zjGjL0I%BCAeX;x?u{qOmka}_sXWo}td8qe46vqnVFx&qcosXMaFai8dl%Y=i;Zr>& zf2^_Ycz`vMUbiy(efWvB&&7W#9yJI3SAsmbHOH`)y`-f{uXCVc6J;6J*Q3_FS)A+d zzEnH)IoQJ@B#AR(g`?~LTc6WgtG$s%R`*m$VwCuGZ6>^1F^ttS4;eVln7eY5ZTm^k ze=w#klQTKg-z})AMhXUAZl#(D1|IAqpkFaLe49q|_G&L_yXcY_?-Zw6P zy>o&dZ>Zi>&^h=*$G@67GHTq(wl_rZRLqPKZJPOdTDKHH94y=6zGc{+IJC!!43#wk zV*GqdA8t6oX__3|lqK+p=DzdTSpS zqX9p3`iUkh6^LVPwm!F*gcc3_M~S??eRE&^mxw?jMo<6hDiU0OMA*H-Wb@ZoqMZ>! z%g<#>DSI5&rm=4>M|>6p(Chti)O6L0)eXp$`;$taNMmY1n}gUEqdd7$&d6#(Pdz4- zr)2GpPRNS7mh#Q3rbYj|H`7?NXsX_6E8=Y1{+DX8Eq!ctpgzaOc|O94?eQJk3W~IR zl5koefxc_ddOuiwd0W%!zh&pS{3oqO51Wj3ZSI&t&8`uD?RLTj11hxYTn z7h{jdZ9q1pysvHx?&3Onp#y8@-zBYZII$XIVVX46UpE7~tr7{9b*@T);11Ug+M!G2 zCodM;ApJo*6)Ly(M1p>QmvYt^UmHI6{+b5fzKE8VTYfzyq_jpw)S+xxec!6JBqlJ* z+nEK*fqg5N=1<2LXEhl1 zVv!dTG7hhZFBP?ieXrr+}TK)Ttn82XnOVlr~uN5c^jsvbLA+x~hDr{jTg z*7Ra-%Zh5O!?t*KDzB_f`PEN8=gy|O>c8aiP4%g@)t&W;B(5?{86<%Q9I8TiQrI64V* z4g5sX8l#V@@(E13y1Y>Q^Jx2$mxc~_W@#bHx9?)cakL#j`gB~$PLE4|{!6?4D3z-& z4*HZqe5SzB&MqY-WP;e5zIW!Yja zfzg45dFNC}Z~02(2%njEX@xxwaS{0$5_tuJ>-&QqTME}gn9!S5%2Pduk<*WVbUEI< z&%=eCH71~vAX&*+uKAw%x3eFU*Nnc)>%b69-~#{qxTR!<9`P%X+n<0`V5noB^Tt8z z8#x;FKWoFs8gPf+|5CAh64bU06s^Y15E+^5Aa|b0Y005gN71*znzlXj$?xFN3k+lU zajO@!9{(lfd}qNkluN{xfviK7_H&K#YX*QX(`+X^4tx(;gRD)rgY*%=Pq4uT59D6L zt-xdFRr+5hDP%}PMMbD-EsA$X%o)rMMAp@}CF!Y8 zq601nb+&E0tiQC&w|g#?c-le;tg=9DpWxwti&4HT(t`mu^&+R+r>kPAD{6s)g|=({ z*YICU0IfVQu5?y?xO|kU+)+kUqLaJoyZIxN3R1v$+};N)5(E>B-(jp*HP8RX1HkTpxRNL*zrVK}=(AT@ zeQ{r|9{!)e+Gz&|2l;v&eeJc~54%5~&-J;k_w~Ns*L~LA)j>1A;K%6a(SZz~R6z*Mh)7?XZ)BJv6WU6x0^;!5#c5hIcpwEpAYLF^yr@ z0>Mr72&T&}_4n#p*kyVqPsX2tTL#BG_eI!+g@haljR2PrwR2r2ql#8Hw1)5ZPi zxf(F=2W_VPPS2RPqj?8^JNRl@ve#kc_*Ijjg58GwhxWspxcfSmzTZ>u!=ojuLbM3f zU-j=VNlM=P#2ky?w{ahH=lGNJI`-5j9&5IE9HrWt{oV2U_|nU~M~6DHOl}|Y*ui{4 z&iCbR^6siY>LO+Hy=^Kg{J$(sO~Yj~|AgJFeSJ3rUNG!`{b66t3nJLNif?wnTRJrM`Ps|A(;JV3K5^)Xp5-wOm%g2Yh8>}3d<4HaCH-erpa^Y7_qO5Y+HVYQkG z#>n#U-f0&Xm$Uhek4Sn@#~Q^Y@A)(8+O3I_(Wnwg2eKM%9!p~{o8w_|G?;CWIm^Vq zsUJ&&qz+I!dxPjtHdVpI>mXQ23n$vWOMF4dxOt^hNby{Dny_qqzi<;zNUnKf3B*H&GX9Rd_<~73hrYOJlNNM1g~j#|%a@ z7p7r$3DOq^m4lTbsgULj*Drt3HRoDvCoh2tN~GGOLqsCc6b#Bq_u^zpgr#oV^g2_PxF>0|SNf+5hOxwO_X{fFU<|k) zT>l!heqe>H#)ZN zek8`#2_+I!fneMQX&^N&)q}P)St`tjP!*W{D@nnIa5OL=SB}jU_84 z_Wd%mc>Kgr&qTY-#&$lad5qGArh@;k*Jb2r6kKIgPsLE`_mgrU!$23853RkG?sC*nvA{VLe04bj5%8^eb&0k(?}7r^V>}6VG0{E*f_Wu;NZNrXaLc$v$Ojt`j{<5(h!+p z>iv4NC8nH9moAkyRBJFHjOSljPWv|mIM)l@y23ze&Ru7+nPP+X(WnOg*^9c)dp^oe z#1q?WHV$YtmS;Sh6`jwtIpDrq9wNwGtGJ5&`?CXGmG^6>psv`f5L>Q68_-84CcY$z z%rhW8daE?kd2vw*7RNe0?48gQY;ZidbvYC~*O389sWuA7q|T^ET!9h2<;_%IPH%jQ zTe^)YUH%NuV!)9aGD zxov{4n+~Xw6d8;64|}}rI$N79D(-m@JxxAAC65XJ2Gl^gtX=jzZ=@D;@1r6k{@eY} z9yJl;k-aR_i0NJ*wM^M8D{I^7))~3(R_fCxm5FUi6SQe|5T-(3)UsCL-UCSC=yCZH zIv#Mt6dsu4f~Uc&_rY8dB6V{tV1hNwD7Ru~7I8&`Nvlc)d}`+`FP|q>1K+5JZ+mI$FZ840G->o6xCt0@Eglezh6W%nzdW0f#JrDG1wYkEpXxj%mj=wb zh0X=`-@LPKCXp~4^`I5)Hs@?hCSrbAimVo7=^-yZ)aJQ5guJaRsVcSd*@{*A-?y0{ zsi`N1zg(QvR-}#S>meUcIs1JI|6{`C)AG5!8e+{ld$192sWy`on+HHtog#{aZ>jd0 zaJ^x6I;2W zIcaKF8}(rCk2`ksTtn~LLS-S9>+m{rgIwCPE~MyFd`Vm5Wos_0;cafmCF9~>+gS3= ztWy`hrZK`gi_$&(R=lOg^=gN%@N_hr>KSPuKD*L3Z!vx5wt0*D;rjWma{|AKU`Y?Z zd*$42FR00KKKah(v-LvHnA*FGMFX0;FPnz=ZEe5R6MecWKQs$8mDwR#g}GNR{a#(t zf)N2WLOxylHCqm)d76V&roK9TdfYg6v=Vzb*`*BawlS@j_+z-Ozke@5?9zYk0^ba_ zdBA=G(c8h&62jAsioqd!x#1er43*uuP#9nwi(^L2i_o^k9nT>{*S#b zCk8nX;gR$2k57KgXq9PeYGNA|$H@MRSTD&smcd`fFV76tWv&~eD71($gS`IMX?rtD z?kK1(`YZe$o5o&sreYJMVdt>lv;cUyqFpeKNl)?X=d;0f*XYIz>z3kcqUE&rorxd3 zqJvC0Md$V7M6Q2jPa%5Ckj`LxxzB1S6PqTTW|EeHt$(Zisn{N_R_${5*-y=H>_;cz zvjgy+A1A2y6CKd4E+KtqArFRF56Q(I0F|6HdN3}Lz_2!&0*lg89SdBgomRIwrtt93 z@Ff6OT#_W6zW45M6;u2w`JD+TP(EV9xzQl$P|L>^Xn)z?EkfUve(G{a-nb~sjMKgY z=ZwEsFCpV6b&)^Z;1F$AzbY?SzRBB(9;cF)dbLh7S%fDrbb*~XR)ea$y?lZve%9Z( zOMURg<3+Ee0mYAnGq1yQ<3lt>F2EU5c=blb5r+7mNsEi@I+as-WF6hPEVX>DCU3YW0HE_2KyYxJ+Itl_RF@pY(^Y+?lU6FEnn z5LWa!Wm~^!C*XSei~$PdrE54=z~OAP(;2$0wY>#RA?s8KXt9IZ%)XP;X~XlpslVs| zGpN^3us2s?0tnnvId^4}gu=<1Rg{%WC>TpcEQ4Mh?f+Q3YRXO8%PG+vGQZ7P{cJ(U zY|^DW`$z4#cXdb!K2SUD0_F;_C#6(7*g~z$wI+$YKJxv$chg54NvWvC>mp(dM68@ZX;a zo@%iOF9|(N@m~a3vI@;K;?&f$q7G9_%J|U9keUR-t;jE@nFW$r1p%+Q&hK)%$MGI* zk=J#AUN=XvJ^+;M2oyy1l_5(Itj-D$;)IZzGy>y+00@&6h)WlNhfZtP>4-w}^gcBiBOyDlO8$eHKke9MQO&nik7&hnI$l#Ga<^rgbD z%jpbwgVy$n-nKADvEH1y)Av+~h(5GL+Q}u;bR z6?@V_tZnd~8x%%>s&c#_BRr_QIeF9?>Rh(@_k6g%9LWT*v`dE8;XTb1k$n1UP%1y^ z0Kel{QJz5$xm(TlJw|gMIrAP{jsBMXN_)J+F0U`XqbKD+`M2pt(^{J7bWcmR=ENX# z&8;gNE9X}2?(l^4b`sa@(PkYq=hTKdQ+Zs8X-Rt`##}=^xpY*MXn|oi9s(-;xH7}e9q(I~Mlav&3j#kR*iI%%(c3RS)&Fzk1qZrL z1o1i-+V?SyUAo~ahC*p%=Q+?wHX{<6s zO;-M;nAwlPuta{KJb+ULT-&q8v09Vd@zowd)W5W+ba!`LT04LAv>D&!orT zHqP{70h%lcocD7rLy7W_JRds+$iL{F#mE;88j0O8@aksqN&KUl z&NsCxRpZPPl{yZ> z2a*8YgW`}(BZK^HIyv9ou5)ZB#3*0@jt8RCLa`1{ZUb2bYX6JtPNX!$xZ$9cRVT)* zBP>(1^5ea0y;^R&&08QnO5mdzvrTwW7D}AsKe!n`G;?NRt~Iis$MX!idm*!CU1cTA z+Y1Mo5}Q2U)fmJ)@m#APL@j+)8v27M^k{R~Uf4Uy&#dUGXp0?V2|beHf1>{bUkMBf zVf~NOj^tYdvK5y>i!*wCtxpwJe}K{Oy}`>!V+&IRF7U2R=pmQ!BNMahNps4?4-Nq-@JnNEMMwLOG@P60(wAOWm?3Kf^#9|Mbo`7Op3d3pcsxn2wKfGT1ob^jkT*#*?Og8w$ zCGwG6>yY;`!1H1yVTx7(t_1qA?9MD0hhW**UJZAgEXXKb)ZQz&NAuf({C5)zQEGX zuNR?ks2PtN!UnDSyld%$Xp(Sk?WJ8dsanF%r^)UZcRaQ|FQIqq525CVqrP0U(rYSB z5d5h(64cd%{cBVZH3qufM@}J?Ub>B)+`7aHW~1FISwd` zvVU`83oi<-T_5kgg0|Hd>B)$unSAP^;zeKzIUfvcNn(mMc~+l*&4nuxyn1J|JRHx; zCL8}5O1*FRd3L&YHxTorkOefBf&_9okUo9$1c#vBeTkLWA<^vEA zr`*`#c3s3AT78eOJ~uY-zJL}~Mbv@PNf;kf!5Z0wF5pGIOg2DL&a8q<)S*A7kUmO_ z0qYsLWntIwOntwd;#6{i?{>FTW~+mSuW7R4wnO=&OtpN_gf3MoH!Bp2ZSPZ}SH+DE ztyTIgZ3B$}VcU5?o)mCQ1692+=5*(2Ur=fxbGCseCP;2~Fu`qpDl=S?k`w)lOdacf z8vmvhkVKX=lfecJ__bTugd_i#6&Q@?J}~LRn;#{Rfz3fDPdX(W4hl0DSLKYo1h|oa_;G+x*FWvsy8ERevgt4-R%QPNRF!kEF0wV%WOFIn&4bmbm nenTeRFH!$r-=!(X4LqF3G^ebbeOTVDP+l{4x!RZ6`v3Z0*|3d1 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_diagonal_switch_y.png b/textures/advcarts_track_steel_diagonal_switch_y.png new file mode 100644 index 0000000000000000000000000000000000000000..8de21fb66061aec5ba2ac64ab1e6a838d1afec43 GIT binary patch literal 4218 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 QBgY^+A8>lSFYuTD0sjI<(f|Me literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_inv.png b/textures/advcarts_track_steel_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..da973a0f9b53a32ce657569ae773fdf39dd78d63 GIT binary patch literal 640 zcmV-`0)PF9P)VGd000McNliru;s*=_Bs94D&Q1UT02*mj zSad^gZEa<4bN~PV002#4WMv?CX>@2HM@dak$cnsV0005!Nkl$VE_aG7>?_*1=J5a&Zy&I29L#P=r8(LxxC~4xL&gT`HtHh^rEcf)WA> zZMbbh+J>ef`f6VOU5DGerUq^N=5r3``P9zeV6O>A&bT*sy>ui8rGNzSM z2qDPCBRcE^5svLQxn385db5q|x&SOZxv3w$_+;4tZ$4}?broFKWq+r^PNU6vVdI1X zc%8mK=$tS^rIfr{+CAD}Zna`fJwyY{E-UNb7KBzxkzU!d00R7{1{RJnSbBO(ODQQ7 z3d~POb<68)w+jpY`jj7-G;}YJ(rB>yU#uv2H#Z;TPXmF>ovSipN+CvZot9o z^l?G~E?yBxDS7*P`)Gri#gdi1hZaKc{LtIql(_C{r4%!ZrBMcd`Wr_h3^MVEK6A?E z=dUhdC&=W4L#cW|*a_0|dK?HbnuE1s75j!^uu-l9_?|1`wWa1J1 z_~jSFV109s=xuX__g~BY?VV77{l*X9f5Yu^?T&%?`PlUj literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_skewed_crossing.png b/textures/advcarts_track_steel_skewed_crossing.png new file mode 100644 index 0000000000000000000000000000000000000000..5313ffd85d6df3a6791e2b8949f7c2bf8541d02a GIT binary patch literal 6516 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 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_straight.png b/textures/advcarts_track_steel_straight.png new file mode 100644 index 0000000000000000000000000000000000000000..c8601dbe91d4e4abdd4e03d79a9001cd8cbd194f GIT binary patch literal 974 zcmV;<12O!GP)VGd000McNliru;Rp`^HZxBX$#Vbz16xT% zK~z}7?UhYWBvlxNpIaY&ySRf8W-t;5O9LH*fQ-b%j0@vp7DN^PgOo}OlEYKn!01(}_lmGd}rb8|93KQEJ$lg!M_FfcICblz$9Fpgpz z$KjnjE@wOWmD ze=PD^0m3k3ceBD~rAoJP(5^+CWDQQ2sUPS2KA(SDMqRD*CntLN{@%{T1mxWuaUA1$ z9xK*_0tBG{YC+{XLLAq{Xq&vzSPDuTy9f$nj08cz^6`iovMdyezRO*}1qGPAi)C4) zX-bxzeWj-zdY{N)J2qa2M@N^3ZD%;7C`(a1u>c^K%Mn#0;?#Yt1&=kTztnbInu9pW(5}T(g9hLC`R?lt@;xu%xGo=kbHB9~ zXst2E@Jn%2jergkT?+^RS42ttx1XLb9Rzvm&#GPKrY zS*`UwAOdNc^5)p4_`c85(h_%Wjmss^;qW*muWkBzG=G(j$ZMM@u5o0{fA#>V)&#u& z_6VOW)*G<6T*A3l&%o+hy-uf|KiqJLs##+nboSJ5X>oajT)`zxQ{KHf!Utb0Urazy zIzrHNcX#vWqj7cpWDg8IH>jdGB@@VLO;^t)@}A!AXP(GPkt&OP{Jr5Bf6S;T> zHV$Hx0&{Yur!^GICB>qqY_bfJEF%n4_VyC?D@kKkDMc8DhzNfaD;Kw*(^I&|Im+cS zZw#$B{ssN|K=#8LaZ;mPiMdkkI5{Y$(}M^If`Hct*5%j3KBcv$+q95@&wf~Ec(@Ct z6c38qOuSrg!QJ218r|2f#ct)G;eRDedHzQIZTD8no9((h_{Qv*}07*qoM6N<$g4hYg-T(jq literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_switch.png b/textures/advcarts_track_steel_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..deaddb855cb7b4860ad8f10d6e0493d2c3b1df54 GIT binary patch literal 3857 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 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_steel_switch_ty.png b/textures/advcarts_track_steel_switch_ty.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae2f6160e9d52c807cd6d9d13343d3753a53672 GIT binary patch literal 5559 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 literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_unload_curve.png b/textures/advcarts_track_unload_curve.png new file mode 100644 index 0000000000000000000000000000000000000000..765688bd4117887427d30ff07d9c7077067bbe50 GIT binary patch literal 3590 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 TXh)8V>UvMNovsyILx1`=Eredp literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_unload_inv.png b/textures/advcarts_track_unload_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..39b92b1bc4fe1be20771c1b5f72f5be0a42cef37 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DjSL74G){)!Z!AbW|YuPgf_c5X3a7Rf87mw`f3nIRD+&iT2ysd*(pE(3#aVoIt) zd1gt5g1e`0z=^IsAdRw~E{-7KvX(9j*_0GQ;g~f(cJsro;p;h7&^EwIM9b Pp&;#^u6{1-oD!M(VP)VGd000McNliru;S3f6GBF-x2jBnz158Oo zK~z}7?UhYvV`UVEpYQ(U<~G*E{zRarr64FMMMMx47vg3XZba-jfB&L|1on>HPfG_4>!QNTt$K_npg0G%G!w2(k^2fGhW@d&$ zp+K=%Y#47eE9N>bhGFpH<68mu-b+csmQKX_JGJ8a0Bmhn$*tA73yA{Pc1O@Ot*PLK z0-ik6OQs^I)oOhELxvaPb$)HL#Ac~VEMj1p8m=dUoM^-Vq5%B5oJTxZ&wpyVhwrX$ z9r>Mx^1@~a*LAUNo2)h+@E^XlqD~AAb6?-X^bee3^z`DW2Kq7U#0+&k4j)@qH=O^RM*^fS-!vJkaGFdk32D2nx^h+Bz^&N-WDl z%36DC2%r@BzR$(PX24xuNQ!$d8SL!&ge{%H9*f%>yM!$rXQ3w29KHh_-K^sUy#3q+ zpDxumU@5f`cp$x6-{*swujLG!s{F@2sC!^3l_NA};`=_YUzlL-^HggiSlQS`0kK$& zWj`74i*s4^(9kfWCr>dl9A_k+`Qf!tjeA?hal zH+(dd5J(B0l+-GUa`~`Vgb-9J6_ir^o+-61pxYLhdm-}qJWt2h1ODT$&WY{V9^002ovPDHLkV1f$p!6N_w literal 0 HcmV?d00001 diff --git a/textures/advcarts_track_unload_straight_45.png b/textures/advcarts_track_unload_straight_45.png new file mode 100644 index 0000000000000000000000000000000000000000..124467c71d92670b3900f22e6b7fbae68d799826 GIT binary patch literal 5778 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 literal 0 HcmV?d00001 diff --git a/track.txt b/track.txt new file mode 100644 index 0000000..f948f48 --- /dev/null +++ b/track.txt @@ -0,0 +1,6 @@ + +6 5 4 + \ | / +7 - * - 3 + / | \ +8 1 2 \ No newline at end of file diff --git a/tracks.lua b/tracks.lua new file mode 100644 index 0000000..e81b89d --- /dev/null +++ b/tracks.lua @@ -0,0 +1,408 @@ +advcarts = {} + +advcarts.autoconnect_rails = function(pos, node) + node_dict = { + {x = pos.x, y = pos.y, z = pos.z - 1}, + {x = pos.x + 1, y = pos.y, z = pos.z - 1}, + {x = pos.x + 1, y = pos.y, z = pos.z}, + {x = pos.x + 1, y = pos.y, z = pos.z + 1}, + {x = pos.x, y = pos.y, z = pos.z + 1}, + {x = pos.x - 1, y = pos.y, z = pos.z + 1}, + {x = pos.x - 1, y = pos.y, z = pos.z}, + {x = pos.x - 1, y = pos.y, z = pos.z - 1}, + } + local is_rail = function(i) + if minetest.get_item_group(minetest.get_node(node_dict[i]).name, "advcarts_rail") == 1 then + return true + else + return false + end + end + if minetest.registered_nodes[node.name].advcarts_rail_type == "slope" then + return + end + local prefix = node.name:sub(0, node.name:find("000") + 2) + if is_rail(1) == true and is_rail(5) == true then + minetest.set_node(pos, {name = prefix.."straight", param2 = 0}) + elseif is_rail(3) == true and is_rail(7) == true then + minetest.set_node(pos, {name = prefix.."straight", param2 = 1}) + elseif is_rail(4) == true and is_rail(8) == true then + minetest.set_node(pos, {name = prefix.."diagonal", param2 = 0}) + elseif is_rail(2) == true and is_rail(6) == true then + minetest.set_node(pos, {name = prefix.."diagonal", param2 = 1}) + elseif is_rail(1) == true and is_rail(4) == true then + minetest.set_node(pos, {name = prefix.."curve", param2 = 0}) + elseif is_rail(2) == true and is_rail(7) == true then + minetest.set_node(pos, {name = prefix.."curve", param2 = 1}) + elseif is_rail(5) == true and is_rail(8) == true then + minetest.set_node(pos, {name = prefix.."curve", param2 = 2}) + elseif is_rail(3) == true and is_rail(6) == true then + minetest.set_node(pos, {name = prefix.."curve", param2 = 3}) + elseif is_rail(1) == true and is_rail(6) == true then + minetest.set_node(pos, {name = prefix.."diagonal_curve", param2 = 3}) + elseif is_rail(4) == true and is_rail(7) == true then + minetest.set_node(pos, {name = prefix.."diagonal_curve", param2 = 0}) + elseif is_rail(2) == true and is_rail(5) == true then + minetest.set_node(pos, {name = prefix.."diagonal_curve", param2 = 1}) + elseif is_rail(3) == true and is_rail(8) == true then + minetest.set_node(pos, {name = prefix.."diagonal_curve", param2 = 2}) + elseif is_rail(1) == true or is_rail(5) == true then + minetest.set_node(pos, {name = prefix.."straight", param2 = 0}) + elseif is_rail(3) == true or is_rail(7) == true then + minetest.set_node(pos, {name = prefix.."straight", param2 = 1}) + elseif is_rail(4) == true or is_rail(8) == true then + minetest.set_node(pos, {name = prefix.."diagonal", param2 = 0}) + elseif is_rail(2) == true or is_rail(6) == true then + minetest.set_node(pos, {name = prefix.."diagonal", param2 = 1}) + end +end + +advcarts.update_nodes_around = function(pos, node) + node_dict = { + {x = pos.x, y = pos.y, z = pos.z - 1}, + {x = pos.x + 1, y = pos.y, z = pos.z - 1}, + {x = pos.x + 1, y = pos.y, z = pos.z}, + {x = pos.x + 1, y = pos.y, z = pos.z + 1}, + {x = pos.x, y = pos.y, z = pos.z + 1}, + {x = pos.x - 1, y = pos.y, z = pos.z + 1}, + {x = pos.x - 1, y = pos.y, z = pos.z}, + {x = pos.x - 1, y = pos.y, z = pos.z - 1}, + } + local is_rail = function(i) + if minetest.get_item_group(minetest.get_node(node_dict[i]).name, "advcarts_rail") == 1 then + return true + else + return false + end + end + for i = 1, 8 do + if is_rail(i) then + advcarts.autoconnect_rails(node_dict[i], minetest.get_node(node_dict[i])) + end + end +end + +advcarts.register_track_node = function(name_prefix, name_suffix, mesh, texture, track, rail_type, creative_inv, collision, selection) + minetest.register_node(name_prefix, { + description = name_suffix, + drawtype = "mesh", + mesh = mesh, + tiles = {texture}, + inventory_image = "advcarts_track_"..track.."_inv.png", + wield_image = "advcarts_track_"..track.."_inv.png", + selection_box = {type = "fixed", fixed = selection or {{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}}}, + collision_box = {type = "fixed", fixed = collision or {{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}}}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = false, + advcarts_rail_type = rail_type, + drop = "advcarts:track_"..track.."_000straight", + groups = {oddly_breakable_by_hand = 3, advcarts_rail = 1, not_in_creative_inventory = creative_inv or 1}, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos) + local node = minetest.get_node(pos) + advcarts.autoconnect_rails(pos, node) + advcarts.update_nodes_around(pos, node) + end, + after_dig_node = function(pos) + local node = minetest.get_node(pos) + advcarts.update_nodes_around(pos, node) + end, + }) +end + +advcarts.register_track = function(track, track_desc) + advcarts.register_track_node("advcarts:track_"..track.."_000straight", track_desc.." Rail", "advcarts_track_straight.obj", "advcarts_track_"..track.."_straight.png", track, "regular", 0) + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal", track_desc.." Rail (Diagonal)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_diagonal.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000curve", track_desc.." Rail (Curved)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_curve.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_curve", track_desc.." Rail (Opposite Curved)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_curve.png^[transformFXR270", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000right_switch", track_desc.." Rail (Right Switch)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_switch.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000left_switch", track_desc.." Rail (Left Switch)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_switch.png^[transformFX", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_right_switch", track_desc.." Rail (Diagonal Right Switch)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_diagonal_switch.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_left_switch", track_desc.." Rail (Diagonal Left Switch)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_diagonal_switch.png^[transformFXR270", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000y_switch", track_desc.." Rail (Split Switch)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_switch_y.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_y_switch", track_desc.." Rail (Diagonal Split Switch)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_diagonal_switch_y.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000ty_switch", track_desc.." Rail (Triple Split Switch)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_switch_ty.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_ty_switch", track_desc.." Rail (Triple Diagonal Split Switch)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_diagonal_switch_ty.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_0004_crossing", track_desc.." Rail (4-Way Crossing)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_crossing.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_4_crossing", track_desc.." Rail (Diagonal 4-Way Crossing)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_diagonal_crossing.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000skewed_4_crossing", track_desc.." Rail (Skewed 4-Way Crossing)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_skewed_crossing.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_skewed_4_crossing", track_desc.." Rail (Diagonal Skewed 4-Way Crossing)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_skewed_crossing.png^[transformFYR90", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_0006_crossing", track_desc.." Rail (6-Way Crossing)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_6_way_crossing.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_6_crossing", track_desc.." Rail (Diagonal 6-Way Crossing)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_diagonal_6_way_crossing.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_0008_crossing", track_desc.." Rail (8-Way Crossing)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_8_way_crossing.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_8_crossing", track_desc.." Rail (8-Way Crossing)", "advcarts_track_normal.obj", "advcarts_track_"..track.."_8_way_crossing.png", track, "regular") + advcarts.register_track_node("advcarts:track_"..track.."_000slope_bottom", track_desc.." Rail (Slope Bottom)", "advcarts_track_slope_bottom.obj", "advcarts_track_"..track.."_inv.png", track, "slope", 1, {{-0.5, -0.4375, -0.5, 0.5, -0.375, -0.25}, + {-0.5, -0.375, -0.375, 0.5, -0.3125, -0.125}, + {-0.5, -0.3125, -0.25, 0.5, -0.25, 6.70552e-008}, + {-0.5, -0.25, -0.125, 0.5, -0.1875, 0.125}, + {-0.5, -0.1875, 0, 0.5, -0.125, 0.25}, + {-0.5, -0.125, 0.125, 0.5, -0.0625, 0.375}, + {-0.5, -0.0625, 0.25, 0.5, -1.49012e-008, 0.5}, + {-0.5, 0, 0.375, 0.5, 0.0625, 0.5}, + {-0.5, -0.5, -0.5, 0.5, -0.4375, -0.375}}, {{-0.5, -0.5, -0.5, 0.5, 0, 0.5}}) + advcarts.register_track_node("advcarts:track_"..track.."_000slope_top", track_desc.." Rail (Slope Top)", "advcarts_track_slope_top.obj", "advcarts_track_"..track.."_inv.png", track, "slope", 1, {{-0.5, 0.375, 0.25, 0.5, 0.4375, 0.5}, + {-0.5, 0.3125, 0.125, 0.5, 0.375, 0.375}, + {-0.5, 0.25, -6.70552e-008, 0.5, 0.3125, 0.25}, + {-0.5, 0.1875, -0.125, 0.5, 0.25, 0.125}, + {-0.5, 0.125, -0.25, 0.5, 0.1875, -0}, + {-0.5, 0.0625, -0.375, 0.5, 0.125, -0.125}, + {-0.5, 1.49012e-008, -0.5, 0.5, 0.0625, -0.25}, + {-0.5, -0.0625, -0.5, 0.5, -0, -0.375}, + {-0.5, 0.4375, 0.375, 0.5, 0.5, 0.5}}, {{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}}) + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_slope_bottom", track_desc.." Rail (Diagonal Slope Bottom)", "advcarts_track_diagonal_slope_bottom.obj", "advcarts_track_"..track.."_diagonal_slope.png", track, "slope", 1, {{-0.5, -0.5, -0.5, 0, -0.4375, -0.375}, + {-0.5, -0.5, -0.5, -0.375, -0.4375, 0}, + {-0.5, -0.4375, -0.5, -0.25, -0.375, 0}, + {-0.5, -0.4375, -0.5, 0, -0.375, -0.25}, + {-0.375, -0.375, -0.375, 0.125, -0.3125, -0.125}, + {-0.375, -0.375, -0.375, -0.125, -0.3125, 0.125}, + {-0.25, -0.3125, -0.25, -4.47035e-008, -0.25, 0.25}, + {-0.25, -0.3125, -0.25, 0.25, -0.25, 0}, + {-0.125, -0.25, -0.125, 0.375, -0.1875, 0.125}, + {-0.125, -0.25, -0.125, 0.125, -0.1875, 0.375}, + {0, -0.1875, 0, 0.25, -0.125, 0.5}, + {0, -0.1875, 0, 0.5, -0.125, 0.25}, + {0.125, -0.125, 0.125, 0.625, -0.0625, 0.375}, + {0.125, -0.125, 0.125, 0.375, -0.0625, 0.625}, + {0.25, -0.0625, 0.25, 0.5, -2.23517e-008, 0.75}, + {0.25, -0.0625, 0.25, 0.75, -2.23517e-008, 0.5}, + {0.375, 0, 0.375, 0.75, 0.0625, 0.5}, + {0.375, 0, 0.375, 0.5, 0.0625, 0.75}}, {{-0.5, -0.5, -0.5, 0.5, 0, 0.5}}) + advcarts.register_track_node("advcarts:track_"..track.."_000diagonal_slope_top", track_desc.." Rail (Diagonal Slope Top)", "advcarts_track_diagonal_slope_top.obj", "advcarts_track_"..track.."_diagonal_slope.png", track, "slope", 1, {{0.375, 0.4375, -0, 0.5, 0.5, 0.5}, + {-0, 0.4375, 0.375, 0.5, 0.5, 0.5}, + {-0, 0.375, 0.25, 0.5, 0.4375, 0.5}, + {0.25, 0.375, -0, 0.5, 0.4375, 0.5}, + {0.125, 0.3125, -0.125, 0.375, 0.375, 0.375}, + {-0.125, 0.3125, 0.125, 0.375, 0.375, 0.375}, + {-0.25, 0.25, 4.47035e-008, 0.25, 0.3125, 0.25}, + {-0, 0.25, -0.25, 0.25, 0.3125, 0.25}, + {-0.125, 0.1875, -0.375, 0.125, 0.25, 0.125}, + {-0.375, 0.1875, -0.125, 0.125, 0.25, 0.125}, + {-0.5, 0.125, -0.25, -0, 0.1875, -0}, + {-0.25, 0.125, -0.5, -0, 0.1875, -0}, + {-0.375, 0.0625, -0.625, -0.125, 0.125, -0.125}, + {-0.625, 0.0625, -0.375, -0.125, 0.125, -0.125}, + {-0.75, 2.23517e-008, -0.5, -0.25, 0.0625, -0.25}, + {-0.5, 2.23517e-008, -0.75, -0.25, 0.0625, -0.25}, + {-0.5, -0.0625, -0.75, -0.375, -0, -0.375}, + {-0.75, -0.0625, -0.5, -0.375, -0, -0.375}}, {{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}}) +end + +advcarts.register_track("steel", "Steel") + +minetest.register_craftitem("advcarts:railworker", { + description = "\nRail Worker\n\nLeft-click: Change a rail type\nRight-click: Rotate a rail\nSneak + Left-click: Change to a slope\n", + inventory_image = "advcarts_hammer.png", + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type == "nothing" then + return + end + local pos = minetest.get_pointed_thing_position(pointed_thing) + local node = minetest.get_node(pos) + local is_rail = function() + if minetest.get_item_group(node.name, "advcarts_rail") == 1 then + return true + else + return false + end + end + if is_rail() == true then + local prefix = node.name:sub(0, node.name:find("000") + 2) + local suffix = node.name:sub(node.name:find("000") + 3, node.name:len()) + local facedir = node.param2 + local ctrl = user:get_player_control() + if ctrl and ctrl.sneak then + if suffix:sub(0, 8) == "diagonal" then + suffix = "diagonal_slope_bottom" + else + suffix = "slope_bottom" + end + else + if suffix == "straight" then + suffix = "curve" + elseif suffix == "diagonal" then + suffix = "diagonal_curve" + elseif suffix == "curve" and minetest.registered_nodes[node.name].advcarts_rail_type == "simple" then + suffix = "straight" + elseif suffix == "diagonal_curve" and minetest.registered_nodes[node.name].advcarts_rail_type == "simple" then + suffix = "diagonal" + elseif suffix == "curve" and minetest.registered_nodes[node.name].advcarts_rail_type == "regular" then + suffix = "right_switch" + elseif suffix == "diagonal_curve" and minetest.registered_nodes[node.name].advcarts_rail_type == "regular" then + suffix = "diagonal_right_switch" + elseif suffix == "right_switch" then + suffix = "left_switch" + elseif suffix == "diagonal_right_switch" then + suffix = "diagonal_left_switch" + elseif suffix == "left_switch" then + suffix = "y_switch" + elseif suffix == "diagonal_left_switch" then + suffix = "diagonal_y_switch" + elseif suffix == "y_switch" then + suffix = "ty_switch" + elseif suffix == "diagonal_y_switch" then + suffix = "diagonal_ty_switch" + elseif suffix == "ty_switch" then + suffix = "4_crossing" + elseif suffix == "diagonal_ty_switch" then + suffix = "diagonal_4_crossing" + elseif suffix == "4_crossing" then + suffix = "skewed_4_crossing" + elseif suffix == "diagonal_4_crossing" then + suffix = "diagonal_skewed_4_crossing" + elseif suffix == "skewed_4_crossing" then + suffix = "6_crossing" + elseif suffix == "diagonal_skewed_4_crossing" then + suffix = "diagonal_6_crossing" + elseif suffix == "6_crossing" then + suffix = "8_crossing" + elseif suffix == "diagonal_6_crossing" then + suffix = "diagonal_8_crossing" + elseif suffix == "8_crossing" then + suffix = "slope_bottom" + elseif suffix == "diagonal_8_crossing" then + suffix = "diagonal_slope_bottom" + elseif suffix == "slope_bottom" then + suffix = "slope_top" + elseif suffix == "diagonal_slope_bottom" then + suffix = "diagonal_slope_top" + elseif suffix == "slope_top" then + suffix = "straight" + elseif suffix == "diagonal_slope_top" then + suffix = "diagonal" + end + end + minetest.set_node(pos, {name = prefix..suffix, param2 = facedir}) + end + end, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type == "nothing" then + return + end + local pos = minetest.get_pointed_thing_position(pointed_thing) + local node = minetest.get_node(pos) + local is_rail = function() + if minetest.get_item_group(node.name, "advcarts_rail") == 1 then + return true + else + return false + end + end + if is_rail() == true then + local prefix = node.name:sub(0, node.name:find("000") + 2) + local suffix = node.name:sub(node.name:find("000") + 3, node.name:len()) + local facedir = node.param2 + if suffix == "straight" then + suffix = "diagonal" + elseif suffix == "diagonal" then + suffix = "straight" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "curve" then + suffix = "diagonal_curve" + elseif suffix == "diagonal_curve" then + suffix = "curve" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "right_switch" then + suffix = "diagonal_right_switch" + elseif suffix == "diagonal_right_switch" then + suffix = "right_switch" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "left_switch" then + suffix = "diagonal_left_switch" + elseif suffix == "diagonal_left_switch" then + suffix = "left_switch" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "y_switch" then + suffix = "diagonal_y_switch" + elseif suffix == "diagonal_y_switch" then + suffix = "y_switch" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "ty_switch" then + suffix = "diagonal_ty_switch" + elseif suffix == "diagonal_ty_switch" then + suffix = "ty_switch" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "4_crossing" then + suffix = "diagonal_4_crossing" + elseif suffix == "diagonal_4_crossing" then + suffix = "4_crossing" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "skewed_4_crossing" then + suffix = "diagonal_skewed_4_crossing" + elseif suffix == "diagonal_skewed_4_crossing" then + suffix = "skewed_4_crossing" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "6_crossing" then + suffix = "diagonal_6_crossing" + elseif suffix == "diagonal_6_crossing" then + suffix = "6_crossing" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "8_crossing" then + suffix = "diagonal_8_crossing" + elseif suffix == "diagonal_8_crossing" then + suffix = "8_crossing" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "slope_bottom" then + suffix = "diagonal_slope_bottom" + elseif suffix == "diagonal_slope_bottom" then + suffix = "slope_bottom" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + if suffix == "slope_top" then + suffix = "diagonal_slope_top" + elseif suffix == "diagonal_slope_top" then + suffix = "slope_top" + facedir = facedir + 1 + if facedir >= 4 then + facedir = 0 + end + end + minetest.set_node(pos, {name = prefix..suffix, param2 = facedir}) + end + end +}) \ No newline at end of file