Версия 1.0.x

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

Re: Версия 1.0.x

Сообщение maisvendoo » 29 дек 2019, 14:56

KVictor писал(а):Всё-таки посмотрел код, чтобы подтвердить свою гипотезу
а какую ветку смотрели? Надо смотреть ветку develop - именно там всё самое новое. Проект ВЛ60 был разделен на два проекта: vl60pk и vl60k, с общей кодовой базой по оборудованию.
KVictor писал(а):Ещё небольшая ремарка, местами встречаются "магические числа", не лучше ли вынести их в константы (возможно даже, в какой-то централизованный или частично централизованный инклуд?)?
KVictor писал(а):В любом случае, полагаю, что константа вида NominalVoltage была бы в данном случае понятнее, чем число 25000.
Справедливые замечания. Сам придерживаюсь такого подхода, но зачастую бывает тороплюсь и допускаю такие оплошности.
KVictor писал(а):в некоторых файлах есть шапка, поясняющая назначение файла, в некоторых нет. Предположу, что единообразие было бы предпочтительнее
Вообще, шапку обычно добавляю, это корпоративный стиль оформления, принятый у меня в отделах на работе. Туда бы еще не помешали Doxygen-комменты. Опять таки, часто из-за спешки пропускаю.
KVictor писал(а):Не смог решить, в какую тему это было лучше написать
В эту вполне уместно, тестирование новых версий касается и оценки качества кода. Критика тоже вполне уместная
Возврата к деспотии Ситхов не будет!

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

Re: Версия 1.0.x

Сообщение maisvendoo » 31 дек 2019, 11:51

Итак, дорогие друзья и коллеги, в последний день уходящего года представляем на ваш суд версию 1.0.4!

Изображение

Изменения в версии:
  • Добавлен комплект оборудования электропневматического тормоза (ЭПТ);
  • Электровоз ВЛ60пк оснащен ЭПТ;
  • Добавлен грузовой электровоз ВЛ60к;
  • Инвертирована мышь при управлении камерой в кабине и свободном режиме;
  • Исправлен ряд ошибок связанных с работой оборудования электровозов ВЛ60;
  • Реализована правильная анимация рукоятки крана вспомогательного тормоза усл. №254;
  • Добавлен лаунчер на технологии QML (launcher2.exe)
  • Исправлены и доработаны модели пассажирских вагонов;
  • Добавлены модели грузовых вагонов-хоперов.
Скачать версию можно с официального сайта в разделе "Скачать RRS"

Поздравляю всех с наступающим Новым 2020 годом! Здоровья, счастья и успехов в новом году, столько, сколько унесете! Ура!
Возврата к деспотии Ситхов не будет!

Аватара пользователя
alex2812
Сообщения: 44
Зарегистрирован: 31 авг 2019, 23:11
Город: Новокузнецк
Настоящее имя: Алексей

Re: Версия 1.0.x

Сообщение alex2812 » 31 дек 2019, 12:00

Огромное спасибо за подарок, протестим!!! Тоже хочу присоединиться к поздравлениям и пожелать всего самого наилучшего в новом году и новых побед как в личной жизни, так и в развитии нашего любимого симулятора RRS!!! ;)

Аватара пользователя
Ромыч РЖДУЗ
Модератор
Сообщения: 207
Зарегистрирован: 13 авг 2019, 19:06
Город: Москва, Зеленоград
Настоящее имя: Роман
Контактная информация:

Re: Версия 1.0.x

Сообщение Ромыч РЖДУЗ » 31 дек 2019, 12:17

Отлично, спасибо за новую версию Дима! :D
Сегодня, после 23:00 по мск, выложу у себя на сайте, три дополнения для RRS:
- состав фирменного поезда "Молдова";
- рефрежираторный поезд "Дессау";
- патч для маршрута Котовск- Одесса.
Изображение
"Строю маршрут Москва-Адлер, всё готово на 95%! Осталось освоить редактор маршрутов, а так же нужны фото, профиль, схемы, видео, текстуры вокзалов....
Чёрт! Проект закрыт, автор исчез..." :o

KVictor
Сообщения: 10
Зарегистрирован: 26 дек 2019, 22:07

Re: Версия 1.0.x

Сообщение KVictor » 31 дек 2019, 13:53

Дмитрий, спасибо за новую версию!

