Page MenuHomeWildfire Games

echotangoecho (M Vermeulen)
User

Projects

User Details

User Since
Jan 19 2017, 7:09 PM (98 w, 5 d)

Recent Activity

Aug 19 2018

echotangoecho planned changes to D1618: Improve performance of GetEntityState by caching ApplyValueModificationsToEntity.

Hmm, so apparently parts don't really work as it is now. Will investigate.

Aug 19 2018, 4:11 PM
echotangoecho created D1618: Improve performance of GetEntityState by caching ApplyValueModificationsToEntity.
Aug 19 2018, 4:05 PM

Aug 17 2018

echotangoecho abandoned D1331: Improve selection performance by adding a GetBasicEntityState function.
Aug 17 2018, 6:49 PM
echotangoecho added a comment to D1331: Improve selection performance by adding a GetBasicEntityState function.
In D1331#54461, @mimo wrote:

Before going back to such a separation (which improved performance, but revealed itself hard to maintain in the long term), it would be good to know exactly where is the real gain: is it because we have less info to transfer? or because we have less info to compute?
If the latter is dominant, it may be more efficient to cache all these attack/armour infos instead of recomputing them every turn (applyValuesModifications is not specially fast) as is done for example in ResourceGatherer for the rates inside OnValueModification (note that this could be done better in ResourceGatherer as everything is recomputed with any change). Doing it that way could also help when fighting as also the simulation would not have to recompute all quantities each time.

Aug 17 2018, 6:49 PM
echotangoecho accepted D1582: Use pkg-config instead of sdl2-config.

Works for me on Arch Linux, and looks good.

Aug 17 2018, 6:38 PM
echotangoecho added a comment to D1578: Basic refactoring of FSM.

D492

Aug 17 2018, 6:07 PM

Feb 24 2018

echotangoecho added a comment to D1331: Improve selection performance by adding a GetBasicEntityState function.

