Opened 16 years ago
Last modified 6 years ago
#7647 new feature request
KYRA3: add subtitles in VQA videos
Reported by: | SF/zoppologo | Owned by: | |
---|---|---|---|
Priority: | low | Component: | Engine: Kyra |
Version: | Keywords: | ||
Cc: | Game: | Kyrandia 3 |
Description
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
Ticket imported from: #2018112. Ticket imported from: feature-requests/463.
Change History (9)
comment:1 by , 16 years ago
Owner: | set to |
---|---|
Priority: | normal → low |
comment:2 by , 16 years ago
comment:4 by , 11 years ago
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?
comment:5 by , 11 years ago
> it has been a long time since zoppologo opened this request, maybe > things are changed?
Things are the same as back then.
comment:6 by , 9 years ago
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.
comment:7 by , 7 years ago
Component: | → Engine: Kyra |
---|
comment:8 by , 6 years ago
Owner: | removed |
---|
comment:9 by , 6 years ago
Game: | → Kyrandia 3 |
---|
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.