From 68daa0d7353e391697120230feed5aa270aa4c5a Mon Sep 17 00:00:00 2001 From: Michael Bernardi Date: Sun, 15 Sep 2024 22:39:49 +1000 Subject: [PATCH] Debugging code --- src/openrct2/drawing/Drawing.Sprite.cpp | 2 +- src/openrct2/drawing/Drawing.cpp | 20 ++++++++++++++++++++ src/openrct2/drawing/Drawing.h | 2 ++ src/openrct2/interface/Viewport.cpp | 19 +++++++++++-------- 4 files changed, 34 insertions(+), 9 deletions(-) diff --git a/src/openrct2/drawing/Drawing.Sprite.cpp b/src/openrct2/drawing/Drawing.Sprite.cpp index 95821849c8..5921bc5e85 100644 --- a/src/openrct2/drawing/Drawing.Sprite.cpp +++ b/src/openrct2/drawing/Drawing.Sprite.cpp @@ -703,7 +703,7 @@ void FASTCALL GfxDrawSpriteRawMaskedSoftware( if (dpi.zoom_level != ZoomLevel{ 0 }) { // TODO: Implement other zoom levels (probably not used though) - assert(false); + //assert(false); // TODO complete work for sofware zooming or revert change. return; } diff --git a/src/openrct2/drawing/Drawing.cpp b/src/openrct2/drawing/Drawing.cpp index 9ef52ab936..6d701b29a3 100644 --- a/src/openrct2/drawing/Drawing.cpp +++ b/src/openrct2/drawing/Drawing.cpp @@ -1138,3 +1138,23 @@ void ToggleWindowedMode() Config::Get().general.FullscreenMode = targetMode; Config::Save(); } + +void DebugDPI(DrawPixelInfo& dpi) +{ + DrawPixelInfo unzoomed = dpi; + unzoomed.zoom_level = ZoomLevel{ 0 }; + unzoomed.x = dpi.zoom_level.ApplyInversedTo(dpi.x); + unzoomed.y = dpi.zoom_level.ApplyInversedTo(dpi.y); + unzoomed.width = dpi.zoom_level.ApplyInversedTo(dpi.width); + unzoomed.height = dpi.zoom_level.ApplyInversedTo(dpi.height); + + ScreenCoordsXY topLeft = { unzoomed.x, unzoomed.y }; + ScreenCoordsXY topRight = { unzoomed.x + unzoomed.width - 1, unzoomed.y }; + ScreenCoordsXY bottomLeft = { unzoomed.x, unzoomed.y + unzoomed.height - 1 }; + ScreenCoordsXY bottomRight = { unzoomed.x + unzoomed.width - 1, unzoomed.y + unzoomed.height - 1 }; + GfxDrawLine(unzoomed, { topLeft, bottomRight }, PALETTE_INDEX_129); + GfxDrawLine(unzoomed, { topLeft, topRight }, PALETTE_INDEX_129); + GfxDrawLine(unzoomed, { topRight, bottomRight }, PALETTE_INDEX_129); + GfxDrawLine(unzoomed, { bottomLeft, bottomRight }, PALETTE_INDEX_129); + GfxDrawLine(unzoomed, { topLeft, bottomLeft }, PALETTE_INDEX_129); +} \ No newline at end of file diff --git a/src/openrct2/drawing/Drawing.h b/src/openrct2/drawing/Drawing.h index 0fcbdf39d5..69f5adde0b 100644 --- a/src/openrct2/drawing/Drawing.h +++ b/src/openrct2/drawing/Drawing.h @@ -633,4 +633,6 @@ void UpdatePaletteEffects(); void RefreshVideo(); void ToggleWindowedMode(); +void DebugDPI(DrawPixelInfo& dpi); + #include "NewDrawing.h" diff --git a/src/openrct2/interface/Viewport.cpp b/src/openrct2/interface/Viewport.cpp index dc2642b5db..91dfa45c96 100644 --- a/src/openrct2/interface/Viewport.cpp +++ b/src/openrct2/interface/Viewport.cpp @@ -1127,6 +1127,7 @@ static void ViewportPaint(const Viewport* viewport, DrawPixelInfo& dpi, const Sc else { ViewportPaintColumn(*session); + DebugDPI(session->DPI); // TODO. Debug change. Revert. } } if (useParallelDrawing) @@ -2081,12 +2082,14 @@ void ViewportSetSavedView() ZoomLevel ZoomLevel::min() { -#ifndef DISABLE_OPENGL - if (drawing_engine_get_type() == DrawingEngine::OpenGL) - { - return ZoomLevel{ -2 }; - } -#endif - - return ZoomLevel{ 0 }; + // TODO complete work for sofware zooming or revert change. + return ZoomLevel{ -2 }; +// #ifndef DISABLE_OPENGL +// if (drawing_engine_get_type() == DrawingEngine::OpenGL) +// { +// return ZoomLevel{ -2 }; +// } +// #endif +// +// return ZoomLevel{ 0 }; }