Page MenuHomeWildfire Games

Fix structree / history civ button rebase error in D2240 / rP22854 and global hotekys triggering upon release in rP22851
ClosedPublic

Authored by elexis on Sep 9 2019, 5:59 PM.

Details

Summary

It seems I made a rebase error in D2240 / rP22854 and didn't update the civinfo buttons following rP22676;
and that rP22851/D2260 also triggered hotkeys upon release,
and that some "show dialog" buttons don't mean "show" but "toggle".

Test Plan

These buttons and the hotkey triggering them should swtich the pages correctly. Notice that the main menu didn't and still doesn't store the selected civ (while session and gamesetup do).
The real question is whether something else in that patch was forgotton too, or whether this truly was the only bug.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

elexis created this revision.Sep 9 2019, 5:59 PM
Vulcan added a comment.Sep 9 2019, 6:00 PM

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/112/display/redirect

Vulcan added a comment.Sep 9 2019, 6:04 PM

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 192| 192| 		"tooltip": translate("Exits the game."),
| 193| 193| 		"onPress": () => {
| 194| 194| 			messageBox(
| 195|    |-					400, 200,
|    | 195|+				400, 200,
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 193| 193| 		"onPress": () => {
| 194| 194| 			messageBox(
| 195| 195| 					400, 200,
| 196|    |-					translate("Are you sure you want to quit 0 A.D.?"),
|    | 196|+				translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
| 199| 199| 					[null, Engine.Exit]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 194| 194| 			messageBox(
| 195| 195| 					400, 200,
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197|    |-					translate("Confirmation"),
|    | 197|+				translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
| 199| 199| 					[null, Engine.Exit]);
| 200| 200| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 195| 195| 					400, 200,
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198|    |-					[translate("No"), translate("Yes")],
|    | 198|+				[translate("No"), translate("Yes")],
| 199| 199| 					[null, Engine.Exit]);
| 200| 200| 		}
| 201| 201| 	}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
| 199|    |-					[null, Engine.Exit]);
|    | 199|+				[null, Engine.Exit]);
| 200| 200| 		}
| 201| 201| 	}
| 202| 202| ];
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/621/display/redirect

Unfortunately I don't understand these lines of codes, therefore I don't consider myself capable of properly reviewing this.

Stan added a subscriber: Stan.Sep 10 2019, 11:24 AM

@Nescio just check whether you get the errors described in the test case when doing the test case, and no longer errors after applying the patch :)

Don't worry, I was more wondering why you said that the cache erasure fixed it. Also why I said that I couldnt reproduce. Also why I was sure that I had tested this. I hope space time continuum isn't broken x)
https://wildfiregames.com/forum/index.php?/topic/26274-breaking-changes-following-22379/page/2/&tab=comments#comment-384668

Today I noticed that clicking the History button when the Structure Tree window is opened no longer works in A24, nor does clicking the Structure Tree when the History window is opened.

Only when opening them from the pre-game main menu clicking the History button in the Structure Tree window closes the Structure Tree, rather than opening the History window, and clicking the Structure Tree button in the History window closes the History, rather than opening the Structure Tree

Thanks, deleting the cache solved it, sorry for the false alarm.

Do the civinfo/structree buttons actually work without the patch for you?
If no, up for a quick test whether the patch works?

Also I suppose I need to go through the commit completely again to verify that this was my only failure there.

