From 85ff14e9977d3076333c29b39a000f8dfa2c4724 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Fri, 21 Nov 2025 15:20:37 +0100 Subject: [PATCH] Remove debug window (#736) * Remove debug window * LEGO1: remove a few exports * LEGO1: Remove a few `friend class DebugViewer` declarations --- .gitmodules | 3 - 3rdparty/CMakeLists.txt | 26 -- 3rdparty/imgui | 1 - CMakeLists.txt | 20 +- ISLE/isleapp.cpp | 39 +- ISLE/isledebug.cpp | 400 ------------------ ISLE/isledebug.h | 64 --- .../legoomni/include/legobuildingmanager.h | 2 - LEGO1/lego/legoomni/include/legogamestate.h | 2 +- .../lego/legoomni/include/legoplantmanager.h | 4 +- .../lego/legoomni/include/legovideomanager.h | 2 - LEGO1/lego/sources/roi/legoroi.h | 2 - LEGO1/omni/include/mxticklemanager.h | 2 - 13 files changed, 6 insertions(+), 561 deletions(-) delete mode 160000 3rdparty/imgui delete mode 100644 ISLE/isledebug.cpp delete mode 100644 ISLE/isledebug.h diff --git a/.gitmodules b/.gitmodules index e2befcdb..ef716004 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,9 +4,6 @@ [submodule "3rdparty/miniaudio"] path = 3rdparty/miniaudio url = https://github.com/mackron/miniaudio -[submodule "imgui"] - path = 3rdparty/imgui - url = https://github.com/ocornut/imgui [submodule "3rdparty/libweaver"] path = 3rdparty/libweaver url = https://github.com/isledecomp/SIEdit diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index ea03ed07..169e80ed 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -48,32 +48,6 @@ add_library(libsmacker STATIC ) target_include_directories(libsmacker PUBLIC ${libsmacker_SOURCE_DIR}) -if(DOWNLOAD_DEPENDENCIES) - include(FetchContent) - FetchContent_Declare( - imgui - GIT_REPOSITORY "https://github.com/ocornut/imgui" - GIT_TAG f5befd2d29e66809cd1110a152e375a7f1981f06 - ) - FetchContent_MakeAvailable(imgui) -else() - set(imgui_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/imgui") -endif() - -add_library(imgui STATIC - ${imgui_SOURCE_DIR}/imgui.cpp - ${imgui_SOURCE_DIR}/imgui_draw.cpp - ${imgui_SOURCE_DIR}/imgui_tables.cpp - ${imgui_SOURCE_DIR}/imgui_widgets.cpp - ${imgui_SOURCE_DIR}/imgui_demo.cpp - ${imgui_SOURCE_DIR}/backends/imgui_impl_sdl3.cpp - ${imgui_SOURCE_DIR}/backends/imgui_impl_sdlrenderer3.cpp -) -target_include_directories(imgui PUBLIC ${imgui_SOURCE_DIR}) -target_link_libraries(imgui PUBLIC SDL3::Headers) -target_link_libraries(imgui PRIVATE SDL3::SDL3) -set_property(TARGET imgui PROPERTY CXX_CLANG_TIDY "") - if(DOWNLOAD_DEPENDENCIES) include(FetchContent) FetchContent_Populate( diff --git a/3rdparty/imgui b/3rdparty/imgui deleted file mode 160000 index f5befd2d..00000000 --- a/3rdparty/imgui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f5befd2d29e66809cd1110a152e375a7f1981f06 diff --git a/CMakeLists.txt b/CMakeLists.txt index c310108f..da82ecb4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,6 @@ if (NINTENDO_SWITCH) add_compile_definitions(__SWITCH__) add_compile_definitions(SDL_PLATFORM_SWITCH) add_compile_definitions(SDL_VIDEO_DRIVER_SWITCH) - add_compile_definitions(IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS) endif() list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") @@ -54,7 +53,6 @@ option(ISLE_BUILD_ASSETS "Build assets from the /assets directory" OFF) option(ISLE_ASAN "Enable Address Sanitizer" OFF) option(ISLE_UBSAN "Enable Undefined Behavior Sanitizer" OFF) option(ISLE_WERROR "Treat warnings as errors" OFF) -cmake_dependent_option(ISLE_DEBUG "Enable imgui debug" ON "NOT VITA" OFF) cmake_dependent_option(ISLE_USE_DX5 "Build with internal DirectX 5 SDK" "${NOT_MINGW}" "WIN32;CMAKE_SIZEOF_VOID_P EQUAL 4" OFF) cmake_dependent_option(ISLE_MINIWIN "Use miniwin" ON "NOT ISLE_USE_DX5" OFF) cmake_dependent_option(ISLE_EXTENSIONS "Use extensions" ON "NOT ISLE_USE_DX5;NOT WINDOWS_STORE" OFF) @@ -72,7 +70,6 @@ message(STATUS "Config app: ${ISLE_BUILD_CONFIG}") message(STATUS "Internal DirectX5 SDK: ${ISLE_USE_DX5}") message(STATUS "Internal miniwin: ${ISLE_MINIWIN}") message(STATUS "Isle extensions: ${ISLE_EXTENSIONS}") -message(STATUS "Isle debugging: ${ISLE_DEBUG}") message(STATUS "Compile shaders: ${ISLE_COMPILE_SHADERS}") add_library(Isle::iniparser INTERFACE IMPORTED) @@ -573,21 +570,6 @@ if (ISLE_BUILD_APP) endif() # Link LEGO1 target_link_libraries(isle PRIVATE lego1) - if(ISLE_DEBUG) - target_sources(isle PRIVATE - ISLE/isledebug.cpp - ) - target_compile_definitions(isle PRIVATE ISLE_DEBUG) - target_link_libraries(isle PRIVATE imgui) - find_path(valgrind_INCLUDE_PATH NAMES valgrind/callgrind.h) - if(valgrind_INCLUDE_PATH) - # Run isle under valgrind to create a profile. Use e.g. kcachegrind to view the profile. - # > valgrind --tool=callgrind --dump-instr=yes --simulate-cache=yes --collect-jumps=yes \ - # > --collect-atstart=no --instr-atstart=no ./isle --debug - target_compile_definitions(isle PRIVATE ISLE_VALGRIND) - target_include_directories(isle PRIVATE ${valgrind_INCLUDE_PATH}) - endif() - endif() if(EMSCRIPTEN) target_sources(isle PRIVATE ISLE/emscripten/config.cpp @@ -909,7 +891,7 @@ endif() if(NINTENDO_SWITCH) find_program(NACPTOOL NAMES nacptool) find_program(ELF2NRO NAMES elf2nro) - + add_custom_command( OUTPUT "isle.nacp" COMMAND "${NACPTOOL}" diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index 72c11a7b..7983896f 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -4,7 +4,6 @@ #include "3dmanager/lego3dmanager.h" #include "decomp.h" -#include "isledebug.h" #include "legoanimationmanager.h" #include "legobuildingmanager.h" #include "legogamestate.h" @@ -413,8 +412,6 @@ SDL_AppResult SDL_AppIterate(void* appstate) } if (!g_closed) { - IsleDebug_Render(); - if (g_reqEnableRMDevice) { g_reqEnableRMDevice = FALSE; VideoManager()->EnableRMDevice(); @@ -455,10 +452,6 @@ SDL_AppResult SDL_AppEvent(void* appstate, SDL_Event* event) return SDL_APP_CONTINUE; } - if (IsleDebug_Event(event)) { - return SDL_APP_CONTINUE; - } - if (InputManager()) { InputManager()->UpdateLastInputMethod(event); } @@ -498,13 +491,11 @@ SDL_AppResult SDL_AppEvent(void* appstate, SDL_Event* event) switch (event->type) { case SDL_EVENT_WINDOW_FOCUS_GAINED: - if (!IsleDebug_Enabled()) { - g_isle->SetWindowActive(TRUE); - Lego()->Resume(); - } + g_isle->SetWindowActive(TRUE); + Lego()->Resume(); break; case SDL_EVENT_WINDOW_FOCUS_LOST: - if (!IsleDebug_Enabled() && g_isle->GetGameStarted()) { + if (g_isle->GetGameStarted()) { g_isle->SetWindowActive(FALSE); Lego()->Pause(); #ifdef __EMSCRIPTEN__ @@ -869,8 +860,6 @@ SDL_AppResult SDL_AppEvent(void* appstate, SDL_Event* event) void SDL_AppQuit(void* appstate, SDL_AppResult result) { - IsleDebug_Quit(); - if (appstate != NULL) { SDL_DestroyWindow((SDL_Window*) appstate); } @@ -1040,8 +1029,6 @@ MxResult IsleApp::SetupWindow() } } - IsleDebug_Init(); - return SUCCESS; } @@ -1265,10 +1252,6 @@ inline bool IsleApp::Tick() // GLOBAL: ISLE 0x4101bc static MxS32 g_startupDelay = 1; - if (IsleDebug_Paused() && IsleDebug_StepModeEnabled()) { - IsleDebug_SetPaused(false); - } - if (!m_windowActive) { SDL_Delay(1); return true; @@ -1299,11 +1282,6 @@ inline bool IsleApp::Tick() } g_lastFrameTime = currentTime; - if (IsleDebug_StepModeEnabled()) { - IsleDebug_SetPaused(true); - IsleDebug_ResetStepMode(); - } - if (g_startupDelay == 0) { return true; } @@ -1402,14 +1380,6 @@ SDL_AppResult IsleApp::ParseArguments(int argc, char** argv) m_iniPath = argv[i + 1]; consumed = 2; } - else if (strcmp(argv[i], "--debug") == 0) { -#ifdef ISLE_DEBUG - IsleDebug_SetEnabled(true); -#else - SDL_Log("isle is built without debug support. Ignoring --debug argument."); -#endif - consumed = 1; - } else if (strcmp(argv[i], "--help") == 0) { DisplayArgumentHelp(argv[0]); return SDL_APP_SUCCESS; @@ -1429,9 +1399,6 @@ void IsleApp::DisplayArgumentHelp(const char* p_execName) SDL_Log("Usage: %s [options]", p_execName); SDL_Log("Options:"); SDL_Log(" --ini Set custom path to .ini config"); -#ifdef ISLE_DEBUG - SDL_Log(" --debug Launch in debug mode"); -#endif SDL_Log(" --help Show this help message"); } diff --git a/ISLE/isledebug.cpp b/ISLE/isledebug.cpp deleted file mode 100644 index ab3433a5..00000000 --- a/ISLE/isledebug.cpp +++ /dev/null @@ -1,400 +0,0 @@ -#include "isledebug.h" - -#include "isleapp.h" -#include "lego/sources/roi/legoroi.h" -#include "legobuildingmanager.h" -#include "legoentity.h" -#include "legogamestate.h" -#include "legoplantmanager.h" -#include "legosoundmanager.h" -#include "legovideomanager.h" -#include "misc.h" -#include "mxticklemanager.h" - -#include -#include -#include -#include - -#ifdef ISLE_VALGRIND -#include -#endif - -#define SCANCODE_KEY_PAUSE SDL_SCANCODE_KP_0 -#define SCANCODE_KEY_RESUME SDL_SCANCODE_KP_PERIOD - -static bool g_debugEnabled; -static bool g_debugPaused; -static bool g_debugDoStep; -static SDL_Window* g_debugWindow; -static SDL_Renderer* g_debugRenderer; - -static SDL_Texture* g_videoPalette; -static IDirect3DRMMiniwinDevice* g_d3drmMiniwinDevice; - -#ifdef ISLE_VALGRIND -static bool g_instrumentationEnabled; -#endif - -class DebugViewer { -public: - static void InsidePlantManager() - { - LegoPlantManager* plantManager = Lego()->GetPlantManager(); - ImGui::Value("#plants", plantManager->GetNumPlants()); - ImGui::Value("#entries", plantManager->m_numEntries); - if (plantManager->m_numEntries) { - if (ImGui::BeginTable("Animated Entries", 4, ImGuiTableFlags_Borders)) { - ImGui::TableSetupColumn("ROI Name"); - ImGui::TableSetupColumn("ROI m_sharedLodList"); - ImGui::TableSetupColumn("Entity Name"); - ImGui::TableSetupColumn("Time"); - ImGui::TableHeadersRow(); - for (MxS8 i = 0; i < plantManager->m_numEntries; i++) { - const auto* entry = plantManager->m_entries[i]; - ImGui::TableNextRow(); - ImGui::Text("%s", entry->m_roi->m_name); - ImGui::TableNextColumn(); - ImGui::Text("%d", entry->m_roi->m_sharedLodList); - ImGui::TableNextColumn(); - ImGui::Text("%s", entry->m_roi->m_entity->ClassName()); - ImGui::TableNextColumn(); - ImGui::Text("%d", entry->m_time); - } - ImGui::EndTable(); - } - } - } - static void InsideBuildingManager() - { - auto buildingManager = Lego()->GetBuildingManager(); - ImGui::Text("nextVariant: %u", buildingManager->m_nextVariant); - ImGui::Text("m_boundariesDetermined: %d", buildingManager->m_boundariesDetermined); - ImGui::Text("m_hideAfterAnimation: %d", buildingManager->m_hideAfterAnimation); - ImGui::Text("#Animated Entries: %d", buildingManager->m_numEntries); - if (buildingManager->m_numEntries) { - if (ImGui::BeginTable("Animated Entries", 6, ImGuiTableFlags_Borders)) { - ImGui::TableSetupColumn("ROI Name"); - ImGui::TableSetupColumn("ROI m_sharedLodList"); - ImGui::TableSetupColumn("Entity Name"); - ImGui::TableSetupColumn("Time"); - ImGui::TableSetupColumn("Y"); - ImGui::TableSetupColumn("Muted"); - ImGui::TableHeadersRow(); - for (MxS8 i = 0; i < buildingManager->m_numEntries; i++) { - const auto* entry = buildingManager->m_entries[i]; - ImGui::TableNextRow(); - ImGui::Text("%s", entry->m_roi->m_name); - ImGui::TableNextColumn(); - ImGui::Text("%d", entry->m_roi->m_sharedLodList); - ImGui::TableNextColumn(); - ImGui::Text("%s", entry->m_roi->m_entity->ClassName()); - ImGui::TableNextColumn(); - ImGui::Text("%d", entry->m_time); - ImGui::TableNextColumn(); - ImGui::Text("%f", entry->m_y); - ImGui::TableNextColumn(); - ImGui::Text("%d", entry->m_muted); - } - ImGui::EndTable(); - } - } - } - static void InsideTickleManager() - { - auto tickleManager = Lego()->GetTickleManager(); - ImGui::Value("#clients", static_cast(tickleManager->m_clients.size())); - if (ImGui::BeginTable("Clients", 3, ImGuiTableFlags_Borders)) { - ImGui::TableSetupColumn("Client"); - ImGui::TableSetupColumn("Interval"); - ImGui::TableSetupColumn("Flags"); - ImGui::TableHeadersRow(); - for (const auto* ticleClient : tickleManager->m_clients) { - ImGui::TableNextRow(); - ImGui::TableNextColumn(); - ImGui::Text("%s", ticleClient->GetClient()->ClassName()); - ImGui::TableNextColumn(); - ImGui::Text("%d", ticleClient->GetTickleInterval()); - ImGui::TableNextColumn(); - ImGui::Text("0x%x", ticleClient->GetFlags()); - } - ImGui::EndTable(); - } - } - static void InsideVideoManager() - { - auto videoManager = Lego()->GetVideoManager(); - SDL_UpdateTexture(g_videoPalette, NULL, videoManager->m_paletteEntries, 4 * 16); - ImGui::Text("Elapsed: %gs", static_cast(videoManager->GetElapsedSeconds())); - ImGui::Text("Render3D: %d", videoManager->GetRender3D()); - ImGui::Text("unk0xe5: %d", videoManager->m_unk0xe5); - ImGui::Text("unk0xe5: %d", videoManager->m_unk0xe6); - ImGui::Text("unk0x54c: %f", videoManager->m_unk0x54c); - ImGui::Text("unk0x54c: %f", videoManager->m_unk0x550); - ImGui::Text("unk0x54c: %d", videoManager->m_unk0x554); - ImGui::Text("unk0x70: %u", videoManager->m_unk0x70); - ImGui::Text("Dither: %d", videoManager->m_dither); - ImGui::Text("BufferCount: %u", videoManager->m_bufferCount); - ImGui::Text("Paused: %d", videoManager->m_paused); - ImGui::Text("back: %g", videoManager->m_back); - ImGui::Text("front: %g", videoManager->m_front); - ImGui::Text("cameraWidth: %g", videoManager->m_cameraWidth); - ImGui::Text("cameraHeight: %g", videoManager->m_cameraHeight); - ImGui::Text("fov: %g", videoManager->m_fov); - ImVec2 uv_min = ImVec2(0.0f, 0.0f); - ImVec2 uv_max = ImVec2(1.0f, 1.0f); - ImGui::PushStyleVar(ImGuiStyleVar_ImageBorderSize, SDL_max(1.0f, ImGui::GetStyle().ImageBorderSize)); - ImGui::ImageWithBg( - (ImTextureID) (uintptr_t) g_videoPalette, - ImVec2(200, 200), - uv_min, - uv_max, - ImVec4(0.0f, 0.0f, 0.0f, 1.0f) - ); - ImGui::PopStyleVar(); - } -}; - -void IsleDebug_Init() -{ - do { - if (!g_debugEnabled) { - break; - } - if (!SDL_CreateWindowAndRenderer( - "Debug ISLE", - 640, - 480, - SDL_WINDOW_RESIZABLE, - &g_debugWindow, - &g_debugRenderer - )) { - SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Failed to create debug window"); - break; - } - IMGUI_CHECKVERSION(); - ImGui::CreateContext(); - ImGui::StyleColorsDark(); - - if (!ImGui_ImplSDL3_InitForSDLRenderer(g_debugWindow, g_debugRenderer)) { - SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "ImGui_ImplSDL3_InitForSDLRenderer failed"); - g_debugEnabled = false; - break; - } - g_videoPalette = - SDL_CreateTexture(g_debugRenderer, SDL_PIXELFORMAT_RGBX32, SDL_TEXTUREACCESS_STREAMING, 16, 16); -#if SDL_VERSION_ATLEAST(3, 3, 0) - SDL_SetTextureScaleMode(g_videoPalette, SDL_SCALEMODE_PIXELART); -#else - SDL_SetTextureScaleMode(g_videoPalette, SDL_SCALEMODE_NEAREST); -#endif - if (!ImGui_ImplSDLRenderer3_Init(g_debugRenderer)) { - g_debugEnabled = false; - break; - } - g_d3drmMiniwinDevice = GetD3DRMMiniwinDevice(); - } while (0); - if (!g_debugEnabled) { - if (g_debugRenderer) { - SDL_DestroyRenderer(g_debugRenderer); - g_debugRenderer = nullptr; - } - if (g_debugWindow) { - SDL_DestroyWindow(g_debugWindow); - g_debugWindow = nullptr; - } - } -} - -void IsleDebug_Quit() -{ - SDL_DestroyRenderer(g_debugRenderer); - SDL_DestroyWindow(g_debugWindow); - if (g_d3drmMiniwinDevice) { - g_d3drmMiniwinDevice->Release(); - } -} - -bool IsleDebug_Event(SDL_Event* event) -{ - if (!g_debugEnabled) { - return false; - } - if (event->type == SDL_EVENT_KEY_DOWN) { - if (event->key.scancode == SCANCODE_KEY_PAUSE) { - if (!g_debugPaused) { - IsleDebug_SetPaused(true); - } - else { - g_debugDoStep = true; - } - return true; - } - if (event->key.scancode == SCANCODE_KEY_RESUME) { - g_debugDoStep = false; - if (g_debugPaused) { - IsleDebug_SetPaused(false); - } - return true; - } - } - if (SDL_GetWindowFromEvent(event) != g_debugWindow) { - return false; - } - ImGui_ImplSDL3_ProcessEvent(event); - return true; -} - -void IsleDebug_Render() -{ - if (!g_debugEnabled) { - return; - } - const ImVec4 clear_color = ImVec4(0.45f, 0.55f, 0.60f, 1.00f); - - ImGui_ImplSDLRenderer3_NewFrame(); - ImGui_ImplSDL3_NewFrame(); - ImGui::NewFrame(); - ImGuiIO& io = ImGui::GetIO(); - { - ImGui::BeginMainMenuBar(); - if (ImGui::MenuItem(g_debugPaused ? "Resume" : "Pause")) { - g_debugPaused = !g_debugPaused; - if (g_debugPaused) { - g_isle->SetWindowActive(false); - Lego()->Pause(); - } - else { - g_isle->SetWindowActive(true); - Lego()->Resume(); - } - } -#ifdef ISLE_VALGRIND - if (ImGui::MenuItem(g_instrumentationEnabled ? "Disable instrumentation" : "Enable instrumentation")) { - g_instrumentationEnabled = !g_instrumentationEnabled; - if (g_instrumentationEnabled) { - CALLGRIND_START_INSTRUMENTATION; - CALLGRIND_TOGGLE_COLLECT; - } - else { - CALLGRIND_TOGGLE_COLLECT; - CALLGRIND_STOP_INSTRUMENTATION; - } - } -#endif - ImGui::EndMainMenuBar(); - ImGui::ShowDemoWindow(nullptr); - LegoOmni* lego = Lego(); - if (ImGui::Begin("LEGO")) { - if (ImGui::TreeNode("Game State")) { - LegoGameState* gameState = lego->GetGameState(); - ImGui::Value("Actor Id", gameState->GetActorId()); - ImGui::Text("Actor Name: %s", gameState->GetActorName()); - ImGui::Text("Current act: %d", gameState->GetCurrentAct()); - ImGui::Text("Loaded act: %d", gameState->GetLoadedAct()); - ImGui::Text("Previous area: %d", gameState->m_previousArea); - ImGui::Text("Saved previous area: %d", gameState->m_savedPreviousArea); - ImGui::Value("Player count", gameState->m_playerCount); - ImGui::TreePop(); - } - if (ImGui::TreeNode("Renderer")) { - if (g_d3drmMiniwinDevice) { - ImGui::Text("Using miniwin driver"); - } - else { - ImGui::Text("No miniwin driver"); - } - ImGui::TreePop(); - } - if (ImGui::TreeNode("Sound Manager")) { - LegoSoundManager* soundManager = lego->GetSoundManager(); - Sint32 oldVolume = soundManager->GetVolume(); - int volume = oldVolume; - ImGui::SliderInt("volume", &volume, 0, 100); - if (volume != oldVolume) { - soundManager->SetVolume(volume); - } - ImGui::TreePop(); - } - if (ImGui::TreeNode("Video Manager")) { - DebugViewer::InsideVideoManager(); - ImGui::TreePop(); - } - if (ImGui::TreeNode("Plant Manager")) { - DebugViewer::InsidePlantManager(); - ImGui::TreePop(); - } - if (ImGui::TreeNode("Building Manager")) { - DebugViewer::InsideBuildingManager(); - ImGui::TreePop(); - } - if (ImGui::TreeNode("Tickle Manager")) { - DebugViewer::InsideTickleManager(); - ImGui::TreePop(); - } - } - ImGui::End(); - } - - ImGui::Render(); - SDL_RenderClear(g_debugRenderer); - SDL_SetRenderScale(g_debugRenderer, io.DisplayFramebufferScale.x, io.DisplayFramebufferScale.y); - SDL_SetRenderDrawColor( - g_debugRenderer, - (Uint8) (clear_color.x * 255), - (Uint8) (clear_color.y * 255), - (Uint8) (clear_color.z * 255), - (Uint8) (clear_color.w * 255) - ); - ImGui_ImplSDLRenderer3_RenderDrawData(ImGui::GetDrawData(), g_debugRenderer); - SDL_RenderPresent(g_debugRenderer); -} - -bool IsleDebug_Enabled() -{ - return g_debugEnabled; -} - -void IsleDebug_SetEnabled(bool v) -{ - if (v) { - SDL_Log( - "Press \"%s\" for pausing/stepping the game", - SDL_GetKeyName(SDL_GetKeyFromScancode(SCANCODE_KEY_PAUSE, 0, false)) - ); - SDL_Log( - "Press \"%s\" for resuming the game", - SDL_GetKeyName(SDL_GetKeyFromScancode(SCANCODE_KEY_RESUME, 0, false)) - ); - } - g_debugEnabled = v; -} - -void IsleDebug_SetPaused(bool v) -{ - SDL_assert(g_debugPaused == !v); - g_debugPaused = v; - if (g_debugPaused) { - g_isle->SetWindowActive(false); - Lego()->Pause(); - } - else { - g_isle->SetWindowActive(true); - Lego()->Resume(); - } -} - -bool IsleDebug_Paused() -{ - return g_debugPaused; -} - -void IsleDebug_ResetStepMode() -{ - g_debugDoStep = false; -} - -bool IsleDebug_StepModeEnabled() -{ - return g_debugDoStep; -} diff --git a/ISLE/isledebug.h b/ISLE/isledebug.h deleted file mode 100644 index 7fae158c..00000000 --- a/ISLE/isledebug.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef ISLEDEBUG_H -#define ISLEDEBUG_H - -#if defined(ISLE_DEBUG) - -typedef union SDL_Event SDL_Event; - -extern bool IsleDebug_Enabled(); - -extern void IsleDebug_SetEnabled(bool); - -extern void IsleDebug_Init(); - -extern void IsleDebug_Quit(); - -extern bool IsleDebug_Event(SDL_Event* event); - -extern void IsleDebug_Render(); - -extern void IsleDebug_SetPaused(bool v); - -extern bool IsleDebug_Paused(); - -extern bool IsleDebug_StepModeEnabled(); - -extern void IsleDebug_ResetStepMode(); - -#else - -#define IsleDebug_Enabled() (false) - -#define IsleDebug_SetEnabled(V) \ - do { \ - } while (0) - -#define IsleDebug_Init() \ - do { \ - } while (0) - -#define IsleDebug_Quit() \ - do { \ - } while (0) - -#define IsleDebug_Event(EVENT) (false) - -#define IsleDebug_Render() \ - do { \ - } while (0) - -#define IsleDebug_SetPaused(X) \ - do { \ - } while (0) - -#define IsleDebug_Paused() (false) - -#define IsleDebug_StepModeEnabled() (false) - -#define IsleDebug_ResetStepMode() \ - do { \ - } while (0) - -#endif - -#endif diff --git a/LEGO1/lego/legoomni/include/legobuildingmanager.h b/LEGO1/lego/legoomni/include/legobuildingmanager.h index 355b9715..e9bb2778 100644 --- a/LEGO1/lego/legoomni/include/legobuildingmanager.h +++ b/LEGO1/lego/legoomni/include/legobuildingmanager.h @@ -109,8 +109,6 @@ class LegoBuildingManager : public MxCore { LegoCacheSound* m_sound; // 0x24 MxBool m_hideAfterAnimation; // 0x28 LegoWorld* m_world; // 0x2c - - friend class DebugViewer; }; #endif // LEGOBUILDINGMANAGER_H diff --git a/LEGO1/lego/legoomni/include/legogamestate.h b/LEGO1/lego/legoomni/include/legogamestate.h index 94f827a7..cf14a257 100644 --- a/LEGO1/lego/legoomni/include/legogamestate.h +++ b/LEGO1/lego/legoomni/include/legogamestate.h @@ -15,7 +15,7 @@ class LegoStorage; class MxVariableTable; class MxString; -LEGO1_EXPORT extern const char* g_actorNames[7]; +extern const char* g_actorNames[7]; // SIZE 0x08 struct ColorStringStruct { diff --git a/LEGO1/lego/legoomni/include/legoplantmanager.h b/LEGO1/lego/legoomni/include/legoplantmanager.h index dc468dfd..187e12b5 100644 --- a/LEGO1/lego/legoomni/include/legoplantmanager.h +++ b/LEGO1/lego/legoomni/include/legoplantmanager.h @@ -14,7 +14,7 @@ class LegoWorld; // VTABLE: LEGO1 0x100d6758 // SIZE 0x2c -class LEGO1_EXPORT LegoPlantManager : public MxCore { +class LegoPlantManager : public MxCore { public: // SIZE 0x0c struct AnimEntry { @@ -82,8 +82,6 @@ class LEGO1_EXPORT LegoPlantManager : public MxCore { AnimEntry* m_entries[5]; // 0x10 MxS8 m_numEntries; // 0x24 LegoWorld* m_world; // 0x28 - - friend class DebugViewer; }; #endif // LEGOPLANTMANAGER_H diff --git a/LEGO1/lego/legoomni/include/legovideomanager.h b/LEGO1/lego/legoomni/include/legovideomanager.h index b6ad3866..d140ee65 100644 --- a/LEGO1/lego/legoomni/include/legovideomanager.h +++ b/LEGO1/lego/legoomni/include/legovideomanager.h @@ -137,8 +137,6 @@ class LegoVideoManager : public MxVideoManager { D3DRMRENDERMODE m_rendermode; // 0x584 BOOL m_dither; // 0x588 DWORD m_bufferCount; // 0x58c - - friend class DebugViewer; }; #endif // LEGOVIDEOMANAGER_H diff --git a/LEGO1/lego/sources/roi/legoroi.h b/LEGO1/lego/sources/roi/legoroi.h index 00452334..f2615406 100644 --- a/LEGO1/lego/sources/roi/legoroi.h +++ b/LEGO1/lego/sources/roi/legoroi.h @@ -101,8 +101,6 @@ class LegoROI : public ViewROI { BoundingSphere m_sphere; // 0xe8 LegoBool m_sharedLodList; // 0x100 LegoEntity* m_entity; // 0x104 - - friend class DebugViewer; }; // VTABLE: LEGO1 0x100dbea8 diff --git a/LEGO1/omni/include/mxticklemanager.h b/LEGO1/omni/include/mxticklemanager.h index c941d58d..1fae7a43 100644 --- a/LEGO1/omni/include/mxticklemanager.h +++ b/LEGO1/omni/include/mxticklemanager.h @@ -55,8 +55,6 @@ class MxTickleManager : public MxCore { private: MxTickleClientPtrList m_clients; // 0x08 - - friend class DebugViewer; }; #define TICKLE_MANAGER_NOT_FOUND 0x80000000