MAL4X Научно-технический форум разработчиков симуляторов и автоматики


Симуляторы перегрузок. DIY электроника. ЭВМ. Компьютерные сети.
Up

Разработка программного обеспечения RU-SIMULATOR

Строим реалистичный симулятор перегрузок своими руками. Рекомендации. Советы.

Модераторы: Death_Morozz, null, Ale

Сообщение Ale » 13 ноя 2012, 20:43

CraCk писал(а):Ale как будут обстоять дела с новой версией Ил-2 Битва за Британию и ему подобные версии?

Все, с ИЛ-2 я разобрался. Как раз качнул с торрента "полное издание" и спокойно из нее данные тащу. Нет вопросов. Могу выложить версию, но думаю, это не так интересно. Все таки хочу прикрутить выдачу команд на контроллер сначала. Или выложить?Изображение

Кстати - доступные из игры данные прописаны в файле "DeviceLink.txt", который лежит в каталоге с игрой.
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение Ale » 13 ноя 2012, 23:03

Еще один тест IL-2

http://youtu.be/H5tXGjvjPs4

Вот нашел инфу по X-plane
http://nuclearprojects.com/xplane/info.shtml

Итого: Реализовано извлечение данных из
1 - Live for Speed
2 - игры от Codemasters - Dirt1,2,3, серия F1 (Pavel155 проверил на F1 2012), Grid
3 - IL2
4 - X-plane (не проверял, но данные об UDP все есть)

Собственно, меня лично еще интересует rFactor. Но там, похоже, без dll не обойтись. Можно, конечно, пристроить dll от x-sim2, но это как-то не комильфо.

Что касается серии NFS - то там данные можно взять только из памяти. Я этим еще не занимался... Кого эта серия интересует - поищите в сети любую инфу про извлечение данных...

Вот как-то так. Теперь буду заниматься формированием сигналов для сима...

Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение thor_nsk » 14 ноя 2012, 05:08

По возможности еще бы в этот списочек добавить GTR Evolution Изображение
Аватара пользователя
thor_nsk
Комсорг
 
Сообщения: 154
Зарегистрирован: 03 мар 2011, 08:12
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Баллы репутации: 0

Сообщение Ale » 14 ноя 2012, 07:30

thor_nsk писал(а):По возможности еще бы в этот списочек добавить GTR Evolution

Да я не против, просто призываю приложить усилия Изображение и поискать инфу про извлечение данных. Может самим какие "инжекторы" или "графические драйверы" попытать...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение null » 15 ноя 2012, 10:04

Ale писал(а):Собственно, меня лично еще интересует rFactor. Но там, похоже, без dll не обойтись. Можно, конечно, пристроить dll от x-sim2, но это как-то не комильфо.


Очень поддерживаю rfactor и идею о переделке dll. В родной dll не поддерживается экспорт кучи параметров, а очень бы хотелось.

Ale писал(а):Может самим какие "инжекторы" или "графические драйверы" попытать...

Без этого я думаю не обойтись ....
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Сообщение kuzevan » 15 ноя 2012, 12:53

Типы интерфейсов к играм описаны в документе http://x-sim.de/documents/X-...Introduction.pdf
на стр 5.
Используемые данные перечислены в http://x-sim.de/documents/X-...uick%20Guide.pdf
на стр 8. А может еще где?
Поиск данных в памяти описан в http://x-simulator.de/wiki/H..._Files_%28MMF%29

и здесь http://x-simulator.de/wiki/Cheat_engine
.
И много чего можно найти погуглив MMF site:x-simulator.de .
Аватара пользователя
kuzevan
Парторг
 
Сообщения: 60
Зарегистрирован: 25 окт 2011, 17:17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: -6

Сообщение Ale » 17 ноя 2012, 02:07

Прям как в анекдоте: "Кому не спится в ночь глухую?..." Изображение
Короче - вот новое видео с демонстрацией законченного на 90% цикла извлечения данных, формирования сигналов и посылки их на контроллер (собственно - прикрутить саму посылку осталось)
http://youtu.be/FAGIx7RU5pA
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение AlexVr » 17 ноя 2012, 10:35

