Перейти к содержанию

Валидатор карт (Map Validator)

Валидатор карт — это встроенный в nEditor инструмент глубокой диагностики, предназначенный для обнаружения скрытых ошибок в файлах карт симулятора OMSI 2.

Многие критические сбои в OMSI 2 проявляются неинформативными ошибками (такими как знаменитая Fehler bei Bereichsprüfung — ошибка выхода за границы массива), пустым журналом (logfile.txt) или не загружающимися тайлами. Валидатор анализирует структуру файлов карты и указывает на конкретные строки и причины возможных сбоев.

Окно инструмента Map Validator


1. Запуск и использование

  1. В главном меню nEditor нажмите кнопку Map Validator.
  2. В открывшемся окне нажмите Select OMSI 2 Map Folder.
  3. Укажите папку с картой (например, .../OMSI 2/maps/НазваниеКарты).
  4. Редактор автоматически проведет многоуровневую проверку и выведет подробный отчет в консоль с разделением на информацию, предупреждения ([WARN]) и критические ошибки ([ERROR]).

2. Выполняемые проверки

A. Целостность структуры папок

  • Проверяет наличие главного конфигурационного файла global.cfg.
  • Проверяет наличие каталога TTData (расписания, маршруты и остановки).

B. Проверка тайлов [map] и дубликатов

  • Подсчет тайлов: Проверяет физическое наличие на диске всех файлов .map, объявленных в global.cfg.
  • Обнаружение дубликатов: Находит повторяющиеся координаты (X, Y) в секции [map].
  • Предупреждение об опасности дедупликации (Deduplication Risk): > [!WARNING] Чем опасны дубликаты тайлов? > Во многих старых картах в global.cfg присутствуют дубликаты тайлов. Если сторонние утилиты удаляют их, список тайлов сокращается. Если маршруты в TTData ссылаются на более высокие индексы, это немедленно приводит к вылету игры с ошибкой Fehler bei Bereichsprüfung!

C. Точки входа [entrypoints] и кватернионы

  • Проверка кватернионов вращения 3D:
    • Пространственные кватернионы (X, Y, Z, W) должны образовывать единичный вектор с нормой 1.0.
    • Выявляет поврежденные значения и компоненты, выходящие за диапазон [-1.0, 1.0].
  • Корректность индекса тайла (tileIndex): Проверяет, что точка входа указывает на существующий тайл.
  • Номер объекта: Проверяет, чтобы objectNumber не превышал реальное количество объектов на тайле.

D. Согласованность расписаний и остановок (TTData)

  • Файл Busstops.cfg: Проверяет, чтобы tileIndex каждой остановки находился в допустимых границах (0 .. ЧислоТайлов - 1).
  • Файл StnLinks.cfg: Проверяет связи [stnlink] и сегменты [stnlink_entry], выявляет непривязанные тайлы (tileIndex = -1) и проверяет существование остановок from_id и to_id.
  • Файлы рейсов *.ttp: Подтверждает наличие всех станций в Busstops.cfg.

E. Масштаб текстур земли [groundtex]

  • Обнаруживает текстуры в global.cfg с масштабом более 255 (например, 300), вызывающие сбой памяти и ошибку Fehler bei Bereichsprüfung.

3. Итоги проверки

После завершения сканирования выводится сводка с количеством критических ошибок (CRITICAL ERRORS), предупреждений (Warnings) и подтверждением успешной проверки (All checks PASSED).