Mafia-Game Forum

Mafia-Game Forum (https://mafia-game.ru/forum/index.php)
-   Модификации (https://mafia-game.ru/forum/forumdisplay.php?f=9)
-   -   Характеристики авто и их редактирование в RHAM 5.3.3. (https://mafia-game.ru/forum/showthread.php?t=143)

Screper 27.06.2023 11:16

Вложений: 1
[QUOTE=AngryBabka;20165]Господа автоделы, а такой вопрос - кто-нибудь когда-нибудь делал анимированную рулевую трапецию[quote]

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

AngryBabka 27.06.2023 20:17

Screper, я еще пробовал думесы псевдомостов располагать на сошках рулевой трапеции (DWH_2 в месте крепления к кузову, DWH_3 в месте крепления к тяге), а сами сошки сделать подвижными и засунуть в DWH_2, и это было прикольнее всего - сошки поворачиваются, центральная тяга вслед за ними параллельно оси Х по правильной траектории. Но вот беда - при моем расположении элементов тяга всегда ездит в сторону, противоположную нужной))
Еще одна неприятная особенность - чтобы всё работало, в рхам обязательно нужно подгружать настройки для конкретной машины, иначе машина вообще не поедет. Дефолтные настройки тоже не катят. Всё это делает затею очень юзер-анфрендли, так что подвижная трапеция в релиз не войдет, да и не видно ее толком всё равно. А вообще прикольно конечно, Мафия опять удивила простором для костылей)

Screper 27.06.2023 20:45

Цитата:

Сообщение от AngryBabka (Сообщение 20168)
Screper, я еще пробовал думесы псевдомостов располагать на сошках рулевой трапеции (DWH_2 в месте крепления к кузову, DWH_3 в месте крепления к тяге), а сами сошки сделать подвижными и засунуть в DWH_2, и это было прикольнее всего - сошки поворачиваются, центральная тяга вслед за ними параллельно оси Х по правильной траектории. Но вот беда - при моем расположении элементов тяга всегда ездит в сторону, противоположную нужной))
Еще одна неприятная особенность - чтобы всё работало, в рхам обязательно нужно подгружать настройки для конкретной машины, иначе машина вообще не поедет. Дефолтные настройки тоже не катят. Всё это делает затею очень юзер-анфрендли, так что подвижная трапеция в релиз не войдет, да и не видно ее толком всё равно. А вообще прикольно конечно, Мафия опять удивила простором для костылей)

Ой, забывать я уже начинаю всю эту трахомудию) Колеса поворачиваются вокруг центра думмиса. Мост привязывается к центру колеса, а не думмиса. Если центр колеса не совпадает с центром думмиса, он смещается, а вместе с ним и мост. А в настройках машины мост считается по колесам. Которые должны быть названы по порядку от начала машины 0, 1, 2, 3 тд. В дефолтных характеристиках прописаны только два первых моста. А остальные работать не будут. Так что если в передней части машины вот так будет скостылено несколько колес и мостов в одной куче, то, и не будет это нормально работать, там еще с чем-то глюки были, не помню уже.

AngryBabka 27.06.2023 21:49

Блин точно, возможно имело смысл развернуть оси колес псевдомостов, может направление движения трапеции изменилось бы. Ну да ладно, всё равно забил уже

Kardini 25.07.2023 02:46

Так как тема схожая, поэтому напишу здесь.
tyres.bin очень схож с тем, что редактируется в vehicle через RHam

Я для Hex Редактирования использую ImHex, потому что бесплатный + можно перегнать в C# код и написать свою читалку. Прикрепляю паттерн для чтения

Развернуть для просмотра


Цитата:

struct WheelData{

float totalForce,underSteer,Force, unk,adhesion1,adhesion2,adhesion3,adhesion4,rollingFriction;
};

struct WhlPart{


u32 number;
u32 size;

if (size==76)
{WheelData normal, broken;}
else
{float whlValues[(size/4)-1];}


u16 unk3,ID;
};


struct Wheel{


u32 size;
char name[32];
u32 flagID;
u32 count;
WhlPart part[count];

};

struct Header{

u32 id, wheelCount;
Wheel whl[wheelCount];
};

;

Header wheel @ 0x00;

[свернуть]


А вот то, как оно висит в памяти самой игры. Числа будут идти через пробел, но схожесть заметить вполне реально

Развернуть для просмотра

Цитата:

//Звёздочками пометил те, которые прям 1 к 1 соотносятся с тем, что есть в tyres.bin

