From 408d4c8fa17ec4d1a2f968dc15ed1b611fde13a4 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Mon, 13 Jul 2020 02:21:16 -0500 Subject: [PATCH] [nostalgia/core] Make setSprite use word size --- src/nostalgia/core/gba/gfx.cpp | 4 ++-- src/nostalgia/core/gfx.hpp | 2 +- src/nostalgia/core/sdl/gfx.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/nostalgia/core/gba/gfx.cpp b/src/nostalgia/core/gba/gfx.cpp index 207b9122..f0a4f41f 100644 --- a/src/nostalgia/core/gba/gfx.cpp +++ b/src/nostalgia/core/gba/gfx.cpp @@ -201,13 +201,13 @@ void setTile(Context*, int layer, int column, int row, uint8_t tile) { MEM_BG_MAP[layer][row * GbaTileColumns + column] = tile; } -void setSprite(uint8_t idx, uint8_t x, uint8_t y, uint8_t tileIdx) { +void setSprite(unsigned idx, unsigned x, unsigned y, unsigned tileIdx) { // block until g_spriteUpdates is less than buffer len while (g_spriteUpdates >= config::GbaSpriteBufferLen); GbaSpriteAttrUpdate oa; oa.attr0 = static_cast(y & ox::onMask(7)) | (static_cast(1) << 10); // enable alpha - oa.attr1 = static_cast(x); + oa.attr1 = static_cast(x) & ox::onMask(8); oa.attr2 = static_cast(tileIdx & ox::onMask(8)); oa.idx = idx; REG_IE &= ~Int_vblank; // disable vblank interrupt handler diff --git a/src/nostalgia/core/gfx.hpp b/src/nostalgia/core/gfx.hpp index dea29170..dc9f4d2d 100644 --- a/src/nostalgia/core/gfx.hpp +++ b/src/nostalgia/core/gfx.hpp @@ -125,6 +125,6 @@ void puts(Context *ctx, int column, int row, const char *str); void setTile(Context *ctx, int layer, int column, int row, uint8_t tile); -void setSprite(uint8_t idx, uint8_t x, uint8_t y, uint8_t tileIdx); +void setSprite(unsigned idx, unsigned x, unsigned y, unsigned tileIdx); } diff --git a/src/nostalgia/core/sdl/gfx.cpp b/src/nostalgia/core/sdl/gfx.cpp index cb38925f..1cd93756 100644 --- a/src/nostalgia/core/sdl/gfx.cpp +++ b/src/nostalgia/core/sdl/gfx.cpp @@ -200,7 +200,7 @@ void setTile(Context *ctx, int layer, int column, int row, uint8_t tile) { id->bgTileMaps[z][y][x] = tile; } -void setSprite(uint8_t, uint8_t, uint8_t, uint8_t) { +void setSprite(unsigned, unsigned, unsigned, unsigned) { } }