Новая функция: полная поддержка смешанных материалов

  • Смешанную породу теперь можно хранить в хранилищах, перевозить на транспортёрах и поездах, а также отсыпать отвалообразователями.
  • У сортировочных заводов появились новые входные порты для транспортёров, чтобы сортировать смешанный материал, доставленный по лентам.
  • Сортировочные заводы могут выдавать продукты, которые не настроены на сортировку, в виде смешанного материала, что позволяет сортировать частично.
  • Хранилища, настроенные на смешанную породу, можно назначать диспетчерским вышкам, чтобы они принимали смешанные грузы с грузовиков.
  • Хранилища и буферные хранилища Ж/Д станций, настроенные на смешанную породу, также могут принимать несмешанные продукты.
  • Инспекторы хранилищ, грузовиков, вагонов и других объектов показывают состав смешанного материала.
  • Смешанные материалы расширяемы и могут поддерживать все типы продуктов.
  • Вторсырьё теперь является смешанным материалом, который отслеживает, из каких продуктов оно было получено.
  • Сортировка вторсырья возвращает соответствующий лом вместо среднего по всему производству.
  • Источники продуктов в песочнице теперь производят вторсырьё и смешанную породу со смесью продуктов, которая сортируется на лом и руды.
  • Исправлен сбор вторсырья в поселениях, игнорировавший эффективность сбора вторсырья.

Новая функция: информационные карты

  • Добавлены информационные карты, которые делают мир серым и окрашивают здания, машины, транспортёры и трубы по выбранной статистике.
  • Доступные карты: производительность, загрязнение (включая радиацию и мусор), приоритет, электроэнергия, вычислительные ресурсы, рабочие, запчасти и потоки продуктов (производители и потребители выбранного продукта).
  • Карты электроэнергии, вычислительных ресурсов и запчастей могут переключаться между долгосрочными средними и текущими значениями.
  • Карта приоритетов показывает номер приоритета каждого объекта и может переключаться между общим приоритетом и приоритетом выработки электроэнергии.

Новая функция: поезда с радиационной защитой

  • Добавлены экранированный вагон и экранированное буферное хранилище станции для перевозки радиоактивных продуктов поездом без распространения радиации.
  • Радиация теперь рассчитывается ежедневно по радиоактивным продуктам, которые фактически находятся в зданиях, машинах и на транспортёрах, что предотвращает радиацию от продуктов, неверно учтённых из-за ошибок (в игре или в модах).

Новые Ж/Д функции и улучшения

  • В инспектор поезда добавлена статистика активности (работает, простаивает, заправляется и неактивно).
  • Добавлена статистика движения поездов, показывающая, как поезда проводят время между станциями (полная скорость, разгон и торможение, ограничение скорости пути и блокировка другими поездами).
  • Окно «Маршруты и сети» показывает обе статистики для среднего поезда выбранного маршрута или сети.
  • В инспекторы поезда и депо добавлена карта ограничений скорости, показывающая, где повороты и уклоны ограничивают скорость поездов.
  • Ж/Д пути с уклоном 25% (включая переходы уклона) теперь имеют ограничение скорости 80 км/ч, чтобы более пологие уклоны 12% окупались на скоростных линиях.
  • Добавлены тупиковые упоры, которые можно строить на концах двунаправленных путей с помощью нового инструмента и настраивать, разрешая или запрещая поездам менять там направление (концы путей без упора всегда позволяют поездам менять направление).

Новая функция: веб-API

  • Добавлен внутриигровой сервер веб-API, который запускается консольной командой web_api_start и останавливается командой web_api_stop.
  • Встроенные маршруты включают демо-панель (/demo-dashboard), снимок текущего вида (/screenshot) и список всех маршрутов (/routes).
  • Через API можно отправлять игровые команды (читерские только в песочнице).

Переводы и первый запуск

  • Список изменений теперь машинно переводится на все 20 поддерживаемых языков с возможностью показать английский оригинал.
  • Язык игры теперь можно сменить в главном меню (в новом выпадающем списке или в настройках) без перезапуска, а при смене во время игры перезапуск по-прежнему нужен.
  • При первом запуске игра теперь предлагает выбрать язык, дисплей и режим рендера.
  • Добавлен британский английский.
  • Окно списка изменений теперь показывает хронологию с названиями выпусков.
  • Исправлены тексты, которые никогда не переводились или оставались на языке, загруженном при запуске.

