Browse Source

Cleanup DrawAutomapText (#8345)

pull/8331/head^2
Eric Robinson 3 months ago committed by GitHub
parent
commit
d0fb28d544
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 111
      Source/automap.cpp

111
Source/automap.cpp

@ -1411,54 +1411,59 @@ void DrawAutomapText(const Surface &out)
{ {
Point linePosition { 8, 8 }; Point linePosition { 8, 8 };
auto advanceLine = [&](int numLines = 1) {
linePosition.y += 15 * numLines;
};
auto drawStringAndAdvanceLine = [&](std::string_view text, TextRenderOptions opts = {}, int numLines = 1) {
DrawString(out, text, linePosition, opts);
advanceLine(numLines);
};
if (*GetOptions().Graphics.showFPS) { if (*GetOptions().Graphics.showFPS) {
linePosition.y += 15; advanceLine();
} }
if (gbIsMultiplayer) { if (gbIsMultiplayer) {
if (GameName != "0.0.0.0" && !IsLoopback) { if (GameName != "0.0.0.0" && !IsLoopback) {
std::string description = std::string(_("Game: ")); std::string description = std::string(_("Game: "));
description.append(GameName); description.append(GameName);
DrawString(out, description, linePosition); drawStringAndAdvanceLine(description);
linePosition.y += 15;
} }
std::string description; std::string description;
if (IsLoopback) { if (IsLoopback) {
description = std::string(_("Offline Game")); description = std::string(_("Offline Game"));
} else if (!PublicGame) { } else if (PublicGame) {
description = std::string(_("Public Game"));
} else {
description = std::string(_("Password: ")); description = std::string(_("Password: "));
description.append(GamePassword); description.append(GamePassword);
} else {
description = std::string(_("Public Game"));
} }
DrawString(out, description, linePosition); drawStringAndAdvanceLine(description);
linePosition.y += 15;
} }
if (setlevel) { if (setlevel) {
DrawString(out, _(QuestLevelNames[setlvlnum]), linePosition); drawStringAndAdvanceLine(_(QuestLevelNames[setlvlnum]));
return; } else {
} std::string description;
switch (leveltype) {
std::string description; case DTYPE_NEST:
switch (leveltype) { description = fmt::format(fmt::runtime(_("Level: Nest {:d}")), currlevel - 16);
case DTYPE_NEST: break;
description = fmt::format(fmt::runtime(_("Level: Nest {:d}")), currlevel - 16); case DTYPE_CRYPT:
break; description = fmt::format(fmt::runtime(_("Level: Crypt {:d}")), currlevel - 20);
case DTYPE_CRYPT: break;
description = fmt::format(fmt::runtime(_("Level: Crypt {:d}")), currlevel - 20); case DTYPE_TOWN:
break; description = std::string(_("Town"));
case DTYPE_TOWN: break;
description = std::string(_("Town")); default:
break; description = fmt::format(fmt::runtime(_("Level: {:d}")), currlevel);
default: break;
description = fmt::format(fmt::runtime(_("Level: {:d}")), currlevel); }
break; drawStringAndAdvanceLine(description);
} }
DrawString(out, description, linePosition);
linePosition.y += 15;
std::string_view difficulty; std::string_view difficulty;
switch (sgGameInitInfo.nDifficulty) { switch (sgGameInitInfo.nDifficulty) {
case DIFF_NORMAL: case DIFF_NORMAL:
@ -1472,42 +1477,28 @@ void DrawAutomapText(const Surface &out)
break; break;
} }
const std::string difficultyString = fmt::format(fmt::runtime(_(/* TRANSLATORS: {:s} means: Game Difficulty. */ "Difficulty: {:s}")), difficulty); const std::string description = fmt::format(fmt::runtime(_(/* TRANSLATORS: {:s} means: Game Difficulty. */ "Difficulty: {:s}")), difficulty);
DrawString(out, difficultyString, linePosition); drawStringAndAdvanceLine(description);
#ifdef _DEBUG #ifdef _DEBUG
const TextRenderOptions debugTextOptions { const TextRenderOptions disabled {
.flags = UiFlags::ColorBlack,
};
const TextRenderOptions enabled {
.flags = UiFlags::ColorOrange, .flags = UiFlags::ColorOrange,
}; };
linePosition.y += 45;
if (DebugGodMode) { advanceLine();
linePosition.y += 15; drawStringAndAdvanceLine("Debug toggles:");
DrawString(out, "God Mode", linePosition, debugTextOptions); drawStringAndAdvanceLine("Player:");
} drawStringAndAdvanceLine("God Mode", DebugGodMode ? enabled : disabled);
if (DebugInvisible) { drawStringAndAdvanceLine("Invisible", DebugInvisible ? enabled : disabled);
linePosition.y += 15; drawStringAndAdvanceLine("Display:");
DrawString(out, "Invisible", linePosition, debugTextOptions); drawStringAndAdvanceLine("Fullbright", DisableLighting ? enabled : disabled);
} drawStringAndAdvanceLine("Draw Vision", DebugVision ? enabled : disabled);
if (DisableLighting) { drawStringAndAdvanceLine("Draw Path", DebugPath ? enabled : disabled);
linePosition.y += 15; drawStringAndAdvanceLine("Draw Grid", DebugGrid ? enabled : disabled);
DrawString(out, "Fullbright", linePosition, debugTextOptions); drawStringAndAdvanceLine("Scroll View", DebugScrollViewEnabled ? enabled : disabled);
}
if (DebugVision) {
linePosition.y += 15;
DrawString(out, "Draw Vision", linePosition, debugTextOptions);
}
if (DebugPath) {
linePosition.y += 15;
DrawString(out, "Draw Path", linePosition, debugTextOptions);
}
if (DebugGrid) {
linePosition.y += 15;
DrawString(out, "Draw Grid", linePosition, debugTextOptions);
}
if (DebugScrollViewEnabled) {
linePosition.y += 15;
DrawString(out, "Scroll View", linePosition, debugTextOptions);
}
#endif #endif
} }

Loading…
Cancel
Save