Page MenuHomeWildfire Games

Actually do not use sorting order for specific columnar formation
ClosedPublic

Authored by Silier on Apr 26 2020, 2:21 PM.

Details

Summary

In rP14524 moved sorting classes to template and according to lines 561 and 574 in that commit, it was intended to not use sorting in case of forced columnar formation.

Fixing oversight at lines 660 and 662 in that commit by removing 'this.' word so cavalry will be put to the front always.

Noticed in D2707 after @elexis mentioned behaviour change on unused variable.

Test Plan

this can become possibly messy when ordered formation will switch to columnar or back from columnar and cavalry has place somewhere in middle, opinions ?

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

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

Linter detected issues:
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 125| 125| 	this.formationMembersWithAura = []; // Members with a formation aura
| 126| 126| 	this.width = 0;
| 127| 127| 	this.depth = 0;
| 128|    |-	this.oldOrientation = {"sin": 0, "cos": 0};
|    | 128|+	this.oldOrientation = { "sin": 0, "cos": 0};
| 129| 129| 	this.twinFormations = [];
| 130| 130| 	// distance from which two twin formations will merge into one.
| 131| 131| 	this.formationSeparation = 0;
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 125| 125| 	this.formationMembersWithAura = []; // Members with a formation aura
| 126| 126| 	this.width = 0;
| 127| 127| 	this.depth = 0;
| 128|    |-	this.oldOrientation = {"sin": 0, "cos": 0};
|    | 128|+	this.oldOrientation = {"sin": 0, "cos": 0 };
| 129| 129| 	this.twinFormations = [];
| 130| 130| 	// distance from which two twin formations will merge into one.
| 131| 131| 	this.formationSeparation = 0;
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 143| 143| 
| 144| 144| Formation.prototype.GetSize = function()
| 145| 145| {
| 146|    |-	return {"width": this.width, "depth": this.depth};
|    | 146|+	return { "width": this.width, "depth": this.depth};
| 147| 147| };
| 148| 148| 
| 149| 149| Formation.prototype.GetSpeedMultiplier = function()
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 143| 143| 
| 144| 144| Formation.prototype.GetSize = function()
| 145| 145| {
| 146|    |-	return {"width": this.width, "depth": this.depth};
|    | 146|+	return {"width": this.width, "depth": this.depth };
| 147| 147| };
| 148| 148| 
| 149| 149| Formation.prototype.GetSpeedMultiplier = function()
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 577| 577| 			footprints.push(cmpFootprint.GetShape());
| 578| 578| 	}
| 579| 579| 	if (!footprints.length)
| 580|    |-		return {"width":1, "depth": 1};
|    | 580|+		return { "width":1, "depth": 1};
| 581| 581| 
| 582| 582| 	var r = {"width": 0, "depth": 0};
| 583| 583| 	for (var shape of footprints)
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'width'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 577| 577| 			footprints.push(cmpFootprint.GetShape());
| 578| 578| 	}
| 579| 579| 	if (!footprints.length)
| 580|    |-		return {"width":1, "depth": 1};
|    | 580|+		return {"width": 1, "depth": 1};
| 581| 581| 
| 582| 582| 	var r = {"width": 0, "depth": 0};
| 583| 583| 	for (var shape of footprints)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 577| 577| 			footprints.push(cmpFootprint.GetShape());
| 578| 578| 	}
| 579| 579| 	if (!footprints.length)
| 580|    |-		return {"width":1, "depth": 1};
|    | 580|+		return {"width":1, "depth": 1 };
| 581| 581| 
| 582| 582| 	var r = {"width": 0, "depth": 0};
| 583| 583| 	for (var shape of footprints)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 579| 579| 	if (!footprints.length)
| 580| 580| 		return {"width":1, "depth": 1};
| 581| 581| 
| 582|    |-	var r = {"width": 0, "depth": 0};
|    | 582|+	var r = { "width": 0, "depth": 0};
| 583| 583| 	for (var shape of footprints)
| 584| 584| 	{
| 585| 585| 		if (shape.type == "circle")
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 579| 579| 	if (!footprints.length)
| 580| 580| 		return {"width":1, "depth": 1};
| 581| 581| 
| 582|    |-	var r = {"width": 0, "depth": 0};
|    | 582|+	var r = {"width": 0, "depth": 0 };
| 583| 583| 	for (var shape of footprints)
| 584| 584| 	{
| 585| 585| 		if (shape.type == "circle")
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 605| 605| 	separation.depth *= this.separationMultiplier.depth;
| 606| 606| 
| 607| 607| 	if (this.columnar)
| 608|    |-		var sortingClasses = ["Cavalry","Infantry"];
|    | 608|+		var sortingClasses = ["Cavalry", "Infantry"];
| 609| 609| 	else
| 610| 610| 		var sortingClasses = this.sortingClasses.slice();
| 611| 611| 	sortingClasses.push("Unknown");
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 625| 625| 		{
| 626| 626| 			if (classes.indexOf(sortingClasses[c]) > -1)
| 627| 627| 			{
| 628|    |-				types[sortingClasses[c]].push({"ent": active[i], "pos": positions[i]});
|    | 628|+				types[sortingClasses[c]].push({ "ent": active[i], "pos": positions[i]});
| 629| 629| 				done = true;
| 630| 630| 				break;
| 631| 631| 			}
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 625| 625| 		{
| 626| 626| 			if (classes.indexOf(sortingClasses[c]) > -1)
| 627| 627| 			{
| 628|    |-				types[sortingClasses[c]].push({"ent": active[i], "pos": positions[i]});
|    | 628|+				types[sortingClasses[c]].push({"ent": active[i], "pos": positions[i] });
| 629| 629| 				done = true;
| 630| 630| 				break;
| 631| 631| 			}
|    | [NORMAL] ESLintBear (dot-notation):
|    | ["Unknown"] is better written in dot notation.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 631| 631| 			}
| 632| 632| 		}
| 633| 633| 		if (!done)
| 634|    |-			types["Unknown"].push({"ent": active[i], "pos": positions[i]});
|    | 634|+			types.Unknown.push({"ent": active[i], "pos": positions[i]});
| 635| 635| 	}
| 636| 636| 
| 637| 637| 	var count = active.length;
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 631| 631| 			}
| 632| 632| 		}
| 633| 633| 		if (!done)
| 634|    |-			types["Unknown"].push({"ent": active[i], "pos": positions[i]});
|    | 634|+			types["Unknown"].push({ "ent": active[i], "pos": positions[i]});
| 635| 635| 	}
| 636| 636| 
| 637| 637| 	var count = active.length;
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 631| 631| 			}
| 632| 632| 		}
| 633| 633| 		if (!done)
| 634|    |-			types["Unknown"].push({"ent": active[i], "pos": positions[i]});
|    | 634|+			types["Unknown"].push({"ent": active[i], "pos": positions[i] });
| 635| 635| 	}
| 636| 636| 
| 637| 637| 	var count = active.length;
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 649| 649| 	if (this.columnar)
| 650| 650| 	{
| 651| 651| 		shape = "square";
| 652|    |-		cols = Math.min(count,3);
|    | 652|+		cols = Math.min(count, 3);
| 653| 653| 		shiftRows = false;
| 654| 654| 		centerGap = 0;
| 655| 655| 		sortingOrder = null;
|    | [NORMAL] ESLintBear (space-before-function-paren):
|    | Unexpected space before function parentheses.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 744| 744| 	// calculating offset distances without a zero average makes no sense, as the formation
| 745| 745| 	// will jump to a different position any time
| 746| 746| 	var avgoffset = Vector2D.average(offsets);
| 747|    |-	offsets.forEach(function (o) {o.sub(avgoffset);});
|    | 747|+	offsets.forEach(function(o) {o.sub(avgoffset);});
| 748| 748| 
| 749| 749| 	// sort the available places in certain ways
| 750| 750| 	// the places first in the list will contain the heaviest units as defined by the order
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 803| 803| 			closestOffsetId = i;
| 804| 804| 		}
| 805| 805| 	}
| 806|    |-	this.memberPositions[entPos.ent] = {"row": offsets[closestOffsetId].row, "column":offsets[closestOffsetId].column};
|    | 806|+	this.memberPositions[entPos.ent] = { "row": offsets[closestOffsetId].row, "column":offsets[closestOffsetId].column};
| 807| 807| 	return closestOffsetId;
| 808| 808| };
| 809| 809| 
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'column'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 803| 803| 			closestOffsetId = i;
| 804| 804| 		}
| 805| 805| 	}
| 806|    |-	this.memberPositions[entPos.ent] = {"row": offsets[closestOffsetId].row, "column":offsets[closestOffsetId].column};
|    | 806|+	this.memberPositions[entPos.ent] = {"row": offsets[closestOffsetId].row, "column": offsets[closestOffsetId].column};
| 807| 807| 	return closestOffsetId;
| 808| 808| };
| 809| 809| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 803| 803| 			closestOffsetId = i;
| 804| 804| 		}
| 805| 805| 	}
| 806|    |-	this.memberPositions[entPos.ent] = {"row": offsets[closestOffsetId].row, "column":offsets[closestOffsetId].column};
|    | 806|+	this.memberPositions[entPos.ent] = {"row": offsets[closestOffsetId].row, "column":offsets[closestOffsetId].column };
| 807| 807| 	return closestOffsetId;
| 808| 808| };
| 809| 809| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 813| 813| Formation.prototype.GetRealOffsetPositions = function(offsets, pos)
| 814| 814| {
| 815| 815| 	var offsetPositions = [];
| 816|    |-	var {sin, cos} = this.GetEstimatedOrientation(pos);
|    | 816|+	var { sin, cos} = this.GetEstimatedOrientation(pos);
| 817| 817| 	// calculate the world positions
| 818| 818| 	for (var o of offsets)
| 819| 819| 		offsetPositions.push(new Vector2D(pos.x + o.y * sin + o.x * cos, pos.y + o.y * cos - o.x * sin));
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 813| 813| Formation.prototype.GetRealOffsetPositions = function(offsets, pos)
| 814| 814| {
| 815| 815| 	var offsetPositions = [];
| 816|    |-	var {sin, cos} = this.GetEstimatedOrientation(pos);
|    | 816|+	var {sin, cos } = this.GetEstimatedOrientation(pos);
| 817| 817| 	// calculate the world positions
| 818| 818| 	for (var o of offsets)
| 819| 819| 		offsetPositions.push(new Vector2D(pos.x + o.y * sin + o.x * cos, pos.y + o.y * cos - o.x * sin));
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 830| 830| Formation.prototype.GetEstimatedOrientation = function(pos)
| 831| 831| {
| 832| 832| 	var cmpUnitAI = Engine.QueryInterface(this.entity, IID_UnitAI);
| 833|    |-	var r = {"sin": 0, "cos": 1};
|    | 833|+	var r = { "sin": 0, "cos": 1};
| 834| 834| 	var unitAIState = cmpUnitAI.GetCurrentState();
| 835| 835| 	if (unitAIState == "FORMATIONCONTROLLER.WALKING" || unitAIState == "FORMATIONCONTROLLER.COMBAT.APPROACHING")
| 836| 836| 	{
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 830| 830| Formation.prototype.GetEstimatedOrientation = function(pos)
| 831| 831| {
| 832| 832| 	var cmpUnitAI = Engine.QueryInterface(this.entity, IID_UnitAI);
| 833|    |-	var r = {"sin": 0, "cos": 1};
|    | 833|+	var r = {"sin": 0, "cos": 1 };
| 834| 834| 	var unitAIState = cmpUnitAI.GetCurrentState();
| 835| 835| 	if (unitAIState == "FORMATIONCONTROLLER.WALKING" || unitAIState == "FORMATIONCONTROLLER.COMBAT.APPROACHING")
| 836| 836| 	{
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Formation.js
| 912| 912| 		cmpOtherFormation.RemoveMembers(otherMembers);
| 913| 913| 		this.AddMembers(otherMembers);
| 914| 914| 		Engine.DestroyEntity(this.twinFormations[i]);
| 915|    |-		this.twinFormations.splice(i,1);
|    | 915|+		this.twinFormations.splice(i, 1);
| 916| 916| 	}
| 917| 917| 	// Switch between column and box if necessary
| 918| 918| 	var cmpUnitAI = Engine.QueryInterface(this.entity, IID_UnitAI);

binaries/data/mods/public/simulation/components/Formation.js
| 428| »   for·(var·ent·of·this.formationMembersWithAura)
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 475| »   var·cmpPosition·=·Engine.QueryInterface(this.entity,·IID_Position);
|    | [NORMAL] JSHintBear:
|    | 'cmpPosition' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 521| »   »   var·cmpUnitAI·=·Engine.QueryInterface(offset.ent,·IID_UnitAI);
|    | [NORMAL] JSHintBear:
|    | 'cmpUnitAI' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 558| »   var·cmpPosition·=·Engine.QueryInterface(this.entity,·IID_Position);
|    | [NORMAL] JSHintBear:
|    | 'cmpPosition' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 610| »   »   var·sortingClasses·=·this.sortingClasses.slice();
|    | [NORMAL] JSHintBear:
|    | 'sortingClasses' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 619| »   for·(var·i·in·active)
|    | [NORMAL] JSHintBear:
|    | 'i' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 634| »   »   »   types["Unknown"].push({"ent":·active[i],·"pos":·positions[i]});
|    | [NORMAL] JSHintBear:
|    | ['Unknown'] is better written in dot notation.

binaries/data/mods/public/simulation/components/Formation.js
| 674| »   »   for·(var·i·=·0;·i·<·count;·++i)
|    | [NORMAL] JSHintBear:
|    | 'i' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 708| »   »   »   »   »   var·n·=·r·+·1;
|    | [NORMAL] JSHintBear:
|    | 'n' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 710| »   »   »   »   »   var·n·=·r·*·2·+·1;
|    | [NORMAL] JSHintBear:
|    | 'n' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 714| »   »   »   for·(var·c·=·0;·c·<·n·&&·left·>·0;·++c)
|    | [NORMAL] JSHintBear:
|    | 'c' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 721| »   »   »   »   »   var·x·=·side·*·Math.ceil(c/2)·*·separation.width;
|    | [NORMAL] JSHintBear:
|    | 'x' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 724| »   »   »   »   »   if·(x·==·0)·//·don't·use·the·center·position·with·a·center·gap
|    | [NORMAL] JSHintBear:
|    | 'x' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 726| »   »   »   »   »   x·+=·side·*·centerGap·/·2;
|    | [NORMAL] JSHintBear:
|    | 'x' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 732| »   »   »   »   offsets.push(new·Vector2D(x·+·r1,·z·+·r2));
|    | [NORMAL] JSHintBear:
|    | 'x' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 712| »   »   »   if·(!shiftRows·&&·n·>·left)
|    | [NORMAL] JSHintBear:
|    | 'n' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 713| »   »   »   »   n·=·left;
|    | [NORMAL] JSHintBear:
|    | 'n' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 714| »   »   »   for·(var·c·=·0;·c·<·n·&&·left·>·0;·++c)
|    | [NORMAL] JSHintBear:
|    | 'n' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 718| »   »   »   »   if·(n%2·==·0)
|    | [NORMAL] JSHintBear:
|    | 'n' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 728| »   »   »   »   var·column·=·Math.ceil(n/2)·+·Math.ceil(c/2)·*·side;
|    | [NORMAL] JSHintBear:
|    | 'n' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 738| »   »   »   this.maxColumnsUsed[r]·=·n;
|    | [NORMAL] JSHintBear:
|    | 'n' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 767| »   for·(var·i·=·sortingClasses.length;·i;·--i)
|    | [NORMAL] JSHintBear:
|    | 'i' is already defined.

binaries/data/mods/public/simulation/components/Formation.js
| 611| »   sortingClasses.push("Unknown");
|    | [NORMAL] JSHintBear:
|    | 'sortingClasses' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 616| »   for·(var·i·=·0;·i·<·sortingClasses.length;·++i)
|    | [NORMAL] JSHintBear:
|    | 'sortingClasses' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 617| »   »   types[sortingClasses[i]]·=·[];
|    | [NORMAL] JSHintBear:
|    | 'sortingClasses' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 624| »   »   for·(var·c·=·0;·c·<·sortingClasses.length;·++c)
|    | [NORMAL] JSHintBear:
|    | 'sortingClasses' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 626| »   »   »   if·(classes.indexOf(sortingClasses[c])·>·-1)
|    | [NORMAL] JSHintBear:
|    | 'sortingClasses' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 628| »   »   »   »   types[sortingClasses[c]].push({"ent":·active[i],·"pos":·positions[i]});
|    | [NORMAL] JSHintBear:
|    | 'sortingClasses' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 767| »   for·(var·i·=·sortingClasses.length;·i;·--i)
|    | [NORMAL] JSHintBear:
|    | 'sortingClasses' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 769| »   »   var·t·=·types[sortingClasses[i-1]];
|    | [NORMAL] JSHintBear:
|    | 'sortingClasses' used out of scope.

binaries/data/mods/public/simulation/components/Formation.js
| 874| »   var·cmpUnitMotion·=·Engine.QueryInterface(this.entity,·IID_UnitMotion);
|    | [NORMAL] JSHintBear:
|    | 'cmpUnitMotion' is already defined.
Executing section cli...

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

Silier added a reviewer: Restricted Owners Package.Apr 26 2020, 3:34 PM
Silier removed a reviewer: Restricted Owners Package.May 1 2020, 11:44 AM
This revision was not accepted when it landed; it landed in state Needs Review.May 1 2020, 11:46 AM
This revision was automatically updated to reflect the committed changes.