diff options
author | 2008-09-27 22:05:30 +0000 | |
---|---|---|
committer | 2008-09-27 22:05:30 +0000 | |
commit | 2a3301d0b994f6999e3f7761b5e2515b1863a903 (patch) | |
tree | 519d8db356f1dd9fbb3478ec934e10ac218471bd /src/emu/video/tms9928a.c | |
parent | 3959354577fdcbaea546c81257c68b63809bc414 (diff) |
Removed render_container_set_palette_alpha() hack. Now the alpha value
can be set directly in the palette entry and will be respected for
laserdisc overlays.
Diffstat (limited to 'src/emu/video/tms9928a.c')
-rw-r--r-- | src/emu/video/tms9928a.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/emu/video/tms9928a.c b/src/emu/video/tms9928a.c index ab418363675..0abacbee8df 100644 --- a/src/emu/video/tms9928a.c +++ b/src/emu/video/tms9928a.c @@ -392,8 +392,13 @@ void TMS9928A_set_spriteslimit (int limit) { */ VIDEO_UPDATE( tms9928a ) { - INT32 BackColour = tms.Regs[7] & 15; if (!BackColour) BackColour=1; - palette_set_color(screen->machine, 0, TMS9928A_palette[BackColour]); + INT32 BackColour = tms.Regs[7] & 15; + rgb_t oldcolor = palette_get_color(screen->machine, 0); + + if (!BackColour) BackColour=1; + /* note we preserve the alpha here; this is so that it can be controlled independently */ + /* see cliffhgr.c for an example */ + palette_set_color(screen->machine, 0, (TMS9928A_palette[BackColour] & MAKE_ARGB(0,255,255,255)) | (oldcolor & MAKE_ARGB(255,0,0,0))); if (! (tms.Regs[1] & 0x40)) fillbitmap(bitmap, screen->machine->pens[BackColour], cliprect); |