Выглядит обнадеживающе!!! А что за анекдот?
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

Сообщение Ale » 17 ноя 2012, 21:24

http://simdevice.ru/download/Ale/files/RuSIM_Telemetry110.rar

Уфф... Закончил я "черновой" проект. Теперь он полностью функциональный - от считывания данных с игры (пока только UDP игры) до формирования сигналов для осей (один байт на ось, максимум 3 оси) и передачи их на контроллер

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

Допустимые операции над пареметром:
- Int(tau) - операция "интегрирования", степень которого задается tau
- Dif(tau) - операция "дифференцирования", степень которого задается tau
- Mul(value) - операция умножения параметра на value
- Add(value) - операция сложения параметра с value
- Lit(value) - операция ограничения сверху (Limit Top)
- Lib(value) - операция ограничения снизу (Limit bottom)

Для окончательного "смешивания" обработанных параметров в сигнал оси реализованы два режима (задуманы три) - "суммирование" (Adding) и "перекрытие" (Overlap).
В первом режиме параметры просто складываются, т.е сигнал оси представляет собой сумму параметров (к примеру - сумму углов наклона и ускорений).
Во втором режиме сигнал оси формируется из параметра, который в данный момент превышает (по модулю) все остальные.

Не забывайте после любой правки параметров нажимать соответствующую кнопочку "update"

Ну и все это можно сохранять в файлы...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение null » 18 ноя 2012, 09:19

Привет Ale!
Очень радует твой прогресс в работе над софтом. К сожалению протестить сейчас его не могу, как и прошивку из-за поломки программатора. На днях починю. Но возникла пара вопросов по уже имеющемуся функционалу программы.
1. Если делать приборку с использованием RuSim, то осей явно не хватит. Нужно что-то с этим делать.
2. Необходима возможность отправки данных в несколько сом портов, т.к. это обеспечивает масштабируемость сима в целом и подключение доп. устройств.
3. Например я использую клиент-серверную архитектуру х-сим по ряду причин. Теоретически будет ли такая возможность реализована в RuSim?


Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Сообщение Ale » 18 ноя 2012, 10:11

Привет, null.

Сначала общие соображения. Софт (как и прошивка) создавался "на скорую руку" дабы убедиться, что методы решения поставленной задачи существуют и я их знаю Изображение . Т.е. я отношусь к этому как тестированию идей решений, а вовсе не как к "законченному" продукту.
Основная идея состояла в том, что для игр, для которых существует ЧЕТКОЕ и однозначное описание структуры передаваемых наружу данных (будь то передача по UDP, будь то доступ к данным с использованием MMF) вовсе не обязательно сочинять dll. Достаточно предоставить программе текстовое описание, из которого она поймет что и где брать. И эта идея работает...

Теперь по пунктам.
null писал(а):1. Если делать приборку с использованием RuSim, то осей явно не хватит. Нужно что-то с этим делать.

Не вопрос. Сколько осей нужно?
null писал(а):2. Необходима возможность отправки данных в несколько сом портов, т.к. это обеспечивает масштабируемость сима в целом и подключение доп. устройств.

Не вопрос. Сколько портов нужно?
null писал(а):3. Например я использую клиент-серверную архитектуру х-сим по ряду причин. Теоретически будет ли такая возможность реализована в RuSim?

А вот тут вопрос (неожиданно ? Изображение ) Я не силен в подобных вещах. Ежели кто подтянется с желанием сделать, значит решим
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение null » 18 ноя 2012, 10:47

Ale писал(а):Т.е. я отношусь к этому как тестированию идей решений, а вовсе не как к "законченному" продукту.

Я прекрасно это понимаю и даже как первый рабочий тестовый вариант - выглядит очень не плохо!
Ale писал(а):Основная идея состояла в том, что для игр, для которых существует ЧЕТКОЕ и однозначное описание структуры передаваемых наружу данных (будь то передача по UDP, будь то доступ к данным с использованием MMF) вовсе не обязательно сочинять dll.

Это хорошая идея, которая позволит проекту развиваться в плане поддержки игр динамичнее.

Ale писал(а):Не вопрос. Сколько осей нужно?

