43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
/**
|
|
* 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");
|
|
} |