From 74e3b1ae1a24bfe00616dd4b8645c143cfd913b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Sj=C3=B6blom?= Date: Tue, 13 Jan 2026 21:23:06 +0100 Subject: [PATCH] patterns: Add 256-colour palette to PCX --- patterns/pcx.hexpat | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/patterns/pcx.hexpat b/patterns/pcx.hexpat index f67a58c1..d28b095c 100644 --- a/patterns/pcx.hexpat +++ b/patterns/pcx.hexpat @@ -4,6 +4,7 @@ #pragma MIME application/x-pcx import std.io; +import std.mem; enum Encoding : u8 { NoEncoding = 0x00, @@ -52,4 +53,15 @@ struct PCX { padding[54]; }; -PCX pcx @ 0x00; \ No newline at end of file +struct ExtendedPalette { + if (std::mem::size() > sizeof(pcx) + 256*3 + 1) { + if (std::mem::read_unsigned(std::mem::size() - 256*3 - 1, 1) == 0x0C) { + u8 extended_palette_marker @ std::mem::size() - 256*3 - 1; + RGB8 palette256[256] @ std::mem::size() - 256*3; + } + } +}; + + +PCX pcx @ 0x00; +ExtendedPalette ExtendedPalette @ std::mem::size();