GTA Vice City > Программирование
Звуки тачек
xanser:
Могу теперь ответить на второй вопрос, как заменить группу звуков.
Как я писал, нужный адрес этот 0x6AD1A0, это массив из звуков для 110 машин в том же порядке, в котором они идут в default.ide, для каждой машины задано 7 значений (целые, 4 байтовые).
--- Код: C++ ---// 0x6AD1A0277, 13, 0, 26513, 0, 9935, 0 // 130, landstal278, 14, 4, 11487, 0, 9900, 0 // 131, idaho269, 5, 6, 11025, 0, 9890, 1 // 132, stinger272, 8, 7, 29711, 0, 9960, 2 // 133, linerun278, 14, 4, 12893, 0, 9500, 0 // 134, peren271, 7, 1, 10706, 0, 9600, 1 // 135, sentinel// и т.д.
Значения расположены в том же порядке, что и в xml файле mvl, из названий можно понять что где:
--- Код: C++ ---<audio> <enginefarsample>270</enginefarsample> <enginenearsample>6</enginenearsample> <hornsample>7</hornsample> <hornfreq>28000</hornfreq> <sirensample>0</sirensample> <sirenfreq>9200</sirenfreq> <doorsounds>2</doorsounds> </audio>
Sanek777:
По ссылке - расшифровка большинства звуков.
http://gtaforums.com/topic/157061-iiivc-sfx-files-archive/
Имея образцы настроек дефаултных машин из Maxos Vehicle loader , определиться с номером звука проблем не составит =)
alexey:
xanser, А можно поподробней, как ты определил, что адрес 0x6AD1A0 - это массив из звуков?
В ИДЕ это выглядит так:
--- Код: ---.data:006AD1A0 15 01 00 00 dword_6AD1A0 dd 115h;
--- Конец кода ---
xanser:
Смотри ссылку на этот адрес (клавиша X на адресе), на него ссылается функция 0x5F20B0 CAudioManager::ProcessVehicleEngine
Разжую подробнее на всякий случай... То что ты показываешь 0x115 это 277 - первый звук, см. выше пример таблицы. Следующие 110 * 7 dword-значений - это остальные звуки и частоты.
Во вложении таблица всех звуков, достаточно поменять строчки по соответствующим адресам, чтобы взять звуки с другого авто.
Навигация
Перейти к полной версии