News

[BUG] Wrong Colors for Some "Terran" Races Under Certain Conditions

Posted on Sunday, March 1, 2020

I have seen signs of this problem for about 2 years but never followed up to see what was going on.

While playing the game Friday, I saw the Terran Alliance with a red color for its area of influence, starbase and name.

The correct color for Terran Alliance is blue, so why was everything red?

I decided it was time to find out what is going on.  I eventually found that the Terran Alliance and United Earth had the color problems.  Sometimes the actual color they got was that of another race, but I didn't try to find out why a particular color was "selected".  I also found that this only happened when both were in the game, but only one of them would have the problem.  The one with the problem was always later in the list of races added to the game than the one without the problem.

Since United Earth was added in DLC-6 about the time I noticed the problem, I started looking there for a cause.  I found that the faction definition in DLC6_FactionDefs.xml used colors for Terran Alliance in two places:  Map Colors and UI Colors.

There are colors defined for United Earth for these two areas, but they weren't being used in the faction definition.  I made a mod that changed the colors to to the correct ones, and the problem was eliminated.


The problem file, DLC6_FactionDefs.xml, is in two locations.
One is in " ...Galactic Civilizations III\DLC\DLC6_RiseoftheTerrans\Game
The other is in " ...Galactic Civilizations III\DLC\EXP2_Crusade\DLC\DLC6_RiseoftheTerrans\Game

The error is:
    <MapColorDef>TerranMapColors</MapColorDef>
    <UIColorDef>TerranUIColors</UIColorDef>

They should be:
    <MapColorDef>EarthlingMapColors</MapColorDef>
    <UIColorDef>EarthlingUIColors</UIColorDef>


The problem is easy to verify for anyone with DLC6 with these steps:
1.  Start GalCiv3.
2.  Play as the Terran Alliance.
3.  Choose a tiny map.
4.  Add United Earth as the only opponent.
5.  Start the game.
6.  Play until you find United Earth.
7.  Notice their color.  It's supposed to be cyan or close to it.  They got red when I tried this.

Next, end the game, then start a new one as United Earth playing against Terran Alliance.  Since United is listed first, they will get Terran Alliance colors and Terran Alliance will get some other color.  They got red when I tried this.

 

Edit:  I have also found that United Earth uses the Terran Alliance ship appearance instead of their own.

This is wrong:
    <Appearance>GC3_Terran_Appearance</Appearance>

It should be this:
    <Appearance>GC3_Earthling_Appearance</Appearance>