Page MenuHomeWildfire Games

Do not allow upgrading when entity is producing and vice versa.
ClosedPublic

Authored by Silier on Mar 15 2020, 12:51 PM.

Details

Reviewers
bb
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Commits
rP24088: Do not allow upgrading when entity is producing and vice versa.
Trac Tickets
#2706
#5749
Summary

See rP23185, rP23239 and ticket 2706

elexis

I'm not sure if it even makes sense to allow researching techs while upgrading, since the upgraded structure might not provide that technology.

Nescio

Entities shouldn't be able to train or research anything while (un)packing or being upgraded.

Messages are displayed to player when action cannot be done.
Petra does not upgrade entities, so do not care in this diff about her to not be able to start production.

Test Plan

Test that producing entity cannot be upgraded.
Test that upgrading entity cannot start production.
Test that with multiple selection entities not producing can start upgrading and vice versa.

Diff Detail

Repository
rP 0 A.D. Public Repository
Branch
/ps/trunk
Lint
Lint OK
SeverityLocationCodeMessage
Warningbinaries/data/mods/public/gui/session/input.js:241ESLintBear (no-undef-init)ESLintBear (no-undef-init)
Warningbinaries/data/mods/public/gui/session/input.js:474ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/gui/session/input.js:489ESLintBear (operator-linebreak)ESLintBear (operator-linebreak)
Warningbinaries/data/mods/public/gui/session/input.js:501ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/gui/session/input.js:505ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/gui/session/input.js:560ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/gui/session/input.js:570ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/gui/session/input.js:618ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/gui/session/input.js:647ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/gui/session/input.js:649ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/input.js:650ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/input.js:652ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/input.js:653ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/input.js:654ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/input.js:655ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/input.js:656ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/input.js:657ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/input.js:658ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/input.js:659ESLintBear (indent)ESLintBear (indent)
Warningbinaries/data/mods/public/gui/session/selection_panels.js:50ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/gui/session/selection_panels.js:61ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/gui/session/selection_panels.js:733ESLintBear (default-case)ESLintBear (default-case)
Warningbinaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js:93ESLintBear (no-shadow)ESLintBear (no-shadow)
Warningbinaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js:126ESLintBear (semi)ESLintBear (semi)
Warningbinaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js:126JSHintBearJSHintBear
Unit
No Unit Test Coverage
Build Status
Buildable 13141
Build 26117: Vulcan BuildJenkins
Build 26116: Vulcan Build (macOS)Jenkins
Build 26115: Vulcan Build (Windows)Jenkins
Build 26114: arc lint + arc unit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Silier updated this revision to Diff 13150.Aug 9 2020, 1:21 PM

fix tests

Vulcan added a comment.Aug 9 2020, 1:39 PM

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

Linter detected issues:
Executing section Source...
Executing section JS...
**** ESLintBear (semi) [Section <empty> | Severity NORMAL] ****
!    ! Missing semicolon.
[----] /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js
[++++] /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js
[ 126] })
[ 126] });

binaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js
[  93] »   "ApplyTemplateModifiers":·(valueName,·curValue,·template,·player)·=>·{
**** ESLintBear (no-shadow) [Section: JS | Severity: NORMAL] ****
!    ! 'template' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js
[ 126] })
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! Missing semicolon.
**** ESLintBear (no-multi-spaces) [Section <empty> | Severity NORMAL] ****
!    ! Multiple spaces found before 'state'.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/selection_panels.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/selection_panels.js
[ 301] 		return g_AvailableFormations.get(unitEntStates[0].player).filter(formation => unitEntStates.some(state => !!state.identity &&  state.identity.formations.indexOf(formation) != -1));
[ 301] 		return g_AvailableFormations.get(unitEntStates[0].player).filter(formation => unitEntStates.some(state => !!state.identity && state.identity.formations.indexOf(formation) != -1));
**** ESLintBear (space-before-function-paren) [Section <empty> | Severity NORMAL] ****
!    ! Unexpected space before function parentheses.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/selection_panels.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/selection_panels.js
[ 766] 			button.onPressRight = (t => function () {
[ 766] 			button.onPressRight = (t => function() {
**** ESLintBear (no-trailing-spaces) [Section <empty> | Severity NORMAL] ****
!    ! Trailing spaces not allowed.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/selection_panels.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/selection_panels.js
[ 806] 			
[ 806] 

binaries/data/mods/public/gui/session/selection_panels.js
[  50] »   »   »   switch·(data.item)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/selection_panels.js
[  61] »   »   switch·(data.item)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/selection_panels.js
[ 731] »   »   »   »   »   »   switch·(entity.check)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.
**** ESLintBear (no-undef-init) [Section <empty> | Severity NORMAL] ****
!    ! It's not necessary to initialize 'actionInfo' to undefined.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 241] 	let actionInfo = undefined;
[ 241] 	let actionInfo;
**** ESLintBear (operator-linebreak) [Section <empty> | Severity NORMAL] ****
!    ! '&&' should be placed at the end of the line.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 488] 	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
[ 489] 		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
[ 488] 	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
[ 489] 		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 2 tabs but found 3.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 649] 			case "mousemotion":
[ 649] 		case "mousemotion":
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 650] 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
[ 650] 			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 652] 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
[ 652] 			// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 653] 				// the ending point and the starting point to snap to.
[ 653] 			// the ending point and the starting point to snap to.
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 654] 				//
[ 654] 			//
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 655] 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
[ 655] 			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 656] 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
[ 656] 			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 657] 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
[ 657] 			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 658] 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
[ 658] 			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 659] 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
[ 659] 			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 660] 				// points.
[ 660] 			// points.
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 662] 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
[ 662] 			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 663] 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
[ 663] 			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 665] 				if (result && result.cost)
[ 665] 			if (result && result.cost)
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 666] 				{
[ 666] 			{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 667] 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
[ 667] 				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 668] 					placementSupport.tooltipMessage = [
[ 668] 				placementSupport.tooltipMessage = [
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 669] 						getEntityCostTooltip(result),
[ 669] 					getEntityCostTooltip(result),
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 670] 						getNeededResourcesTooltip(neededResources)
[ 670] 					getNeededResourcesTooltip(neededResources)
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 671] 					].filter(tip => tip).join("\n");
[ 671] 				].filter(tip => tip).join("\n");
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 672] 				}
[ 672] 			}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 674] 				break;
[ 674] 			break;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 2 tabs but found 3.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 676] 			case "mousebuttondown":
[ 676] 		case "mousebuttondown":
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 677] 				if (ev.button == SDL_BUTTON_LEFT)
[ 677] 			if (ev.button == SDL_BUTTON_LEFT)
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 678] 				{
[ 678] 			{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 679] 					var queued = Engine.HotkeyIsPressed("session.queue");
[ 679] 				var queued = Engine.HotkeyIsPressed("session.queue");
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 680] 					if (tryPlaceWall(queued))
[ 680] 				if (tryPlaceWall(queued))
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 681] 					{
[ 681] 				{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 682] 						if (queued)
[ 682] 					if (queued)
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 683] 						{
[ 683] 					{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 6 tabs but found 7.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 684] 							// continue building, just set a new starting position where we left off
[ 684] 						// continue building, just set a new starting position where we left off
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 6 tabs but found 7.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 685] 							placementSupport.position = placementSupport.wallEndPosition;
[ 685] 						placementSupport.position = placementSupport.wallEndPosition;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 6 tabs but found 7.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 686] 							placementSupport.wallEndPosition = undefined;
[ 686] 						placementSupport.wallEndPosition = undefined;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 6 tabs but found 7.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 688] 							inputState = INPUT_BUILDING_WALL_CLICK;
[ 688] 						inputState = INPUT_BUILDING_WALL_CLICK;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 689] 						}
[ 689] 					}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 690] 						else
[ 690] 					else
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 691] 						{
[ 691] 					{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 6 tabs but found 7.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 692] 							placementSupport.Reset();
[ 692] 						placementSupport.Reset();
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 6 tabs but found 7.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 693] 							inputState = INPUT_NORMAL;
[ 693] 						inputState = INPUT_NORMAL;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 694] 						}
[ 694] 					}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 695] 					}
[ 695] 				}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 696] 					else
[ 696] 				else
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 697] 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
[ 697] 					placementSupport.tooltipMessage = translate("Cannot build wall here!");
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 699] 					updateBuildingPlacementPreview();
[ 699] 				updateBuildingPlacementPreview();
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 700] 					return true;
[ 700] 				return true;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 701] 				}
[ 701] 			}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 702] 				else if (ev.button == SDL_BUTTON_RIGHT)
[ 702] 			else if (ev.button == SDL_BUTTON_RIGHT)
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 703] 				{
[ 703] 			{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 704] 					// reset to normal input mode
[ 704] 				// reset to normal input mode
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 705] 					placementSupport.Reset();
[ 705] 				placementSupport.Reset();
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 706] 					updateBuildingPlacementPreview();
[ 706] 				updateBuildingPlacementPreview();
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 708] 					inputState = INPUT_NORMAL;
[ 708] 				inputState = INPUT_NORMAL;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 709] 					return true;
[ 709] 				return true;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 710] 				}
[ 710] 			}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 711] 				break;
[ 711] 			break;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 853] 				if (ev.hotkey.indexOf("selection.group.") == 0)
[ 853] 			if (ev.hotkey.indexOf("selection.group.") == 0)
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 854] 				{
[ 854] 			{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 855] 					let now = Date.now();
[ 855] 				let now = Date.now();
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 856] 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
[ 856] 				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 857] 					{
[ 857] 				{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 858] 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
[ 858] 					if (ev.hotkey.indexOf("selection.group.select.") == 0)
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 859] 						{
[ 859] 					{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 6 tabs but found 7.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 860] 							var sptr = ev.hotkey.split(".");
[ 860] 						var sptr = ev.hotkey.split(".");
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 6 tabs but found 7.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 861] 							performGroup("snap", sptr[3]);
[ 861] 						performGroup("snap", sptr[3]);
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 862] 						}
[ 862] 					}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 863] 					}
[ 863] 				}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 864] 					else
[ 864] 				else
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 865] 					{
[ 865] 				{
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 866] 						var sptr = ev.hotkey.split(".");
[ 866] 					var sptr = ev.hotkey.split(".");
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 867] 						performGroup(sptr[2], sptr[3]);
[ 867] 					performGroup(sptr[2], sptr[3]);
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 869] 						doublePressTimer = now;
[ 869] 					doublePressTimer = now;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 5 tabs but found 6.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 870] 						prevHotkey = ev.hotkey;
[ 870] 					prevHotkey = ev.hotkey;
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 4 tabs but found 5.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 871] 					}
[ 871] 				}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 872] 				}
[ 872] 			}
**** ESLintBear (indent) [Section <empty> | Severity NORMAL] ****
!    ! Expected indentation of 3 tabs but found 4.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[ 873] 				break;
[ 873] 			break;
**** ESLintBear (comma-spacing) [Section <empty> | Severity NORMAL] ****
!    ! A space is required after ','.
[----] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[++++] /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
[1606] 	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
[1606] 	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))

