GTA Builder Форум

GTA Vice City => Программирование => Тема начата: ilufir от Октябрь 11, 2015, 08:54:42 pm

Название: Звуки тачек
Отправлено: ilufir от Октябрь 11, 2015, 08:54:42 pm
В общем, вопрос таков: у меня есть тачка, для которой нужен уникальный звук дверей и по возможности движка. Мне нужно как можно более "нативным"(то есть не хотел бы использовать всякие обходные пути) способом другой звук открытия-закрытия двери и, если возможно, двигателя. Что мне нужно понять:
- Как добавить в sfx новый звук без замены (или если невозможно, то либо заменить неиспользованный в игре(если такой есть) или как-то откуда-то подгружать)
- Как назначить авто этот новый звук (типа сменить группу звуков что ли)
Название: Re: Звуки тачек
Отправлено: Sektor от Октябрь 14, 2015, 06:47:28 pm
Точно тут не смогу подсказать, так как надо глубже разбираться. Но примерно могу сказать, что ID-ы звуков, хранятся где-то в полях CAutomobile.
Название: Re: Звуки тачек
Отправлено: ilufir от Октябрь 14, 2015, 10:51:35 pm
Спасибо! Правда я не очень пока шарю в коде игры, поэтому мне бы каких-нибудь туторов почитать, или если уж совсем добрые люди есть, пусть покажут что сделать.
Название: Re: Звуки тачек
Отправлено: xanser от Октябрь 17, 2015, 09:13:19 pm
Тема актуальная, занимаюсь ей тоже. Можно за пример взять mvl, где есть настройки звуков для машин, понять как это работает. В этом массиве 0x6AD1A0 храняться звуки двигателя, дверей, сирен и подбираются для машин в таких функциях как 0x5F20B0 ProcessVehicleEngine. Я пока не нашел, где идет первоначальное распределение звуков по машинам, а это самое важное. К примеру, это решило бы проблему при добавлении дополнительных машин свыше 107, для которых звуки не заданы и проблему замены машин к примеру легковых на грузовые с одновременным переносом звуков.
Название: Re: Звуки тачек
Отправлено: ilufir от Октябрь 18, 2015, 08:57:28 pm
Ну у меня в менее глобальных целях, так, в моде реализовать без замены. Но надо. Еще бы конечно с анимацией, типа добавить еще одку анимацию для некоторых машин, но это позже...
Название: Re: Звуки тачек
Отправлено: xanser от Ноябрь 04, 2015, 03:57:46 pm
Могу теперь ответить на второй вопрос, как заменить группу звуков.
Как я писал, нужный адрес этот 0x6AD1A0, это массив из звуков для 110 машин в том же порядке, в котором они идут в default.ide, для каждой машины задано 7 значений (целые, 4 байтовые).
Код: C++
  1. // 0x6AD1A0
  2. 277,  13,   026513,   0,     9935,   0   // 130,     landstal
  3. 278,  14,   411487,   0,     9900,   0   // 131,     idaho
  4. 269,   5,   611025,   0,     9890,   1   // 132,     stinger
  5. 272,   8,   729711,   0,     9960,   2   // 133,     linerun
  6. 278,  14,   412893,   0,     9500,   0   // 134,     peren
  7. 271,   7,   110706,   0,     9600,   1   // 135,     sentinel
  8. // и т.д.

Значения расположены в том же порядке, что и в xml файле mvl, из названий можно понять что где:

Код: C++
  1. <audio>
  2.   <enginefarsample>270</enginefarsample>
  3.   <enginenearsample>6</enginenearsample>
  4.   <hornsample>7</hornsample>
  5.   <hornfreq>28000</hornfreq>
  6.   <sirensample>0</sirensample>
  7.   <sirenfreq>9200</sirenfreq>
  8.   <doorsounds>2</doorsounds>
  9. </audio>
Название: Re: Звуки тачек
Отправлено: Sanek777 от Ноябрь 07, 2015, 02:36:10 am
По ссылке - расшифровка большинства звуков.
http://gtaforums.com/topic/157061-iiivc-sfx-files-archive/ (http://gtaforums.com/topic/157061-iiivc-sfx-files-archive/)
Имея образцы настроек дефаултных машин из Maxos Vehicle loader , определиться с номером звука проблем не составит =)
Название: Re: Звуки тачек
Отправлено: alexey от Февраль 13, 2018, 10:36:03 pm
xanser, А можно поподробней, как ты определил, что адрес 0x6AD1A0 - это массив из звуков?
В ИДЕ это выглядит так: .data:006AD1A0 15 01 00 00             dword_6AD1A0    dd 115h;
Название: Re: Звуки тачек
Отправлено: xanser от Февраль 19, 2018, 07:27:01 am
Смотри ссылку на этот адрес (клавиша X на адресе), на него ссылается функция 0x5F20B0 CAudioManager::ProcessVehicleEngine
Разжую подробнее на всякий случай... То что ты показываешь 0x115 это 277 - первый звук, см. выше пример таблицы. Следующие 110 * 7 dword-значений - это остальные звуки и частоты.
Во вложении таблица всех звуков, достаточно поменять строчки по соответствующим адресам, чтобы взять звуки с другого авто.