Page MenuHomeWildfire Games
Feed All Stories

Aug 22 2019

autobuild committed rP22749: [Windows] Automated build..
[Windows] Automated build.
Aug 22 2019, 7:26 AM
Freagarach added inline comments to D2182: Support training of groups of units..
Aug 22 2019, 7:07 AM
elexis accepted D2197: Add support for recording replay metadata when in nonvisual mode.

Ah, you copied that hunk directly from JSI_Simulation::GuiInterfaceCall, that's why there is an ENSURE and the name cxSim etc.

Aug 22 2019, 3:54 AM
Vulcan added a comment to D2210: Don't show target markers for observers pretending to send commands.

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

Aug 22 2019, 3:41 AM
elexis updated the summary of D2210: Don't show target markers for observers pretending to send commands.
Aug 22 2019, 3:37 AM
elexis created D2210: Don't show target markers for observers pretending to send commands.
Aug 22 2019, 3:37 AM
vladislavbelov added inline comments to D2207: Adds a function to pick entities with obstructions on screen.
Aug 22 2019, 1:50 AM
vladislavbelov added a comment to D2195: Cleanup Camera and CGameView.

@wraitii any thoughts about updated patch? Is it acceptable?

Aug 22 2019, 1:32 AM
elexis updated the Trac tickets for D2197: Add support for recording replay metadata when in nonvisual mode.
Aug 22 2019, 12:15 AM

Aug 21 2019

wraitii added a comment to D2195: Cleanup Camera and CGameView.

Because you have wasted several hours of my lifetime, telling me that my patch is bad because it changes code without you understanding the point of it

I think I've perfectly understood your patch and I still think it's bad (or rather, not worth committing). I have to guess at this point that you believe this to be so unthinkable that you must assume I've misunderstood your patch to reconcile that with reality somehow?
You still haven't acknowledged this remark:

Aug 21 2019, 11:40 PM
Vulcan added a comment to D2209: Unify 19 copies of IGUIObject::PlaySound and stop copying the according CStrW.

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

Aug 21 2019, 11:27 PM
elexis added inline comments to D2209: Unify 19 copies of IGUIObject::PlaySound and stop copying the according CStrW.
Aug 21 2019, 11:26 PM
wraitii added inline comments to D2209: Unify 19 copies of IGUIObject::PlaySound and stop copying the according CStrW.
Aug 21 2019, 11:22 PM
elexis created D2209: Unify 19 copies of IGUIObject::PlaySound and stop copying the according CStrW.
Aug 21 2019, 11:19 PM
elexis added a comment to D2195: Cleanup Camera and CGameView.
In D2195#91641, @elexis wrote:

@elexis In my opinion yes to mostly all your So this should *. I think it's more clear. But currently I don't see a strong reason to modify the code only for reference <> pointer transformation.

So for T* it's obvious that it can be modified and for T& it is not obvious that it can be modified?

First - I don't understand why you're getting so worked up about this

Because you have wasted several hours of my lifetime, telling me that my patch is bad because it changes code without you understanding the point of it, accusing me of not understanding references, accusing me of being disingenous, making strawmans and proposing to change the coding conventions to use pointers when it can use references.

Aug 21 2019, 11:05 PM
Vulcan added a comment to D2195: Cleanup Camera and CGameView.

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

Aug 21 2019, 10:52 PM
vladislavbelov updated the diff for D2195: Cleanup Camera and CGameView.

Fixes compiler warnings from @Stan.

Aug 21 2019, 10:40 PM
elexis awarded D2197: Add support for recording replay metadata when in nonvisual mode a Like token.
Aug 21 2019, 10:06 PM
vladislavbelov added inline comments to D2127: ScriptInterface CreateObject performance improvement.
Aug 21 2019, 9:55 PM
irishninja updated the diff for D2197: Add support for recording replay metadata when in nonvisual mode.

Updates:

  • Removed duplicate functions for getReplayMetadata to more directly call the fn from the GuiInterface.
    • Updated VisualReplay::SaveReplayMetadata to call GuiInterface directly from the C++. After the code change, I removed the (now unused) ScriptInterface argument from the method signature.
    • Replaced the single invocation of getReplayMetadata with Engine.GuiInterfaceCall("GetReplayMetadata")
  • Added the registration of GetInitAttributes which should have been included in the original diff.
  • Added myself to the credits