Первым делом, проверил набор/сброс промежуточных позиций)
Фиксация ЭКГ на промежуточных позициях больше не происходит, но теперь нет возможности зафиксировать 18-ю позицию, кроме того, если во время набора или сброса позиций перемещать ручку между ФВ и ФП позиции то набираются то сбрасываются. Не знаю, как это происходит на самом деле, возможно, кто-нибудь знакомый детальнее с ВЛ60/ВЛ80 сможет пояснить, что из этого правильно, что - нет?
maisvendoo писал(а):
29 дек 2019, 14:56
а какую ветку смотрели? Надо смотреть ветку develop - именно там всё самое новое. Проект ВЛ60 был разделен на два проекта: vl60pk и vl60k, с общей кодовой базой по оборудованию.
Смотрел изначально master, потом develop.
maisvendoo писал(а):
29 дек 2019, 14:56
Вообще, шапку обычно добавляю, это корпоративный стиль оформления, принятый у меня в отделах на работе. Туда бы еще не помешали Doxygen-комменты. Опять таки, часто из-за спешки пропускаю.
Почитал про Doxygen, интересная вещь.
Ещё мысль, может я этого просто не нашёл, возможно, имеет смысл сформировать общий подход к оформлению кода и Naming Conventions в виде какого-то документа, всё-таки, корпоративные стандарты могут сильно отличаться.

Также проверил по ветке develop актуальный код обработки нажатий клавиш и, поскольку проблема с Alt пока осталась, осмелюсь предложить свой вариант правки метода keyProcess :) . Пока здесь, среду разработки и git ещё не настраивал.
Вариант для ВЛ60пк, в ВЛ60к нескольких клавиш нет, правка там, должна быть аналогичная. Кратко: закомментировал строки 168-175, перенёс автозапуск наверх, там же, сделал проверку на нажатие Control и Alt.

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

#include    "vl60.h"

//------------------------------------------------------------------------------
//
//------------------------------------------------------------------------------
void VL60pk::keyProcess()
{
    if (autoStartTimer->isStarted())
        return;

    // Проверка на нажатие Ctrl, пока в комбинациях не используется, но, может быть полезна впоследствии
    if (isControl())
        return;

    // Проверка на нажатие Alt
    if (isAlt())
    {
        // Проверка !autoStartTimer->isStarted()) не нужна, поскольку она уже есть выше
        if (getKeyState(KEY_R))
            autoStartTimer->start();
        // больше Alt нигде не используется, поэтому выходим
        return;
    }

    // Управление тумблером "Токоприемники"
    if (getKeyState(KEY_U))
    {
        if (isShift())
            pants_tumbler.set();
        else
            pants_tumbler.reset();
    }

    // Подъем/опускание переднего токоприемника
    if (getKeyState(KEY_I))
    {
        // Переводим тумблер в нужное фиксированное положение
        if (isShift())
            pant1_tumbler.set();
        else
            pant1_tumbler.reset();

        // Задаем статус токоприемнику
        //pantographs[0]->setState(pants_tumbler.getState());
    }

    // Подъем/опускание заднего токоприемника
    if (getKeyState(KEY_O))
    {
        // Переводим тумблер в нужное фиксированное положение
        if (isShift())
            pant2_tumbler.set();
        else
            pant2_tumbler.reset();

        // Задаем статус токоприемнику
        //pantographs[1]->setState(pants_tumbler.getState());
    }

    // Включение/выключение ГВ
    if (getKeyState(KEY_P))
    {
        if (isShift())
            gv_tumbler.set();
        else
            gv_tumbler.reset();
    }

    // Возврат защиты
    if (getKeyState(KEY_K))
        gv_return_tumbler.set();
    else
        gv_return_tumbler.reset();

    // Включение/выключение расщепителя фаз
    if (getKeyState(KEY_T))
    {
        if (isShift())
            fr_tumbler.set();
        else
            fr_tumbler.reset();
    }

    // Включение/выключение мотор-верниляторов

    // МВ1
    if (getKeyState(KEY_R))
    {
        if (isShift())
            mv_tumblers[MV1].set();
        else
            mv_tumblers[MV1].reset();
    }

    // МВ2
    if (getKeyState(KEY_F))
    {
        if (isShift())
            mv_tumblers[MV2].set();
        else
            mv_tumblers[MV2].reset();
    }

    // МВ3
    if (getKeyState(KEY_Y))
    {
        if (isShift())
            mv_tumblers[MV3].set();
        else
            mv_tumblers[MV3].reset();
    }

    // МВ4
    if (getKeyState(KEY_5))
    {
        if (isShift())
            mv_tumblers[MV4].set();
        else
            mv_tumblers[MV4].reset();
    }

    // МВ5
    if (getKeyState(KEY_6))
    {
        if (isShift())
            mv_tumblers[MV5].set();
        else
            mv_tumblers[MV5].reset();
    }

    // МВ6
    if (getKeyState(KEY_7))
    {
        if (isShift())
            mv_tumblers[MV6].set();
        else
            mv_tumblers[MV6].reset();
    }

    // Включение/выключение мотор-компрессора
    if (getKeyState(KEY_E))
    {
        if (isShift())
            mk_tumbler.set();
        else
            mk_tumbler.reset();
    }

    // Включение/выключение цепей управления
    if (getKeyState(KEY_J))
    {
        if (isShift())
            cu_tumbler.set();
        else
            cu_tumbler.reset();
    }

    // Нажатие РБ-1
    if (getKeyState(KEY_Z))
        rb[RB_1].set();
    else
        rb[RB_1].reset();

    // Нажатие РБС
    if (getKeyState(KEY_M))
        rb[RBS].set();
    else
        rb[RBS].reset();

    // Нажатие РБП
    if (getKeyState(KEY_Q))
        rb[RBP].set();
    else
        rb[RBP].reset();

/*  Старый автозапуск закомментирован
    if (getKeyState(KEY_R))
    {
        if (isAlt() && !autoStartTimer->isStarted())
            autoStartTimer->start();
    }
*/

    // Включение/выключение ЭПТ
    if (getKeyState(KEY_V))
    {
        if (isShift())
            ept_switch.set();
        else
            ept_switch.reset();
    }
}
Делал в блокноте, возможны опечатки. :oops:

