From 54b3e04d09dab3c2f7cb3067837a1036463cfaff Mon Sep 17 00:00:00 2001 From: hap Date: Wed, 12 Jun 2019 23:55:30 +0200 Subject: screenless: get rid of va_list (nw) --- src/mame/drivers/hh_amis2k.cpp | 2 +- src/mame/drivers/hh_pic16.cpp | 2 +- src/mame/drivers/hh_tms1k.cpp | 4 ++-- src/mame/includes/screenless.h | 7 +++---- src/mame/machine/screenless.cpp | 18 ++++++++---------- 5 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/mame/drivers/hh_amis2k.cpp b/src/mame/drivers/hh_amis2k.cpp index 01bf5c81dfb..06f6881d13c 100644 --- a/src/mame/drivers/hh_amis2k.cpp +++ b/src/mame/drivers/hh_amis2k.cpp @@ -146,7 +146,7 @@ public: hh_amis2k_state(mconfig, type, tag) { // bumpers are dimmed - set_display_levels(2, 0.02, 0.1); + set_display_levels(0.02, 0.1); } void prepare_display(); diff --git a/src/mame/drivers/hh_pic16.cpp b/src/mame/drivers/hh_pic16.cpp index 1a44dbab5f1..98eab3f15df 100644 --- a/src/mame/drivers/hh_pic16.cpp +++ b/src/mame/drivers/hh_pic16.cpp @@ -429,7 +429,7 @@ public: melodym_state(const machine_config &mconfig, device_type type, const char *tag) : hh_pic16_state(mconfig, type, tag) { - set_display_level(0.9); + set_display_levels(0.9); } DECLARE_WRITE8_MEMBER(write_b); diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 4fa1570c765..341b24c5423 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -1213,7 +1213,7 @@ public: hh_tms1k_state(mconfig, type, tag) { // offsense blips are brighter - set_display_levels(2, 0.005, 0.03); + set_display_levels(0.005, 0.03); } void prepare_display(); @@ -1345,7 +1345,7 @@ public: hh_tms1k_state(mconfig, type, tag) { // offsense blips are brighter - set_display_levels(2, 0.005, 0.03); + set_display_levels(0.005, 0.03); } void prepare_display(); diff --git a/src/mame/includes/screenless.h b/src/mame/includes/screenless.h index a0e30928b70..0cde293b9e9 100644 --- a/src/mame/includes/screenless.h +++ b/src/mame/includes/screenless.h @@ -27,8 +27,7 @@ public: // set defaults (60hz frames, 0.5 interpolation, 1 brightness level) set_display_duration(attotime::from_hz(60)); set_display_factor(0.5); - reset_display_levels(); - set_display_level(0.02); + set_display_levels(0.02); } protected: @@ -45,8 +44,8 @@ protected: void set_display_factor(double factor); void reset_display_levels(); - void set_display_level(double level, u8 i = 0); - void set_display_levels(int levels, ...); + void set_display_level(u8 i, double level); + void set_display_levels(double l0, double l1 = 1.0, double l2 = 1.0, double l3 = 1.0); void set_display_size(int maxx, int maxy); void set_display_segmask(u32 digits, u32 mask); diff --git a/src/mame/machine/screenless.cpp b/src/mame/machine/screenless.cpp index 28f3f080b2c..fc54f09201b 100644 --- a/src/mame/machine/screenless.cpp +++ b/src/mame/machine/screenless.cpp @@ -75,22 +75,20 @@ void screenless_state::reset_display_levels() std::fill_n(m_ds_level, ARRAY_LENGTH(m_ds_level), 1.0); } -void screenless_state::set_display_level(double level, u8 i) +void screenless_state::set_display_level(u8 i, double level) { // set a brightness level, range is 0.0 to 1.0 m_ds_level[i] = level; } -void screenless_state::set_display_levels(int levels, ...) +void screenless_state::set_display_levels(double l0, double l1, double l2, double l3) { - // set multiple brightness levels - va_list v; - va_start(v, levels); - for (int i = 0; i < levels; i++) - m_ds_level[i] = va_arg(v, double); - va_end(v); - - m_ds_level[levels] = 1.0; + // init brightness level(s) (if you need to set more than 4, use set_display_level) + reset_display_levels(); + m_ds_level[0] = l0; + m_ds_level[1] = l1; + m_ds_level[2] = l2; + m_ds_level[3] = l3; } void screenless_state::set_display_size(int maxx, int maxy) -- cgit v1.2.3