Aug 21 2019, 9:55 PM
elexis added inline comments to D2127: ScriptInterface CreateObject performance improvement.
Aug 21 2019, 9:54 PM
vladislavbelov added inline comments to D2127: ScriptInterface CreateObject performance improvement.
Aug 21 2019, 9:50 PM
elexis added inline comments to rP22680: Improve performance of ScriptInterface::CreateObject from rP22528 / D2080 by….
Aug 21 2019, 9:48 PM
elexis added inline comments to D2127: ScriptInterface CreateObject performance improvement.
Aug 21 2019, 9:48 PM
vladislavbelov added inline comments to rP22680: Improve performance of ScriptInterface::CreateObject from rP22528 / D2080 by….
Aug 21 2019, 9:45 PM
irishninja added a comment to D2197: Add support for recording replay metadata when in nonvisual mode.

Thanks for the feedback! I added some responses inline and will be updating the diff (hopefully addressing all the remaining issues)!

Aug 21 2019, 9:45 PM
vladislavbelov added inline comments to D2127: ScriptInterface CreateObject performance improvement.
Aug 21 2019, 9:44 PM
vladislavbelov added a comment to D2196: Fixes values of clip planes in PostProcManager.
In D2196#91706, @elexis wrote:

So the idea is that it should use m_ViewCamera (from rP3405) instead of g_Game->GetView().

Not quite right, m_ViewCamera is the current camera of Renderer (which can be changed during frame rendering, currently for shadow maps), but here we need exact values used for the final frame before postprocessing.

Aug 21 2019, 8:56 PM
Alexandermb committed rP22748: Update outdated icons and last updated cavalry icons to use the new horse assets.
Update outdated icons and last updated cavalry icons to use the new horse assets
Aug 21 2019, 8:03 PM
Alexandermb committed rP22747: Fix seleucid hero horse antiochus_the_great from using "objectcolor" material….
Fix seleucid hero horse antiochus_the_great from using "objectcolor" material…
Aug 21 2019, 7:58 PM
elexis added a comment to D2128: Use CreateObject in EngineScriptConversions.

Did further testing.
Don't believe the tests.
The results of the test above depend on the order of the tests.
If I measure the old function being run 500 times, then the new function being run 500 times, I get the exact opposite result when I measure the new function first and then the old function afterwards.
Even with GC at each start.

Aug 21 2019, 7:15 PM
irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

As @Stan said, there is more discussion on the PR on GitHub. The goal of this contribution is to provide the fundamental underlying capabilities for exploring RL/ML agents in 0 AD (such as an OpenAI gym environment which can actually be implemented on top of this quite easily). I am intentionally not adding any action/observation spaces or reward as expected by OpenAI gym as these are not obvious and there are many different candidates for each of these (this is discussed more on the GitHub thread).

Aug 21 2019, 7:04 PM
Stan added inline comments to D2182: Support training of groups of units..
Aug 21 2019, 6:27 PM
Freagarach updated subscribers of D2182: Support training of groups of units..
Aug 21 2019, 6:13 PM
Freagarach updated the diff for D2182: Support training of groups of units..
  • Moved group data from ProductionQueue.js to Identity.js to remove duplication.
  • Moved the training from seperate group entry to the entities entry.
  • Added Cost to the template so that one can choose its own cost for the group.
Aug 21 2019, 6:13 PM
Alexandermb committed rP22746: Fix warnings mentioned by @Stan.
Fix warnings mentioned by @Stan
Aug 21 2019, 4:18 PM
elexis updated the test plan for D2127: ScriptInterface CreateObject performance improvement.
Aug 21 2019, 4:06 PM
elexis added a comment to D2128: Use CreateObject in EngineScriptConversions.

I performed a new test, and found there is a catch.

Aug 21 2019, 4:04 PM
vladislavbelov added inline comments to rP22744: Use variadic template for RecurseObject from rP31 and move it from GUIutil to….
Aug 21 2019, 3:53 PM
Stan committed rP22745: Fix the last checkrefs.pl warning..
Fix the last checkrefs.pl warning.
Aug 21 2019, 3:48 PM
Stan added a comment to D2033: [art/actors] correct sword prop for three units.

The Falcata were committed in rP22743 I believe.

