Page MenuHomeWildfire Games
Feed Advanced Search

Yesterday

elexis added a comment to D2362: Allow for building-specific build/repair animations and use seeding animation for fields.

UnitAI.SetDefaultAnimationVariant is actually not hardcoding, since it uses animation variants

It is not hardcoding which resource carry variants are chosen but is hardcoding which components can set a different 'default' animation variant as opposed to the other functions calling SetAnimationVariant and hardcoding the string concatenation format, which is acceptable for resource type animation variants but doesn't look applicable for building animation variants.

Sun, May 24, 3:19 PM

Sat, May 23

elexis accepted rP23692: Fix gcc warning reported by Imarok after rP23690.

Verified that exactly one parenthesis is added that doesn't change the logic of this line and that it resolves the gcc warning, did not check the logic of 23690.

Sat, May 23, 4:17 PM

Fri, May 22

elexis awarded D2761: Fix computation of clusters and var->let in the process a Like token.
Fri, May 22, 9:59 PM
elexis added a comment to D2715: Fail test suite when map tests throw errors.

From what you posted, the uploaded patch shows the filename of the failed JS randommap testfile on linux but not on windows, whereas failed simulation tests shows the filename of the JS test on both platforms.

Fri, May 22, 1:10 PM
elexis added a comment to D2734: Rewrite Structure Tree and Template Viewer to use OOP principles.

(So still thanks and no objections for this iteration of this patch, just some thoughts and observations and this batch of inline comments may be ignored, and the one with parentheses even more so than the others)

Fri, May 22, 12:49 PM
elexis requested changes to D2715: Fail test suite when map tests throw errors.

According to Stans test, on windows terminal, simulation tests show the filepath of the error, but not the JS exception thrown - unless using a debugger;
and with this patch it will not show the JS stack nor the JS filename of a failed rmgen test;
therefore it needs to show the filepath in a failed error message as with simulation tests
(if we want to support rmgen test development on windows without debugger).

Fri, May 22, 11:31 AM

Thu, May 21

elexis added a comment to D2177: Allow to set the max selection size in user.cfg..

If the idea of the patch is to increase the nr 200 to a greater number, then the idea of the patch is correct, but it's time hasn't come yet if selecting many units is so slow that it delays the game (turn length time just for the selection).

Thu, May 21, 12:18 PM
elexis requested verification of rP21901: Display lobby TLS certificate verification errors from gloox, refs #4705..
Thu, May 21, 12:15 PM
elexis committed rP23685: Fix typo (certifiacte -> certificate) imported from gloox in rP21901, reported….
Fix typo (certifiacte -> certificate) imported from gloox in rP21901, reported…
Thu, May 21, 12:15 PM
elexis added inline comments to rP21901: Display lobby TLS certificate verification errors from gloox, refs #4705..
Thu, May 21, 12:14 PM
elexis added a comment to D2750: Hide "Control all units" checkbox in observer mode.
  • Engine.GetPlayerID() can change during the course of the game using the developer overlay "change player" option.
  • Other hypothetical enabled properties could change arbitrarily.
Thu, May 21, 1:26 AM

Wed, May 20

elexis removed 1 auditor(s) for rP22527: Easier introduction of new damage types.: elexis.
Wed, May 20, 8:31 PM
elexis removed 1 auditor(s) for rP23012: Fix bonus multiplier issue in rP22754 (multiple attack effects) and consider…: elexis.
Wed, May 20, 7:48 PM
elexis added inline comments to rP21901: Display lobby TLS certificate verification errors from gloox, refs #4705..
Wed, May 20, 2:41 PM

Tue, May 19

elexis added a comment to D2715: Fail test suite when map tests throw errors.

error(foo) prints a message, but thats not a JS exception, one can raise one using throw new Error("foo").
The serialization test error is unrelated and should be reported in a specific ticket, excluded from here.

Tue, May 19, 11:44 AM
elexis added a comment to rP23374: Gamesetup class rewrite, fixes #5322, refs #5387..

