begun work on 1.2.1

This commit is contained in:
mamoniot
2022-12-24 20:13:22 -05:00
parent 0312fbe752
commit 0af27a5225
6 changed files with 47 additions and 15 deletions

3
TODO
View File

@@ -6,6 +6,8 @@ major:
add in game guide
move to an event based algorithm
models & art
train always returns to same depot setting
make train inactivity condition a setting
minor:
handle if signals are removed from the game during migration
@@ -14,3 +16,4 @@ minor:
do not play close sound when a different gui is opened
gui can desync if settings are changed outside of it while it is open
give the combinators a sensible reaction to low or no power
picker dollies compat?

View File

@@ -1,15 +1,22 @@
---------------------------------------------------------------------------------------------------
Version: 1.2.1
Date: 2022-12-24
Bugfixes:
- Fixed an bug where sometimes refuelers would reject trains they should accept
---------------------------------------------------------------------------------------------------
Version: 1.2.0
Date: 2022-12-23
Changes:
Features:
- Forced provide stations to wait until they can service the highest priority request station
- Provide stations now override request thresholds with the per-item thresholds set by their station control combinator
- Allowed station and fuel combinators to be set to network id "each", for each virtual signal they recieve as input, the stop is added to that network and its signal strength is used as the network mask
- Added the ability to specify per-station whether request thresholds represent total items or total stacks
- Prioritized a train's distance from the provide station over the train's cargo capacity
- Added more detailed missing train alerts
Changes:
- Prioritized a train's distance from the provide station over the train's cargo capacity
- Nonempty trains in depot are no longer put in manual mode, instead they are forced to park at the depot
- Made several alerts persistent
Bugfixes:
- Fixed bug with depot priority not working
- Fixed a memory leak relating to train layouts
- Fixed a rare crash when building stations
@@ -18,12 +25,12 @@ Date: 2022-12-23
---------------------------------------------------------------------------------------------------
Version: 1.1.7
Date: 2022-12-17
Changes:
Bugfixes:
- Fixed false positives in copy-paste by blueprint detection logic
---------------------------------------------------------------------------------------------------
Version: 1.1.6
Date: 2022-12-16
Changes:
Bugfixes:
- Fixed a crash relating to per-item request thresholds
---------------------------------------------------------------------------------------------------
Version: 1.1.5
@@ -40,7 +47,7 @@ Date: 2022-12-9
---------------------------------------------------------------------------------------------------
Version: 1.1.3
Date: 2022-12-8
Changes:
Bugfixes:
- Fixed a crash when removing a fuel loader
- Fixed a gui bug
- Fixed a crash on newly generated worlds
@@ -48,12 +55,14 @@ Date: 2022-12-8
---------------------------------------------------------------------------------------------------
Version: 1.1.0
Date: 2022-12-8
Changes:
- Added the ability to use the priority signal as input to station control combinators so one can override priority on items with station control combinators thresholds
Features:
- Added refueler stations
- Added the ability to use the priority signal as input to station control combinators so one can override priority on items with station control combinators thresholds
Changes:
- Slightly more permissive allow-list logic
- Made non-backwards compatible improvements and bugfixes to the modding interface
- Updated localization
Bugfixes:
- Fixed a crash relating to wagon control combinators on request stations
---------------------------------------------------------------------------------------------------
Version: 1.0.9

View File

@@ -1,6 +1,6 @@
{
"name": "cybersyn",
"version": "1.2.0",
"version": "1.2.1",
"title": "Project Cybersyn",
"author": "Mami",
"factorio_version": "1.1",

View File

@@ -93,8 +93,11 @@ function remove_train(map_data, train_id, train)
if count <= 1 then
global.layout_train_count[layout_id] = nil
global.layouts[layout_id] = nil
for _, station in pairs(global.stations) do
station.accepted_layouts[layout_id] = nil
for _, stop in pairs(global.stations) do
stop.accepted_layouts[layout_id] = nil
end
for _, stop in pairs(global.refuelers) do
stop.accepted_layouts[layout_id] = nil
end
else
global.layout_train_count[layout_id] = count - 1
@@ -147,9 +150,14 @@ function set_train_layout(map_data, train)
map_data.layouts[layout_id] = layout
map_data.layout_train_count[layout_id] = 1
for _, station in pairs(map_data.stations) do
if station.layout_pattern then
station.accepted_layouts[layout_id] = is_layout_accepted(station.layout_pattern, layout) or nil
for _, stop in pairs(map_data.stations) do
if stop.layout_pattern then
stop.accepted_layouts[layout_id] = is_layout_accepted(stop.layout_pattern, layout) or nil
end
end
for _, stop in pairs(map_data.refuelers) do
if stop.layout_pattern then
stop.accepted_layouts[layout_id] = is_refuel_layout_accepted(stop.layout_pattern, layout) or nil
end
end
else

View File

@@ -591,6 +591,14 @@ local function on_built(event)
update_stop_from_pump(global, entity)
elseif entity.type == "straight-rail" then
update_stop_from_rail(global, entity)
elseif entity.type == "arithmetic-combinator" then
local control = get_comb_control(entity)
local params = control.parameters
params.first_constant = 12345
params.second_constant = 67890
params.first_signal = NETWORK_SIGNAL_DEFAULT
params.second_signal = {name = NETWORK_EACH, type = "virtual"}
control.parameters = params
end
end
local function on_broken(event)
@@ -788,6 +796,7 @@ local filter_built = {
{filter = "type", type = "inserter"},
{filter = "type", type = "pump"},
{filter = "type", type = "straight-rail"},
{filter = "type", type = "arithmetic-combinator"},
}
local filter_broken = {
{filter = "name", name = "train-stop"},

View File

@@ -198,8 +198,11 @@ function interface.update_train_layout(train_id)
if count <= 1 then
global.layout_train_count[old_layout_id] = nil
global.layouts[old_layout_id] = nil
for station_id, station in pairs(global.stations) do
station.accepted_layouts[old_layout_id] = nil
for _, stop in pairs(global.stations) do
stop.accepted_layouts[old_layout_id] = nil
end
for _, stop in pairs(global.refuelers) do
stop.accepted_layouts[old_layout_id] = nil
end
else
global.layout_train_count[old_layout_id] = count - 1