Клавиши и управление

  • Во вкладке «Управление» можно искать по действию, группе или клавише, показывать только базовую игру, DLC или мод, а также отбирать конфликтующие или изменённые привязки.
  • У каждого действия во вкладке «Управление» есть кнопка сброса, показывающая его клавиши по умолчанию.
  • Подсказки о конфликтах во вкладке «Управление» называют мод, которому принадлежит другая привязка.
  • Ctrl, Shift, Alt и Cmd теперь срабатывают с любой стороны клавиатуры и занимают один слот клавиши вместо двух (кроме привязок, изменённых до этого обновления).
  • Каждое меню панели инструментов и окно «Управление астероидами» теперь можно привязать к клавише (по умолчанию без привязки, у меню «Транспортёры» остаётся T).
  • Подсказки клавиш в заголовках окон, панелях инструментов и всплывающих подсказках теперь обновляются после переназначения.
  • Колесо мыши больше не срабатывает, когда курсор находится за пределами окна игры.
  • Исправлены режимы инструментов строительства (например, режим транспортёров без поворотов или альтернативные режимы Ж/Д путей), остававшиеся включёнными после отпускания клавиши.
  • Исправлена клавиша, нажатая и отпущенная в течение одного кадра, которая так и не регистрировалась как отпущенная.
  • Исправлены сочетания из одной клавиши (например, Z), не срабатывавшие, если та же клавиша с модификатором (например, Ctrl+Z) была привязана к другому действию.
  • Исправлены Enter, WASD и другие клавиши, срабатывавшие за всплывающими окнами или при вводе текста на экране новой игры, в окнах сохранения и загрузки, в чертежах, а также в менеджере модов и менеджере карт.
  • Исправлены текстовые поля, воспринимавшие изменённый текст-заполнитель как введённый текст.

Новый звуковой движок

  • Воспроизведение звука переписано так, чтобы объединять звуки одного типа, что освобождает звуковые каналы и позволяет одновременно воспроизводить больше разных звуков на крупных производствах.
  • Добавлены фоновые звуки, зависящие от окружения камеры, например лес, океан, ветер и дождь.
  • Добавлены звуки обрушения грунта, которые различаются для мягких и твёрдых материалов и становятся громче, чем больше грунта обрушивается.
  • Добавлена настройка качества звука, определяющая, сколько звуков может воспроизводиться одновременно.
  • Звуки используют примерно в 10 раз меньше памяти.

Улучшения

  • Продукты на транспортёрах теперь проходят полклетки внутрь подключённых зданий, а не появляются и исчезают резко на концах лент.
  • Глобальный поиск теперь начинает искать с первого введённого символа.
  • Добавлены необязательные часы реального времени рядом с кнопками скорости игры (Настройки > Графика > Интерфейс, 12- или 24-часовой формат).
  • Разбивка по рецептам в статистике продуктов теперь показывает итоги.
  • Ратуша теперь показывает ежемесячное Единство от включённых указов, а подсказка объясняет, что входит в стоимость указов в Единстве.
  • Смена режима рендера теперь использует то же подтверждение с автоматическим откатом, что и смена дисплея.

Производительность

  • Столбики залежей над ландшафтом инициализируются на больших картах в ~10 раз быстрее.
  • Проходимость для судов инициализируется при загрузке в ~2 раза быстрее.
  • Загрузка стала быстрее, так как текстуры продуктов больше не пережимаются каждый раз.
  • Исправлены медленные проверки разблокировки в инспекторах, поиске по справочнику и панели инструментов.
  • Контрольные суммы файлов сохранений вычисляются в 2-3 раза быстрее, что ускоряет сохранение и загрузку.
  • Оптимизированы внутренние словари и множества, используемые во всей игре.
  • Обработка звука стала быстрее, особенно при движении камеры.
  • Условия разблокировки исследований, основанные на глобальной статистике, теперь проверяются реже.

