Russian translation of WC4

ginger_tigra

2nd Lieutenant
I present my work in progress: Russian translation of Wing Commander IV: The Price of Freedom.
This is the add-on to DVD version of game and based on deep mod of dxmci.dll; six-CD version upgraded by DVD upgrade patch is suitable too.
Unfortunately the GOG version of WC4 isn't supported by my addon, and I have no idea about how make it compatible yet :-( but I hope that idea will come - sooner or later.

Torrent of this translation resides on:
http://rutracker.org/forum/viewtopic.php?t=4033753,
http://bestrepack.net/forum/viewtopic.php?t=11246.
Magnet link: magnet:?xt=urn:btih:9618399FBDC63E1087E246D0B517643C5EFB7A89&dn=wc4-subtitled.
Main development topic: http://www.old-games.ru/forum/showthread.php?t=20794.

Contents of torrent:
  • dxmci.dll - my modification of gulikoza's one;
  • dxmci.ini - its default Russian setup file;
  • configure dxmci.lnk - link for its configuration;
  • xlatrus.iff - translation of game itself and in-movie choice menus as well as cyrillized fonts;
  • altfiles.lst - list of movie substitutions (i.e. every sequence of .vob files corresponds to some matroska file);
  • mcitest.exe - the simplest video player, mainly for debugging of substitutions list;
  • mkv\ - movies in matroska files with Russian and English subtitles;
  • docs\ - couple of English game FAQs found in Net;
  • setup\ - .reg files for Haali matroska splitter and DirectVobSub subtitle filter fine-tuning;
  • bin\ - bunch of utility for assembling-disasssembling of .tre files, IFFs and fonts;
  • src\ - sources of translation:
    • dxmci-mod-20131202-2214.7z - source code of my modification of dxmci.dll, as well as mcitest.exe and utilities;
    • xlat\ - translated IFFs, fonts and auxiliary files for assembling of xlatrus.iff;
    • subs\ - English and Russian subtitles for movies;
    • avs\, d2v\ - scripts for video ripping/restoration;
    • xml\ - segment linking descriptors for matroska files;
  • save\ - savegames for easy testing.
Additional software needed:
  • Haali Media Splitter (recommended) or other splitter for Matroska - must support segment linking and ordered chapters;
  • any DirectShow DivX/XviD video decoder;
  • any DirectShow OGG Vorbis audio decoder (CoreVorbis recommended);
  • any DirectShow subtitle filter (DirectVobSub recommended);
  • also, gulikoza's mpeg2.dll needed for dxmci.dll (DVD upgrade pack already contains one).
Installation and setup:
  • install game;
    • install DVD upgrade pack if needed;
  • install and fine-tune additional DirectShow filters:
    • videodecoder: turn off postprocessing (high-quality picture needs no smoothing);
    • Haali Media Splitter: autoload VSFilter - yes; try to open linked files - yes (without it, some movies will not work properly); merge all segments - no; subtitle language preferences are of no importance because dxmci itself will select proper subtitle track;
    • DirectVobSub: font: Verdana, size: 16, alignment: bottom center, margins: left/right 10, top/bottom 20 (movie subtitles must not overlay bottom line of in-movie choice menu);
  • copy downloaded files (translation requires only dxmci.dll, dxmci.ini, xlatrus.iff, altfiles.lst, *.lnk and mkv dir with its subdirs) to game directory
    OR
    copy dxmci.dll, dxmci.ini and *.lnk only and assign paths to other required files/dirs via dxmci configuration dialog;
  • check correctness of DirectShow flters setup: for instance, run
    Code:
    mcitest mkv\lex\sc_7330.mkv
    - there must be Eisen's speech accompanied with subtitles and then shuttle will pick up eject pod;
  • check game translation: run game and move mouse cursor over buttons, Russian strings will appear as on first screenshot;
  • check video in game: for instance, click on "Start new game" button and wait about a minute and you wil hear radio talks and see subtitles.
If some of tests are failing, then please post me a message with problem description along with last file named like dxmci-wc4dvd-yyyymmdd_hhmmss.log from inside game directory. If Russian is preferable to you - I'll be glad to se your response in main development topic.

