Does anyone knows, how font colors technicaly works?

iSage

First time out of the vault
According to wiki on AAF format, each char pixel defined by value 0-9, which is "brightness" (i've seen only values up to 7 in all fonts, but whatever)
I know for sure, that initial values (palette index) for float_msg is hardcoded. I guess it's for pixels with value=9. But how palette indexes for other pixels are calculated?
I've spent a couple of days with IDA, but still can't find function, which do the work, due to pointers to pointers to functions magic.
 
DEFINE.h:

Code:
// float_msg defines //#define FLOAT_MSG_WARNING    (-2)
#define FLOAT_MSG_SEQUENTIAL (-1)
#define FLOAT_MSG_NORMAL      (0)
#define FLOAT_MSG_BLACK       (1)
#define FLOAT_MSG_RED         (2)
#define FLOAT_MSG_GREEN       (3)
#define FLOAT_MSG_BLUE        (4)
#define FLOAT_MSG_PURPLE      (5)
#define FLOAT_MSG_NEAR_WHITE  (6)
#define FLOAT_MSG_LIGHT_RED   (7)
#define FLOAT_MSG_YELLOW      (8)
#define FLOAT_MSG_WHITE       (9)
#define FLOAT_MSG_GREY       (10)
#define FLOAT_MSG_DARK_GREY  (11)
#define FLOAT_MSG_LIGHT_GREY (12)
#define float_msg_clear(WHO)  float_msg(WHO,0,0)

You might want to look at where op_float_msg indexes these colors.
 
Yeah, i know about that. op_float_msg contains switch/case, which sets initial color (for pixel with value 7)

Long day of debugging led me to something like (inside sub_4422B4): color = [0xc826ec+(pixelValue << 8)] (this is for standard float text, for others address changes, of course )
Still don't know, though, when and how this values set initially.
 
Back
Top