The english or translated strings in the PO file might have representations of special characters (e.g. '\n') or protected characters (e.g. '\"') visible as
in the source code. However at run time ScummVM expects them to be
the special characters and not their visible representations. Now the
create_translations tool does the substitution if it finds such characters.
svn-id: r52739
The TranslationManager in ScummVM will pick up the translation associated
to no context if present and if a translation could not be found for a specific
context. Based on this, the create_translations tool will now remove the
translation associated to a specific context if the same message has the
same translation associated to no context. This generate a smaller
translation.dat file, and this should also slightly improve performances (less
strings to load from the file and smaller list in which to look for a translated
message).
svn-id: r52459
This change means there can now be different translations for the same
english string depending on the context. It is based on gettext msgctxt feature.
There is a new macro _c(msg, ctxt) that should be used instead of _(msg) in
the source code when we want to add a context to the message. For the
moment I have added contexts to only one message ("None") so that I could
test the changes. Context could be added also to get shorter translations when
GUI is in 1x mode.
I have also added back the fuzzy option to msmerge since it is useful when
adding contexts to populate the translations for the new contexts.
svn-id: r52308
Until now the parsing was done by the po2c perl script, which
generated a messages.h file. The create_translations executable
had then to be recompiled before being executed. This commit
removes the po2c perl script. The parsing is now directly done by
the create_translations tool.
The parsing has also been extended to support the msgctxt strings.
This is not dumped yet in translations.dat but will be once I have
finished implementing context support for the translations.
svn-id: r52284
- FM-Towns euphony driver completely rewritten based on KYRA FM-Towns and LOOM towns disasm.
- Split all the emu and driver code from sound_towns.cpp into different files to make things a bit less confusing.
- Move the driver code to common space since the exact same euphony driver is used by LOOM which means we could get rid of the outdated and incomplete ym2612 driver/emu implementation (which doesn't even do things like instrument loading, pan position, etc). I haven't tried to add this to the Scumm engine yet, since I am not familiar with it and my priority was to get the driver finished first. But from the look of disasm it shouldn't be difficult to do.
- Introduce a generic FM-Towns audio interface based on FM-Towns system file disasm which was necessary for the euphony driver rewrite. Every FM-Towns game I have seen so far seems to access the audio hardware via these system functions. This interface implementation will also allow reasonably simple creation of new FM-Towns audio drivers (e.g. this could be used for Kings Quest 5 FM-Towns or others).
- Move the PC98 driver to common space, too, since I have a strong feeling that this driver is also used in the PC98 version of Future Wars
- This also improves KYRA FM-Towns music quality, sound effects accuracy and music fading.
svn-id: r51645
The GUI now uses the content of the Language field from the po file
header if it is present and not empty for the language selection
PopupWidget. If not present it uses the file name as before (e.g.
ru_RU).
Also update all the translation template and all the translation files.
svn-id: r51542
Currently %(SCUMMVM_LIBS)/bin is not added to the executable path, since I can not find any easy way to do that. The libs and include setting should be fine though.
svn-id: r51214
Formerly the MSVC 2010 project files did not respect the global include/library/executable directories of the user, but used custom paths for that. This resulted in headers and libraries not be found by the MSVC, in case they were not stored in %(SCUMMVM_LIBS).
Additionally it overwrote the executable MSVC used when compiling for x64, thus breaking the x64 target.
svn-id: r51213