Page MenuHomeWildfire Games

elexis (Alexander H)
User

Projects

User Details

User Since
Dec 21 2016, 3:52 PM (172 w, 2 d)

Recent Activity

Yesterday

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

Thu, Apr 9, 1:00 AM

Fri, Apr 3

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

Fri, Mar 27

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.

Fri, Mar 27, 3:35 PM

Thu, Mar 26

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

Previous revision D1662.

Thu, Mar 26, 12:00 AM

Wed, Mar 25

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.)

Wed, Mar 25, 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!

Wed, Mar 25, 6:35 PM
elexis updated the Trac tickets for D2667: Upgrade engine to handle up to 30 players.
Wed, Mar 25, 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

Feb 10 2020

elexis updated subscribers of D1703: Map browser for gamesetup.

There are scrollbars in the Language and Mod Selection, perhaps those can be reused here?

Feb 10 2020, 6:12 PM
elexis updated the diff for D1703: Map browser for gamesetup.

elexis rewrite v1

Feb 10 2020, 4:22 PM
elexis added a comment to D1703: Map browser for gamesetup.
  • Computing minColumns / maxColumns (zoom limits) depending on image aspect ratio and current available vertical and horizontal screenspace and minimum image width only
  • Disabling the Zoom buttons when the zoom limit was reached
  • Disabling/enabling the Select button if there is no selection (selection removal can happen if there are no text filter matches)
  • Deleted the png, too saturated colors, used a "Browse Maps" Modern themed button below the MapSelection dropdown and assigned the mappreview image click to open the mapbrowser too
  • Added the generic GameSettingControlButton class to achieve that.
Feb 10 2020, 4:18 PM
elexis added a comment to D2629: Fix remote segfault when spamming chat.
In D2629#110106, @Stan wrote:

Can't we have an explicit message about message being too big?

There is "CNetMessage: Corrupt packet (incorrect size)" already.

Feb 10 2020, 1:33 PM
elexis added inline comments to D2629: Fix remote segfault when spamming chat.
Feb 10 2020, 12:36 AM
elexis created D2629: Fix remote segfault when spamming chat.
Feb 10 2020, 12:15 AM

Feb 9 2020

elexis committed rP23489: Implement a FixedVector2D::CompareLengthSquared function to provide a more….
Implement a FixedVector2D::CompareLengthSquared function to provide a more…
Feb 9 2020, 10:01 PM
elexis closed D2058: FixedVector2D CompareLengthSquared.
Feb 9 2020, 10:00 PM
elexis updated the diff for D2058: FixedVector2D CompareLengthSquared.

One abs less.

Feb 9 2020, 8:54 PM
elexis updated the diff for D2058: FixedVector2D CompareLengthSquared.

More static cast, drop old tests, use macro more often, rename macro.

Feb 9 2020, 6:57 PM
elexis added a comment to D2058: FixedVector2D CompareLengthSquared.

refs https://docs.microsoft.com/de-de/cpp/intrinsics/emul-emulu?view=vs-2019

Feb 9 2020, 6:50 PM
elexis added a comment to D1703: Map browser for gamesetup.
In D1703#110031, @nani wrote:
  • The missing scrolling is really bad. I didnt check your JS scrolling implementation, but a slider might also work as a workaround.

What scrolling implementation?

None.

Feb 9 2020, 3:27 PM
elexis updated the diff for D2058: FixedVector2D CompareLengthSquared.

Ditch Fixed as an arugment and implement FIXED_SQUARE_I32 macro

