Версия 1.0.x

Все отзывы о вновь вышедших версиях публикуем здесь. Официальный баг-трекер
Роман
Сообщения: 92
Зарегистрирован: 18 мар 2022, 11:59

Re: Версия 1.0.x

Сообщение Роман » 03 авг 2022, 05:26

УРА-А-А-А-А!!!!! :yahoo: :so_happy: :gamer:

Очень надеюсь, что этот замечательный проект не прекратит развития и превзойдет ZDSimulator не только в графике, но и в остальных функциях, надеюсь про сценарии не забудете :oops:

Аватара пользователя
maisvendoo
Модератор
Сообщения: 339
Зарегистрирован: 13 авг 2019, 10:25
Город: Ростов-на-Дону
Настоящее имя: Дмитрий
VK: https://vk.com/maisvendoo
Контактная информация:

Re: Версия 1.0.x

Сообщение maisvendoo » 03 авг 2022, 07:24

Братцы, небольшая техническая накладка - в инсталяке потеряна одна зависимость. Если при старте будет ругаться на отсутствие libzlib.dll то два варианта:
  1. Скачать игру со второго зеркала - там я уже обновил

    Изображение
  2. Взять файл тут, распаковать и закинуть в каталог bin/ игры
Прошу прощения за техническую накладку.

P.S.: На данный момент гуглозеркало тоже синхронизировалось, так что загрузка симулятора возможна по обеим ссылкам
Возврата к деспотии Ситхов не будет!

Роман
Сообщения: 92
Зарегистрирован: 18 мар 2022, 11:59

Re: Версия 1.0.x

Сообщение Роман » 03 авг 2022, 17:33

Есть у меня одна мысля или даже просьба.
Возможно она покажется остальным разумной.
Касается графического интерфейса.
Чтобы рассмотреть показания некоторых приборов или надписи на дисплеях МФДУ, приходится крутить колесо мыши.
А почему бы не сделать так, чтобы по нажатию левой или правой кнопки мыши на нужную часть экрана, изображение этого места увеличивалось сразу в несколько раз, а при отпускании возвращалось обратно?
Типа "быстрая лупа"

Аватара пользователя
maisvendoo
Модератор
Сообщения: 339
Зарегистрирован: 13 авг 2019, 10:25
Город: Ростов-на-Дону
Настоящее имя: Дмитрий
VK: https://vk.com/maisvendoo
Контактная информация:

Re: Версия 1.0.x

Сообщение maisvendoo » 05 авг 2022, 12:47

Коллеги, выяснилось дрянное дело - ещё одна хитрость загрузки маршрутов ZDSimulator. Объясняю всё по порядку.

Итак, вот фрагмент файла objects.ref

Код: Выделить всё

1track500l_ex_der_TSM	\models\tracks\1track500l_ex_der_TSM.dmd	\textures\TBB_Rails.tga
1track500r_ex_der_TSM	\models\tracks\1track500r_ex_der_TSM.dmd	\textures\TBB_Rails.tga
Эти строки задают криволинейные участки рельс с деревянными шпалами, радиусов в 500 м, в левую и правую сторону соответственно

А вот фрагмент файла route1.map из того же маршрута

Код: Выделить всё

1track500l_ex_der_TS,113919.451285931,16714.2107368138,-47.3703056902793,0.329499006053213,0,93.6218165283203;
Данная строка задает пространственное расположение этого участка рельс. Как видим, буква "M" в конце имени съедена редактором маршрутов. Поэтому данные кривые не отображались в RRS так как, симулятор не мог найти в ref-файле нужную модель и текстуру. В итоге на новых маршрутах Александра Мищенко, половина рельс с деревянными шпалами просто не грузилось в RRS.

Длина имени объекта в редакторе маршрутов ограничена 20 символами! Редактор, при генерации route1.map обрезает лишнее! ZDsimulator это учитывает, а RRS не учитывал!

Пришлось исправить это недоразумение добавкой в код zds-route-loader.dll следующего кода

Код: Выделить всё

