diff --git a/src/modules/InstanceViewer.cpp b/src/modules/InstanceViewer.cpp index b5ab24f..5674d3b 100644 --- a/src/modules/InstanceViewer.cpp +++ b/src/modules/InstanceViewer.cpp @@ -131,6 +131,13 @@ void InstanceViewer::DrawInstance() // Draw groups if (ImGui::CollapsingHeader("Draw groups")) { +#ifndef TR8 + // Draw the bit representation + auto binary = GetBinary(~instance->noDrawGroups); + + ImGui::Text("%s", binary.c_str()); +#endif + static int drawGroup = 0; static bool enabled = false; @@ -180,4 +187,17 @@ void InstanceViewer::SkewTo(Instance* instance) auto player = Game::GetPlayerInstance(); player->position = instance->position; +} + +std::string InstanceViewer::GetBinary(int value) +{ + std::string binary; + + // Not actually binary, reversed binary + for (int i = 0; i <= 31; i++) + { + binary += (value & (1 << i)) ? "1" : "0"; + } + + return binary; } \ No newline at end of file diff --git a/src/modules/InstanceViewer.h b/src/modules/InstanceViewer.h index b4fdd5a..fd4d77c 100644 --- a/src/modules/InstanceViewer.h +++ b/src/modules/InstanceViewer.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "Module.h" #include "instance/Instance.h" @@ -14,6 +16,8 @@ class InstanceViewer : public Module void DrawInstance(); void SkewTo(Instance* instance); + std::string GetBinary(int value); + public: void OnMenu(); void OnDraw();