diff options
author | notaz | 2012-11-01 20:11:39 +0200 |
---|---|---|
committer | notaz | 2012-11-02 03:03:40 +0200 |
commit | bcb62992749a7f66e9a16a8022e090ff334c4424 (patch) | |
tree | 0ef75275032f7b2b9007e8fd74ca294c8e0292a9 /frontend | |
parent | 77e34391a6b3c8ae59768a941037451b7c81169f (diff) | |
download | pcsx_rearmed-bcb62992749a7f66e9a16a8022e090ff334c4424.tar.gz pcsx_rearmed-bcb62992749a7f66e9a16a8022e090ff334c4424.tar.bz2 pcsx_rearmed-bcb62992749a7f66e9a16a8022e090ff334c4424.zip |
frontend: make text bg dark
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/plugin_lib.c | 23 |
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; |