object.name = tokens[0];
// Обрезка имени объекта до 20 сомволов (привет Славе Усову!)
object.name = object.name.substr(0, 20);
Соответственно я ПЕРЕЗАЛИЛ версию 1.0.7 с данным исправлением! Её можно либо перекачать весь дистрибутив симулятора, либо применить к уже установленной версии 1.0.7 бинарный патч, который можно взять тут или вот тут. Содержимое архива распаковать в папку игры с заменой.

Прошу прощение за техническую накладку, но так уж вышло, что ранее этот нюанс себя не проявлял.

P.S.: На любую хитрую ж..у найдется своя отвертка....
Возврата к деспотии Ситхов не будет!

Роман
Сообщения: 92
Зарегистрирован: 18 мар 2022, 11:59

Re: Версия 1.0.x

Сообщение Роман » 05 авг 2022, 19:04

Такой сложный проект, ведомый "в одно лицо", не застрахован от ошибок или банальных опечаток.

Но оперативность "устранения неисправностей" впечатляет! И внушает уважение! :good:

(в отличии от "некоего коммерческого проекта", полного глюками и застрявшем в прошлом)

Mikhail
Сообщения: 22
Зарегистрирован: 27 окт 2021, 15:57

Re: Версия 1.0.x

Сообщение Mikhail » 06 авг 2022, 19:01

Из темы РА-3:
maisvendoo писал(а):
04 авг 2022, 20:45
Предупреждение: перекраска почему-то долго грузится, секунд десять после нажатия "Старт" задумчиво запускается вьювер. Но не надо пугаться - всё потом работает как надо.
Mikhail писал(а):
06 авг 2022, 17:46
Вьювер с трёхвагонным РА-3 в ливрее РЖД на моём, не спорю, слабеньком компьютере загружался почти полторы минуты.
Итак, попробовав перекраску РА-3 в ливрее РЖД, столкнулся я с неприлично долгой загрузкой вьювера, причём с нагрузкой на ЦП 80-90%. С обычным РА-3 вьювер загружается у меня секунд 8-10, а с перекраской в 10 раз дольше! Первое, что я проверил - что проблема не в самой текстуре, указав в конфиге в качестве перекраски папку с исходной ливреей ЮППК:

Код: Выделить всё

<ExtTexturesDir>ra3/images</ExtTexturesDir>
Результат - теперь обычный РА-3 тоже грузится полторы минуты. Собственно, весь остальной день я провёл, ковыряясь в исходниках и пытаясь найти тот лишний код, который компьютер выполняет все эти полторы минуты. И нашёл!
Замена текстуры производится в файле /viewer/viewer/src/model-texturing.cpp в следующем цикле:

Код: Выделить всё

for (unsigned int i = 0; i < geode.getNumDrawables(); ++i)
Этот цикл последовательно перебирает все элементы модели. А таких элементов в модели РА-3 - сотни! И для каждого затекстуренного элемента производится загрузка нового изображения из newPath, содержащей путь к папке с перекраской, указанной в конфиге:

Код: Выделить всё

    osg::ref_ptr<osg::Image> newImage = osgDB::readImageFile(newPath);
    if (newImage.valid())
        texture->setImage(newImage.get());
То есть для перекрашивания РА-3 вьювер при загрузке сотни раз открывает файл с новой текстурой. Но для РА-3 все текстуры собраны в одном файле RA3_kuzov.tga. Потому я попробовал оптимизировать код, чтобы вьювер мог использовать графический файл с предыдущей итерации цикла:

Код: Выделить всё

    // Проверяем, что новая текстура не использовалась в предыдущем цикле
    if (newPath != previousPath)
    {
        newImage = osgDB::readImageFile(newPath);
        previousPath = newPath;
    }
    if (newImage.valid())
        texture->setImage(newImage.get());
Собрав себе из исходников новую версию RRS с этим фиксом, запустил снова РА-3 в цветах РЖД. И он запустился за те же 10 секунд, что и раньше!

