TS Editor - редактор для Train Simulator

Другие вопросы и проблемы разработки дополнений

TS Editor - редактор для Train Simulator

Сообщение maestro » 04.10.2014, 15:00

TS Editor - редактор для Train Simulator

Представляет собой набор программ для просмотра, редактирования и управления контентом Train Simulator.

Текущая версия: 1.1
Дата выхода: 20 марта 2016 г.

В состав редактора входят следующие программы:

Routes Manager

Средство для просмотра информации о маршрутах, установленных в игре. Отображает список всех маршрутов и достаточно детальную информацию о каждом маршруте, список сценариев маршрута, информацию о сценарии и многое другое. Позволяет открывать файлы для редактирования в Bin/Xml Editor.
Также служит для запуска плагинов для выполнения действий над маршрутами, сценариями и их составляющими.




Bin/Xml Editor

Редактор XML файлов. Открывает XML файлы игры, обычные и сжатые. Основан на компоненте Scintilla, поэтому имеет такие качества, как подсветка синтаксиса XML, быстрая работа (на нём же основан Notepad++). Имеет контроль сохранения BIN файлов (вы не получите на выходе пустой/битый файл). Для повышения удобства работы с XML поддерживается выделение блоков. Для поиска/замены текста есть возможность использовать многострочные поля ввода.




Packager

Приложение для управления пакетами дополнений игры. Имеет нечто общее с программой Utilities, входящей в комплект Train Simulator. Состоит из двух модулей: управление пакетами и создание пакетов (как и в Utilities).

По части распаковки RWP практически аналогично программе Utilities. RPK-архивы в данный момент не поддерживаются. Ниже перечислены отличия от Utilities.
  • Распаковка ZIP, установка из папки. Если файлы упакованы не в RWP, а просто в ZIP файл, или вообще просто лежат в папке, Packager установит их как пакет. В процессе установки будет создан PI-файл для предоставления возможности последующего удаления пакета, а также удалены файлы кэша (PAK).
  • Упаковка патча. Патч представляет собой пакет файлов, изменённых после создания основного пакета. Выберите файлы для упаковки, выберите основной пакет - и Packager упакует только те файлы, которые были изменены или добавлены.
  • Упаковка в AP-архивы. Можно делать это вручную, а потом паковать в RWP. А можно доверить Packager'у. Он сгруппирует файлы и упакует их в AP-архивы (с именем 'имя_пакета.ap'), которые поместит в общий пакет RWP. Позволяет установить уровень сжатия AP-архивов.
  • Очередь операций распаковки/удаления. Одно из важных отличий от Utilities. При нажатии кнопки удаления пакет сразу не удаляется, а помещается в очередь. Аналогично в очередь помещаются пакеты для установки. Это позволяет просматривать содержимое пакетов до их установки. Позволяет задать порядок обработки пакетов для удаления и установки. После формирования очередей при нажатии кнопки 'Принять изменения' производятся удаление и установка выбранных пакетов с очисткой кэша затронутых материалов.
  • Упаковка связанных файлов. Суть проста - вы выбираете несколько файлов (или всю папку с маршрутом), и Packager автоматически добавляет связанные файлы (для маршрутов - список объектов, на которые он ссылается, для объектов - геометрия, текстуры, звуки и т.п.).
  • Сохранение/загрузка списка файлов для упаковки. Если вы в течение длительного времени собираете пакет и вам нужно прерваться, эта опция для вас. Вы можете сохранить набранный список файлов, а потом загрузить его.
  • Возможность распаковки без перезаписи файлов. Если несколько пакетов содержат одинаковые файлы, позволяет пропустить установку этих файлов, если известно, например, что устанавливаемый пакет старее установленного.
Возможно, в будущем будет реализована поддержка 7zip архивов.




Join Packages
Небольшая утилита, основанная на движке приложения Packager, способная собирать кучу пакетов в один, например, для объединения основного пакета с патчами.

Assets Manager

Средство просмотра внутренней базы данных материалов. Программа ведёт собственную базу материалов, которая используется плагинами. У пользователя имеется возможность просматривать базу, используя фильтры.




Assets Explorer

Приложение для просмотра материалов, установленных в Train Simulator. Позволяет просматривать и сравнивать все экземпляры материала (на диске, в AP архиве, в PAK кэше). В будущем здесь будет реализован запуск плагинов по созданию/редактированию материалов.



Assets Searcher

Приложение, сканирующее материалы TS для наполнения базы материалов. В отличие от остальных приложений, не имеет пользовательского интерфейса; управление реализовано через приложение Assets Manager. Проявляет активность при установке/удалении пакетов и при ручном задании области поиска.


Launcher

Приложение для параметризации запуска TS, в основном тех параметров, которые игра применяет только после перезапуска (настройка видео, детализации). Позволяет настроить разные конфигурации. Позволяет настраивать как предопределённые, так и пользовательские параметры.

При выборе конфигурации Launcher записывает параметры в файл настроек и запускает игру. При использовании оконного режима окно игры открывается в центре экрана. Поддерживается передача командной строки.






TS Editor Framework

Собственно платформа для редактирования контента. Используется приложением Routes Manager. Плагины также пишутся на её основе.

Содержит частичную модель маршрутов, позволяет редактировать файлы.

Имеет модуль TSFS, который реализует виртуализацию файловой системы Train Simulator и позволяет получать доступ к файлам, не обращая внимание на то, сжаты они или распакованы, находятся в папке или в AP-архиве. Виртуализация TSFS поддерживается программой Routes Manager, которая позволяет открывать в Bin/Xml редакторе файлы, находящиеся в архиве.


Плагины

Программы для непосредственного редактирования контента. TS Editor непосредственно не реализует функций редактирования. TS Editor Framework позволяет осуществить быстрое и простое написание плагинов. Вспомогательная библиотека TS Editor Framework UI позволяет упростить некоторые задачи по реализации пользовательского интерфейса плагинов. Использование простоты написания плагинов вместе с простотой распараллеливания операций в .NET Framework позволяет организовать высокоскоростную обработку контента.

Список реализованных на данный момент плагинов:
  • Копирование информации о маршруте/сценарии
  • Изменение координат маршрута
  • Замена правил пути
  • Замена путей, дорог и лофтов
  • Рисование карты маршрута

Консоль

Присутствует консоль для использования плагинами. Предназначена для взаимодействия с пользователем в текстовом режиме. Для приёма текстовых команд от пользователя используется абстрактное приложение Shell, на самом деле представляющее собой плагин, читающий команды с консоли и обрабатывающее их. У пользователя есть возможность выбирать плагин для этих целей (при наличии нескольких). В базовый комплект плагинов к TS Editor входит простой Shell-плагин.

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

Несколько примеров, демонстрирующих простоту написания плагинов:
Замена путей на маршруте (ядро плагина, выполняющее действие)
Код: Выделить всё
bool save = false;
foreach (XmlNode sec in tracks.Document.SelectSingleNode(XPATH_SECTIONS).ChildNodes)
{
   XmlNode n = sec.SelectSingleNode(XPATH_BPID);
   Asset a = Asset.FromXml(n);
   if (replace.ContainsKey(a))
   {
      n.InnerXml = Asset.ToXml(replace[a]);
      save = true;
   }
   catch { }
}
if (save) tracks.Save();


Копирование названия маршрута в буфер обмена
Код: Выделить всё
class Plugins
{
   [Group("copy"), STAThread, Plugin(PluginCategory.Route, 0x01000000, " Copy name", "Maestro", null, "Copy route name to clipboard.")]
   public static void CopyRouteName(Route route, string[] args) { Clipboard.SetText(route.Info.Name.Default); }
}
Последний раз редактировалось maestro 20.03.2016, 21:09, всего редактировалось 2 раз(а).
maestro
 
Сообщения: 246
Зарегистрирован: 18.03.2011, 15:13
Благодарил (а): 0 раз.
Поблагодарили: 144 раз.
Играю в: Train Simulator Classic
Роль: Разработчик
Имя: Виталий

Re: TS Editor - редактор для Train Simulator

Сообщение Боинг_116 » 29.03.2020, 12:53

Здравствуйте ! Подскажите пожалуйста, как в редакторе поменять тепловоз в сценарии? Заранее спасибо!
Аватара пользователя
Боинг_116
 
Сообщения: 21
Зарегистрирован: 18.03.2020, 18:57
Благодарил (а): 7 раз.
Поблагодарили: 1 раз.
Имя: Олег

Re: TS Editor - редактор для Train Simulator

Сообщение BooYa » 29.03.2020, 14:53

Боинг_116
Это тема не про игровой редактор! Для вопросов по игровому редактору другая тема (forum54/topic13134.html)
Аватара пользователя
BooYa
 
Сообщения: 3757
Зарегистрирован: 24.01.2010, 16:30
Откуда: Екатеринбург
Благодарил (а): 1565 раз.
Поблагодарили: 2972 раз.
Играю в: Train Simulator Classic
Роль: Разработчик
Имя: Андрей

Re: TS Editor - редактор для Train Simulator

Сообщение dvigatel_ » 26.06.2020, 14:08

На Windows 10x64 1909 не запускается
Аватара пользователя
dvigatel_
 
Сообщения: 110
Зарегистрирован: 18.09.2010, 20:37
Благодарил (а): 8 раз.
Поблагодарили: 12 раз.
Играю в: Auran Trainz

Пред.

Вернуться в [RW] Другие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1