Regarding the night day color changes:
Quote:
4) Daytime Street Name Color.
----------------------------------------------
I assume that most people reading this have used, or at least seen Purdoom's find regarding the nighttime street name color. Again with the hex-editor, finding the only block containing "A0 FF A0 00" and you end up at offset "0x8412D".
So, like many people, you want it to be white, so you change it to "FF FF FF 00", but now your daytime street name color is this horrid purple. Well, look just a few characters back, at "0x84126" where you see "60 00 5F FF".
This is a bit more complex. It seems that the nighttime street-name color is always set from 0x8412D. But the daytime street-name color is set by adding the 0x84126 and 0x8412D together.
So.. When you change the nighttime color to "FF FF FF 00", you get:
FF FF FF 00
+ 60 00 50 FF
-------------
= 60 00 5E FF
Keep in mind that RGB values are usually stored as RGBA (alpha). I don't quite understand how iG3 uses that "A" value yet.
So what's the practical application of this?
Say we want a "White" night text, but a "Red" day text.
Find the block that contains "60 00 5F FF 50 81 C1 A0 FF A0 00", and change it to "FF 00 01 FF 50 81 C1 FF FF FF 00".
"FF 00 01 FF" + "FF FF FF 00" = "FF 00 00 FF" or R(255)-G(0)-B(0)-A(FF).
Do not mess with the characters in the middle: "50 81 C1". That's the assembly code that is pushing the variables on the stack and adding the two color values together.
If anyone has any ideas about how the day/night switch is made for these values, please let me know. IE: Why does the color addition only happen for the day street-names, when the assembly code doesn't appear to take that difference into account.
-------------------------------------------
For those that want WHITE during night, and plain BLACK during day, use:
Find the block that contains "60 00 5F FF 50 81 C1 A0 FF A0 00", and change it to "01 01 01 FF 50 81 C1 FF FF FF 00".