diff --git a/lib/external/pattern_language b/lib/external/pattern_language index 0ed726bf6..ebd5b02ed 160000 --- a/lib/external/pattern_language +++ b/lib/external/pattern_language @@ -1 +1 @@ -Subproject commit 0ed726bf602a3930e7587595693254d91670902f +Subproject commit ebd5b02eda3d40727fb22f98b98a380878b82e2f diff --git a/plugins/builtin/romfs/lang/en_US.json b/plugins/builtin/romfs/lang/en_US.json index 77a9aaace..91b342cbe 100644 --- a/plugins/builtin/romfs/lang/en_US.json +++ b/plugins/builtin/romfs/lang/en_US.json @@ -360,6 +360,7 @@ "hex.builtin.nodes.visualizer.layered_dist.header": "Layered Distribution", "hex.builtin.pattern_drawer.color": "Color", "hex.builtin.pattern_drawer.double_click": "Double-click to see more items", + "hex.builtin.pattern_drawer.local": "Local", "hex.builtin.pattern_drawer.offset": "Offset", "hex.builtin.pattern_drawer.size": "Size", "hex.builtin.pattern_drawer.type": "Type", diff --git a/plugins/builtin/source/ui/pattern_drawer.cpp b/plugins/builtin/source/ui/pattern_drawer.cpp index 1fe8b182b..e7357865e 100644 --- a/plugins/builtin/source/ui/pattern_drawer.cpp +++ b/plugins/builtin/source/ui/pattern_drawer.cpp @@ -114,10 +114,16 @@ namespace hex::plugin::builtin::ui { } void drawOffsetColumn(const pl::ptrn::Pattern& pattern) { - if (auto *bitfieldMember = dynamic_cast(&pattern); bitfieldMember != nullptr && bitfieldMember->getParentBitfield() != nullptr) - drawOffsetColumnForBitfieldMember(*bitfieldMember); - else - ImGui::TextFormatted("0x{0:08X} : 0x{1:08X}", pattern.getOffset(), pattern.getOffset() + pattern.getSize() - (pattern.getSize() == 0 ? 0 : 1)); + if (pattern.isPatternLocal()) { + ImGui::TextFormatted("[{}]", "hex.builtin.pattern_drawer.local"_lang); + } else { + if (auto *bitfieldMember = dynamic_cast(&pattern); bitfieldMember != nullptr && bitfieldMember->getParentBitfield() != nullptr) + drawOffsetColumnForBitfieldMember(*bitfieldMember); + else { + ImGui::TextFormatted("0x{0:08X} : 0x{1:08X}", pattern.getOffset(), pattern.getOffset() + pattern.getSize() - (pattern.getSize() == 0 ? 0 : 1)); + } + } + ImGui::TableNextColumn(); }