When having more than 1000 FPS, the menu panel is not animated anymore (millisecond delta = 0), reported by OptimusShepard on
http://irclogs.wildfiregames.com/2020-05/2020-05-03-QuakeNet-%230ad-dev.log

Tue, May 19, 1:13 AM
elexis added a reviewer for D2715: Fail test suite when map tests throw errors: elexis.

I hereby review this patch based on the grounds that it is a defect I introduced in the feature of rP23455.

Tue, May 19, 1:09 AM

Mon, May 18

elexis updated the summary of D2715: Fail test suite when map tests throw errors.
Mon, May 18, 11:45 PM

Sat, May 16

elexis added a comment to D2710: DiskPlacer: avoid scanning whole map.

(Whenever seeing this patch I can't stop to ask myself if sqrt(x) for 2*r times or computing x * x for pi/4 * r² times is faster for r < 5, respectively 5 <= r < 25. As in it seeming to be inviting to compute circle / line intersections and only iterating the points on the disk, but I dont know how many points on the wasted effort scale that yields.)

Sat, May 16, 11:20 PM
elexis added a comment to D2734: Rewrite Structure Tree and Template Viewer to use OOP principles.

Inline comments for two versions of the patch, I suppose not much changed.
I did not perform dynamic analysis.
To be clear, I do not request any change or commit, only try to offer anecdotes of experience, inspiration and technical backgrounds where noticeable.

Sat, May 16, 7:49 PM

Fri, May 15

elexis added a comment to rP22207: Actually add the test file for rP22205..

Can't compile this test file on gcc 10 and clang 10, see #5756. (I assume it is this commit since it introduced the test and it wasn't changed much later, but I didn't compare the function signatures.)

Fri, May 15, 7:14 PM

Sat, May 9

elexis updated the Trac tickets for D2652: Do not allow upgrading when entity is producing and vice versa..
Sat, May 9, 11:48 PM
elexis added inline comments to D2727: IGUIObject ScriptEvent return value.
Sat, May 9, 6:47 PM
elexis added a comment to D2727: IGUIObject ScriptEvent return value.

Disclaimer ahead - that I dont click on request changes means I don't request changes. I am only commenting, if the argument is convincing it can be followed, and it can be disregarded if the argument is not convincing.

Sat, May 9, 6:46 PM
elexis added a comment to D2727: IGUIObject ScriptEvent return value.

WithReturn can be avoided from the name, the functions are distinguished by signature already and do the same except return value.

Why? They have the same signature and only distinguish in the return value. Some parts of the gui need ScriptEvent to have no return value. (e.g. RecurseObject)

Is there a compile error if RecurseObject gets a function with ignorable return value instead of a void?
Aside from that one can still name the void and function the same way if both signatures are necessary and the compiler will chose the signature it needs.

Sat, May 9, 5:34 PM
elexis retitled D2727: IGUIObject ScriptEvent return value from Offer a version of ScriptEvent that returns if the thereby called script function returned something truthy to IGUIObject ScriptEvent return value.
Sat, May 9, 2:46 AM
elexis added a comment to D2727: IGUIObject ScriptEvent return value.

WithReturn can be avoided from the name, the functions are distinguished by signature already and do the same except return value.

Sat, May 9, 2:32 AM

Fri, May 8

elexis updated the summary of D2721: adjust a few animal footprints.
Fri, May 8, 7:30 PM

Thu, May 7

elexis added a comment to D2296: StatusEffects v3 - More cleanup, allow stackable, upgrades..
In D2296#111529, @Angen wrote:

What could be done is to have %(statusName)s: %(tooltip)s, %(effects)s, %(interval)s, %(duration)s %(stackability)s defined in template.
But duration and interval can be changed through aura or technology, what makes 4 options defined in template and 4 ifs in code what will make it easier to read.
Downside is 4 strings for every template.
I do not see how moving translate("%(statusName)s: %(tooltip)s, %(effects)s, %(interval)s, %(duration)s") to global would help. One would need to develop some key generation. Possibly concatenating some strings based on template values. Plus could be translation is done only once, but key building could be more costly than current translate calls.
Now there are 5 if branching needed, what is one more compared to first option and the same with second one.
One if branch removal with 4 strings in templates what cost memory is not exactly good trade-off, unless we do not care about additional memory.
Second choice is more questionable if should or should not be used. One could compare time spend in the function with current and second approach and see which one is better.

Thu, May 7, 3:09 PM
elexis added a comment to D2720: remove misinformation from {civ}.json files.
(And thanks again for writing the patch and the review)

You're welcome; D2222 and D2722 are somewhat related, and still need reviewers; interested?

There are many patches that I would be interested in reviewing. If I tell you here why I'm not an active reviewer I may lose my ability to review, no matter how politely I would express it.

Thu, May 7, 3:53 AM
elexis updated the Trac tickets for D1362: Remove the list of hardcoded training hotkeys..
Thu, May 7, 2:05 AM

Wed, May 6

elexis added a comment to D2720: remove misinformation from {civ}.json files.

You can look at https://www.transifex.com/wildfire-games/0ad/ . About a dozen languages are above 95%, several of which are 100% complete. I wouldn't worry about the translators.

That's good.

Wed, May 6, 3:42 PM

Sun, May 3

elexis added a comment to D2720: remove misinformation from {civ}.json files.

These strings are extracted and uploaded to transifex, so people will have to modify the translations. (I don't know about the current status of translations, whether theyre currently overwhelmed or not.)

Sun, May 3, 4:24 PM

Fri, May 1

elexis added a comment to D2707: Remove some variables from serialisation and update this.animations name to reflect what it actually holds [Formations.js].

11 blacklisted, 14 whitelisted

I see, from init at least 9 template cache variables. Then its fine to use whitelist (and author or reviewer need to become certain that the code still works deterministically (for rejoining clients), easy to have some difference, too late or missing init for rejoiner etc.).

	this.sortingClasses = this.template.SortingClasses.split(/\s+/g);
	this.shiftRows = this.template.ShiftRows == "true";
	this.separationMultiplier = {
	this.sloppyness = +this.template.Sloppyness;
	this.widthDepthRatio = +this.template.WidthDepthRatio;
	this.minColumns = +(this.template.MinColumns || 0);
	this.maxColumns = +(this.template.MaxColumns || 0);
	this.maxRows = +(this.template.MaxRows || 0);
	this.centerGap = +(this.template.CenterGap || 0);
Fri, May 1, 2:38 PM
elexis added inline comments to D2707: Remove some variables from serialisation and update this.animations name to reflect what it actually holds [Formations.js].
Fri, May 1, 1:34 PM
elexis added inline comments to D2707: Remove some variables from serialisation and update this.animations name to reflect what it actually holds [Formations.js].
Fri, May 1, 12:58 PM
elexis added a comment to D2710: DiskPlacer: avoid scanning whole map.
In D2710#114523, @Stan wrote:

I wonder if you should use let for g_* in those scope. Var can be used out of the scope it's defined in

Fri, May 1, 12:07 PM
elexis updated the summary of D2715: Fail test suite when map tests throw errors.
Fri, May 1, 11:47 AM
elexis added a comment to D2710: DiskPlacer: avoid scanning whole map.

One important remark, I noticed the build does not fail if there was a javascript error (as it happens when there's an invalid cache access on Area). Is there a way I can assert there were no javascript errors?

Fri, May 1, 12:31 AM

Wed, Apr 29

elexis added a comment to rP21908: Lobby Privacy Policy..

Language clause missing since translation of ToS since rP15021:

If this Agreement is translated into any language other than US-English, and if there is a conflict between the US-English version and the translated version, then the US-English version shall prevail in all respects.

Wed, Apr 29, 4:32 PM
elexis added a comment to rP21903: Update Lobby Terms Of Use..

TODO: Maximum pause duration for rated games (indefinite pausing allows someone to not have a loss accounted for), and outlaw leaving rated games more explicitly

Wed, Apr 29, 3:56 PM
elexis added a comment to rP15021: Internationalization of the lobby terms of service and terms of use.

Language clause:

If this Agreement is translated into any language other than US-English, and if there is a conflict between the US-English version and the translated version, then the US-English version shall prevail in all respects.

Wed, Apr 29, 3:54 PM
elexis added a comment to D2710: DiskPlacer: avoid scanning whole map.

I performed some tests on gear normal for 8 players, times are in seconds and retrieved from the map logger:
New (current implementation): 2.57 2.43 2.55 2.40 2.53
New (avoid acessing iterator properties): 2.55 2.65 2.52 2.59 2.54
Old: 2.95 3.12 2.96 2.88 3.26
So the implementation on this diff cuts time by 25% on total map generation for this map and one interesting fact is that avoiding property access on each iteration (use local x instead of it.x) does not have any significant impact.
Keep in mind I didn't use fixed seeds or biomes, this is just a small validation check. Also I tried to test other maps (especially ones that generate many small disks) but I found out that gear is the only with relevant discrepancy amongst the ones I tried.

Wed, Apr 29, 1:15 PM

Tue, Apr 28

elexis added a comment to D2710: DiskPlacer: avoid scanning whole map.

Just for the record this.radiusSquared will be slower to evaluate than radiusSquared (multiplied by bbox area), but thats probably negligible (same for x vs it.x, then again using it.x avoids the set call).

Tue, Apr 28, 12:37 PM
elexis added a comment to D2710: DiskPlacer: avoid scanning whole map.

The test supports only running all tests at once, which is fast enough.

Tue, Apr 28, 2:35 AM

Sun, Apr 26

elexis added a comment to D2710: DiskPlacer: avoid scanning whole map.

(Just for the record, the Vector2D should only be created once, not once per iterated tile, then one can loop over it.x and it.y with Vector2D it. Iterating over tiles of a disk is happening in multiple places, so one might end up creating a common function.)

Sun, Apr 26, 3:46 PM
elexis updated the summary of D2690: Only store a "Garrison"-tag in map when there is actually Garrison to store..
Sun, Apr 26, 3:38 PM
elexis added a comment to D2707: Remove some variables from serialisation and update this.animations name to reflect what it actually holds [Formations.js].
In D2707#114153, @Angen wrote:

@elexis what do you mean by So patch seems okay except for the missing = [] and cache is considerable. where are [] missing?

Sun, Apr 26, 3:37 PM
elexis added a comment to rP23601: Make units really remain if they have the remain death type. Let hunt have….

rP8296 introduced DeathType == "remain" without creating a new entity
rP12486 introduced the new entity to fix #1600 " Handle 'remain' corpses as discrete entities "
irc discussion on 2012-08-14, 2012-08-18, 2012-08-19, 2012-08-20, perhaps also 2012-08-27, 2012-09-05 (search term Deiz and corpse) on ​http://irclogs.wildfiregames.com/

Sun, Apr 26, 4:14 AM

Sat, Apr 25

elexis added a comment to D2707: Remove some variables from serialisation and update this.animations name to reflect what it actually holds [Formations.js].

I didnt see write to this.animations other than the one here (only took a superficial look), then it could be removed from serialization by providing a custom Serialize function that returns an object with all this properties except this one (there are existing components doing that).
Removal from serialization has the benefit of smaller savegames, faster rejoin transmissions and is mentioned at #3834.
The disadvantage of replacing this.foo = +this.template.someNumber by evaluating the +foo every call can be that it's slower, and I guess the number is written into memory again and again somewhere whereas in the other case its kept in memory.
If one provides a custom serialzation method one can keep the cache variables and not serialize them.
That again has the disadvantage of using a bit more memory.
So it's a tradeoff.
So I guess not serializing is the most important goal, and the secondary goal is to either optimize for runtime performance or memory use.
(One can estimate memory use by estimating the max amount of entities having that component, I guess its negligible or insignificant here, but I also wouldn't be surprised if it's a pattern that could add up. Then again JS components are supposed to be the ones that arent as performance critical as the C++ ones.)
(One could split the template rename from the serialization removal if one wanted to, but doesn't matter)
(So patch seems okay except for the missing = [] and cache is considerable.).
(Test plan should probably include dynamic testing, or be used to make the implied dynamic testing explicit)

Sat, Apr 25, 10:17 PM

Apr 24 2020

elexis added a comment to rP22547: Refactors Camera aspect ratio and calculation of plane points..
In TestCamera::test_persepctive_plane_points:
/<<PKGBUILDDIR>>/source/graphics/tests/test_Camera.h:163: Error: Expected (quad == expectedFarQuad), found ({ 02 00 CA C2 02 00 CA C2 ... } != { 00 00 CA C2 00 00 CA C2 ... })
..Skipping map generator tests (can't find binaries/data/mods/public/maps/random/tests/)
.....................................................................................................................................................................................................................................Skipping globalscripts tests (can't find binaries/data/mods/public/globalscripts/tests/)
.Skipping component scripts tests (can't find binaries/data/mods/public/simulation/components/tests/setup.js)
.....................................................................................................
Failed 1 and Skipped 0 of 336 tests
Apr 24 2020, 2:29 AM

Apr 23 2020

elexis removed 1 auditor(s) for rP22970: Adds a "properties"-property to resources and let mods be able to prevent…: elexis.

Since rP23598 skips the globalscripts test if testing without public mod.

Apr 23 2020, 2:09 PM
elexis requested verification of rP23455: Support random map script tests, fixes #4827..
Apr 23 2020, 2:08 PM
elexis committed rP23598: Skip and warn about globalscripts and random map tests following rP22970 and….
Skip and warn about globalscripts and random map tests following rP22970 and…
Apr 23 2020, 2:07 PM
elexis closed D2645: Fix tests without public mod following globalscripts tests rP22970 and mapscript tests rP23455.
Apr 23 2020, 2:07 PM
elexis added inline comments to D2645: Fix tests without public mod following globalscripts tests rP22970 and mapscript tests rP23455.
Apr 23 2020, 2:01 PM
elexis added a comment to D2645: Fix tests without public mod following globalscripts tests rP22970 and mapscript tests rP23455.

From http://irclogs.wildfiregames.com/2020-04/2020-04-19-QuakeNet-%230ad-dev.log

09:02 < Angen> Stan`: :D only difference with jenkins tests is how report looks like
09:03 < Stan`> Except here it would have tests were skipped :D
09:04 < Freagarach> It would be annoying to test and have that warning show up when making a total conversion, right?
09:05 < Stan`> Freagarach, Not really
09:05 < Angen> would not, tests are not skipped
09:06 < Stan`> "WARNING: Skipping component scripts tests (can't find binaries/data/mods/public/simulation/components/tests/setup.js)"
09:06 < Stan`> Is that not skipping ^
09:06 < Stan`> :D
09:07 < Angen> I meant in TS_Skip way :)
09:07 < Angen> they are just ignored
Apr 23 2020, 1:58 PM
elexis updated the summary of D2706: Recompute values affected by modifications properly.
Apr 23 2020, 12:08 AM

Apr 22 2020

elexis added a comment to D2703: [PetraAI] - Only try to subtract resource gift from "waitingfortribute" if gift contains required resource..

Right, the other way (sending Petra an offer to accept alliance if X wood and Y food are sent) is not implemented. And

No warning shown when another resource is tributed.

Then it ought to be correct and complete within the predefined scope.

Apr 22 2020, 7:37 PM
elexis added inline comments to rP23065: Refactor diplomacy dialog to use object orientation paradigm using the class….
Apr 22 2020, 5:50 PM
elexis added a comment to D2703: [PetraAI] - Only try to subtract resource gift from "waitingfortribute" if gift contains required resource..

Does it work too if one requested multiple resources? (Should it?)

Apr 22 2020, 5:41 PM
elexis added a comment to D2703: [PetraAI] - Only try to subtract resource gift from "waitingfortribute" if gift contains required resource..

(On style, x in y seems nicer than y[x] !== undefined, but if one has to test b in a && c in a[b] && d in c[a[b]] it can become easier to read if one writes it as a[b] !== undefined && c[a[b]] !== undefined && d[c[a[b]]] !== undefined since its in hierarchical order, so I always avoided the x in y statement. Also it has the advantage that the term evt.amounts[request.type] would appear twice, making it easier for the reader to notice, whereas it needs some more milliseconds of human evaluation to notice that the in-expression tests for the same as below. Not that it matters how you write it, especially in this diff.)

Apr 22 2020, 3:11 PM
elexis added inline comments to rP23065: Refactor diplomacy dialog to use object orientation paradigm using the class….
Apr 22 2020, 3:03 PM
elexis added a comment to D14: [RC] Thread the pathfinder computations.

Just to be clear, you don't need to play with other humans, the important part is running in multiplayer mode in order to obtain a hashed replay for the purpose of testing that the patch works deterministically.
For example if the serialization of the obstructionmanager is good enough but something else is indetermnistic, it could break multiplayer, resumed replays or savegames etc.
It should be sufficient to start a cheat enabled multiplayer, spawn some hundred units, move units across the map, and then run replays with different numbers of threads, and perhaps test a late-observer join in a second instance of 0ad to test the serialization.
I guess you would have noticed already by many idle units if the replay was out of sync, but strictly speaking one can only compare performance if its known to reproduce the same replay. (The 1/numThreads performance benefit indicates that it works correctly, but one should be certain not to break determinism and serialization, see also https://trac.wildfiregames.com/wiki/SimulationRequirements#Determinism)
Thanks for working on this patch!

Apr 22 2020, 2:58 PM
elexis updated the Trac tickets for D2629: Fix remote segfault when spamming chat.
Apr 22 2020, 1:44 AM

Apr 21 2020

elexis added a comment to D14: [RC] Thread the pathfinder computations.
So, if the patch conserves the current game mechanics, and is actually deterministic, just adds threading, it sounds like a must-have in spite of the possible downsides.
Apr 21 2020, 10:57 PM

Apr 19 2020

elexis added a comment to D2637: Cache g_UnitActions sorted instead of computing it every tick..

But since there is no function in the determineAction to measure (unless calling the global is less performant that calling a local variable) one could perhaps measure only the initial state and take that as gain?

It would be an assumption that the first Object.keys().sort call has the same performance as the latter ones. (Unlikely, but in theory it could be optimized.)

Apr 19 2020, 1:14 PM
elexis added inline comments to D2464: Create a C++ interface for cmpAttack.
Apr 19 2020, 1:02 PM
elexis added a comment to D2637: Cache g_UnitActions sorted instead of computing it every tick..

It introduces another global variable

If a certain or an uncertain dev would finish the class rewrite, it would become a local variable, so it can be considered a global until then that is worth the perf reward.

Apr 19 2020, 12:16 PM

Apr 9 2020

elexis accepted D2663: Colorize username in chat when is ready and leaves match.

Dunno if the "is ready!" substring should be bold too, I guess it's a bit arbitrary. One can be conservative unless one discovered explicit reason to change something (as was done in the class rewrite). I didn't compare all chat messages, you can decide, patch seems fine otherwise. I suppose I can risk an acceptance without having tested. Thank you again for writing the patch.
sdasdasdasd
asdasdasd
asds

Apr 9 2020, 1:00 AM

Apr 3 2020

elexis added inline comments to D2460: Implement placeholder text for input fields and get rid of hack with mod filter.
Apr 3 2020, 9:18 PM

Mar 27 2020

elexis added a comment to D2660: [gameplay] standardize wonder healing.

Method:
I am a bit worried about the procedure of how the resulting patch is determined.

Mar 27 2020, 3:35 PM

Mar 26 2020

elexis added a comment to D2667: Upgrade engine to handle up to 30 players.

Previous revision D1662.

Mar 26 2020, 12:00 AM

Mar 25 2020

elexis added a comment to rP23540: Check for UnitMotion component [UnitAI].

((Side node Documenting the use case / intention / objectives of the commit allows readers (including future self) to not have to guess that and to become able to search for use cases and find the commits implementing them.
Thats typically done in a summary of a revision proposal - if that is skipped it would be good to mention that briefly in the commit message to yield those benefits.)

Mar 25 2020, 6:57 PM
elexis added a comment to D2663: Colorize username in chat when is ready and leaves match.

Thank you for picking up nani's report and writing a patch for it!

Mar 25 2020, 6:35 PM
elexis updated the Trac tickets for D2667: Upgrade engine to handle up to 30 players.
Mar 25 2020, 1:43 AM

Mar 10 2020

elexis added a comment to D2308: Extend the visible garrisoning schema to allow specific units on specific turrets..

I suppose the value is cumulative

Mar 10 2020, 7:15 PM
elexis added a comment to D2308: Extend the visible garrisoning schema to allow specific units on specific turrets..

(I didn't check whether the message moving makes sense, or test it in any way, or anything else)
IsVisiblyGarrisoned does loop for each entity checked, perhaps that can be optimized, I didn't check (code only handled for garrisoned entities, so its not as grave as it could be, but there also was some 10s freeze when a ship was destroyed some releases ago, and there could be cases where a player deletes/renames/ownershipchanges 100+ entities with 10+ entities garrisoned each). (Also didn't check whether sending visible entities in the messages instead of having the message handlers call into the function is more performant.)

Mar 10 2020, 1:09 PM
elexis added a comment to D2308: Extend the visible garrisoning schema to allow specific units on specific turrets..

One cannot visibly garrison a unit that cannot be garrisoned non visibly
The fallback is needed for things like walls

Why is the check needed for walls if thats the case?

Mar 10 2020, 1:30 AM

Mar 9 2020

elexis added a comment to D2308: Extend the visible garrisoning schema to allow specific units on specific turrets..

Is the fallback redundant and thus useless (same as always allowed if not specified)?

Mar 9 2020, 9:34 PM
elexis added a comment to D2308: Extend the visible garrisoning schema to allow specific units on specific turrets..

Else the classes specified in the List tag will be used.

That works too

Mar 9 2020, 9:06 PM
elexis added inline comments to D2308: Extend the visible garrisoning schema to allow specific units on specific turrets..
Mar 9 2020, 9:03 PM

Mar 8 2020

elexis added inline comments to D2376: Store the garrisonHolder in cmpGarrisonable instead of iterating orders..
Mar 8 2020, 7:55 PM

Mar 7 2020

elexis added inline comments to D2597: Store Garrison(Holder) in map file..
Mar 7 2020, 1:31 PM
elexis awarded D2597: Store Garrison(Holder) in map file. a Like token.
Mar 7 2020, 12:43 PM
elexis added a comment to D2597: Store Garrison(Holder) in map file..

(can be fixed when committing and/or ignored)

Mar 7 2020, 12:43 PM

Feb 28 2020

elexis added a comment to D2630: Major improvements to the lobby bots XpartaMuPP and EcheLOn. .

Disable TLS option from rP21924 has not been rebased as well.

Feb 28 2020, 1:12 PM

Feb 27 2020

elexis added a comment to D2644: Support JS class syntax / non-enumerable entity component message handlers.

why is the Schema moved?

I suppose that's out of scope, but I would recommend against get syntax when there is the choice.
If we call a function, it should be visible as such.
If we actually want to have a prototype property, then it should be expressed as such.
Storing literals in the prototype is a use case, for example UnitAI globals, or
BuildingAI.prototype.MAX_PREFERENCE_BONUS = 2;
And IMO it would be ugly to add a function call and making it impossible to assign a value to that property name.
(Its possible to have one value on a given property name on the prototype and another value on the same name on an instance of the prototype, so the prototype value can be used as a fallback.)
Especially if there were many literal values stored in the prototype, having a get function for each would accumulate function ugliness quickly. (If we want an assignment X = Y; then why make it a function. Just for the single class scope shouldn't be worth it if it simultaneosly has these other effects on code, possibly even performance due to the +1 function call)

Feb 27 2020, 8:25 PM
elexis created D2645: Fix tests without public mod following globalscripts tests rP22970 and mapscript tests rP23455.
Feb 27 2020, 6:45 PM
elexis updated the diff for D2644: Support JS class syntax / non-enumerable entity component message handlers.

Use JS_HasProperty instead of JS_HasOwnProperty.

Feb 27 2020, 6:31 PM
elexis added a comment to rP22627: Upgrade SpiderMonkey to version 45.0.2, refs #4893..

(From https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/45

SpiderMonkey 45 contains known security vulnerabilities.

CVE doesnt list spidermonkey, so I suppose that refers to a subset of https://www.cvedetails.com/vulnerability-list/vendor_id-452/product_id-22101/version_id-202242/)

Feb 27 2020, 2:06 PM
elexis added a comment to D2362: Allow for building-specific build/repair animations and use seeding animation for fields.

http://irclogs.wildfiregames.com/2020-02/2020-02-26-QuakeNet-%230ad-dev.log
Re

20:03 < elexis> "SpecialVariant" what does special mean
20:03 < Imarok> different from the usual ones
20:04 < Imarok> fields are special, so they get a special animation variant
20:05 < Imarok> "special": just different from normal
20:06 < elexis> then define what is normal
20:06 < Stan`> Philosophy 101
20:06 < Imarok> normal is what you get when you don't add this component ^^
20:07 < Imarok> I thought about naming it BuildingDependendVariant, but it could also be used for other entities
20:07 < Imarok> So I stuck with special
20:10 < Imarok> I'm also not 100% fond with the naming, but please use constructive criticism and no philosophical questions...

I object to that notion that this wasn't constructive criticism and that finding a clear definition and name would be a philosophical and not development question, because the reader and template user must not guess what normal and special means.
We can see 60 variants defined in lists.xml, why are those 59 ones normal and the field one special?
Why are gather_treasure and syntagma_front_walk normal and not special?
Perhaps with normal variant you mean "default variant"? But there is no actual default variant I see.
Regardless of the distinction that one might find, is the distinction necessary or might it look better if theyre stored in one place?
It looks like the name of that new component would just be <VariantNames> storing the names of variants that can be used by an entity performing an order with the target entity of that template.

Feb 27 2020, 1:56 PM
elexis committed rP23515: Fix map always being set to circular in rP23374 / D2483..
Fix map always being set to circular in rP23374 / D2483.
Feb 27 2020, 12:07 PM
elexis raised a concern with rP22970: Adds a "properties"-property to resources and let mods be able to prevent….
Feb 27 2020, 10:14 AM

Feb 26 2020

elexis updated the test plan for D2644: Support JS class syntax / non-enumerable entity component message handlers.
Feb 26 2020, 4:59 PM
elexis created D2644: Support JS class syntax / non-enumerable entity component message handlers.
Feb 26 2020, 4:55 PM

Feb 20 2020

elexis added a comment to D2296: StatusEffects v3 - More cleanup, allow stackable, upgrades..

The bogus template is only for testing, not to be committed?

Feb 20 2020, 3:14 PM

Feb 15 2020

elexis changed the visibility for D2528: Performance improvements to VertexBuffer.
Feb 15 2020, 7:02 PM
elexis retitled D2453: Allow Flying objects to be stationary from Allow Flying objects to be stationnary to Allow Flying objects to be stationary.
Feb 15 2020, 10:26 AM

Feb 12 2020

elexis added a comment to D2573: Fix AI OOS on rejoin related to random calls.

See http://irclogs.wildfiregames.com/2020-02/2020-02-12-QuakeNet-%230ad-dev.log; textual diff is identical, binary diff has as a first change one more entity in the JS Map stored in AI entitiesModifications.

Feb 12 2020, 5:14 PM