summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/warpwarp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/warpwarp.cpp')
-rw-r--r--src/mame/video/warpwarp.cpp100
1 files changed, 49 insertions, 51 deletions
diff --git a/src/mame/video/warpwarp.cpp b/src/mame/video/warpwarp.cpp
index 9d9d3c2d4c2..a6bc99ce8ac 100644
--- a/src/mame/video/warpwarp.cpp
+++ b/src/mame/video/warpwarp.cpp
@@ -13,31 +13,31 @@
#include "includes/warpwarp.h"
-static const rgb_t geebee_palette[] =
+static constexpr rgb_t geebee_pens[] =
{
rgb_t(0x00,0x00,0x00), /* black */
rgb_t(0xff,0xff,0xff), /* white */
rgb_t(0x7f,0x7f,0x7f) /* grey */
};
-PALETTE_INIT_MEMBER(warpwarp_state,geebee)
+void warpwarp_state::geebee_palette(palette_device &palette) const
{
- palette.set_pen_color(0, geebee_palette[0]);
- palette.set_pen_color(1, geebee_palette[1]);
- palette.set_pen_color(2, geebee_palette[1]);
- palette.set_pen_color(3, geebee_palette[0]);
- palette.set_pen_color(4, geebee_palette[0]);
- palette.set_pen_color(5, geebee_palette[2]);
- palette.set_pen_color(6, geebee_palette[2]);
- palette.set_pen_color(7, geebee_palette[0]);
+ palette.set_pen_color(0, geebee_pens[0]);
+ palette.set_pen_color(1, geebee_pens[1]);
+ palette.set_pen_color(2, geebee_pens[1]);
+ palette.set_pen_color(3, geebee_pens[0]);
+ palette.set_pen_color(4, geebee_pens[0]);
+ palette.set_pen_color(5, geebee_pens[2]);
+ palette.set_pen_color(6, geebee_pens[2]);
+ palette.set_pen_color(7, geebee_pens[0]);
}
-PALETTE_INIT_MEMBER(warpwarp_state,navarone)
+void warpwarp_state::navarone_palette(palette_device &palette) const
{
- palette.set_pen_color(0, geebee_palette[0]);
- palette.set_pen_color(1, geebee_palette[1]);
- palette.set_pen_color(2, geebee_palette[1]);
- palette.set_pen_color(3, geebee_palette[0]);
+ palette.set_pen_color(0, geebee_pens[0]);
+ palette.set_pen_color(1, geebee_pens[1]);
+ palette.set_pen_color(2, geebee_pens[1]);
+ palette.set_pen_color(3, geebee_pens[0]);
}
MACHINE_RESET_MEMBER(warpwarp_state,kaitei)
@@ -46,7 +46,7 @@ MACHINE_RESET_MEMBER(warpwarp_state,kaitei)
// This is due of the monitor type used, cfr. http://news.livedoor.com/article/detail/5604337/
// We change color palette at reset time, according to the configuration switch.
- if(m_in_config->read() & 1) // color
+ if (m_in_config->read() & 1) // color
{
m_palette->set_pen_color(0, rgb_t(0x00,0x00,0x00));
m_palette->set_pen_color(1, rgb_t(0x00,0xff,0xff));
@@ -60,15 +60,15 @@ MACHINE_RESET_MEMBER(warpwarp_state,kaitei)
}
else // b & w
{
- m_palette->set_pen_color(0, geebee_palette[0]);
- m_palette->set_pen_color(1, geebee_palette[1]);
- m_palette->set_pen_color(2, geebee_palette[1]);
- m_palette->set_pen_color(3, geebee_palette[0]);
- m_palette->set_pen_color(4, geebee_palette[0]);
- m_palette->set_pen_color(5, geebee_palette[1]);
- m_palette->set_pen_color(6, geebee_palette[1]);
- m_palette->set_pen_color(7, geebee_palette[0]);
- m_palette->set_pen_color(8, geebee_palette[1]); // ball pen
+ m_palette->set_pen_color(0, geebee_pens[0]);
+ m_palette->set_pen_color(1, geebee_pens[1]);
+ m_palette->set_pen_color(2, geebee_pens[1]);
+ m_palette->set_pen_color(3, geebee_pens[0]);
+ m_palette->set_pen_color(4, geebee_pens[0]);
+ m_palette->set_pen_color(5, geebee_pens[1]);
+ m_palette->set_pen_color(6, geebee_pens[1]);
+ m_palette->set_pen_color(7, geebee_pens[0]);
+ m_palette->set_pen_color(8, geebee_pens[1]); // ball pen
}
}
@@ -92,14 +92,13 @@ MACHINE_RESET_MEMBER(warpwarp_state,kaitei)
***************************************************************************/
-PALETTE_INIT_MEMBER(warpwarp_state,warpwarp)
+void warpwarp_state::warpwarp_palette(palette_device &palette) const
{
- static const int resistances_tiles_rg[] = { 1600, 820, 390 };
- static const int resistances_tiles_b[] = { 820, 390 };
- static const int resistance_ball[] = { 220 };
+ static constexpr int resistances_tiles_rg[] = { 1600, 820, 390 };
+ static constexpr int resistances_tiles_b[] = { 820, 390 };
+ static constexpr int resistance_ball[] = { 220 };
double weights_tiles_rg[3], weights_tiles_b[2], weight_ball[1];
-
compute_resistor_weights(0, 0xff, -1.0,
3, resistances_tiles_rg, weights_tiles_rg, 150, 0,
2, resistances_tiles_b, weights_tiles_b, 150, 0,
@@ -108,27 +107,26 @@ PALETTE_INIT_MEMBER(warpwarp_state,warpwarp)
for (int i = 0; i < 0x100; i++)
{
int bit0, bit1, bit2;
- int r,g,b;
-
- /* red component */
- bit0 = (i >> 0) & 0x01;
- bit1 = (i >> 1) & 0x01;
- bit2 = (i >> 2) & 0x01;
- r = combine_3_weights(weights_tiles_rg, bit0, bit1, bit2);
-
- /* green component */
- bit0 = (i >> 3) & 0x01;
- bit1 = (i >> 4) & 0x01;
- bit2 = (i >> 5) & 0x01;
- g = combine_3_weights(weights_tiles_rg, bit0, bit1, bit2);
-
- /* blue component */
- bit0 = (i >> 6) & 0x01;
- bit1 = (i >> 7) & 0x01;
- b = combine_2_weights(weights_tiles_b, bit0, bit1);
-
- palette.set_pen_color((i * 2) + 0, rgb_t::black());
- palette.set_pen_color((i * 2) + 1, rgb_t(r, g, b));
+
+ // red component
+ bit0 = BIT(i, 0);
+ bit1 = BIT(i, 1);
+ bit2 = BIT(i, 2);
+ int const r = combine_3_weights(weights_tiles_rg, bit0, bit1, bit2);
+
+ // green component
+ bit0 = BIT(i, 3);
+ bit1 = BIT(i, 4);
+ bit2 = BIT(i, 5);
+ int const g = combine_3_weights(weights_tiles_rg, bit0, bit1, bit2);
+
+ // blue component
+ bit0 = BIT(i, 6);
+ bit1 = BIT(i, 7);
+ int const b = combine_2_weights(weights_tiles_b, bit0, bit1);
+
+ palette.set_pen_color((i << 1) | 0, rgb_t::black());
+ palette.set_pen_color((i << 1) | 1, rgb_t(r, g, b));
}
palette.set_pen_color(0x200, rgb_t(weight_ball[0], weight_ball[0], weight_ball[0]));