Page MenuHomeWildfire Games

Show correct cursor over minimap
ClosedPublic

Authored by Imarok on May 2 2020, 6:28 PM.

Details

Reviewers
None
Commits
rP23619: Show correct action cursor over minimap
Trac Tickets
#1847
Summary

When a player hovers the minimap we always showed the default cursor.
With this patch we show the cursor of the action that will be executed when the player clicks on the minimap.
E.g. when they have selected a soldier and press P and hover the minimap we'll show the patrol cursor.
This patch also disables preselected actions on the minimap because that wasn't possible anyway. (The preselected action left-click interferes with the minimap left-click)

Test Plan

Patrol/Attack-move on the minimap and look for the correct cursor.
Use preselected actions and check that their cursor isn't shown on the minimap.
Look for bugs ;)

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

Imarok created this revision.May 2 2020, 6:28 PM
Imarok updated this revision to Diff 11775.May 2 2020, 6:33 PM

Add comment explaining why we disable preselcted actions on minimap

Imarok updated this revision to Diff 11776.May 2 2020, 6:34 PM

Remove superfluous newline

Imarok added a comment.May 2 2020, 6:37 PM

Looks like a sane and small scoped change for me. So I'll commit that in the coming days if nobody objects.

Vulcan added a comment.May 2 2020, 6:37 PM

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

Linter detected issues:
Executing section Source...
Executing section JS...

binaries/data/mods/public/gui/session/minimap/MiniMap.js
|  23| »   »   »   return·false;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'onWorldClick' expected no return value.

binaries/data/mods/public/gui/session/minimap/MiniMap.js
|  26| »   »   return·action·&&·handleUnitAction(target,·action);
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'onWorldClick' expected no return value.
|    | [NORMAL] ESLintBear (no-undef-init):
|    | 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
| 240| 240| 	// if two actions are possible, the first one is taken
| 241| 241| 	// thus the most specific should appear first.
| 242| 242| 
| 243|    |-	let actionInfo = undefined;
|    | 243|+	let actionInfo;
| 244| 244| 	if (preSelectedAction != ACTION_NONE && !fromMinimap)
| 245| 245| 	{
| 246| 246| 		for (let action of g_UnitActionsSortedKeys)
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 334| 334| 	}
| 335| 335| 
| 336| 336| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 337|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 337|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 338| 338| 	{
| 339| 339| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 340| 340| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' 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
| 484| 484| 	mouseIsOverObject = (hoveredObject != null);
| 485| 485| 
| 486| 486| 	// Close the menu when interacting with the game world
| 487|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 488|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 487|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 488|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 489| 489| 		g_Menu.close();
| 490| 490| 
| 491| 491| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 645| 645| 		// user to continue building walls.
| 646| 646| 		switch (ev.type)
| 647| 647| 		{
| 648|    |-			case "mousemotion":
|    | 648|+		case "mousemotion":
| 649| 649| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 646| 646| 		switch (ev.type)
| 647| 647| 		{
| 648| 648| 			case "mousemotion":
| 649|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 649|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 648| 648| 			case "mousemotion":
| 649| 649| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651|    |-				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 651|+			// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 649| 649| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652|    |-				// the ending point and the starting point to snap to.
|    | 652|+			// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | 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| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
| 653|    |-				//
|    | 653|+			//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 654|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | 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| 652| 				// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 655|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | 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| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 656|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | 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| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 657|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
| 660| 660| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 658|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
| 660| 660| 
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659|    |-				// points.
|    | 659|+			// points.
| 660| 660| 
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | 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| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
| 660| 660| 
| 661|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 661|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664| 664| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | 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| 659| 				// points.
| 660| 660| 
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 662|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664| 664| 				if (result && result.cost)
| 665| 665| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664|    |-				if (result && result.cost)
|    | 664|+			if (result && result.cost)
| 665| 665| 				{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | 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| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664| 664| 				if (result && result.cost)
| 665|    |-				{
|    | 665|+			{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 663| 663| 
| 664| 664| 				if (result && result.cost)
| 665| 665| 				{
| 666|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 666|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 664| 664| 				if (result && result.cost)
| 665| 665| 				{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667|    |-					placementSupport.tooltipMessage = [
|    | 667|+				placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 665| 665| 				{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668|    |-						getEntityCostTooltip(result),
|    | 668|+					getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
| 671| 671| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669|    |-						getNeededResourcesTooltip(neededResources)
|    | 669|+					getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
| 671| 671| 				}
| 672| 672| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670|    |-					].filter(tip => tip).join("\n");
|    | 670|+				].filter(tip => tip).join("\n");
| 671| 671| 				}
| 672| 672| 
| 673| 673| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
| 671|    |-				}
|    | 671|+			}
| 672| 672| 
| 673| 673| 				break;
| 674| 674| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 670| 670| 					].filter(tip => tip).join("\n");
| 671| 671| 				}
| 672| 672| 
| 673|    |-				break;
|    | 673|+			break;
| 674| 674| 
| 675| 675| 			case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 672| 672| 
| 673| 673| 				break;
| 674| 674| 
| 675|    |-			case "mousebuttondown":
|    | 675|+		case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 673| 673| 				break;
| 674| 674| 
| 675| 675| 			case "mousebuttondown":
| 676|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 676|+			if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | 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| 674| 
| 675| 675| 			case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677|    |-				{
|    | 677|+			{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 675| 675| 			case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 678|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
| 681| 681| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679|    |-					if (tryPlaceWall(queued))
|    | 679|+				if (tryPlaceWall(queued))
| 680| 680| 					{
| 681| 681| 						if (queued)
| 682| 682| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680|    |-					{
|    | 680|+				{
| 681| 681| 						if (queued)
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
| 681|    |-						if (queued)
|    | 681|+					if (queued)
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
| 681| 681| 						if (queued)
| 682|    |-						{
|    | 682|+					{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 680| 680| 					{
| 681| 681| 						if (queued)
| 682| 682| 						{
| 683|    |-							// continue building, just set a new starting position where we left off
|    | 683|+						// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 681| 681| 						if (queued)
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 684|+						placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685|    |-							placementSupport.wallEndPosition = undefined;
|    | 685|+						placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 687|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
| 689| 689| 						else
| 690| 690| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 						else
| 690| 690| 						{
| 691| 691| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
| 689|    |-						else
|    | 689|+					else
| 690| 690| 						{
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
| 689| 689| 						else
| 690|    |-						{
|    | 690|+					{
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 688| 						}
| 689| 689| 						else
| 690| 690| 						{
| 691|    |-							placementSupport.Reset();
|    | 691|+						placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694| 694| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 689| 689| 						else
| 690| 690| 						{
| 691| 691| 							placementSupport.Reset();
| 692|    |-							inputState = INPUT_NORMAL;
|    | 692|+						inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694| 694| 					}
| 695| 695| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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| 690| 						{
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693|    |-						}
|    | 693|+					}
| 694| 694| 					}
| 695| 695| 					else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694|    |-					}
|    | 694|+				}
| 695| 695| 					else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694| 694| 					}
| 695|    |-					else
|    | 695|+				else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 693| 693| 						}
| 694| 694| 					}
| 695| 695| 					else
| 696|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 696|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
| 699| 699| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 					else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698|    |-					updateBuildingPlacementPreview();
|    | 698|+				updateBuildingPlacementPreview();
| 699| 699| 					return true;
| 700| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | 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| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
| 699|    |-					return true;
|    | 699|+				return true;
| 700| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
| 699| 699| 					return true;
| 700|    |-				}
|    | 700|+			}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 698| 698| 					updateBuildingPlacementPreview();
| 699| 699| 					return true;
| 700| 700| 				}
| 701|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 701|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 699| 699| 					return true;
| 700| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702|    |-				{
|    | 702|+			{
| 703| 703| 					// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703|    |-					// reset to normal input mode
|    | 703|+				// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
| 704|    |-					placementSupport.Reset();
|    | 704|+				placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
| 705|    |-					updateBuildingPlacementPreview();
|    | 705|+				updateBuildingPlacementPreview();
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
| 708| 708| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 704| 					placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
| 707|    |-					inputState = INPUT_NORMAL;
|    | 707|+				inputState = INPUT_NORMAL;
| 708| 708| 					return true;
| 709| 709| 				}
| 710| 710| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
| 708|    |-					return true;
|    | 708|+				return true;
| 709| 709| 				}
| 710| 710| 				break;
| 711| 711| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
| 708| 708| 					return true;
| 709|    |-				}
|    | 709|+			}
| 710| 710| 				break;
| 711| 711| 		}
| 712| 712| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 707| 707| 					inputState = INPUT_NORMAL;
| 708| 708| 					return true;
| 709| 709| 				}
| 710|    |-				break;
|    | 710|+			break;
| 711| 711| 		}
| 712| 712| 		break;
| 713| 713| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 849| 849| 			break;
| 850| 850| 
| 851| 851| 		case "hotkeydown":
| 852|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 852|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 853| 853| 				{
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 850| 850| 
| 851| 851| 		case "hotkeydown":
| 852| 852| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 853|    |-				{
|    | 853|+			{
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 851| 851| 		case "hotkeydown":
| 852| 852| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 853| 853| 				{
| 854|    |-					let now = Date.now();
|    | 854|+				let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 852| 852| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 853| 853| 				{
| 854| 854| 					let now = Date.now();
| 855|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 855|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 853| 853| 				{
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856|    |-					{
|    | 856|+				{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 857|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858|    |-						{
|    | 858|+					{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859|    |-							var sptr = ev.hotkey.split(".");
|    | 859|+						var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862| 862| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860|    |-							performGroup("snap", sptr[3]);
|    | 860|+						performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862| 862| 					}
| 863| 863| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861|    |-						}
|    | 861|+					}
| 862| 862| 					}
| 863| 863| 					else
| 864| 864| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862|    |-					}
|    | 862|+				}
| 863| 863| 					else
| 864| 864| 					{
| 865| 865| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862| 862| 					}
| 863|    |-					else
|    | 863|+				else
| 864| 864| 					{
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 861| 861| 						}
| 862| 862| 					}
| 863| 863| 					else
| 864|    |-					{
|    | 864|+				{
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 					}
| 863| 863| 					else
| 864| 864| 					{
| 865|    |-						var sptr = ev.hotkey.split(".");
|    | 865|+					var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 863| 863| 					else
| 864| 864| 					{
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866|    |-						performGroup(sptr[2], sptr[3]);
|    | 866|+					performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868|    |-						doublePressTimer = now;
|    | 868|+					doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871| 871| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
| 869|    |-						prevHotkey = ev.hotkey;
|    | 869|+					prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871| 871| 				}
| 872| 872| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
| 870|    |-					}
|    | 870|+				}
| 871| 871| 				}
| 872| 872| 				break;
| 873| 873| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 868| 868| 						doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871|    |-				}
|    | 871|+			}
| 872| 872| 				break;
| 873| 873| 		}
| 874| 874| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 869| 869| 						prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871| 871| 				}
| 872|    |-				break;
|    | 872|+			break;
| 873| 873| 		}
| 874| 874| 		break;
| 875| 875| 
|    | [NORMAL] ESLintBear (comma-spacing):
|    | 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
|1601|1601| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1602|1602| 
|1603|1603| 	// Reset the last idle unit, etc., if the selection type has changed.
|1604|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1604|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1605|1605| 		resetIdleUnit();
|1606|1606| 	lastIdleClasses = classes;
|1607|1607| 

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

