From 3d4405b3950c7aecbdd624785ea84cd145b69894 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 19 Nov 2022 13:56:34 +0100 Subject: [PATCH] bufsprite: add length() getter --- src/devices/video/bufsprite.cpp | 2 +- src/devices/video/bufsprite.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/devices/video/bufsprite.cpp b/src/devices/video/bufsprite.cpp index 1c7180ec8cd..4de89e99364 100644 --- a/src/devices/video/bufsprite.cpp +++ b/src/devices/video/bufsprite.cpp @@ -41,7 +41,7 @@ void buffered_spriteram_device::device_start() { if (m_spriteram) { - m_buffered.resize(m_spriteram.bytes() / sizeof(Type)); + m_buffered.resize(length()); save_item(NAME(m_buffered)); } } diff --git a/src/devices/video/bufsprite.h b/src/devices/video/bufsprite.h index 6716592d0c5..626ca505b44 100644 --- a/src/devices/video/bufsprite.h +++ b/src/devices/video/bufsprite.h @@ -42,13 +42,14 @@ public: Type *live() const { return m_spriteram; } Type *buffer() { return &m_buffered[0]; } uint32_t bytes() const { return m_spriteram.bytes(); } + uint32_t length() const { return bytes() / sizeof(Type); } // operations Type *copy(uint32_t srcoffset = 0, uint32_t srclength = 0x7fffffff) { assert(m_spriteram != nullptr); if (m_spriteram != nullptr) - memcpy(&m_buffered[0], m_spriteram + srcoffset, (std::min)(srclength, m_spriteram.bytes() / sizeof(Type) - srcoffset) * sizeof(Type)); + memcpy(&m_buffered[0], m_spriteram + srcoffset, (std::min)(srclength, length() - srcoffset) * sizeof(Type)); return &m_buffered[0]; }