Feb 9 2020, 2:47 PM
elexis added a comment to D1703: Map browser for gamesetup.
  • TODO: If currently selected map is not part of this list, remove the selected index
  • The missing scrolling is really bad. I didnt check your JS scrolling implementation, but a slider might also work as a workaround.
  • The code doesnt work as intended for clients (that aren't the host) unless I missed something reading the code
Feb 9 2020, 1:58 PM

Feb 8 2020

elexis added a comment to D2623: [gui]: increase label space in chat.

The size property of GUI objects can be changed to the value return by GetTextWidth, there is an example in termsdialog.js, or search for Engine.GetTextWidth. (I suppose it'd be better as a C++ snapping or alignment feature.)

Feb 8 2020, 3:54 PM
elexis added a comment to D1703: Map browser for gamesetup.
  • Item-Description: Should(n't) the map description be shown (maybe 3-5 lines + scrollbar) below the mappreview thumbnail, so that the player can make a more informed decision / comparison of maps? In fact the height of the description could vary, so that the unused vertical space would disappear as well (at the cost of perhaps one or two rows depending on zoom level)
  • Status-Bar: Should(n't) it display the "prev/next" + page counter data below the items in a status bar? (It could also display item count)
  • The mapbrwserpage button looks weird, we considered making this a regular button.
Feb 8 2020, 3:03 PM
elexis added a comment to D1703: Map browser for gamesetup.

New classes:

  • GridBrowser class (D1650) split from MapGridBrowser class to keep it more reusable.
  • GridBrowserItem and MapGridBrowserItem class, so that one may keep references, a local state, register events to handlers and specify functions per item (instead of only one function doing all of that locally).
Feb 8 2020, 2:34 PM
elexis created D2627: Report GUI object script handler error stack.
Feb 8 2020, 12:14 AM

Feb 7 2020

elexis added a comment to D2623: [gui]: increase label space in chat.

See #4252. Engine.GetTextWidth would yield the actual size used, avoiding the issue that a fixed number of pixels may look ugly for english while still being too few for other languages.

Feb 7 2020, 3:15 PM

Feb 5 2020

elexis added a comment to D1613: Improve the plural translation of the "<players> have won" string.

(For reference, there is also this bug #5675, where the simulation sends a wrong victory chat notification when ceasefire ended after the only player of the game had won already, showing " and undefined have won". But I guess that victory message should just not be sent, then it probably won't affect this patch.)

Feb 5 2020, 3:27 PM
elexis added inline comments to rP22526: UnitMotion - Send messages to UnitAI when obstructed, to allow stopping early….
Feb 5 2020, 3:16 PM
elexis planned changes to D2058: FixedVector2D CompareLengthSquared.

Squaring is no fun, because it uses Multiply and Multiply overflows without printing a warning (while warning when overflowing when casting).
Need to use the internal value (u64) for comparison, because fixed can only represent 2*128² at most and one often receives vector lengths an order of magnitude or more greater than 128 that need to be squared.

Feb 5 2020, 1:40 PM
elexis added inline comments to rP22526: UnitMotion - Send messages to UnitAI when obstructed, to allow stopping early….
Feb 5 2020, 1:36 PM
elexis added inline comments to rP22526: UnitMotion - Send messages to UnitAI when obstructed, to allow stopping early….
Feb 5 2020, 1:34 PM
elexis updated the diff for D2058: FixedVector2D CompareLengthSquared.

Fix rangemanager missing parentheses, add testcases proposed by Vladislav
http://irclogs.wildfiregames.com/2020-02/2020-02-04-QuakeNet-%230ad-dev.log

Feb 5 2020, 2:21 AM

Feb 4 2020

elexis added a comment to D2615: [gui] correct gamesetup tabs.

I agree with the proposed string changes being a more clear description, but I wonder where we transifex is in translation coverage currently (whether they keep up with translations as fast as we introduce or change strings).

Feb 4 2020, 5:50 PM
elexis added a comment to D1703: Map browser for gamesetup.

A few remarks on the image from the summary:


Could you add a scrollbar (yellow)? I dislike the previous and next page buttons (magenta).

Feb 4 2020, 5:49 PM
elexis commandeered D1703: Map browser for gamesetup.

Another batch of code comments, not finished yet. Mostly the code should be restructured to use event-subscription to decouple the different classes.

Feb 4 2020, 1:00 PM
elexis added a comment to D2597: Store Garrison(Holder) in map file..

(To be fixed in ./binaries/data/mods/public/maps/scenario.rng ./binaries/data/mods/public/maps/scenario.rnc )

Feb 4 2020, 12:11 PM

Feb 3 2020

elexis requested changes to D1707: Generalise hard-counter tooltips..
Feb 3 2020, 11:57 AM
elexis added a comment to D2585: [gameplay] Cavalry archer speed adjustment.

I wonder why champions are significantly faster than citizens. They have a lot more armour and health and can't gather (hunt). If anything, I'd expect champions to be slower or at most equally fast.

I guess the argument would be that they are more trained and elite, but indeed that needs to account for the weight of the additional armor.

Feb 3 2020, 11:42 AM
elexis added a comment to D2058: FixedVector2D CompareLengthSquared.

The objective of the diff is to avoid repeating this operation in loops where this value doesn't change during the loop:

		i32 c = cmp.GetInternalValue();
		u64 c2 = (u64)FIXED_MUL_I64_I32_I32(c, c);
Feb 3 2020, 11:18 AM
elexis updated the diff for D2058: FixedVector2D CompareLengthSquared.
  • Add Vladislavs test case
  • Drop fractional part here as well.
Feb 3 2020, 12:58 AM
elexis added a comment to D2058: FixedVector2D CompareLengthSquared.

The test came from http://irclogs.wildfiregames.com/2019-07/2019-07-12-QuakeNet-%230ad-dev.log

19:02 < Vladislav> fixed n = fixed::FromFloat(1.0f / 10.0f); fixed n2 = n.Square(); CFixedVector2D vec(n, n); fixed len = n2.Multiply(fixed::FromInt(2));
19:02 < Vladislav> elexis: what should we get for vec.CompareLengthSquared(len)?
19:07 < elexis> according to vec definition, squared length of vec is 2*n², that is the same as len, therefore vec.CompareLengthSquared(len) ought to be 0 as the numbers are the same

Feb 3 2020, 12:54 AM

Feb 2 2020

elexis committed rP23476: Option to allow having the same entity in multiple control groups..
Option to allow having the same entity in multiple control groups.
Feb 2 2020, 6:18 PM
elexis closed D2176: Give an option to allow multiple controls groups share same entities..
Feb 2 2020, 6:18 PM
elexis accepted D2176: Give an option to allow multiple controls groups share same entities..

(Following discussion on http://irclogs.wildfiregames.com/2020-02/2020-02-02-QuakeNet-%230ad-dev.log and before (on days when a new patch was uploaded))

Feb 2 2020, 5:40 PM
elexis accepted D2612: [gameplay] Balance ranged infantry citizen soldiers.

I'd rather buff them again in a24 if they turn out to still be too weak.

I agree with that.

Feb 2 2020, 5:35 PM

Feb 1 2020

elexis added a comment to D2605: [gameplay] Fix loot oversights.

Though it can also be explained as them carrying having carried those resources.

Carried resources are looted separately, so that doesn't really apply. Doesn't seem like a big defect since there are rarely more than 3 elephants around.

Feb 1 2020, 2:13 PM
elexis reclaimed D1095: Rename modmod to modselection.
Feb 1 2020, 1:43 AM
nani awarded D2607: Gamesetup support to select team placement pattern a Like token.
Feb 1 2020, 12:00 AM

Jan 31 2020

elexis committed rP23473: Gamesetup setting for map specific team placement, fixes #4110, refs #4838..
Gamesetup setting for map specific team placement, fixes #4110, refs #4838.
Jan 31 2020, 10:26 PM
elexis closed D2607: Gamesetup support to select team placement pattern.
Jan 31 2020, 10:26 PM
elexis committed rP23472: Fix autocomplete of Landscape/Daytime in rP23392/D2564 as well..
Fix autocomplete of Landscape/Daytime in rP23392/D2564 as well.
Jan 31 2020, 10:02 PM
elexis added inline comments to D2608: Fix checks for range existence following rP23465 .
Jan 31 2020, 8:49 PM
elexis committed rP23470: Fix missing translate calls and typo in Gamesetup Landscape/Daytime….
Fix missing translate calls and typo in Gamesetup Landscape/Daytime…
Jan 31 2020, 7:49 PM
elexis created D2607: Gamesetup support to select team placement pattern.
Jan 31 2020, 2:50 PM

Jan 30 2020

elexis added a comment to D2606: Use correct player id when querying interfaces in guiinterface.
Jan 30 2020, 8:27 PM
elexis added a comment to D2573: Fix AI OOS on rejoin related to random calls.
In D2573#109250, @Angen wrote:

Calling any random function during rejoining will cause oos because rng will change so just serialising random values will not help if that random call stays there.

Jan 30 2020, 6:21 PM
elexis added a comment to D2573: Fix AI OOS on rejoin related to random calls.

If I read correctly, this.sentDiplomacyRequestLapseTime is randomized, then replaced by the deserialized value. So the code change is not necessary but done for consistency, because the random calls are considered the root cause of the problem?
If all of that is the case, it seems that the more safe fix would not be to remove the randomization calls, but to serialize everything that needs to be serialized.

Jan 30 2020, 5:03 PM

Jan 29 2020

elexis added inline comments to D1703: Map browser for gamesetup.
Jan 29 2020, 9:18 PM
elexis added inline comments to D1703: Map browser for gamesetup.
Jan 29 2020, 8:45 PM
elexis added a comment to D1703: Map browser for gamesetup.

From testing the patch:

Jan 29 2020, 8:29 PM
elexis committed rP23461: Buff loom to double female citizen HP..
Buff loom to double female citizen HP.
Jan 29 2020, 7:57 PM
elexis closed D2587: [gameplay] Loom buff.
Jan 29 2020, 7:57 PM
elexis committed rP23460: Some more random random map script unit tests and ASSERT functions, refs #4827..
Some more random random map script unit tests and ASSERT functions, refs #4827.
Jan 29 2020, 7:53 PM
elexis closed D2603: Few random random map script unit tests.
Jan 29 2020, 7:52 PM
elexis added a comment to D2603: Few random random map script unit tests.

(FWIW got an absence of objections from nani http://irclogs.wildfiregames.com/2020-01/2020-01-29-QuakeNet-%230ad-dev.log)

Jan 29 2020, 7:51 PM
elexis accepted D2587: [gameplay] Loom buff.

Reasons provided for the cost and effect changes are reproducible, have been tested, are necessary but not excessive, therefore a correct variant.
Didn't find the string loom in json, js and xml files other than this, so changes seem complete.

Jan 29 2020, 7:40 PM
elexis updated the diff for D2603: Few random random map script unit tests.

Missing test/ files -.-

Jan 29 2020, 6:51 PM
elexis updated the diff for D2603: Few random random map script unit tests.

Missing test setup file

Jan 29 2020, 6:50 PM
elexis added a comment to D2546: Adds an option to enable/disable building snapping.

options.json diff and default.cfg diff can be considered accepted by me. The JS diff looks ok, but I didn't check for completeness. Duplication removal and code minimization is good.

Jan 29 2020, 5:53 PM
elexis added a comment to D1703: Map browser for gamesetup.

60px*60px = gateway to a23b rerelease hell, we need potency of 2 imagesizes, the NPOT ones crashed on macOS only in the last release.

Jan 29 2020, 4:09 PM
elexis created D2603: Few random random map script unit tests.
Jan 29 2020, 3:27 PM
elexis committed rP23455: Support random map script tests, fixes #4827..
Support random map script tests, fixes #4827.
Jan 29 2020, 1:30 AM
elexis closed D2085: Support RandomMap tests.
Jan 29 2020, 1:30 AM
elexis added a comment to D2085: Support RandomMap tests.

There are two different ways this could be implemented.

Jan 29 2020, 12:25 AM

Jan 28 2020

elexis added a comment to D2587: [gameplay] Loom buff.

forgotten about that I had to explain where to find it and what it does to a bunch of people

Jan 28 2020, 9:16 PM
elexis added a comment to D1674: Check translations for sprintf errors.

As mentioned by Stan, there is a warning on transifex for such a broken string:

Jan 28 2020, 3:11 PM