[nostalgia/core] Make setSprite use word size

This commit is contained in:
Gary Talent 2020-07-13 02:21:16 -05:00
parent 7e565a3162
commit 408d4c8fa1
3 changed files with 4 additions and 4 deletions

View File

@ -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<uint16_t>(y & ox::onMask<uint8_t>(7))
| (static_cast<uint16_t>(1) << 10); // enable alpha
oa.attr1 = static_cast<uint16_t>(x);
oa.attr1 = static_cast<uint16_t>(x) & ox::onMask<uint8_t>(8);
oa.attr2 = static_cast<uint16_t>(tileIdx & ox::onMask<uint16_t>(8));
oa.idx = idx;
REG_IE &= ~Int_vblank; // disable vblank interrupt handler

View File

@ -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);
}

View File

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