mirror of
https://github.com/k4zmu2a/SpaceCadetPinball.git
synced 2024-12-18 10:37:53 +01:00
Added sprite positions to debug overlay.
This commit is contained in:
parent
5d7d7c0822
commit
c93e11ee6b
5 changed files with 27 additions and 0 deletions
|
@ -101,6 +101,10 @@ void DebugOverlay::DrawOverlay()
|
||||||
if (options::Options.DebugOverlayGrid)
|
if (options::Options.DebugOverlayGrid)
|
||||||
DrawBoxGrid();
|
DrawBoxGrid();
|
||||||
|
|
||||||
|
// Draw bounding boxes around sprites
|
||||||
|
if (options::Options.DebugOverlaySprites)
|
||||||
|
DrawAllSprites();
|
||||||
|
|
||||||
// Draw all edges registered in TCollisionComponent.EdgeList + flippers
|
// Draw all edges registered in TCollisionComponent.EdgeList + flippers
|
||||||
if (options::Options.DebugOverlayAllEdges)
|
if (options::Options.DebugOverlayAllEdges)
|
||||||
DrawAllEdges();
|
DrawAllEdges();
|
||||||
|
@ -204,6 +208,23 @@ void DebugOverlay::DrawBallInfo()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DebugOverlay::DrawAllSprites()
|
||||||
|
{
|
||||||
|
SDL_SetRenderDrawColor(winmain::Renderer, 200, 200, 0, 255);
|
||||||
|
for (auto cmp : pb::MainTable->ComponentList)
|
||||||
|
{
|
||||||
|
if (cmp->RenderSprite)
|
||||||
|
{
|
||||||
|
auto& bmpR = cmp->RenderSprite->BmpRect;
|
||||||
|
if (bmpR.Width != 0 && bmpR.Height != 0)
|
||||||
|
{
|
||||||
|
SDL_Rect rect{ bmpR.XPosition, bmpR.YPosition, bmpR.Width, bmpR.Height };
|
||||||
|
SDL_RenderDrawRect(winmain::Renderer, &rect);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void DebugOverlay::DrawCicleType(circle_type& circle)
|
void DebugOverlay::DrawCicleType(circle_type& circle)
|
||||||
{
|
{
|
||||||
vector2 linePt{ circle.Center.X + sqrt(circle.RadiusSq), circle.Center.Y };
|
vector2 linePt{ circle.Center.X + sqrt(circle.RadiusSq), circle.Center.Y };
|
||||||
|
|
|
@ -19,4 +19,5 @@ private:
|
||||||
static void DrawBoxGrid();
|
static void DrawBoxGrid();
|
||||||
static void DrawAllEdges();
|
static void DrawAllEdges();
|
||||||
static void DrawBallInfo();
|
static void DrawBallInfo();
|
||||||
|
static void DrawAllSprites();
|
||||||
};
|
};
|
|
@ -111,6 +111,7 @@ void options::InitPrimary()
|
||||||
Options.DebugOverlayBallPosition = get_int("Debug Overlay Ball Position", true);
|
Options.DebugOverlayBallPosition = get_int("Debug Overlay Ball Position", true);
|
||||||
Options.DebugOverlayBallEdges = get_int("Debug Overlay Ball Edges", true);
|
Options.DebugOverlayBallEdges = get_int("Debug Overlay Ball Edges", true);
|
||||||
Options.DebugOverlayCollisionMask = get_int("Debug Overlay Collision Mask", true);
|
Options.DebugOverlayCollisionMask = get_int("Debug Overlay Collision Mask", true);
|
||||||
|
Options.DebugOverlaySprites = get_int("Debug Overlay Sprites", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void options::InitSecondary()
|
void options::InitSecondary()
|
||||||
|
@ -157,6 +158,7 @@ void options::uninit()
|
||||||
set_int("Debug Overlay Ball Position", Options.DebugOverlayBallPosition);
|
set_int("Debug Overlay Ball Position", Options.DebugOverlayBallPosition);
|
||||||
set_int("Debug Overlay Ball Edges", Options.DebugOverlayBallEdges);
|
set_int("Debug Overlay Ball Edges", Options.DebugOverlayBallEdges);
|
||||||
set_int("Debug Overlay Collision Mask", Options.DebugOverlayCollisionMask);
|
set_int("Debug Overlay Collision Mask", Options.DebugOverlayCollisionMask);
|
||||||
|
set_int("Debug Overlay Sprites", Options.DebugOverlaySprites);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,7 @@ struct optionsStruct
|
||||||
bool DebugOverlayBallPosition;
|
bool DebugOverlayBallPosition;
|
||||||
bool DebugOverlayBallEdges;
|
bool DebugOverlayBallEdges;
|
||||||
bool DebugOverlayCollisionMask;
|
bool DebugOverlayCollisionMask;
|
||||||
|
bool DebugOverlaySprites;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ControlRef
|
struct ControlRef
|
||||||
|
|
|
@ -600,6 +600,8 @@ void winmain::RenderUi()
|
||||||
{
|
{
|
||||||
if (ImGui::MenuItem("Box Grid", nullptr, Options.DebugOverlayGrid))
|
if (ImGui::MenuItem("Box Grid", nullptr, Options.DebugOverlayGrid))
|
||||||
Options.DebugOverlayGrid ^= true;
|
Options.DebugOverlayGrid ^= true;
|
||||||
|
if (ImGui::MenuItem("Sprite Positions", nullptr, Options.DebugOverlaySprites))
|
||||||
|
Options.DebugOverlaySprites ^= true;
|
||||||
if (ImGui::MenuItem("All Edges", nullptr, Options.DebugOverlayAllEdges))
|
if (ImGui::MenuItem("All Edges", nullptr, Options.DebugOverlayAllEdges))
|
||||||
Options.DebugOverlayAllEdges ^= true;
|
Options.DebugOverlayAllEdges ^= true;
|
||||||
if (ImGui::MenuItem("Ball Position", nullptr, Options.DebugOverlayBallPosition))
|
if (ImGui::MenuItem("Ball Position", nullptr, Options.DebugOverlayBallPosition))
|
||||||
|
|
Loading…
Reference in a new issue