Fixed palette lookup
All checks were successful
Build Dusk / run-tests (push) Successful in 1m18s
Build Dusk / build-linux (push) Successful in 1m21s
Build Dusk / build-psp (push) Successful in 1m30s
Build Dusk / build-dolphin (push) Successful in 1m51s

This commit is contained in:
2026-02-08 21:26:42 -06:00
parent 13c4df0d85
commit 3db7e6b1b9
13 changed files with 59 additions and 8 deletions

View File

@@ -35,10 +35,23 @@ def processPalettizedImage(asset):
imagePalette = extractPaletteFromImage(image)
# Find palette that contains every color
for palette in palettes:
if all(color in palette['pixels'] for color in imagePalette):
palette = None
for p in palettes:
hasAllColors = True
for color in imagePalette:
for palColor in p['pixels']:
if color[0] == palColor[0] and color[1] == palColor[1] and color[2] == palColor[2] and color[3] == palColor[3]:
break
elif color[3] == 0 and palColor[3] == 0:
break
else:
hasAllColors = False
break
if hasAllColors:
palette = p
break
else:
if palette is None:
palette = palettes[0] # Just to avoid reference error
print(f"No matching palette found for {assetPath}!")
# Find which pixel is missing

View File

@@ -1,3 +1,4 @@
import json
import os
from PIL import Image
import datetime
@@ -78,6 +79,7 @@ def processPalette(asset):
def processPaletteList():
data = f"// Auto-generated palette list\n"
print(f"Generating palette list with {len(palettes)} palettes.")
for palette in palettes:
data += f"#include \"{palette['headerFile']}\"\n"
data += f"\n"