binaries/data/mods/public/gui/session/input.js
[ 474] »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 501] »   switch·(inputState)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 505] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 560] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 570] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 618] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 647] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 716] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 732] ·»   »   »   »   "template":·placementSupport.template,
**** ESLintBear (no-mixed-spaces-and-tabs) [Section: JS | Severity: NORMAL] ****
!    ! Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
[ 733] ·»   »   »   »   "x":·placementSupport.position.x,
**** ESLintBear (no-mixed-spaces-and-tabs) [Section: JS | Severity: NORMAL] ****
!    ! Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
[ 738] ·»   »   »   });
**** ESLintBear (no-mixed-spaces-and-tabs) [Section: JS | Severity: NORMAL] ****
!    ! Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
[ 817] »   switch·(inputState)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 820] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 922] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[1011] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[1025] »   »   »   »   let·action·=·determineAction(ev.x,·ev.y);
**** ESLintBear (no-shadow) [Section: JS | Severity: NORMAL] ****
!    ! 'action' is already declared in the upper scope.

binaries/data/mods/public/gui/session/input.js
[1034] »   »   switch·(ev.type)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[1058] ·»   »   »   »   »   "template":·placementSupport.template,
**** ESLintBear (no-mixed-spaces-and-tabs) [Section: JS | Severity: NORMAL] ****
!    ! Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
[1059] ·»   »   »   »   »   "x":·placementSupport.position.x,
**** ESLintBear (no-mixed-spaces-and-tabs) [Section: JS | Severity: NORMAL] ****
!    ! Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
[1060] ·»   »   »   »   »   "z":·placementSupport.position.z,
**** ESLintBear (no-mixed-spaces-and-tabs) [Section: JS | Severity: NORMAL] ****
!    ! Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
[1063] ·»   »   »   »   });
**** ESLintBear (no-mixed-spaces-and-tabs) [Section: JS | Severity: NORMAL] ****
!    ! Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
[1123] »   »   »   switch·(ev.hotkey)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[1554] »   switch·(action)
**** ESLintBear (default-case) [Section: JS | Severity: NORMAL] ****
!    ! Expected a default case.

