summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/screen.c')
-rw-r--r--src/emu/screen.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/emu/screen.c b/src/emu/screen.c
index 12bf4280dd8..c3bb09e320a 100644
--- a/src/emu/screen.c
+++ b/src/emu/screen.c
@@ -63,6 +63,8 @@ screen_device::screen_device(const machine_config &mconfig, const char *tag, dev
m_curtexture(0),
m_changed(true),
m_last_partial_scan(0),
+ m_color(rgb_t(0xff, 0xff, 0xff, 0xff)),
+ m_brightness(0xff),
m_frame_period(DEFAULT_FRAME_PERIOD.as_attoseconds()),
m_scantime(1),
m_pixeltime(1),
@@ -356,6 +358,7 @@ void screen_device::device_start()
save_item(NAME(m_visarea.max_y));
save_item(NAME(m_last_partial_scan));
save_item(NAME(m_frame_period));
+ save_item(NAME(m_brightness));
save_item(NAME(m_scantime));
save_item(NAME(m_pixeltime));
save_item(NAME(m_vblank_period));
@@ -366,6 +369,17 @@ void screen_device::device_start()
//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void screen_device::device_reset()
+{
+ // reset brightness to default
+ m_brightness = 0xff;
+}
+
+
+//-------------------------------------------------
// device_stop - clean up before the machine goes
// away
//-------------------------------------------------
@@ -884,9 +898,12 @@ bool screen_device::update_quads()
m_curbitmap = 1 - m_curbitmap;
}
+ // brightness adjusted render color
+ rgb_t color = m_color - rgb_t(0, 0xff - m_brightness, 0xff - m_brightness, 0xff - m_brightness);
+
// create an empty container with a single quad
m_container->empty();
- m_container->add_quad(0.0f, 0.0f, 1.0f, 1.0f, rgb_t(0xff,0xff,0xff,0xff), m_texture[m_curtexture], PRIMFLAG_BLENDMODE(BLENDMODE_NONE) | PRIMFLAG_SCREENTEX(1));
+ m_container->add_quad(0.0f, 0.0f, 1.0f, 1.0f, color, m_texture[m_curtexture], PRIMFLAG_BLENDMODE(BLENDMODE_NONE) | PRIMFLAG_SCREENTEX(1));
}
}