From 32c79a7b6ae60d0ae854ce9a1495717731dfcf25 Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Sun, 31 Dec 2023 21:27:32 -0800 Subject: [PATCH] fix 6x70 handling during replay sessions --- src/ReplaySession.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ReplaySession.cc b/src/ReplaySession.cc index 42d24c62..9b3bd7a4 100644 --- a/src/ReplaySession.cc +++ b/src/ReplaySession.cc @@ -390,7 +390,19 @@ void ReplaySession::apply_default_mask(shared_ptr ev) { } break; case 0x6D: - if (!is_pre_v1(version)) { + if (version == Version::DC_NTE) { + const auto& header = check_size_t(cmd_data, cmd_size, 0xFFFF); + if (header.subcommand == 0x60) { + auto& mask = check_size_t(mask_data, mask_size, 0xFFFF); + mask.visual.name_color_checksum = 0; + } + } else if (version == Version::DC_V1_11_2000_PROTOTYPE) { + const auto& header = check_size_t(cmd_data, cmd_size, 0xFFFF); + if (header.subcommand == 0x67) { + auto& mask = check_size_t(mask_data, mask_size, 0xFFFF); + mask.visual.name_color_checksum = 0; + } + } else if (!is_pre_v1(version)) { const auto& header = check_size_t(cmd_data, cmd_size, 0xFFFF); if (header.subcommand == 0x70) { auto& mask = check_size_t(mask_data, mask_size, 0xFFFF);