binaries/data/mods/public/gui/session/input.js
| 500| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
| 816| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
|1552| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
| 907| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 931| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
Executing section cli...

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

Vulcan added a comment.May 2 2020, 6:42 PM

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

Linter detected issues:
Executing section Source...
Executing section JS...

binaries/data/mods/public/gui/session/minimap/MiniMap.js
|  23| »   »   »   return·false;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'onWorldClick' expected no return value.

binaries/data/mods/public/gui/session/minimap/MiniMap.js
|  26| »   »   return·action·&&·handleUnitAction(target,·action);
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'onWorldClick' expected no return value.
|    | [NORMAL] ESLintBear (no-undef-init):
|    | 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
| 240| 240| 	// if two actions are possible, the first one is taken
| 241| 241| 	// thus the most specific should appear first.
| 242| 242| 
| 243|    |-	let actionInfo = undefined;
|    | 243|+	let actionInfo;
| 244| 244| 	// Disable preselected actions on the minimap because their
| 245| 245| 	// left-click interferes with the minimap left-click anyways
| 246| 246| 	if (preSelectedAction != ACTION_NONE && !fromMinimap)
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 336| 336| 	}
| 337| 337| 
| 338| 338| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 339|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 339|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 340| 340| 	{
| 341| 341| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 342| 342| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' 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
| 486| 486| 	mouseIsOverObject = (hoveredObject != null);
| 487| 487| 
| 488| 488| 	// Close the menu when interacting with the game world
| 489|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 490|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 489|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 490|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 491| 491| 		g_Menu.close();
| 492| 492| 
| 493| 493| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 647| 647| 		// user to continue building walls.
| 648| 648| 		switch (ev.type)
| 649| 649| 		{
| 650|    |-			case "mousemotion":
|    | 650|+		case "mousemotion":
| 651| 651| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 652| 652| 
| 653| 653| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 648| 648| 		switch (ev.type)
| 649| 649| 		{
| 650| 650| 			case "mousemotion":
| 651|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 651|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 652| 652| 
| 653| 653| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 654| 654| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | 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| 650| 			case "mousemotion":
| 651| 651| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 652| 652| 
| 653|    |-				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 653|+			// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 654| 654| 				// the ending point and the starting point to snap to.
| 655| 655| 				//
| 656| 656| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 651| 651| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 652| 652| 
| 653| 653| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 654|    |-				// the ending point and the starting point to snap to.
|    | 654|+			// the ending point and the starting point to snap to.
| 655| 655| 				//
| 656| 656| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 657| 657| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | 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| 652| 
| 653| 653| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 654| 654| 				// the ending point and the starting point to snap to.
| 655|    |-				//
|    | 655|+			//
| 656| 656| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 657| 657| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 658| 658| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | 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| 653| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 654| 654| 				// the ending point and the starting point to snap to.
| 655| 655| 				//
| 656|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 656|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 657| 657| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 658| 658| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 659| 659| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | 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| 				// the ending point and the starting point to snap to.
| 655| 655| 				//
| 656| 656| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 657|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 657|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 658| 658| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 659| 659| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 660| 660| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | 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| 655| 				//
| 656| 656| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 657| 657| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 658|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 658|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 659| 659| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 660| 660| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 661| 661| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | 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| 656| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 657| 657| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 658| 658| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 659|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 659|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 660| 660| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 661| 661| 				// points.
| 662| 662| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 657| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 658| 658| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 659| 659| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 660|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 660|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 661| 661| 				// points.
| 662| 662| 
| 663| 663| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 658| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 659| 659| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 660| 660| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 661|    |-				// points.
|    | 661|+			// points.
| 662| 662| 
| 663| 663| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 664| 664| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | 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| 660| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 661| 661| 				// points.
| 662| 662| 
| 663|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 663|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 664| 664| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 665| 665| 
| 666| 666| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 661| 661| 				// points.
| 662| 662| 
| 663| 663| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 664|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 664|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 665| 665| 
| 666| 666| 				if (result && result.cost)
| 667| 667| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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| 663| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 664| 664| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 665| 665| 
| 666|    |-				if (result && result.cost)
|    | 666|+			if (result && result.cost)
| 667| 667| 				{
| 668| 668| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 669| 669| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 664| 664| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 665| 665| 
| 666| 666| 				if (result && result.cost)
| 667|    |-				{
|    | 667|+			{
| 668| 668| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 669| 669| 					placementSupport.tooltipMessage = [
| 670| 670| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 665| 665| 
| 666| 666| 				if (result && result.cost)
| 667| 667| 				{
| 668|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 668|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 669| 669| 					placementSupport.tooltipMessage = [
| 670| 670| 						getEntityCostTooltip(result),
| 671| 671| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 666| 666| 				if (result && result.cost)
| 667| 667| 				{
| 668| 668| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 669|    |-					placementSupport.tooltipMessage = [
|    | 669|+				placementSupport.tooltipMessage = [
| 670| 670| 						getEntityCostTooltip(result),
| 671| 671| 						getNeededResourcesTooltip(neededResources)
| 672| 672| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 667| 667| 				{
| 668| 668| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 669| 669| 					placementSupport.tooltipMessage = [
| 670|    |-						getEntityCostTooltip(result),
|    | 670|+					getEntityCostTooltip(result),
| 671| 671| 						getNeededResourcesTooltip(neededResources)
| 672| 672| 					].filter(tip => tip).join("\n");
| 673| 673| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 668| 668| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 669| 669| 					placementSupport.tooltipMessage = [
| 670| 670| 						getEntityCostTooltip(result),
| 671|    |-						getNeededResourcesTooltip(neededResources)
|    | 671|+					getNeededResourcesTooltip(neededResources)
| 672| 672| 					].filter(tip => tip).join("\n");
| 673| 673| 				}
| 674| 674| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 669| 669| 					placementSupport.tooltipMessage = [
| 670| 670| 						getEntityCostTooltip(result),
| 671| 671| 						getNeededResourcesTooltip(neededResources)
| 672|    |-					].filter(tip => tip).join("\n");
|    | 672|+				].filter(tip => tip).join("\n");
| 673| 673| 				}
| 674| 674| 
| 675| 675| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 670| 670| 						getEntityCostTooltip(result),
| 671| 671| 						getNeededResourcesTooltip(neededResources)
| 672| 672| 					].filter(tip => tip).join("\n");
| 673|    |-				}
|    | 673|+			}
| 674| 674| 
| 675| 675| 				break;
| 676| 676| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 					].filter(tip => tip).join("\n");
| 673| 673| 				}
| 674| 674| 
| 675|    |-				break;
|    | 675|+			break;
| 676| 676| 
| 677| 677| 			case "mousebuttondown":
| 678| 678| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 674| 674| 
| 675| 675| 				break;
| 676| 676| 
| 677|    |-			case "mousebuttondown":
|    | 677|+		case "mousebuttondown":
| 678| 678| 				if (ev.button == SDL_BUTTON_LEFT)
| 679| 679| 				{
| 680| 680| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 675| 675| 				break;
| 676| 676| 
| 677| 677| 			case "mousebuttondown":
| 678|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 678|+			if (ev.button == SDL_BUTTON_LEFT)
| 679| 679| 				{
| 680| 680| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 681| 681| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 676| 676| 
| 677| 677| 			case "mousebuttondown":
| 678| 678| 				if (ev.button == SDL_BUTTON_LEFT)
| 679|    |-				{
|    | 679|+			{
| 680| 680| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 681| 681| 					if (tryPlaceWall(queued))
| 682| 682| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 677| 677| 			case "mousebuttondown":
| 678| 678| 				if (ev.button == SDL_BUTTON_LEFT)
| 679| 679| 				{
| 680|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 680|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 681| 681| 					if (tryPlaceWall(queued))
| 682| 682| 					{
| 683| 683| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 678| 678| 				if (ev.button == SDL_BUTTON_LEFT)
| 679| 679| 				{
| 680| 680| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 681|    |-					if (tryPlaceWall(queued))
|    | 681|+				if (tryPlaceWall(queued))
| 682| 682| 					{
| 683| 683| 						if (queued)
| 684| 684| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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| 679| 				{
| 680| 680| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 681| 681| 					if (tryPlaceWall(queued))
| 682|    |-					{
|    | 682|+				{
| 683| 683| 						if (queued)
| 684| 684| 						{
| 685| 685| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 680| 680| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 681| 681| 					if (tryPlaceWall(queued))
| 682| 682| 					{
| 683|    |-						if (queued)
|    | 683|+					if (queued)
| 684| 684| 						{
| 685| 685| 							// continue building, just set a new starting position where we left off
| 686| 686| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 681| 681| 					if (tryPlaceWall(queued))
| 682| 682| 					{
| 683| 683| 						if (queued)
| 684|    |-						{
|    | 684|+					{
| 685| 685| 							// continue building, just set a new starting position where we left off
| 686| 686| 							placementSupport.position = placementSupport.wallEndPosition;
| 687| 687| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 682| 682| 					{
| 683| 683| 						if (queued)
| 684| 684| 						{
| 685|    |-							// continue building, just set a new starting position where we left off
|    | 685|+						// continue building, just set a new starting position where we left off
| 686| 686| 							placementSupport.position = placementSupport.wallEndPosition;
| 687| 687| 							placementSupport.wallEndPosition = undefined;
| 688| 688| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 683| 683| 						if (queued)
| 684| 684| 						{
| 685| 685| 							// continue building, just set a new starting position where we left off
| 686|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 686|+						placementSupport.position = placementSupport.wallEndPosition;
| 687| 687| 							placementSupport.wallEndPosition = undefined;
| 688| 688| 
| 689| 689| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 684| 						{
| 685| 685| 							// continue building, just set a new starting position where we left off
| 686| 686| 							placementSupport.position = placementSupport.wallEndPosition;
| 687|    |-							placementSupport.wallEndPosition = undefined;
|    | 687|+						placementSupport.wallEndPosition = undefined;
| 688| 688| 
| 689| 689| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 690| 690| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 686| 							placementSupport.position = placementSupport.wallEndPosition;
| 687| 687| 							placementSupport.wallEndPosition = undefined;
| 688| 688| 
| 689|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 689|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 690| 690| 						}
| 691| 691| 						else
| 692| 692| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 687| 687| 							placementSupport.wallEndPosition = undefined;
| 688| 688| 
| 689| 689| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 690|    |-						}
|    | 690|+					}
| 691| 691| 						else
| 692| 692| 						{
| 693| 693| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 688| 688| 
| 689| 689| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 690| 690| 						}
| 691|    |-						else
|    | 691|+					else
| 692| 692| 						{
| 693| 693| 							placementSupport.Reset();
| 694| 694| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 690| 690| 						}
| 691| 691| 						else
| 692|    |-						{
|    | 692|+					{
| 693| 693| 							placementSupport.Reset();
| 694| 694| 							inputState = INPUT_NORMAL;
| 695| 695| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 690| 690| 						}
| 691| 691| 						else
| 692| 692| 						{
| 693|    |-							placementSupport.Reset();
|    | 693|+						placementSupport.Reset();
| 694| 694| 							inputState = INPUT_NORMAL;
| 695| 695| 						}
| 696| 696| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 691| 691| 						else
| 692| 692| 						{
| 693| 693| 							placementSupport.Reset();
| 694|    |-							inputState = INPUT_NORMAL;
|    | 694|+						inputState = INPUT_NORMAL;
| 695| 695| 						}
| 696| 696| 					}
| 697| 697| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 692| 692| 						{
| 693| 693| 							placementSupport.Reset();
| 694| 694| 							inputState = INPUT_NORMAL;
| 695|    |-						}
|    | 695|+					}
| 696| 696| 					}
| 697| 697| 					else
| 698| 698| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 693| 693| 							placementSupport.Reset();
| 694| 694| 							inputState = INPUT_NORMAL;
| 695| 695| 						}
| 696|    |-					}
|    | 696|+				}
| 697| 697| 					else
| 698| 698| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 699| 699| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 694| 694| 							inputState = INPUT_NORMAL;
| 695| 695| 						}
| 696| 696| 					}
| 697|    |-					else
|    | 697|+				else
| 698| 698| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 699| 699| 
| 700| 700| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 695| 695| 						}
| 696| 696| 					}
| 697| 697| 					else
| 698|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 698|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 699| 699| 
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 697| 697| 					else
| 698| 698| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 699| 699| 
| 700|    |-					updateBuildingPlacementPreview();
|    | 700|+				updateBuildingPlacementPreview();
| 701| 701| 					return true;
| 702| 702| 				}
| 703| 703| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 698| 698| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 699| 699| 
| 700| 700| 					updateBuildingPlacementPreview();
| 701|    |-					return true;
|    | 701|+				return true;
| 702| 702| 				}
| 703| 703| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 704| 704| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 699| 699| 
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 					return true;
| 702|    |-				}
|    | 702|+			}
| 703| 703| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 704| 704| 				{
| 705| 705| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 					return true;
| 702| 702| 				}
| 703|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 703|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 704| 704| 				{
| 705| 705| 					// reset to normal input mode
| 706| 706| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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| 					return true;
| 702| 702| 				}
| 703| 703| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 704|    |-				{
|    | 704|+			{
| 705| 705| 					// reset to normal input mode
| 706| 706| 					placementSupport.Reset();
| 707| 707| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 702| 702| 				}
| 703| 703| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 704| 704| 				{
| 705|    |-					// reset to normal input mode
|    | 705|+				// reset to normal input mode
| 706| 706| 					placementSupport.Reset();
| 707| 707| 					updateBuildingPlacementPreview();
| 708| 708| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 703| 703| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 704| 704| 				{
| 705| 705| 					// reset to normal input mode
| 706|    |-					placementSupport.Reset();
|    | 706|+				placementSupport.Reset();
| 707| 707| 					updateBuildingPlacementPreview();
| 708| 708| 
| 709| 709| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 704| 				{
| 705| 705| 					// reset to normal input mode
| 706| 706| 					placementSupport.Reset();
| 707|    |-					updateBuildingPlacementPreview();
|    | 707|+				updateBuildingPlacementPreview();
| 708| 708| 
| 709| 709| 					inputState = INPUT_NORMAL;
| 710| 710| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 706| 					placementSupport.Reset();
| 707| 707| 					updateBuildingPlacementPreview();
| 708| 708| 
| 709|    |-					inputState = INPUT_NORMAL;
|    | 709|+				inputState = INPUT_NORMAL;
| 710| 710| 					return true;
| 711| 711| 				}
| 712| 712| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 707| 707| 					updateBuildingPlacementPreview();
| 708| 708| 
| 709| 709| 					inputState = INPUT_NORMAL;
| 710|    |-					return true;
|    | 710|+				return true;
| 711| 711| 				}
| 712| 712| 				break;
| 713| 713| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 708| 708| 
| 709| 709| 					inputState = INPUT_NORMAL;
| 710| 710| 					return true;
| 711|    |-				}
|    | 711|+			}
| 712| 712| 				break;
| 713| 713| 		}
| 714| 714| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 709| 709| 					inputState = INPUT_NORMAL;
| 710| 710| 					return true;
| 711| 711| 				}
| 712|    |-				break;
|    | 712|+			break;
| 713| 713| 		}
| 714| 714| 		break;
| 715| 715| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 851| 851| 			break;
| 852| 852| 
| 853| 853| 		case "hotkeydown":
| 854|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 854|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 855| 855| 				{
| 856| 856| 					let now = Date.now();
| 857| 857| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 852| 852| 
| 853| 853| 		case "hotkeydown":
| 854| 854| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 855|    |-				{
|    | 855|+			{
| 856| 856| 					let now = Date.now();
| 857| 857| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 858| 858| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 853| 853| 		case "hotkeydown":
| 854| 854| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 855| 855| 				{
| 856|    |-					let now = Date.now();
|    | 856|+				let now = Date.now();
| 857| 857| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 858| 858| 					{
| 859| 859| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 854| 854| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 855| 855| 				{
| 856| 856| 					let now = Date.now();
| 857|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 857|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 858| 858| 					{
| 859| 859| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 860| 860| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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| 855| 				{
| 856| 856| 					let now = Date.now();
| 857| 857| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 858|    |-					{
|    | 858|+				{
| 859| 859| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 860| 860| 						{
| 861| 861| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 856| 856| 					let now = Date.now();
| 857| 857| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 858| 858| 					{
| 859|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 859|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 860| 860| 						{
| 861| 861| 							var sptr = ev.hotkey.split(".");
| 862| 862| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 857| 857| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 858| 858| 					{
| 859| 859| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 860|    |-						{
|    | 860|+					{
| 861| 861| 							var sptr = ev.hotkey.split(".");
| 862| 862| 							performGroup("snap", sptr[3]);
| 863| 863| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 858| 858| 					{
| 859| 859| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 860| 860| 						{
| 861|    |-							var sptr = ev.hotkey.split(".");
|    | 861|+						var sptr = ev.hotkey.split(".");
| 862| 862| 							performGroup("snap", sptr[3]);
| 863| 863| 						}
| 864| 864| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 859| 859| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 860| 860| 						{
| 861| 861| 							var sptr = ev.hotkey.split(".");
| 862|    |-							performGroup("snap", sptr[3]);
|    | 862|+						performGroup("snap", sptr[3]);
| 863| 863| 						}
| 864| 864| 					}
| 865| 865| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 860| 860| 						{
| 861| 861| 							var sptr = ev.hotkey.split(".");
| 862| 862| 							performGroup("snap", sptr[3]);
| 863|    |-						}
|    | 863|+					}
| 864| 864| 					}
| 865| 865| 					else
| 866| 866| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 861| 861| 							var sptr = ev.hotkey.split(".");
| 862| 862| 							performGroup("snap", sptr[3]);
| 863| 863| 						}
| 864|    |-					}
|    | 864|+				}
| 865| 865| 					else
| 866| 866| 					{
| 867| 867| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 862| 862| 							performGroup("snap", sptr[3]);
| 863| 863| 						}
| 864| 864| 					}
| 865|    |-					else
|    | 865|+				else
| 866| 866| 					{
| 867| 867| 						var sptr = ev.hotkey.split(".");
| 868| 868| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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| 						}
| 864| 864| 					}
| 865| 865| 					else
| 866|    |-					{
|    | 866|+				{
| 867| 867| 						var sptr = ev.hotkey.split(".");
| 868| 868| 						performGroup(sptr[2], sptr[3]);
| 869| 869| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 864| 864| 					}
| 865| 865| 					else
| 866| 866| 					{
| 867|    |-						var sptr = ev.hotkey.split(".");
|    | 867|+					var sptr = ev.hotkey.split(".");
| 868| 868| 						performGroup(sptr[2], sptr[3]);
| 869| 869| 
| 870| 870| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 865| 865| 					else
| 866| 866| 					{
| 867| 867| 						var sptr = ev.hotkey.split(".");
| 868|    |-						performGroup(sptr[2], sptr[3]);
|    | 868|+					performGroup(sptr[2], sptr[3]);
| 869| 869| 
| 870| 870| 						doublePressTimer = now;
| 871| 871| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 867| 						var sptr = ev.hotkey.split(".");
| 868| 868| 						performGroup(sptr[2], sptr[3]);
| 869| 869| 
| 870|    |-						doublePressTimer = now;
|    | 870|+					doublePressTimer = now;
| 871| 871| 						prevHotkey = ev.hotkey;
| 872| 872| 					}
| 873| 873| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 868| 868| 						performGroup(sptr[2], sptr[3]);
| 869| 869| 
| 870| 870| 						doublePressTimer = now;
| 871|    |-						prevHotkey = ev.hotkey;
|    | 871|+					prevHotkey = ev.hotkey;
| 872| 872| 					}
| 873| 873| 				}
| 874| 874| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 869| 869| 
| 870| 870| 						doublePressTimer = now;
| 871| 871| 						prevHotkey = ev.hotkey;
| 872|    |-					}
|    | 872|+				}
| 873| 873| 				}
| 874| 874| 				break;
| 875| 875| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 870| 870| 						doublePressTimer = now;
| 871| 871| 						prevHotkey = ev.hotkey;
| 872| 872| 					}
| 873|    |-				}
|    | 873|+			}
| 874| 874| 				break;
| 875| 875| 		}
| 876| 876| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 871| 871| 						prevHotkey = ev.hotkey;
| 872| 872| 					}
| 873| 873| 				}
| 874|    |-				break;
|    | 874|+			break;
| 875| 875| 		}
| 876| 876| 		break;
| 877| 877| 
|    | [NORMAL] ESLintBear (comma-spacing):
|    | 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
|1603|1603| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1604|1604| 
|1605|1605| 	// Reset the last idle unit, etc., if the selection type has changed.
|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]))
|1607|1607| 		resetIdleUnit();
|1608|1608| 	lastIdleClasses = classes;
|1609|1609| 

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

binaries/data/mods/public/gui/session/input.js
| 502| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
| 818| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
| 909| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 933| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
Executing section cli...

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

Vulcan added a comment.May 2 2020, 6:47 PM

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

Linter detected issues:
Executing section Source...
Executing section JS...

binaries/data/mods/public/gui/session/minimap/MiniMap.js
|  23| »   »   »   return·false;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'onWorldClick' expected no return value.

binaries/data/mods/public/gui/session/minimap/MiniMap.js
|  26| »   »   return·action·&&·handleUnitAction(target,·action);
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'onWorldClick' expected no return value.
|    | [NORMAL] ESLintBear (no-undef-init):
|    | 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
| 239| 239| 	// if two actions are possible, the first one is taken
| 240| 240| 	// thus the most specific should appear first.
| 241| 241| 
| 242|    |-	let actionInfo = undefined;
|    | 242|+	let actionInfo;
| 243| 243| 	// Disable preselected actions on the minimap because their
| 244| 244| 	// left-click interferes with the minimap left-click anyways
| 245| 245| 	if (preSelectedAction != ACTION_NONE && !fromMinimap)
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 335| 335| 	}
| 336| 336| 
| 337| 337| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 338|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 338|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 339| 339| 	{
| 340| 340| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 341| 341| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' 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
| 485| 485| 	mouseIsOverObject = (hoveredObject != null);
| 486| 486| 
| 487| 487| 	// Close the menu when interacting with the game world
| 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))
| 490| 490| 		g_Menu.close();
| 491| 491| 
| 492| 492| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 646| 646| 		// user to continue building walls.
| 647| 647| 		switch (ev.type)
| 648| 648| 		{
| 649|    |-			case "mousemotion":
|    | 649|+		case "mousemotion":
| 650| 650| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 651| 651| 
| 652| 652| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 647| 647| 		switch (ev.type)
| 648| 648| 		{
| 649| 649| 			case "mousemotion":
| 650|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 650|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 651| 651| 
| 652| 652| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 653| 653| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 649| 649| 			case "mousemotion":
| 650| 650| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 651| 651| 
| 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 (!)
| 653| 653| 				// the ending point and the starting point to snap to.
| 654| 654| 				//
| 655| 655| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | 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| 650| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 651| 651| 
| 652| 652| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 653|    |-				// the ending point and the starting point to snap to.
|    | 653|+			// the ending point and the starting point to snap to.
| 654| 654| 				//
| 655| 655| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 656| 656| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 651| 651| 
| 652| 652| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 653| 653| 				// the ending point and the starting point to snap to.
| 654|    |-				//
|    | 654|+			//
| 655| 655| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 656| 656| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 657| 657| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | 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| 652| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 653| 653| 				// the ending point and the starting point to snap to.
| 654| 654| 				//
| 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
| 656| 656| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 657| 657| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 658| 658| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | 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| 653| 				// the ending point and the starting point to snap to.
| 654| 654| 				//
| 655| 655| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 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
| 657| 657| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 658| 658| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 659| 659| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | 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| 				//
| 655| 655| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 656| 656| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 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
| 658| 658| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 659| 659| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 660| 660| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | 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| 655| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 656| 656| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 657| 657| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 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
| 659| 659| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 660| 660| 				// points.
| 661| 661| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 656| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 657| 657| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 658| 658| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 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
| 660| 660| 				// points.
| 661| 661| 
| 662| 662| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 657| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 658| 658| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 659| 659| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 660|    |-				// points.
|    | 660|+			// points.
| 661| 661| 
| 662| 662| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 663| 663| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | 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| 659| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 660| 660| 				// points.
| 661| 661| 
| 662|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 662|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 663| 663| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 664| 664| 
| 665| 665| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | 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| 660| 				// points.
| 661| 661| 
| 662| 662| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 663|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 663|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 664| 664| 
| 665| 665| 				if (result && result.cost)
| 666| 666| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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| 662| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 663| 663| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 664| 664| 
| 665|    |-				if (result && result.cost)
|    | 665|+			if (result && result.cost)
| 666| 666| 				{
| 667| 667| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 668| 668| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | 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| 663| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 664| 664| 
| 665| 665| 				if (result && result.cost)
| 666|    |-				{
|    | 666|+			{
| 667| 667| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 668| 668| 					placementSupport.tooltipMessage = [
| 669| 669| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 664| 664| 
| 665| 665| 				if (result && result.cost)
| 666| 666| 				{
| 667|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 667|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 668| 668| 					placementSupport.tooltipMessage = [
| 669| 669| 						getEntityCostTooltip(result),
| 670| 670| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 665| 665| 				if (result && result.cost)
| 666| 666| 				{
| 667| 667| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 668|    |-					placementSupport.tooltipMessage = [
|    | 668|+				placementSupport.tooltipMessage = [
| 669| 669| 						getEntityCostTooltip(result),
| 670| 670| 						getNeededResourcesTooltip(neededResources)
| 671| 671| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 666| 666| 				{
| 667| 667| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 668| 668| 					placementSupport.tooltipMessage = [
| 669|    |-						getEntityCostTooltip(result),
|    | 669|+					getEntityCostTooltip(result),
| 670| 670| 						getNeededResourcesTooltip(neededResources)
| 671| 671| 					].filter(tip => tip).join("\n");
| 672| 672| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 667| 667| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 668| 668| 					placementSupport.tooltipMessage = [
| 669| 669| 						getEntityCostTooltip(result),
| 670|    |-						getNeededResourcesTooltip(neededResources)
|    | 670|+					getNeededResourcesTooltip(neededResources)
| 671| 671| 					].filter(tip => tip).join("\n");
| 672| 672| 				}
| 673| 673| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 668| 					placementSupport.tooltipMessage = [
| 669| 669| 						getEntityCostTooltip(result),
| 670| 670| 						getNeededResourcesTooltip(neededResources)
| 671|    |-					].filter(tip => tip).join("\n");
|    | 671|+				].filter(tip => tip).join("\n");
| 672| 672| 				}
| 673| 673| 
| 674| 674| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 669| 669| 						getEntityCostTooltip(result),
| 670| 670| 						getNeededResourcesTooltip(neededResources)
| 671| 671| 					].filter(tip => tip).join("\n");
| 672|    |-				}
|    | 672|+			}
| 673| 673| 
| 674| 674| 				break;
| 675| 675| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 671| 671| 					].filter(tip => tip).join("\n");
| 672| 672| 				}
| 673| 673| 
| 674|    |-				break;
|    | 674|+			break;
| 675| 675| 
| 676| 676| 			case "mousebuttondown":
| 677| 677| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 673| 673| 
| 674| 674| 				break;
| 675| 675| 
| 676|    |-			case "mousebuttondown":
|    | 676|+		case "mousebuttondown":
| 677| 677| 				if (ev.button == SDL_BUTTON_LEFT)
| 678| 678| 				{
| 679| 679| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | 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| 674| 				break;
| 675| 675| 
| 676| 676| 			case "mousebuttondown":
| 677|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 677|+			if (ev.button == SDL_BUTTON_LEFT)
| 678| 678| 				{
| 679| 679| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 680| 680| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 675| 675| 
| 676| 676| 			case "mousebuttondown":
| 677| 677| 				if (ev.button == SDL_BUTTON_LEFT)
| 678|    |-				{
|    | 678|+			{
| 679| 679| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 680| 680| 					if (tryPlaceWall(queued))
| 681| 681| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 676| 676| 			case "mousebuttondown":
| 677| 677| 				if (ev.button == SDL_BUTTON_LEFT)
| 678| 678| 				{
| 679|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 679|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 680| 680| 					if (tryPlaceWall(queued))
| 681| 681| 					{
| 682| 682| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 677| 677| 				if (ev.button == SDL_BUTTON_LEFT)
| 678| 678| 				{
| 679| 679| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 680|    |-					if (tryPlaceWall(queued))
|    | 680|+				if (tryPlaceWall(queued))
| 681| 681| 					{
| 682| 682| 						if (queued)
| 683| 683| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 678| 678| 				{
| 679| 679| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 680| 680| 					if (tryPlaceWall(queued))
| 681|    |-					{
|    | 681|+				{
| 682| 682| 						if (queued)
| 683| 683| 						{
| 684| 684| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 679| 679| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 680| 680| 					if (tryPlaceWall(queued))
| 681| 681| 					{
| 682|    |-						if (queued)
|    | 682|+					if (queued)
| 683| 683| 						{
| 684| 684| 							// continue building, just set a new starting position where we left off
| 685| 685| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 680| 680| 					if (tryPlaceWall(queued))
| 681| 681| 					{
| 682| 682| 						if (queued)
| 683|    |-						{
|    | 683|+					{
| 684| 684| 							// continue building, just set a new starting position where we left off
| 685| 685| 							placementSupport.position = placementSupport.wallEndPosition;
| 686| 686| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 681| 681| 					{
| 682| 682| 						if (queued)
| 683| 683| 						{
| 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
| 685| 685| 							placementSupport.position = placementSupport.wallEndPosition;
| 686| 686| 							placementSupport.wallEndPosition = undefined;
| 687| 687| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 682| 682| 						if (queued)
| 683| 683| 						{
| 684| 684| 							// continue building, just set a new starting position where we left off
| 685|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 685|+						placementSupport.position = placementSupport.wallEndPosition;
| 686| 686| 							placementSupport.wallEndPosition = undefined;
| 687| 687| 
| 688| 688| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 683| 683| 						{
| 684| 684| 							// continue building, just set a new starting position where we left off
| 685| 685| 							placementSupport.position = placementSupport.wallEndPosition;
| 686|    |-							placementSupport.wallEndPosition = undefined;
|    | 686|+						placementSupport.wallEndPosition = undefined;
| 687| 687| 
| 688| 688| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 689| 689| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 685| 							placementSupport.position = placementSupport.wallEndPosition;
| 686| 686| 							placementSupport.wallEndPosition = undefined;
| 687| 687| 
| 688|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 688|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 689| 689| 						}
| 690| 690| 						else
| 691| 691| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 686| 686| 							placementSupport.wallEndPosition = undefined;
| 687| 687| 
| 688| 688| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 689|    |-						}
|    | 689|+					}
| 690| 690| 						else
| 691| 691| 						{
| 692| 692| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 687| 687| 
| 688| 688| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 689| 689| 						}
| 690|    |-						else
|    | 690|+					else
| 691| 691| 						{
| 692| 692| 							placementSupport.Reset();
| 693| 693| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 688| 688| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 689| 689| 						}
| 690| 690| 						else
| 691|    |-						{
|    | 691|+					{
| 692| 692| 							placementSupport.Reset();
| 693| 693| 							inputState = INPUT_NORMAL;
| 694| 694| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 689| 689| 						}
| 690| 690| 						else
| 691| 691| 						{
| 692|    |-							placementSupport.Reset();
|    | 692|+						placementSupport.Reset();
| 693| 693| 							inputState = INPUT_NORMAL;
| 694| 694| 						}
| 695| 695| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 690| 690| 						else
| 691| 691| 						{
| 692| 692| 							placementSupport.Reset();
| 693|    |-							inputState = INPUT_NORMAL;
|    | 693|+						inputState = INPUT_NORMAL;
| 694| 694| 						}
| 695| 695| 					}
| 696| 696| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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| 						{
| 692| 692| 							placementSupport.Reset();
| 693| 693| 							inputState = INPUT_NORMAL;
| 694|    |-						}
|    | 694|+					}
| 695| 695| 					}
| 696| 696| 					else
| 697| 697| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 692| 692| 							placementSupport.Reset();
| 693| 693| 							inputState = INPUT_NORMAL;
| 694| 694| 						}
| 695|    |-					}
|    | 695|+				}
| 696| 696| 					else
| 697| 697| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 698| 698| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 693| 693| 							inputState = INPUT_NORMAL;
| 694| 694| 						}
| 695| 695| 					}
| 696|    |-					else
|    | 696|+				else
| 697| 697| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 698| 698| 
| 699| 699| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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| 						}
| 695| 695| 					}
| 696| 696| 					else
| 697|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 697|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 698| 698| 
| 699| 699| 					updateBuildingPlacementPreview();
| 700| 700| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 696| 					else
| 697| 697| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 698| 698| 
| 699|    |-					updateBuildingPlacementPreview();
|    | 699|+				updateBuildingPlacementPreview();
| 700| 700| 					return true;
| 701| 701| 				}
| 702| 702| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 697| 697| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 698| 698| 
| 699| 699| 					updateBuildingPlacementPreview();
| 700|    |-					return true;
|    | 700|+				return true;
| 701| 701| 				}
| 702| 702| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 703| 703| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 698| 698| 
| 699| 699| 					updateBuildingPlacementPreview();
| 700| 700| 					return true;
| 701|    |-				}
|    | 701|+			}
| 702| 702| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 703| 703| 				{
| 704| 704| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 699| 699| 					updateBuildingPlacementPreview();
| 700| 700| 					return true;
| 701| 701| 				}
| 702|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 702|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 703| 703| 				{
| 704| 704| 					// reset to normal input mode
| 705| 705| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 700| 700| 					return true;
| 701| 701| 				}
| 702| 702| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 703|    |-				{
|    | 703|+			{
| 704| 704| 					// reset to normal input mode
| 705| 705| 					placementSupport.Reset();
| 706| 706| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 701| 701| 				}
| 702| 702| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 703| 703| 				{
| 704|    |-					// reset to normal input mode
|    | 704|+				// reset to normal input mode
| 705| 705| 					placementSupport.Reset();
| 706| 706| 					updateBuildingPlacementPreview();
| 707| 707| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 702| 702| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 703| 703| 				{
| 704| 704| 					// reset to normal input mode
| 705|    |-					placementSupport.Reset();
|    | 705|+				placementSupport.Reset();
| 706| 706| 					updateBuildingPlacementPreview();
| 707| 707| 
| 708| 708| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 703| 703| 				{
| 704| 704| 					// reset to normal input mode
| 705| 705| 					placementSupport.Reset();
| 706|    |-					updateBuildingPlacementPreview();
|    | 706|+				updateBuildingPlacementPreview();
| 707| 707| 
| 708| 708| 					inputState = INPUT_NORMAL;
| 709| 709| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 705| 					placementSupport.Reset();
| 706| 706| 					updateBuildingPlacementPreview();
| 707| 707| 
| 708|    |-					inputState = INPUT_NORMAL;
|    | 708|+				inputState = INPUT_NORMAL;
| 709| 709| 					return true;
| 710| 710| 				}
| 711| 711| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 706| 					updateBuildingPlacementPreview();
| 707| 707| 
| 708| 708| 					inputState = INPUT_NORMAL;
| 709|    |-					return true;
|    | 709|+				return true;
| 710| 710| 				}
| 711| 711| 				break;
| 712| 712| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 707| 707| 
| 708| 708| 					inputState = INPUT_NORMAL;
| 709| 709| 					return true;
| 710|    |-				}
|    | 710|+			}
| 711| 711| 				break;
| 712| 712| 		}
| 713| 713| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 708| 708| 					inputState = INPUT_NORMAL;
| 709| 709| 					return true;
| 710| 710| 				}
| 711|    |-				break;
|    | 711|+			break;
| 712| 712| 		}
| 713| 713| 		break;
| 714| 714| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 850| 850| 			break;
| 851| 851| 
| 852| 852| 		case "hotkeydown":
| 853|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 853|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 854| 854| 				{
| 855| 855| 					let now = Date.now();
| 856| 856| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 851| 851| 
| 852| 852| 		case "hotkeydown":
| 853| 853| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 854|    |-				{
|    | 854|+			{
| 855| 855| 					let now = Date.now();
| 856| 856| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 857| 857| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 852| 852| 		case "hotkeydown":
| 853| 853| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 854| 854| 				{
| 855|    |-					let now = Date.now();
|    | 855|+				let now = Date.now();
| 856| 856| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 857| 857| 					{
| 858| 858| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 853| 853| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 854| 854| 				{
| 855| 855| 					let now = Date.now();
| 856|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 856|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 857| 857| 					{
| 858| 858| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 859| 859| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 854| 854| 				{
| 855| 855| 					let now = Date.now();
| 856| 856| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 857|    |-					{
|    | 857|+				{
| 858| 858| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 859| 859| 						{
| 860| 860| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 855| 855| 					let now = Date.now();
| 856| 856| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 857| 857| 					{
| 858|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 858|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 859| 859| 						{
| 860| 860| 							var sptr = ev.hotkey.split(".");
| 861| 861| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 856| 856| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 857| 857| 					{
| 858| 858| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 859|    |-						{
|    | 859|+					{
| 860| 860| 							var sptr = ev.hotkey.split(".");
| 861| 861| 							performGroup("snap", sptr[3]);
| 862| 862| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 857| 857| 					{
| 858| 858| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 859| 859| 						{
| 860|    |-							var sptr = ev.hotkey.split(".");
|    | 860|+						var sptr = ev.hotkey.split(".");
| 861| 861| 							performGroup("snap", sptr[3]);
| 862| 862| 						}
| 863| 863| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 858| 858| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 859| 859| 						{
| 860| 860| 							var sptr = ev.hotkey.split(".");
| 861|    |-							performGroup("snap", sptr[3]);
|    | 861|+						performGroup("snap", sptr[3]);
| 862| 862| 						}
| 863| 863| 					}
| 864| 864| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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| 						{
| 860| 860| 							var sptr = ev.hotkey.split(".");
| 861| 861| 							performGroup("snap", sptr[3]);
| 862|    |-						}
|    | 862|+					}
| 863| 863| 					}
| 864| 864| 					else
| 865| 865| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 860| 860| 							var sptr = ev.hotkey.split(".");
| 861| 861| 							performGroup("snap", sptr[3]);
| 862| 862| 						}
| 863|    |-					}
|    | 863|+				}
| 864| 864| 					else
| 865| 865| 					{
| 866| 866| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 861| 861| 							performGroup("snap", sptr[3]);
| 862| 862| 						}
| 863| 863| 					}
| 864|    |-					else
|    | 864|+				else
| 865| 865| 					{
| 866| 866| 						var sptr = ev.hotkey.split(".");
| 867| 867| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 862| 862| 						}
| 863| 863| 					}
| 864| 864| 					else
| 865|    |-					{
|    | 865|+				{
| 866| 866| 						var sptr = ev.hotkey.split(".");
| 867| 867| 						performGroup(sptr[2], sptr[3]);
| 868| 868| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 863| 863| 					}
| 864| 864| 					else
| 865| 865| 					{
| 866|    |-						var sptr = ev.hotkey.split(".");
|    | 866|+					var sptr = ev.hotkey.split(".");
| 867| 867| 						performGroup(sptr[2], sptr[3]);
| 868| 868| 
| 869| 869| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 864| 864| 					else
| 865| 865| 					{
| 866| 866| 						var sptr = ev.hotkey.split(".");
| 867|    |-						performGroup(sptr[2], sptr[3]);
|    | 867|+					performGroup(sptr[2], sptr[3]);
| 868| 868| 
| 869| 869| 						doublePressTimer = now;
| 870| 870| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 866| 						var sptr = ev.hotkey.split(".");
| 867| 867| 						performGroup(sptr[2], sptr[3]);
| 868| 868| 
| 869|    |-						doublePressTimer = now;
|    | 869|+					doublePressTimer = now;
| 870| 870| 						prevHotkey = ev.hotkey;
| 871| 871| 					}
| 872| 872| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 867| 						performGroup(sptr[2], sptr[3]);
| 868| 868| 
| 869| 869| 						doublePressTimer = now;
| 870|    |-						prevHotkey = ev.hotkey;
|    | 870|+					prevHotkey = ev.hotkey;
| 871| 871| 					}
| 872| 872| 				}
| 873| 873| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 868| 868| 
| 869| 869| 						doublePressTimer = now;
| 870| 870| 						prevHotkey = ev.hotkey;
| 871|    |-					}
|    | 871|+				}
| 872| 872| 				}
| 873| 873| 				break;
| 874| 874| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 869| 869| 						doublePressTimer = now;
| 870| 870| 						prevHotkey = ev.hotkey;
| 871| 871| 					}
| 872|    |-				}
|    | 872|+			}
| 873| 873| 				break;
| 874| 874| 		}
| 875| 875| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 870| 870| 						prevHotkey = ev.hotkey;
| 871| 871| 					}
| 872| 872| 				}
| 873|    |-				break;
|    | 873|+			break;
| 874| 874| 		}
| 875| 875| 		break;
| 876| 876| 
|    | [NORMAL] ESLintBear (comma-spacing):
|    | 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
|1602|1602| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1603|1603| 
|1604|1604| 	// Reset the last idle unit, etc., if the selection type has changed.
|1605|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1605|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1606|1606| 		resetIdleUnit();
|1607|1607| 	lastIdleClasses = classes;
|1608|1608| 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
|1553| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 242| »   let·actionInfo·=·undefined;
|    | [NORMAL] JSHintBear:
|    | 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))
|    | [NORMAL] JSHintBear:
|    | 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);
|    | [NORMAL] JSHintBear:
|    | '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));
|    | [NORMAL] JSHintBear:
|    | 'ents' is already defined.

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
| 932| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
Executing section cli...

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

bb added a subscriber: bb.May 2 2020, 8:59 PM
bb added inline comments.
binaries/data/mods/public/gui/session/input.js
42 ↗(On Diff #11776)

Instead of having a global defined here, wouldn't it be better to have some getter in the minimap class to retrieve this value

94 ↗(On Diff #11776)

suspicious that this parameter wasn't there

243–244 ↗(On Diff #11776)

period

245 ↗(On Diff #11776)

Just for my understanding: this change shouldn't do anything anyhow right?

Imarok added inline comments.May 2 2020, 9:13 PM
binaries/data/mods/public/gui/session/input.js
42 ↗(On Diff #11776)

Good catch. (I'm not used thinking object-oriented in our js files xD)

94 ↗(On Diff #11776)

If it is not there it will be false. So instead of writing false they just left it out.

243–244 ↗(On Diff #11776)

True

245 ↗(On Diff #11776)

When you preselect a action by using a gui button the cursor will switch to the icon of that action.
You can do that preselected action on the map but not on the minimap.

With this change we won't display the icon of a preselected action on the minimap.

Maybe I should state this more clearly in the comment?

(Hope I formulated that understandable)

bb added inline comments.May 2 2020, 9:21 PM
binaries/data/mods/public/gui/session/input.js
245 ↗(On Diff #11776)

I meant "change" from a sim perspective, ofc the cursor changes

Comment is clear for me

Imarok marked an inline comment as done.May 2 2020, 9:42 PM
Imarok added inline comments.
binaries/data/mods/public/gui/session/input.js
245 ↗(On Diff #11776)

yeah, aside from visual behaviour won't change.

Imarok updated this revision to Diff 11778.May 2 2020, 9:48 PM
Imarok marked 4 inline comments as done.

Dot after comment and use a getter to comply with OOP

Vulcan added a comment.May 2 2020, 9:54 PM

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

Linter detected issues:
Executing section Source...
Executing section JS...

binaries/data/mods/public/gui/session/minimap/MiniMap.js
|  24| »   »   »   return·false;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'onWorldClick' expected no return value.

binaries/data/mods/public/gui/session/minimap/MiniMap.js
|  27| »   »   return·action·&&·handleUnitAction(target,·action);
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'onWorldClick' expected no return value.
|    | [NORMAL] ESLintBear (no-undef-init):
|    | 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
| 238| 238| 	// if two actions are possible, the first one is taken
| 239| 239| 	// thus the most specific should appear first.
| 240| 240| 
| 241|    |-	let actionInfo = undefined;
|    | 241|+	let actionInfo;
| 242| 242| 	// Disable preselected actions on the minimap because their
| 243| 243| 	// left-click interferes with the minimap left-click anyways.
| 244| 244| 	if (preSelectedAction != ACTION_NONE && !fromMinimap)
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 334| 334| 	}
| 335| 335| 
| 336| 336| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 337|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 337|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 338| 338| 	{
| 339| 339| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 340| 340| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' 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
| 484| 484| 	mouseIsOverObject = (hoveredObject != null);
| 485| 485| 
| 486| 486| 	// Close the menu when interacting with the game world
| 487|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 488|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 487|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 488|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 489| 489| 		g_Menu.close();
| 490| 490| 
| 491| 491| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 645| 645| 		// user to continue building walls.
| 646| 646| 		switch (ev.type)
| 647| 647| 		{
| 648|    |-			case "mousemotion":
|    | 648|+		case "mousemotion":
| 649| 649| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 646| 646| 		switch (ev.type)
| 647| 647| 		{
| 648| 648| 			case "mousemotion":
| 649|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 649|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 648| 648| 			case "mousemotion":
| 649| 649| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651|    |-				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 651|+			// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 649| 649| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652|    |-				// the ending point and the starting point to snap to.
|    | 652|+			// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | 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| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
| 653|    |-				//
|    | 653|+			//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 654|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | 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| 652| 				// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 655|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | 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| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 656|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | 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| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 657|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
| 660| 660| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 658|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
| 660| 660| 
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659|    |-				// points.
|    | 659|+			// points.
| 660| 660| 
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | 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| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
| 660| 660| 
| 661|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 661|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664| 664| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | 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| 659| 				// points.
| 660| 660| 
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 662|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664| 664| 				if (result && result.cost)
| 665| 665| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664|    |-				if (result && result.cost)
|    | 664|+			if (result && result.cost)
| 665| 665| 				{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | 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| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664| 664| 				if (result && result.cost)
| 665|    |-				{
|    | 665|+			{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 663| 663| 
| 664| 664| 				if (result && result.cost)
| 665| 665| 				{
| 666|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 666|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 664| 664| 				if (result && result.cost)
| 665| 665| 				{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667|    |-					placementSupport.tooltipMessage = [
|    | 667|+				placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 665| 665| 				{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668|    |-						getEntityCostTooltip(result),
|    | 668|+					getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
| 671| 671| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669|    |-						getNeededResourcesTooltip(neededResources)
|    | 669|+					getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
| 671| 671| 				}
| 672| 672| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670|    |-					].filter(tip => tip).join("\n");
|    | 670|+				].filter(tip => tip).join("\n");
| 671| 671| 				}
| 672| 672| 
| 673| 673| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
| 671|    |-				}
|    | 671|+			}
| 672| 672| 
| 673| 673| 				break;
| 674| 674| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 670| 670| 					].filter(tip => tip).join("\n");
| 671| 671| 				}
| 672| 672| 
| 673|    |-				break;
|    | 673|+			break;
| 674| 674| 
| 675| 675| 			case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 672| 672| 
| 673| 673| 				break;
| 674| 674| 
| 675|    |-			case "mousebuttondown":
|    | 675|+		case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 673| 673| 				break;
| 674| 674| 
| 675| 675| 			case "mousebuttondown":
| 676|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 676|+			if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | 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| 674| 
| 675| 675| 			case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677|    |-				{
|    | 677|+			{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 675| 675| 			case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 678|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
| 681| 681| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679|    |-					if (tryPlaceWall(queued))
|    | 679|+				if (tryPlaceWall(queued))
| 680| 680| 					{
| 681| 681| 						if (queued)
| 682| 682| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680|    |-					{
|    | 680|+				{
| 681| 681| 						if (queued)
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
| 681|    |-						if (queued)
|    | 681|+					if (queued)
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
| 681| 681| 						if (queued)
| 682|    |-						{
|    | 682|+					{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 680| 680| 					{
| 681| 681| 						if (queued)
| 682| 682| 						{
| 683|    |-							// continue building, just set a new starting position where we left off
|    | 683|+						// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 681| 681| 						if (queued)
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 684|+						placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685|    |-							placementSupport.wallEndPosition = undefined;
|    | 685|+						placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 687|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
| 689| 689| 						else
| 690| 690| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 						else
| 690| 690| 						{
| 691| 691| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
| 689|    |-						else
|    | 689|+					else
| 690| 690| 						{
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
| 689| 689| 						else
| 690|    |-						{
|    | 690|+					{
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 688| 						}
| 689| 689| 						else
| 690| 690| 						{
| 691|    |-							placementSupport.Reset();
|    | 691|+						placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694| 694| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 689| 689| 						else
| 690| 690| 						{
| 691| 691| 							placementSupport.Reset();
| 692|    |-							inputState = INPUT_NORMAL;
|    | 692|+						inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694| 694| 					}
| 695| 695| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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| 690| 						{
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693|    |-						}
|    | 693|+					}
| 694| 694| 					}
| 695| 695| 					else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694|    |-					}
|    | 694|+				}
| 695| 695| 					else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694| 694| 					}
| 695|    |-					else
|    | 695|+				else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 693| 693| 						}
| 694| 694| 					}
| 695| 695| 					else
| 696|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 696|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
| 699| 699| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 					else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698|    |-					updateBuildingPlacementPreview();
|    | 698|+				updateBuildingPlacementPreview();
| 699| 699| 					return true;
| 700| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | 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| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
| 699|    |-					return true;
|    | 699|+				return true;
| 700| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
| 699| 699| 					return true;
| 700|    |-				}
|    | 700|+			}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 698| 698| 					updateBuildingPlacementPreview();
| 699| 699| 					return true;
| 700| 700| 				}
| 701|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 701|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 699| 699| 					return true;
| 700| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702|    |-				{
|    | 702|+			{
| 703| 703| 					// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703|    |-					// reset to normal input mode
|    | 703|+				// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
| 704|    |-					placementSupport.Reset();
|    | 704|+				placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
| 705|    |-					updateBuildingPlacementPreview();
|    | 705|+				updateBuildingPlacementPreview();
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
| 708| 708| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 704| 					placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
| 707|    |-					inputState = INPUT_NORMAL;
|    | 707|+				inputState = INPUT_NORMAL;
| 708| 708| 					return true;
| 709| 709| 				}
| 710| 710| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
| 708|    |-					return true;
|    | 708|+				return true;
| 709| 709| 				}
| 710| 710| 				break;
| 711| 711| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
| 708| 708| 					return true;
| 709|    |-				}
|    | 709|+			}
| 710| 710| 				break;
| 711| 711| 		}
| 712| 712| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 707| 707| 					inputState = INPUT_NORMAL;
| 708| 708| 					return true;
| 709| 709| 				}
| 710|    |-				break;
|    | 710|+			break;
| 711| 711| 		}
| 712| 712| 		break;
| 713| 713| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 849| 849| 			break;
| 850| 850| 
| 851| 851| 		case "hotkeydown":
| 852|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 852|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 853| 853| 				{
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 850| 850| 
| 851| 851| 		case "hotkeydown":
| 852| 852| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 853|    |-				{
|    | 853|+			{
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 851| 851| 		case "hotkeydown":
| 852| 852| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 853| 853| 				{
| 854|    |-					let now = Date.now();
|    | 854|+				let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 852| 852| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 853| 853| 				{
| 854| 854| 					let now = Date.now();
| 855|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 855|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 853| 853| 				{
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856|    |-					{
|    | 856|+				{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 857|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858|    |-						{
|    | 858|+					{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859|    |-							var sptr = ev.hotkey.split(".");
|    | 859|+						var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862| 862| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860|    |-							performGroup("snap", sptr[3]);
|    | 860|+						performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862| 862| 					}
| 863| 863| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861|    |-						}
|    | 861|+					}
| 862| 862| 					}
| 863| 863| 					else
| 864| 864| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862|    |-					}
|    | 862|+				}
| 863| 863| 					else
| 864| 864| 					{
| 865| 865| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862| 862| 					}
| 863|    |-					else
|    | 863|+				else
| 864| 864| 					{
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 861| 861| 						}
| 862| 862| 					}
| 863| 863| 					else
| 864|    |-					{
|    | 864|+				{
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 					}
| 863| 863| 					else
| 864| 864| 					{
| 865|    |-						var sptr = ev.hotkey.split(".");
|    | 865|+					var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 863| 863| 					else
| 864| 864| 					{
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866|    |-						performGroup(sptr[2], sptr[3]);
|    | 866|+					performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868|    |-						doublePressTimer = now;
|    | 868|+					doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871| 871| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
| 869|    |-						prevHotkey = ev.hotkey;
|    | 869|+					prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871| 871| 				}
| 872| 872| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
| 870|    |-					}
|    | 870|+				}
| 871| 871| 				}
| 872| 872| 				break;
| 873| 873| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 868| 868| 						doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871|    |-				}
|    | 871|+			}
| 872| 872| 				break;
| 873| 873| 		}
| 874| 874| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 869| 869| 						prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871| 871| 				}
| 872|    |-				break;
|    | 872|+			break;
| 873| 873| 		}
| 874| 874| 		break;
| 875| 875| 
|    | [NORMAL] ESLintBear (comma-spacing):
|    | 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
|1601|1601| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1602|1602| 
|1603|1603| 	// Reset the last idle unit, etc., if the selection type has changed.
|1604|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1604|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1605|1605| 		resetIdleUnit();
|1606|1606| 	lastIdleClasses = classes;
|1607|1607| 

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

binaries/data/mods/public/gui/session/input.js
| 500| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
| 816| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
|1552| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
| 907| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 931| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
Executing section cli...

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

Imarok updated this revision to Diff 11782.May 2 2020, 11:07 PM

Rebase upon D2719

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

Linter detected issues:
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (no-undef-init):
|    | 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
| 238| 238| 	// if two actions are possible, the first one is taken
| 239| 239| 	// thus the most specific should appear first.
| 240| 240| 
| 241|    |-	let actionInfo = undefined;
|    | 241|+	let actionInfo;
| 242| 242| 	// Disable preselected actions on the minimap because their
| 243| 243| 	// left-click interferes with the minimap left-click anyways.
| 244| 244| 	if (preSelectedAction != ACTION_NONE && !fromMiniMap)
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 334| 334| 	}
| 335| 335| 
| 336| 336| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 337|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 337|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 338| 338| 	{
| 339| 339| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 340| 340| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' 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
| 484| 484| 	mouseIsOverObject = (hoveredObject != null);
| 485| 485| 
| 486| 486| 	// Close the menu when interacting with the game world
| 487|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 488|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 487|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 488|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 489| 489| 		g_Menu.close();
| 490| 490| 
| 491| 491| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 645| 645| 		// user to continue building walls.
| 646| 646| 		switch (ev.type)
| 647| 647| 		{
| 648|    |-			case "mousemotion":
|    | 648|+		case "mousemotion":
| 649| 649| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 646| 646| 		switch (ev.type)
| 647| 647| 		{
| 648| 648| 			case "mousemotion":
| 649|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 649|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 648| 648| 			case "mousemotion":
| 649| 649| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651|    |-				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 651|+			// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 649| 649| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 650| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652|    |-				// the ending point and the starting point to snap to.
|    | 652|+			// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | 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| 650| 
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
| 653|    |-				//
|    | 653|+			//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 651| 651| 				// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
| 652| 652| 				// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 654|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | 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| 652| 				// the ending point and the starting point to snap to.
| 653| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 655|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | 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| 653| 				//
| 654| 654| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 656|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | 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| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 655| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 657|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
| 660| 660| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 655| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 656| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 658|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
| 660| 660| 
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 656| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 657| 657| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 658| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659|    |-				// points.
|    | 659|+			// points.
| 660| 660| 
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | 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| 658| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 659| 659| 				// points.
| 660| 660| 
| 661|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 661|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664| 664| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | 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| 659| 				// points.
| 660| 660| 
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 662|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664| 664| 				if (result && result.cost)
| 665| 665| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 661| 661| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 662| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664|    |-				if (result && result.cost)
|    | 664|+			if (result && result.cost)
| 665| 665| 				{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | 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| 662| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 663| 663| 
| 664| 664| 				if (result && result.cost)
| 665|    |-				{
|    | 665|+			{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 663| 663| 
| 664| 664| 				if (result && result.cost)
| 665| 665| 				{
| 666|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 666|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 664| 664| 				if (result && result.cost)
| 665| 665| 				{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667|    |-					placementSupport.tooltipMessage = [
|    | 667|+				placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 665| 665| 				{
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668|    |-						getEntityCostTooltip(result),
|    | 668|+					getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
| 671| 671| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 666| 666| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 667| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669|    |-						getNeededResourcesTooltip(neededResources)
|    | 669|+					getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
| 671| 671| 				}
| 672| 672| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 667| 					placementSupport.tooltipMessage = [
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670|    |-					].filter(tip => tip).join("\n");
|    | 670|+				].filter(tip => tip).join("\n");
| 671| 671| 				}
| 672| 672| 
| 673| 673| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 668| 668| 						getEntityCostTooltip(result),
| 669| 669| 						getNeededResourcesTooltip(neededResources)
| 670| 670| 					].filter(tip => tip).join("\n");
| 671|    |-				}
|    | 671|+			}
| 672| 672| 
| 673| 673| 				break;
| 674| 674| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 670| 670| 					].filter(tip => tip).join("\n");
| 671| 671| 				}
| 672| 672| 
| 673|    |-				break;
|    | 673|+			break;
| 674| 674| 
| 675| 675| 			case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 672| 672| 
| 673| 673| 				break;
| 674| 674| 
| 675|    |-			case "mousebuttondown":
|    | 675|+		case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 673| 673| 				break;
| 674| 674| 
| 675| 675| 			case "mousebuttondown":
| 676|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 676|+			if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | 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| 674| 
| 675| 675| 			case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677|    |-				{
|    | 677|+			{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 675| 675| 			case "mousebuttondown":
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 678|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
| 681| 681| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 676| 676| 				if (ev.button == SDL_BUTTON_LEFT)
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679|    |-					if (tryPlaceWall(queued))
|    | 679|+				if (tryPlaceWall(queued))
| 680| 680| 					{
| 681| 681| 						if (queued)
| 682| 682| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 677| 677| 				{
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680|    |-					{
|    | 680|+				{
| 681| 681| 						if (queued)
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 678| 678| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
| 681|    |-						if (queued)
|    | 681|+					if (queued)
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 679| 679| 					if (tryPlaceWall(queued))
| 680| 680| 					{
| 681| 681| 						if (queued)
| 682|    |-						{
|    | 682|+					{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 680| 680| 					{
| 681| 681| 						if (queued)
| 682| 682| 						{
| 683|    |-							// continue building, just set a new starting position where we left off
|    | 683|+						// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 681| 681| 						if (queued)
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 684|+						placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 682| 682| 						{
| 683| 683| 							// continue building, just set a new starting position where we left off
| 684| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685|    |-							placementSupport.wallEndPosition = undefined;
|    | 685|+						placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 684| 							placementSupport.position = placementSupport.wallEndPosition;
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 687|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
| 689| 689| 						else
| 690| 690| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 685| 685| 							placementSupport.wallEndPosition = undefined;
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 						else
| 690| 690| 						{
| 691| 691| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 686| 686| 
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
| 689|    |-						else
|    | 689|+					else
| 690| 690| 						{
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 687| 687| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 688| 688| 						}
| 689| 689| 						else
| 690|    |-						{
|    | 690|+					{
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 688| 						}
| 689| 689| 						else
| 690| 690| 						{
| 691|    |-							placementSupport.Reset();
|    | 691|+						placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694| 694| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 689| 689| 						else
| 690| 690| 						{
| 691| 691| 							placementSupport.Reset();
| 692|    |-							inputState = INPUT_NORMAL;
|    | 692|+						inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694| 694| 					}
| 695| 695| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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| 690| 						{
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693|    |-						}
|    | 693|+					}
| 694| 694| 					}
| 695| 695| 					else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 691| 691| 							placementSupport.Reset();
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694|    |-					}
|    | 694|+				}
| 695| 695| 					else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 692| 692| 							inputState = INPUT_NORMAL;
| 693| 693| 						}
| 694| 694| 					}
| 695|    |-					else
|    | 695|+				else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 693| 693| 						}
| 694| 694| 					}
| 695| 695| 					else
| 696|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 696|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
| 699| 699| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 					else
| 696| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698|    |-					updateBuildingPlacementPreview();
|    | 698|+				updateBuildingPlacementPreview();
| 699| 699| 					return true;
| 700| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | 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| 696| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
| 699|    |-					return true;
|    | 699|+				return true;
| 700| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 697| 697| 
| 698| 698| 					updateBuildingPlacementPreview();
| 699| 699| 					return true;
| 700|    |-				}
|    | 700|+			}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 698| 698| 					updateBuildingPlacementPreview();
| 699| 699| 					return true;
| 700| 700| 				}
| 701|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 701|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 699| 699| 					return true;
| 700| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702|    |-				{
|    | 702|+			{
| 703| 703| 					// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | 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| 700| 				}
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703|    |-					// reset to normal input mode
|    | 703|+				// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 701| 701| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
| 704|    |-					placementSupport.Reset();
|    | 704|+				placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 702| 702| 				{
| 703| 703| 					// reset to normal input mode
| 704| 704| 					placementSupport.Reset();
| 705|    |-					updateBuildingPlacementPreview();
|    | 705|+				updateBuildingPlacementPreview();
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
| 708| 708| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 704| 					placementSupport.Reset();
| 705| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
| 707|    |-					inputState = INPUT_NORMAL;
|    | 707|+				inputState = INPUT_NORMAL;
| 708| 708| 					return true;
| 709| 709| 				}
| 710| 710| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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| 705| 					updateBuildingPlacementPreview();
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
| 708|    |-					return true;
|    | 708|+				return true;
| 709| 709| 				}
| 710| 710| 				break;
| 711| 711| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 706| 706| 
| 707| 707| 					inputState = INPUT_NORMAL;
| 708| 708| 					return true;
| 709|    |-				}
|    | 709|+			}
| 710| 710| 				break;
| 711| 711| 		}
| 712| 712| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 707| 707| 					inputState = INPUT_NORMAL;
| 708| 708| 					return true;
| 709| 709| 				}
| 710|    |-				break;
|    | 710|+			break;
| 711| 711| 		}
| 712| 712| 		break;
| 713| 713| 
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 849| 849| 			break;
| 850| 850| 
| 851| 851| 		case "hotkeydown":
| 852|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 852|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 853| 853| 				{
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 850| 850| 
| 851| 851| 		case "hotkeydown":
| 852| 852| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 853|    |-				{
|    | 853|+			{
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 851| 851| 		case "hotkeydown":
| 852| 852| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 853| 853| 				{
| 854|    |-					let now = Date.now();
|    | 854|+				let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 852| 852| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 853| 853| 				{
| 854| 854| 					let now = Date.now();
| 855|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 855|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 853| 853| 				{
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856|    |-					{
|    | 856|+				{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 854| 854| 					let now = Date.now();
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 857|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 855| 855| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858|    |-						{
|    | 858|+					{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 856| 856| 					{
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859|    |-							var sptr = ev.hotkey.split(".");
|    | 859|+						var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862| 862| 					}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 857| 857| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 858| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860|    |-							performGroup("snap", sptr[3]);
|    | 860|+						performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862| 862| 					}
| 863| 863| 					else
|    | [NORMAL] ESLintBear (indent):
|    | 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| 858| 						{
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861|    |-						}
|    | 861|+					}
| 862| 862| 					}
| 863| 863| 					else
| 864| 864| 					{
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 859| 859| 							var sptr = ev.hotkey.split(".");
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862|    |-					}
|    | 862|+				}
| 863| 863| 					else
| 864| 864| 					{
| 865| 865| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 860| 860| 							performGroup("snap", sptr[3]);
| 861| 861| 						}
| 862| 862| 					}
| 863|    |-					else
|    | 863|+				else
| 864| 864| 					{
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 861| 861| 						}
| 862| 862| 					}
| 863| 863| 					else
| 864|    |-					{
|    | 864|+				{
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
|    | [NORMAL] ESLintBear (indent):
|    | 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| 					}
| 863| 863| 					else
| 864| 864| 					{
| 865|    |-						var sptr = ev.hotkey.split(".");
|    | 865|+					var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 863| 863| 					else
| 864| 864| 					{
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866|    |-						performGroup(sptr[2], sptr[3]);
|    | 866|+					performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 865| 865| 						var sptr = ev.hotkey.split(".");
| 866| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868|    |-						doublePressTimer = now;
|    | 868|+					doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871| 871| 				}
|    | [NORMAL] ESLintBear (indent):
|    | 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| 866| 						performGroup(sptr[2], sptr[3]);
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
| 869|    |-						prevHotkey = ev.hotkey;
|    | 869|+					prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871| 871| 				}
| 872| 872| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 867| 867| 
| 868| 868| 						doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
| 870|    |-					}
|    | 870|+				}
| 871| 871| 				}
| 872| 872| 				break;
| 873| 873| 		}
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 868| 868| 						doublePressTimer = now;
| 869| 869| 						prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871|    |-				}
|    | 871|+			}
| 872| 872| 				break;
| 873| 873| 		}
| 874| 874| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | 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
| 869| 869| 						prevHotkey = ev.hotkey;
| 870| 870| 					}
| 871| 871| 				}
| 872|    |-				break;
|    | 872|+			break;
| 873| 873| 		}
| 874| 874| 		break;
| 875| 875| 
|    | [NORMAL] ESLintBear (comma-spacing):
|    | 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
|1601|1601| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1602|1602| 
|1603|1603| 	// Reset the last idle unit, etc., if the selection type has changed.
|1604|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1604|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1605|1605| 		resetIdleUnit();
|1606|1606| 	lastIdleClasses = classes;
|1607|1607| 

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

binaries/data/mods/public/gui/session/input.js
| 500| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
| 816| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
|1552| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

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

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

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

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

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

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

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

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

binaries/data/mods/public/gui/session/input.js
| 907| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 931| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
Executing section cli...

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

Krinkle added a subscriber: Krinkle.May 3 2020, 3:53 AM
Krinkle added inline comments.
binaries/data/mods/public/gui/session/minimap/MiniMap.js
10 ↗(On Diff #11782)

I don't (yet) know when or how often this constructor runs or what the cost is exactly of the context switch behind GetGUIObjectByName. But, if you do already or know how to find out, this might be worth storing in a variable and re-use twice. Let me know, I'm still learning :)

Imarok marked an inline comment as done.May 3 2020, 11:51 AM
Imarok added inline comments.
binaries/data/mods/public/gui/session/minimap/MiniMap.js
10 ↗(On Diff #11782)

Sure. The constructor of a class is called each time an object of a class is constructed (with new). In this case it is only called in the constructor of the MiniMapPanel class: https://code.wildfiregames.com/source/0ad/browse/ps/trunk/binaries/data/mods/public/gui/session/minimap/MiniMapPanel.js$10
And their constructor is only called once, when the ingame session is started: https://code.wildfiregames.com/source/0ad/browse/ps/trunk/binaries/data/mods/public/gui/session/session.js$284

If you have more questions, feel free to ask. (I'm also on IRC now and then)

This revision was not accepted when it landed; it landed in state Needs Review.May 3 2020, 12:33 PM
This revision was automatically updated to reflect the committed changes.
Imarok marked an inline comment as done.