Hi, I'm playing the Italian patched version of Malcolm's revenge (english version with italian patch for subtitles) and some cutscenes have english speech but no subtitles. would it be possible to add the translated subtitles to those videos (i.e. K3INTRO0.vqa and BOAT0.vqa)?
I mean, the Italian AG Translators Group (http://www.iagtg.net/) has decoded those two videos, added subtitles and saved them as avi files. is there a way to reencode them to vqa?
maybe it is possible for scummvm to read another video format for kyra3 (e.g. dxa, like in Broken Sword).
or maybe you could add a script to run those subtitles when the cutscene is displayed (like here: https://sourceforge.net/tracker/index.php?func=detail&aid=1657061&group_id=37116&atid=418822\).
let me know if i can help you :D
Logged In: YES
user_id=991728
Originator: NO
Well it would require some work to do that, but it *is* possible. So I'll leave this open with low priority, since I think it's not a real big thing.
did you have the chance to have a look at it?
Now the game is selled by gog with scummvm attached. It would be nice to implement subs for the .vqa video by scummvm... could you please get an eye on it? it has been a long time since zoppologo opened this request, maybe things are changed?
> it has been a long time since zoppologo opened this request, maybe
> things are changed?
Things are the same as back then.
Sorry for necroposting,
Maybe the code used in sword1\animation.cpp (movieTexts) could do the trick.
We could take an array from, let's say, VQAXX.txt files purposely created and load it in memory by vqa.cpp function.
On our forum a user suggested something like this (not real code):
VQA01.txt content:
startframe
endframe
subtitle
startframe
endframe
subtitle
ecc..
open function
bool VQAMovie::open(const char *filename)
void VQAMovie::play()
_screen->updateScreen();
_screen->printText(const char *str, int x, int y, color1, color2);
bool VQAMovie::open(const char *filename)
{
if filename.txt exists, load sub array
}
void VQAMovie::play() {
//other code
for (uint i = 0; i < _header.numFrames; i++) {
//other code
sub_width = _screen->getTextWidth(subtitles_to_be_shown);
_screen->printText(subtitles_to_be_shown,
(320-sub_lenght) / 2, 180,
0xFF, 0xFF);
_screen->updateScreen();
}
}
//subtitles_to_be_shown code
for (uint i=0; i < array_lenght_sub; i++) {
if ( (current_frame >= start_frame[i]) &&
(current_frame <= end_frame[i]) )
subtitles_to_be_shown = subtitles[i];
}
Hope it helps.
Last edit: Theruler76 2015-09-29