summaryrefslogtreecommitdiff
path: root/lib/nes/ppu.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nes/ppu.cc')
-rw-r--r--lib/nes/ppu.cc11
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/nes/ppu.cc b/lib/nes/ppu.cc
index 7ac2155..815224f 100644
--- a/lib/nes/ppu.cc
+++ b/lib/nes/ppu.cc
@@ -239,14 +239,14 @@ namespace nes
sprite_count_ = 0;
for (auto i = unsigned{ 0 }; i < sprite_max_count; ++i)
{
- auto const s = get_sprite(i);
- auto const row = static_cast<int>(scanline_) - static_cast<int>(s.y);
+ auto const s = sprite{ &oam_[i * 4] };
+ auto const row = static_cast<int>(scanline_) - static_cast<int>(s.get_y());
if (row < 0 || static_cast<unsigned>(row) >= height) { continue; }
if (sprite_count_ < 8)
{
sprites_[sprite_count_].pattern = fetch_sprite_pattern(s, static_cast<unsigned>(row));
- sprites_[sprite_count_].x = s.x;
+ sprites_[sprite_count_].x = s.get_x();
sprites_[sprite_count_].is_in_front = !s.get_behind_background();
sprites_[sprite_count_].is_sprite_zero = i == 0;
sprite_count_ += 1;
@@ -587,11 +587,6 @@ namespace nes
return tile_size;
}
- auto ppu::get_sprite(unsigned const i) const -> sprite
- {
- return sprite{ oam_[i * 4 + 0], oam_[i * 4 + 1], oam_[i * 4 + 2], oam_[i * 4 + 3] };
- }
-
auto ppu::get_tile_bitplane(
pattern_table const pattern_table, tile const tile, unsigned const row, bitplane const bitplane) -> std::uint8_t
{