diff --git a/files.cmake b/files.cmake index 012a35a03d..bf84a1df55 100644 --- a/files.cmake +++ b/files.cmake @@ -1459,6 +1459,7 @@ set(DUSK_FILES src/dusk/imgui/ImGuiMenuTools.hpp src/dusk/imgui/ImGuiMenuRandomizer.cpp src/dusk/imgui/ImGuiMenuRandomizer.hpp + src/dusk/imgui/ImGuiArchipelagoDebug.cpp src/dusk/imgui/ImGuiActorSpawner.cpp src/dusk/imgui/ImGuiProcessOverlay.cpp src/dusk/imgui/ImGuiCameraOverlay.cpp diff --git a/src/dusk/imgui/ImGuiArchipelagoDebug.cpp b/src/dusk/imgui/ImGuiArchipelagoDebug.cpp new file mode 100644 index 0000000000..ac1239e71c --- /dev/null +++ b/src/dusk/imgui/ImGuiArchipelagoDebug.cpp @@ -0,0 +1,27 @@ +#include + +#include "imgui.h" + +#include "Archipelago.h" + +namespace dusk { +ImGuiArchipelagoDebug::ImGuiArchipelagoDebug() { + +} + +void ImGuiArchipelagoDebug::drawMenuItem() { + if (ImGui::BeginMenu("Randomizer")) { + ImGui::Checkbox("Archipelago Window", &m_drawWindow); + ImGui::EndMenu(); + } +} + +void ImGuiArchipelagoDebug::drawWindow() { + if (!m_drawWindow) + return; + + ImGui::Begin("Archipelago Debug"); + + ImGui::End(); +} +} \ No newline at end of file diff --git a/src/dusk/imgui/ImGuiArchipelagoDebug.h b/src/dusk/imgui/ImGuiArchipelagoDebug.h new file mode 100644 index 0000000000..1c156be979 --- /dev/null +++ b/src/dusk/imgui/ImGuiArchipelagoDebug.h @@ -0,0 +1,13 @@ +#pragma once + +namespace dusk { +class ImGuiArchipelagoDebug { +private: + bool m_drawWindow = false; +public: + ImGuiArchipelagoDebug(); + + void drawMenuItem(); + void drawWindow(); +}; +} \ No newline at end of file diff --git a/src/dusk/imgui/ImGuiConsole.cpp b/src/dusk/imgui/ImGuiConsole.cpp index c65879c493..e6d44e1d83 100644 --- a/src/dusk/imgui/ImGuiConsole.cpp +++ b/src/dusk/imgui/ImGuiConsole.cpp @@ -278,6 +278,7 @@ namespace dusk { ImGui::PushStyleColor(ImGuiCol_WindowBg, ImVec4(0.0f, 0.0f, 0.0f, 0.0f)); if (showMenu && ImGui::BeginMainMenuBar()) { m_menuRandomizer.draw(); + m_menuArchipelago.drawMenuItem(); m_menuTools.draw(); ImGui::EndMainMenuBar(); @@ -375,6 +376,7 @@ namespace dusk { m_menuRandomizer.windowRandoGeneration(); m_menuRandomizer.windowRandoTracker(); + m_menuArchipelago.drawWindow(); } void ImGuiConsole::PostDraw() { diff --git a/src/dusk/imgui/ImGuiConsole.hpp b/src/dusk/imgui/ImGuiConsole.hpp index 3001b58070..5fe823d1cd 100644 --- a/src/dusk/imgui/ImGuiConsole.hpp +++ b/src/dusk/imgui/ImGuiConsole.hpp @@ -11,6 +11,7 @@ #include "ImGuiMenuRandomizer.hpp" #include "dusk/main.h" #include "imgui.h" +#include "ImGuiArchipelagoDebug.h" union SDL_Event; struct ImGuiWindow; @@ -34,6 +35,7 @@ private: ImVec2 m_dragScrollLastMousePos = {}; ImGuiMenuRandomizer m_menuRandomizer; + ImGuiArchipelagoDebug m_menuArchipelago; // Keep always last ImGuiMenuTools m_menuTools; diff --git a/src/dusk/randomizer/randomizer.cmake b/src/dusk/randomizer/randomizer.cmake index a6296edece..cd5e353ce8 100644 --- a/src/dusk/randomizer/randomizer.cmake +++ b/src/dusk/randomizer/randomizer.cmake @@ -52,12 +52,19 @@ FetchContent_Declare( GIT_TAG fdbae3f ) -FetchContent_MakeAvailable(yaml-cpp base64pp battery-embed) +message(STATUS "randomizer: Fetching APCpp") +FetchContent_Declare( + APCpp + GIT_REPOSITORY https://github.com/N00byKing/APCpp.git + GIT_TAG 9194179 +) + +FetchContent_MakeAvailable(yaml-cpp base64pp battery-embed APCpp) string(LENGTH "${CMAKE_SOURCE_DIR}/" SOURCE_PATH_SIZE) set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} SOURCE_PATH_SIZE=${SOURCE_PATH_SIZE}) -set(GAME_LIBS ${GAME_LIBS} yaml-cpp::yaml-cpp base64pp) +set(GAME_LIBS ${GAME_LIBS} yaml-cpp::yaml-cpp base64pp APCpp) file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/randomizer") # Put data files together for easier manipulation -# file(COPY "${CMAKE_SOURCE_DIR}/src/dusk/randomizer/data/" DESTINATION "${CMAKE_BINARY_DIR}/randomizer/data/" REGEX "^.*example.*$" EXCLUDE) # World, macros, and location info +# file(COPY "${CMAKE_SOURCE_DIR}/src/dusk/randomizer/data/" DESTINATION "${CMAKE_BINARY_DIR}/randomizer/data/" REGEX "^.*example.*$" EXCLUDE) # World, macros, and location info \ No newline at end of file