From 9a72cddbc9ed502cc4ce9160b1df46cfd8f237e7 Mon Sep 17 00:00:00 2001 From: rxi Date: Sat, 24 Sep 2016 09:35:32 +0100 Subject: [PATCH] Switched palette's internal state vars from static --- src/palette.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/palette.c b/src/palette.c index 3892a5a..8c29051 100644 --- a/src/palette.c +++ b/src/palette.c @@ -7,25 +7,25 @@ #define MAP_SIZE 1024 #define MAP_MASK (MAP_SIZE - 1) -static struct { unsigned color; int idx; } map[MAP_SIZE]; -static int nextIdx; -static int inited; +struct { unsigned color; int idx; } palette_map[MAP_SIZE]; +int palette_nextIdx; +int palette_inited; void palette_init(void) { - if (inited) return; + if (palette_inited) return; palette_reset(); - inited = 1; + palette_inited = 1; } void palette_reset(void) { /* Reset nextIdx -- start at idx 1 as 0 is used for transparency */ - nextIdx = 1; - /* Reset map */ + palette_nextIdx = 1; + /* Reset palette_map */ int i; for (i = 0; i < MAP_SIZE; i++) { - map[i].idx = -1; + palette_map[i].idx = -1; } } @@ -51,18 +51,18 @@ int palette_colorIdx(int r, int g, int b) { /* Find color in hashmap */ int i = h & MAP_MASK; - while (map[i].idx != -1) { - if (map[i].color == color) { - return map[i].idx; + while (palette_map[i].idx != -1) { + if (palette_map[i].color == color) { + return palette_map[i].idx; } i = (i + 1) & MAP_MASK; } /* Color wasn't found in hashmap -- Add to system palette and map */ - if (nextIdx >= MAX_IDX) { + if (palette_nextIdx >= MAX_IDX) { return -1; /* Return -1 for error if we've exceeded the palette capacity */ } - int idx = nextIdx++; + int idx = palette_nextIdx++; /* Update system palette */ outp(0x03c8, idx); @@ -71,7 +71,7 @@ int palette_colorIdx(int r, int g, int b) { outp(0x03c9, (color >> 12) & 0x3f); /* b */ /* Add to hashmap and return idx */ - map[i].color = color; - map[i].idx = idx; + palette_map[i].color = color; + palette_map[i].idx = idx; return idx; }