binaries/data/mods/public/gui/session/input.js
[ 241] »   let·actionInfo·=·undefined;
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! It's not necessary to initialize 'actionInfo' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
[ 489] »   »   &&·(ev.button·==·SDL_BUTTON_LEFT·||·ev.button·==·SDL_BUTTON_RIGHT))
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/gui/session/input.js
[ 519] »   »   »   »   var·rect·=·updateBandbox(bandbox,·ev,·true);
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! 'rect' is already defined.

binaries/data/mods/public/gui/session/input.js
[ 522] »   »   »   »   var·ents·=·getPreferredEntities(Engine.PickPlayerEntitiesInRect(rect[0],·rect[1],·rect[2],·rect[3],·g_ViewedPlayer));
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! 'ents' is already defined.

binaries/data/mods/public/gui/session/input.js
[ 679] »   »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
[ 753] »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
[ 866] »   »   »   »   »   »   var·sptr·=·ev.hotkey.split(".");
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! 'sptr' is already defined.

binaries/data/mods/public/gui/session/input.js
[ 882] »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
[ 908] »   »   »   }
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
[ 932] »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! 'ent' is already defined.
**** ESLintBear (semi) [Section <empty> | Severity NORMAL] ****
!    ! Missing semicolon.
[----] /zpool0/trunk/binaries/data/mods/public/simulation/components/ProductionQueue.js
[++++] /zpool0/trunk/binaries/data/mods/public/simulation/components/ProductionQueue.js
[ 968] }
[ 968] };

binaries/data/mods/public/simulation/components/ProductionQueue.js
[ 968] }
**** JSHintBear [Section: JS | Severity: NORMAL] ****
!    ! Missing semicolon.
Executing section cli...

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

bb accepted this revision.Sep 7 2020, 2:42 PM
bb added a subscriber: bb.

stylistic issues can be fixed while committing

Works as advertised, code reads correct and front doesn't fall

binaries/data/mods/public/gui/session/selection_panels.js
959

isUpgrading sounds like a better name

1026

*train or research ?
or produce ?

1059

isProducing ?

