1
0
This commit is contained in:
Wyrrrd
2020-11-22 20:30:55 +01:00
2 changed files with 867 additions and 894 deletions
+581 -581
View File
File diff suppressed because it is too large Load Diff
+286 -313
View File
@@ -1,313 +1,286 @@
------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------
-- DEADLOCK'S INDUSTRIAL DISPLAYS -- DEADLOCK'S INDUSTRIAL DISPLAYS
-- Forked from Industrial Revolution, for your signage pleasure -- Forked from Industrial Revolution, for your signage pleasure
------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------
-- constants -- constants
local DID = require("globals") local DID = require("globals")
------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------
-- functions -- functions
local function get_icon_path(name, icon_size) local function get_icon_path(name, icon_size)
return string.format("%s/%s/%s.png", DID.icon_path, tostring(icon_size or DID.icon_size), name) return string.format("%s/%s/%s.png", DID.icon_path, tostring(icon_size or DID.icon_size), name)
end end
------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------
-- prototypes -- prototypes
local dimensions = { local dimensions = {
[1] = {width = 80, height = 80}, [1] = {width = 80, height = 80},
[2] = {width = 134, height = 134}, [2] = {width = 134, height = 134},
[3] = {width = 196, height = 196}, [3] = {width = 196, height = 196},
} }
local shadow_dimensions = { local shadow_dimensions = {
[1] = {width = 80, height = 80, sprite = "display-shadow-small"}, [1] = {width = 80, height = 80, sprite = "display-shadow-small"},
[2] = {width = 146, height = 134, sprite = "display-shadow-medium"}, [2] = {width = 146, height = 134, sprite = "display-shadow-medium"},
[3] = {width = 204, height = 204, sprite = "display-shadow"}, [3] = {width = 204, height = 204, sprite = "display-shadow"},
} }
data:extend({{ data:extend({{
name = "display-plates", name = "display-plates",
type = "item-subgroup", type = "item-subgroup",
group = "logistics", group = "logistics",
order = "z[display-plates]" order = "z[display-plates]"
}}) }})
local count = 1 local count = 1
for display,displaydata in pairs(DID.displays) do for display,displaydata in pairs(DID.displays) do
local size = (string.find(display,"small") and 1) or (string.find(display,"medium") and 2) or 3 local size = (string.find(display,"small") and 1) or (string.find(display,"medium") and 2) or 3
local box_size = size * 0.5 local box_size = size * 0.5
data:extend({ data:extend({
{ {
name = display, name = display,
type = "simple-entity-with-owner", type = "simple-entity-with-owner",
localised_description = {"entity-description.display"}, localised_description = {"entity-description.display"},
render_layer = "lower-object", render_layer = "lower-object",
icon = get_icon_path(display), icon = get_icon_path(display),
icon_size = DID.icon_size, icon_size = DID.icon_size,
icon_mipmaps = DID.icon_mipmaps, icon_mipmaps = DID.icon_mipmaps,
corpse = "small-remnants", corpse = "small-remnants",
fast_replaceable_group = "display", fast_replaceable_group = "display",
minable = { minable = {
mining_time = 0.2, mining_time = 0.2,
result = display, result = display,
}, },
max_health = 10 + size * 30, max_health = 10 + size * 30,
flags = {"placeable-player", "placeable-neutral", "player-creation"}, flags = {"placeable-player", "placeable-neutral", "player-creation"},
collision_box = { {-box_size+0.1, -box_size+0.1}, {box_size-0.1, box_size-0.1} }, collision_box = { {-box_size+0.1, -box_size+0.1}, {box_size-0.1, box_size-0.1} },
selection_box = { {-box_size, -box_size}, {box_size, box_size} }, selection_box = { {-box_size, -box_size}, {box_size, box_size} },
collision_mask = { collision_mask = {
"object-layer", "object-layer",
"water-tile", "water-tile",
}, },
open_sound = { open_sound = {
filename = DID.base_sound_path.."/machine-open.ogg", filename = DID.base_sound_path.."/machine-open.ogg",
volume = 0.5 volume = 0.5
}, },
close_sound = { close_sound = {
filename = DID.base_sound_path.."/machine-close.ogg", filename = DID.base_sound_path.."/machine-close.ogg",
volume = 0.5 volume = 0.5
}, },
mined_sound = { mined_sound = {
filename = DID.core_sound_path.."/deconstruct-medium.ogg" filename = DID.core_sound_path.."/deconstruct-medium.ogg"
}, },
resistances = { resistances = {
{ {
type = "fire", type = "fire",
percent = 75 percent = 75
}, },
}, },
picture = { picture = {
layers = { layers = {
{ {
filename = string.format("%s/"..display..".png", DID.sprites_path), filename = string.format("%s/"..display..".png", DID.sprites_path),
priority = "high", priority = "high",
shift = {0,0}, shift = {0,0},
height = dimensions[size].height, height = dimensions[size].height,
width = dimensions[size].width, width = dimensions[size].width,
scale = 0.5, scale = 0.5,
}, },
{ {
filename = string.format("%s/%s.png", DID.sprites_path, shadow_dimensions[size].sprite), filename = string.format("%s/%s.png", DID.sprites_path, shadow_dimensions[size].sprite),
priority = "high", priority = "high",
shift = {0,0}, shift = {0,0},
height = shadow_dimensions[size].height, height = shadow_dimensions[size].height,
width = shadow_dimensions[size].width, width = shadow_dimensions[size].width,
scale = 0.5, scale = 0.5,
draw_as_shadow = true, draw_as_shadow = true,
}, },
} }
}, },
random_variation_on_create = false, random_variation_on_create = false,
}, },
{ {
type = "item", type = "item",
name = display, name = display,
order = "z["..count.."]", order = "z["..count.."]",
subgroup = "display-plates", subgroup = "display-plates",
stack_size = 100, stack_size = 100,
icon = get_icon_path(display), icon = get_icon_path(display),
icon_size = DID.icon_size, icon_size = DID.icon_size,
icon_mipmaps = DID.icon_mipmaps, icon_mipmaps = DID.icon_mipmaps,
place_result = display, place_result = display,
}, },
{ {
type = "recipe", type = "recipe",
name = display, name = display,
order = "z["..count.."]", order = "z["..count.."]",
result = display, result = display,
result_count = 1, result_count = 1,
category = "crafting", category = "crafting",
enabled = (mods["IndustrialRevolution"] and (displaydata.IR_unlock == nil)) or (not mods["IndustrialRevolution"] and displaydata.unlock == nil), enabled = (mods["IndustrialRevolution"] and (displaydata.IR_unlock == nil)) or (not mods["IndustrialRevolution"] and displaydata.unlock == nil),
ingredients = displaydata.ingredients, ingredients = displaydata.ingredients,
energy_required = 1, energy_required = 1,
} }
}) })
count = count + 1 count = count + 1
end end
------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------
-- styles -- styles
local function add_styles(styles) local function add_styles(styles)
local default_styles = data.raw["gui-style"]["default"] local default_styles = data.raw["gui-style"]["default"]
for name, style in pairs(styles) do for name, style in pairs(styles) do
default_styles[name] = style default_styles[name] = style
end end
end end
add_styles({ add_styles({
display_tabbed_pane = { display_tabbed_pane = {
tab_container = { tab_container = {
horizontal_spacing = 0, horizontal_spacing = 0,
left_padding = 0, left_padding = 0,
right_padding = 0, right_padding = 0,
horizontal_align = "center", horizontal_align = "center",
type = "horizontal_flow_style", type = "horizontal_flow_style",
}, },
tab_content_frame = { tab_content_frame = {
bottom_padding = 8, bottom_padding = 8,
left_padding = 10, left_padding = 10,
right_padding = 10, right_padding = 10,
top_padding = 8, top_padding = 8,
graphical_set = data.raw["gui-style"]["default"]["tabbed_pane"]["tab_content_frame"].graphical_set, type = "frame_style",
type = "frame_style", graphical_set = data.raw["gui-style"]["default"]["filter_tabbed_pane"]["tab_content_frame"].graphical_set,
}, },
type = "tabbed_pane_style", type = "tabbed_pane_style",
parent = "tabbed_pane", parent = "filter_tabbed_pane",
width = 420, width = 420,
}, },
display_tab = { display_tab = {
type = "tab_style", type = "tab_style",
parent = "filter_group_tab", parent = "filter_group_tab",
font = "did-tab-font", font = "did-tab-font",
top_padding = 8, top_padding = 8,
bottom_padding = 8, bottom_padding = 8,
minimal_width = 32, minimal_width = 32,
horizontally_stretchable = "on", horizontally_stretchable = "on",
horizontally_squashable = "on", horizontally_squashable = "on",
}, },
display_frame = { display_frame = {
type = "frame_style", type = "frame_style",
parent = "frame", parent = "frame",
bottom_padding = 8, bottom_padding = 8,
vertical_flow_style = { vertical_flow_style = {
type = "vertical_flow_style", type = "vertical_flow_style",
vertical_spacing = 0, vertical_spacing = 0,
horizontal_align = "center", horizontal_align = "center",
}, },
}, },
display_deep_frame = { display_inside_frame = {
type = "frame_style", type = "frame_style",
parent = "inside_deep_frame", parent = "inside_shallow_frame",
vertical_flow_style = { vertical_flow_style = {
type = "vertical_flow_style", type = "vertical_flow_style",
vertical_spacing = 0, vertical_spacing = 0,
horizontal_align = "center", horizontal_align = "center",
}, },
}, },
display_tab_deep_frame = { display_tab_deep_frame = {
type = "frame_style", type = "frame_style",
parent = "subpanel_inset_frame", parent = "slot_button_deep_frame",
vertical_flow_style = { },
type = "vertical_flow_style", display_buttons = {
vertical_spacing = 0, type = "table_style",
padding = 0, horizontal_spacing = 0,
}, vertical_spacing = 0,
graphical_set = { },
base = { display_button_selected = {
center = { type = "button_style",
position = {42,8}, parent = "quick_bar_slot_button",
size = {1,1}, default_graphical_set = data.raw["gui-style"]["default"]["slot_button"].selected_graphical_set
}, },
corner_size = 8, display_fake_header = {
draw_type = "outer", type = "frame_style",
position = {85,0}, height = 24,
}, graphical_set = data.raw["gui-style"]["default"]["draggable_space"].graphical_set,
shadow = data.raw["gui-style"]["default"]["inside_deep_frame"].graphical_set.shadow, use_header_filler = false,
}, horizontally_stretchable = "on",
background_graphical_set = { vertical_align = "center",
corner_size = 8, alignment = "right",
overall_tiling_horizontal_padding = 5, left_margin = data.raw["gui-style"]["default"]["draggable_space"].left_margin,
overall_tiling_horizontal_size = 30, right_margin = data.raw["gui-style"]["default"]["draggable_space"].right_margin,
overall_tiling_horizontal_spacing = 10, },
overall_tiling_vertical_padding = 5, display_small_button = {
overall_tiling_vertical_size = 30, type = "button_style",
overall_tiling_vertical_spacing = 10, parent = "frame_action_button",
position = { 282, 17 }, left_margin = 1,
}, right_margin = 1,
}, },
display_buttons = { display_small_button_active = {
type = "table_style", type = "button_style",
horizontal_spacing = 0, parent = "display_small_button",
vertical_spacing = 0, default_graphical_set = data.raw["gui-style"]["default"]["frame_button"].clicked_graphical_set,
}, },
display_button_selected = { })
type = "button_style",
parent = "quick_bar_slot_button", ------------------------------------------------------------------------------------------------------------------------------------------------------
default_graphical_set = data.raw["gui-style"]["default"]["slot_button"].selected_graphical_set
}, -- controls / misc media
display_fake_header = {
type = "frame_style", data:extend({
height = 24, {
graphical_set = data.raw["gui-style"]["default"]["draggable_space"].graphical_set, type = "custom-input",
use_header_filler = false, name = "deadlock-open-gui",
horizontally_stretchable = "on", key_sequence = "",
vertical_align = "center", linked_game_control = "open-gui",
alignment = "right", },
left_margin = data.raw["gui-style"]["default"]["draggable_space"].left_margin, {
right_margin = data.raw["gui-style"]["default"]["draggable_space"].right_margin, type = "custom-input",
}, name = "deadlock-focus-search",
display_small_button = { key_sequence = "",
type = "button_style", linked_game_control = "focus-search",
parent = "frame_action_button", },
left_margin = 1, {
right_margin = 1, type = "font",
}, name = "did-tab-font",
display_small_button_active = { from = "default",
type = "button_style", size = 32,
parent = "display_small_button", },
default_graphical_set = data.raw["gui-style"]["default"]["frame_button"].clicked_graphical_set, {
}, type = "sprite",
}) name = "display-map-marker",
filename = get_icon_path("map-marker",32),
------------------------------------------------------------------------------------------------------------------------------------------------------ priority = "extra-high",
width = 32,
-- controls / misc media height = 32,
flags = {"gui-icon"},
data:extend({ },
{ {
type = "custom-input", type = "sound",
name = "deadlock-open-gui", name = "map-marker-ping",
key_sequence = "", variations = {
linked_game_control = "open-gui", filename = DID.sound_path.."/ping.ogg",
}, volume = 0.9
{ }
type = "custom-input", },
name = "deadlock-focus-search", {
key_sequence = "", type = "sound",
linked_game_control = "focus-search", name = "map-marker-pong",
}, variations = {
{ filename = DID.sound_path.."/pong.ogg",
type = "font", volume = 0.9
name = "did-tab-font", }
from = "default", },
size = 32, })
},
{
type = "sprite", ------------------------------------------------------------------------------------------------------------------------------------------------------
name = "display-map-marker",
filename = get_icon_path("map-marker",32),
priority = "extra-high",
width = 32,
height = 32,
flags = {"gui-icon"},
},
{
type = "sound",
name = "map-marker-ping",
variations = {
filename = DID.sound_path.."/ping.ogg",
volume = 0.9
}
},
{
type = "sound",
name = "map-marker-pong",
variations = {
filename = DID.sound_path.."/pong.ogg",
volume = 0.9
}
},
})
------------------------------------------------------------------------------------------------------------------------------------------------------