Ticket #1187: Ticket#1187_V2.patch

File Ticket#1187_V2.patch, 2.5 KB (added by James, 12 years ago)

Attempt #2, hopefully minus some obvious flaws

  • config/default.cfg

     
    190190hotkey.timewarp.fastforward = Space         ; If timewarp mode enabled, speed up the game
    191191hotkey.timewarp.rewind = Backspace          ; If timewarp mode enabled, go back to earlier point in the game
    192192
     193
    193194; > OVERLAY KEYS
    194195hotkey.fps.toggle = "Alt+F"                  ; Toggle frame counter
    195196hotkey.session.devcommands.toggle = "Alt+D"  ; Toggle developer commands panel
    196197hotkey.session.gui.toggle = "Alt+G"          ; Toggle visibility of session GUI
    197198hotkey.menu.toggle = "F10"                   ; Toggle in-game menu
    198199hotkey.timeelapsedcounter.toggle = "F12"     ; Toggle time elapsed counter
     200hotkey.healthbars.toggle = Tab               ; Toggle display of health bars
    199201
     202
    200203; > HOTKEYS ONLY
    201204hotkey.chat = Return                        ; Toggle chat window
    202205
  • mods/public/gui/session/input.js

     
    3333var placementPosition = undefined;
    3434var placementEntity = undefined;
    3535
     36var entsOnScreen = [];
     37
    3638var mouseX = 0;
    3739var mouseY = 0;
    3840var mouseIsOverObject = false;
     
    714716        else if (ev.type == "hotkeyup" && ev.hotkey == "timewarp.rewind")
    715717            Engine.RewindTimeWarp();
    716718    }
     719   
     720    // Handle the hotkey to show all status bars from friendly units
     721    if(ev.type == "hotkeydown" && ev.hotkey == "healthbars.toggle")
     722    {
     723       
     724            entsOnScreen = Engine.PickFriendlyEntitiesOnScreen(Engine.GetPlayerID()); // find all friendly units on screen
     725            Engine.GuiInterfaceCall("SetStatusBars", { "entities":entsOnScreen, "enabled":true }); // show status bars for all friendly units on screen
     726    }
     727    // Hide status bars again when key is released
     728    else if(ev.type == "hotkeyup" && ev.hotkey == "healthbars.toggle")
     729    {
     730            var selected = g_Selection.toList();
     731            var highlighted = Engine.PickEntitiesAtPoint(mouseX, mouseY);   
     732            Engine.GuiInterfaceCall("SetStatusBars", { "entities":entsOnScreen, "enabled":false }); // Hide all status bars
     733            Engine.GuiInterfaceCall("SetStatusBars", { "entities":highlighted, "enabled":true }); //Replace status bars selected/highlighted units
     734            Engine.GuiInterfaceCall("SetStatusBars", { "entities":selected, "enabled":true });
     735    }
     736   
    717737
    718738    // State-machine processing:
    719739