[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Пытаюсь замутить свой симулятор.
V9Дата: Вторник, 02.04.2024, 08:53 | Сообщение # 141
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline


Глюки разработки. Звуковой файл читается в массив soundBytes. Потом обворачивается в буфер bais SoundBytes. И перед проведением очередного звука мы проверяем - "А как мы использовали буфер"? Если буфер использован полность, мы его сбрасываем в начало и снова играем. Если вообще не использован, просто играем звук. Если использован частично, то у нас ситуация "поломался другой поезд пока мы озвучиваем другую поломку". И мы попадаем в секцию миксирования где надо буфер пересоздать и отправить еще раз на озвучку, чтобы миксер языка программирования наложил два звука один на другой. И при отладке выяснил, что мы попадает в свою зону микширования уже на первом раунде. Там буквально идет проверка на совпадения байтов в массиве и в буфере. И уходит в ветку, где числа разные. Вывожу числа на экран - "Они же одиниковые! А прога считает их разными!"
В общем, искал я долго ошибку....
Прикрепления: 0849600.png (1.6 Kb)
 
olegpersh999Дата: Вторник, 02.04.2024, 09:04 | Сообщение # 142
Начальник станции
Группа: Пользователи
Сообщений: 106
Награды: 2
Репутация: 0
Статус: Offline
Цитата V9 ()
"Графики". К концу апреля. Должен появиться самый первый вариант отображения графиков движения по GID.txt от пульта.
Вот этот пункт не понятен. Что это будет?
 
V9Дата: Вторник, 02.04.2024, 09:46 | Сообщение # 143
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
Цитата olegpersh999 ()
Вот этот пункт не понятен. Что это будет?

График исполненного движения, но просто рисовать будет моя прога на основе данных GID.txt от Пульта НЕВА от Zork. Обязательно будет масштабирование  и возможность спрятать/показать пути на станциях. Так же планируется дать широкие возможности по настройке цветов ниток, фона и сетки времени.
Вынос в отдельную прогу позволит отрисовывать графики на соседнем компе или на телефоне.
upd. Можно будет работать и с того же компа, но просто по Alt-Tab переключаться между Пультом Нева и DSim. В данный момент я лично путаюсь в графиках: сначала открою клавишами, потом их пытаюсь закрыть, чтобы увидеть сам Пульт.


Сообщение отредактировал
V9 - Вторник, 02.04.2024, 09:50
 
olegpersh999Дата: Вторник, 02.04.2024, 13:53 | Сообщение # 144
Начальник станции
Группа: Пользователи
Сообщений: 106
Награды: 2
Репутация: 0
Статус: Offline
Вот это здорово! Буду ждать вот эту обнову))
 
V9Дата: Вторник, 02.04.2024, 15:50 | Сообщение # 145
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
Цитата olegpersh999 ()
Вот это здорово! Буду ждать вот эту обнову))
У меня реально был серьезный затык по теме графики со звуком. Там надо было выбрат один из трех маршрутов:
  • Делать графику как предложили разрабы языка. Это было бы со звуком, но по графике получалось бы через задний проход. И потом бы все пришлось бы переделывать в контексте графики.
  • Делать "правильную" графику без звука.
  • Попробовать хакнуть и понять, как можно сделать "правильно" графику с "неправильным" звуком.


Третий вариант сработал, хакнуть удалось, звук появился без графики. Теперь у меня развязаны руки абсолютно =)

Добавлено (02.04.2024, 19:53)
---------------------------------------------
В сообщение №140 обновил релиз на 0.0.4.3. Там сделано микширование звуков если два поезда поломались в соседних секундах. Полностью разобрался во всей звуковой подсистеме.

Добавлено (03.04.2024, 15:27)
---------------------------------------------
Делал пристрелочные тесты отрисовки графиков. В секунду прога успевает отрисовать 60 тысяч линий, что, в принципе, должно на заполнение графика динамически без особо сильных задержек.

Добавлено (03.04.2024, 15:55)
---------------------------------------------
*должно хватить...

Сообщение отредактировал
V9 - Вторник, 02.04.2024, 18:44
 
olegpersh999Дата: Среда, 03.04.2024, 17:52 | Сообщение # 146
Начальник станции
Группа: Пользователи
Сообщений: 106
Награды: 2
Репутация: 0
Статус: Offline
Отлично!
 
uyranДата: Четверг, 04.04.2024, 12:44 | Сообщение # 147
Маневровый диспетчер
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: 0
Статус: Offline
И когда ждать это новшество? ждем
 
V9Дата: Четверг, 04.04.2024, 13:33 | Сообщение # 148
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
Цитата uyran ()
И когда ждать это новшество? ждем
К концу апреля. И то - первую версию =)
 
V9Дата: Четверг, 04.04.2024, 15:50 | Сообщение # 149
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
С поломками, конечно, играть очень весело! Сидишь, чет рулиш. "Хрясь!" - в наушниках ругаетвся DSim. "Матка в пятки", "Пауза" на Неву, лезем смотреть график. Мысленно мат-перемат:
   — #$%#$%^!!! Кто, где?... —  и главный вопрос — На...я?

