3424 by VorteX

SVN changelog

3424 by VorteX

The goals to improve locale/speech system were reached:

  • now includes all game text;
  • faster loads (loaded once when game starts);
  • supports missing strings (they got default locale);
  • supports old style 2d maps;
  • supports subtitles even if sound files are missing;
  • supports PlayStation/PC speech differences.

New locale and speech system adds/fixes alot of features:

  • now loaded in menu.dat, when application starts (doesn't load each map start, like previous system did);
  • loads all string at once in console variable space, so any translated string is accessible anytime;
  • new 'testlocale localename' command which inspects given locale for extra/missing strings and prints warnings for them;
  • any locale is loaded after default locale, so missing strings is going to have default locale;
  • new subtitles design (centered, added character names for non-kain speech);
  • added a length parameter to speech test (last <num> block). So it speech misses sound file, it will be shown anyway;
  • default locale was remade to include all original game texts;
  • all strings is stored in locale/<localename>/strings folder (having .nsx extension);
  • refactored texture translation code, now trying to replace each texture in map resources (no more text scripting, just place the files under locale/<localename>/<path_to_texture>);
  • speech now now supported by old style 2D maps (with hash->filename table);
  • now supporting PS version speech differences. Some speech are shorter in PlayStation version;

Minor gameplay fixes:

  • magic light now only adds ambient in outdoor maps
  • speech now fades with distance (175 units max dist, which is equal to kain->barkeep distance in the prologue scene).
  • speech scripts (misc_infomark) was completely re-routed, all maps updated. Includes new syntax for .message and support for .message2, .message3, .message4.
  • minor config names/temp files re-route (removed now unused mapnames and dlcache).

This update requires re-run of installation script.

!Warning! New speech system is incompatible with old one. All locales require refactoring to a new format, which is explained in updated wiki article.

To all translation teams: please, update your locales!

Added
  • kain/data/downloads.cfg
  • kain/locale/default/speech
  • kain/locale/default/speech/gossip
  • kain/locale/default/speech/gossip/uns1.ogg
  • kain/locale/default/speech/gossip/uns2.ogg
  • kain/locale/default/speech/gossip/uns3.ogg
  • kain/locale/default/speech/guardians
  • kain/locale/default/speech/guardians/bane3.ogg
  • kain/locale/default/speech/guardians/dej1.ogg
  • kain/locale/default/speech/guardians/dej2.ogg
  • kain/locale/default/speech/other
  • kain/locale/default/speech/other/fount1.ogg
  • kain/locale/default/speech/other/fount10.ogg
  • kain/locale/default/speech/other/fount11.ogg
  • kain/locale/default/speech/other/fount2.ogg
  • kain/locale/default/speech/other/fount3.ogg
  • kain/locale/default/speech/other/fount4.ogg
  • kain/locale/default/speech/other/fount5.ogg
  • kain/locale/default/speech/other/fount6.ogg
  • kain/locale/default/speech/other/fount7.ogg
  • kain/locale/default/speech/other/fount8.ogg
  • kain/locale/default/speech/other/fount9.ogg
  • kain/locale/default/strings
  • kain/locale/default/strings/characters.nsx
  • kain/locale/default/strings/credits.nsx
  • kain/locale/default/strings/gameover.nsx
  • kain/locale/default/strings/gamestats.nsx
  • kain/locale/default/strings/mapnames.nsx
  • kain/locale/default/strings/menu.nsx
  • kain/locale/default/strings/prestige.nsx
  • kain/locale/default/strings/speech.nsx
  • kain/locale/ru-ru/strings
  • kain/locale/ru-ru/strings/characters.nsx
  • kain/locale/ru-ru/strings/credits.nsx
  • kain/locale/ru-ru/strings/gameover.nsx
  • kain/locale/ru-ru/strings/gamestats.nsx
  • kain/locale/ru-ru/strings/mapnames.nsx
  • kain/locale/ru-ru/strings/menu.nsx
  • kain/locale/ru-ru/strings/prestige.nsx
  • kain/locale/ru-ru/strings/speech.nsx
Modified
  • devkit/quakec/csprogs.dat/inventory.qc
  • devkit/quakec/csprogs.dat/inventory_darkdiary.qc
  • devkit/quakec/csprogs.dat/inventory_worldmap.qc
  • devkit/quakec/csprogs.dat/legacymap.qc
  • devkit/quakec/csprogs.dat/omnieditor/m_rtlightseditor.qc
  • devkit/quakec/csprogs.dat/scene.qc
  • devkit/quakec/csprogs.dat/speech.qc
  • devkit/quakec/csprogs.dat/te_sound.qc
  • devkit/quakec/csprogs.dat/world.qc
  • devkit/quakec/menu.dat/cinematics.qc
  • devkit/quakec/menu.dat/credits.qc
  • devkit/quakec/menu.dat/downloader.qc
  • devkit/quakec/menu.dat/fading.qc
  • devkit/quakec/menu.dat/loadingscreen.qc
  • devkit/quakec/progs.dat/bloodfountain.qc
  • devkit/quakec/progs.dat/defs.qc
  • devkit/quakec/progs.dat/items.qc
  • devkit/quakec/progs.dat/monsters.qc
  • devkit/quakec/progs.dat/player.qc
  • devkit/quakec/progs.dat/playerclient.qc
  • devkit/quakec/progs.dat/speech.qc
  • devkit/quakec/progs.dat/te_sound.qc
  • devkit/quakec/shared/engine/gameprogdefs.qc
  • devkit/quakec/shared/lib/libcmd.qc
  • devkit/quakec/shared/lib/libstringbuffer.qc
  • devkit/quakec/shared/locale.qc
  • devkit/quakec/shared/nethercode.qc
  • devkit/quakec/shared/nethermenu/methods.qc
  • devkit/quakec/shared/nethermenu/script.qc
  • kain/csprogs.dat
  • kain/locale/ru-ru/video/ACT2.dpsubs
  • kain/locale/ru-ru/video/ACT4.dpsubs
  • kain/maps/w0m1-ziegsturhl-act1.bsp
  • kain/maps/w0m1-ziegsturhl-act1.log
  • kain/maps/w0m1-ziegsturhl-act1.map
  • kain/maps/w0m1-ziegsturhl-inn.bsp
  • kain/maps/w0m1-ziegsturhl-inn.map
  • kain/maps/w0m1-ziegsturhl.bsp
  • kain/maps/w0m1-ziegsturhl.map
  • kain/maps/w1m1-cemetery/lm_0000.png
  • kain/maps/w1m1-cemetery/lm_0001.tga
  • kain/maps/w1m1-cemetery-act2.bsp
  • kain/maps/w1m1-cemetery-act2.log
  • kain/maps/w1m1-cemetery-act2.map
  • kain/maps/w1m1-cemetery-act2.res.obj
  • kain/maps/w1m1-cemetery-mausoleum.bsp
  • kain/maps/w1m1-cemetery-mausoleum.map
  • kain/maps/w1m1-cemetery.bsp
  • kain/maps/w1m1-cemetery.log
  • kain/maps/w1m1-cemetery.map
  • kain/maps/w1m1-cemetery.res.obj
  • kain/maps/w1m2-ziegsturhl/lm_0000.png
  • kain/maps/w1m2-ziegsturhl/lm_0001.tga
  • kain/maps/w1m2-ziegsturhl-cave.bsp
  • kain/maps/w1m2-ziegsturhl-cave.map
  • kain/maps/w1m2-ziegsturhl-cave.rtlights
  • kain/maps/w1m2-ziegsturhl-house.bsp
  • kain/maps/w1m2-ziegsturhl-house.map
  • kain/maps/w1m2-ziegsturhl-house2.bsp
  • kain/maps/w1m2-ziegsturhl-house2.map
  • kain/maps/w1m2-ziegsturhl-house3.bsp
  • kain/maps/w1m2-ziegsturhl-house3.map
  • kain/maps/w1m2-ziegsturhl-house4.bsp
  • kain/maps/w1m2-ziegsturhl-house4.map
  • kain/maps/w1m2-ziegsturhl-inn.bsp
  • kain/maps/w1m2-ziegsturhl-inn.map
  • kain/maps/w1m2-ziegsturhl.bsp
  • kain/maps/w1m2-ziegsturhl.log
  • kain/maps/w1m2-ziegsturhl.map
  • kain/maps/w1m2-ziegsturhl.res.obj
  • kain/maps/w1m3-pillars/lm_0000.png
  • kain/maps/w1m3-pillars/lm_0001.tga
  • kain/maps/w1m3-pillars-act4.bsp
  • kain/maps/w1m3-pillars-act4.log
  • kain/maps/w1m3-pillars-act4.map
  • kain/maps/w1m3-pillars-crypt/lm_0000.png
  • kain/maps/w1m3-pillars-crypt/lm_0001.tga
  • kain/maps/w1m3-pillars-crypt.bsp
  • kain/maps/w1m3-pillars-crypt.log
  • kain/maps/w1m3-pillars.bsp
  • kain/maps/w1m3-pillars.log
  • kain/maps/w1m3-pillars.map
  • kain/maps/w1m4-wilderness-forge.bsp
  • kain/maps/w1m4-wilderness-forge.map
  • kain/menu.dat
  • kain/progs.dat
  • kain_make/fetchsvn/fetch_merged_file.bat
  • project.png
  • project.xmind
Deleted
  • devkit/bloodpill/sox.exe
  • kain/data/will-deco-tree.map
  • kain/locale/default/credits.nsx
  • kain/locale/default/gameover.nsx
  • kain/locale/default/gamestats.nsx
  • kain/locale/default/menu.nsx
  • kain/locale/default/prestige.nsx
  • kain/locale/default/speech.nsx
  • kain/locale/ru-ru/credits.nsx
  • kain/locale/ru-ru/gameover.nsx
  • kain/locale/ru-ru/gamestats.nsx
  • kain/locale/ru-ru/menu.nsx
  • kain/locale/ru-ru/prestige.nsx
  • kain/locale/ru-ru/speech.nsx

 

 Model     Texture     Level     Audio     Script file   

  Folder     Document     Binary file     Other