From cffaa099a9ee40793493f5596e595bb6371a29ce Mon Sep 17 00:00:00 2001 From: hap Date: Thu, 28 Nov 2024 15:56:52 +0100 Subject: cvs_base: simplify star generator a bit (no difference here yet) --- src/mame/cvs/cvs_base.cpp | 31 +++++++++++-------------------- src/mame/cvs/cvs_base.h | 2 +- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/src/mame/cvs/cvs_base.cpp b/src/mame/cvs/cvs_base.cpp index 75b86b92c9b..7690df8cb61 100644 --- a/src/mame/cvs/cvs_base.cpp +++ b/src/mame/cvs/cvs_base.cpp @@ -47,7 +47,7 @@ void cvs_base_state::scroll_start(int state) void cvs_base_state::init_stars() { - int generator = 0; + uint32_t generator = 0; m_total_stars = 0; // precalculate the star background @@ -56,28 +56,20 @@ void cvs_base_state::init_stars() for (int x = 511; x >= 0; x--) { generator <<= 1; - int const bit1 = BIT(~generator, 17); - int const bit2 = BIT(generator, 5); + generator |= BIT(~generator, 17) ^ BIT(generator, 5); - if (bit1 ^ bit2) - generator |= 1; - - if (BIT(~generator, 16) && (generator & 0xfe) == 0xfe) + if ((generator & 0x130fe) == 0xfe) { - if (BIT(~generator, 12) && BIT(~generator, 13)) - { - if (m_total_stars < CVS_MAX_STARS) - { - m_stars[m_total_stars].x = x; - m_stars[m_total_stars].y = y; - m_stars[m_total_stars].code = 1; - - m_total_stars++; - } - } + m_stars[m_total_stars].x = x; + m_stars[m_total_stars].y = y; + m_stars[m_total_stars].code = 1; + + m_total_stars++; } } } + + assert(m_total_stars == 128); } void cvs_base_state::update_stars(bitmap_ind16 &bitmap, const rectangle &cliprect, const pen_t star_pen, bool update_always) @@ -95,8 +87,7 @@ void cvs_base_state::update_stars(bitmap_ind16 &bitmap, const rectangle &cliprec if (flip_screen_y()) y = ~y; - if ((y >= cliprect.top()) && (y <= cliprect.bottom()) && - (update_always || (m_palette->pen_indirect(bitmap.pix(y, x)) == 0))) + if (cliprect.contains(x, y) && (update_always || (m_palette->pen_indirect(bitmap.pix(y, x)) == 0))) bitmap.pix(y, x) = star_pen; } } diff --git a/src/mame/cvs/cvs_base.h b/src/mame/cvs/cvs_base.h index d3a9166621d..6992b1ac20b 100644 --- a/src/mame/cvs/cvs_base.h +++ b/src/mame/cvs/cvs_base.h @@ -38,7 +38,7 @@ protected: , m_ram_view(*this, "video_color_ram_view") { } - static inline constexpr uint8_t CVS_MAX_STARS = 250; + static inline constexpr uint8_t CVS_MAX_STARS = 128; static inline constexpr int8_t CVS_S2636_Y_OFFSET = -5; static inline constexpr int8_t CVS_S2636_X_OFFSET = -26; -- cgit v1.2.3