Work is in progress. At now, I have:
  • all fonts are cyrillized, i.e. contain Russian, Ukrainian and Bielarussian letters;
  • "static" part of game fully translated: main terminal (except weapons in fighter selection screen), carriers' interiors, mission texts (from beginning to mission G3), list of pilots, loudspeaker subtitles, post-"funeral" menu;
  • in flight translated: comm menu for Confed and Border Worlds fighters, in-flight options and help screens, а "form" of nav map, messages from fighter's computer;
  • about 55% of movies (from intro to Pasqual system, ejecting, lose game) subtitled;
  • about a half of in-movie choice menu strings translated;
  • tools and utilities:
    • treutils are currently incorporated into dxmci pack;
    • iffparse, decompiler of IFFs to text, - currently supports not all of IFF types but I continue developing it;
    • iffmake, compiler of decompiled and translated IFF, - is fully functional, and its input language is as simple as possiible;
    • fontxtra is an exractor of fonts from globals.iff game file and can be modified to extract other WC4-like fonts
Todo: hack formats of:
  • subtitles of in-flight radio talks;
  • naming of targets on targetting comp screens;
  • naming of star systems on nav map;
  • naming of weapons.
Screenshots of translation (all are clickable):



Files for English gamers for replacing torrent files are in attached archive:
  • xlateng.iff - no translation, modified fonts only;
  • src\xlat\transeng.txt - source for making previous file, instead of src\xlat\trans.txt;
  • dxmci.ini - default English dxmci configuration (English subtitles for movies and xlateng.iff as translation file).
My gratitudes to:
 

Attachments

Last edited by a moderator:
Hey good work, I don't speak a word of Russian but it's great to see modders opening the games out to bigger audiences. I hope this thread gets the attention it deserves. There used to be an excellent Russian Wing Commander fansite, I spent hours as at college copying and pasting whole pages into the old Altavista translator engine. Thanks for sharing this.
 
Great work! :)

And thanks for posting about your work here, it makes it easier for non-Russian speakers such as myself to follow your work.
 
did you have any particular issues with the translation?
Yes, main problem was to find where are game fonts; without Steel Rat's GBS I even didn't know how to begin font searching.
Also, remake of dxmci.dll is a highly labor-consuming part of translation, especially as I was not familiar with DirectShow at all when I began to work.
But then, ripping and subtitling of movies (especially DVD) is my hobby and I have quite experience with it, so this part of work deliver me a lot of fun, also with possibility of better understand a game itself.
 
This is a great project, but your image host is terrifying! Maybe try flickr or picasa or something? We even host screenshots here built into the forums.

Has there been any progress in the past month?
 
Has there been any progress in the past month?
Yes, I've reconstructed formats of nearly all items: guns+missiles, nav map objects, targets, communication subtitles. Of course, few inscriptions in cockpit remain untranslated, and I suspect they are simply "painted" into cockpit picture:
cockpit2-png.6893

I plan to translate game and upload translation of A and B mission series in week or two. Then,I plan to freeze translation of cutscenes and translate game until both translations will be synchronized.
 

Attachments

  • cockpit2.png
    cockpit2.png
    25.5 KB · Views: 768
Last edited by a moderator:
This is a beta/demo of game translation:

xlat-b4-png.6905


  • full translation of "introductory" mission A1 including mission briefing, nav map, targets, weapons and radio communication subtitles;
  • some fonts slightly changed for better readability;
  • when run, game creates subdirectory XLAT-DMP and dumps untranslated IFFs (mainly radio comm subs) to it.
Unfortunately the installation procedure became even more complicated:
  • first of all, the game translation requires reassembling of some .tre files from unpacked IFFs only;
  • names of spacecraft weapons is stored in savegame .wsg files so these files must be modified also.
