F
ficedula
Guest
Running out of process would be my preference - mainly so if the code does crash, it doesn't affect FF7 at all, you just lose the voicing. Obviously there'd be a small code stub in-process transmitting the relevant messages out to the main program (that's how my test app worked...) although I didn't use OutputDebugString because I've sort of gone off that as a way for IPC.
For playing sounds then to be honest for anything beyond the capabilities PlaySound gives you, I'd be tempted to use an external library just for ease of use. With that said PlaySound might actually just work, it's pretty primitive but it's not like this project needs anything too advanced...
As a further optimisation, in most cases we'd also know who was speaking (Aeris, Cloud, etc.) and we'd only have to look at dialogue for that character, too.
If you wanted to go on and search some 'general' bank of dialogue that might be applicable to all locations that might be slightly slower, but again you'd only search dialogue relevant to that specific character.
Running out of process also has the advantage that this is all happening in the background without affecting the main game too much.
For playing sounds then to be honest for anything beyond the capabilities PlaySound gives you, I'd be tempted to use an external library just for ease of use. With that said PlaySound might actually just work, it's pretty primitive but it's not like this project needs anything too advanced...
Not particularly, to be honest. If you're in location NIV_W, say, then the first thing the program needs to look up is all the dialogue for that location - and any one location isn't going to have that much dialogue. It won't have to even consider dialogue for other locations, if we don't want it to.Ficedula : Wouldn't the text match way create a lot of overhead if the program has to look into a big heavy text file to match the clip before sending the sound out ? Wouldn't the ID way be more responsive ?
As a further optimisation, in most cases we'd also know who was speaking (Aeris, Cloud, etc.) and we'd only have to look at dialogue for that character, too.
If you wanted to go on and search some 'general' bank of dialogue that might be applicable to all locations that might be slightly slower, but again you'd only search dialogue relevant to that specific character.
Running out of process also has the advantage that this is all happening in the background without affecting the main game too much.