The rottags key alone now toggles hog tags; preecise+rottags is used to cycle tags
authorWuzzy <Wuzzy2@mail.ru>
Thu, 15 Feb 2018 13:49:14 +0100
changeset 13012 8a8aaaf97a95
parent 13011 32682963b7d9
child 13013 99ff8f4810f4
The rottags key alone now toggles hog tags; preecise+rottags is used to cycle tags I figured that the toggling hog tags on and off is a bit more important than changing the tag types, because you sometimes run into a hog whose tags block your view, so a 1-key press is helpful. On the other hand, you probably only want to changing the tag types in the game once (if at all).
QTfrontend/binds.cpp
README.md
hedgewars/uCommandHandlers.pas
--- a/QTfrontend/binds.cpp	Thu Feb 15 13:34:17 2018 +0100
+++ b/QTfrontend/binds.cpp	Thu Feb 15 13:49:14 2018 +0100
@@ -69,7 +69,7 @@
     {"+speedup",  "s",          QT_TRANSLATE_NOOP("binds", "speed up replay"),         NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Demo replay:")},
     //: This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen
     {"rotmask",   "delete",     QT_TRANSLATE_NOOP("binds", "toggle team bars"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Heads-up display:")},
-    {"rottags",   "home",       QT_TRANSLATE_NOOP("binds", "change hedgehog tags"), NULL, NULL},
+    {"rottags",   "home",       QT_TRANSLATE_NOOP("binds", "toggle hedgehog tags"), NULL, NULL},
 #ifdef VIDEOREC
     {"record",    "r",          QT_TRANSLATE_NOOP("binds", "record"),          NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Record video:")}
 #endif
--- a/README.md	Thu Feb 15 13:34:17 2018 +0100
+++ b/README.md	Thu Feb 15 13:49:14 2018 +0100
@@ -75,8 +75,8 @@
 These are lesser-known controls of Hedgewars, they are based on your
 configured controls:
 
-* Precise + Change hedgehog tags: Turn all hedgehog tags on and off
-* Switch + Change hedgehog tags: Toggle hedgehog tag translucency
+* Precise + Toggle hedgehog tags: Change visible hedgehog tags (team name/hog name/health)
+* Switch + Toggle hedgehog tags: Toggle hedgehog tag translucency
 * Precise + Toggle team bars + Switch: Toggle HUD
 * Precise + Capture (screenshot key): Save current map + mask into Screenshot directory
 
--- a/hedgewars/uCommandHandlers.pas	Thu Feb 15 13:34:17 2018 +0100
+++ b/hedgewars/uCommandHandlers.pas	Thu Feb 15 13:49:14 2018 +0100
@@ -637,24 +637,24 @@
         cTagsMask:= cTagsMask and (not htTransparent);
         cPrevTagsMask:= cPrevTagsMask and (not htTransparent)
         end
-// Rotate Tags key + Precise: Toggle all tags on and off
+// Rotate Tags key + Precise: Cycle through hog tags (keeping translucency)
 else if LocalMessage and gmPrecise = gmPrecise then
+    begin
+    cPrevTagsMask:= cTagsMask;
+    if ((GameFlags and gfInvulnerable) = 0) then
+        cTagsMask:= cTagsMasks[cTagsMask]
+    else
+        cTagsMask:= cTagsMasksNoHealth[cTagsMask]
+    end
+// Rotate Tags key only: Toggle all hog tags on and off
+else
     if ((cTagsMask and (htTeamName or htName or htHealth)) = 0) then
         cTagsMask:= cPrevTagsMask
     else
         begin
         cPrevTagsMask:= cTagsMask;
         cTagsMask:= cTagsMask and (not (htTeamName or htName or htHealth))
-        end
-// Rotate Tags key only: Rotate hog tags
-else
-    begin
-    cPrevTagsMask:= cTagsMask;
-    if ((GameFlags and gfInvulnerable) = 0) then
-        cTagsMask:= cTagsMasks[cTagsMask]
-    else
-        cTagsMask:= cTagsMasksNoHealth[cTagsMask]
-    end;
+        end;
 end;
 
 procedure chSpeedup_p(var s: shortstring);