Skip to content

Введение в проект OpenTTD-JRPM ​

Что это такое ​

OpenTTD-JRPM (jrpm) — это ответвление от JGR's Patchpack (jgrpp), объединяющее функции «смены локомотивов» и «модульных аэропортов» из pulsexlb/OpenTTD-patches с собственными возможностями jrpm. Текущая версия: jrpm-0.1.0.

Это полностью самостоятельная версия для установки и игры по сети: клиенты/серверы jrpm используют уникальный идентификатор версии (jrpm-0.1.0) для рукопожатия, полностью изолированный от оригинального jgrpp и pulsexlb, чтобы избежать путаницы версий.

Обзор возможностей ​

Из pulsexlb (152 коммита, объединены через git merge) ​

  • Смена локомотивов (decouple): полная система расцепления/сцепления поездов — приказы на расцепку, передача маршрутных листов, ограничения длины сцепки и скорости, поддержка двойной тяги, сцепка NewGRF, навигация сцепки (YAPF/NPF), независимое управление двумя поездами после расцепки;
  • Модульные аэропорты (multitile-airport): переработанная система многосекционных аэропортов — система типов air (air.h/air_type.h/newgrf_airtype.*), диспетчеризация PBS в воздухе (pbs_air.*), навигация YAPF для авиации, station.allow_modify_airports для изменения планировки аэропортов, gui.default_air_type для типа авиации по умолчанию.

Собственные возможности jrpm ​

ФункцияОписаниеВход
Загрузка ресурсов: несколько зеркал + параллельноНесколько зеркал через запятую, параллельная загрузка файлов (настраиваемое количество), автоматическое переключение зеркал при сбоеНастройки → network.content_mirrors / network.content_download_parallel
Автоматическая группировка ТСОдно нажатие для группировки по общим приказам/расписаниям, автоматическое название по маршрутуКнопка в окне групп / консоль autogroup
Подсказка стоимости строительстваРасчётная стоимость при наведении на рельсы/дороги/ландшафтПанели инструментов путей/дорог/ландшафта
Глобальный AIСохранён NoAI, добавлен глобальный API AIGlobal + пример AI GlobalAI, доступ через настройки игрыgame.script.allow_global_ai_access
Совместимость сервера с несколькими версиямиСервер jrpm одновременно принимает клиенты jrpm / оригинальный jgrpp / pulsexlbАвтоматически при подключении к серверу

Полное наследование ​

  • Все возможности jgrpp (улучшенные сигналы, scheduled dispatch, tracerestrict, шаблонная замена и т.д.);
  • Полная совместимость с оригинальным OpenTTD, NewGRF и скриптами.

Связь версий ​

                 jgrpp-0.73.1 (общий предок)
                 /                 \
 jgrpp ветка (63 коммита)        pulsexlb px-patch (152 коммита)
 ├ последние обновления jgrpp      ├ смена локомотивов (ветка decouple)
 ├ собственные функции jrpm        └ модульные аэропорты (ветка multitile-airport)
 └ переименование jrpm-0.1.0
                 \                 /
                  jrpm ветка (git merge)

Ветки и коммиты ​

  • Ветка: jrpm (основная линия разработки)
  • Ключевые коммиты:
    • d4c45740 — 5 собственных функций jrpm
    • 71fe214c — merge pulsexlb (смена локомотивов + модульные аэропорты)
    • 425e7207 — переименование в openttd-jrpm / jrpm-0.1.0
    • cb9848b7 — совместимость сервера с несколькими версиями
    • 4716b925 — настраиваемое количество параллельных загрузок

Лицензия ​

Аналогично OpenTTD: GPL-2.0.