return { structure = { layers = { util.sprite_load("__elevated-rails__/graphics/entity/elevated-rail-signal/elevated-rail-signal", { priority = "high", frame_count = 3, direction_count = 25, scale = 0.5, } ), util.sprite_load("__elevated-rails__/graphics/entity/elevated-rail-signal/elevated-rail-signal-lights", { priority = "low", blend_mode = "additive", draw_as_light = true, frame_count = 3, direction_count = 25, scale = 0.5, } ), } }, structure_render_layer = "elevated-rail-stone-path", structure_align_to_animation_index = { -- X0Y0, X1Y0, X0Y1, X1Y1 -- Left turn | Straight/Multi | Right turn 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, -- North 01, 01, 01, 01, 01, 01, 01, 01, 02, 01, 01, 01, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 05, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, -- East 07, 07, 07, 07, 07, 07, 07, 07, 07, 08, 07, 07, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, -- South 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 18, 17, 17, 17, 17, 17, 17, 17, 17, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, -- West 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 20, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, }, signal_color_to_structure_frame_index = { green = 0, yellow = 1, red = 2, }, selection_box_shift = { -- Given this affects SelectionBox, it is part of game state. -- NOTE: Those shifts are not processed (yet) by PrototypeAggregateValues::calculateBoxExtensionForSelectionBoxSearch() -- so if you exceed some reasonable values, a signal may become unselectable -- NOTE: only applies to normal selection box. It is ignored for chart selection box -- -- X0Y0, X1Y0, X0Y1, X1Y1 -- 1st - Left turn -- 2nd - Straight/Multi -- 3rd - Right turn -- North {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.06,-0.10}, {-0.35,-0.37}, {-0.35,-0.37}, {-0.35,-0.37}, {-0.35,-0.37}, {-0.35,-0.37}, {-0.35,-0.37}, {-0.35,-0.37}, {-0.35,-0.37}, {-0.50,-0.50}, {-0.35,-0.37}, {-0.35,-0.37}, {-0.35,-0.37}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.18,-0.12}, {-0.58,-0.58}, {-0.29,-0.43}, {-0.29,-0.43}, {-0.29,-0.43}, {-0.29,-0.43}, {-0.29,-0.43}, {-0.29,-0.43}, {-0.29,-0.43}, {-0.29,-0.43}, {-0.29,-0.43}, {-0.29,-0.43}, {-0.29,-0.43}, -- East {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, {-0.00,-0.11}, { 0.21,-0.45}, { 0.21,-0.45}, { 0.21,-0.45}, { 0.21,-0.45}, { 0.21,-0.45}, { 0.21,-0.45}, { 0.21,-0.45}, { 0.21,-0.45}, { 0.21,-0.45}, { 0.53,-0.54}, { 0.21,-0.45}, { 0.21,-0.45}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.17,-0.15}, { 0.49,-0.22}, { 0.52,-0.54}, { 0.49,-0.22}, { 0.49,-0.22}, { 0.49,-0.22}, { 0.49,-0.22}, { 0.49,-0.22}, { 0.49,-0.22}, { 0.49,-0.22}, { 0.49,-0.22}, { 0.49,-0.22}, { 0.49,-0.22}, -- South { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.06,-0.11}, { 0.47,-0.11}, { 0.23, 0.05}, { 0.23, 0.05}, { 0.23, 0.05}, { 0.23, 0.05}, { 0.23, 0.05}, { 0.23, 0.05}, { 0.23, 0.05}, { 0.23, 0.05}, { 0.23, 0.05}, { 0.23, 0.05}, { 0.42, 0.07}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, {-0.01,-0.08}, { 0.11, 0.01}, { 0.11, 0.01}, { 0.11, 0.01}, { 0.37, 0.19}, { 0.11, 0.01}, { 0.11, 0.01}, { 0.11, 0.01}, { 0.11, 0.01}, { 0.11, 0.01}, { 0.11, 0.01}, { 0.11, 0.01}, { 0.11, 0.01}, -- West { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, { 0.01,-0.17}, {-0.03, 0.03}, {-0.03, 0.03}, {-0.03, 0.03}, {-0.03, 0.03}, {-0.03, 0.03}, {-0.03, 0.03}, {-0.03, 0.03}, {-0.03, 0.03}, {-0.03, 0.03}, {-0.03, 0.03}, {-0.31, 0.20}, {-0.03, 0.03}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, { 0.01,-0.18}, {-0.39,-0.02}, {-0.39,-0.02}, {-0.35, 0.19}, {-0.39,-0.02}, {-0.39,-0.02}, {-0.39,-0.02}, {-0.39,-0.02}, {-0.39,-0.02}, {-0.39,-0.02}, {-0.39,-0.02}, {-0.39,-0.02}, {-0.39,-0.02}, }, rail_piece = { sprites = { layers = { util.sprite_load( "__elevated-rails__/graphics/entity/elevated-rail-signal/elevated-rail-signal-metals", { priority = "low", frame_count = 34, scale = 0.5, }), util.sprite_load( "__elevated-rails__/graphics/entity/elevated-rail-signal/elevated-rail-signal-shadow", { priority = "low", draw_as_shadow = true, shift = {4.13, 2.75}, -- a guess not based on anything that kind of works frame_count = 34, scale = 0.5, }), } }, render_layer = "elevated-rail-stone-path-lower", align_to_frame_index = { -- X0Y0, X1Y0, X0Y1, X1Y1 -- Left turn | Straight/Multi | Right turn 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, -- North 01, 01, 01, 02, 01, 01, 01, 01, 03, 01, 01, 01, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 07, 06, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, -- East 09, 09, 10, 09, 09, 09, 09, 09, 11, 12, 09, 09, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, -- South 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 24, 22, 22, 22, 22, 22, 22, 23, 22, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -- West 26, 26, 26, 27, 26, 26, 26, 26, 26, 26, 28, 26, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 33, 30, 30, 30, 30, 30, 31, 32, 30, 30, } }, lights = { green = { light = {intensity = 0.2, size = 4, color={r=0, g=1, b=0 }}, shift = { 0, -0.5 }}, yellow = { light = {intensity = 0.2, size = 4, color={r=1, g=0.5, b=0 }}, shift = { 0, 0 }}, red = { light = {intensity = 0.2, size = 4, color={r=1, g=0, b=0 }}, shift = { 0, 0.5 }}, }, circuit_connector = circuit_connector_definitions["elevated-rail-signal"], circuit_connector_render_layer = "elevated-rail-stone-path-lower", }