Aug 21 2019, 3:47 PM
elexis committed rP22744: Use variadic template for RecurseObject from rP31 and move it from GUIutil to….
Use variadic template for RecurseObject from rP31 and move it from GUIutil to…
Aug 21 2019, 3:22 PM
elexis closed D2204: Use variadic template for RecurseObject and move it from GUIutil to IGUIObject.
Aug 21 2019, 3:22 PM
elexis added inline comments to rP141: Major updates.
Aug 21 2019, 3:20 PM
Alexandermb committed rP22743: Fix some warnings and adjust some 1 animation from having sheath throught the….
Fix some warnings and adjust some 1 animation from having sheath throught the…
Aug 21 2019, 3:19 PM
Nescio added a comment to D2208: athen_gymnasion.xml → athen_gymnasium.xml.

Build failure - The Moirai have given mortals hearts that can endure.
Link to build: https://jenkins.wildfiregames.com/job/docker-differential/444/display/redirect

(Spaces in map file names again; see D1042.)

Aug 21 2019, 3:11 PM
Harbormaster failed remote builds in B8988: Diff 9430 for D2208: athen_gymnasion.xml → athen_gymnasium.xml!
Aug 21 2019, 3:10 PM
Vulcan added a comment to D2208: athen_gymnasion.xml → athen_gymnasium.xml.

Build failure - The Moirai have given mortals hearts that can endure.

Aug 21 2019, 3:10 PM
Nescio created D2208: athen_gymnasion.xml → athen_gymnasium.xml.
Aug 21 2019, 3:10 PM
elexis added a comment to D2204: Use variadic template for RecurseObject and move it from GUIutil to IGUIObject.

Notice that the previous code explicitly converted to T& or const T& due to the previous function signatures of RecurseObject, whereas the new code expects references.
This is mostly due to template deduction: Nothing except Args&& compiles, not Args... args, nor Args&... args, nor Args const&... args, and always with the same complaint about not being able to deduce the correct template.

../../../source/gui/IGUIObject.h:249:7: note: candidate template ignored: deduced conflicting types for parameter 'Args' (<SGUIMessage &> vs. <SGUIMessage>)

Aug 21 2019, 2:27 PM
Stan added a comment to D1493: Camera view config options.

@anileapen05 still interested in working on this ?

Aug 21 2019, 2:04 PM
Stan committed rP22742: Fix most of the warnings..
Fix most of the warnings.
Aug 21 2019, 1:46 PM
wraitii added a comment to D1989: Allow accessing prop points in the simulation..
In D1989#91742, @elexis wrote:

That sounds like it might be problematic, because the simulation is supposed to be independent of the graphics data.
So not sure if this is right then.
Are there other precedences where the simulation state is dependent on actors?

I think projectiles start at the first ammo point, which is defined in the actors, not in templates. That seems to make sense to me - so that's a strong precedent that prop-points are part of the simulation.

Aug 21 2019, 1:28 PM
Nescio updated the summary of D2200: fix a wrong class (CitizenSoldier).
Aug 21 2019, 1:11 PM
Vulcan added a comment to D2200: fix a wrong class (CitizenSoldier).

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

Aug 21 2019, 1:09 PM
Nescio updated the diff for D2200: fix a wrong class (CitizenSoldier).
Aug 21 2019, 1:04 PM
vladislavbelov added a comment to rP22741: Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not….

The commit message seems incomplete to me, I don't see any proofs for "so that the 50+ users stop wondering" in the commit message nor the diff description.

Aug 21 2019, 12:54 PM
elexis committed rP22741: Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not….
Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not…
Aug 21 2019, 12:12 PM
elexis closed D2205: Use CGUI& instead of CGUI*.
Aug 21 2019, 12:12 PM
elexis added a comment to D2205: Use CGUI& instead of CGUI*.

rP22587 removed 21 of the if (GetGUI()) checks already, sometimes with a throw, sometimes with ENSURE, most often silent pass, so it is not only manifested in my personal brain.

Aug 21 2019, 12:11 PM
Stan added a comment to D1989: Allow accessing prop points in the simulation..

Oh wait, the use case is for the simulation?
That sounds like it might be problematic, because the simulation is supposed to be independent of the graphics data.
So not sure if this is right then.
Are there other precedences where the simulation state is dependent on actors?
From a quick look it seems that the VisualActor component determines alone what it wants to do with the actor?

Aug 21 2019, 11:56 AM
elexis added a comment to D1989: Allow accessing prop points in the simulation..

you have to manually specify visible garrison prop points, while you could use the ones defined by artists in the mesh.

Oh wait, the use case is for the simulation?
That sounds like it might be problematic, because the simulation is supposed to be independent of the graphics data.
So not sure if this is right then.
Are there other precedences where the simulation state is dependent on actors?
From a quick look it seems that the VisualActor component determines alone what it wants to do with the actor?