So, archive of beta contains .bat file and couple of utils for these conversions.
For installation of this beta, gamer must:
  • unpack archive to game directory; if directory already includes my torrent then file dxmci.ini must not be extracted;
  • make backup copies of .wsg files;
  • if game directory contains .tre files then make backup copies of them and free approx 100 MB of disk space, otherwise free about 600 MB;
  • run treremux.bat with parameter - path to source .tre files ended with backslash (if .tre files are situated in game directory then parameter may be as ".\") and wait until .bat file runs; if .tre files are situated in several places (for instance, there are 6 DCs or 2 DVDs) then run .bat file several times. Also, this .bat file will convert .wsg files at first run and then it will generate warnings about .wsg already translated.
If there will be some errors then please notify me and upload last file named like dxmci-wc4dvd-yyyymmdd-hhmmss.log.

Russian-speaking gamers welcome to my topic at old-games.ru: most technical details are discussing there.
 

Attachments

Last edited by a moderator:
This is simply amazing, my biggest congratulations for your time, work and effort.
I'm aware that this thread is old, and it has more movement in the russian counterpart of oldgames, but I want to ask some questions to the OP first here, because I have no idea of russian.
Maybe I should contact with him through private message, but I want to ask out loud just in case somebody can help me out.
I'm a very proud owner of the original 6 CD DOS version of the game, but trying to play on modern computers is a PITA.
DOSBox runs it more or less acceptable, but is impossible to use the joystick throttle, so I must control gas with +- keys.
Windows 95/98 through a Virtual Machine has problems with my joystick.

The GOG version runs flawless, but as you already know, the have killed the cutscenes subtitles, which are present in the DOS version.
I'm trying to figure out where to find it in the DOS version, but tinkering with TRE files returned nothing but menu translations, no clue of movies subtitles.

I want to ask to ginger_tigra and to everyone else outside who has played with files, if you have subtitled the movies by hand or have found any file contaning the texts and the timings.
It doesn't bother me to write down all the texts, or got it from the script, but the timing process is something I can't afford at this moment, because, ironically, I don't have so much time.
Is a massive effort that I hugely appreciate from everybody who does it for movies, TV series or documentaries, a true handcrafted work.
 
if you have subtitled the movies by hand or have found any file contaning the texts and the timings.
There are full texts of movie subtitles at http://wedge009.net/wc/wc4/script.php; unfortunately, these texts are edited in some places in, hmm, "politically correct" manner. But I found authentic three-language subtitles of 6-CD movies in LANGUAGE.TRE; they have also timings - every subtitle has exact number of beginning frame as for 15 FPS movie (see movie-subs.zip attached to this post). I took these subtitles as a base and edited and adjusted them manually.
tinkering with TRE files
Did you try my utilities for .TRE files? In fact, they are pretty old; but I'm making more fresh version (currently in beta stage) with ability of more deep digging of .TRE files (for example, disassembling and unpacking so-called "packs" of IFFs inside .TRE), see treutils-v6-beta.zip attachment.
Maybe I'll be able to finish next beta version of my translation during a month of two.
 

Attachments

Last edited by a moderator:
There are full texts of movie subtitles at http://wedge009.net/wc/wc4/script.php; unfortunately, these texts are edited in some places in, hmm, "politically correct" manner. But I found authentic three-language subtitles of 6-CD movies in LANGUAGE.TRE; they have also timings - every subtitle has exact number of beginning frame as for 15 FPS movie (see movie-subs.zip attached to this post). I took these subtitles as a base and edited and adjusted them manually.
Did you try my utilities for .TRE files? In fact, they are pretty old; but I'm making more fresh version (currently in beta stage) with ability of more deep digging of .TRE files (for example, disassembling and unpacking so-called "packs" of IFFs inside .TRE), see treutils-v6-beta.zip attachment.
Maybe I'll be able to finish next beta version of my translation during a month of two.

I spend two days researching about file formats and different editions of the game released along the years and found the utilities of Mario Brito, aka HCl, and tried to extract some files, and then I found your treutils, but not sure if the are older than the v6 you are attaching.
Then I found this thread and now I'm excited and annoyed for the lack of time to research more deeply.
I really appreciate your reply and all the work you are doing.

I'm trying to extract the .iff files from language.tre and I've found out that my version of the game (6CD DOS version) comes in Spanish, German and French, where the Spanish occupies all the places where there should be English, as the texts are between +ENGL and -ENGL tags.

Running the command trextra language.tre I've managed to extract all the .iff files contanining subtitles and texts, which also generated a language.lst file.

I've succesfully managed to convert the first file containing subtitles, as seen on your movie-subs.zip file, that is 1846-1de8.iff, running iffparse subsparsed.ifs 1846-1de8.iff, which returned me a plain text file with the texts.
But after running iffparse looking for help I've found out the following help prompt:
Usage:
iffparse <outfile.ifs> <infile1.iff> | @<iff-list> [ <infile2.iff> ... ]

Which made me think that if I run the command iffparse outfile.ifs @language.lst should batch extract all the files at once, but instead of that returns me an error:
Parsing filelist language.lst
Parsing rec
E:\develop\wc4\dxmci\files.c(104) : error: bad accessing rec: No such file or directory
E:\develop\wc4\dxmci\iffparse.c(99) : error: some trouble reading include file rec


I'm not sure if I'm running the command correctly and I'm aware that the error with that paths are relative to your current debug setup, because I'm not working under that directories, but I understand that the command iffparse accepts a list as an argument in order to process a list of files.
maybe I'm doing something wrong?
Is there any way to convert all the iff into ifs with one command?


Also, I'm wondering how you relate the subtitles file to the correct video file.
Just guessing? Or there's a relation between it under some file?
I'm aware that the CD version and the DVD naming scheme for videos do not match, but if I know what text corresponds to what video, I can match it visually between CD and DVD version.

Really appreciate your help.
Looking forward to hearing from you.
 
Last edited:
Running the command trextra language.tre {...} also generated a language.lst file.
{...}
the command iffparse outfile.ifs @language.lst {...} returns me an error:
Sorry for misunderstanding: .lst file generated by trextra is simply human-readable listing of headers of the .tre file, mostly for debugging purpose. It contains no filenames at all.
For batch parsing of .iff files iffparse needs simple text file which contains one .iff filename (with absolute or relative path when needed) per line. For your case, it must be something like this:
Code:
language\1848-1de8.iff
language\1849-09a0.iff
language\1850-3148.iff
{... and so on ...}
language\2022-1ae0.iff
But trextra also generate one or two files: <tre-name>\comp\files.bbs and <tre-name>\files.bbs. First of them is usable for reassembling .tre file (by tremake command) as close to original as possible, and second one initially was intended for assembling uncompressed .tre file (i.e. .tre contains uncompressed IFFs only). Format of both files.bbs files are the same:
  • first line is header and describing technical details for future assembling .tre file by tremake;
  • further lines are names of IFFs and other files extracted from .tre file and contain name of extracted file, name of .tre file and technical details for assembling;
  • lines with ";" at beginning are comments and are inserted for human reading only, and will be ignored during assembly.
Is there any way to convert all the iff into ifs with one command?
Sorry, I didn't think about such usage. Thanks for suggestion! I will modify iffparse so it will be able to get files.bbs as IFF list.
Also, I'm wondering how you relate the subtitles file to the correct video file.
Just guessing?
At beginning, this was mostly by guessing or by trial and error method. Currently my mod of dxmci.dll includes catch for untranslated IFFs and writes them to separate subdirectory, so after run of game I can see which IFFs was used by game.
Or there's a relation between it under some file?
Of course, game must have a table of such relations. But I was unable to find where it is. :-(
 
Next beta of treutils: some minor changes, and iffparse is now able to get files.bbs from trextra as IFF list. Run it as
Code:
trextra Q:\language.tre
iffparse language.ifs @language\files.bbs
 

Attachments

Next beta of treutils: some minor changes, and iffparse is now able to get files.bbs from trextra as IFF list. Run it as
Code:
trextra Q:\language.tre
iffparse language.ifs @language\files.bbs
Amazing work!
I'll take a look as soon as possible.
Thank you very much!
 
I'm trying to extract the .iff files from language.tre and I've found out that my version of the game (6CD DOS version) comes in Spanish, German and French, where the Spanish occupies all the places where there should be English, as the texts are between +ENGL and -ENGL tags.

....
I'm aware that the CD version and the DVD naming scheme for videos do not match, but if I know what text corresponds to what video, I can match it visually between CD and DVD version.

Really appreciate your help.
Looking forward to hearing from you.

Here's the language.tre file from the DVD version - https://www.dropbox.com/s/apyvhumpl2opjaw/LANGUAGE.TRE?dl=0 which I'm sure you already have. I'm not sure it's that different. The problem with the dvd is that the video overlay kills the possibility of the game showing subtitles at the same time. I think the Prophecy DVD patch manages to do it... haven't tried it in a while though.

All the info is already present in the DVD version for subtitles it seems, the game just isn't set up to display it correctly. It should be possible for someone to make a work-around to get the game to display them properly.
 
Last edited:
Here's the language.tre file from the DVD version - https://www.dropbox.com/s/apyvhumpl2opjaw/LANGUAGE.TRE?dl=0 which I'm sure you already have. I'm not sure it's that different. The problem with the dvd is that the video overlay kills the possibility of the game showing subtitles at the same time. I think the Prophecy DVD patch manages to do it... haven't tried it in a while though.

All the info is already present in the DVD version for subtitles it seems, the game just isn't set up to display it correctly. It should be possible for someone to make a work-around to get the game to display them properly.
I'm thinking on re-encoding all the videos with burned subtitles, or take your route and patch the video paths on the fly and use the MKV's.

EDIT: In fact, the LANGUAGE:TRE you attached is the same I own, in this case from the GoG DVD version. File hashes are the same.
 
Last edited:
I'm thinking on re-encoding all the videos with burned subtitles
If you give me Spanish .ifs files (or better, file globals.iff and .tre files from Spanish version that differ from English 6-CD version, in order to I will make .ifs files by myself) and agree to wait few weeks, I can make next beta of my translation (with support of GOG version) with Spanish subtitles.
In further plans, I want to add opportunity for users to simply add translations on European and Slavonic languages.
 
Last edited:
If you give me Spanish .ifs files (or better, file globals.iff and .tre files from Spanish version that differ from English 6-CD version, in order to I will make .ifs files by myself) and agree to wait few weeks, I can make next beta of my translation (with support of GOG version) with Spanish subtitles.
In further plans, I want to add opportunity for users to simply add translations on European and Slavonic languages.
That would be amazing!
https://mega.nz/#F!Q4VGGCrR!2juAKgmWpGjNVv-uWBiyrw
There you have the globals.iff and the language.tre with the spanish, german and french translations from the first disc.
I'm on a very slow line now, buy I'm going to upload you the complete first ISO just in case you need other files, though you can always ask me to upload a specific file whenever you want.
EDIT: CD1 ISO uploaded too.
Thank you very much for your help.

PD: I've tried your patch under Windows 7 x64 and configure dxmci.lnk gives an error and the game also crashes when loading a video, so I guess is a 32/64 bit issue.
Don't mind playing through a virtual machine, but just wanted to ask if there's any way to fix it.
 
Last edited:
globals.iff and the language.tre
Thnx! Fonts in globals.iff are, in general, same as in DVD version; but contents of language.tre is much more interesting.
In particular, I have tried to simply put it together with wc4dvd.exe and run it, and I got game nearly fully translated into Spanish (except names of targets, guns and missiles on cockpit displays).
configure dxmci.lnk gives an error
Yes, I already know about this bug. Problem is, that configure dxmci.lnk points to %windir%\system32\rundll32.exe, which in fact is not 32-bit but 64-bit application in 64-bit system, and therefore cannot load and run 32-bit dxmci.dll. So I have made small app that simply do the same in proper way. Unpack this attachment to directory with wc4dvd.exe and dxmci.dll and run it.
and the game also crashes when loading a video {...} just wanted to ask if there's any way to fix it.
There may be several reasons so more thorough investigation needed. At present, I'm not ready to reply because I don't have 64-bit Windows; so at first I must try it on my own PC.
 

Attachments

Back
Top