fix wrong formatting, fix duplicate ui object, fix wrong flags getting set

This commit is contained in:
roeming
2026-04-30 17:03:47 -04:00
parent dbf1f6e354
commit 292a2a6c34
2 changed files with 19 additions and 24 deletions
+1 -1
View File
@@ -3154,7 +3154,7 @@ inline const std::map<uint8_t, const char*> _SPRIceBlockPuzzleLocations =
{ 0x07, "( 2, 1)" },
{ 0x0E, "(-2, 0)" },
{ 0x17, "(-1, 0)" },
{ 0x13, "(-1, 0)" },
{ 0x1A, "( 0, 0)" },
{ 0x17, "( 1, 0)" },
{ 0x06, "( 2, 0)" },
+18 -23
View File
@@ -1348,7 +1348,10 @@ namespace dusk {
drawFlagList(fmt::format("##_item{}", j).c_str(), membit.mItem[j]);
}
ImGuiEndGroupPanel();
genCommonAreaFlags(membit);
ImVec2 post_item_custor = ImGui::GetCursorPos();
ImGui::SetCursorPos({post_item_custor.x, post_switch_cursor.y});
// genCommonAreaFlags(membit);
}
template <typename T>
@@ -1437,19 +1440,13 @@ namespace dusk {
const auto LoadFlag = [&membit](uint16_t flag) -> bool {
const auto byteIndex = getByteIndexFromFlag(flag);
static_assert((0x1580 - switchConvert) == 0xd80);
if (byteIndex < validTbox) {
uint16_t newFlag = flag - tboxConvert;
return membit.isTbox(eventFlagToAreaFlag(newFlag));
}
if (byteIndex < validSwitch) {
uint16_t newFlag = flag - switchConvert;
return membit.isSwitch(eventFlagToAreaFlag(newFlag));
}
if (byteIndex < validItem) {
uint16_t newFlag = flag - itemConvert;
return membit.isItem(eventFlagToAreaFlag(newFlag));
return membit.isTbox(eventFlagToAreaFlag(flag - tboxConvert));
} else if (byteIndex < validSwitch) {
return membit.isSwitch(eventFlagToAreaFlag(flag - switchConvert));
} else if (byteIndex < validItem) {
return membit.isItem(eventFlagToAreaFlag(flag - itemConvert));
}
return false;
};
@@ -1459,21 +1456,17 @@ namespace dusk {
if (set) {
if (byteIndex < validTbox) {
membit.onTbox(eventFlagToAreaFlag(flag - tboxConvert));
}
if (byteIndex < validSwitch) {
} else if (byteIndex < validSwitch) {
membit.onSwitch(eventFlagToAreaFlag(flag - switchConvert));
}
if (byteIndex < validItem) {
} else if (byteIndex < validItem) {
membit.onItem(eventFlagToAreaFlag(flag - itemConvert));
}
} else {
if (byteIndex < validTbox) {
membit.offTbox(eventFlagToAreaFlag(flag - tboxConvert));
}
if (byteIndex < validSwitch) {
} else if (byteIndex < validSwitch) {
membit.offSwitch(eventFlagToAreaFlag(flag - switchConvert));
}
if (byteIndex < validItem) {
} else if (byteIndex < validItem) {
membit.offItem(eventFlagToAreaFlag(flag - itemConvert));
}
}
@@ -1485,9 +1478,11 @@ namespace dusk {
const uint16_t startingMask = std::bit_floor(bitInds);
uint8_t val = 0;
for (uint16_t mask = startingMask; (bitInds & mask) != 0; mask >>= 1) {
for (uint16_t bitIndexMask = startingMask; (bitInds & bitIndexMask) != 0;
bitIndexMask >>= 1)
{
val <<= 1;
if (LoadFlag(makeEventFlag(byteIndex, bitInds & mask))) {
if (LoadFlag(makeEventFlag(byteIndex, bitInds & bitIndexMask))) {
val |= 1;
}
}
@@ -1601,7 +1596,7 @@ namespace dusk {
ImGui::TableNextRow();
ImGui::TableNextColumn();
bool flag = LoadFlag(e.flagID);
if (ImGui::Checkbox("##", &flag)) {
if (ImGui::Checkbox(fmt::format("##_unused_area_flag_{}", e.flagID).c_str(), &flag)) {
SetFlag(e.flagID, flag);
}