mirror of
https://github.com/rwengine/openrw.git
synced 2024-09-18 16:32:32 +02:00
Clean up debug view selection code
This commit is contained in:
parent
02efff6f8f
commit
40d27b4a07
@ -722,19 +722,24 @@ void RWGame::render(float alpha, float time) {
|
|||||||
auto rendertime = renderer->getRenderer()->popDebugGroup();
|
auto rendertime = renderer->getRenderer()->popDebugGroup();
|
||||||
|
|
||||||
RW_PROFILE_BEGIN("debug");
|
RW_PROFILE_BEGIN("debug");
|
||||||
if (showDebugPaths) {
|
switch (debugview_) {
|
||||||
renderDebugPaths(time);
|
case DebugViewMode::General:
|
||||||
}
|
|
||||||
|
|
||||||
if (showDebugStats) {
|
|
||||||
renderDebugStats(time, rendertime);
|
renderDebugStats(time, rendertime);
|
||||||
}
|
break;
|
||||||
|
case DebugViewMode::Physics:
|
||||||
if (showDebugPhysics) {
|
|
||||||
if (world) {
|
if (world) {
|
||||||
world->dynamicsWorld->debugDrawWorld();
|
world->dynamicsWorld->debugDrawWorld();
|
||||||
debug->flush(renderer);
|
debug->flush(renderer);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case DebugViewMode::Navigation:
|
||||||
|
renderDebugPaths(time);
|
||||||
|
break;
|
||||||
|
case DebugViewMode::Objects:
|
||||||
|
/// @todo
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
RW_PROFILE_END();
|
RW_PROFILE_END();
|
||||||
|
|
||||||
@ -960,6 +965,10 @@ void RWGame::renderProfile() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void RWGame::globalKeyEvent(const SDL_Event& event) {
|
void RWGame::globalKeyEvent(const SDL_Event& event) {
|
||||||
|
const auto toggle_debug = [&](DebugViewMode m) {
|
||||||
|
debugview_ = debugview_ == m ? DebugViewMode::Disabled : m;
|
||||||
|
};
|
||||||
|
|
||||||
switch (event.key.keysym.sym) {
|
switch (event.key.keysym.sym) {
|
||||||
case SDLK_LEFTBRACKET:
|
case SDLK_LEFTBRACKET:
|
||||||
world->offsetGameTime(-30);
|
world->offsetGameTime(-30);
|
||||||
@ -974,13 +983,16 @@ void RWGame::globalKeyEvent(const SDL_Event& event) {
|
|||||||
timescale *= 2.0f;
|
timescale *= 2.0f;
|
||||||
break;
|
break;
|
||||||
case SDLK_F1:
|
case SDLK_F1:
|
||||||
showDebugStats = !showDebugStats;
|
toggle_debug(DebugViewMode::General);
|
||||||
break;
|
break;
|
||||||
case SDLK_F2:
|
case SDLK_F2:
|
||||||
showDebugPaths = !showDebugPaths;
|
toggle_debug(DebugViewMode::Navigation);
|
||||||
break;
|
break;
|
||||||
case SDLK_F3:
|
case SDLK_F3:
|
||||||
showDebugPhysics = !showDebugPhysics;
|
toggle_debug(DebugViewMode::Physics);
|
||||||
|
break;
|
||||||
|
case SDLK_F4:
|
||||||
|
toggle_debug(DebugViewMode::Objects);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -33,9 +33,16 @@ class RWGame {
|
|||||||
|
|
||||||
bool inFocus = true;
|
bool inFocus = true;
|
||||||
ViewCamera lastCam, nextCam;
|
ViewCamera lastCam, nextCam;
|
||||||
bool showDebugStats = false;
|
|
||||||
bool showDebugPaths = false;
|
enum class DebugViewMode {
|
||||||
bool showDebugPhysics = false;
|
Disabled,
|
||||||
|
General,
|
||||||
|
Physics,
|
||||||
|
Navigation,
|
||||||
|
Objects
|
||||||
|
};
|
||||||
|
|
||||||
|
DebugViewMode debugview_ = DebugViewMode::Disabled;
|
||||||
int lastDraws; /// Number of draws issued for the last frame.
|
int lastDraws; /// Number of draws issued for the last frame.
|
||||||
|
|
||||||
std::string cheatInputWindow = std::string(32, ' ');
|
std::string cheatInputWindow = std::string(32, ' ');
|
||||||
|
Loading…
Reference in New Issue
Block a user