Merge pull request #16 from mamoniot/1.1.7

1.1.7
This commit is contained in:
Monica Moniot
2022-12-22 18:08:57 -06:00
committed by GitHub
5 changed files with 33 additions and 16 deletions

View File

@@ -14,6 +14,7 @@
"__Profiler",
"create_inactivity_order"
],
"Lua.workspace.checkThirdParty": false,
"runtime": {
"plugin": "C:\\Users\\mmoni\\files\\data\\projects\\factorio\\cybersyn\\.vscode\\lua\\plugin.lua",
"pluginArgs": [
@@ -35,4 +36,4 @@
"useGitIgnore": false
},
"workspace.ignoreSubmodules": false
}
}

1
TODO
View File

@@ -5,6 +5,7 @@ major:
models & art
move to an event based algorithm
debug output
more detailed missing train alerts
minor:
railloader compat

View File

@@ -1,4 +1,9 @@
---------------------------------------------------------------------------------------------------
Version: 1.1.7
Date: 2022-12-17
Changes:
- Fixed false positives in copy-paste by blueprint detection logic
---------------------------------------------------------------------------------------------------
Version: 1.1.6
Date: 2022-12-16
Changes:

View File

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

View File

@@ -398,24 +398,34 @@ function combinator_update(map_data, comb, reset_display)
local params = control.parameters
local old_params = map_data.to_comb_params[unit_number]
local has_changed = false
local station
local id
local stop = map_data.to_stop[comb.unit_number]
if reset_display and stop then
id = stop.unit_number
station = map_data.stations[id]
if station then
--make sure only MODE_PRIMARY_IO gets stored on map_data.to_comb_params
if station.display_state >= 2 then
params.operation = MODE_PRIMARY_IO_ACTIVE
elseif station.display_state == 1 then
params.operation = MODE_PRIMARY_IO_FAILED_REQUEST
else
params.operation = MODE_PRIMARY_IO
if params.operation == MODE_PRIMARY_IO_ACTIVE or params.operation == MODE_PRIMARY_IO_FAILED_REQUEST or params.operation == MODE_PRIMARY_IO then
--the follow is only present to fix combinators that have been copy-pasted by blueprint with the wrong operation
local stop = map_data.to_stop[comb.unit_number--[[@as uint]]]
local should_reset = reset_display
if stop then
id = stop.unit_number--[[@as uint]]
station = map_data.stations[id]
if should_reset and station and station.entity_comb1 == comb then
--make sure only MODE_PRIMARY_IO gets stored on map_data.to_comb_params
if station.display_state >= 2 then
params.operation = MODE_PRIMARY_IO_ACTIVE
elseif station.display_state == 1 then
params.operation = MODE_PRIMARY_IO_FAILED_REQUEST
else
params.operation = MODE_PRIMARY_IO
end
control.parameters = params
should_reset = false
end
end
if should_reset then
params.operation = MODE_PRIMARY_IO
control.parameters = params
end
end
if params.operation == MODE_PRIMARY_IO_ACTIVE or params.operation == MODE_PRIMARY_IO_FAILED_REQUEST then
params.operation = MODE_PRIMARY_IO
end
if params.operation ~= old_params.operation then