sounds.xml: описание

Вопросы создания и совершенствования звуковой подсистемы игры
Ответить
Аватара пользователя
dimka
Сообщения: 2
Зарегистрирован: 01 сен 2019, 06:15
Город: Днепропетровск
Настоящее имя: Дмитрий
Контактная информация:

sounds.xml: описание

Сообщение dimka » 15 мар 2020, 18:28

Думаю пора начать серию гайдов для разработчиков по основам и тонкостям использования звуковой подсистемы симулятора RRS, так как звуки являются важной составляющей любой игры и в частности симуляторов.

1. Основы загрузки звуков в RRS. Файл sounds.xml в директории звуков

Все звуки находятся по пути: "RRS/data/sounds/%Имя_папки_со_звуками%/"

В этой директории находятся все звуки симулятора, на данный момент RRS воспринимает только звуки несжатого *.WAV формата. В каждой звуковой папке есть файл "sounds.xml", в котором прописываются все звуки данной директории, наличие данного файла обязательно, так как именно его симулятор будет "читать" при загрузке.
Изображение

Но чтобы симулятор мог прочитать хоть что-то из этой папки со звуками для начала необходимо указать где искать эту самую папку. Например ВЛ60пк и ВЛ60к берет свои звуки из папки "RRS/data/sounds/vl60/", но ему необходимо указать об этом. Для этого с версии 1.0.5 в каждом конфигурационном файле подвижной еденицы необходимо указывать параметр <soundDir>. Например в конфигурационном файле ВЛ60пк-1543 ("RRS/cfg/vehicles/vl60pk-1543/vl60pk-1543.xml") есть параметр <soundDir> и там указана папка "vl60", то есть теперь симулятор понимает что для данного локомотива звуки будут находится по пути "RRS/data/sounds/vl60/", и загружая все элементы ВЛ60.

Изображение

Теперь симулятор загружая все элементы ВЛ60 и в частности звуки обратится к файлу "sounds.xml" в директории звуков. Разберем его структуру.

Изображение

Новичкам советую разобраться что такое *.XML файлы и с чем их едят, хотя описанного в данной статье вполне хватит чтобы вставить свой звук в тот или иной локомотив.

Первая строчка:
  • <?xml version="1.0" encoding="UTF-8"?>
Указывает что это xml файл и что его кодировка Unicode, не советую ставить тут что-то другое.

Вторая строчка:
  • <Config>
Это тэг начала конфигурационного файла, в конце "sounds.xml" стоит такой-же но с косой чертой в начале </Config> это значит что тело конфигурационного файла будет между этими двумя тэгами, все что за их пределами симулятор проигнорирует.

Дальше идут непосредственно сами звуки и их описания для симулятора, все параметры звука пишутся между тэгами <Sound></Sound>. Разберем по полочкам все параметры:
  • Name - имя звукового сэмпла (не путать с именем звукового файла), это имя которое пропишется в базу данных звуков симулятора, и воспроизводя звук мы будем оперерировать и передавать подпрограммам именно это имя.
  • Path - это непосредственно путь к звуковому файлу
  • InitVolume - громкость которая будет выставлена данному звуковому файлу при инициализации его в симуляторе (диапазон: 0-100)
  • MaxVolume - предельная громкость данного звукового файла, этакий ограничитель громкости (диапазон: 0-100)
  • InitPitch - тональность которая будет задана данному звуковому файлу при инициализации
  • Loop - зацикливание звука, если 0 то звук будет играть всего один раз, если стоит 1 то звук будет зацикленый
  • PlayOnStart - воспроизвести звук после инициализации если "1", и не воспроизводить если "0"
Также стоит сказать об строчках 4, 6 и 17 - это комментарии *.XML файла, при чтении симулятор их игнорирует, комментарии располагаются между символами "<!--" и "-->" там можно писать любой текст, например уточнение по звукам.

На данный момент это конец первого гайда, продолжение следует, в следующем уроке я расскажу как симулятор воспроизводит звуки, опишу основные подпрограммы которые необходимы для работы со звуками.

Ответить