binaries/data/mods/public/simulation/components/ProductionQueue.js
336

trailing ,

binaries/data/mods/public/simulation/components/Upgrade.js
238

idem

binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_sentry.xml
49–51 ↗(On Diff #13150)

thx for the test case

This revision is now accepted and ready to land.Sep 7 2020, 2:42 PM
Silier added inline comments.Sep 7 2020, 2:59 PM
binaries/data/mods/public/gui/session/selection_panels.js
1026

research is done in separate panel, here is only unit training

bb added inline comments.Sep 7 2020, 3:06 PM
binaries/data/mods/public/gui/session/selection_panels.js
675

isUpgrading

1026

right, in that case the comment above

Silier updated this revision to Diff 13450.Sep 7 2020, 7:52 PM

inline :)
commas

Silier requested review of this revision.Sep 7 2020, 7:53 PM
bb added inline comments.Sep 8 2020, 2:05 PM
binaries/data/mods/public/gui/session/input.js
1351

Wouldn't we have a similar issue for the other case (train while upgrade): select several units of which some (but not all) are upgrading. Now try training. Probably will trigger the sim messages the player isn't interested in

binaries/data/mods/public/gui/session/selection_panels.js
801

Shouldn't we make this else if and move above the else above?

1022

idem

1132

sortof idem

binaries/data/mods/public/simulation/components/ProductionQueue.js
968

fix linter

binaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js
126

fix linter

Silier added inline comments.Sep 8 2020, 2:19 PM
binaries/data/mods/public/gui/session/selection_panels.js
801

or it would be above "not enough resources" and that would not show up, or under and this would not show up if player would have lack of resources, do we want that ?

Silier updated this revision to Diff 13458.Sep 8 2020, 10:43 PM

let jenkins complain about intendation

Freagarach added inline comments.Sep 9 2020, 4:34 PM
binaries/data/mods/public/gui/session/selection_panels.js
804

(That modifier asks for a variable somewhere.)

binaries/data/mods/public/simulation/components/ProductionQueue.js
334

Check for cmpPlayer?

binaries/data/mods/public/simulation/components/Upgrade.js
236

Idem.

Stan added a comment.Sep 9 2020, 5:44 PM

Can we support playing a sound ?

Silier added a comment.Sep 9 2020, 5:49 PM
In D2652#131397, @Stan wrote:

Can we support playing a sound ?

With current patch including gui it would not get chance to play :)

(Also maybe add a test for this behaviour?)

Stan added a comment.Sep 9 2020, 5:59 PM

@Angen not sure what you mean? Can't you call it when you display the message ?

Silier added a comment.Sep 9 2020, 6:35 PM

disabled buttons

Silier updated this revision to Diff 13471.Sep 10 2020, 7:26 PM

check for cmpplayer and add test

Freagarach requested changes to this revision.Sep 10 2020, 7:55 PM
  • Build two sentry towers.
  • Upgrade the first to a defence tower.
  • Select both towers.
  • Try to research sentries.
  • Notice the message that we can't start production.

Expected behaviour: The entity not upgrading starts researching.

binaries/data/mods/public/gui/session/selection_panels.js
1136

+.

binaries/data/mods/public/simulation/components/tests/test_ProductionQueue.js
294

Comment not needed.

This revision now requires changes to proceed.Sep 10 2020, 7:55 PM
Silier updated this revision to Diff 13496.Sep 16 2020, 7:41 PM

Fix research.
O (2*n) for filter so O (n).

testcase for house

Works as advertised.

binaries/data/mods/public/gui/session/selection_panels.js
633

Filtered, not sorted.

656

You already filter those above, right?

1099

Why not filter in the helper? Or don't do the undefined check therein (since that function is only called from here)?

1136

^

binaries/data/mods/public/simulation/components/ProductionQueue.js
336–338
binaries/data/mods/public/simulation/components/Upgrade.js
239–241
binaries/data/mods/public/simulation/components/tests/test_ProductionQueue.js
294

