Автор Тема: Звуки тачек  (Прочитано 5266 раз)

Оффлайн ilufir

  • Прохожий
  • *
  • Сообщений: 73
  • Репутация: +2/-0
  • Я пытался
    • Просмотр профиля
Звуки тачек
« : Октябрь 11, 2015, 08:54:42 pm »
В общем, вопрос таков: у меня есть тачка, для которой нужен уникальный звук дверей и по возможности движка. Мне нужно как можно более "нативным"(то есть не хотел бы использовать всякие обходные пути) способом другой звук открытия-закрытия двери и, если возможно, двигателя. Что мне нужно понять:
- Как добавить в sfx новый звук без замены (или если невозможно, то либо заменить неиспользованный в игре(если такой есть) или как-то откуда-то подгружать)
- Как назначить авто этот новый звук (типа сменить группу звуков что ли)

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: Звуки тачек
« Ответ #1 : Октябрь 14, 2015, 06:47:28 pm »
Точно тут не смогу подсказать, так как надо глубже разбираться. Но примерно могу сказать, что ID-ы звуков, хранятся где-то в полях CAutomobile.

Оффлайн ilufir

  • Прохожий
  • *
  • Сообщений: 73
  • Репутация: +2/-0
  • Я пытался
    • Просмотр профиля
Re: Звуки тачек
« Ответ #2 : Октябрь 14, 2015, 10:51:35 pm »
Спасибо! Правда я не очень пока шарю в коде игры, поэтому мне бы каких-нибудь туторов почитать, или если уж совсем добрые люди есть, пусть покажут что сделать.

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Re: Звуки тачек
« Ответ #3 : Октябрь 17, 2015, 09:13:19 pm »
Тема актуальная, занимаюсь ей тоже. Можно за пример взять mvl, где есть настройки звуков для машин, понять как это работает. В этом массиве 0x6AD1A0 храняться звуки двигателя, дверей, сирен и подбираются для машин в таких функциях как 0x5F20B0 ProcessVehicleEngine. Я пока не нашел, где идет первоначальное распределение звуков по машинам, а это самое важное. К примеру, это решило бы проблему при добавлении дополнительных машин свыше 107, для которых звуки не заданы и проблему замены машин к примеру легковых на грузовые с одновременным переносом звуков.

Оффлайн ilufir

  • Прохожий
  • *
  • Сообщений: 73
  • Репутация: +2/-0
  • Я пытался
    • Просмотр профиля
Re: Звуки тачек
« Ответ #4 : Октябрь 18, 2015, 08:57:28 pm »
Ну у меня в менее глобальных целях, так, в моде реализовать без замены. Но надо. Еще бы конечно с анимацией, типа добавить еще одку анимацию для некоторых машин, но это позже...

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Re: Звуки тачек
« Ответ #5 : Ноябрь 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>

Оффлайн Sanek777

  • Призрак
  • Сообщений: 32
  • Репутация: +6/-0
    • Просмотр профиля
Re: Звуки тачек
« Ответ #6 : Ноябрь 07, 2015, 02:36:10 am »
По ссылке - расшифровка большинства звуков.
http://gtaforums.com/topic/157061-iiivc-sfx-files-archive/
Имея образцы настроек дефаултных машин из Maxos Vehicle loader , определиться с номером звука проблем не составит =)

Оффлайн alexey

  • Призрак
  • Сообщений: 1
  • Репутация: +0/-0
    • Просмотр профиля
Re: Звуки тачек
« Ответ #7 : Февраль 13, 2018, 10:36:03 pm »
xanser, А можно поподробней, как ты определил, что адрес 0x6AD1A0 - это массив из звуков?
В ИДЕ это выглядит так: .data:006AD1A0 15 01 00 00             dword_6AD1A0    dd 115h;

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Re: Звуки тачек
« Ответ #8 : Февраль 19, 2018, 07:27:01 am »
Смотри ссылку на этот адрес (клавиша X на адресе), на него ссылается функция 0x5F20B0 CAudioManager::ProcessVehicleEngine
Разжую подробнее на всякий случай... То что ты показываешь 0x115 это 277 - первый звук, см. выше пример таблицы. Следующие 110 * 7 dword-значений - это остальные звуки и частоты.
Во вложении таблица всех звуков, достаточно поменять строчки по соответствующим адресам, чтобы взять звуки с другого авто.
« Последнее редактирование: Февраль 19, 2018, 10:45:18 am от xanser »