MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / HandlePlayerDebug

Function HandlePlayerDebug

TombEngine/Game/Lara/lara.cpp:63–140  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

61CollisionInfo LaraCollision = {};
62
63static void HandlePlayerDebug(const ItemInfo& item)
64{
65 // Collision stats.
66 if (g_Renderer.GetDebugPage() == RendererDebugPage::CollisionStats)
67 {
68 DrawNearbySectorFlags(item);
69 }
70 // Pathfinding stats.
71 else if (g_Renderer.GetDebugPage() == RendererDebugPage::PathfindingStats)
72 {
73 DrawPathfindingDebug(GetPointCollision(item).GetBottomSector().PathfindingBoxID);
74 }
75 // Collision mesh stats.
76 else if (g_Renderer.GetDebugPage() == RendererDebugPage::CollisionMeshStats)
77 {
78 auto bridgeItemNumbers = std::set<int>{};
79 const auto& room = g_Level.Rooms[Camera.pos.RoomNumber];
80
81 PrintDebugMessage("Room number: %d", Camera.pos.RoomNumber);
82 PrintDebugMessage("Sectors: %d", room.Sectors.size());
83 PrintDebugMessage("Bridges: %d", room.Bridges.GetIds().size());
84 PrintDebugMessage("Trigger volumes: %d", room.TriggerVolumes.size());
85
86 for (int neighborRoomNumber : room.NeighborRoomNumbers)
87 {
88 const auto& neighborRoom = g_Level.Rooms[neighborRoomNumber];
89
90 neighborRoom.CollisionMesh.DrawDebug();
91
92 // Draw door collision meshes.
93 for (int doorItemNumber : neighborRoom.Doors.GetIds())
94 {
95 const auto& doorItem = g_Level.Items[doorItemNumber];
96 const auto& door = GetDoorObject(doorItem);
97
98 door.CollisionMesh.DrawDebug();
99 }
100
101 // Collect bridge item numbers.
102 for (int bridgeItemNumber : neighborRoom.Bridges.GetIds())
103 bridgeItemNumbers.insert(bridgeItemNumber);
104
105 // Draw bridge tree.
106 neighborRoom.Bridges.DrawDebug();
107 }
108
109 // Draw bridge collision meshes.
110 for (int bridgeItemNumber : bridgeItemNumbers)
111 {
112 auto& bridgeItem = g_Level.Items[bridgeItemNumber];
113 auto& bridge = GetBridgeObject(bridgeItem);
114
115 bridge.GetCollisionMesh().DrawDebug();
116 }
117
118 // Print bridge item numbers in sector.
119 auto pointColl = GetPointCollision(item);
120 PrintDebugMessage("Bridge moveable IDs in room %d, sector %d:", pointColl.GetRoomNumber(), pointColl.GetSector().ID);

Callers 1

LaraControlFunction · 0.85

Calls 11

DrawNearbySectorFlagsFunction · 0.85
DrawPathfindingDebugFunction · 0.85
GetPointCollisionFunction · 0.85
PrintDebugMessageFunction · 0.85
GetDebugPageMethod · 0.80
GetIdsMethod · 0.80
sizeMethod · 0.45
DrawDebugMethod · 0.45
insertMethod · 0.45
GetRoomNumberMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected