Palette slot 12 (0x0C) is used for their color.
The color of that slot is overridden in PRINCE.EXE, here:
Code: Select all
seg000:027B B8 0C 00 mov ax, colors_12_red_pot_blood_flash_hurt
seg000:027E 50 push ax ; index
seg000:027F B8 38 00 mov ax, 38h ; '8'
seg000:0282 50 push ax ; red
seg000:0283 2B C0 sub ax, ax
seg000:0285 50 push ax ; green
seg000:0286 B8 0C 00 mov ax, 0Ch
seg000:0289 50 push ax ; blue
seg000:028A B8 01 00 mov ax, 1 ; RGB(38h,0,0Ch) = #E00030 = red
seg000:028D 50 push ax ; vsync
seg000:028E 9A DF 92 79 0C call set_pal
Note that this color is also used for other things like the red flash or the blood on chompers, so a) and b) are not good if you want to keep those as red.
a) Change the override, similarly to this hack for changing the color of the palace wall patterns.
Search: B8 38 00 50 2B C0 50 B8 0C 00 50
Change: 38 to the red component, 2B to B0, C0 to the green component, 0C to the blue component.
Note that most programs display RGB in the range 00h..FFh (0..255), but PoP uses 00h..3Fh (0..63), so you need to divide the values by 4.
b) Disable the override:
Search: B8 0C 00 50 B8 38
Change: 0C to FF
Then the game will use whatever color is configured in CusPop for slot 12, called "Losing life or die flashing".
c) Make the game use a different palette slot for red potions:
Search: C7 46 CE 00 00 C7 46 CC 0C 00
Change: 0C to a value between 0x00 and 0x0F. See "Set up colours" in CusPop for the possible colors.
You can either use an existing color as-is, or pick an unused slot and change the assigned color.