Sheepy

[V1.65 - Modding] String.xml text cannot be replaced or appended [WONT FIX]

3 posts in this topic

According to the Modular Mod Documentation, Excel Spreadsheet XML files can use MODMERGEREPLACE and MODMERGEAPPEND to partially update game text.

This is used to good effect in many mods, such as Armoured Assault / Furies, Terror, and Dreadnoughts Oh My:

Armoured Assault researches.q70.jpgxenopedia battleship.q80.jpg

But when it is applied to strings.xml, an Excel Spreadsheet, the replace command does not work.

This bug prevents weapon mods to be compatible with each other because they will overwrite each other's weapon description.  It also prevents mods from supporting multiple languages, as seen in the screenshot below which attempts to update English and French text in one mod.

rocketlauncer.q70.jpg

Attached is a sample mod.

mod_bug_rocket_recoil.zip

Edited by Sheepy
Append WONT FIT to title

Share this post


Link to post
Share on other sites

Cannot be fixed, not with a reasonable amount of effort at least.

strings.xml is a file that's expected (and managed by) the engine, unlike the other XML files that are managed by the game itself. So we don't control how strings.xml gets loaded and cannot apply custom Xenonauts stuff, like the modmerge system, to it.

Theoretically of course, the whole string handling system could be rewritten, but that's too much work at this point. And yes, that's part of the reason why translation mods are expected to be separate mods.

Share this post


Link to post
Share on other sites

Thanks for the answer, @Solver.

I'd like to note that translators can safely combine mods that add strings into one package; only mod that replaces strings need to be stand alone.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now