Исправления

  • Исправлено оборудование с зависящим от рецепта энергопотреблением (например, Дуговая печь II), которое не обновляло потребность в электроэнергии после завершения рецепта, из-за чего загруженная игра также расходилась с игрой, которая её сохранила.
  • Исправлены поезда сети с остатками груза и без задания (например, после отмены задания), которые ехали на станцию с наибольшим свободным местом вместо станции с наивысшим приоритетом, где есть место для груза.
  • Исправлены поезда сети, ехавшие порожняком на станцию доставки, когда место погрузки находилось на станции, где они только что разгрузились или заправились.
  • Исправлено исчезновение доставленных строительных материалов при размещении Ж/Д станции или Ж/д переезда поверх частично построенных путей.
  • Исправлен инструмент отправки поезда в точку, некорректно показывавший смены направления.
  • Исправлен курсор копирования, остававшийся активным после копирования путевой точки.
  • Исправлено снятие разметки, начинавшееся в стороне от курсора, и удаление маркировки, не совпадавшее с выделенной областью.
  • Исправлено инвертированное освещение 15 сыпучих продуктов (например, культур, кормов, лома, мусора, кварца), а также отсыпанного мусора и шлака.
  • Исправлены шлак, титановый шлак, дроблёный шлак, дроблёная золотоносная руда, кварц и щепа, использовавшие плоскую или несоответствующую детализацию поверхности.
  • Исправлено округление больших чисел до «1000k» вместо «1M» (и «1000M» вместо «1G»).
  • Исправлены указы, дающие Единство (например, «Шведский стол»), которые теряли уже заработанные в месяце дни при выключении и повторном включении в течение того же месяца.
  • Исправлена инерция простаивающих механических валов, застревавшая чуть выше 95% вместо того, чтобы уменьшаться.
  • Исправлено отсутствие в статистике продуктов воды, разбрызгиваемой пусковыми комплексами.
  • Исправлены утечки памяти при рубке деревьев лесозаготовительными машинами, при выборе сохранений в окнах сохранения и загрузки и при редактировании настроек публикации карты в редакторе карт.
  • Исправлен растянутый фон заставки на дисплеях с соотношением сторон, отличным от 16:9.
  • Исправлена смещённая от центра стрелка выпадающего списка.

Моддинг

  • Моды могут поставлять переводы в папке Translations (один JSON-файл на язык, как и в основной игре).
  • Добавлена консольная команда export_mod_translations, которая создаёт шаблон перевода для мода.
  • Для поставки переводов требуется идентификатор мода из 4-32 букв, цифр, дефисов и подчёркиваний без точек (моды с другими идентификаторами по-прежнему загружаются с предупреждением, но будут отклонены в Обновлении 5).
  • Моды могут добавлять привязки клавиш через IShortcutsRegistry (в IMod.Initialize или в конструкторе глобальной зависимости), а вкладка «Управление» перечисляет их под названием мода.
  • KbHandle заменяет ShortcutsMap, KbAttribute и KeyBinding (модам, использующим привязки клавиш, требуется обновление).
  • Моды могут добавлять информационные карты, реализуя IInfoOverlay.
  • Моды могут обслуживать маршруты веб-API, пометив метод глобальной зависимости атрибутом [WebRoute], или регистрировать маршруты других объектов с помощью RegisterRoute.
  • Моды могут создавать собственные категории смешанных материалов с помощью MixedMaterialCategory.CreateAndRegister, а добываемые и перерабатываемые продукты из модов автоматически входят в базовые категории.
  • Рецепты пресса-уплотнителя и измельчителя генерируются из CompressionParam сыпучих продуктов (модовый лом получает рецепты прессования, если указать для него этот параметр).
  • Рецепты должны вызывать EnableRecyclablesOutput() вместо добавления вторсырья через AddOutput, что теперь является ошибкой сборки прототипа.
  • Прототипы офисов и лабораторий принимают OutputProduct вместо фиксированного количества на рецепт.
  • Буферы продуктов переработаны для смешанных материалов, добавлены новые интерфейсы IPlainProductBuffer и IMixedProductBuffer (модам, использующим буферы напрямую, может потребоваться обновление).
  • Звуки объектов теперь привязываются в таблицах звуков (файлы .tbl, встроенные в сборку мода), а звуковые члены прототипов и билдеров (например, SetMachineSound) устарели и игнорируются.
  • Команды, помеченные [CheatCommand], теперь завершаются ошибкой вне песочницы, независимо от того, отправил ли их интерфейс, мод или веб-API.
  • Команды теперь отклоняют заблокированные прототипы (например, заблокированные машины, транспортёры или рецепты) и недопустимые значения.
  • IsFree в командах строительства устарел и игнорируется, а их оставшиеся аргументы bool следует передавать по имени (позиционное true после transform в CreateStaticEntityCmd теперь задаёт allowValidationSuppression).
  • Максимальное количество сыпучего продукта на одну кучку на ленте по умолчанию снижено с 5 до 3 (ленты базовой игры и так перевозят не более 3).
  • У JsonWriter появился текучий API для вложенных объектов и массивов, и он заменяет WebJsonWriter (старые методы AppendStartObject и AppendXxxField удалены).
  • Добавлена перегрузка RegisterDataWithInterface, принимающая сборку мода, что надёжнее определения вызывающей сборки (как в RegisterAllProducts).
  • Ошибки сериализации и резолвера зависимостей теперь показывают имена обобщённых типов так, как они записываются в C#.
  • Сохранения, которые не могут корректно загрузиться после изменения модов (например, слишком много ID прототипов), теперь не загружаются и объясняют причину, вместо того чтобы загружаться с повреждёнными данными.
  • Исправлено удаление мода с собственными типами прототипов, из-за которого все продукты могли остаться без ID.