improved graphics and localization

This commit is contained in:
Monica Moniot
2022-12-08 14:19:02 -05:00
parent cf9717308c
commit 3a6b4308ee
10 changed files with 38 additions and 26 deletions

View File

@@ -105,7 +105,8 @@
---@field public network_flag int
---@field public warmup_time double
---@field public stuck_train_time double
---@field public depot_bypass_threshold double
---@field public fuel_threshold double
---@field public depot_bypass_enabled boolean
---@field public missing_train_alert_enabled boolean --interface setting
---@field public stuck_train_alert_enabled boolean --interface setting
---@field public react_to_nonempty_train_in_depot boolean --interface setting

View File

@@ -658,7 +658,8 @@ local function on_settings_changed(event)
mod_settings.update_rate = settings.global["cybersyn-update-rate"].value --[[@as int]]
mod_settings.r_threshold = settings.global["cybersyn-request-threshold"].value--[[@as int]]
mod_settings.network_flag = settings.global["cybersyn-network-flag"].value--[[@as int]]
mod_settings.depot_bypass_threshold = settings.global["cybersyn-depot-bypass-threshold"].value--[[@as double]]
mod_settings.fuel_threshold = settings.global["cybersyn-fuel-threshold"].value--[[@as double]]
mod_settings.depot_bypass_enabled = settings.global["cybersyn-depot-bypass-enabled"].value--[[@as boolean]]
mod_settings.warmup_time = settings.global["cybersyn-warmup-time"].value--[[@as double]]
mod_settings.stuck_train_time = settings.global["cybersyn-stuck-train-time"].value--[[@as double]]
if event.setting == "cybersyn-ticks-per-second" then
@@ -802,9 +803,10 @@ local function main()
mod_settings.update_rate = settings.global["cybersyn-update-rate"].value --[[@as int]]
mod_settings.r_threshold = settings.global["cybersyn-request-threshold"].value--[[@as int]]
mod_settings.network_flag = settings.global["cybersyn-network-flag"].value--[[@as int]]
mod_settings.depot_bypass_threshold = settings.global["cybersyn-depot-bypass-threshold"].value--[[@as double]]
mod_settings.fuel_threshold = settings.global["cybersyn-fuel-threshold"].value--[[@as double]]
mod_settings.warmup_time = settings.global["cybersyn-warmup-time"].value--[[@as double]]
mod_settings.stuck_train_time = settings.global["cybersyn-stuck-train-time"].value--[[@as double]]
mod_settings.depot_bypass_enabled = settings.global["cybersyn-depot-bypass-enabled"].value--[[@as boolean]]
mod_settings.missing_train_alert_enabled = true
mod_settings.stuck_train_alert_enabled = true

View File

@@ -311,19 +311,14 @@ local function on_train_leaves_stop(map_data, mod_settings, train_id, train)
end
end
end
if total_slots == 0 then
--if total_slots == 0 it's probably a modded electric train
if mod_settings.depot_bypass_threshold < 1 then
if total_slots == 0 or fuel_fill/total_slots > mod_settings.fuel_threshold then
--if total_slots == 0, it's probably a modded electric train
if mod_settings.depot_bypass_enabled then
train.status = STATUS_TO_D_BYPASS
add_available_train(map_data, train_id, train)
interface_raise_train_status_changed(train_id, STATUS_R, STATUS_TO_D_BYPASS)
return
end
elseif fuel_fill/total_slots > mod_settings.depot_bypass_threshold then
train.status = STATUS_TO_D_BYPASS
add_available_train(map_data, train_id, train)
interface_raise_train_status_changed(train_id, STATUS_R, STATUS_TO_D_BYPASS)
return
else
local refuelers = map_data.to_refuelers[train.network_name]
if refuelers then
@@ -363,13 +358,17 @@ local function on_train_leaves_stop(map_data, mod_settings, train_id, train)
interface_raise_train_status_changed(train_id, STATUS_R, STATUS_TO_D)
elseif train.status == STATUS_F then
local refueler = map_data.refuelers[train.refueler_id]
train.status = STATUS_TO_D_BYPASS
train.refueler_id = nil
refueler.trains_total = refueler.trains_total - 1
add_available_train(map_data, train_id, train)
unset_wagon_combs(map_data, refueler)
set_combinator_output(map_data, refueler.entity_comb, nil)
interface_raise_train_status_changed(train_id, STATUS_F, STATUS_TO_D_BYPASS)
if mod_settings.depot_bypass_enabled then
train.status = STATUS_TO_D_BYPASS
add_available_train(map_data, train_id, train)
else
train.status = STATUS_TO_D
end
interface_raise_train_status_changed(train_id, STATUS_F, train.status)
elseif train.status == STATUS_D then
--The train is leaving the depot without a manifest, the player likely intervened
local depot = map_data.depots[train.parked_at_depot_id--[[@as uint]]]