DA has weird behaviour of race names in RaceConfig.xml

Hello,

I have started to port my Dread Lords Dutch language Mod to Dark Avatar. While modifying the DA RaceConfig.xml I have encountered a very strange behaviour.

In Dread Lords I translate just the displayname XML tag, this is sufficient to make the game display the translated text always. For example:

<Race Name="Dominion of Korx">
   <DisplayName>Heerschappij van Korx</DisplayName>

This is compatible with the Metaverse, because the displayname is ignored for calculating the integrety checksum.

However, when doing the same in DA:

<Race Name="Dominion of Korx">
   <RaceID>6<RaceID>
   <DisplayName>Heerschappij van Korx</DisplayName>

... the game doesn't recognize this correctly, for example when starting a game and selecting a race, the next screen (the customization screen) is suddenly empty with no data available. To make it work in DA I need to translate the race name in both the name attribute and in the displayname tag:

<Race Name="Heerschappij van Korx">
   <RaceID>6<RaceID>
   <DisplayName>Heerschappij van Korx</DisplayName>

The side effect of this is that the name attribute is taken into account for calculating the integrity checksum, therefore, the translated text will cause a cheater flag.

Could someone shed a light on this?

3,042 views 1 replies
Reply #1 Top

I have another one. In DA, techs are grouped:

<Computing ID="Basic Miniaturization">
   <Group>Miniaturization</Group>

However, the group is not exempt from cheat flags, translate it and you get a cheat flag.

Somehow it seems that Dread Lords was designed with localization in mind as regarding the texts that can be localized it is almost perfect (but still many "English" assumptions in the "business code". For DA I get the impression this was forgotten a bit.