feat: implement TOGGLE_MINIMAP and TOGGLE_RAID_FRAMES keybindings

- Add showMinimap_ and showRaidFrames_ visibility flags to GameScreen
- Wire up TOGGLE_MINIMAP (M key) to toggle minimap visibility
- Wire up TOGGLE_RAID_FRAMES (F key) to toggle party/raid frame visibility
- Conditional rendering of minimap markers and party frames
- Completes keybinding manager integration for all 15 customizable actions
This commit is contained in:
Kelsi 2026-03-11 09:24:37 -07:00
parent 1aa404d670
commit 1808d98978
2 changed files with 16 additions and 2 deletions

View file

@ -63,10 +63,12 @@ private:
// UI state // UI state
bool showEntityWindow = false; bool showEntityWindow = false;
bool showChatWindow = true; bool showChatWindow = true;
bool showMinimap_ = true; // M key toggles minimap
bool showNameplates_ = true; // V key toggles nameplates bool showNameplates_ = true; // V key toggles nameplates
bool showPlayerInfo = false; bool showPlayerInfo = false;
bool showSocialFrame_ = false; // O key toggles social/friends list bool showSocialFrame_ = false; // O key toggles social/friends list
bool showGuildRoster_ = false; bool showGuildRoster_ = false;
bool showRaidFrames_ = true; // F key toggles raid/party frames
bool showWorldMap_ = false; // W key toggles world map bool showWorldMap_ = false; // W key toggles world map
std::string selectedGuildMember_; std::string selectedGuildMember_;
bool showGuildNoteEdit_ = false; bool showGuildNoteEdit_ = false;

View file

@ -408,7 +408,9 @@ void GameScreen::render(game::GameHandler& gameHandler) {
renderNameplates(gameHandler); // player names always shown; NPC plates gated by showNameplates_ renderNameplates(gameHandler); // player names always shown; NPC plates gated by showNameplates_
renderBattlegroundScore(gameHandler); renderBattlegroundScore(gameHandler);
renderCombatText(gameHandler); renderCombatText(gameHandler);
renderPartyFrames(gameHandler); if (showRaidFrames_) {
renderPartyFrames(gameHandler);
}
renderBossFrames(gameHandler); renderBossFrames(gameHandler);
renderGroupInvitePopup(gameHandler); renderGroupInvitePopup(gameHandler);
renderDuelRequestPopup(gameHandler); renderDuelRequestPopup(gameHandler);
@ -440,7 +442,9 @@ void GameScreen::render(game::GameHandler& gameHandler) {
renderDungeonFinderWindow(gameHandler); renderDungeonFinderWindow(gameHandler);
renderInstanceLockouts(gameHandler); renderInstanceLockouts(gameHandler);
// renderQuestMarkers(gameHandler); // Disabled - using 3D billboard markers now // renderQuestMarkers(gameHandler); // Disabled - using 3D billboard markers now
renderMinimapMarkers(gameHandler); if (showMinimap_) {
renderMinimapMarkers(gameHandler);
}
renderDeathScreen(gameHandler); renderDeathScreen(gameHandler);
renderReclaimCorpseButton(gameHandler); renderReclaimCorpseButton(gameHandler);
renderResurrectDialog(gameHandler); renderResurrectDialog(gameHandler);
@ -1483,6 +1487,14 @@ void GameScreen::processTargetInput(game::GameHandler& gameHandler) {
showWorldMap_ = !showWorldMap_; showWorldMap_ = !showWorldMap_;
} }
if (KeybindingManager::getInstance().isActionPressed(KeybindingManager::Action::TOGGLE_MINIMAP)) {
showMinimap_ = !showMinimap_;
}
if (KeybindingManager::getInstance().isActionPressed(KeybindingManager::Action::TOGGLE_RAID_FRAMES)) {
showRaidFrames_ = !showRaidFrames_;
}
// Action bar keys (1-9, 0, -, =) // Action bar keys (1-9, 0, -, =)
static const SDL_Scancode actionBarKeys[] = { static const SDL_Scancode actionBarKeys[] = {
SDL_SCANCODE_1, SDL_SCANCODE_2, SDL_SCANCODE_3, SDL_SCANCODE_4, SDL_SCANCODE_1, SDL_SCANCODE_2, SDL_SCANCODE_3, SDL_SCANCODE_4,