Is there a way to edit the colored attributes? I have all popular patches Saturn patch, Nick's patcher etc. so I do know how to apply colored attributes, I want to know if I can edit the colors and apply my own ranges somehow. For example I want 1-5 white, 6-10 yellow, 11-15 orange and 16-20 red.
Last edited by Erocco; 06-06-20 at 08:27 PM.
I have gone nuts looking for this info but I cant seem to find it!![]()
Sadly it's not easy - try loading up a hexeditor, going to byte: 0x5660F8 and changing some of the numbers there.
Or if you can use Ollydbg:
Code:009660E8 /$ 52 PUSH EDX ; cm0102.009660E8(guessed Arg1,Arg2,Arg3) <----- This is the function that selects the color 009660E9 |. 8B5424 10 MOV EDX,DWORD PTR SS:[ARG.3] 009660ED |. 66:8B0C55 F6609600 MOV CX,WORD PTR DS:[EDX*2+9660F6] <----- this selects the two byte (WORD) color code based on the attribute score 009660F5 |. 5A POP EDX 009660F6 \. C3 RETN 009660F7 90 NOP 009660F8 14 DB 14 <------ this and below is the "table" of colors. Change these to get the results you want. 009660F9 C6 DB C6 009660FA 10 DB 10 009660FB C6 DB C6 009660FC 0F DB 0F 009660FD C6 DB C6 009660FE 0E DB 0E 009660FF C6 DB C6 00966100 8C DB 8C 00966101 B5 DB B5 00966102 0B DB 0B 00966103 E7 DB E7 00966104 88 DB 88 00966105 /. F7C4 FFC0FFE0 TEST ESP,E0FFC0FF 0096610B \. FFE0 JMP EAX 0096610D . FFE0 JMP EAX 0096610F FE DB FE 00966110 80 DB 80 00966111 FE DB FE 00966112 E0 DB E0 00966113 FD DB FD 00966114 80 DB 80 00966115 FD DB FD 00966116 80 DB 80 00966117 F4 DB F4 00966118 80 DB 80 00966119 F3 DB F3 0096611A C0 DB C0 0096611B F2 DB F2 0096611C C2 DB C2 0096611D F1 DB F1 0096611E 62 DB 62 ; CHAR 'b' 0096611F F1 DB F1
Erocco I would also like that. I use Tapani. If you find out please let me know
Instead of Yellow-Orange-Red I wanted a different colour scheme (maybe yellow-green-dark green or white-purple-blue)
You guys can do this yourself based on the details I provided above
For more help: Going to byte 0x5660F8 in a hex editor you'll see two bytes "14 C6". This represents the number 0xC614 (the numbers are stored swapped around) which is used when the attribute value = 1. 0xC614 represents a colour in the RGB565 colorspace. You can use sites like: http://www.rinkydinkelectronics.com/calc_rgb565.php to help you go from a RGB colour to a RGB565 colour. So red (R: 255 G: 0 B: 0) = 0xF800 (using that website). So if you now change those two bytes from "14 C6" to "00 F8" the colour will now be red when the attribute value = 1.
Hope that helps!