mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
platform, fix BGR/RGB menu handling
This commit is contained in:
parent
b4bc262418
commit
af386f93c1
2 changed files with 20 additions and 26 deletions
|
@ -14,6 +14,8 @@
|
|||
#include "input_pico.h"
|
||||
#include "version.h"
|
||||
|
||||
#include "../libpicofe/plat.h"
|
||||
|
||||
#include <pico/pico_int.h>
|
||||
#include <pico/patch.h>
|
||||
|
||||
|
@ -23,16 +25,8 @@
|
|||
#define MENU_X2 0
|
||||
#endif
|
||||
|
||||
#if defined USE_BGR555
|
||||
#define COL_ROM 0x5eff
|
||||
#define COL_OTH 0x5ff5
|
||||
#elif defined USE_BGR565
|
||||
#define COL_ROM 0xfdf7
|
||||
#define COL_OTH 0xaff5
|
||||
#else
|
||||
#define COL_ROM 0xbdff
|
||||
#define COL_OTH 0xaff5
|
||||
#endif
|
||||
#define COL_ROM PXMAKE(0xbf, 0xbf, 0xff)
|
||||
#define COL_OTH PXMAKE(0xaf, 0xff, 0xaf)
|
||||
|
||||
// FIXME
|
||||
#ifndef REVISION
|
||||
|
@ -65,7 +59,7 @@ static unsigned short fname2color(const char *fname)
|
|||
if (strcasecmp(ext, rom_exts[i]) == 0) return COL_ROM;
|
||||
for (i = 0; i < array_size(other_exts); i++)
|
||||
if (strcasecmp(ext, other_exts[i]) == 0) return COL_OTH;
|
||||
return 0xffff;
|
||||
return PXMAKE(0xff, 0xff, 0xff);
|
||||
}
|
||||
|
||||
#include <platform/libpicofe/menu.c>
|
||||
|
@ -113,7 +107,7 @@ static void make_bg(int no_scale, int from_screen)
|
|||
for (y = 0; y < h; y++, src += pp, d += g_menuscreen_w*2/2) {
|
||||
for (x = 0; x < w; x++) {
|
||||
t = src[x];
|
||||
t = ((t & 0xf79e)>>1) - ((t & 0xc618)>>3);
|
||||
t = (PXMASKH(t,1)>>1) - (PXMASKH(t,3)>>3);
|
||||
t |= t << 16;
|
||||
d[x] = d[x + g_menuscreen_w / 2] = t;
|
||||
}
|
||||
|
@ -232,8 +226,8 @@ static void cdload_progress_cb(const char *fname, int percent)
|
|||
copy_bg(0);
|
||||
menuscreen_memset_lines(dst, 0xff, me_sfont_h - 2);
|
||||
|
||||
smalltext_out16(1, 3 * me_sfont_h, "Processing CD image / MP3s", 0xffff);
|
||||
smalltext_out16(1, 4 * me_sfont_h, fname, 0xffff);
|
||||
smalltext_out16(1, 3 * me_sfont_h, "Processing CD image / MP3s", PXMAKE(0xff, 0xff, 0xff));
|
||||
smalltext_out16(1, 4 * me_sfont_h, fname, PXMAKE(0xff, 0xff, 0xff));
|
||||
dst += g_menuscreen_pp * me_sfont_h * 3;
|
||||
|
||||
if (len > g_menuscreen_w)
|
||||
|
@ -254,8 +248,8 @@ void menu_romload_prepare(const char *rom_name)
|
|||
p--;
|
||||
|
||||
menu_draw_begin(1, 1);
|
||||
smalltext_out16(1, 1, "Loading", 0xffff);
|
||||
smalltext_out16(1, me_sfont_h, p, 0xffff);
|
||||
smalltext_out16(1, 1, "Loading", PXMAKE(0xff, 0xff, 0xff));
|
||||
smalltext_out16(1, me_sfont_h, p, PXMAKE(0xff, 0xff, 0xff));
|
||||
/* copy menu to bg for callbacks. OK since we are not in menu_loop here */
|
||||
copy_bg(1);
|
||||
menu_draw_end();
|
||||
|
@ -273,7 +267,7 @@ void menu_romload_end(void)
|
|||
menu_draw_begin(0, 1);
|
||||
copy_bg(0);
|
||||
smalltext_out16(1, (cdload_called ? 6 : 3) * me_sfont_h,
|
||||
"Starting emulation...", 0xffff);
|
||||
"Starting emulation...", PXMAKE(0xff, 0xff, 0xff));
|
||||
menu_draw_end();
|
||||
}
|
||||
|
||||
|
@ -293,12 +287,12 @@ static void draw_patchlist(int sel)
|
|||
if (pos < 0) continue;
|
||||
if (pos >= max_cnt) break;
|
||||
active = PicoPatches[i].active;
|
||||
smalltext_out16(14, pos * me_sfont_h, active ? "ON " : "OFF", active ? 0xfff6 : 0xffff);
|
||||
smalltext_out16(14 + me_sfont_w*4, pos * me_sfont_h, PicoPatches[i].name, active ? 0xfff6 : 0xffff);
|
||||
smalltext_out16(14, pos * me_sfont_h, active ? "ON " : "OFF", PXMAKE(0xff, 0xff, active ? 0xff : 0xb0));
|
||||
smalltext_out16(14 + me_sfont_w*4, pos * me_sfont_h, PicoPatches[i].name, PXMAKE(0xff, 0xff, active ? 0xff : 0xb0));
|
||||
}
|
||||
pos = start + i;
|
||||
if (pos < max_cnt)
|
||||
smalltext_out16(14, pos * me_sfont_h, "done", 0xffff);
|
||||
smalltext_out16(14, pos * me_sfont_h, "done", PXMAKE(0xff, 0xff, 0xff));
|
||||
|
||||
text_out16(5, max_cnt / 2 * me_sfont_h, ">");
|
||||
menu_draw_end();
|
||||
|
@ -1009,7 +1003,7 @@ static void draw_text_debug(const char *str, int skip, int from)
|
|||
str = p;
|
||||
for (line = from; line < g_menuscreen_h / me_sfont_h; line++)
|
||||
{
|
||||
smalltext_out16(1, line * me_sfont_h, str, 0xffff);
|
||||
smalltext_out16(1, line * me_sfont_h, str, PXMAKE(0xff, 0xff, 0xff));
|
||||
while (*p && *p != '\n')
|
||||
p++;
|
||||
if (*p == 0)
|
||||
|
@ -1038,8 +1032,8 @@ static void draw_frame_debug(void)
|
|||
pemu_forced_frame(1, 0);
|
||||
make_bg(1, 1);
|
||||
|
||||
smalltext_out16(4, 1, "build: r" REVISION " "__DATE__ " " __TIME__ " " COMPILER, 0xffff);
|
||||
smalltext_out16(4, g_menuscreen_h - me_sfont_h, layer_str, 0xffff);
|
||||
smalltext_out16(4, 1, "build: r" REVISION " "__DATE__ " " __TIME__ " " COMPILER, PXMAKE(0xff, 0xff, 0xff));
|
||||
smalltext_out16(4, g_menuscreen_h - me_sfont_h, layer_str, PXMAKE(0xff, 0xff, 0xff));
|
||||
}
|
||||
|
||||
static void debug_menu_loop(void)
|
||||
|
@ -1063,7 +1057,7 @@ static void debug_menu_loop(void)
|
|||
draw_text_debug(tmp, 0, 0);
|
||||
if (dumped) {
|
||||
smalltext_out16(g_menuscreen_w - 6 * me_sfont_h,
|
||||
g_menuscreen_h - me_mfont_h, "dumped", 0xffff);
|
||||
g_menuscreen_h - me_mfont_h, "dumped", PXMAKE(0xff, 0xff, 0xff));
|
||||
dumped = 0;
|
||||
}
|
||||
break;
|
||||
|
@ -1137,7 +1131,7 @@ static void debug_menu_loop(void)
|
|||
|
||||
static void draw_frame_credits(void)
|
||||
{
|
||||
smalltext_out16(4, 1, "build: " __DATE__ " " __TIME__, 0xe7fc);
|
||||
smalltext_out16(4, 1, "build: " __DATE__ " " __TIME__, PXMAKE(0xe0, 0xff, 0xe0));
|
||||
}
|
||||
|
||||
static const char credits[] =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue