Page MenuHomeWildfire Games

wraitii (Lancelot)
Animal

Projects

User Details

User Since
Dec 21 2016, 1:38 PM (113 w, 4 h)

Recent Activity

Thu, Jan 31

wraitii added a comment to D1769: Do not mark unit as injured when receives 0 damage.

Commit message can specify that imo. And anybody looking will find this diff and notice what happened.

Thu, Jan 31, 3:05 PM

Wed, Jan 30

wraitii requested changes to D1769: Do not mark unit as injured when receives 0 damage.

Let's just refactor this function entirely instead. See inline comments.

Wed, Jan 30, 8:36 AM

Mon, Jan 28

wraitii added a comment to D1756: #loadingordermatters.

I think returning paths in a deterministic sorted order always is best. IO is a known slow thing, so losing a few microseconds (even a few hunderds) on that seems completely irrelevant and _should_ be completely irrelevant.

Mon, Jan 28, 3:38 PM

Sun, Jan 27

wraitii added reviewers for D1731: Allow to use multiple technologies as requirements for unit training and construction: Restricted Owners Package, wraitii.
Sun, Jan 27, 3:54 PM
wraitii added a reviewer for D1756: #loadingordermatters: Restricted Owners Package.

I think the time taken sorting some files by C++ code is irrelevant.

Sun, Jan 27, 3:52 PM
wraitii added a reviewer for D1760: Remove template_unit_mechanical.xml: wraitii.

Will ensure this is complete and commit

Sun, Jan 27, 3:51 PM
wraitii abandoned D1494: Improve the "% of better frames" in the Profiler2 report when comparing 2 profiles.
Sun, Jan 27, 3:44 PM
wraitii created D1767: Rewrite Profiler2's GUI using highcharts.
Sun, Jan 27, 1:55 PM

Wed, Jan 23

wraitii added a comment to D1473: Add SelectionGroupNames for siege engines.

But usually I just use the selection drag box to select a bunch of units and then remove those from selection I don't want. This won't be possible after this patch. And triple clicking on a unit isn't easy if the unit is part of a big fighting crowd.
Also after this patch you have no possibility to see if any of your catas packed itself when it's part of a big fighting crowd.

Ok that's a bigger issue that wasn't obvious from just reading the diff today.

Wed, Jan 23, 8:31 PM
wraitii added a comment to D1473: Add SelectionGroupNames for siege engines.

I think this should differentiate packed and unpacked siege engines. (Correct me if it already does)

Wed, Jan 23, 1:02 PM
wraitii added a comment to D1472: Grouped civ bonuses into a single folder.

Still like this as I think we should put all civ-specific techs in the civ folders.

Wed, Jan 23, 12:20 PM
wraitii accepted D1473: Add SelectionGroupNames for siege engines.

This seems obviously good to me?
Unless I'm misunderstanding things this just affects the double-clicking behaviour?

Wed, Jan 23, 12:19 PM

Tue, Jan 22

wraitii added a comment to D1676: Embed zpl-c's version of enet library.

We probably need to setup a team moment to test this easily, as it won't work with the lobby obviously.

Tue, Jan 22, 1:26 PM
wraitii added a comment to D1746: Network Dialog / Troll removal device.

I guess the lesson here is "everything you say can be used against you", as per usual :p

Tue, Jan 22, 1:24 PM

Jan 21 2019

wraitii added a comment to D1746: Network Dialog / Troll removal device.

I don't think it's a good idea to put this file in zip. It would be better outside so user can easily update it. Apps usually don't even bundle the GeoLite2 DB and rather let users to download it themselves. Also it would be good to have path to the database configurable so user can download the new database once to some location and make all apps use it without need to taking special care of each app (well on unix like systems this could be also acomplished using symlinks). Though while there are already some apps using MaxMind DB version if you make 0ad require the CSV format I doubt any other app would use it too.

Jan 21 2019, 4:48 PM

Jan 20 2019

wraitii added a comment to D1756: #loadingordermatters.

I feel like sorting always would be better than sorting sometimes, as it reduces opportunities for inconsistency. Given that I assume you've changed all instances of GetPathNames, this seems safe enough based on what they do.

Jan 20 2019, 8:27 PM
wraitii added a reviewer for D1754: Pass an argument to GUI events / SendEventToAll, remove loading screen progess workaround: Itms.

Apparently the fork 0ad guys have a patch for this already, which makes me wonder why I'd be doing any further authorship on this diff.

Jan 20 2019, 8:15 PM
wraitii added inline comments to D1739: Replace EntityMap, std::map, std::unordered_map and boost::unordered_map with an upgraded container.
Jan 20 2019, 7:53 PM
wraitii added a comment to D1739: Replace EntityMap, std::map, std::unordered_map and boost::unordered_map with an upgraded container.

Will the fact that it is 3 times slower impact performance.

Jan 20 2019, 7:52 PM
wraitii updated the diff for D1739: Replace EntityMap, std::map, std::unordered_map and boost::unordered_map with an upgraded container.

After much performance testing, I've found that this variant using a vector and a deque is probably the most efficient as a map replacement, as it performs extremely well for iteration and only about 3x as slowly as our current EntityMap for other operations (which remains faster than unordered_map). The code is also smaller and neater.

Jan 20 2019, 3:09 PM

Jan 19 2019

wraitii accepted D1576: Refactor CBoundingSphere and add tests.

Anyways, this is a positive change.

Jan 19 2019, 6:18 PM
wraitii added a comment to D1576: Refactor CBoundingSphere and add tests.

So maybe clarify 'starting inside'?

Do you suggest to assume that we don't have rays inside spheres, and if have then it's not the intersection, because we don't see them?

Jan 19 2019, 5:40 PM
wraitii added a comment to D1743: Fix UnitAI infinite loop following rP22023.

Well "discoverable", depends what you mean. Ultimately it's all in the code obviously.

Jan 19 2019, 1:29 PM
wraitii added a comment to D1743: Fix UnitAI infinite loop following rP22023.

Committed this as it fixes the issue, making svn playable again. There might be a better fix, but it sounds like it would require a more extensive unitAI rewrite.

Jan 19 2019, 8:46 AM
wraitii committed rP22059: Fix UnitAI infinite loop following rP22023.
Fix UnitAI infinite loop following rP22023
Jan 19 2019, 8:45 AM
wraitii closed D1743: Fix UnitAI infinite loop following rP22023.
Jan 19 2019, 8:45 AM
wraitii added inline comments to D1753: Script to auto update year for all modified files.
Jan 19 2019, 8:30 AM

Jan 18 2019

wraitii added a comment to D1743: Fix UnitAI infinite loop following rP22023.

(I guess it's possible to write a program that can detect if a function appears more than 100k times in a stack, but not sure that is nice to have.)

Jan 18 2019, 5:49 PM
wraitii added a comment to D1743: Fix UnitAI infinite loop following rP22023.

General remarks:

Jan 18 2019, 4:31 PM

Jan 16 2019

wraitii added a comment to D1749: Update AI difficulty level description..

Yes not a very strong objection anyway, go ahead.

Jan 16 2019, 1:05 PM
wraitii added a comment to D1749: Update AI difficulty level description..

Not to be annoying but wouldn't it be easier to say "from -X to +X, and "Normal" has no bonuses"?

Jan 16 2019, 9:38 AM

Jan 15 2019

wraitii added inline comments to D1642: Allow to manipulate the heightmap in simulation.
Jan 15 2019, 9:14 AM

Jan 14 2019

wraitii added a comment to D1745: Allow loading Icons at runtime.

We shouldn't use such way of dynamic loading until we have atlases for textures.

You didn't qualify the "texture atlas", but if you're talking about just caching texture data, that should already be case with m_TextureCache of CTextureManager (other than it being orthogonal to this patch).

Jan 14 2019, 5:02 PM
wraitii added a comment to D1745: Allow loading Icons at runtime.

While that is correct I think it would be reasonably easy to adapt and thus can probably be merged regardless - I'll defer to your opinion but it doesn't seem like we'll use this feature _intensively_.

The network dialog (and possibly the lobby list) should be able to display country flags in the OList (#3787).
But creating an XML file with 250+ times the same icon definition seems not only tedious to create but also tedious to maintain.

The 250 textures isn't the intensive usage? I'm not sure how old video drivers will handle that. It's true that we already have many small textures, but we significantly increase this number here.

If we're commiting this patch now, I want to see some warning about the problem above.

Jan 14 2019, 1:08 PM
wraitii added a reviewer for D1509: Page Down / Page Up Rotates Entities in Editor Even Without Focus: Restricted Owners Package.
Jan 14 2019, 12:08 PM
wraitii added reviewers for D1746: Network Dialog / Troll removal device: Restricted Owners Package, Restricted Owners Package, Restricted Owners Package, wraitii.
Jan 14 2019, 12:07 PM
wraitii added a comment to D1745: Allow loading Icons at runtime.

While that is correct I think it would be reasonably easy to adapt and thus can probably be merged regardless - I'll defer to your opinion but it doesn't seem like we'll use this feature _intensively_.

Jan 14 2019, 12:06 PM
wraitii added a comment to D1746: Network Dialog / Troll removal device.

I'm guessing the "OOP-ness" is the fact you define interactions in the JS instead of inside the XML?

Jan 14 2019, 10:40 AM
wraitii added a comment to D1743: Fix UnitAI infinite loop following rP22023.

Yeah I don't think we can really do this without adding a lot of JS overhead to the FSM, sadly. Maybe newer SM has better debugging support for this kind of issue?

Jan 14 2019, 9:45 AM
wraitii added a comment to D1747: Add a build flag to prefer locally-built libraries..

This would be a workable approach on OSX but not to actually build a bundle - that's the snag I've hit in the past and I'm trying to fix with D1483.
The problem is OSX always links dynamically if it can, which leads to bundles that either:

  • Have a huge internal Frameworks folder - which increases download times and still requires custom code on our side to support
  • Can't be started unless the target computer has also locally-installed compatible libraries (in the same places).

To link statically on OSX, it needs to see only static libraries. This is what happens when we manually compile the libraries.

Jan 14 2019, 9:43 AM

Jan 13 2019

wraitii added a parent revision for D1739: Replace EntityMap, std::map, std::unordered_map and boost::unordered_map with an upgraded container: D1736: Early-exit when destroying invalid entities (INVALID_ENTITY, already destroyed…).
Jan 13 2019, 8:23 PM
wraitii added a child revision for D1736: Early-exit when destroying invalid entities (INVALID_ENTITY, already destroyed…): D1739: Replace EntityMap, std::map, std::unordered_map and boost::unordered_map with an upgraded container.
Jan 13 2019, 8:23 PM
wraitii updated the diff for D1739: Replace EntityMap, std::map, std::unordered_map and boost::unordered_map with an upgraded container.

Might as well make this revision useful. BOOM. Massive SFINAE for this new container.

Jan 13 2019, 8:03 PM
wraitii accepted D1515: Split CColor from Shapes.
Jan 13 2019, 3:18 PM
wraitii created D1743: Fix UnitAI infinite loop following rP22023.
Jan 13 2019, 3:11 PM
wraitii added a comment to rP22023: Always leave/reenter the top-most FSM state when SetNextState is called with….

I'll give a go at this in the afternoon I think. Hopefully I should be done with a first working version of my componentManager map>entity map rewrite thingy by then.

Jan 13 2019, 12:10 PM

Jan 7 2019

wraitii accepted D1564: Simple refactoring of Singleton.

Bump years before committing but this compiles and is nice.

Jan 7 2019, 9:00 PM
wraitii added inline comments to D1515: Split CColor from Shapes.
Jan 7 2019, 8:47 PM
wraitii updated the diff for D1737: Slight cleanup of fogging OnDestroy and some comments.

Modified after itms' comments.

Jan 7 2019, 8:17 PM
wraitii updated the diff for D1736: Early-exit when destroying invalid entities (INVALID_ENTITY, already destroyed…).

This type of check was done already in AllocateEntityHandle to centralise in a common function.
IMO like that it's fine to commit, it's more "canonical" and less tricky.

Jan 7 2019, 8:15 PM
wraitii added inline comments to D1739: Replace EntityMap, std::map, std::unordered_map and boost::unordered_map with an upgraded container.
Jan 7 2019, 7:15 PM
wraitii created D1739: Replace EntityMap, std::map, std::unordered_map and boost::unordered_map with an upgraded container.
Jan 7 2019, 7:14 PM
wraitii added a comment to D1410: GUI: separate top_panel.js file.

The loading order is deterministic / alphabetic

Jan 7 2019, 3:10 PM
wraitii added a comment to D1738: Flush the destruction queue after GUI events are processed to avoid serialisation crashing.

So either the ENSURE must ignore local entities, or local entities must be flushed before the serialization attempt occurs.

Jan 7 2019, 2:17 PM
wraitii added a comment to D1682: Cleanup RallyPointRenderer.

In this situation given that it won't change the gameplay I would procure an MP replay, add Profiler2 profiling around affected functions, and replay once with vector and once with deque, then use the profiler2 interface to compare. There's a guide in trac on how to use Profiler2.

Jan 7 2019, 1:42 PM
wraitii added inline comments to D1682: Cleanup RallyPointRenderer.
Jan 7 2019, 9:43 AM
wraitii added a comment to D1738: Flush the destruction queue after GUI events are processed to avoid serialisation crashing.

Sorry, I'm going to be a little snarky, but there is a test plan for this revision that says:

Jan 7 2019, 8:35 AM

Jan 6 2019

wraitii updated the diff for D53: D13 prerequisite 8: Upgrade the hierarchical pathfinder.

Add a (rather long) battery of tests on the hierarchical pathfinder specifically.

Jan 6 2019, 9:53 PM
wraitii added a comment to D1736: Early-exit when destroying invalid entities (INVALID_ENTITY, already destroyed…).

Ah right, sorry. But I'd be interested in knowing how much of the cases are actually ent == INVALID_ENTITY. It doesn't sound like there are a lot of cases where an entity would be deleted several times?

Jan 6 2019, 9:50 PM
wraitii added a comment to D1736: Early-exit when destroying invalid entities (INVALID_ENTITY, already destroyed…).

I really think all the things that happen after this early return are inexpensive. In particular, when posting messages, if the entity is actually fully destroyed, no component subscribed to the message will be found, so there won't be a lot of overhead. If it's not actually fully destroyed, the patch is wrong (I do not think that's the case, but I might be wrong).

I believe that's incorrect: components that are globally subscribed will received the message.

Jan 6 2019, 6:32 PM
wraitii committed rP22036: Test we can destroy INVALID_ENTITY.
Test we can destroy INVALID_ENTITY
Jan 6 2019, 5:33 PM
wraitii closed D1735: Test we can destroy INVALID_ENTITY.
Jan 6 2019, 5:33 PM
wraitii added a reviewer for D1736: Early-exit when destroying invalid entities (INVALID_ENTITY, already destroyed…): Restricted Owners Package.
Jan 6 2019, 5:30 PM
wraitii added a reviewer for D1737: Slight cleanup of fogging OnDestroy and some comments: Restricted Owners Package.
Jan 6 2019, 5:30 PM
wraitii added a comment to D11: Implement Single-Player (SP) campaign interface.

As a reminder of what we're trying to achieve here: the goal (to me) is not to provide something beautiful, or even something complete, but rather a necessary, minimal, and well-architectured stepping stone for other code. As the patch stands, it is usable for a very basic campaign, though it's missing plenty of things one would want, but I think that's fine, we can add those on top of this core stuff, so long as the general direction of the core stuff isn't stupid.

Jan 6 2019, 5:23 PM
wraitii added a comment to D11: Implement Single-Player (SP) campaign interface.

Answers to some comments.

Jan 6 2019, 5:04 PM
wraitii requested changes to D263: Prevent corpses from clipping through hilly terrain.

What's weird looking with buildings is the 'falling' animation which jolts and doesn't fall vertically (i.e. along the Y axis), and this does look odd. The rubble might have pitch-roll, but current rubble handles this nicely enough.

Jan 6 2019, 4:54 PM
wraitii added a comment to D1738: Flush the destruction queue after GUI events are processed to avoid serialisation crashing.

The more I think about it the more I think the best thing to do here is to remove/amend the ENSURE. It dates from rP7276, and I'm not sure if it ever was useful. The Simulation's UpdateComponents cannot be halted and we won't serialize or deserialise in the middle of it, so any non-local entity destroyed is flushed at the end of the turn, i.e. the destruction queue only has local entities in it. That's fine because those don't get serialised anyways.

Jan 6 2019, 3:21 PM
wraitii updated the summary of D1738: Flush the destruction queue after GUI events are processed to avoid serialisation crashing.
Jan 6 2019, 3:12 PM
wraitii created D1738: Flush the destruction queue after GUI events are processed to avoid serialisation crashing.
Jan 6 2019, 3:10 PM
wraitii updated the diff for D1736: Early-exit when destroying invalid entities (INVALID_ENTITY, already destroyed…).

Do this in the flushing using the component cache, which also handles already-deleted entities.

Jan 6 2019, 2:35 PM
wraitii added a comment to rP22029: Change internals of EntityMap to use an std::vector.

The reason for the crash is that find() didn't expect to be called with an entity below FIRST_VALID_ENTITY_ID, i.e. INVALID_ENTITY. This should return end() instead so I need to amend this code.

Jan 6 2019, 2:03 PM
wraitii added 1 auditor(s) for rP22029: Change internals of EntityMap to use an std::vector: Restricted Owners Package.
Jan 6 2019, 2:01 PM
wraitii planned changes to D1736: Early-exit when destroying invalid entities (INVALID_ENTITY, already destroyed…).

Right idea, terrible implementation

Jan 6 2019, 2:00 PM
wraitii accepted rP15963: Fix mirages not flushed properly, introduced in r15956..

This is actually WAD, as mirages are hidden when the original entity is visible, so we need to clean them up, and destroying INVALID_ENTITY is supposed to work.

Jan 6 2019, 11:56 AM
wraitii created D1737: Slight cleanup of fogging OnDestroy and some comments.
Jan 6 2019, 11:55 AM
wraitii created D1736: Early-exit when destroying invalid entities (INVALID_ENTITY, already destroyed…).
Jan 6 2019, 11:43 AM
wraitii created D1735: Test we can destroy INVALID_ENTITY.
Jan 6 2019, 11:33 AM
wraitii raised a concern with rP15963: Fix mirages not flushed properly, introduced in r15956..

This destroyed INVALID_ENTITY on some maps (which triggered the crash in rP22029).

Jan 6 2019, 10:11 AM

Jan 5 2019

wraitii committed rP22032: Revert r22029 as it triggers an assertion failure..
Revert r22029 as it triggers an assertion failure.
Jan 5 2019, 11:38 PM
Angen awarded D11: Implement Single-Player (SP) campaign interface a Doubloon token.
Jan 5 2019, 7:42 PM
wraitii committed rP22029: Change internals of EntityMap to use an std::vector.
Change internals of EntityMap to use an std::vector
Jan 5 2019, 7:20 PM
wraitii closed D8: Change internals of EntityMap to use an std:: vector.
Jan 5 2019, 7:20 PM
wraitii updated the diff for D11: Implement Single-Player (SP) campaign interface.

Rebase, address the bulk of elexis' comments above. Github branch up-to-date https://github.com/wraitii/0ad/tree/D11_campaigns .

Jan 5 2019, 7:16 PM
wraitii added inline comments to D53: D13 prerequisite 8: Upgrade the hierarchical pathfinder.
Jan 5 2019, 5:51 PM
wraitii updated the diff for D8: Change internals of EntityMap to use an std:: vector.

Reupload to run on SVN now that tests have been merged.

Jan 5 2019, 5:38 PM
wraitii committed rP22027: Add tests for the Entitymap helper..
Add tests for the Entitymap helper.
Jan 5 2019, 5:37 PM
wraitii closed D1722: Test Entitymap helper.
Jan 5 2019, 5:37 PM
wraitii updated the diff for D274: Handle modifications of technologies and auras in a system component.

So actually aura icons can't be merged with the modifications manager because they're only shown when the source is selected, which I forgot.

Jan 5 2019, 5:30 PM
wraitii added a comment to D274: Handle modifications of technologies and auras in a system component.

I don't think any global aura had an icon. Only local ones.

Jan 5 2019, 4:18 PM
wraitii added inline comments to D274: Handle modifications of technologies and auras in a system component.
Jan 5 2019, 4:13 PM
wraitii updated the diff for D274: Handle modifications of technologies and auras in a system component.

Migrate auras to the ModificationsManager, which allows me to delete AuraManager entirely (which is entirely redundant).

Jan 5 2019, 4:09 PM
wraitii added a comment to D1478: Clean lots of cinema includes.

Requested changes to bump the year, really?

Jan 5 2019, 3:22 PM
wraitii added a comment to D844: Add a `GetTextSize()` function to the GUI..

s0600204 isn't retired.

Ah, right, mistakenly assumed given the date of the last revision and didn't check.

Jan 5 2019, 2:46 PM
wraitii added a comment to D844: Add a `GetTextSize()` function to the GUI..

Well that's kinda what I needed to know. Indeed this should get committed by whoever is available ASAP then. Will do later unless someone else's done it first.

Jan 5 2019, 12:19 PM
wraitii added a parent revision for D8: Change internals of EntityMap to use an std:: vector: D1722: Test Entitymap helper.
Jan 5 2019, 12:00 PM
wraitii added a child revision for D1722: Test Entitymap helper: D8: Change internals of EntityMap to use an std:: vector.
Jan 5 2019, 12:00 PM
wraitii updated the diff for D8: Change internals of EntityMap to use an std:: vector.

Clarify head comment and revert the test-dumbing-down from D1722. The changes are strictly cosmetic.

Jan 5 2019, 11:59 AM
wraitii updated the diff for D1722: Test Entitymap helper.

Make tests compatible with svn, comment out what will work with D8.

Jan 5 2019, 11:58 AM
wraitii requested changes to D1478: Clean lots of cinema includes.

Bump year and commit

Jan 5 2019, 11:36 AM