Найдя поезд, оценив обстановку:
   — Уф! Две минуты назад прибыл в НВ2, план по стоянке - около 40 минут, без переработки! Пронесло!

Выключам пульт, правим ГИД, отмечая поломку и ее окончание, архивируемся, играем дальше:
Прикрепления: 2261292.png (6.9 Kb)
 
olegpersh999Дата: Четверг, 04.04.2024, 17:46 | Сообщение # 150
Начальник станции
Группа: Пользователи
Сообщений: 106
Награды: 2
Репутация: 0
Статус: Offline
А что надо сделать чтобы поломки запустить? Играл сегодня ни одной не было
 
V9Дата: Четверг, 04.04.2024, 18:01 | Сообщение # 151
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
Цитата olegpersh999 ()
А что надо сделать чтобы поломки запустить? Играл сегодня ни одной не было

1. Взять 0.0.4.3 из сообщения 140.
2. После распаковки, зайти в каталог Territory\1, найти dsim.dat, отредактировать его, понизив число "864000" на некоторое более мелкое.
3. Сохранить, запустить режим Dispatcher из каталога, где pult.exe.

864000 - это среднее время в секундах до поломки у каждого поезда. Т.е. "каждый поезд поломается один раз в 10 суток" (864000 = 10 * 24 * 60 * 60). Поставив "200 секунд на поломку на поезд", все мгновенно "встанет раком", там будет "брякать" раз в минуту. =)

Далее регулируете сложность "под себя". Слишком редко  ломается, хотите чаще - уменьшаете это число. Слишком часто, слишком сложно играть - увеличиваете, будет ломаться реже. Я играю на 864000
 
V9Дата: Суббота, 06.04.2024, 14:44 | Сообщение # 152
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
Версия 0.0.5.0. Добавлен режим Архивариус, он же - Archivist.bat. Когда вы закроете Пульт Нева, Нева сделает сохраненку save.sav. Запуск Архивариуса упакует нужные файлы в архив вида 1_MMDD_HHMM.7z, где 1 - это регион, MM - месяц, DD - день, HH - час, MM - минута игры. Можно удобно "откатиться" на нужную точку, если что-то типа "заигрались до блокирования участка". Я так архивировал каталог, но там архивируется при этом куча "лишнего".

Добавлено (06.04.2024, 19:20)
---------------------------------------------
На другом компе проявилась бага релиза 0.0.5.0. Чтобы работало, требуется установить 32х битную версию программы 7zip - https://www.7-zip.org/

Прикрепления: dsim_0_0_5_0.zip (199.0 Kb)
 
VanchezДата: Воскресенье, 07.04.2024, 11:50 | Сообщение # 153
Станционный диспетчер
Группа: Пользователи
Сообщений: 102
Награды: 6
Репутация: 8
Статус: Offline
Какой-нибудь мануал небольшой по всей этой приблуде не помешал) А то я скачал, распаковал, а что к чему так и не разобрался
 
V9Дата: Воскресенье, 07.04.2024, 18:22 | Сообщение # 154
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
1. Взять JDK0 из сообщения #57 от 17.12.2023.
2. Взять DSim из сообщения #152 от вчера.
3. Распаковать с помощью Windows всё скачанное в каталоге Pult так, чтобы структура каталогов выглядела как в сообщении #90
4. Включить Пульте Нева сохранение данных в GID.txt (см сообщение #113)
5. Если будем использовать режим "Архивариус"/Archivist, то надо с сайта 7-zip скачать и уставить 32хбитную версию 7zip. (если опрационка 64х битная и скачать 64х-битный 7zip при при запуске Архивариус получим Fatal error/Фатальную ошибку).\

6. Далее, я рекомендую в каталоге Pult прокликать правой клавишей мыши на ".bat" файлах и отправить их на рабочий стол "создать иконку". Тогда удобно будет кликать с рабочего стола.
7. Использовать в разных режимах:
а) Extend train.bat позволяет удлинять или сокращать поезда. Можно себе делать длиносоставные или же отыгрывать "разформирование на учаскте" участкового/сборного поездов. См. сообщение #81.
б) Dispatcher.bat создает окошко, где крутит палкой. Читает GID.txt и время от времени сообщает какой поезд поломался и на сколько. Так как Пульт Нева не позволяет симулировать поломку, то единственный вариант симуляции ситуации - это не пустить на станцию данный поезд если он сломался на перегоне и не отправлять на перегон данный поезд если он поломался на станции. (если поломки слишком редкие, то в каталоге Territory\1 в файле dsim.dat уменшить число и сохранить. Потом рестартануть Dispatcher.bat).
Пример поломок:

2848 "сломался" на 20 минут, 2812 - на 26ть и т.п.
в) Archivist позволяет быстро создавать поименованные архивы .7z внутри каталога Territory. Требуется выйти из Пульта предварительно. позволяет "откатиться" назад на нужную точку.
Пример работы, созданные файлы в каталоге Terrirory:

1 - номер региона,
0602 - 2е число 6го месяца (июнь)
1652 - время 16:52
Прикрепления: 7898150.png (22.0 Kb) · 8062687.png (8.5 Kb) · 5331125.png (4.9 Kb)


