Структура аудио в SA — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
Строка 4: Строка 4:
 
==Папка STREAMS==
 
==Папка STREAMS==
 
В папке STREAMS хранятся файлы радиостанций и звуковые дорожки катсцен.
 
В папке STREAMS хранятся файлы радиостанций и звуковые дорожки катсцен.
===PS2===
+
===TRAKLKUP.DAT===
Все поинтеры для файлов PAK хранятся в файле TRAKLKUP.DAT. Структура файла такова:
+
Все поинтеры для файлов папки STREAMS хранятся в файле TRAKLKUP.DAT. Структура файла такова:
  
   4 байта - DWORD - ID PAK файла
+
   1 байт - BYTE - ID файла
 +
  3 байта - зарезервированное место
 
   4 байта - DWORD - Оффсет к метаданным звукового файла
 
   4 байта - DWORD - Оффсет к метаданным звукового файла
 
   4 байта - DWORD - Длина непосредственно звукового файла
 
   4 байта - DWORD - Длина непосредственно звукового файла
  
 
Обратите внимание на то, что второе значение ссылается именно к метаданным, а не к звуковому файлу, но третье значение является длинной уже самого звукового файла. Поэтому если вы хотите прочитать и метаданные, и сам звуковой файл, то прибавьте 8068 к длине звукового файла, а если только сам звуковой файл, то прибавьте 8068 к оффсету к метаданным.
 
Обратите внимание на то, что второе значение ссылается именно к метаданным, а не к звуковому файлу, но третье значение является длинной уже самого звукового файла. Поэтому если вы хотите прочитать и метаданные, и сам звуковой файл, то прибавьте 8068 к длине звукового файла, а если только сам звуковой файл, то прибавьте 8068 к оффсету к метаданным.
 +
===PS2===
  
 
====Структура метаданных====
 
====Структура метаданных====

Версия 16:31, 7 августа 2011

В этой статье описана структура аудио-форматов в GTA SA.

Содержание

Папка STREAMS

В папке STREAMS хранятся файлы радиостанций и звуковые дорожки катсцен.

TRAKLKUP.DAT

Все поинтеры для файлов папки STREAMS хранятся в файле TRAKLKUP.DAT. Структура файла такова:

  1 байт - BYTE - ID файла
  3 байта - зарезервированное место
  4 байта - DWORD - Оффсет к метаданным звукового файла
  4 байта - DWORD - Длина непосредственно звукового файла

Обратите внимание на то, что второе значение ссылается именно к метаданным, а не к звуковому файлу, но третье значение является длинной уже самого звукового файла. Поэтому если вы хотите прочитать и метаданные, и сам звуковой файл, то прибавьте 8068 к длине звукового файла, а если только сам звуковой файл, то прибавьте 8068 к оффсету к метаданным.

PS2

Структура метаданных

  8000 байт - "танцевальный ритм" (Beats)
  4 байта - DWORD - длина "исцелённого" левого канала звукового файла
  4 байта - DWORD - частота левого канала звукового файла
  4 байта - DWORD - длина "исцелённого" правого канала звукового файла
  4 байта - DWORD - частота правого канала звукового файла
  4 байта - DWORD - неизвестное (возможно, кол-во каналов, т.к. всегда равно 2)

Rockstar зачем-то прописали длину и частоту для каждого канала отдельно (смысла в этом нет никакого, так как эти значения будут одинаковыми всегда), поэтому чтобы прочитать сколько весит "исцелённый" файл надо сложить значения длины правого и левого каналов.

"Битые" файлы

Наверное вы заметили ранее употребление слова "исцелённый". Дело в том, что файлы хранятся в немного побитом виде - посреди файлов были добавлены пустые блоки. Процедура корректного прочтения музыки из радиостанций описано в статье Моддинг San Andreas PS2. В файле CUTSCENE.PAK обстоит всё несколько по-другому - через каждые 131072 байта (0x20000) вставлен блок нулевых байтов размером 4096 байт (0x1000).

Структура Beats

Таблица Beats используется в танцевальных мини-играх, состоит из двух значений:

  4 байта - DWORD - время появления (в миллисекундах)
  4 байта - DWORD - клавиша

Если значение времени стоит -1, то "ритмы" не используются.

Таблица Beats не может весить больше 8000 байт. Это означает, что в мини-игре не может быть задействовано более 1000 "ритмов".

Проигрывание файлов

"Исцелённые" файлы можно проиграть с помощью программы MF Audio. Для этого надо выставить тип формата RAW ADPCM, в Interleave - 10000 и истинную частоту (где она находится описано выше).

PC

XBOX

Таблица ID файлов

ID Файл
0 AA
1 ADVERTS
2 AMBIENCE
3 BEATS
4 CH
5 CO
6 CR
7 CUTSCENE
8 DS
9 HC
10 MH
11 MR
12 NJ
13 RE
14 RG
15 TK

Таблица клавиш для Beats

Управление танцевальной мини-игры
Значение (hex) Клавиша
xbox PS2 PC (по умолчанию)
0x01 A X Вниз
0x02 X Квадрат Влево
0x03 Y Треугольник Вверх
0x04 B Круг Вправо
0x21 Окончание мини-игры
Управление мини-игры лоурайдера
Значение (hex) Клавиша
xbox и PS2 PC (по умолчанию)
0x09 Прав. аналоговый стик: вправо Numpad 6
0x0a Прав. аналоговый стик: влево Numpad 4
0x0b Прав. аналоговый стик: вверх и вправо Numpad 8 и Numpad 6
0x0c Прав. аналоговый стик: вниз и влево Numpad 2 и Numpad 4
0x0d Прав. аналоговый стик: вверх Numpad 8
0x0e Прав. аналоговый стик: вниз Numpad 2
0x0f Прав. аналоговый стик: вверх и влево Numpad 8 и Numpad 4
0x10 Прав. аналоговый стик: вниз и вправо Numpad 2 и Numpad 6
0x21 Окончание мини-игры

Ссылки

п · о · р
San Andreas Grand Theft Auto: San Andreas
Форматы файлов.col.cfg.cut.dff.dat.fxp.gxt.ide.ifp.img.ipl.rep.rrr.scm.txd.set
Документацияcarcols.datCarrecPed EventsPed TypeАдреса Памяти Функций (SA)Анимация моделей в SAВизуальные эффекты в скриптинге
Загруженные звукиКатсценыНомера оружияРисование на экранеТрюки с меткамиСтатистикаСтруктура аудио в SABeta версия
ИнструментыCLEOCollision File Editor IIENBSeriesG-ToolsGXT EditorIMG ToolPS2 TXD ModPS2 TXD ViewerLimit AdjusterMap EditorPathViewer
San Andreas Audio ToolkitSan Andreas Texture PlacerSanny BuilderTXD WorkshopTXDFuckerXBOX TXD PowerTool
ТуториалыРедактирование аудио в SAИзменение cutsceneDecision MakerПропуск роликовКонвертация автомобилей в SA
Основы маппинга GTA:SAДелаем ломающиеся объектыКонвертирование персонажа в SA2dfx в SanAndreasМоддинг San Andreas v2.0
Новая анимация персонажейУниверсальный солдат (GTA SA)
МодыAlien CityDesign Your Own MissionGTA: UnitedGTA StoriesGTA Berlin
МультиплеерgtaTournamentMulti Theft AutoSan Andreas Multiplayer