Add VAG struct

This commit is contained in:
ABelliqueux 2021-08-14 14:53:39 +02:00
parent eb638ed515
commit c672d0dc51

View File

@ -5,7 +5,6 @@ piano sounds, explosions, and music. The typical extension in DOS is “.VAG”.
See [FileFormat47.pdf](http://psx.arthus.net/sdk/Psy-Q/DOCS/FileFormat47.pdf), p.209
## Audio to VAG conversion
We have to convert the audio file to RAW data first :
@ -24,6 +23,25 @@ wav2vag tmp.dat output.vag -sraw16 -freq=44100
You can find a graphical editor in the [PsyQ sdk](http://psx.arthus.net/sdk/Psy-Q/PSYQ_SDK.zip) named `VAGEDIT.exe`.
## C VAG structure
Here is a structure definition to access the VAG header :
See [FileFormat47.pdf](http://psx.arthus.net/sdk/Psy-Q/DOCS/FileFormat47.pdf), p.209 for full description.
```c
typedef struct VAGhdr { // All the values in this header must be big endian
char id[4]; // VAGp 4 bytes -> 1 char * 4
unsigned int version; // 4 bytes
unsigned int reserved; // 4 bytes
unsigned int dataSize; // (in bytes) 4 bytes
unsigned int samplingFrequency; // 4 bytes
char reserved2[12]; // 12 bytes -> 1 char * 12
char name[16]; // 16 bytes -> 1 char * 16
// Waveform data after that
} VAGhdr;
```
## VAG & SPU Docs
See