*20000.00 0.14 *0.80 *40.00 *0.80 *1.50 0.70 *0.50 *1.50 1.00 *0.02
*10000.00 0.19 *0.70 *40.00 *0.30 *1.10 0.80 *0.30 *1.00 0.70 *0.10

20000.00 0.14 0.80 40.00 0.80 1.50 0.70 0.50 1.50 1.00 0.02
10000.00 0.19 0.70 40.00 0.30 1.10 0.80 0.30 1.00 0.70 0.10

[свернуть]


И вот теперь уже за ячейки в памяти игры - я готов расписать. Учитывайте, что это вольная интерпретация и лично меня и соотнесите плз с чужими.

Развернуть для просмотра

1. Общая сила. Максимальная сила давления на колесо.
2. Жесткость колеса. (Lerp) - чем меньше тем сложнее зайти в занос
3. Множитель скольжения. Не до конца разобран
4. Число 40. Не используется. Я не смог добиться у игры, чтоб это число она запрашивала
5. Число 0.8 Не используется. Я не смог добиться у игры, чтоб это число она запрашивала

6. Общий множитель
7. Скольжение
8. Число 0.5 Не используется. Я не смог добиться у игры, чтоб это число она запрашивала
9. Боковой занос. Множитель поперечной силы
10. Сила отдачи при скольжении. Множитель
11. Сопротивление качению.
[свернуть]


Что еще могу сказать. Автор MEditor успешно и правильно читает все эти значения. Игнорирует число 40, потому что оно и не влияет. Но вот с интерпретацией у него тяжко. Потому что он предполагал, что оригинальная игра будет использовать формулу Pacejka

Kardini 19.08.2023 08:37

Джентельмены. Мне нужны ВСЕ возможные opis'и из RHAM.
Кто угодно какие делал - будьте так любезны, если у кого-то есть архивом, поделитесь. С меня довольно прикольный инструмент.

Screper 19.08.2023 13:36

Вложений: 2
Цитата:

Сообщение от Kardini (Сообщение 20314)
Джентельмены. Мне нужны ВСЕ возможные opis'и из RHAM.
Кто угодно какие делал - будьте так любезны, если у кого-то есть архивом, поделитесь. С меня довольно прикольный инструмент.

А зачем все-то? Ошибочные старые тоже что ли?

Kardini 20.08.2023 06:49

Цитата:

Сообщение от Screper (Сообщение 20317)
А зачем все-то? Ошибочные старые тоже что ли?

Да, их тоже можно. Ну потому что я в самой последней описи тоже вижу противоречия и несостыковки. Поэтому есть желание собрать наиболее большой список описаний и мнений на каждую переменную.

ЖЕКА42rus 24.10.2023 23:29

Цитата:

Сообщение от Kardini (Сообщение 20314)
Джентельмены. Мне нужны ВСЕ возможные opis'и из RHAM.
Кто угодно какие делал - будьте так любезны, если у кого-то есть архивом, поделитесь. С меня довольно прикольный инструмент.

Самый прикольный инструмент - если получится прокачать прогу RHAM 5.3.3 до такого уровня, чтобы можно было редактировать настройки автомобиля прямо в игре. Те же программы для San Andreas, и особенно, для GTA 5, это без проблем позволяют.

Kardini 26.10.2023 05:52

Цитата:

Сообщение от ЖЕКА42rus (Сообщение 20514)
Самый прикольный инструмент - если получится прокачать прогу RHAM 5.3.3 до такого уровня, чтобы можно было редактировать настройки автомобиля прямо в игре. Те же программы для San Andreas, и особенно, для GTA 5, это без проблем позволяют.

Как ни странно - это буквально и есть, то над чем я работаю на протяжении уже 5 месяцев. Разметил колёса, после разметил автомобиль в оперативной памяти.

Сейчас разбираю в одиночку что за что отвечает, поглядывая в дизасемблированный код и составляю таблицу. Уже сейчас можно спокойно открыть версию Мафии 1.0 в Cheat Engine и модифицировать как угодно (главная проблема - куча темных пятен все еще и лишь гипотез)

RHam не работает напрямую. Значения преобразовываются, умножаются, делятся, перегоняются в относительные уже от модели итд итд. Я откровенно раскопал уже некоторые моменты, которые полностью противоречат имеющийся opis'и.
Все в процессе, скорее всего после выкачу прикольную дебаг утилиту с наглядной визуализацией.

UPD: Если кто-то желает активно присоединиться к реверсу (А это буквально методом тыка разбирать переменную и писать *ощущения*), то без проблем целый гайд запишу


Текущее время: 20:38. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2025, vBulletin Solutions Inc. Перевод: zCarot