darkpanda
Dark Prince
- Joined
- Oct 28, 2007
- Messages
- 823
I guess that this hack may get more than a few Civ 1 fanatics as happy as it made me: hereunder is a step-by-step guide to modify your CIV.EXE and change the default colors for any and all Civilizations !
As you may have noticed already, each Civ possesses a pair of color: the light/foreground color and the dark/background color.
The default colors are as below:
When studying the Civ color palettes, especially the color palette from SP257.PIC/.PAL, where the unit icons are stored, we can actually match the default Civ colors with the initial 16 colors in the palette:
You can see that each Civ's colors translate into a pair of color IDs, and quite fortunately, those color IDs are also stored together in an array inside CIV.EXE (offsets below from CIV EN 474.01):
As you can see above, the color IDs are arranged as 16 words (2-byte integers):
I wanted to play with them a little, so I look at what colors are available in SP257.PIC's color palette:
Then I changed the values as follows:
And the magic worked, as you can see below, giving the Romans an orange flavour, the babylonians a kind of mustard-yellow flavour, and the German a warholesque dark teal/red look:
As you may have noticed already, each Civ possesses a pair of color: the light/foreground color and the dark/background color.
The default colors are as below:
When studying the Civ color palettes, especially the color palette from SP257.PIC/.PAL, where the unit icons are stored, we can actually match the default Civ colors with the initial 16 colors in the palette:
You can see that each Civ's colors translate into a pair of color IDs, and quite fortunately, those color IDs are also stored together in an array inside CIV.EXE (offsets below from CIV EN 474.01):
Code:
00026193h: [B]0C[/B] 00 [B]0F [/B]00 [B]0A [/B]00 [B]09 [/B]00 [B]0E [/B]00 [B]0B [/B]00 [B]0D [/B]00 [B]07 [/B]00
000261a3h: [B]04 [/B]00 [B]07 [/B]00 [B]02 [/B]00 [B]01 [/B]00 [B]0A [/B]00 [B]03 [/B]00 [B]04 [/B]00 [B]08 [/B]00
As you can see above, the color IDs are arranged as 16 words (2-byte integers):
- first 8 words for light/foreground colors, next 8 words for dark/background colors
- in each of the 8-word arrays, the order of colors is same as the order of Civs: 0 = Reds (barbarians), 1 = whites, 2 = greens, etc...
I wanted to play with them a little, so I look at what colors are available in SP257.PIC's color palette:
Then I changed the values as follows:
Code:
00026193h: 0C 00 [B][COLOR="Blue"]35 [/COLOR][/B]00 [B][COLOR="Blue"]48 [/COLOR][/B]00 [B][COLOR="Blue"]03 [/COLOR][/B]00 0E 00 0B 00 0D 00 07 00
000261a3h: 04 00 [B][COLOR="Blue"]3D [/COLOR][/B]00 [B][COLOR="Blue"]4D [/COLOR][/B]00 [B][COLOR="Blue"]0C [/COLOR][/B]00 0A 00 03 00 04 00 08 00
And the magic worked, as you can see below, giving the Romans an orange flavour, the babylonians a kind of mustard-yellow flavour, and the German a warholesque dark teal/red look: