Enable palette map for sprite transparency

This commit is contained in:
G To 2018-09-24 01:56:40 +07:00
parent 405d255e19
commit 21c7dd458c
1 changed files with 12 additions and 2 deletions

View File

@ -293,8 +293,18 @@ static void drawRectBorder(tic_machine* machine, s32 x, s32 y, s32 width, s32 he
static void drawTile(tic_machine* machine, const tic_tile* buffer, s32 x, s32 y, u8* colors, s32 count, s32 scale, tic_flip flip, tic_rotate rotate) static void drawTile(tic_machine* machine, const tic_tile* buffer, s32 x, s32 y, u8* colors, s32 count, s32 scale, tic_flip flip, tic_rotate rotate)
{ {
static u8 mapping[TIC_PALETTE_SIZE]; static u8 mapping[TIC_PALETTE_SIZE];
for (s32 i = 0; i < TIC_PALETTE_SIZE; i++) mapping[i] = tic_tool_peek4(machine->memory.ram.vram.mapping, i); for (s32 i = 0; i < TIC_PALETTE_SIZE; i++)
for (s32 i = 0; i < count; i++) mapping[colors[i]] = 255; {
u8 mapped = tic_tool_peek4(machine->memory.ram.vram.mapping, i);
for (s32 j = 0; j < count; j++)
{
if (mapped == colors[j]) {
mapped = 255;
break;
}
}
mapping[i] = mapped;
}
rotate &= 0b11; rotate &= 0b11;
u32 orientation = flip & 0b11; u32 orientation = flip & 0b11;