use 512-palette table for emphasis
This commit is contained in:
committed by
LibretroAdmin
parent
e226068f97
commit
ac798e1ba4
@@ -32,7 +32,7 @@ void FCEU_printf(char *format, ...);
|
|||||||
#define FCEUI_printf FCEU_printf
|
#define FCEUI_printf FCEU_printf
|
||||||
|
|
||||||
/* Video interface */
|
/* Video interface */
|
||||||
void FCEUD_SetPalette(uint8 index, uint8 r, uint8 g, uint8 b);
|
void FCEUD_SetPalette(uint16 index, uint8 r, uint8 g, uint8 b);
|
||||||
|
|
||||||
/* Displays an error. Can block or not. */
|
/* Displays an error. Can block or not. */
|
||||||
void FCEUD_PrintError(char *s);
|
void FCEUD_PrintError(char *s);
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ static bool opt_showAdvSystemOptions = true;
|
|||||||
#if defined(PSP) || defined(PS2)
|
#if defined(PSP) || defined(PS2)
|
||||||
static __attribute__((aligned(16))) uint16_t retro_palette[256];
|
static __attribute__((aligned(16))) uint16_t retro_palette[256];
|
||||||
#else
|
#else
|
||||||
static uint16_t retro_palette[256];
|
static uint16_t retro_palette[1024];
|
||||||
#endif
|
#endif
|
||||||
#if defined(RENDER_GSKIT_PS2)
|
#if defined(RENDER_GSKIT_PS2)
|
||||||
static uint8_t* fceu_video_out;
|
static uint8_t* fceu_video_out;
|
||||||
@@ -271,9 +271,9 @@ const char * GetKeyboard(void)
|
|||||||
#define BLUE_EXPAND 3
|
#define BLUE_EXPAND 3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void FCEUD_SetPalette(uint8_t index, uint8_t r, uint8_t g, uint8_t b)
|
void FCEUD_SetPalette(uint16 index, uint8_t r, uint8_t g, uint8_t b)
|
||||||
{
|
{
|
||||||
unsigned char index_to_write = index;
|
uint16 index_to_write = index;
|
||||||
#if defined(RENDER_GSKIT_PS2)
|
#if defined(RENDER_GSKIT_PS2)
|
||||||
/* Index correction for PS2 GS */
|
/* Index correction for PS2 GS */
|
||||||
int modi = index & 63;
|
int modi = index & 63;
|
||||||
@@ -1771,6 +1771,15 @@ static void retro_set_custom_palette(void)
|
|||||||
color.b = 0;
|
color.b = 0;
|
||||||
FCEUD_SetPalette( i, color.r, color.g, color.b);
|
FCEUD_SetPalette( i, color.r, color.g, color.b);
|
||||||
}
|
}
|
||||||
|
#if !defined(PSP) || !defined(PS2)
|
||||||
|
for (i = 0; i < 512; i++)
|
||||||
|
{
|
||||||
|
color.r = (((i >> 0) & 0xF) * 255) / 15;
|
||||||
|
color.g = (((i >> 4) & 0x3) * 255) / 3;
|
||||||
|
color.b = (((i >> 6) & 0x7) * 255 / 7);
|
||||||
|
FCEUD_SetPalette( 256 + i, color.r, color.g, color.b);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* setup palette presets */
|
/* setup palette presets */
|
||||||
@@ -2891,8 +2900,13 @@ static void retro_run_blit(uint8_t *gfx)
|
|||||||
{
|
{
|
||||||
uint8_t *deemp = XDBuf + (gfx - XBuf);
|
uint8_t *deemp = XDBuf + (gfx - XBuf);
|
||||||
for (y = 0; y < height; y++, gfx += incr, deemp += incr)
|
for (y = 0; y < height; y++, gfx += incr, deemp += incr)
|
||||||
for (x = 0; x < width; x++, gfx++, deemp++)
|
for (x = 0; x < width; x++, gfx++, deemp++) {
|
||||||
fceu_video_out[y * width + x] = retro_palette[*gfx & 0x3F] | (*deemp << 2);
|
if (*deemp != 0) {
|
||||||
|
fceu_video_out[y * width + x] = retro_palette[256 + (*gfx & 0x3F) + ((*deemp & 0x07) << 6)];
|
||||||
|
} else {
|
||||||
|
fceu_video_out[y * width + x] = retro_palette[*gfx & 0x3F];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user