Compare commits

...

2 Commits

Author SHA1 Message Date
WerWolv 986252d97f pattern: Make sure pattern tree doesn't randomly collapse when evaluating 2022-12-21 11:31:33 +01:00
WerWolv e0c1fc81e3 build: Download Mesa3D from werwolv.net instead 2022-12-21 07:13:31 +01:00
2 changed files with 20 additions and 6 deletions

View File

@ -112,7 +112,7 @@ jobs:
shell: bash shell: bash
run: | run: |
echo "NoGPU version Powered by Mesa 3D : https://fdossena.com/?p=mesa%2Findex.frag" > build/install/MESA.md echo "NoGPU version Powered by Mesa 3D : https://fdossena.com/?p=mesa%2Findex.frag" > build/install/MESA.md
curl https://downloads.fdossena.com/geth.php?r=mesa64-latest -L -o mesa.7z curl https://werwolv.net/downloads/mesa/MesaForWindows-x64-latest.7z -L -o mesa.7z
7z e mesa.7z 7z e mesa.7z
mv opengl32.dll build/install mv opengl32.dll build/install

View File

@ -221,10 +221,13 @@ namespace hex::plugin::builtin::ui {
} }
if (open) { if (open) {
int id = 1;
pattern.forEachEntry(0, pattern.getEntryCount(), [&] (u64, auto *field) { pattern.forEachEntry(0, pattern.getEntryCount(), [&] (u64, auto *field) {
ImGui::PushID(field); ImGui::PushID(id);
this->draw(*field); this->draw(*field);
ImGui::PopID(); ImGui::PopID();
id += 1;
}); });
if (!pattern.isInlined()) if (!pattern.isInlined())
@ -456,10 +459,12 @@ namespace hex::plugin::builtin::ui {
} }
if (open) { if (open) {
int id = 1;
pattern.forEachEntry(0, pattern.getMembers().size(), [&](u64, auto *member){ pattern.forEachEntry(0, pattern.getMembers().size(), [&](u64, auto *member){
ImGui::PushID(member); ImGui::PushID(id);
this->draw(*member); this->draw(*member);
ImGui::PopID(); ImGui::PopID();
id += 1;
}); });
if (!pattern.isInlined()) if (!pattern.isInlined())
@ -505,10 +510,13 @@ namespace hex::plugin::builtin::ui {
} }
if (open) { if (open) {
int id = 1;
pattern.forEachEntry(0, pattern.getEntryCount(), [&](u64, auto *member) { pattern.forEachEntry(0, pattern.getEntryCount(), [&](u64, auto *member) {
ImGui::PushID(member); ImGui::PushID(id);
this->draw(*member); this->draw(*member);
ImGui::PopID(); ImGui::PopID();
id += 1;
}); });
if (!pattern.isInlined()) if (!pattern.isInlined())
@ -638,10 +646,13 @@ namespace hex::plugin::builtin::ui {
if (chunkOpen) { if (chunkOpen) {
int id = 1;
iteratable.forEachEntry(i, endIndex, [&](u64, auto *entry){ iteratable.forEachEntry(i, endIndex, [&](u64, auto *entry){
ImGui::PushID(entry); ImGui::PushID(id);
this->draw(*entry); this->draw(*entry);
ImGui::PopID(); ImGui::PopID();
id += 1;
}); });
if (iteratable.getEntryCount() > ChunkSize) if (iteratable.getEntryCount() > ChunkSize)
@ -747,10 +758,13 @@ namespace hex::plugin::builtin::ui {
if (beginPatternTable(patterns, this->m_sortedPatterns, height)) { if (beginPatternTable(patterns, this->m_sortedPatterns, height)) {
ImGui::TableHeadersRow(); ImGui::TableHeadersRow();
int id = 1;
for (auto &pattern : this->m_sortedPatterns) { for (auto &pattern : this->m_sortedPatterns) {
ImGui::PushID(pattern); ImGui::PushID(id);
this->draw(*pattern); this->draw(*pattern);
ImGui::PopID(); ImGui::PopID();
id += 1;
} }
ImGui::EndTable(); ImGui::EndTable();