^

binaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js
124–126

If it is false and not used one can omit it.

Silier added inline comments.Sep 17 2020, 8:29 AM
binaries/data/mods/public/gui/session/selection_panels.js
633

they are sorted, first the ones not upgrading and then the ones upgrading

656

no, i did not

1099

so we do not pass bunch of not needed entity states,
also in helper one would need to get entity states again to check if they are or are not producing

binaries/data/mods/public/simulation/components/ProductionQueue.js
336–338

not sure about that,
jenkins is not complaining right now, he would if it would be wrong

Freagarach added inline comments.Sep 17 2020, 8:38 AM
binaries/data/mods/public/gui/session/selection_panels.js
633

You are right, my bad.

binaries/data/mods/public/simulation/components/ProductionQueue.js
336–338

But you mix spaced and tabs for no apparent reason?

Stan added inline comments.Sep 17 2020, 8:42 AM
binaries/data/mods/public/gui/session/selection_panels.js
1022

You might want to put the fastest to check first. Could be snake oil.

binaries/data/mods/public/simulation/components/ProductionQueue.js
342

Might not need to check for that if !queue.length so could be moved in the block above ?

Could maybe be refactored with an early return with the guinterface call

967

I guess we dont use it above for alledged perf ?

Silier added inline comments.Sep 17 2020, 8:55 AM
binaries/data/mods/public/simulation/components/ProductionQueue.js
336–338

(For any alignment within a line of code (as opposed to indentation at the start), use spaces, not tabs.)

Stan added a subscriber: Itms.Sep 17 2020, 8:58 AM
Stan added inline comments.
binaries/data/mods/public/simulation/components/ProductionQueue.js
336–338

AFAIK it can't complain and we can't enforce it with ESLint which is one of the reasons @Itms wanted to know whether we should use the same style in C++ and JS as for the former it is normal

Silier updated this revision to Diff 13551.Sep 26 2020, 2:26 PM

actually use sort 2n -> n*logn
fix some comments

bb updated this revision to Diff 13566.EditedSep 28 2020, 3:32 PM

The Upgrade setupButton was broken in so many ways I couldn't break my head round leaving it like that, or explaining what needs to change. Changing it here.

Rest of the patch looks ok, and can be considered reviewed by me

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

builderr-release-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgraphics.a(precompiled.o) has no symbols

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/1603/display/redirect

Stan added inline comments.Sep 28 2020, 4:11 PM
binaries/data/mods/public/simulation/components/ProductionQueue.js
965

Function name is a bit weird.

Freagarach resigned from this revision.Sep 30 2020, 4:41 PM
Freagarach removed a reviewer: Freagarach.

Playtesting reveals no oddities.

binaries/data/mods/public/gui/session/selection_panels.js
1108

SetStringTags? Refs. D2151.

binaries/data/mods/public/simulation/components/ProductionQueue.js
967

(!!this.queue.length?)

binaries/data/mods/public/simulation/components/tests/test_UpgradeModification.js
124–126

^

Silier added inline comments.Sep 30 2020, 7:09 PM
binaries/data/mods/public/gui/session/selection_panels.js
1108

I do not see how setStringTags is more perf helpful than coloredText.
setStringTags requires array of tags (object) to be passed , copies passed string and does the same as coloredText with higher complexity because it is required to lopp through array of one, stores result into the variable and returns result. while coloredText concatenates strings dicrectly on return without useless (as setting just one tag) variable reasigment.

Freagarach added inline comments.Sep 30 2020, 7:20 PM
binaries/data/mods/public/gui/session/selection_panels.js
1108

Sure, I just wanted to mention it ;)

This revision was not accepted when it landed; it landed in state Needs Review.Oct 4 2020, 12:20 PM
This revision was automatically updated to reflect the committed changes.