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) { } }