elexis added inline comments.Sep 10 2019, 11:28 AM
binaries/data/mods/public/gui/pregame/MainMenuItems.js
44 ↗(On Diff #9683)

(Either 3 lines of duplication to suffer, or a global function violating OOP to suffer, or some suffering when one menu item refers to another, so the little duplication seems to be the least harmful.)

And I've tested by doing the following:

  • svn up and deleted cache
  • rebuilt the game with clean-workspaces.sh then update-workspaces.sh
  • binaries/system/pyrogenesis

It turns out the problems I reported on the forums last Friday are still there:

  • when opening "Learn To Play/Structure Tree" from the main menu:
    • clicking the "History" button closes it and returns to the main menu (instead of opening History)
    • pressing Alt+Shift+H opens History as it should
    • pressing Alt+Shift+T re-opens the Structure Tree (when it's already open, it should close)
  • mutatis mutandis for "Learn To Play/History"

Then I did arc patch D2273 and tried again. Clicking the History/Structure Tree button opens the corresponding window, as it should, so this patch apparently solves that problem. However, pressing Alt+Shift+H/T still re-opens the corresponding window, even though it should actually close it when it's already open, so that problem is still there.

elexis updated this revision to Diff 9771.Sep 15 2019, 11:18 AM

The dialog was reopened because the global hotkeys from rP22851 also trigger upon hotkey release -.-
Rename the hotkeys that toggle consistently from "show" to "toggle" and from "window" or "page" to "dialog" to distinguish it from the windows that are not dialogs (i.e. not opened on top of other pages).
Summary page should not continue to the next page for a "toggle dialog" hotkey (since entering a different page is not the task description of toggling a dialog).

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/177/display/redirect

elexis retitled this revision from Fix structree / history civ button rebase error in D2240 / rP22854 to Fix structree / history civ button rebase error in D2240 / rP22854 and global hotekys triggering upon release in rP22851.Sep 15 2019, 11:20 AM
elexis edited the summary of this revision. (Show Details)

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 192| 192| 		"tooltip": translate("Exits the game."),
| 193| 193| 		"onPress": () => {
| 194| 194| 			messageBox(
| 195|    |-					400, 200,
|    | 195|+				400, 200,
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 193| 193| 		"onPress": () => {
| 194| 194| 			messageBox(
| 195| 195| 					400, 200,
| 196|    |-					translate("Are you sure you want to quit 0 A.D.?"),
|    | 196|+				translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
| 199| 199| 					[null, Engine.Exit]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 194| 194| 			messageBox(
| 195| 195| 					400, 200,
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197|    |-					translate("Confirmation"),
|    | 197|+				translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
| 199| 199| 					[null, Engine.Exit]);
| 200| 200| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 195| 195| 					400, 200,
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198|    |-					[translate("No"), translate("Yes")],
|    | 198|+				[translate("No"), translate("Yes")],
| 199| 199| 					[null, Engine.Exit]);
| 200| 200| 		}
| 201| 201| 	}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
| 199|    |-					[null, Engine.Exit]);
|    | 199|+				[null, Engine.Exit]);
| 200| 200| 		}
| 201| 201| 	}
| 202| 202| ];
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 495| 495| 	Engine.GetGUIObjectByName("summaryText").caption =
| 496| 496| 		g_GameData.gui.isInGame ?
| 497| 497| 			translate("Current Scores") :
| 498|    |-		g_GameData.gui.isReplay ?
|    | 498|+			g_GameData.gui.isReplay ?
| 499| 499| 			translate("Scores at the end of the game.") :
| 500| 500| 		g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 496| 496| 		g_GameData.gui.isInGame ?
| 497| 497| 			translate("Current Scores") :
| 498| 498| 		g_GameData.gui.isReplay ?
| 499|    |-			translate("Scores at the end of the game.") :
|    | 499|+				translate("Scores at the end of the game.") :
| 500| 500| 		g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 497| 497| 			translate("Current Scores") :
| 498| 498| 		g_GameData.gui.isReplay ?
| 499| 499| 			translate("Scores at the end of the game.") :
| 500|    |-		g_GameData.gui.disconnected ?
|    | 500|+				g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
| 503| 503| 			translate("You have left the game.") :
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 498| 498| 		g_GameData.gui.isReplay ?
| 499| 499| 			translate("Scores at the end of the game.") :
| 500| 500| 		g_GameData.gui.disconnected ?
| 501|    |-			translate("You have been disconnected.") :
|    | 501|+					translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
| 503| 503| 			translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 499| 499| 			translate("Scores at the end of the game.") :
| 500| 500| 		g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
| 502|    |-		!assignedState ?
|    | 502|+					!assignedState ?
| 503| 503| 			translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 500| 500| 		g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
| 503|    |-			translate("You have left the game.") :
|    | 503|+						translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 501| 501| 			translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
| 503| 503| 			translate("You have left the game.") :
| 504|    |-		assignedState.state == "won" ?
|    | 504|+						assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
| 507| 507| 			translate("You have been defeated…") :
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 7 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 502| 502| 		!assignedState ?
| 503| 503| 			translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
| 505|    |-			translate("You have won the battle!") :
|    | 505|+							translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
| 507| 507| 			translate("You have been defeated…") :
| 508| 508| 			translate("You have abandoned the game.");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 7 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 503| 503| 			translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
| 506|    |-		assignedState.state == "defeated" ?
|    | 506|+							assignedState.state == "defeated" ?
| 507| 507| 			translate("You have been defeated…") :
| 508| 508| 			translate("You have abandoned the game.");
| 509| 509| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 8 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 504| 504| 		assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
| 507|    |-			translate("You have been defeated…") :
|    | 507|+								translate("You have been defeated…") :
| 508| 508| 			translate("You have abandoned the game.");
| 509| 509| 
| 510| 510| 	Engine.GetGUIObjectByName("timeElapsed").caption = sprintf(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 8 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 505| 505| 			translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
| 507| 507| 			translate("You have been defeated…") :
| 508|    |-			translate("You have abandoned the game.");
|    | 508|+								translate("You have abandoned the game.");
| 509| 509| 
| 510| 510| 	Engine.GetGUIObjectByName("timeElapsed").caption = sprintf(
| 511| 511| 		translate("Game time elapsed: %(time)s"), {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 1.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 510| 510| 	Engine.GetGUIObjectByName("timeElapsed").caption = sprintf(
| 511| 511| 		translate("Game time elapsed: %(time)s"), {
| 512| 512| 			"time": timeToString(g_GameData.sim.timeElapsed)
| 513|    |-	});
|    | 513|+		});
| 514| 514| 
| 515| 515| 	let mapType = g_Settings.MapTypes.find(type => type.Name == g_GameData.sim.mapSettings.mapType);
| 516| 516| 	let mapSize = g_Settings.MapSizes.find(size => size.Tiles == g_GameData.sim.mapSettings.Size || 0);

binaries/data/mods/public/gui/session/menu.js
| 469| »   »   button.onPress·=·(function(player,·stance)·{·return·function()·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'stance' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 501| »   »   button.onPress·=·(function(i,·resCode,·button)·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'i' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 501| »   »   button.onPress·=·(function(i,·resCode,·button)·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'resCode' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 501| »   »   button.onPress·=·(function(i,·resCode,·button)·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'button' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 544| »   button.onPress·=·(function(i)·{·return·function()·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'i' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 610| »   button.onPress·=·(function(i,·button)·{·return·function()·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'i' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 610| »   button.onPress·=·(function(i,·button)·{·return·function()·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'button' is already declared in the upper scope.
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/692/display/redirect

gui/manual/intro.txt has to be redone because of D2110/rP22904.

In D2273#95582, @Nescio wrote:

gui/manual/intro.txt has to be redone because of D2110/rP22904.

Well its not like one cant test the patch without that text hunk.

The periods were removed so that they are consistent (missing consistently)? At least if one adds a second sentence, then the first sentence will need the period, and then the second sentence stands out without a period. (I don't recall noticing that when looking at the patch.)
(I remember rP22188 also) (Anyway, will remove the periods for now I guess)

Sorry for not noticing in rP22904 when I was asked, but the structure tree and civilization information page are definitely dialogs (as in opened in a separate GUI page and closed with the close-dialog hotkey).
The diplomacy, trade and barter "window" could arguably fall out of that strict definition of a dialog (since its technically not opening a new GUI page), but it's still meant as an individual separate window / page / dialog, and it is closed with the close-hotkey.
That's different from the "panels" which are (possibly toggleable) elements of the current GUI page.
Part of the idea of the hunk was to clarify that a bit.
(It's also important for the "close" hotkey, as fpre proposed previously to switch pages when using the close hotkey, but IMO that should be a different hotkey, because closing a stacked dialog is a recoverable action (the dialog can be closed and opened arbitrarily without changing the state of the game), whereas closing the gamesetup page or closing the summary screen at the end of the game would be an irreversible action.)

elexis added inline comments.Sep 16 2019, 2:45 PM
binaries/data/mods/public/gui/manual/intro.txt
93 ↗(On Diff #9771)

This description is wrong for the main menu actually, since it swiches to the lobby page instead of opening it as a dialog.
(Replay menu also switches page, that might, should probably be changed to be a dialog, would have to consult the fgods)

elexis updated this revision to Diff 9802.Sep 16 2019, 2:46 PM

Abandon default.cfg and intro.txt changes, since the texts are out of sync and some of the texts are wrong (sometimes they are used for dialogs, other times for pageswitches).

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 192| 192| 		"tooltip": translate("Exits the game."),
| 193| 193| 		"onPress": () => {
| 194| 194| 			messageBox(
| 195|    |-					400, 200,
|    | 195|+				400, 200,
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 193| 193| 		"onPress": () => {
| 194| 194| 			messageBox(
| 195| 195| 					400, 200,
| 196|    |-					translate("Are you sure you want to quit 0 A.D.?"),
|    | 196|+				translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
| 199| 199| 					[null, Engine.Exit]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 194| 194| 			messageBox(
| 195| 195| 					400, 200,
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197|    |-					translate("Confirmation"),
|    | 197|+				translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
| 199| 199| 					[null, Engine.Exit]);
| 200| 200| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 195| 195| 					400, 200,
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198|    |-					[translate("No"), translate("Yes")],
|    | 198|+				[translate("No"), translate("Yes")],
| 199| 199| 					[null, Engine.Exit]);
| 200| 200| 		}
| 201| 201| 	}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/pregame/MainMenuItems.js
| 196| 196| 					translate("Are you sure you want to quit 0 A.D.?"),
| 197| 197| 					translate("Confirmation"),
| 198| 198| 					[translate("No"), translate("Yes")],
| 199|    |-					[null, Engine.Exit]);
|    | 199|+				[null, Engine.Exit]);
| 200| 200| 		}
| 201| 201| 	}
| 202| 202| ];
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 495| 495| 	Engine.GetGUIObjectByName("summaryText").caption =
| 496| 496| 		g_GameData.gui.isInGame ?
| 497| 497| 			translate("Current Scores") :
| 498|    |-		g_GameData.gui.isReplay ?
|    | 498|+			g_GameData.gui.isReplay ?
| 499| 499| 			translate("Scores at the end of the game.") :
| 500| 500| 		g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 496| 496| 		g_GameData.gui.isInGame ?
| 497| 497| 			translate("Current Scores") :
| 498| 498| 		g_GameData.gui.isReplay ?
| 499|    |-			translate("Scores at the end of the game.") :
|    | 499|+				translate("Scores at the end of the game.") :
| 500| 500| 		g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 497| 497| 			translate("Current Scores") :
| 498| 498| 		g_GameData.gui.isReplay ?
| 499| 499| 			translate("Scores at the end of the game.") :
| 500|    |-		g_GameData.gui.disconnected ?
|    | 500|+				g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
| 503| 503| 			translate("You have left the game.") :
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 498| 498| 		g_GameData.gui.isReplay ?
| 499| 499| 			translate("Scores at the end of the game.") :
| 500| 500| 		g_GameData.gui.disconnected ?
| 501|    |-			translate("You have been disconnected.") :
|    | 501|+					translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
| 503| 503| 			translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 499| 499| 			translate("Scores at the end of the game.") :
| 500| 500| 		g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
| 502|    |-		!assignedState ?
|    | 502|+					!assignedState ?
| 503| 503| 			translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 500| 500| 		g_GameData.gui.disconnected ?
| 501| 501| 			translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
| 503|    |-			translate("You have left the game.") :
|    | 503|+						translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 501| 501| 			translate("You have been disconnected.") :
| 502| 502| 		!assignedState ?
| 503| 503| 			translate("You have left the game.") :
| 504|    |-		assignedState.state == "won" ?
|    | 504|+						assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
| 507| 507| 			translate("You have been defeated…") :
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 7 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 502| 502| 		!assignedState ?
| 503| 503| 			translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
| 505|    |-			translate("You have won the battle!") :
|    | 505|+							translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
| 507| 507| 			translate("You have been defeated…") :
| 508| 508| 			translate("You have abandoned the game.");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 7 tabs but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 503| 503| 			translate("You have left the game.") :
| 504| 504| 		assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
| 506|    |-		assignedState.state == "defeated" ?
|    | 506|+							assignedState.state == "defeated" ?
| 507| 507| 			translate("You have been defeated…") :
| 508| 508| 			translate("You have abandoned the game.");
| 509| 509| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 8 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 504| 504| 		assignedState.state == "won" ?
| 505| 505| 			translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
| 507|    |-			translate("You have been defeated…") :
|    | 507|+								translate("You have been defeated…") :
| 508| 508| 			translate("You have abandoned the game.");
| 509| 509| 
| 510| 510| 	Engine.GetGUIObjectByName("timeElapsed").caption = sprintf(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 8 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 505| 505| 			translate("You have won the battle!") :
| 506| 506| 		assignedState.state == "defeated" ?
| 507| 507| 			translate("You have been defeated…") :
| 508|    |-			translate("You have abandoned the game.");
|    | 508|+								translate("You have abandoned the game.");
| 509| 509| 
| 510| 510| 	Engine.GetGUIObjectByName("timeElapsed").caption = sprintf(
| 511| 511| 		translate("Game time elapsed: %(time)s"), {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 1.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/summary/summary.js
| 510| 510| 	Engine.GetGUIObjectByName("timeElapsed").caption = sprintf(
| 511| 511| 		translate("Game time elapsed: %(time)s"), {
| 512| 512| 			"time": timeToString(g_GameData.sim.timeElapsed)
| 513|    |-	});
|    | 513|+		});
| 514| 514| 
| 515| 515| 	let mapType = g_Settings.MapTypes.find(type => type.Name == g_GameData.sim.mapSettings.mapType);
| 516| 516| 	let mapSize = g_Settings.MapSizes.find(size => size.Tiles == g_GameData.sim.mapSettings.Size || 0);

binaries/data/mods/public/gui/session/menu.js
| 469| »   »   button.onPress·=·(function(player,·stance)·{·return·function()·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'stance' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 501| »   »   button.onPress·=·(function(i,·resCode,·button)·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'i' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 501| »   »   button.onPress·=·(function(i,·resCode,·button)·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'resCode' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 501| »   »   button.onPress·=·(function(i,·resCode,·button)·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'button' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 544| »   button.onPress·=·(function(i)·{·return·function()·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'i' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 610| »   button.onPress·=·(function(i,·button)·{·return·function()·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'i' is already declared in the upper scope.

binaries/data/mods/public/gui/session/menu.js
| 610| »   button.onPress·=·(function(i,·button)·{·return·function()·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'button' is already declared in the upper scope.
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/716/display/redirect

With this patch, the History and Structure Tree behaviour in A24 seems to be the same as it was in A23, both in pre-game main menu and in in-game session:

  • pressing Alt+Shift+H/T opens History/Structure Tree
  • pressing Alt+Shift+H/T again when History/Structure Tree is already open, closes it
  • clicking the Structure Tree button in History opens Structure Tree
  • clicking the History button in Structure Tree opens History
This revision was not accepted when it landed; it landed in state Needs Review.Sep 18 2019, 12:42 AM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Owners added a subscriber: Restricted Owners Package.Sep 18 2019, 12:42 AM