From 6d9c31e7bc2e80ac031ac921ec67048a8919a9cb Mon Sep 17 00:00:00 2001 From: Gavin MacGregor Date: Sun, 12 Oct 2025 19:14:05 +0100 Subject: [PATCH] Select Level 3.5 if X/28/1 DCLUT packet is found --- src/qteletextdecoder/levelonepage.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/qteletextdecoder/levelonepage.cpp b/src/qteletextdecoder/levelonepage.cpp index 0239d0f..c8e9935 100644 --- a/src/qteletextdecoder/levelonepage.cpp +++ b/src/qteletextdecoder/levelonepage.cpp @@ -475,7 +475,9 @@ int LevelOnePage::levelRequired() const if (!isPaletteDefault(0, 15)) return 3; - // TODO Check for X/28/1 for DCLUT for mode 1-3 DRCS characters - return 3 + // X/28/1 present i.e. DCLUTs for mode 1-3 DRCS characters - Level 3.5 + if (packetExists(28, 1)) + return 3; // Assume Level 2.5 if any X/28 page enhancements are present, otherwise assume Level 1 int levelSeen = (!isPaletteDefault(16, 31) || m_leftSidePanelDisplayed || m_rightSidePanelDisplayed || m_defaultScreenColour !=0 || m_defaultRowColour !=0 || m_blackBackgroundSubst || m_colourTableRemap !=0 || m_defaultCharSet != 0 || m_secondCharSet != 0xf) ? 2 : 0;