diff options
author | kdx <kikoodx@paranoici.org> | 2023-04-18 09:25:49 +0200 |
---|---|---|
committer | kdx <kikoodx@paranoici.org> | 2023-04-18 11:14:39 +0200 |
commit | 8f8d2eeee27b1544a5f5a0a9842a04f8d1d60153 (patch) | |
tree | 1244d25e3bf7b23cfe7ab021c3c1c84dd2de7e68 | |
parent | ecdf718d2dc6fd56425078804ec302ce806567a3 (diff) | |
download | px-8f8d2eeee27b1544a5f5a0a9842a04f8d1d60153.tar.gz |
upstream tweaks
-rw-r--r-- | src/px.c | 55 |
1 files changed, 24 insertions, 31 deletions
@@ -5,22 +5,22 @@ PxCol pxbuf[PX_WIDTH * PX_HEIGHT] = {0}; PxPal pxpal[256] = { /* PICO-8 palette */ - {0x00, 0x00, 0x00, false, -1, -1}, - {0x1d, 0x2b, 0x53, false, -1, -1}, - {0x7e, 0x25, 0x53, false, -1, -1}, - {0x00, 0x87, 0x51, false, -1, -1}, - {0xab, 0x52, 0x36, false, -1, -1}, - {0x5f, 0x57, 0x4f, false, -1, -1}, - {0xc2, 0xc3, 0xc7, false, -1, -1}, - {0xff, 0xf1, 0xe8, false, -1, -1}, - {0xff, 0x00, 0x4d, false, -1, -1}, - {0xff, 0xa3, 0x00, false, -1, -1}, - {0xff, 0xec, 0x27, false, -1, -1}, - {0x00, 0xe4, 0x36, false, -1, -1}, - {0x29, 0xad, 0xff, false, -1, -1}, - {0x83, 0x76, 0x9c, false, -1, -1}, - {0xff, 0x77, 0xa8, false, -1, -1}, - {0xff, 0xcc, 0xaa, false, -1, -1}, + {0x00, 0x00, 0x00, false, 0, 0}, + {0x1d, 0x2b, 0x53, false, 0, 0}, + {0x7e, 0x25, 0x53, false, 0, 0}, + {0x00, 0x87, 0x51, false, 0, 0}, + {0xab, 0x52, 0x36, false, 0, 0}, + {0x5f, 0x57, 0x4f, false, 0, 0}, + {0xc2, 0xc3, 0xc7, false, 0, 0}, + {0xff, 0xf1, 0xe8, false, 0, 0}, + {0xff, 0x00, 0x4d, false, 0, 0}, + {0xff, 0xa3, 0x00, false, 0, 0}, + {0xff, 0xec, 0x27, false, 0, 0}, + {0x00, 0xe4, 0x36, false, 0, 0}, + {0x29, 0xad, 0xff, false, 0, 0}, + {0x83, 0x76, 0x9c, false, 0, 0}, + {0xff, 0x77, 0xa8, false, 0, 0}, + {0xff, 0xcc, 0xaa, false, 0, 0}, }; static struct { int x; @@ -35,8 +35,8 @@ pxFlip(void) for (int y = 0; y < PX_HEIGHT; y++) { for (int x = 0; x < PX_WIDTH; x++) { PxCol col = pxbuf[x + y * PX_WIDTH]; - if (pxpal[col].spal > -1) - col = pxpal[col].spal; + if (pxpal[col].spal) + col = pxpal[col].spal - 1; TZR_DrawSetColor8(pxpal[col].r, pxpal[col].g, pxpal[col].b, 255); TZR_DrawPoint(x, y); @@ -73,8 +73,8 @@ pxPset(int x, int y, PxCol c) if (x < pxclip.x || x >= pxclip.x + pxclip.w || y < pxclip.y || y >= pxclip.y + pxclip.h) return; - if (pxpal[c].pal > -1) - c = pxpal[c].pal; + if (pxpal[c].pal) + c = pxpal[c].pal - 1; pxbuf[x + y * PX_WIDTH] = c; } @@ -155,9 +155,9 @@ _pxPal(const PxPalArgs *args) assert((args->c0 == -1) ^ (args->c1 != -1)); if (args->c0 == -1) for (int i = 0; i < 256; i++) - pxpal[i].pal = -1; + pxpal[i].pal = 0; else - pxpal[args->c0].pal = args->c1; + pxpal[args->c0].pal = args->c1 + 1; } void @@ -166,16 +166,9 @@ _pxSpal(const PxSpalArgs *args) assert((args->c0 == -1) ^ (args->c1 != -1)); if (args->c0 == -1) for (int i = 0; i < 256; i++) - pxpal[i].spal = -1; + pxpal[i].spal = 0; else - pxpal[args->c0].spal = args->c1; -} - -void -pxSpalReset(void) -{ - for (int i = 0; i < 256; i++) - pxpal[i].spal = -1; + pxpal[args->c0].spal = args->c1 + 1; } void |