I think it's a bit of both, for attack in particular it's mostly the computation time but there is also some transfer cost. if we look at the entire time saved by this patch on my computer I'd estimate 6-7ms is in computation time, 3-4 ms in transfer time. In principle it's going to be difficult to make the selection really fast, simply because of the way our entity system is designed currently (ideally we'd rewrite it in the future).

Feb 24 2018, 7:52 PM
echotangoecho created D1331: Improve selection performance by adding a GetBasicEntityState function.
Feb 24 2018, 2:27 PM

Jan 26 2018

echotangoecho added a comment to D1256: Replace NetTurnManager ENSURE spam with LOGERROR + disconnect.

I'm almost satisfied with the performance of gui updates (thanks to mimo), so when that's done I'll subject the turnmanager to the overhaul I've been planning for a long time now. Hopefully that bug will get caught as well.

Jan 26 2018, 8:33 PM
echotangoecho accepted D1256: Replace NetTurnManager ENSURE spam with LOGERROR + disconnect.

If you change the pointers -> reference, it can be committed.

Jan 26 2018, 8:08 PM
echotangoecho accepted D1258: The gui shouldn't load again needed templates on each turn .

Seems to work well.

Jan 26 2018, 7:38 PM
echotangoecho added a reviewer for D1256: Replace NetTurnManager ENSURE spam with LOGERROR + disconnect: echotangoecho.
Jan 26 2018, 7:22 PM
echotangoecho added inline comments to D1256: Replace NetTurnManager ENSURE spam with LOGERROR + disconnect.
Jan 26 2018, 7:22 PM
echotangoecho added a reviewer for D1258: The gui shouldn't load again needed templates on each turn : echotangoecho.
Jan 26 2018, 7:16 PM
echotangoecho added a comment to D1258: The gui shouldn't load again needed templates on each turn .

Ok, at least I will review this patch (I think it's fine, but I will need to get svn to apply the patch as it doesn't seem to apply on the latest state of the git mirrors, so will need about 30 minutes before I can test it).
Only thing I can think of is that maybe templateDataStatus could be renamed to modifiedTemplates, GetTemplateDataStatus to IsTemplateModified, but am not sure if that would be an improvement.

Jan 26 2018, 7:16 PM
echotangoecho added a comment to D1258: The gui shouldn't load again needed templates on each turn .

(also, are you planning more of these gui sim update performance related changes? I want to avoid that we do double work and am currently (and have been for a while) trying to improve the performance of selection gui updates)

Jan 26 2018, 6:59 PM
echotangoecho added a comment to D1258: The gui shouldn't load again needed templates on each turn .

My approach is a bit different though, wouldn't it be possible to only reload all the changed templates and not all templates of a player if something changed?

Jan 26 2018, 6:56 PM
echotangoecho added a comment to D1258: The gui shouldn't load again needed templates on each turn .

funny coincidence, I was just working on the exact same thing ^^

Jan 26 2018, 6:53 PM

Jan 25 2018

echotangoecho added a comment to D812: Allow calling timer_DisplayClientTotals multiple times.

The check is unneeded, as the list is only modified in timer_AddClient. (and both clients / numClients are static, so will be zero-initialized).

Jan 25 2018, 5:47 PM
echotangoecho updated the diff for D812: Allow calling timer_DisplayClientTotals multiple times.
Jan 25 2018, 5:45 PM
echotangoecho accepted D1254: Fix crash at start in snd_detect().

Looks good to me (can't check if issue is fixed as I don't have the issue, but the return value should be checked in any case).

Jan 25 2018, 1:49 PM

Dec 4 2017

echotangoecho added a comment to D1103: Unify BuildDirEntList with FindJSONFiles to kill globalscripts/ JSON hacks.

Looks good.

Dec 4 2017, 6:52 PM

Nov 19 2017

echotangoecho added a comment to D1048: Fix an error on OSX that made Territory Lines not show up..

I personally don't agree with the = 123 syntax being ugly, and it seems to be the recommended way to do things in modern C++: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-in-class-initializer

Nov 19 2017, 4:28 PM

Nov 7 2017

echotangoecho added a comment to P91 Clogger crashes, when the message is too long.

I vote for the second option, we don't really need to support these long messages (just write them to some log if needed).

Nov 7 2017, 6:58 PM

Oct 17 2017

echotangoecho added a comment to D956: Long path improvements.
In D956#37500, @temple wrote:

(We'll need to decrease the turn length, at least for movement. Otherwise it's too hard to predict where units will be in order to steer around them or slow down before crashing into them. For example, Starcraft II does 16 simulation updates per second on normal speed, but in multiplayer we only do 2 updates per second.)

Oct 17 2017, 6:25 PM

Aug 20 2017

echotangoecho added reviewers for D812: Allow calling timer_DisplayClientTotals multiple times: vladislavbelov, leper, elexis, wraitii.
Aug 20 2017, 5:43 PM
echotangoecho created D812: Allow calling timer_DisplayClientTotals multiple times.
Aug 20 2017, 4:46 PM

Aug 18 2017

echotangoecho raised a concern with rP19703: STUN + XMPP ICE implementation..
Aug 18 2017, 4:50 PM
echotangoecho added a comment to rP19703: STUN + XMPP ICE implementation..

Some things I found (maybe not exhaustive) -- Some of these might easily be converted to use smart pointers and ideally most of this code should be rewritten to use smart pointers, but that might cost too much time.

Aug 18 2017, 4:49 PM

Aug 17 2017

echotangoecho accepted D740: Support [[fallthrough]]..

Then it's ok, but could maybe add the comments for that in the future.

Aug 17 2017, 5:47 PM

Jul 30 2017

echotangoecho added a comment to D740: Support [[fallthrough]]..

There are still some fallthrough warnings in AtlasObjectXML.cpp, is that expected?

Jul 30 2017, 5:55 PM
echotangoecho resigned from D13: UnitMotion rewrite.
Jul 30 2017, 5:37 PM
echotangoecho requested changes to D587: Remove VFS cache.

Needs rebase (patch fails to apply currently), also, you can remove the now unused stats_cache() function and macro in lib/file/common/file_stats.*. Otherwise patch looks and works well.

Jul 30 2017, 5:35 PM
echotangoecho awarded D754: Diplomacy Colors a Like token.
Jul 30 2017, 2:48 PM
echotangoecho updated the diff for D492: Cleanup of the FSM and NetMessage code in network..

Fix 2 more whitespace issues, which should hopefully have been the last remaining.

Jul 30 2017, 12:32 AM
echotangoecho added inline comments to D492: Cleanup of the FSM and NetMessage code in network..
Jul 30 2017, 12:27 AM
echotangoecho updated the diff for D492: Cleanup of the FSM and NetMessage code in network..

Fix 4 more whitespace issues.

Jul 30 2017, 12:25 AM
echotangoecho updated the diff for D492: Cleanup of the FSM and NetMessage code in network..
  • Replace some NULL occurrences with nullptr.
  • push_back -> emplace_back in some places.
  • Fix some more style issues (including some whitespace things).
  • Remove leftover TODO and comment about scriptInterface.
  • Add an easier syntax for deseralizing a message, as suggested by leper.
Jul 30 2017, 12:23 AM

Jul 11 2017

echotangoecho added a comment to D733: Change some occurrences of BroadcastMessage where an entity id is available to use PostMessage.

Yes, I did: all places where this message is subscribed to use OnGlobalEntityRenamed, so this shouldn't change any behavior.

Jul 11 2017, 5:24 PM
echotangoecho updated the diff for D733: Change some occurrences of BroadcastMessage where an entity id is available to use PostMessage.

Add spaces and quotes.

Jul 11 2017, 10:57 AM

Jul 10 2017

echotangoecho created D733: Change some occurrences of BroadcastMessage where an entity id is available to use PostMessage.
Jul 10 2017, 1:46 PM

Jul 8 2017

echotangoecho added inline comments to D721: Cleanup of OpenGL loading (add extension loader library).
Jul 8 2017, 12:28 PM

Jul 7 2017

echotangoecho planned changes to D721: Cleanup of OpenGL loading (add extension loader library).
Jul 7 2017, 8:12 PM
echotangoecho created D721: Cleanup of OpenGL loading (add extension loader library).
Jul 7 2017, 8:11 PM

Jul 6 2017

echotangoecho added inline comments to D492: Cleanup of the FSM and NetMessage code in network..
Jul 6 2017, 9:09 PM
echotangoecho updated the diff for D492: Cleanup of the FSM and NetMessage code in network..
  • Fix assert failures in debug mode (add default constructor to SerializeableJSValue).
  • Remove unneeded copy constructor for CSimulationMessage.
  • Fix most (all?) issues found by leper.
Jul 6 2017, 9:08 PM
echotangoecho requested review of D212: Attempt to fix out of bounds access in Profiler2..
Jul 6 2017, 3:17 PM

Jul 5 2017

echotangoecho accepted D636: Stop using WMI for detecting the sound card.

Looks fine to me, if those occurences of NULL are changed to nullptr.

Jul 5 2017, 1:34 PM
echotangoecho accepted D680: Fix undefined macro usage in cppformat..
Jul 5 2017, 1:27 PM
echotangoecho added a comment to D680: Fix undefined macro usage in cppformat..

This works well and looks good, maybe we should also disable the -Wimplicit-fallthrough warning? (or add comments for that; unfortunately we don't have [[fallthrough]] until C++17)

Jul 5 2017, 1:27 PM

Jun 23 2017

echotangoecho added a reviewer for D636: Stop using WMI for detecting the sound card: Imarok.

Seems to work well on linux, but can't test on windows atm, as my windows install is currently broken...

Jun 23 2017, 7:15 PM

Jun 4 2017

echotangoecho added a reviewer for D587: Remove VFS cache: echotangoecho.
Jun 4 2017, 10:22 AM

May 18 2017

echotangoecho updated the diff for D492: Cleanup of the FSM and NetMessage code in network..

Address some of lepers concerns and rebase.

May 18 2017, 8:01 PM
echotangoecho added inline comments to D492: Cleanup of the FSM and NetMessage code in network..
May 18 2017, 7:58 PM

May 15 2017

echotangoecho added reviewers for D492: Cleanup of the FSM and NetMessage code in network.: elexis, leper.
May 15 2017, 5:00 PM
echotangoecho added inline comments to D492: Cleanup of the FSM and NetMessage code in network..
May 15 2017, 4:22 PM
echotangoecho accepted D501: Add batch train option hint to intro.txt.

I think we should keep the number for now.

May 15 2017, 12:54 AM
echotangoecho added 1 blocking reviewer(s) for D89: Fix incompatible value for WaterUgly warning on opening the options screen.: vladislavbelov.
May 15 2017, 12:37 AM
echotangoecho added a comment to D501: Add batch train option hint to intro.txt.

would change the text to Add units in batches (the batch size is 5 by default and can be changed in the options)

May 15 2017, 12:23 AM
echotangoecho added a comment to D364: NAT Traversal / STUN UDP Punching.

found some more (minor) style issues.

May 15 2017, 12:20 AM

May 14 2017

echotangoecho accepted D484: Fixed out of bounds.

Encountered the same issue and this fix works.

May 14 2017, 7:40 PM
echotangoecho updated the diff for D492: Cleanup of the FSM and NetMessage code in network..

Cleaned up some left over things and added macros for net message / serializable structure creation.

May 14 2017, 2:34 PM
echotangoecho added a comment to D72: Migrate to premake5.

Would be nice if we could move to VS2015 soon and use the full range of C++11 features, good patch!

We won't support full C++11 only with VS2015, we need to drop old gcc too.

May 14 2017, 12:28 PM
echotangoecho added a comment to D72: Migrate to premake5.

Would be nice if we could move to VS2015 soon and use the full range of C++11 features, good patch!

May 14 2017, 10:52 AM
Sandarac awarded D492: Cleanup of the FSM and NetMessage code in network. a Like token.
May 14 2017, 4:52 AM
echotangoecho added inline comments to D364: NAT Traversal / STUN UDP Punching.
May 14 2017, 1:23 AM
echotangoecho added a comment to D416: Call std::terminate() instead of throwing in a destructor..

Isn't it better to call std::abort() instead of std::terminate()? In the standard it seems that std::terminate() is only discussed in relation to exceptions, and it doesn't seem like it is a function one would call normally.

May 14 2017, 12:59 AM

May 13 2017

echotangoecho created D492: Cleanup of the FSM and NetMessage code in network..
May 13 2017, 10:22 PM

May 12 2017

echotangoecho added a comment to D479: GetSimulationState called with an unused argument.

GetSimulationState indeed doesn't take any arguments, good catch!

May 12 2017, 2:47 PM
echotangoecho accepted D479: GetSimulationState called with an unused argument.
May 12 2017, 2:27 PM
echotangoecho created D481: Fix -Wextra-semi warning triggered by using a semicolon after NONCOPYABLE()..
May 12 2017, 2:19 PM
echotangoecho accepted D455: Disable control-all-units, reveal-map and promotion cheat if cheats are disabled.
May 12 2017, 12:27 AM
echotangoecho accepted D453: Fix autostart MP mode and enable cheats in autostarted games.
May 12 2017, 12:26 AM

May 11 2017

echotangoecho accepted D455: Disable control-all-units, reveal-map and promotion cheat if cheats are disabled.
May 11 2017, 9:50 PM
echotangoecho updated the diff for D472: Avoid NetClient FSM error when pausing while loading the game.
May 11 2017, 5:11 PM
echotangoecho updated the diff for D472: Avoid NetClient FSM error when pausing while loading the game.
May 11 2017, 3:57 PM
echotangoecho updated the diff for D472: Avoid NetClient FSM error when pausing while loading the game.
May 11 2017, 1:25 PM

May 10 2017

echotangoecho accepted D190: Microsecond-precise JS performance measurement.
May 10 2017, 7:34 PM
echotangoecho added a comment to D212: Attempt to fix out of bounds access in Profiler2..

With the suggested piece of code, HoldMessages() is still called when m_HeldDepth == 0 resulting in an out of bounds access...

May 10 2017, 7:09 PM
echotangoecho updated the diff for D472: Avoid NetClient FSM error when pausing while loading the game.

Fix indentation style.

May 10 2017, 6:51 PM
echotangoecho updated the diff for D211: Fix out of bounds access in Hotkey.cpp.
May 10 2017, 5:50 PM
echotangoecho added inline comments to D211: Fix out of bounds access in Hotkey.cpp.
May 10 2017, 5:45 PM
echotangoecho created D472: Avoid NetClient FSM error when pausing while loading the game.
May 10 2017, 5:28 PM

Mar 17 2017

echotangoecho added a reviewer for D190: Microsecond-precise JS performance measurement: echotangoecho.

If we change the function to return a double instead of an i64, this works well.

Mar 17 2017, 6:00 PM

Mar 15 2017

echotangoecho accepted D217: Enable Late-Observers by default.
Mar 15 2017, 1:45 PM
echotangoecho added a comment to D212: Attempt to fix out of bounds access in Profiler2..

The problem is that when the HoldLevel() == 0, in HoldMessages() the index into the m_HoldBuffers[8] (which is HoldLevel() - 1) is out of bounds. But like I said, I don't know how this code is supposed to work so I expected the HoldLevel() < 8 to be a bounds check, is this wrong?

Mar 15 2017, 1:45 PM

Mar 11 2017

echotangoecho updated the diff for D212: Attempt to fix out of bounds access in Profiler2..
Mar 11 2017, 9:10 PM
echotangoecho created D212: Attempt to fix out of bounds access in Profiler2..
Mar 11 2017, 9:08 PM
echotangoecho updated the diff for D211: Fix out of bounds access in Hotkey.cpp.
Mar 11 2017, 8:42 PM
echotangoecho created D211: Fix out of bounds access in Hotkey.cpp.
Mar 11 2017, 8:24 PM

Mar 10 2017

echotangoecho added a comment to D144: Show all summary values as a graph.

There should be a legend for the player colors in the graph.

Mar 10 2017, 11:11 PM
echotangoecho added a comment to D150: Proposal for a replace button for observer in game when player want leave and observer can switch in.

(I don't have time to review this but I will keep watching this)

Mar 10 2017, 11:00 PM
echotangoecho resigned from D150: Proposal for a replace button for observer in game when player want leave and observer can switch in.
Mar 10 2017, 10:56 PM
echotangoecho updated subscribers of D205: Remove 64-bit scriptconversions again..

IRC discussion:

Mar 10 2017, 10:50 PM
echotangoecho updated the diff for D205: Remove 64-bit scriptconversions again..
Mar 10 2017, 10:35 PM
echotangoecho created D205: Remove 64-bit scriptconversions again..
Mar 10 2017, 10:29 PM
echotangoecho added a comment to D167: Fix CChart scaling edgecases.

Well, it seems strange to use some random value for an infinite value, and infinite values should in practice not be displayed on the chart.

Mar 10 2017, 8:47 PM
echotangoecho added a comment to D167: Fix CChart scaling edgecases.

I mean displaying a gap.

Mar 10 2017, 8:28 PM
echotangoecho added a comment to D167: Fix CChart scaling edgecases.

Wouldn't it make more sense for nothing to be displayed in the case of an infinite value?

Mar 10 2017, 5:27 PM
echotangoecho accepted D200: Fix replay menu std::time conversion on 32bit systems following 19200.

Compiles for me.

Mar 10 2017, 5:24 PM