/** * Copyright (c) 2026 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #include "palette.h" #include "assert/assert.h" #include "util/memory.h" palette_t PALETTES[PALETTE_COUNT_MAX] = { 0 }; void paletteInit( palette_t *palette, const uint8_t colorCount, const color_t *colors ) { assertNotNull(palette, "Palette cannot be NULL"); assertTrue(colorCount > 0, "Color count must be greater than 0"); assertNotNull(colors, "Colors array cannot be NULL"); assertTrue(colorCount <= PALETTE_COLOR_COUNT_MAX, "Color count too big"); assertTrue( palette - PALETTES < PALETTE_COUNT_MAX, "Palette index out of range" ); memoryZero(palette, sizeof(palette_t)); palette->colorCount = colorCount; memoryCopy(palette->colors, colors, colorCount * sizeof(color_t)); } void paletteBind(palette_t *palette, const uint8_t slot) { assertNotNull(palette, "Palette cannot be NULL"); assertTrue(slot < PALETTE_COUNT_MAX, "Palette slot out of range"); // Nothing yet. } void paletteDispose(palette_t *palette) { assertNotNull(palette, "Palette cannot be NULL"); }