Without further to do, I release my mod into the world!
I kept the ship colours from before as close to the originals as I could, I may have made a few 'artistic' deviations, but that is all easily rectified!
- Download: https://www.dropbox.com/s/k98lr51z4vgqodl/GC3PaletteOverhaul.zip?dl=0
- Take the contents from the GFX file (GradientMap.png & GradientMapLights.png) and replace the original files found in: C:\Program Files (x86)\Steam\SteamApps\common\Galactic Civilizations III\Gfx, or wherever you installed it to (you can make a back up if you like, I will also post a back up link, and if you installed through steam, a verify game cache will restore them (or at least it should)).
- Take the file "Aidan's Palette Overhaul" and place it in GC3's mod folder found at: C:\Users\USERNAME\Documents\my games\GalCiv3\Mods
If you do any of this wrong you will be able to tell:
1. Most of the ships turn grey: You didn't replace the GFX files
2. Most of the ships turn strange colours: You didn't put Aidan's Palette Overhaul" in the GC3 mod folder in your documents.
Have you ever tried to make a custom faction and been utterly disappointed at the choice of ship colours? I have.
After doing a little rooting around and searching on this forum, I traced down where the ships palettes are stored in xml and the file they reference, but to my dismay, while the .xml file is easy to append in a mod, the gradient is impossible; it isn't inside a mod compatible directory.
So with some thought, I figured I would overhaul the whole thing; the GFX GradientMap.png and GradientMapLight.png, and the GC3AppearanceDefs.xml.
This mod will be incompatable with any mod that tries to add custom appearances based on the original GradientMap files, but the new one I am making is far more robust.
What this mod does:
Overhauls ship palette colours, retaining to the best it can the original faction colours and enabling a much more logical selection of new colours.
Ship Material Colours:
Ship Light Colours:
Modding Ship Appearance:
It would probably be nice to have one post that explains to the best of its ability how ship appearances are made, so I will attempt to do that, I would reply in this post, but I am a new account and apparently have reached my comment limit .
All ship appearances are stored in a .xml file inside Galactic Civilizations III\data\Core, called GC3AppearanceDefs.xml, they follow this structure:
- </strong></span></p><span style="font-size: x-small; background-color: #000000; color: #e0e0e0;"><strong><GC3Appearance>
- <p><span style="font-size: small; background-color: #000000; color: #e0e0e0;"><strong>
All ship colours, save engine colour, refer to a file called GradientMap.png and GradientMapLights.png in Galactic Civilizations III\Gfx.
As I understand it.
InternalName: The unique name the game refers to the appearance by, UNIQUE, meaning do not have more than one thing anywhere with the same name.
DisplayName: The name of the palette in game, this can refer to the language text file, or can be a string (just type the name of the ship palette you want it to have, no worries).
DisplayIcon: This is the icon it displays beside the name, but as of yet, I haven't really bothered tracking where these .png images are stored, or adding my own, more info on this later.
DiffuseGradientRow1: Refers to the GradientMap.png file, it is the row on the GradientMap that the ship will use as a colour.
DiffuseGradientRow2: Refer to above.
LightGradientRow1: Same as DiffuseGradientRow but instead of refering to GradientMap.png it refers to GradientMapLights.png.
LightGradientRow2 & 3: Refer to above.
LightGradientRow1 -> The Main Lights
LightGradientRow2 -> The Cockpit and Secondary Lights
LightGradientRow3 -> The Engine
SurfaceScale1: The smaller the number the larger the material texture is on these areas of the ship, say surface material 3, which is the hexagonal pattern, the larger this number gets the smaller those hexagons on the ship become.
SurfaceWeight1: This controls how much the surface material shows through the colour.
SurfaceScale2 & SurfaceWeight2: Refer to above.
EngineColor: In my estimation, this is the only truly logical colour system in this xml file, here it is simple, define an R, G, B, and A component of a colour, the closer to 255 the more intense the R, G, B or the more opaque the colour is on A.
And that covers just about everything. I will update this if anything proves to be wrong, but I feel this is a pretty good summation, one I would have liked to have found when I first started playing with new ship palettes.