diff options
author | 2014-03-19 11:03:38 +0000 | |
---|---|---|
committer | 2014-03-19 11:03:38 +0000 | |
commit | f27a84da26c7dc7fb06de8306c7b235acaa647fd (patch) | |
tree | 50b71fc30250dd0431f1b1ad4f0bb155967f1f96 /src/emu | |
parent | 9e73dd723ba03812672d90678218457982c8a9c0 (diff) |
Removed palette_device parameter from gfx draw methods. All draw methods now use m_palette (nw)
Diffstat (limited to 'src/emu')
-rw-r--r-- | src/emu/drawgfx.c | 266 | ||||
-rw-r--r-- | src/emu/drawgfx.h | 80 | ||||
-rw-r--r-- | src/emu/machine/tc009xlvc.c | 2 |
3 files changed, 178 insertions, 170 deletions
diff --git a/src/emu/drawgfx.c b/src/emu/drawgfx.c index 16a0ceb6f35..54fdb95e5a0 100644 --- a/src/emu/drawgfx.c +++ b/src/emu/drawgfx.c @@ -584,7 +584,7 @@ void gfx_element::decode(UINT32 code) no transparency -------------------------------------------------*/ -void gfx_element::opaque(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::opaque(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty) { color = colorbase() + granularity() * (color % colors()); @@ -593,10 +593,10 @@ void gfx_element::opaque(palette_device &palette, bitmap_ind16 &dest, const rect DRAWGFX_CORE(UINT16, PIXEL_OP_REBASE_OPAQUE, NO_PRIORITY); } -void gfx_element::opaque(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::opaque(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty) { - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); code %= elements(); DECLARE_NO_PRIORITY; DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_OPAQUE, NO_PRIORITY); @@ -608,13 +608,13 @@ void gfx_element::opaque(palette_device &palette, bitmap_rgb32 &dest, const rect a single transparent pen -------------------------------------------------*/ -void gfx_element::transpen(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::transpen(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 trans_pen) { // special case invalid pens to opaque if (trans_pen > 0xff) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); // use pen usage to optimize code %= elements(); @@ -627,7 +627,7 @@ void gfx_element::transpen(palette_device &palette, bitmap_ind16 &dest, const re // fully opaque; draw as such if ((usage & (1 << trans_pen)) == 0) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); } // render @@ -636,13 +636,13 @@ void gfx_element::transpen(palette_device &palette, bitmap_ind16 &dest, const re DRAWGFX_CORE(UINT16, PIXEL_OP_REBASE_TRANSPEN, NO_PRIORITY); } -void gfx_element::transpen(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::transpen(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 trans_pen) { // special case invalid pens to opaque if (trans_pen > 0xff) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); // use pen usage to optimize code %= elements(); @@ -655,11 +655,11 @@ void gfx_element::transpen(palette_device &palette, bitmap_rgb32 &dest, const re // fully opaque; draw as such if ((usage & (1 << trans_pen)) == 0) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); } // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DECLARE_NO_PRIORITY; DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_TRANSPEN, NO_PRIORITY); } @@ -706,13 +706,13 @@ void gfx_element::transpen_raw(bitmap_rgb32 &dest, const rectangle &cliprect, a mask -------------------------------------------------*/ -void gfx_element::transmask(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::transmask(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 trans_mask) { // special case 0 mask to opaque if (trans_mask == 0) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); // use pen usage to optimize code %= elements(); @@ -725,7 +725,7 @@ void gfx_element::transmask(palette_device &palette, bitmap_ind16 &dest, const r // fully opaque; draw as such if ((usage & trans_mask) == 0) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); } // render @@ -734,13 +734,13 @@ void gfx_element::transmask(palette_device &palette, bitmap_ind16 &dest, const r DRAWGFX_CORE(UINT16, PIXEL_OP_REBASE_TRANSMASK, NO_PRIORITY); } -void gfx_element::transmask(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::transmask(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 trans_mask) { // special case 0 mask to opaque if (trans_mask == 0) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); // use pen usage to optimize code %= elements(); @@ -753,11 +753,11 @@ void gfx_element::transmask(palette_device &palette, bitmap_rgb32 &dest, const r // fully opaque; draw as such if ((usage & trans_mask) == 0) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); } // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DECLARE_NO_PRIORITY; DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_TRANSMASK, NO_PRIORITY); } @@ -769,27 +769,29 @@ void gfx_element::transmask(palette_device &palette, bitmap_rgb32 &dest, const r transparent, opaque, or shadowing -------------------------------------------------*/ -void gfx_element::transtable(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::transtable(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, - const UINT8 *pentable, const pen_t *shadowtable) + const UINT8 *pentable) { assert(pentable != NULL); // render color = colorbase() + granularity() * (color % colors()); + const pen_t *shadowtable = m_palette->shadow_table(); code %= elements(); DECLARE_NO_PRIORITY; DRAWGFX_CORE(UINT16, PIXEL_OP_REBASE_TRANSTABLE16, NO_PRIORITY); } -void gfx_element::transtable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::transtable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, - const UINT8 *pentable, const pen_t *shadowtable) + const UINT8 *pentable) { assert(pentable != NULL); // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); + const pen_t *shadowtable = m_palette->shadow_table(); code %= elements(); DECLARE_NO_PRIORITY; DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_TRANSTABLE32, NO_PRIORITY); @@ -802,13 +804,13 @@ void gfx_element::transtable(palette_device &palette, bitmap_rgb32 &dest, const remaining pixels with a fixed alpha value -------------------------------------------------*/ -void gfx_element::alpha(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::alpha(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 trans_pen, UINT8 alpha_val) { // special case alpha = 0xff if (alpha_val == 0xff) - return transpen(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, trans_pen); + return transpen(dest, cliprect, code, color, flipx, flipy, destx, desty, trans_pen); // early out if completely transparent code %= elements(); @@ -816,7 +818,7 @@ void gfx_element::alpha(palette_device &palette, bitmap_rgb32 &dest, const recta return; // get final code and color, and grab lookup tables - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DECLARE_NO_PRIORITY; DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_TRANSPEN_ALPHA32, NO_PRIORITY); } @@ -832,13 +834,13 @@ void gfx_element::alpha(palette_device &palette, bitmap_rgb32 &dest, const recta element with no transparency -------------------------------------------------*/ -void gfx_element::zoom_opaque(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::zoom_opaque(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); // render color = colorbase() + granularity() * (color % colors()); @@ -847,16 +849,16 @@ void gfx_element::zoom_opaque(palette_device &palette, bitmap_ind16 &dest, const DRAWGFXZOOM_CORE(UINT16, PIXEL_OP_REBASE_OPAQUE, NO_PRIORITY); } -void gfx_element::zoom_opaque(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::zoom_opaque(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty); + return opaque(dest, cliprect, code, color, flipx, flipy, destx, desty); // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); code %= elements(); DECLARE_NO_PRIORITY; DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_OPAQUE, NO_PRIORITY); @@ -868,17 +870,17 @@ void gfx_element::zoom_opaque(palette_device &palette, bitmap_rgb32 &dest, const element with a single transparent pen -------------------------------------------------*/ -void gfx_element::zoom_transpen(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::zoom_transpen(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 trans_pen) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return transpen(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, trans_pen); + return transpen(dest, cliprect, code, color, flipx, flipy, destx, desty, trans_pen); // special case invalid pens to opaque if (trans_pen > 0xff) - return zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); + return zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); // use pen usage to optimize code %= elements(); @@ -891,7 +893,7 @@ void gfx_element::zoom_transpen(palette_device &palette, bitmap_ind16 &dest, con // fully opaque; draw as such if ((usage & (1 << trans_pen)) == 0) - return zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); + return zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); } // render @@ -900,17 +902,17 @@ void gfx_element::zoom_transpen(palette_device &palette, bitmap_ind16 &dest, con DRAWGFXZOOM_CORE(UINT16, PIXEL_OP_REBASE_TRANSPEN, NO_PRIORITY); } -void gfx_element::zoom_transpen(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::zoom_transpen(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 trans_pen) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return transpen(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, trans_pen); + return transpen(dest, cliprect, code, color, flipx, flipy, destx, desty, trans_pen); // special case invalid pens to opaque if (trans_pen > 0xff) - return zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); + return zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); // use pen usage to optimize code %= elements(); @@ -923,11 +925,11 @@ void gfx_element::zoom_transpen(palette_device &palette, bitmap_rgb32 &dest, con // fully opaque; draw as such if ((usage & (1 << trans_pen)) == 0) - return zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); + return zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); } // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DECLARE_NO_PRIORITY; DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_TRANSPEN, NO_PRIORITY); } @@ -982,17 +984,17 @@ void gfx_element::zoom_transpen_raw(bitmap_rgb32 &dest, const rectangle &cliprec provided as a mask -------------------------------------------------*/ -void gfx_element::zoom_transmask(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::zoom_transmask(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 trans_mask) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return transmask(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, trans_mask); + return transmask(dest, cliprect, code, color, flipx, flipy, destx, desty, trans_mask); // special case 0 mask to opaque if (trans_mask == 0) - return zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); + return zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); // use pen usage to optimize code %= elements(); @@ -1005,7 +1007,7 @@ void gfx_element::zoom_transmask(palette_device &palette, bitmap_ind16 &dest, co // fully opaque; draw as such if ((usage & trans_mask) == 0) - return zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); + return zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); } // render @@ -1014,17 +1016,17 @@ void gfx_element::zoom_transmask(palette_device &palette, bitmap_ind16 &dest, co DRAWGFXZOOM_CORE(UINT16, PIXEL_OP_REBASE_TRANSMASK, NO_PRIORITY); } -void gfx_element::zoom_transmask(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::zoom_transmask(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 trans_mask) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return transmask(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, trans_mask); + return transmask(dest, cliprect, code, color, flipx, flipy, destx, desty, trans_mask); // special case 0 mask to opaque if (trans_mask == 0) - return zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); + return zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); // use pen usage to optimize code %= elements(); @@ -1037,11 +1039,11 @@ void gfx_element::zoom_transmask(palette_device &palette, bitmap_rgb32 &dest, co // fully opaque; draw as such if ((usage & trans_mask) == 0) - return zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); + return zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley); } // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DECLARE_NO_PRIORITY; DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_TRANSMASK, NO_PRIORITY); } @@ -1053,35 +1055,37 @@ void gfx_element::zoom_transmask(palette_device &palette, bitmap_rgb32 &dest, co are transparent, opaque, or shadowing -------------------------------------------------*/ -void gfx_element::zoom_transtable(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::zoom_transtable(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, - UINT32 scalex, UINT32 scaley, const UINT8 *pentable, const pen_t *shadowtable) + UINT32 scalex, UINT32 scaley, const UINT8 *pentable) { assert(pentable != NULL); // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return transtable(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, pentable, shadowtable); + return transtable(dest, cliprect, code, color, flipx, flipy, destx, desty, pentable); // render color = colorbase() + granularity() * (color % colors()); + const pen_t *shadowtable = m_palette->shadow_table(); code %= elements(); DECLARE_NO_PRIORITY; DRAWGFXZOOM_CORE(UINT16, PIXEL_OP_REBASE_TRANSTABLE16, NO_PRIORITY); } -void gfx_element::zoom_transtable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::zoom_transtable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, - UINT32 scalex, UINT32 scaley, const UINT8 *pentable, const pen_t *shadowtable) + UINT32 scalex, UINT32 scaley, const UINT8 *pentable) { assert(pentable != NULL); // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return transtable(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, pentable, shadowtable); + return transtable(dest, cliprect, code, color, flipx, flipy, destx, desty, pentable); // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); + const pen_t *shadowtable = m_palette->shadow_table(); code %= elements(); DECLARE_NO_PRIORITY; DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_TRANSTABLE32, NO_PRIORITY); @@ -1094,17 +1098,17 @@ void gfx_element::zoom_transtable(palette_device &palette, bitmap_rgb32 &dest, c the remaining pixels with a fixed alpha value -------------------------------------------------*/ -void gfx_element::zoom_alpha(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::zoom_alpha(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 trans_pen, UINT8 alpha_val) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return alpha(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, trans_pen, alpha_val); + return alpha(dest, cliprect, code, color, flipx, flipy, destx, desty, trans_pen, alpha_val); // special case alpha_val = 0xff if (alpha_val == 0xff) - return zoom_transpen(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, trans_pen); + return zoom_transpen(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, trans_pen); // early out if completely transparent code %= elements(); @@ -1112,7 +1116,7 @@ void gfx_element::zoom_alpha(palette_device &palette, bitmap_rgb32 &dest, const return; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DECLARE_NO_PRIORITY; DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_TRANSPEN_ALPHA32, NO_PRIORITY); } @@ -1129,7 +1133,7 @@ void gfx_element::zoom_alpha(palette_device &palette, bitmap_rgb32 &dest, const bitmap -------------------------------------------------*/ -void gfx_element::prio_opaque(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::prio_opaque(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask) { @@ -1142,7 +1146,7 @@ void gfx_element::prio_opaque(palette_device &palette, bitmap_ind16 &dest, const DRAWGFX_CORE(UINT16, PIXEL_OP_REBASE_OPAQUE_PRIORITY, UINT8); } -void gfx_element::prio_opaque(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_opaque(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask) { @@ -1150,7 +1154,7 @@ void gfx_element::prio_opaque(palette_device &palette, bitmap_rgb32 &dest, const pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); code %= elements(); DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_OPAQUE_PRIORITY, UINT8); } @@ -1162,13 +1166,13 @@ void gfx_element::prio_opaque(palette_device &palette, bitmap_rgb32 &dest, const priority bitmap -------------------------------------------------*/ -void gfx_element::prio_transpen(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::prio_transpen(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen) { // special case invalid pens to opaque if (trans_pen > 0xff) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); // use pen usage to optimize code %= elements(); @@ -1181,7 +1185,7 @@ void gfx_element::prio_transpen(palette_device &palette, bitmap_ind16 &dest, con // fully opaque; draw as such if ((usage & (1 << trans_pen)) == 0) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); } // high bit of the mask is implicitly on @@ -1192,13 +1196,13 @@ void gfx_element::prio_transpen(palette_device &palette, bitmap_ind16 &dest, con DRAWGFX_CORE(UINT16, PIXEL_OP_REBASE_TRANSPEN_PRIORITY, UINT8); } -void gfx_element::prio_transpen(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_transpen(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen) { // special case invalid pens to opaque if (trans_pen > 0xff) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); // use pen usage to optimize code %= elements(); @@ -1211,14 +1215,14 @@ void gfx_element::prio_transpen(palette_device &palette, bitmap_rgb32 &dest, con // fully opaque; draw as such if ((usage & (1 << trans_pen)) == 0) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); } // high bit of the mask is implicitly on pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_TRANSPEN_PRIORITY, UINT8); } @@ -1268,13 +1272,13 @@ void gfx_element::prio_transpen_raw(bitmap_rgb32 &dest, const rectangle &cliprec a mask, checking against the priority bitmap -------------------------------------------------*/ -void gfx_element::prio_transmask(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::prio_transmask(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_mask) { // special case 0 mask to opaque if (trans_mask == 0) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); // use pen usage to optimize code %= elements(); @@ -1287,7 +1291,7 @@ void gfx_element::prio_transmask(palette_device &palette, bitmap_ind16 &dest, co // fully opaque; draw as such if ((usage & trans_mask) == 0) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); } // high bit of the mask is implicitly on @@ -1298,13 +1302,13 @@ void gfx_element::prio_transmask(palette_device &palette, bitmap_ind16 &dest, co DRAWGFX_CORE(UINT16, PIXEL_OP_REBASE_TRANSMASK_PRIORITY, UINT8); } -void gfx_element::prio_transmask(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_transmask(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_mask) { // special case 0 mask to opaque if (trans_mask == 0) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); // use pen usage to optimize code %= elements(); @@ -1317,14 +1321,14 @@ void gfx_element::prio_transmask(palette_device &palette, bitmap_rgb32 &dest, co // fully opaque; draw as such if ((usage & trans_mask) == 0) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); } // high bit of the mask is implicitly on pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_TRANSMASK_PRIORITY, UINT8); } @@ -1336,9 +1340,9 @@ void gfx_element::prio_transmask(palette_device &palette, bitmap_rgb32 &dest, co against the priority bitmap -------------------------------------------------*/ -void gfx_element::prio_transtable(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::prio_transtable(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, - bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable, const pen_t *shadowtable) + bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable) { assert(pentable != NULL); @@ -1347,13 +1351,14 @@ void gfx_element::prio_transtable(palette_device &palette, bitmap_ind16 &dest, c // render color = colorbase() + granularity() * (color % colors()); + const pen_t *shadowtable = m_palette->shadow_table(); code %= elements(); DRAWGFX_CORE(UINT16, PIXEL_OP_REBASE_TRANSTABLE16_PRIORITY, UINT8); } -void gfx_element::prio_transtable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_transtable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, - bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable, const pen_t *shadowtable) + bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable) { assert(pentable != NULL); @@ -1361,7 +1366,8 @@ void gfx_element::prio_transtable(palette_device &palette, bitmap_rgb32 &dest, c pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); + const pen_t *shadowtable = m_palette->shadow_table(); code %= elements(); DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_TRANSTABLE32_PRIORITY, UINT8); } @@ -1374,13 +1380,13 @@ void gfx_element::prio_transtable(palette_device &palette, bitmap_rgb32 &dest, c checking against the priority bitmap -------------------------------------------------*/ -void gfx_element::prio_alpha(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_alpha(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen, UINT8 alpha_val) { // special case alpha = 0xff if (alpha_val == 0xff) - return prio_transpen(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen); + return prio_transpen(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen); // early out if completely transparent code %= elements(); @@ -1391,7 +1397,7 @@ void gfx_element::prio_alpha(palette_device &palette, bitmap_rgb32 &dest, const pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DRAWGFX_CORE(UINT32, PIXEL_OP_REMAP_TRANSPEN_ALPHA32_PRIORITY, UINT8); } @@ -1407,13 +1413,13 @@ void gfx_element::prio_alpha(palette_device &palette, bitmap_rgb32 &dest, const the priority bitmap -------------------------------------------------*/ -void gfx_element::prio_zoom_opaque(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_opaque(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); // high bit of the mask is implicitly on pmask |= 1 << 31; @@ -1424,19 +1430,19 @@ void gfx_element::prio_zoom_opaque(palette_device &palette, bitmap_ind16 &dest, DRAWGFXZOOM_CORE(UINT16, PIXEL_OP_REBASE_OPAQUE_PRIORITY, UINT8); } -void gfx_element::prio_zoom_opaque(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_opaque(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return prio_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); + return prio_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask); // high bit of the mask is implicitly on pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); code %= elements(); DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_OPAQUE_PRIORITY, UINT8); } @@ -1448,18 +1454,18 @@ void gfx_element::prio_zoom_opaque(palette_device &palette, bitmap_rgb32 &dest, checking against the priority bitmap -------------------------------------------------*/ -void gfx_element::prio_zoom_transpen(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_transpen(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return prio_transpen(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen); + return prio_transpen(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen); // special case invalid pens to opaque if (trans_pen > 0xff) - return prio_zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); + return prio_zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); // use pen usage to optimize code %= elements(); @@ -1472,7 +1478,7 @@ void gfx_element::prio_zoom_transpen(palette_device &palette, bitmap_ind16 &dest // fully opaque; draw as such if ((usage & (1 << trans_pen)) == 0) - return prio_zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); + return prio_zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); } // high bit of the mask is implicitly on @@ -1483,18 +1489,18 @@ void gfx_element::prio_zoom_transpen(palette_device &palette, bitmap_ind16 &dest DRAWGFXZOOM_CORE(UINT16, PIXEL_OP_REBASE_TRANSPEN_PRIORITY, UINT8); } -void gfx_element::prio_zoom_transpen(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_transpen(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return prio_transpen(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen); + return prio_transpen(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen); // special case invalid pens to opaque if (trans_pen > 0xff) - return prio_zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); + return prio_zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); // use pen usage to optimize code %= elements(); @@ -1507,14 +1513,14 @@ void gfx_element::prio_zoom_transpen(palette_device &palette, bitmap_rgb32 &dest // fully opaque; draw as such if ((usage & (1 << trans_pen)) == 0) - return prio_zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); + return prio_zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); } // high bit of the mask is implicitly on pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_TRANSPEN_PRIORITY, UINT8); } @@ -1576,18 +1582,18 @@ void gfx_element::prio_zoom_transpen_raw(bitmap_rgb32 &dest, const rectangle &cl priority bitmap -------------------------------------------------*/ -void gfx_element::prio_zoom_transmask(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_transmask(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_mask) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return prio_transmask(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_mask); + return prio_transmask(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_mask); // special case 0 mask to opaque if (trans_mask == 0) - return prio_zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); + return prio_zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); // use pen usage to optimize code %= elements(); @@ -1600,7 +1606,7 @@ void gfx_element::prio_zoom_transmask(palette_device &palette, bitmap_ind16 &des // fully opaque; draw as such if ((usage & trans_mask) == 0) - return prio_zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); + return prio_zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); } // high bit of the mask is implicitly on @@ -1611,18 +1617,18 @@ void gfx_element::prio_zoom_transmask(palette_device &palette, bitmap_ind16 &des DRAWGFXZOOM_CORE(UINT16, PIXEL_OP_REBASE_TRANSMASK_PRIORITY, UINT8); } -void gfx_element::prio_zoom_transmask(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_transmask(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_mask) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return prio_transmask(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_mask); + return prio_transmask(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_mask); // special case 0 mask to opaque if (trans_mask == 0) - return prio_zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); + return prio_zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); // use pen usage to optimize code %= elements(); @@ -1635,14 +1641,14 @@ void gfx_element::prio_zoom_transmask(palette_device &palette, bitmap_rgb32 &des // fully opaque; draw as such if ((usage & trans_mask) == 0) - return prio_zoom_opaque(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); + return prio_zoom_opaque(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask); } // high bit of the mask is implicitly on pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_TRANSMASK_PRIORITY, UINT8); } @@ -1654,42 +1660,44 @@ void gfx_element::prio_zoom_transmask(palette_device &palette, bitmap_rgb32 &des checking against the priority bitmap -------------------------------------------------*/ -void gfx_element::prio_zoom_transtable(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_transtable(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, - const UINT8 *pentable, const pen_t *shadowtable) + const UINT8 *pentable) { assert(pentable != NULL); // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return prio_transtable(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, pentable, shadowtable); + return prio_transtable(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, pentable); // high bit of the mask is implicitly on pmask |= 1 << 31; // render color = colorbase() + granularity() * (color % colors()); + const pen_t *shadowtable = m_palette->shadow_table(); code %= elements(); DRAWGFXZOOM_CORE(UINT16, PIXEL_OP_REBASE_TRANSTABLE16_PRIORITY, UINT8); } -void gfx_element::prio_zoom_transtable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_transtable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, - const UINT8 *pentable, const pen_t *shadowtable) + const UINT8 *pentable) { assert(pentable != NULL); // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return prio_transtable(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, pentable, shadowtable); + return prio_transtable(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, pentable); // high bit of the mask is implicitly on pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); + const pen_t *shadowtable = m_palette->shadow_table(); code %= elements(); DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_TRANSTABLE32_PRIORITY, UINT8); } @@ -1703,18 +1711,18 @@ void gfx_element::prio_zoom_transtable(palette_device &palette, bitmap_rgb32 &de bitmap -------------------------------------------------*/ -void gfx_element::prio_zoom_alpha(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_alpha(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen, UINT8 alpha_val) { // non-zoom case if (scalex == 0x10000 && scaley == 0x10000) - return prio_alpha(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen, alpha_val); + return prio_alpha(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen, alpha_val); // special case alpha_val = 0xff if (alpha_val == 0xff) - return prio_zoom_transpen(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask, trans_pen); + return prio_zoom_transpen(dest, cliprect, code, color, flipx, flipy, destx, desty, scalex, scaley, priority, pmask, trans_pen); // early out if completely transparent code %= elements(); @@ -1725,7 +1733,7 @@ void gfx_element::prio_zoom_alpha(palette_device &palette, bitmap_rgb32 &dest, c pmask |= 1 << 31; // render - const pen_t *paldata = &palette.pen(colorbase() + granularity() * (color % colors())); + const pen_t *paldata = m_palette->pens() + colorbase() + granularity() * (color % colors()); DRAWGFXZOOM_CORE(UINT32, PIXEL_OP_REMAP_TRANSPEN_ALPHA32_PRIORITY, UINT8); } @@ -1756,7 +1764,7 @@ do } \ while (0) -void gfx_element::prio_transpen_additive(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_transpen_additive(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen) { @@ -1768,7 +1776,7 @@ void gfx_element::prio_transpen_additive(palette_device &palette, bitmap_rgb32 & /* get final code and color, and grab lookup tables */ code %= elements(); color %= colors(); - paldata = &palette.pen(colorbase() + granularity() * color); + paldata = m_palette->pens() + colorbase() + granularity() * color; /* use pen usage to optimize */ if (has_pen_usage()) @@ -1788,7 +1796,7 @@ void gfx_element::prio_transpen_additive(palette_device &palette, bitmap_rgb32 & } -void gfx_element::prio_zoom_transpen_additive(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::prio_zoom_transpen_additive(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen) @@ -1799,7 +1807,7 @@ void gfx_element::prio_zoom_transpen_additive(palette_device &palette, bitmap_rg if (scalex == 0x10000 && scaley == 0x10000) { - prio_transpen_additive(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen); + prio_transpen_additive(dest, cliprect, code, color, flipx, flipy, destx, desty, priority, pmask, trans_pen); return; } @@ -1809,7 +1817,7 @@ void gfx_element::prio_zoom_transpen_additive(palette_device &palette, bitmap_rg /* get final code and color, and grab lookup tables */ code %= elements(); color %= colors(); - paldata = &palette.pen(colorbase() + granularity() * color); + paldata = m_palette->pens() + colorbase() + granularity() * color; /* use pen usage to optimize */ if (has_pen_usage()) @@ -1863,7 +1871,7 @@ while (0) a single transparent pen, storing the alpha value in alpha field of ARGB32, negative alpha implies alphatable -------------------------------------------------*/ -void gfx_element::alphastore(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::alphastore(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, int fixedalpha, UINT8 *alphatable) { @@ -1877,14 +1885,14 @@ void gfx_element::alphastore(palette_device &palette, bitmap_rgb32 &dest, const /* if we have a fixed alpha, call the standard drawgfx_transpen */ if (fixedalpha == 0xff) { - transpen(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, 0); + transpen(dest, cliprect, code, color, flipx, flipy, destx, desty, 0); return; } /* get final code and color, and grab lookup tables */ code %= elements(); color %= colors(); - paldata = &palette.pen(colorbase() + granularity() * color); + paldata = m_palette->pens() + colorbase() + granularity() * color; /* early out if completely transparent */ if (has_pen_usage() && (pen_usage(code) & ~(1 << 0)) == 0) @@ -1906,7 +1914,7 @@ void gfx_element::alphastore(palette_device &palette, bitmap_rgb32 &dest, const a fixed alpha value, or if alpha==-1 then uses the per-pen alphatable[] array -------------------------------------------------*/ -void gfx_element::alphatable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, +void gfx_element::alphatable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, int fixedalpha ,UINT8 *alphatable) { @@ -1917,7 +1925,7 @@ void gfx_element::alphatable(palette_device &palette, bitmap_rgb32 &dest, const /* if we have a fixed alpha, call the standard drawgfx_alpha */ if (fixedalpha >= 0) { - alpha(palette, dest, cliprect, code, color, flipx, flipy, destx, desty, 0, fixedalpha); + alpha(dest, cliprect, code, color, flipx, flipy, destx, desty, 0, fixedalpha); return; } @@ -1927,7 +1935,7 @@ void gfx_element::alphatable(palette_device &palette, bitmap_rgb32 &dest, const /* get final code and color, and grab lookup tables */ code %= elements(); color %= colors(); - paldata = &palette.pen(colorbase() + granularity() * color); + paldata = m_palette->pens() + colorbase() + granularity() * color; /* early out if completely transparent */ if (has_pen_usage() && (pen_usage(code) & ~(1 << 0)) == 0) diff --git a/src/emu/drawgfx.h b/src/emu/drawgfx.h index 0b5ef4b03b2..911805dff00 100644 --- a/src/emu/drawgfx.h +++ b/src/emu/drawgfx.h @@ -187,68 +187,68 @@ public: // ----- core graphics drawing ----- // specific drawgfx implementations for each transparency type - void opaque(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty); - void opaque(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty); - void transpen(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transpen); - void transpen(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transpen); + void opaque(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty); + void opaque(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty); + void transpen(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transpen); + void transpen(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transpen); void transpen_raw(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transpen); void transpen_raw(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transpen); - void transmask(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transmask); - void transmask(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transmask); - void transtable(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, const UINT8 *pentable, const pen_t *shadowtable); - void transtable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, const UINT8 *pentable, const pen_t *shadowtable); - void alpha(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transpen, UINT8 alpha); + void transmask(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transmask); + void transmask(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transmask); + void transtable(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, const UINT8 *pentable); + void transtable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, const UINT8 *pentable); + void alpha(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 transpen, UINT8 alpha); // ----- zoomed graphics drawing ----- // specific zoom implementations for each transparency type - void zoom_opaque(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley); - void zoom_opaque(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley); - void zoom_transpen(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transpen); - void zoom_transpen(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transpen); + void zoom_opaque(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley); + void zoom_opaque(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley); + void zoom_transpen(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transpen); + void zoom_transpen(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transpen); void zoom_transpen_raw(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transpen); void zoom_transpen_raw(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transpen); - void zoom_transmask(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transmask); - void zoom_transmask(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transmask); - void zoom_transtable(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, const UINT8 *pentable, const pen_t *shadowtable); - void zoom_transtable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, const UINT8 *pentable, const pen_t *shadowtable); - void zoom_alpha(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transpen, UINT8 alpha); + void zoom_transmask(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transmask); + void zoom_transmask(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transmask); + void zoom_transtable(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, const UINT8 *pentable); + void zoom_transtable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, const UINT8 *pentable); + void zoom_alpha(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, UINT32 transpen, UINT8 alpha); // ----- priority masked graphics drawing ----- // specific prio implementations for each transparency type - void prio_opaque(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask); - void prio_opaque(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask); - void prio_transpen(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); - void prio_transpen(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); + void prio_opaque(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask); + void prio_opaque(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask); + void prio_transpen(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); + void prio_transpen(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); void prio_transpen_raw(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); void prio_transpen_raw(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); - void prio_transmask(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transmask); - void prio_transmask(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transmask); - void prio_transtable(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable, const pen_t *shadowtable); - void prio_transtable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable, const pen_t *shadowtable); - void prio_alpha(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen, UINT8 alpha); + void prio_transmask(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transmask); + void prio_transmask(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transmask); + void prio_transtable(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable); + void prio_transtable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable); + void prio_alpha(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen, UINT8 alpha); // ----- priority masked zoomed graphics drawing ----- // specific prio_zoom implementations for each transparency type - void prio_zoom_opaque(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask); - void prio_zoom_opaque(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask); - void prio_zoom_transpen(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); - void prio_zoom_transpen(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); + void prio_zoom_opaque(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask); + void prio_zoom_opaque(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask); + void prio_zoom_transpen(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); + void prio_zoom_transpen(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); void prio_zoom_transpen_raw(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); void prio_zoom_transpen_raw(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen); - void prio_zoom_transmask(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transmask); - void prio_zoom_transmask(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transmask); - void prio_zoom_transtable(palette_device &palette, bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable, const pen_t *shadowtable); - void prio_zoom_transtable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable, const pen_t *shadowtable); - void prio_zoom_alpha(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen, UINT8 alpha); + void prio_zoom_transmask(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transmask); + void prio_zoom_transmask(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transmask); + void prio_zoom_transtable(bitmap_ind16 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable); + void prio_zoom_transtable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, const UINT8 *pentable); + void prio_zoom_alpha(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask, UINT32 transpen, UINT8 alpha); // implementations moved here from specific drivers - void prio_transpen_additive(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen); - void prio_zoom_transpen_additive(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect,UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty,UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask,UINT32 trans_pen); - void alphastore(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect,UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty,int fixedalpha, UINT8 *alphatable); - void alphatable(palette_device &palette, bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, int fixedalpha ,UINT8 *alphatable); + void prio_transpen_additive(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, bitmap_ind8 &priority, UINT32 pmask, UINT32 trans_pen); + void prio_zoom_transpen_additive(bitmap_rgb32 &dest, const rectangle &cliprect,UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty,UINT32 scalex, UINT32 scaley, bitmap_ind8 &priority, UINT32 pmask,UINT32 trans_pen); + void alphastore(bitmap_rgb32 &dest, const rectangle &cliprect,UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty,int fixedalpha, UINT8 *alphatable); + void alphatable(bitmap_rgb32 &dest, const rectangle &cliprect, UINT32 code, UINT32 color, int flipx, int flipy, INT32 destx, INT32 desty, int fixedalpha ,UINT8 *alphatable); private: // internal helpers void decode(UINT32 code); diff --git a/src/emu/machine/tc009xlvc.c b/src/emu/machine/tc009xlvc.c index 6a2a6b2132b..fd1aa40d3ad 100644 --- a/src/emu/machine/tc009xlvc.c +++ b/src/emu/machine/tc009xlvc.c @@ -336,7 +336,7 @@ void tc0091lvc_device::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap fy = !fy; } - gfx->prio_transpen(m_palette,bitmap,cliprect,spr_offs,col,fx,fy,x,y,screen.priority(),(col & 0x08) ? 0xaa : 0x00,0); + gfx->prio_transpen(bitmap,cliprect,spr_offs,col,fx,fy,x,y,screen.priority(),(col & 0x08) ? 0xaa : 0x00,0); } } |