P. S. Всех с наступающим!

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

Re: Версия 1.0.x

Сообщение maisvendoo » 31 дек 2019, 17:15

Надо бы прикрутить к форуму нормальный просмотрщик кода с подсветкой синтаксиса...
Код вполне логичный, попробую, ну уже в следующем году ;)
KVictor писал(а): среду разработки и git ещё не настраивал
git вещь, в общем обязательная, так как не будет проблем со слиянием изменений. Я бы уже давно запутался во всем этом хозяйстве без системы версионного контроля.
KVictor писал(а):Ещё мысль, может я этого просто не нашёл, возможно, имеет смысл сформировать общий подход к оформлению кода и Naming Conventions в виде какого-то документа
Вообще необходимость назревает, так как в основном дереве проекта не только мной написанный код
Возврата к деспотии Ситхов не будет!

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

Re: Версия 1.0.x

Сообщение maisvendoo » 01 янв 2020, 01:09

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

С наступившим вас!
Возврата к деспотии Ситхов не будет!

Аватара пользователя
lord_vl80
Модератор
Сообщения: 27
Зарегистрирован: 30 авг 2019, 19:34
Город: Балашов, ЮВДТ
Настоящее имя: Сергей
VK: https://vk.com/id219639449

Re: Версия 1.0.x

Сообщение lord_vl80 » 01 янв 2020, 07:03

KVictor писал(а):
31 дек 2019, 13:53
Дмитрий, спасибо за новую версию!

теперь нет возможности зафиксировать 18-ю позицию, кроме того, если во время набора или сброса позиций перемещать ручку между ФВ и ФП позиции то набираются то сбрасываются.
Первое подтверждаю, и, кажется, знаю, почему такое (при кратковременной постановке РК в АП так же происходит набор 2х позиций а не одной, здесь видимо что-то с этим связано, ведь П1-П4 набираются автоматически, и в алгоритме сима этот автомат включен до выхода на 18ю позицию и также срабатывает переход на 19ю).

При ФВ-ФП - ничего не происходит как и в ФП-ФВ)

Аватара пользователя
Ромыч РЖДУЗ
Модератор
Сообщения: 207
Зарегистрирован: 13 авг 2019, 19:06
Город: Москва, Зеленоград
Настоящее имя: Роман
Контактная информация:

Re: Версия 1.0.x

Сообщение Ромыч РЖДУЗ » 01 янв 2020, 08:03

Так я так и не понял, если рукоятку контроллера, кратковременно установить в положение АП, тогда происходит набор 2-х позиций сразу. Это правильно или нет? :?
"Строю маршрут Москва-Адлер, всё готово на 95%! Осталось освоить редактор маршрутов, а так же нужны фото, профиль, схемы, видео, текстуры вокзалов....
Чёрт! Проект закрыт, автор исчез..." :o

KVictor
Сообщения: 10
Зарегистрирован: 26 дек 2019, 22:07

Re: Версия 1.0.x

Сообщение KVictor » 01 янв 2020, 11:32

Проверил в разных вариантах, есть два момента, показавшиеся мне странными, один, насколько я понимаю, ошибка, второй - не уверен, правильно это или нет, нужен комментарий от кого-то, лучше знакомого с электровозом
1. Шаги по воспроизведению: набираем 17 позицию, ставим ручку контролера машиниста в РП или АП (не принципиально в данном случае), переводим в ФП, ЭКГ набирает позиции до 19-й, хотя, насколько я понимаю, зафиксироваться должна была 18-я
2. Шаги по воспроизведению: набираем 17 позицию, ставим ручку контролера машиниста в РП или АП (не принципиально в данном случае), пока набираются промежуточные позиции, переводим ручку в ФВ, ЭКГ начинает сбрасывать промежуточные позиции, возвращаясь к 17-й.
Насчёт пункта 2, не знаю, как происходит на настоящем электровозе, поэтому не могу утверждать, ошибка это или нет.

Ответить