Я создал pull request с этими изменениями, надеюсь Дмитрий maisvendoo на их основе вскоре выпустит ещё патч к 1.0.7
Для тех, кто хочет уже сейчас решить проблемы с загрузкой перекрасок, выкладываю свой оптимизированный viewer.exe:
https://drive.google.com/file/d/1MN3lNX ... sp=sharing
Скачанный архив распаковать в папку RRS/bin с заменой.

Аватара пользователя
maisvendoo
Модератор
Сообщения: 339
Зарегистрирован: 13 авг 2019, 10:25
Город: Ростов-на-Дону
Настоящее имя: Дмитрий
VK: https://vk.com/maisvendoo
Контактная информация:

Re: Версия 1.0.x

Сообщение maisvendoo » 07 авг 2022, 08:13

Mikhail писал(а):
06 авг 2022, 19:01
Я создал pull request с этими изменениями, надеюсь Дмитрий maisvendoo на их основе вскоре выпустит ещё патч к 1.0.7
Михаил, цены вам нет, огромное спасибо! Конечно же я рассмотрю и включу ваш пулл-реквквест в основной код! И Конечно выпущу патч.
Возврата к деспотии Ситхов не будет!

Аватара пользователя
maisvendoo
Модератор
Сообщения: 339
Зарегистрирован: 13 авг 2019, 10:25
Город: Ростов-на-Дону
Настоящее имя: Дмитрий
VK: https://vk.com/maisvendoo
Контактная информация:

Re: Версия 1.0.x

Сообщение maisvendoo » 09 авг 2022, 19:27

Итак, предложенный пулл-реквест рассмотрен и внедрен в ветку v1.0.7-rc1. Из получившегося кода собрана очередная вариация версии 1.0.7, которая в ближайшее время будет перезалита на зеркала.

Опционально предлагаю официальный бинарный патч, включающий следующие изменения:
  • Оптимизация загрузки текстур для перекрасок
  • Исправлена работа ступеней ослабления возбуждения на электровозах серии ВЛ60к/пк
  • Исправлена работа ступеней ослабления возбуждения на электровозе серии ЧС2т. Он так же будет перезалит с учетом исправлений
  • Добавлен режим камеры "быстрый zoom" по средней кнопке мыши, который просили выше.
Возврата к деспотии Ситхов не будет!

Аватара пользователя
maisvendoo
Модератор
Сообщения: 339
Зарегистрирован: 13 авг 2019, 10:25
Город: Ростов-на-Дону
Настоящее имя: Дмитрий
VK: https://vk.com/maisvendoo
Контактная информация:

Re: Версия 1.0.x

Сообщение maisvendoo » 31 авг 2022, 20:47

Итак, в связи с внесением Михаилом Арепьевым исправлений в код игры, есть необходимость выпустить официальный билд их включающий. К номеру версий добавляю номер билда. Версия именуется как 1.0.7-3

Изображение

Список изменений невелик, но они критичны:
  • Исправлен вьювер тормозящий при загрузке перекрасок
  • Изменена инициализация направления движения, мешавшая нормальной работе БЛОК-М с ограничениями скорости при движении "Обратно"
ВНИМАНИЕ!!! Основная ветка репозитория теперь v1.0.7-release
Возврата к деспотии Ситхов не будет!

Аватара пользователя
maisvendoo
Модератор
Сообщения: 339
Зарегистрирован: 13 авг 2019, 10:25
Город: Ростов-на-Дону
Настоящее имя: Дмитрий
VK: https://vk.com/maisvendoo
Контактная информация:

Re: Версия 1.0.x

Сообщение maisvendoo » 01 фев 2023, 21:48

Mikhail писал(а):
14 ноя 2021, 10:53
стоит прописать эту инструкцию где-нибудь на сайте или форуме, для желающих присоединиться к тестированию и разработке (ну или я не нашёл, где оно написано).
Досадное упущение наконец исправлено. Инструкция по сборке RRS из исходных текстов
Возврата к деспотии Ситхов не будет!

Ответить

Вернуться в «Тестирование новых версий»