aboutsummaryrefslogtreecommitdiff
path: root/frontend/plugin_lib.c
diff options
context:
space:
mode:
authornotaz2012-11-01 20:11:39 +0200
committernotaz2012-11-02 03:03:40 +0200
commitbcb62992749a7f66e9a16a8022e090ff334c4424 (patch)
tree0ef75275032f7b2b9007e8fd74ca294c8e0292a9 /frontend/plugin_lib.c
parent77e34391a6b3c8ae59768a941037451b7c81169f (diff)
downloadpcsx_rearmed-bcb62992749a7f66e9a16a8022e090ff334c4424.tar.gz
pcsx_rearmed-bcb62992749a7f66e9a16a8022e090ff334c4424.tar.bz2
pcsx_rearmed-bcb62992749a7f66e9a16a8022e090ff334c4424.zip
frontend: make text bg dark
Diffstat (limited to 'frontend/plugin_lib.c')
-rw-r--r--frontend/plugin_lib.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/frontend/plugin_lib.c b/frontend/plugin_lib.c
index bf213dd..3ee5947 100644
--- a/frontend/plugin_lib.c
+++ b/frontend/plugin_lib.c
@@ -606,16 +606,31 @@ void pl_timing_prepare(int is_pal_)
static void pl_text_out16_(int x, int y, const char *text)
{
- int i, l, len = strlen(text), w = pl_vout_w;
- unsigned short *screen = (unsigned short *)pl_vout_buf + x + y * w;
+ int i, l, w = pl_vout_w;
+ unsigned short *screen;
unsigned short val = 0xffff;
- for (i = 0; i < len; i++, screen += 8)
+ x &= ~1;
+ screen = (unsigned short *)pl_vout_buf + x + y * w;
+ for (i = 0; ; i++, screen += 8)
{
+ char c = text[i];
+ if (c == 0)
+ break;
+ if (c == ' ')
+ continue;
+
for (l = 0; l < 8; l++)
{
- unsigned char fd = fontdata8x8[text[i] * 8 + l];
+ unsigned char fd = fontdata8x8[c * 8 + l];
unsigned short *s = screen + l * w;
+ unsigned int *s32 = (void *)s;
+
+ s32[0] = (s32[0] >> 1) & 0x7bef7bef;
+ s32[1] = (s32[1] >> 1) & 0x7bef7bef;
+ s32[2] = (s32[2] >> 1) & 0x7bef7bef;
+ s32[3] = (s32[3] >> 1) & 0x7bef7bef;
+
if (fd&0x80) s[0] = val;
if (fd&0x40) s[1] = val;
if (fd&0x20) s[2] = val;