fix: allowed loading non-word-aligned tileset palettes
This commit is contained in:
parent
16c31d61b4
commit
521bea6bc3
@ -881,7 +881,7 @@ static void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u1
|
||||
{
|
||||
// LoadPalette(&black, destOffset, 2);
|
||||
if (skipFaded)
|
||||
CpuFastCopy(tileset->palettes, &gPlttBufferUnfaded[destOffset], size);
|
||||
CpuFastCopy(tileset->palettes, &gPlttBufferUnfaded[destOffset], size); // always word-aligned
|
||||
else
|
||||
LoadPaletteFast(tileset->palettes, destOffset, size);
|
||||
gPlttBufferFaded[destOffset] = gPlttBufferUnfaded[destOffset] = RGB_BLACK; // why does it have to be black?
|
||||
@ -891,10 +891,14 @@ static void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u1
|
||||
}
|
||||
else if (tileset->isSecondary == TRUE)
|
||||
{
|
||||
// (void*) is to silence 'source potentially unaligned' error
|
||||
// All 'gTilesetPalettes_' arrays should have ALIGNED(4) in them
|
||||
// All 'gTilesetPalettes_' arrays should have ALIGNED(4) in them,
|
||||
// but we use SmartCopy here just in case they don't
|
||||
if (skipFaded)
|
||||
CpuFastCopy((void*)tileset->palettes[NUM_PALS_IN_PRIMARY], &gPlttBufferUnfaded[destOffset], size);
|
||||
#ifdef CpuSmartCopy16
|
||||
CpuSmartCopy16(tileset->palettes[NUM_PALS_IN_PRIMARY], &gPlttBufferUnfaded[destOffset], size);
|
||||
#else
|
||||
CpuCopy16(tileset->palettes[NUM_PALS_IN_PRIMARY], &gPlttBufferUnfaded[destOffset], size);
|
||||
#endif
|
||||
else
|
||||
LoadPaletteFast(tileset->palettes[NUM_PALS_IN_PRIMARY], destOffset, size);
|
||||
low = NUM_PALS_IN_PRIMARY;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user