Сообщение отредактировал
V9 - Воскресенье, 07.04.2024, 18:25
 
olegpersh999Дата: Суббота, 13.04.2024, 19:08 | Сообщение # 155
Начальник станции
Группа: Пользователи
Сообщений: 106
Награды: 2
Репутация: 0
Статус: Offline
После сформированных мотовозов походу

Добавлено (13.04.2024, 19:08)
---------------------------------------------
Что-то поезда не ломаются. Помимо основного файла программы надо что-то еще запускать?

Прикрепления: 3768928.jpg (23.9 Kb)
 
V9Дата: Воскресенье, 14.04.2024, 02:08 | Сообщение # 156
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
Цитата olegpersh999 ()
После сформированных мотовозов походу

Скажу спасибо за save.sav предшествующий. Чтобы поймать ошибку.

Цитата
Что-то поезда не ломаются. Помимо основного файла программы надо что-то еще запускать?
В каталоге Territory/1 есть dsim.dat/


Откроем его в редакторе типа Notepad.

Там будет 864000 - число секунд до поломки условного поезда. Если на полигоне один поезд, он поломается примерно через 10 суток. Если 2 поезда, то поломка будет один раз в 5 суток. Если 10 поездов - то поломка будет раз в сутки и т.п.
Уменьшим это число, скажем до 200 и сохраним:

Мы сделали "один поезд на полигоне будет ломаться каждые 200 секунд".
Запустим режим Dispatcher.bat. Вот это "поломки" мне накидало за минуту (так как у меня 22 поезда, то и поломки шли примерно раз  200 / 22 = 9 секунд/поломка)
Прикрепления: 0955639.png (18.1 Kb) · 7299799.png (2.7 Kb) · 4864965.png (2.7 Kb) · 5068087.png (9.1 Kb)
 
olegpersh999Дата: Воскресенье, 14.04.2024, 07:37 | Сообщение # 157
Начальник станции
Группа: Пользователи
Сообщений: 106
Награды: 2
Репутация: 0
Статус: Offline
Вот сейв.
Прикрепления: 5260779.sav (14.2 Kb)
 
V9Дата: Воскресенье, 14.04.2024, 15:52 | Сообщение # 158
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
Цитата olegpersh999 ()
После сформированных мотовозов походу
Удалось подловить момент оошибки, спасибо, буду исправлять!
 
V9Дата: Понедельник, 15.04.2024, 12:34 | Сообщение # 159
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline
V.0.0.5.1.

Исправление ошибки из поста #151

Добавлено (17.04.2024, 14:38)
---------------------------------------------
Режим Архиватора некорректно упаковывает файлы: он теряет относительные пути файлов. В ситуации разобрался, это потому, что при вызове я в пути использовал символ разделения каталогов '/' - "Territory/1/save.sav", а надо было использовать виндовый '\' - "Territory\1\save.sav". Но там затык на затыке.

а) Я раньше упаковывал сразу каталог Territory/1. Это было мучительно потому что требовалось вводить дату и время в каждой архивации. И это требовало "укладывать" архивы внутри каталога Territory, см. сообщение #154 этого треда.
б) Когда я писал режим "архиватора", я решил делать так же. И архиватор 7zip начал делать и ложить архивы корректно в Territory, но внутри архива он терял пути упакованных файлов.
в) ок! сделал правильный символ. Но тут поджидала другая "засада": мы же запускаем мою прогу из архива сима, не из Territory. А 7zip упаковывает теперь с учетом Territory. То есть сохраняет пути как "Territory\1\save.sav", а мне бы желательно упаковать как "1\save.sav" чтобы было удобно  распаковывать.
г) ок! "надо запускать 7zip из каталога Territory!" но в той версии, где я работаю, это невозможно!
д) ок! "тогда мы делаем переход в каталог Territory и оттуда запускаем мою прогу, а она запустит 7zip!"
е) 7zip корректно теперь упаковывает, но я делаю запуск из другого каталога. И при настройке путей запуска у моей проги, java теперь не находит свои библиотеки, если я достоверно не укажу где они лежат. В случае jdk0 это возможно, но если стоит другая java, я не представляю пока как это сделать. 
ж) В итоге, режим архиватора "подвис" в том смысле что теперь нет возможности запустить его на другой java кроме как jdk0ю

Прикрепления: dsim_0_0_5_1.zip (199.0 Kb)
 
V9Дата: Воскресенье, 21.04.2024, 05:30 | Сообщение # 160
Поездной диспетчер
Группа: Пользователи
Сообщений: 355
Награды: 8
Репутация: 0
Статус: Offline

Картинка, куда я буду целиться при разработке отрисовки графиков.
ps. Или же в сторону ГИД-Урал. http://gidural.ru/lib/exe/fetch.php?media=gid32.pdf
Прикрепления: 7026238.jpg (150.3 Kb) · 9672653.png (532.8 Kb)


Сообщение отредактировал
V9 - Воскресенье, 21.04.2024, 08:58
 
Поиск: