New version:
http://www.ficedula.co.uk/voices/Ultrasound_0_40.zipChanges:
-Use OpenAL output & buffer cache to try and reduce latency
-Support OGG files
-Support selecting voice files based on party members
For the last feature, it lets you change which audio file is played depending on whether a particular character is in the party or not.
The way to set that up in the XML is like this:
<Entry File="elm\tifa1.wav" ID="119" Part="a" Char1="2">...</Entry>
<Entry File="elm\tifa2.wav" ID="119" Part="a" Char2="2">...</Entry>
<Entry File="elm\tifa3.wav" ID="119" Part="a" Char3="2">...</Entry>
<Entry File="elm\vincent.ogg" ID="119" Part="a" CharAny="7">...</Entry>
What says is that when dialogue 119a is played:
-If the character in position 1 in the party is Tifa, play tifa1.wav
-If the character in position 2 in the party is Tifa, play tifa2.wav
-If the character in position 3 in the party is Tifa, play tifa3.wav
-If Vincent is anywhere in the party, play vincent.ogg
(In the game, Tifa uses character ID 2, and Vincent is ID 7. The IDs are the same as in the savegames, see
http://wiki.qhimm.com/view/FF7/Savemap)
That means you can cope with dialogue that includes the {PARTYx} tags by recording multiple versions and having the correct version play back.
Shard - can't remember if we ever discussed this, but how do you want to handle choices? Although Ultrasound doesn't currently support it, it
would be possible to work out which option was selected, and play an audio file based on that. The only issue is that of course once the player hits Enter to confirm which option they want, the game (usually!) goes straight onto the next piece of dialog, so you'd have the audio playing 'behind' what was on the screen.
Options I can think of:
-We don't care, we aren't going to voice choices
-Voice the option and just delay any audio for the following window until the option audio is done playing
-...any other suggestions...?