Released!:
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!
http://www.nexusmods.com/galacticcivilizations3/mods/4/?
Installation:
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.
Introduction:
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.
See below:
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 .
Background:
All ship appearances are stored in a .xml file inside Galactic Civilizations III\data\Core, called GC3AppearanceDefs.xml, they follow this structure:
Code: xml </strong></span></p><span style="font-size: x-small; background-color: #000000; color: #e0e0e0;"><strong><GC3Appearance> <InternalName>GC3_Default_Appearance</InternalName> <DisplayName>Ship_Color_Default</DisplayName> <DisplayIcon>Blank_Appearance_Icon.png</DisplayIcon> <DiffuseGradientRow1>0</DiffuseGradientRow1> <DiffuseGradientRow2>1</DiffuseGradientRow2> <LightGradientRow1>0</LightGradientRow1> <LightGradientRow2>1</LightGradientRow2> <LightGradientRow3>254</LightGradientRow3> <SurfaceScale1>10.0</SurfaceScale1> <SurfaceWeight1>1.0</SurfaceWeight1> <SurfaceScale2>20.0</SurfaceScale2> <SurfaceWeight2>1.0</SurfaceWeight2> <EngineColor> <Red>0</Red> <Green>0</Green> <Blue>255</Blue> <Alpha>255</Alpha> </EngineColor> </GC3Appearance></strong></span> <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.
Rundown:
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.
Good idea! I've made my own custom colours in much the same way, but as they aren't mod-friendly I've left it at that.
Not to mention that the AppearanceDefs file is... somewhat opaque.
If anyone wishes to play around with it, you can make a custom appearance file by putting it in a 'Core' modfolder in the following format:
DiffuseGradient
Row1: main hull colour
Row2: secondary colour
LightGradient
Row 1: Secondary Lights
Row 2: Cockpit lights
Row 3: Engine glow colour
SurfaceScale determines how far along the GradietnGlow file a colour checks (for the hull colours)
SurfaceWeight checks how much a surface material shines through
The EngineColor values are a typical RGB combination for the colour of your engine trails.
The colour pallettes for lights go from dark to light, or sometimes change colour - this means engine glow shifts over time (watch the Drengin one for instance, red to yellow to red)
Interesting, I hadn't seen what the SurfaceScale did, I assumed it was a scaling factor for the material texture, but if it is as you say a value for how far across the gradient it is, I can seriously overhaul the GradientMap, it can be optimized further, since the current has little capacity for a saturation gradient.
Could you explain that more?
When you pick a material for the two hull components, it has a certain texture; the SurfaceWeight determines how visible that texture is.
Taking a guess, would this be opacity of the material over the Model - ship - parts texture file.
It would be nice if there was a reference for custom gradients in the defs so it wouldn't interfere with mod compatibility.
But perhaps there can still be some compatibility, since the majority of the space in the middle of those gradient maps is unused, if you put your new gradients in that space then all the original vanilla ships won't be effected. Any mods made using the vanilla def values would still work the same.
Just an idea.
Edit: Doesn't seem the space in between can be used either. Any more than 35 rows on top or less than 243 on the bottom and it just registers as grey, no matter how you edit it. So you can only add 1 row to the existing map.
So why such a big black to white portion of the map? The row numbers or amount of rows must be hard coded too.
Edit:2 Disregard edit 1.....Ooops, I was thinking the numbering started at 1, but it actually starts at 0.
After some minor experimenting, I have come to the understanding that I previously had, SurfaceScale is the UVScale for the material texture, and not in fact the columnal position along each row on the GradientMap, meaning I need to further redesign my palette.
Just clarifying for anyone else who reads this.
After some minor experimenting, I have come to the understanding that I previously had, SurfaceScale is the UVScale for the material texture, and not in fact the columnal position along each row on the GradientMap, meaning I need to further redesign my palette.Just clarifying for anyone else who reads this.
Ooh interesting... I'm afraid I don't actually know how how a UVScale works >.<
I have to ask because this mod will likely become one of the most popular mods for the game - how do you plan to desplay these new colours in game? Will they simply be extras added to the existing list, or will there be a selection or creation tool for those of us that want to make something horrifyingly garish?
They add themselves to the list.
I would love to have an actual creation system, but that would have to be outside the game, I could easily rig up a website that lets you create custom colour palettes, but displaying them on ships as a preview? I haven't a clue how to do that.For now it is a matter of opening the xml and rooting around, hopefully the devs develop some sort of in game ship appearence creator.
Great Work, adding this to the master list I think we need a new heading for Tweaks and Customizations. Color changing will indeed be one of the most popular things to do as I see it.
Please, modders, if you have any adaptable colour schemes not covered 12/11 can be fit in the bottom. I was thinking of making them pearlescences, like varying hues of insect shell, but they can be anything, I would just like to standardize them, so that everyone knows what goes there, this goes for lights as well, which I covered any of the special engine colours the original factions used, like missiles very rainbowtastic colour scheme.
These are located in Gfx/Icons/Swatches. This folder structure can be used for a mod in your mod folder and it will work with no compatibility issues, so long as what you name your display icon swatch image is unique.
From left to right is primary colour, then secondary, then light gradient row 1, & light gradient row 2.
Note; they are a close approximation of the gradients, not actual gradients, though I guess you could put an approximate gradient for them if you wanted.
Thanks for the effort making the new gradients.
Here is a psd. you could possibly make some variations with different layer blending overlays etc. for the last 11 - 12 rows, if you like. It may or may not give a pearl-essence your after IDK, but could be a start.
Well, there's goes my ideas of making new color combination for ships...lol. I was hoping it would have been as simple as making new PNG color swatches in the color combinations I wanted to use and reference them in the XML's to show up in the drop downs when picking your ships color scheme. Obviously not...haha.I know I said so already above, but Great work on this again. Truly well done. The colors they give us to pick from are pretty limited and bland. I would prefer a system where we could pick our own colors. I was trying to do a good gun-metal grey with red lights, or a lighter one with blue for my Federation. I don't know why when each palette has multiple colors they didn't let us choose which colors to use individually.I really want to use this but I'm in the middle of a Immense was right now so I'll probably wait until I finish this game (might be a bit still). Maybe by then you'll have the next "far more robust" one done.Really awesome stuff. Can't wait to give this a try.
Can they not be put in a mod folder ??? and still work ??
Sadly no, graphical things haven't been designed to be moddable. Perhaps this will change in the future
If they do please tell me!
Upcoming:
I will be releasing a new version in the coming days, it will have an optional add-on filled with preset ship appearance sets, covering a wide range of colour combos, this will be released simultaneous to several 'flavours' of Palette:
Normal: which is as it is now, unadultered colours
Pastel: lighter and whiter.
Gloom: darker and desaturated.
Dark: darker.
Light: lighter.
Desaturated: desaturated.
Does this work with the most recent version (1.5) for anyone else? It just crashes when I attempt to start a new game for me.
There are many great features available to you once you register, including:
Sign in or Create Account