Aug 21 2019, 11:39 AM
Stan added inline comments to rP22694: Stop copying color every draw call for every GUI object using colors..
Aug 21 2019, 11:21 AM
vladislavbelov added inline comments to D2207: Adds a function to pick entities with obstructions on screen.
Aug 21 2019, 11:21 AM
elexis added inline comments to rP22694: Stop copying color every draw call for every GUI object using colors..
Aug 21 2019, 11:16 AM
Stan added a comment to D1989: Allow accessing prop points in the simulation..

@Freagarach that's strange, can you try to figure out what was null and shouldn't have been ?

Aug 21 2019, 11:13 AM
Stan added inline comments to D2207: Adds a function to pick entities with obstructions on screen.
Aug 21 2019, 11:09 AM
elexis added a comment to D2207: Adds a function to pick entities with obstructions on screen.

(There is a catch with proposing unused code for review: It can't be tested against the use cases. But code looks ok.)

Aug 21 2019, 10:57 AM
Stan committed rP22740: Animations re-export "Infantry-Siege-Operators-Onager".
Animations re-export "Infantry-Siege-Operators-Onager"
Aug 21 2019, 10:29 AM
Stan added inline comments to D2199: Add RL interface for Reinforcement Learning.
Aug 21 2019, 8:00 AM
autobuild committed rP22739: [Windows] Automated build..
[Windows] Automated build.
Aug 21 2019, 7:28 AM
Vulcan added a comment to D2207: Adds a function to pick entities with obstructions on screen.

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

Aug 21 2019, 2:43 AM
vladislavbelov created D2207: Adds a function to pick entities with obstructions on screen.
Aug 21 2019, 2:30 AM
elexis added a comment to D2196: Fixes values of clip planes in PostProcManager.

Patch looks a lot cleaner already, doesn't it? The committed one as well.

Aug 21 2019, 12:32 AM
Vulcan added a comment to D2206: Put CGUI BaseObject / CGUIDummyObject on the stack.

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

Aug 21 2019, 12:24 AM
Harbormaster failed remote builds in B8981: Diff 9425 for D2196: Fixes values of clip planes in PostProcManager!
Aug 21 2019, 12:14 AM
Vulcan added a comment to D2196: Fixes values of clip planes in PostProcManager.

Build failure - The Moirai have given mortals hearts that can endure.

Aug 21 2019, 12:14 AM
elexis added inline comments to D2206: Put CGUI BaseObject / CGUIDummyObject on the stack.
Aug 21 2019, 12:13 AM
vladislavbelov added inline comments to D2206: Put CGUI BaseObject / CGUIDummyObject on the stack.
Aug 21 2019, 12:07 AM
irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

Thanks for the feedback! I can move it to be behind a feature flag and remove the generated files.

Aug 21 2019, 12:00 AM

Aug 20 2019

elexis added inline comments to D2206: Put CGUI BaseObject / CGUIDummyObject on the stack.
Aug 20 2019, 11:55 PM
vladislavbelov added inline comments to D2206: Put CGUI BaseObject / CGUIDummyObject on the stack.
Aug 20 2019, 11:54 PM
elexis created D2206: Put CGUI BaseObject / CGUIDummyObject on the stack.
Aug 20 2019, 11:45 PM
vladislavbelov retitled D2196: Fixes values of clip planes in PostProcManager from Refactoring of PostProcManager to Fixes values of clip planes in PostProcManager.
Aug 20 2019, 11:38 PM
elexis retitled D2142: Remove JSInterface_IGUIObject duplication from Remove JSInterface_IGUIObject duplication / remove JS_THIS_OBJECT to Remove JSInterface_IGUIObject duplication.
Aug 20 2019, 11:38 PM
vladislavbelov updated the diff for D2196: Fixes values of clip planes in PostProcManager.

Committed cleanups separately in rP22738.

Aug 20 2019, 11:38 PM
Stan added a comment to D2199: Add RL interface for Reinforcement Learning.

Maybe some more insights can be found here https://github.com/0ad/0ad/pull/25

Aug 20 2019, 11:35 PM
vladislavbelov added a comment to D2205: Use CGUI& instead of CGUI*.
In D2205#91665, @elexis wrote:

But I do remember precisely you recommending me to add if-safeguards for other places in the code even after I mentioned that it's always given, and then you even convinced me that it's a good idea to better be safe than sorry when it comes to null-deref.

I suppose nothing was changed. You have to use safeguards if you don't have guarantees of a pointer lifetime.

Aug 20 2019, 11:34 PM
Stan added a comment to D2205: Use CGUI& instead of CGUI*.

Thanks guys for discussing this at length, though it got quite heated in the end. It's important that we keep exchanging even when it seems that no one will ever be right.

Aug 20 2019, 11:32 PM
elexis added a comment to D2199: Add RL interface for Reinforcement Learning.

What about the test results from the patch, and the feasibility of machine learning in 0ad?
The example AI can move an army but not much more? What is it's incentive (how is it training?)?
What is the prospect of the feature?

Aug 20 2019, 11:20 PM
vladislavbelov committed rP22738: Moves and cleanups includes and public/private section of PostprocManager..
Moves and cleanups includes and public/private section of PostprocManager.
Aug 20 2019, 11:15 PM
elexis added inline comments to D2204: Use variadic template for RecurseObject and move it from GUIutil to IGUIObject.
Aug 20 2019, 11:15 PM
elexis added a comment to D2205: Use CGUI& instead of CGUI*.
In D2205#91651, @elexis wrote:

Fix the problem at the root and everything else follows along.

I can't say that the patch solves the problem at the root. It doesn't solve a real problem of GUI existence but it adds a visual confidence that the interface try/should to guarantee that.

The one m_pGUI(pGUI) line per class is not really adding any painful duplication either, it's not replicating and modifying some logic, it's just member initalization.

GetGUI is not really adding any painful duplication as well.

I would say that is quite affordable given that the cost is a quarter line per file and the benefit is not having to worry about null anymore.

I don't remember that someone (except you) whenever had serious worries about that.

Most of the code in source/gui/ has not been touched since 2004, so the sample size is limited.
And gandhi said "Even if you are a minority of one, the truth is the truth."
It doesn't matter whether it's me, you or anyone else, it's pattern, these things are true for everyone alike.
But I do remember precisely you recommending me to add if-safeguards for other places in the code even after I mentioned that it's always given, and then you even convinced me that it's a good idea to better be safe than sorry when it comes to null-deref.
So regardless, if anyone gets a pointer, he is forced to check whether it can be null or not, but by looking for comment stating that,
whereas with a reference it's impossible to even think if it can be dangling unless one questions the validity of the entire stack. At least in this code.
So I'm afraid I can't agree to change to prefer T* over T& if we know it's alwas non-null non-dangling.

Aug 20 2019, 11:13 PM
vladislavbelov committed rP22737: Fixes bug with disabled fog on water. The usage of USE_FOG was introduced in….
Fixes bug with disabled fog on water. The usage of USE_FOG was introduced in…
Aug 20 2019, 11:04 PM
vladislavbelov closed D2198: Fixes bug with disabled fog on water.
Aug 20 2019, 11:03 PM
vladislavbelov added a comment to D2205: Use CGUI& instead of CGUI*.
In D2205#91651, @elexis wrote:

Fix the problem at the root and everything else follows along.

I can't say that the patch solves the problem at the root. It doesn't solve a real problem of GUI existence but it adds a visual confidence that the interface try/should to guarantee that.

Aug 20 2019, 10:57 PM
elexis added a comment to D2197: Add support for recording replay metadata when in nonvisual mode.

The patch is looking like it's going into a healthy direction.

Aug 20 2019, 10:55 PM
wraitii added a comment to D2205: Use CGUI& instead of CGUI*.

I give you
void foo(T* foo)
void foo(T& foo)
Now you tell me, for which of the two functions do you wonder whether you receive a null argument?

Well, only the first, but you actually get no guarantee that foo exists with either. That's all I'm saying.
Indeed, you weren't arguing for that, indeed what you argued was that:

This patch now changes the pointer to a reference, so that it is absolutely clear to everyone that we do not need to check whether the CGUI page exists or not.

And as I've said, this feels like the smallest gain. I don't think it's worth changing so many lines and introducing a member reference (which has the highest likelihood of dangling, among references), over.

Aug 20 2019, 10:44 PM
irishninja updated the diff for D2197: Add support for recording replay metadata when in nonvisual mode.

Changed NULL to nullptr

Aug 20 2019, 10:41 PM
Alexandermb committed rP22736: Fix 1 animationn.
Fix 1 animationn
Aug 20 2019, 10:40 PM