А вот это сложный вопрос. Мой незавершенный девайс принимал данные с более 10-ти осей и это не предел. Т.е. количество должно быть бесконечно (в разумных пределах) и настраиваемо.

Ale писал(а):Не вопрос. Сколько портов нужно?

Опять таки сложный вопрос. В идеале любое количество портов, подключенных к компьютеру.

Ale писал(а):А вот тут вопрос (неожиданно ? ) Я не силен в подобных вещах. Ежели кто подтянется с желанием сделать, значит решим

Понял )
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Сообщение CraCk » 18 ноя 2012, 17:03

Ale [img]./images/smilies/super.gif[/img]
Теперь о плохом)
Ошибки в dir3 при extradata="0"
phpBB [video]

http://youtube.com/watch?v=hppX8trmBEM

phpBB [video]

http://youtube.com/watch?v=s...nnel&list=UL

На extradata="1" такого нет.
Думаю нужно откатывать на версию игры 1.1. На extradata="0" данные все равно остаются корявыми. Возможно потому я при тестах платформы и игры на х-sim получал очень резкие перемещения.
Еще все время мучает вопрос почему данные от игры приходят от любого порта прописываешь 4123,20000,20777 и всегда работает?
О софте: присоединяюсь к рекомендации от null,
от себя: нужно добавить xSimCTRL. Не хватает читабельности, также ползунков при настройке параметров.
Жду с нетерпением новых версий для тестирования!!!
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение Ale » 18 ноя 2012, 19:59

CraCk писал(а):Теперь о плохом)
Ошибки в dir3 при extradata="0"

Ну воот, а где же "о хорошем"?

На счет Dirt и extradata.

Размер пакета данных, которые игра высылает по UDP при extradata=1 - 180 байт (вместе с UDP заголовком) , а собственно данных там 152 байта (0x98). Структуру этого пакета данных я нашел в сети...

Размер пакета данных, которые игра высылает по UDP при extradata=0 - 68 байт =0x44 (к сожалению у меня игра при extradata=0 не запускается. Но в сети я нашел эту цифру)
И структуру этого пакета я точно не знаю. По логике вещей она должна повторять первые 68 байт. Но если это вдруг не так - тогда какие-то данные могут неправильно конвертироваться.

В общем - мне просто на другой машине надо Дирт запустить и посмотреть, в чем там дело

CraCk писал(а):Еще все время мучает вопрос почему данные от игры приходят от любого порта прописываешь 4123,20000,20777 и всегда работает?

Давай подробнее - Где и что ты прописываешь? И что все равно работает? Есть три места в которых ты можешь задать номер порта. Первое - это файл hardware_setup от Dirt. Второе место, это файл настроек в нашем софте

<?xml version="1.0" encoding="UTF-8" ?>
<rusim_extractor_config version="02" >
<plugin_name="Dirt2 extradata0"/>
<extdll_name=""/>
<out_sim_config>
<connect IP="127.0.0.1" port="20000" />
<data>

И третье место - на главном окне проги RuSim - (View PORT)

Так вот, что бы данные считывались, должны совпадать номера портов в файле настройки Dirt и файле конфигурации RuSim.
Если у тебя получается иначе - опиши ситуацию ))

@всем-всем-всем: Пробовал ли кто нибудь ПО УПРАВЛЯТЬ симом из этой программы ???
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение CraCk » 18 ноя 2012, 20:54

Ale писал(а):Ну воот, а где же "о хорошем"?

Все хорошее в смайле Изображение . Просто не хватало слов от восторгаИзображение
Ale писал(а):В общем - мне просто на другой машине надо Дирт запустить и посмотреть, в чем там дело

Могу отдать свой пк через teamviewer.
Ale писал(а):Давай подробнее - Где и что ты прописываешь?

Прописываю например порт 4123 в трех местах..... Ааа все понял. В hardware_settings_config.xml прописывается через какой порт будет трансляция данных на х-симрус. Чет я туплюИзображение
От почему в X-sim игры от кодемастер настроение порты по разному?
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Пред.След.

Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools

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

Сейчас этот форум просматривают: Google [Bot] и гости: 19

x

#{title}

#{text}