--- Log opened Thu May 11 00:00:24 2017 20170511 00:07:31-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Ping timeout: 272 seconds] 20170511 00:07:55-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20170511 00:21:13< SigurdFD> celticminstrel: https://github.com/wesnoth/wesnoth/issues/1683 20170511 00:23:27-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 240 seconds] 20170511 00:31:14< SigurdFD> celticminstrel: I've went through a few of the oldest gna bugs. I have a list of about 20 I'd recommend closing. How should I present this info & who to? 20170511 00:32:41< SigurdFD> wedge009: ^ I remember seeing you were intrested doing something like this as well recently, correct? 20170511 00:52:42< celticminstrel> SigurdFD: You could post it on the cleanup issue? 20170511 00:52:53< SigurdFD> ok 20170511 01:20:26< celticminstrel> In case it's not clear, I'm referring to issue 1676. 20170511 01:21:23< SigurdFD> it was clear 20170511 01:24:48-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170511 01:29:20< irker504> wesnoth: Charles Dang wesnoth:master dc8aa58b25b0 / src/attack_prediction.cpp: Address feedback https://github.com/wesnoth/wesnoth/commit/dc8aa58b25b086c94c93ddd0e6e44062d63b7158 20170511 01:33:25< mattsc> SigurdFD: I agree on #1035. I am going to go through AI issues and those assigned to me and make suggestions what to do with them (and unassign myself from a couple), but that’s unlikely to happen before the weekend. 20170511 01:34:51< SigurdFD> ok 20170511 01:37:08< celticminstrel> mattsc: FTR I reassigned all crab's issues to you, so I'm not that surprised you need to unassign yourself from some. 20170511 01:38:10-!- gfgtdf_ [~chatzilla@x4e363516.dyn.telefonica.de] has joined #wesnoth-dev 20170511 01:39:32< mattsc> celticminstrel: Yeah, I saw your comment to that effect. No worries, I’ll take care of that soon, I just haven’t gotten around to it yet. Very busy RL week … 20170511 01:41:08-!- gfgtdf [~chatzilla@x4e32b709.dyn.telefonica.de] has quit [Ping timeout: 260 seconds] 20170511 01:41:19-!- gfgtdf_ is now known as gfgtdf 20170511 01:48:11< celticminstrel> I don't remember when I made that comment. 20170511 01:49:03< mattsc> 20170506 00:07:49< celticminstrel> I'm reassigning crab's issues to mattsc so he can evaluate if they're still relevant. 20170511 01:58:57-!- gfgtdf [~chatzilla@x4e363516.dyn.telefonica.de] has quit [Quit: ChatZilla 0.9.93 [Firefox 53.0.2/20170504105526]] 20170511 02:13:40< vultraz_iOS> celticminstrel: this is a problem https://github.com/wesnoth/wesnoth/issues/1684 20170511 02:14:23< celticminstrel> Yes, yes it is. 20170511 02:14:43< celticminstrel> Are you trying to say you think it's my fault? I don't recall doing anything that might affect that, but I suppose I can't be 100% certain. 20170511 02:15:03< vultraz_iOS> not sure 20170511 02:15:09< vultraz_iOS> I mean, the error in den of onis is 20170511 02:15:10< vultraz_iOS> Invalid WML found: [item], [item], [item] not supported at scenario toplevel 20170511 02:15:21< celticminstrel> But you know, I do wonder if we should change the way we hand;e the toplevel tags. 20170511 02:15:36< vultraz_iOS> why is it a comma separated list 20170511 02:15:49< celticminstrel> Probably because it lists all the invalid things and there were three [item]s. 20170511 02:16:06< celticminstrel> Anyway I wonder if we should handle toplevel tags like this: 20170511 02:16:19< celticminstrel> 1. Copy all tags except for [story] and [event] to a new config. 20170511 02:16:27< celticminstrel> 2. Add that config as a prestart event. 20170511 02:16:39< celticminstrel> Oh, I guess also skip schedule tags. 20170511 02:17:01< celticminstrel> Maybe music tags, I think those would have a different effect in prestart. 20170511 02:17:08< celticminstrel> IIRC prestart is after the story screen? 20170511 02:18:04< vultraz_iOS> think so 20170511 02:18:44< celticminstrel> Mind you, with the way most people set up their scenarios, it'd probably work out if you included the music and story tags as a prestart event. 20170511 02:18:44< vultraz_iOS> celticminstrel: indeed, it is your fault 20170511 02:18:48< vultraz_iOS> https://github.com/wesnoth/wesnoth/commit/37f1c490a5ffcc4 20170511 02:19:01< celticminstrel> I'm not sure if doing that as a prestart event would have other undesirable side-effects though. 20170511 02:19:40< celticminstrel> Ah, must be the change to wml-tags.lua? 20170511 02:20:16< celticminstrel> Ah, I get it, it's because that changes the order in which on_load events are registered. 20170511 02:20:42< vultraz_iOS> Please fix an add explanatory comment 20170511 02:21:34-!- Greg-Boggs [~greg_bogg@207.173.24.186] has joined #wesnoth-dev 20170511 02:23:24< vultraz_iOS> celticminstrel: https://github.com/wesnoth/wesnoth/issues/1680 looks like it's caused by WFL in a variable 20170511 02:23:31< vultraz_iOS> {VARIABLE new_var "$($unset_var1+$unset_var2)"}, etc 20170511 02:25:25-!- Greg-Boggs [~greg_bogg@207.173.24.186] has quit [Remote host closed the connection] 20170511 02:26:22-!- Greg-Boggs [~greg_bogg@207.173.24.186] has joined #wesnoth-dev 20170511 02:26:45-!- Greg-Boggs [~greg_bogg@207.173.24.186] has quit [Remote host closed the connection] 20170511 02:26:52< mattsc> celticminstrel, SigurdFD: I explained my take on #1035 in a comment to the issue. 20170511 02:27:44-!- Greg-Boggs [~greg_bogg@207.173.24.186] has joined #wesnoth-dev 20170511 02:27:47-!- Greg-Boggs [~greg_bogg@207.173.24.186] has quit [Remote host closed the connection] 20170511 02:28:21< mattsc> Btw, I don’t think that writing an exploration CA is all that hard. 20170511 02:31:04-!- Greg-Boggs [~greg_bogg@207.173.24.186] has joined #wesnoth-dev 20170511 02:35:06< celticminstrel> DeFender1031: Should automatic redraws be with clear_shroud=yes or clear_shroud=no? The default is no. 20170511 02:35:29< celticminstrel> clear_shroud=yes means that it ensures all units' vision is clear of shroud. 20170511 02:38:50< celticminstrel> vultraz_iOS: That would be a formula error, since it would be attempting to compile the string "+" as a formula. 20170511 02:39:02-!- Greg-Boggs [~greg_bogg@207.173.24.186] has quit [Remote host closed the connection] 20170511 02:39:20-!- Greg-Boggs [~greg_bogg@207.173.24.186] has joined #wesnoth-dev 20170511 02:39:21< vultraz_iOS> oh? 20170511 02:39:21< vultraz_iOS> but + is allowed 20170511 02:39:32< celticminstrel> What? 20170511 02:39:38< celticminstrel> The string "+" is not a valid formula. 20170511 02:39:53< vultraz_iOS> no, but you're allowed to use + to add stuff in formula 20170511 02:39:55< celticminstrel> The string "a+b" is a valid formula, but not just "+". 20170511 02:40:28< celticminstrel> Remember, WML substitutions happen from right to left, and from the names I'm assuming those variables are not defined? 20170511 02:40:58< vultraz_iOS> hm 20170511 02:41:01< vultraz_iOS> i thin you're right? 20170511 02:41:10< celticminstrel> So if they're not defined, then the expansion proceeds thus: "$($unset_var1+$unset_var2)" -> "$($unset_var1+)" -> "$(+)" -> error 20170511 02:41:22< vultraz_iOS> but it's a bug if there's a leak if there's an error 20170511 02:41:28< celticminstrel> Right. 20170511 02:42:19< vultraz_iOS> ugh 20170511 02:42:29< vultraz_iOS> i wish we would revert the command key to ; 20170511 02:44:22-!- Greg-Boggs [~greg_bogg@207.173.24.186] has quit [Ping timeout: 240 seconds] 20170511 02:45:02< vultraz_iOS> celticminstrel: ok it looks like these variables are deliberately wrong 20170511 02:45:12< vultraz_iOS> https://github.com/wesnoth/wesnoth/commit/eb7538a133713a777f0b1e362550fbce67be646b 20170511 02:45:16< vultraz_iOS> and 20170511 02:45:17< vultraz_iOS> https://github.com/wesnoth/wesnoth/commit/8ac8e8496b86cff017848f0553a9aeff44fbe1f7 20170511 02:45:30< vultraz_iOS> console has 20170511 13:41:59 error engine: Formula in WML string cannot be evaluated due to Expected another token... 20170511 02:45:42< vultraz_iOS> so yeah, let's fix the leak 20170511 02:45:46< vultraz_iOS> (again, up to you) 20170511 02:45:51< vultraz_iOS> then I suggest moving this to the unit tests? 20170511 02:46:51< vultraz_iOS> ah, yes 20170511 02:46:53< vultraz_iOS> "If a variable is not yet set but used in some variable operations, it can bring it to a crash with a C++ runtime error. " 20170511 02:46:59< vultraz_iOS> yeah this should be in the unit tests 20170511 02:47:04< vultraz_iOS> but the leak should still be fixed 20170511 02:49:36-!- Greg-Boggs [~greg_bogg@207.173.24.186] has joined #wesnoth-dev 20170511 02:49:36-!- Greg-Boggs [~greg_bogg@207.173.24.186] has quit [Remote host closed the connection] 20170511 02:50:39< celticminstrel> I wonder if that memleak is the cause of my mysterious bad_allocs today. 20170511 02:51:31< vultraz_iOS> hmm 20170511 02:51:37< vultraz_iOS> looking at the code im not sure why there's a leak.. 20170511 02:51:51< celticminstrel> Something's probably not exception-safe. 20170511 02:51:58< vultraz_iOS> all is does it create a local formula object 20170511 02:52:46< vultraz_iOS> ah wait 20170511 02:53:08< vultraz_iOS> I think it's the function_symbol_table leaking 20170511 02:53:24< vultraz_iOS> the formula ctor allocates a new one if the second arg of this particular ctor is null 20170511 02:53:25< vultraz_iOS> which is it 20170511 02:54:07< vultraz_iOS> celticminstrel: should i make it a smart ptr? 20170511 02:54:25< celticminstrel> I'm gonna try using a function-try block. 20170511 02:54:51< vultraz_iOS> ok ill leave it to you 20170511 02:55:23< vultraz_iOS> ah, I see symbols is deleted in the dtor 20170511 02:55:32< vultraz_iOS> is a dtor called if an object is in a try block tho? 20170511 02:55:42< vultraz_iOS> and an exception throws 20170511 02:57:31< celticminstrel> Destructor is not called if the constructor throws. 20170511 02:57:43< vultraz_iOS> then that's the problem 20170511 02:58:00-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20170511 03:02:03-!- Ieuan [~yaiyan@46.101.48.31] has quit [Quit: ZNC - 1.6.0 - http://znc.in] 20170511 03:08:15< celticminstrel> Can anyone else reproduce this? Whenever I start a scenario the game crashes with "out of memory". 20170511 03:09:54< celticminstrel> Or, well, usually. Sometimes it doesn't happen. 20170511 03:14:04< SigurdFD> on what commit? 20170511 03:14:13< SigurdFD> latest? 20170511 03:14:15< celticminstrel> I think so. 20170511 03:18:12< SigurdFD> can't reproduce 20170511 03:20:30< celticminstrel> It occurs during animation setup... but I don't know if it's directly caused by animation setup... 20170511 03:24:43< irker504> wesnoth: Celtic Minstrel wesnoth:master 2eea57b27f9a / data/lua/wml-tags.lua: Fix registration order of on_load events (fixes #1684) https://github.com/wesnoth/wesnoth/commit/2eea57b27f9a9879e241e2dee9998192189fee9d 20170511 03:24:45< irker504> wesnoth: Celtic Minstrel wesnoth:master 8f6a0830ee42 / src/formula/formula.cpp: Address potential memleak during WFL parsing (#1680) https://github.com/wesnoth/wesnoth/commit/8f6a0830ee4222475d81b742f23efa926e986285 20170511 03:27:37< celticminstrel> vultraz_iOS: Whenever you see a new issue, please assign either the bug or enhancement labels (if appropriate; there may be occasional issues that instead merit the question label or no particular label). Also, if appropriate, assign one of the purple labels. 20170511 03:28:16< celticminstrel> vultraz_iOS: Also, were we supposed to assign a milestone to issues that never made it into a released version? 20170511 03:28:30< vultraz_iOS> no 20170511 03:29:55< celticminstrel> I suppose I could've done that with a normal try block, come to think of it... 20170511 03:30:21< vultraz_iOS> what is this magic ctor try syntax? 20170511 03:31:01< celticminstrel> It enables catching exceptions raised in the initializer list, but in this case the problem is an exception in the constructor body, so... 20170511 03:31:15< celticminstrel> Still, it also allows me to avoid adding an extra level of indentation. >_> 20170511 03:31:38< celticminstrel> Actually the syntax works on normal functions to, it's just not really useful there. 20170511 03:31:42< celticminstrel> ^too 20170511 03:32:43< celticminstrel> The only possible thing the initializer-list could throw, I think, would be bad_alloc when initializing the string member. 20170511 03:38:40< irker504> wesnoth: Celtic Minstrel wesnoth:master 61ec2d000898 / src/formula/ (formula.cpp formula.hpp): Minor fixup of 8f6a0830 https://github.com/wesnoth/wesnoth/commit/61ec2d000898d2ca678cffee911bed16aa3bf223 20170511 03:39:24< celticminstrel> Once it builds I can check if the bad_alloc is the result of some of my local changes. 20170511 03:44:33-!- Kwandulin [~Kwandulin@p200300760F6D803DF8799846E8A7373A.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170511 03:45:26< celticminstrel> Also vultraz_iOS, you should remove the "ready for testing" label when closing bugs. 20170511 03:47:33< celticminstrel> The bad_alloc is not caused by my local changes. 20170511 03:47:59< celticminstrel> Which suggests it exists in master. I'll do a full rebuild though just in case something messed up somewhere... 20170511 03:48:45< vultraz_iOS> still might be better to use a smart ptr for the symbols 20170511 03:48:59< vultraz_iOS> celticminstrel: noted 20170511 03:49:27< celticminstrel> vultraz_iOS: A smart pointer may be a possibility, but keep in mind that it doesn't necessarily own the pointer. 20170511 03:49:33< vultraz_iOS> yes 20170511 03:50:15< vultraz_iOS> that is a problem 20170511 03:50:41< celticminstrel> Note that while the formula destructor does not run if its constructor throws an exception, the destructors of any members and base classes do run. 20170511 03:51:11< celticminstrel> (Though if a member in the initializer-list throws an exception, destructors do not run for later members because they weren't constructed yet.) 20170511 03:51:41< celticminstrel> Issue 1666 is kinda amusing. 20170511 03:51:49< vultraz_iOS> looks like in no location is a symbol table passed in 20170511 03:52:03< celticminstrel> Uh, that shouldn't be true. 20170511 03:52:13< vultraz_iOS> ah wait 20170511 03:52:14< celticminstrel> GUI2 and AI should be passing in a symbol table. 20170511 03:52:16< vultraz_iOS> in one locaition 20170511 03:52:24< celticminstrel> Surely more than just one location. 20170511 03:52:28< celticminstrel> At least three? 20170511 03:53:20< vultraz_iOS> celticminstrel: I think 1666 should be closed. 20170511 03:53:26< vultraz_iOS> I feel it should be up the UMC authors to deal with 20170511 03:53:26< celticminstrel> Why? 20170511 03:55:06< vultraz_iOS> well, what would you suggest as a core mechanic 20170511 03:55:11< celticminstrel> Ah, your answer preceded my question... 20170511 03:55:50< celticminstrel> Well, it's doable on an official map though, so if nothing else it should probably be fixed on that map. 20170511 03:58:48< vultraz_iOS> true 20170511 04:03:51< celticminstrel> But I don't know what's the best way to fix it. 20170511 04:05:41< SigurdFD> how about replace the petrify with an always hits 1000-1 lightning attack? 20170511 04:05:49< SigurdFD> :D 20170511 04:07:16< celticminstrel> GitHub is no longer broken on my Mac. Huh. Wonder why. 20170511 04:07:46< vultraz_iOS> celticminstrel: idea for a cleaner fix for the formula symbols thing: boost::optional, store a reference in the class instead of a ptr, and assign it the value passed if applicable, else create a new object 20170511 04:08:01< vultraz_iOS> (though im not sure if you can initialize a reference with a new object.. 20170511 04:08:08< celticminstrel> Hmm. 20170511 04:08:23< celticminstrel> This doesn't sound right somehow. 20170511 04:08:40< celticminstrel> First of all, it's not optional in the class. 20170511 04:08:51< celticminstrel> It's optional only in the argument. 20170511 04:08:57< vultraz_iOS> right 20170511 04:09:08< vultraz_iOS> so it would only be optional in the ctor arguments 20170511 04:09:13< vultraz_iOS> not in the class 20170511 04:10:15< celticminstrel> I think probably the pointer is better in this case; it's an optional reference, not an optional value. 20170511 04:11:35< vultraz_iOS> yeah then i got nothing 20170511 04:11:48< vultraz_iOS> besides making all tables on the stack 20170511 04:12:22< celticminstrel> Oh right, I just remembered. Have you addressed the feedback I gave in commit comments several hours ago? 20170511 04:12:29< vultraz_iOS> in which case a weak_ptr would be acceptable 20170511 04:12:41< vultraz_iOS> celticminstrel: are you talking about your request for the removal of constexpr? 20170511 04:12:51< celticminstrel> That and something else near it. 20170511 04:12:58< celticminstrel> Near it in the commit history. 20170511 04:13:19< celticminstrel> Oh, I see, it was addressed in that "Address feedback" commit earlier. 20170511 04:13:36< celticminstrel> Pretty sure there was a second one too? Let me go look again... 20170511 04:13:51< vultraz_iOS> that was about cout 20170511 04:13:55< celticminstrel> Ah, right. 20170511 04:14:54< celticminstrel> Okay, so the bad_alloc could've been introduced either by your attack prediction refactor or by one of my wall of commits earlier... 20170511 04:15:04< celticminstrel> I guess I need to do a bisect. 20170511 04:15:12-!- JyrkiVesterinen [~JyrkiVest@87-100-140-152.bb.dnainternet.fi] has joined #wesnoth-dev 20170511 04:15:45< vultraz_iOS> i find it slightly funny to be using memset alongside a smart ptr 20170511 04:18:40< celticminstrel> IIRC the C++ equivalent is std::uninitialized_fill 20170511 04:21:22< vultraz_iOS> i see 20170511 04:47:11< celticminstrel> http://webchick.net/comment/1608#comment-1608 20170511 04:55:14-!- Kwandulin [~Kwandulin@p200300760F6D803DF8799846E8A7373A.dip0.t-ipconnect.de] has quit [Quit: [endlevel] result=novictorynodefeatjustquit [/endlevel]] 20170511 04:55:23< celticminstrel> ...heh 20170511 05:00:01< wedge009> SigurdFD: I generally only look at the ones marked bug. But I did see the ones you highlighted and looks like celmin has reasons to keep most of them. 20170511 05:00:44< SigurdFD> ok. I think that's what I'm going to do as well. 20170511 05:09:19-!- SigurdFD [~SigurdFD@dynamic-acs-72-23-110-196.zoominternet.net] has quit [] 20170511 05:11:30< celticminstrel> ? 20170511 05:19:59< celticminstrel> I think the bad_alloc is caused by vultraz_iOS deploying emplace_back everywhere. 20170511 05:20:07< celticminstrel> Though no idea why that would do it. 20170511 05:20:09< vultraz_iOS> oh? 20170511 05:20:32< celticminstrel> Assuming the bisect confirms it, I'm guessing it's the changes to animated.tpp. 20170511 05:23:21< vultraz_iOS> where the hell is frames_ declared... 20170511 05:23:37< vultraz_iOS> ah 20170511 05:23:38< vultraz_iOS> here 20170511 05:24:00< vultraz_iOS> does reverting the change to animated.tpp 20170511 05:24:04< vultraz_iOS> fix the alloc? 20170511 05:24:17< celticminstrel> Testing. 20170511 05:24:36< celticminstrel> I reverted the entire commit for now. If that's good, I'll un-revert the animated.tpp part. 20170511 05:29:33< celticminstrel> And if that's bad, then I know that's the cause. Otherwise I'll un-revert other bits one at a time. 20170511 05:34:03-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Ping timeout: 245 seconds] 20170511 05:35:23-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20170511 05:43:16< celticminstrel> vultraz_iOS: It's definitely the changes in animated.tpp. 20170511 05:43:43< vultraz_iOS> But why 20170511 05:43:57< vultraz_iOS> It's a vector of frames 20170511 05:44:16< celticminstrel> I don't know. 20170511 05:44:18< vultraz_iOS> There's nothing in my change that should have broken something 20170511 05:44:27< celticminstrel> I'm going to try to look into it more. 20170511 05:48:50-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 05:53:22< vultraz_iOS> perhaps it's this? frames_.emplace_back(duration,value,frames_.back().start_time_+frames_.back().duration_); 20170511 05:53:28-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 260 seconds] 20170511 05:53:38< celticminstrel> Hm? 20170511 05:53:50< vultraz_iOS> ie, accessing back while constructing? 20170511 05:53:58< celticminstrel> Hmm. 20170511 05:54:23< celticminstrel> The access to bac() should complete before emplace_back() is called, thus before construction. 20170511 05:54:27< celticminstrel> ^back() 20170511 05:58:39< vultraz_iOS> might be worth testing though 20170511 06:03:57-!- JyrkiVesterinen [~JyrkiVest@87-100-140-152.bb.dnainternet.fi] has quit [Quit: .] 20170511 06:18:36< celticminstrel> Not sure if it's consistent, but current crash was while initializing the selected animation... 20170511 06:25:46-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has quit [Quit: Disconnecting from stoned server.] 20170511 06:26:01-!- Ivanovic [~ivanovic@p4FC534A6.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170511 06:26:54< celticminstrel> Seems like it's consistent. 20170511 06:37:50< celticminstrel> It seems that the frame parameters somehow get corrupted between the call to emplace_back and the call to the frame constructor. 20170511 06:39:11< vultraz_iOS> ref decay? 20170511 06:42:28-!- JyrkiVesterinen [~JyrkiVest@85-76-66-132-nat.elisa-mobile.fi] has joined #wesnoth-dev 20170511 06:43:07< celticminstrel> If it's ref decay that would seem like a bug in vector::emplace_back. 20170511 06:43:24< celticminstrel> Hmm. 20170511 06:44:02< celticminstrel> I'll try wrapping it in std::ref. 20170511 06:48:06< vultraz_iOS> though it's const so i dunno how it would decay 20170511 06:48:13-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 06:48:32< celticminstrel> So apparently about 60% of the issues are feature requests. 20170511 06:49:42< vultraz_iOS> yes 20170511 06:49:55< vultraz_iOS> most ancient entries are FRs 20170511 06:51:16< celticminstrel> Looks like std::ref does not fix it. 20170511 06:52:16< JyrkiVesterinen> Hmm... the difference with emplace_back is that it passes the parameters with std::forward. 20170511 06:52:17-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 240 seconds] 20170511 06:53:05< JyrkiVesterinen> Although I can't see how it could cause issues. Even though some parameters are passed with an rvalue reference, they should remain valid until emplace_back() returns. 20170511 06:54:07< celticminstrel> In this case the passed value is declared as "const T& value". 20170511 06:54:23< celticminstrel> Both in the caller and in the constructor being called. 20170511 06:54:36< JyrkiVesterinen> A const lvalue reference can bind to both lvalues and rvalues, which may be relevant. 20170511 06:57:43< celticminstrel> The call chain starts at animation.cpp:907, passing the result of get_last_frame() which is again "const T&" and is a reference to the last element of a vector stored in the superclass.. 20170511 06:58:26< celticminstrel> So basically the value is not an rvalue at any point. 20170511 06:58:40< JyrkiVesterinen> It is. 20170511 06:58:59< JyrkiVesterinen> Because you don't store the result of get_last_frame() in a variable, it's an rvalue. 20170511 06:59:11< celticminstrel> Even though it's const T&? 20170511 06:59:14< JyrkiVesterinen> And the difference is that now it's perfectly forwarded. 20170511 06:59:26< JyrkiVesterinen> Yes. As I said, const T& can bind to rvalues as well. 20170511 06:59:58< JyrkiVesterinen> If you store the last frame in a variable and pass that, I believe it would fix the issue. 20170511 07:00:03< JyrkiVesterinen> Although I don't know why. 20170511 07:00:04< celticminstrel> Well, I'll try it. 20170511 07:00:53< vultraz_iOS> "I don't know why" - every programmer ever 20170511 07:01:16-!- atarocch [~atarocch@natmobil.fk.se] has joined #wesnoth-dev 20170511 07:01:51< JyrkiVesterinen> Okay, I got it. 20170511 07:02:08< JyrkiVesterinen> get_last_frame() returns a reference to the last frame *within the same vector*. 20170511 07:02:34< JyrkiVesterinen> When the vector allocates more space to store the new frame, it invalidates the reference and causes it to point to garbage. 20170511 07:02:51< JyrkiVesterinen> That's why the value is corrupted inside emplace_back(). 20170511 07:03:08< celticminstrel> Oh, and that occurs before the value is constructed. 20170511 07:04:24< vultraz_iOS> (isn't that what i pointed to earlier?) 20170511 07:04:33< celticminstrel> A bit different. 20170511 07:04:44< celticminstrel> Related, maybe. 20170511 07:05:03< vultraz_iOS> also, what the heck is this T_void_value thing... 20170511 07:05:33< celticminstrel> It's probably not really needed; the template could reference void_value instead wherever it's used. 20170511 07:05:41< celticminstrel> Or declare it as a using inside the class. 20170511 07:05:49< celticminstrel> Unless of course there's a place somewhere that overrides it. 20170511 07:06:19< vultraz_iOS> it appears to literally just be a thing to provide a function to return T() 20170511 07:06:22< vultraz_iOS> what the hell 20170511 07:06:59< vultraz_iOS> template > 20170511 07:07:06< vultraz_iOS> and it doesn't even have a different type 20170511 07:07:07< vultraz_iOS> it 20170511 07:07:12< celticminstrel> Well, that's assuming it's never specialized. 20170511 07:07:16< vultraz_iOS> s literally just T(); 20170511 07:07:17-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20170511 07:07:18< vultraz_iOS> I don't get it 20170511 07:08:23< vultraz_iOS> oh, I guess it's kinda like.. 20170511 07:08:43< vultraz_iOS> an "optional" template? 20170511 07:09:05< vultraz_iOS> you get T() if you don't specialize anything but you can otherwise specify something 20170511 07:09:18< vultraz_iOS> and you can't really do typename T2 = T() 20170511 07:14:13< matthiaskrgr> was there anything else I had to comment on? :) 20170511 07:18:34< vultraz_iOS> celticminstrel: will we be doing all those min compiler bumps after 1.14? 20170511 07:21:25< celticminstrel> Well, if we do the min compiler bumps I might disappear for awhile until I can be bothered to upgrade MSVC... 20170511 07:21:27< celticminstrel> <_< 20170511 07:22:25< vultraz_iOS> It had just occurred to me, why are we so worried about the default compiler versions that ship with linux distros. 20170511 07:22:37< vultraz_iOS> ie, we say "oh, debian stable has 4.8, that must be our minimum" 20170511 07:22:43< vultraz_iOS> we're talking about linux users 20170511 07:22:57< vultraz_iOS> what are the odds if they can install gcc they cannot install a newer gcc 20170511 07:22:59< vultraz_iOS> manually 20170511 07:25:30< vultraz_iOS> that is, more simply, how complicated would it be for, say, a debian user to install, say, gcc 6 even if the default manager gives 4.8 or 5 or something. 20170511 07:25:37< JyrkiVesterinen> The main reason is ABI incompatibility between the game and the libraries. 20170511 07:26:09< JyrkiVesterinen> GCC 5 or above can't be used is a distro that uses GCC 4 by default. 20170511 07:26:19< JyrkiVesterinen> The binaries it would produce outright wouldn't run. 20170511 07:26:57< vultraz_iOS> I see. 20170511 07:27:35< vultraz_iOS> is that likewise the case for > 5 if the distro has 5 by default? 20170511 07:29:55< JyrkiVesterinen> No, the ABI hasn't changed after GCC 5. 20170511 07:30:41< JyrkiVesterinen> I think there may still be problems with libraries which are closely tied to GCC, such as libstdc++. 20170511 07:31:26< JyrkiVesterinen> The libraries in the distro (say, Pango) use the system's version of those libraries, but the game might require a newer version when compiled with newer GCC. 20170511 07:31:50< JyrkiVesterinen> I don't know how big a problem it's in practice. 20170511 07:31:58< vultraz_iOS> so as long as the ABIs are compatible, we should likely not be bound by the distro minimum, but that isn't certain. 20170511 07:33:38< celticminstrel> JyrkiVesterinen: Any recommendations on how to ensure this gets deleted if the constructor throws? https://github.com/wesnoth/wesnoth/blob/2eea57b27f9a9879e241e2dee9998192189fee9d/src/formula/formula.cpp#L75 20170511 07:34:00< celticminstrel> Other than wrapping the entire constructor in a try-catch. 20170511 07:35:57< JyrkiVesterinen> Well, another possibility would be to store the symbols in a unique_ptr. 20170511 07:36:40< celticminstrel> And if symbols were passed in? 20170511 07:36:48< JyrkiVesterinen> The formula class could have *both* function_symbol_table* symbols_ and std::unique_ptr managed_symbols_. 20170511 07:36:58< celticminstrel> Oh. 20170511 07:37:09< JyrkiVesterinen> If symbols were passed in, just keep managed_symbols_ as an empty unique_ptr. 20170511 07:37:39< vultraz_iOS> another solution: static symbol table 20170511 07:38:06< celticminstrel> That would mean that functions that you define persist indefinitely. 20170511 07:38:18< celticminstrel> Which I think might be a little surprising? 20170511 07:38:47< celticminstrel> Because they won't be accessible in contexts where a symbol table is explicitly passed in. 20170511 07:40:40< vultraz_iOS> oh 20170511 07:45:23< celticminstrel> I can't use a unique_ptr in the formula class because that requires mutually dependent includes. 20170511 07:45:44< celticminstrel> (Since I can't create a unique_ptr to an incomplete type, for some reason.) 20170511 07:48:39< vultraz_iOS> uh... 20170511 07:49:12< vultraz_iOS> "std::unique_ptr may be constructed for an incomplete type T" 20170511 07:49:25< celticminstrel> MSVC 2013. 20170511 07:49:41< vultraz_iOS> a million curses upon it 20170511 07:49:51< celticminstrel> Though IIRC XCode 4 (based on clang 3.2) also didn't allow it. 20170511 07:53:08< vultraz_iOS> i cannot understand how microsoft screwed up msvc2013 so badly. 20170511 07:53:41< vultraz_iOS> it' not like they had only just heard of c++11. 20170511 07:53:56< vultraz_iOS> and it's not as if they simply left features out 20170511 07:54:05< JyrkiVesterinen> Because rhey were badly behind in C++ support, and because their C++ compiler codebase is very old. 20170511 07:54:20< vultraz_iOS> they added features and left half of their implementation out! 20170511 07:54:28< JyrkiVesterinen> In short, they were in a hurry to implement as many features as possible, and some of them ended up incomplete. 20170511 07:56:00< JyrkiVesterinen> https://blogs.msdn.microsoft.com/vcblog/2015/09/25/rejuvenating-the-microsoft-cc-compiler/ 20170511 08:14:36< irker504> wesnoth: Celtic Minstrel wesnoth:master 431b4225b644 / src/animated.tpp: Partial revert of e41a415588 to fix potential bad_alloc / memory corruption https://github.com/wesnoth/wesnoth/commit/431b4225b6442749a3ec9f101c9b70d6bab95da0 20170511 08:14:38< irker504> wesnoth: Celtic Minstrel wesnoth:master 33792a3b1e73 / src/formula/ (formula.cpp formula.hpp): Revert "Address potential memleak during WFL parsing (#1680)" https://github.com/wesnoth/wesnoth/commit/33792a3b1e7346bff7806505ebcfad8674305049 20170511 08:14:41< irker504> wesnoth: Celtic Minstrel wesnoth:master 7b13d6ca3350 / src/formula/ (formula.cpp formula.hpp): Fix memleak during WFL parsing (fixes #1680, fixes #1685) https://github.com/wesnoth/wesnoth/commit/7b13d6ca335037154177dd3ba957a8975eac8baf 20170511 08:14:42< irker504> wesnoth: Celtic Minstrel wesnoth:master 6efc5ae0909e / data/ (40 files in 5 dirs): Replace helper.distance_between -> wesnoth.map.distance_between (fixes #1686) https://github.com/wesnoth/wesnoth/commit/6efc5ae0909e3c9be514e37104aa5b36d33c6e4c 20170511 08:15:33-!- celticminstrel is now known as celmin|sleep 20170511 08:36:40-!- wedge009 [~Thunderbi@60.241.236.92] has quit [Ping timeout: 240 seconds] 20170511 08:38:08-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20170511 08:44:56-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Quit: wedge009] 20170511 09:09:08-!- JyrkiVesterinen [~JyrkiVest@85-76-66-132-nat.elisa-mobile.fi] has quit [Quit: .] 20170511 09:26:37-!- cioran89 [~cioran89@p5DDF31AE.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170511 09:38:56-!- JyrkiVesterinen [~JyrkiVest@85-76-66-132-nat.elisa-mobile.fi] has joined #wesnoth-dev 20170511 09:40:02-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20170511 10:06:32-!- Kwandulin [~Kwandulin@p200300760F6D803DF8799846E8A7373A.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170511 10:09:28< DeFender1031> celmin|sleep, I would think "no" makes sense. (Actually, I'd think that there ought to be a separate WML command for "reset the shroud and fog" without also performing a redraw, but I don't know what the code internals look like.) 20170511 10:40:50< irker504> wesnoth: Charles Dang wesnoth:master 69d4b93bef2b / src/ (animated.hpp animated.tpp): Cleaned up animated.tpp/.hpp formatting https://github.com/wesnoth/wesnoth/commit/69d4b93bef2b6c7c973afbe5cac905fc0d3894b3 20170511 10:40:53< irker504> wesnoth: Charles Dang wesnoth:master affe624682ac / src/animated.tpp: Removed some superfluous includes https://github.com/wesnoth/wesnoth/commit/affe624682acb2d5368a7df6c61c4f7d1a2cd1a6 20170511 10:40:56< irker504> wesnoth: Charles Dang wesnoth:master ad4f6b122d33 / / (4 files in 3 dirs): Rename animated_game.cpp -> animated.cpp https://github.com/wesnoth/wesnoth/commit/ad4f6b122d339eb40f6d16477f18fb6db2358973 20170511 10:40:59< irker504> wesnoth: Charles Dang wesnoth:master 1ea8720e9bb9 / src/animated.cpp: Removed unnecessary forced compilation of animated template specializations https://github.com/wesnoth/wesnoth/commit/1ea8720e9bb993cf36666bea95172d687fa53fc3 20170511 10:41:02< irker504> wesnoth: Charles Dang wesnoth:master 6baf1321579c / src/animated.tpp: Animated: range-for https://github.com/wesnoth/wesnoth/commit/6baf1321579c604b4b90a8328b63a2fc794a18cb 20170511 10:41:05< irker504> wesnoth: Charles Dang wesnoth:master 550ca35b683a / src/game_display.hpp: Removed unused animated.hpp include https://github.com/wesnoth/wesnoth/commit/550ca35b683ab1fc1c4525ba73c7701edc573538 20170511 10:41:08< irker504> wesnoth: Charles Dang wesnoth:master 612fe2dcefcc / src/ (ai/default/ca.cpp generators/default_map_generator_job.cpp soundsource.cpp): Include SDL_timer.h directly when possible https://github.com/wesnoth/wesnoth/commit/612fe2dcefccc08869efe3a4bb8281a2749be150 20170511 10:41:22-!- yaiyan [~yaiyan@46.101.48.31] has joined #wesnoth-dev 20170511 10:42:34-!- yaiyan is now known as Ieuan 20170511 10:53:12-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170511 10:58:08< irker504> wesnoth: ln-zookeeper wesnoth:master 70080f789b05 / changelog players_changelog: Updated changelogs https://github.com/wesnoth/wesnoth/commit/70080f789b05690c1f92acc3626906d1e76b036a 20170511 11:16:20-!- Kwandulin [~Kwandulin@p200300760F6D803DF8799846E8A7373A.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170511 11:31:37-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170511 11:31:49-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170511 11:52:22-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has quit [] 20170511 11:52:36-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has joined #wesnoth-dev 20170511 12:00:56< zookeeper> c1xx : fatal error C1083: Cannot open source file: '..\..\src\animated_game.cpp': No such file or directory 20170511 12:01:57< JyrkiVesterinen> Right. The Visual Studio project needs an update. :/ 20170511 12:02:51< zookeeper> oh right, just needed to remove that file from the... thingy 20170511 12:11:17< zookeeper> urgh, a bunch of LNK2001's too... 20170511 12:13:56< zookeeper> ah, needed a rename instead of a remove 20170511 12:13:58< vultraz_iOS> LNK 2001: A Compiler Odyssey 20170511 12:14:06< zookeeper> easily fixed 20170511 12:14:31< zookeeper> if you rename source files then should be easy enough to apply that to all project files 20170511 12:15:20< vultraz_iOS> xcode and vs have more metadata than just filename 20170511 12:15:35< vultraz_iOS> so probably better to let the apps themselves handle it 20170511 12:15:48< irker504> wesnoth: ln-zookeeper wesnoth:master 6a0aa3bdc9be / projectfiles/VC12/ (wesnoth.vcxproj wesnoth.vcxproj.filters): Project file fix to account for ad4f6b122 https://github.com/wesnoth/wesnoth/commit/6a0aa3bdc9be28573e7f5cbdfe7ddc625722e3d1 20170511 12:15:57< zookeeper> oh? well, i just hand-fixed that and it seems to work 20170511 12:16:06< vultraz_iOS> oh? 20170511 12:16:18< zookeeper> dunno what metadata you think there is 20170511 12:16:46< JyrkiVesterinen> I recall that most files have the .obj file output directory explicitly set. 20170511 12:17:00< JyrkiVesterinen> And it's set separately for all six project configurations. 20170511 12:17:09< JyrkiVesterinen> Apparently animated.cpp is an exception. 20170511 12:17:42< zookeeper> well even if there was, i don't see how you could miss it 20170511 12:18:35< vultraz_iOS> well xcode has stuff like "fileRef = B5599AB50EC62181008DD061" 20170511 12:18:44< vultraz_iOS> guess i was mistaken about vs 20170511 12:19:18< zookeeper> O.o terrible 20170511 13:06:37-!- nurupo [~nurupo.ga@unaffiliated/nurupo] has quit [Ping timeout: 240 seconds] 20170511 13:09:15-!- nurupo [~nurupo.ga@unaffiliated/nurupo] has joined #wesnoth-dev 20170511 13:09:31-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20170511 13:27:49< celmin|sleep> For renaming or deleting files, it should be possible to update XCode manually, I think. 20170511 13:28:12< celmin|sleep> For adding files though, I don't know how you'd do it manually. 20170511 13:29:59< celmin|sleep> "oddly"? 20170511 13:30:27< celmin|sleep> Seems to me like it should be obvious that not instantiating the entire template would reduce executable size by some quantity. 20170511 13:33:43-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20170511 13:35:35-!- celmin|sleep is now known as celticminstrel 20170511 13:51:37< mattsc> celticminstrel: TBH, I don’t remember enough about it to answer the question on ai.synced_command vs wesnoth.synchronize_choise 20170511 13:52:00< mattsc> I’d have to look into it and probably run some test cases 20170511 13:52:35< celticminstrel> They definitely have a different interface (ai.synced_command takes a string containing Lua code, wesnoth.synchronize_choice takes a function). 20170511 13:53:06< celticminstrel> I'm not sure if the latter can in fact replace the former. 20170511 13:53:32< mattsc> Yeah, same here. 20170511 13:53:45< celticminstrel> ai.synced_command corresponds to a synced command, which means you can use it in [do_command]. 20170511 13:53:57< celticminstrel> Specifically, IIRC it's [do_command][lua_ai]. 20170511 13:54:40< celticminstrel> That might be what gfgtdf was talking about when he said it allows cheating. 20170511 13:57:25< mattsc> I’ll see if I can get an AI test case working with the latter. Can’t promise that that will happen today though. 20170511 13:58:12< mattsc> It’s one of those things that should be easy, and I’ll probably get hung up on some minor detail … 20170511 13:59:21< mattsc> The boats in SotBE:Black Flag come to mind. It’s immediately obvious whether that’s working or not. 20170511 14:00:08< mattsc> Well, the unloading of units from the boats, not the boats themselves. 20170511 14:04:11< celticminstrel> So the rabbits too maybe? 20170511 14:06:22< mattsc> Yeah; I always find the rabbits hard to deal with for some reason. Probably just because there’s so many different things going on in that scenario. 20170511 14:07:13< mattsc> But it’s easy to disable most of it and it’s probably good to have more than one test case. 20170511 14:17:24< DeFender1031> Rabbits? 20170511 14:19:09< mattsc> Rabbits are little fuzzy rodents. Very cute, but with a nasty bite. 20170511 14:22:32< mattsc> There’s a rabbit Micro AI and rabbits in the anmials test scenario. It uses ai.synced_command, so would make a test case for what was discussed above. 20170511 14:25:22< celticminstrel> If you want to test it on master you can launch it from the titlescreen. 20170511 14:25:41< celticminstrel> By assigning something to the "Start Test Scenario" hotkey. 20170511 14:25:54< DeFender1031> There are rabbits in wesnoth? 20170511 14:26:14< celticminstrel> IIRC there are some in AtS... or maybe it was IftU. 20170511 14:26:34< mattsc> In UMC yes; in the animals test scenario the rabbits are actually rats 20170511 14:26:36< zookeeper> i think they might have originated in the holiday campaign at the dawn of time 20170511 14:28:03< celticminstrel> Someone recently redrew the sprite though. 20170511 14:28:08< zookeeper> or, to be precise, "Holidays in Wesnoth" 20170511 14:28:29< mattsc> (I just remembered that with the rats; when that AI was still just in my add-on, they were actually rabbits, but then I turned them into rats when the Micro AIs were put into mainline) 20170511 14:28:52< zookeeper> i am lucky enough to hold an archive of all 1.0 server add-ons, dunno if they're actually accessible from anywhere anymore 20170511 14:29:09< mattsc> That’s also why there are footpads herding trolls in that scenario ;) 20170511 14:29:49< mattsc> yeah, there’s a new sprite that actually looks like a rabbit now, rather than like a comic book character 20170511 14:34:17< Soliton> zookeeper: http://files.wesnoth.org/addons/1.0 if it'd allow access. 20170511 14:34:53< zookeeper> right 20170511 14:34:54< Soliton> not sure why it doesn't. 20170511 14:35:12< vultraz_iOS> wouldn't you be the one to know that :P 20170511 14:35:31< zookeeper> maybe it's so that no one can look at 1.0-era northern rebirth 20170511 14:35:46< Soliton> i don't think i've restricted access there. 20170511 14:36:06-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: mattsc] 20170511 14:39:09< zookeeper> vultraz_iOS, btw, you said drawing story screen text one character at a time would be too slow. does it depress you if i tell you that that's exactly how it worked all the way back in 1.0 and it wasn't even slow at all? :> 20170511 14:39:40< vultraz_iOS> :| 20170511 14:39:57< vultraz_iOS> yeah well we no longer have the capability to do that 20170511 14:40:20< zookeeper> regression! 20170511 14:41:03< vultraz_iOS> progress! 20170511 14:41:53< zookeeper> i'm playing 1.0.3 the dark hordes, and wow this is great. let's revert everything. 20170511 14:42:51< zookeeper> ...i think the worst part might be the sounds. these are just awful. 20170511 14:42:53< celticminstrel> vultraz_iOS: Well, I dunno, we could probably do something like it? 20170511 14:43:22< celticminstrel> Something like... 20170511 14:43:59< celticminstrel> text = "(substring(text, 0, animation_step))" 20170511 14:44:28< celticminstrel> Or if you want to go by words... 20170511 14:44:51< celticminstrel> text = "(text.word[0 ~ animation_step])" 20170511 14:49:04-!- sevu [~Shiki@p5485649F.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170511 14:49:54-!- JyrkiVesterinen [~JyrkiVest@85-76-66-132-nat.elisa-mobile.fi] has quit [Quit: .] 20170511 14:58:47< vultraz_iOS> is it impossible to create a template alias around enable_if.. 20170511 14:58:48-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20170511 14:59:08-!- Kwandulin [~Kwandulin@p200300760F6D80A7B95F8C0FC9A5E210.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170511 14:59:45< celticminstrel> Why would it be impossible? 20170511 15:00:14-!- gfgtdf [~chatzilla@x4e363516.dyn.telefonica.de] has joined #wesnoth-dev 20170511 15:00:17 * celticminstrel considers adding "trait" or "traits" to SUF but can't decide whether a comma-separated list should mean "has one of these traits" or "has all of these traits"/ 20170511 15:00:34< gfgtdf> wedge009: did you see my latest comment on #1567 ? 20170511 15:01:29< gfgtdf> celticminstrel: i'd expect one of these names, at lest that same default beahviour for [filter]attr=value (although in tose cases it's not possible to have multiple values in the unit) 20170511 15:02:03< celticminstrel> ??? 20170511 15:02:26< gfgtdf> s/one of these names/one of these traits 20170511 15:02:45< vultraz_iOS> it's this "error: no type named 'type' in 'struct std::enable_if'" stuff 20170511 15:03:48< vultraz_iOS> basically it seems like any case where enable_if is false, you can't have it separate from the function since type would be invalid 20170511 15:03:49< gfgtdf> vultraz_iOS: well that exactly the point of enable_this: to fail comiling if the first parmeter is fase 20170511 15:04:05< gfgtdf> enagle_if* 20170511 15:04:10< vultraz_iOS> right 20170511 15:04:10< gfgtdf> enable_if* 20170511 15:04:22< vultraz_iOS> but it means you can't delegate it to a template alias 20170511 15:04:44< gfgtdf> vultraz_iOS: is this error in current master code? 20170511 15:04:55< vultraz_iOS> no 20170511 15:06:28< zookeeper> celticminstrel, "has one" is how other filters which accept a list work, so i guess that'd be the more intuitive and consistent choice. 20170511 15:07:32< gfgtdf> vultraz_iOS: wht do you mean by delegate it to a template alias 20170511 15:07:50< zookeeper> celticminstrel, and thus i think the key should be called "trait" 20170511 15:08:25< vultraz_iOS> gfgtdf: template using wrapper = typename std::enable_if::type; wrapper func(); 20170511 15:08:28< vultraz_iOS> for example 20170511 15:12:05-!- mkdroid [~null@unaffiliated/matthiaskrgr] has joined #wesnoth-dev 20170511 15:14:19< sevu> zookeeper, I'd like to grep the addon-icons in the add-on manager 20170511 15:14:36< sevu> more specifically, the IPFs used there 20170511 15:14:43< sevu> do you know how to do that? 20170511 15:15:12< zookeeper> you mean like, you want to know every add-on icon path that uses IPF's? 20170511 15:15:19< vultraz_iOS> probably wasting my time here, since i need constexpr 20170511 15:15:22< sevu> yes 20170511 15:15:23< zookeeper> 1.12 or 1.13? 20170511 15:15:24< gfgtdf> vultraz_iOS: hmm what is maybe you coud gibve a littel more code fo your example 20170511 15:15:28< sevu> 1.12 20170511 15:15:34< sevu> or both 20170511 15:15:56< zookeeper> ok, well, that's going to be a lot of matches, let's see... 20170511 15:17:11< DeFender1031> can't you just grep for the icon ine containing ~? 20170511 15:17:16< DeFender1031> line* 20170511 15:17:32-!- irker504 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20170511 15:17:35< zookeeper> uh... that's what i'm trying to figure out how to do 20170511 15:17:51< zookeeper> what else? 20170511 15:18:49< zookeeper> no luck, i don't actually know where the icon data is stored. i only have access to the actual downloaded data. 20170511 15:19:10< zookeeper> maybe Soliton has an idea, or maybe not 20170511 15:19:28< DeFender1031> ah, that's what you meant. 20170511 15:19:37< DeFender1031> yeah... where IS that information stored anyway? 20170511 15:22:14< zookeeper> i was hoping maybe _info.cfg has the icon, but it doesn't. so it's stored somewhere else server-side. 20170511 15:23:02< Soliton> what are we looking for? 20170511 15:23:29< zookeeper> the add-on icons as specified by the pbl file 20170511 15:24:19< zookeeper> i mean, the icon path strings 20170511 15:25:12< Soliton> 'icon.*~' right? 20170511 15:25:27< Soliton> icon path with ipf. 20170511 15:25:53< zookeeper> yeah 20170511 15:25:59< zookeeper> or icon.*~( 20170511 15:26:51< zookeeper> (but of course the actual add-on content shouldn't be included in the search, you'll get a lot of garbage in the output otherwise) 20170511 15:27:28< Soliton> the icon path is just in the server.cfg 20170511 15:27:46< Soliton> ~( is not right there is the ipf name inbetween. 20170511 15:27:49< zookeeper> right, okay 20170511 15:27:53< zookeeper> oh, duh! yeah :> 20170511 15:27:58 * zookeeper slaps himself 20170511 15:28:14< Ravana_> I presume if you remove your local images, you will get list of every image path used logged to stderr 20170511 15:29:09< zookeeper> Ravana_, sounds like a tall order to get to the add-on manager without the game being able to find any images 20170511 15:29:18< Soliton> http://files.wesnoth.org/addons_1.13_icons_with_ipf 20170511 15:29:27-!- mkdroid [~null@unaffiliated/matthiaskrgr] has quit [Ping timeout: 240 seconds] 20170511 15:29:52< Soliton> http://files.wesnoth.org/addons_1.12_icons_with_ipf 20170511 15:30:16< zookeeper> \o/ 20170511 15:30:51 * celticminstrel wonders if Soliton has suggestions for setting up new mailing lists. 20170511 15:31:12< celticminstrel> https://github.com/wesnoth/wesnoth/issues/1030 20170511 15:31:22< Soliton> not really. zookeeper found something, no? 20170511 15:31:45< celticminstrel> True. It hasn't seen any activity since 2015, but that might just be coincidence. 20170511 15:32:17< celticminstrel> But AI0867 also pointed out that apparently there's already a mailman instance somewhere on Wesnoth's servers. 20170511 15:33:47< Soliton> surely we could also host one ourselves. i don't know much about that though and am not really interested in maintaining it. 20170511 15:34:09< Soliton> sounds like it might be not much work for AI though. 20170511 15:34:24< Soliton> and he should have the required access... 20170511 15:34:48< Ravana_> zookeeper: not that hard, buttons do not rely on images. https://pastebin.com/Suk3164n 20170511 15:35:12< vultraz_iOS> we still need to decide exactly *which* new MLs we want 20170511 15:35:30< celticminstrel> -dev, -bugs, -translations? 20170511 15:35:58< celticminstrel> One for announcements to the packagers, one for translators. 20170511 15:36:14< vultraz_iOS> former is useless and hasn't been used seriously in years. second is even more useless. third would be useful. 20170511 15:36:21-!- irker280 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20170511 15:36:21< irker280> wesnoth: mattsc wesnoth:master fa090237e914 / projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj: Update Xcode project https://github.com/wesnoth/wesnoth/commit/fa090237e914c22c60381c961426f175f03953f5 20170511 15:36:22< vultraz_iOS> s/former/first 20170511 15:36:38< celticminstrel> I'm not sure it's truly useless. 20170511 15:36:53< celticminstrel> We did continue to send announcements of releases to it, right? 20170511 15:37:04< vultraz_iOS> to -dev? 20170511 15:37:06< vultraz_iOS> what? 20170511 15:37:09< celticminstrel> Yeah. 20170511 15:37:12< zookeeper> well what would we need -bugs for? 20170511 15:37:15< vultraz_iOS> uh........... 20170511 15:37:20< vultraz_iOS> what? 20170511 15:37:25< celticminstrel> ... 20170511 15:37:31< vultraz_iOS> I remember no such thing 20170511 15:37:31< mattsc> celticminstrel, vultraz_iOS: for that commit ^, I opened the Xcode project file in a text editor and renamed the file manually without using Xcode. Works just fine (not surprisingly) in that case. It does not work for adding files. 20170511 15:37:58< celticminstrel> Part of the release process is sending an announcement to the mailing lists, right? Maybe it wasn't -dev specifically, I dunno (I wasn't the one who sent those announcements). 20170511 15:38:34< celticminstrel> mattsc: You can do it from within XCode too, in the files side panel. 20170511 15:38:36< vultraz_iOS> packagers most likely 20170511 15:38:42< Soliton> -dev is what everyone should be subscribed to and what is used for infrequent important announcements. 20170511 15:38:46< celticminstrel> I've done that too sometimes, though. 20170511 15:39:16< celticminstrel> -dev has been used for announcements of dependency changes, I think. 20170511 15:39:24< vultraz_iOS> has been 20170511 15:39:25< mattsc> celticminstrel: I looked for that and did not see that option. But either way, I did not look very hard because I was trying to figure out if somebody without Xcode can do it also if it’s just a rename. 20170511 15:39:31< vultraz_iOS> don't really see the point in continuing that 20170511 15:39:43< celticminstrel> So how can you possibly know that it is not used seriously if 80% of its use is for people to see announcements on it? 20170511 15:39:53< Soliton> well, what is the replacement? 20170511 15:40:01< celticminstrel> You don't see the point in continuing it because you don't depend on it to hear these things. 20170511 15:40:08< Soliton> reading everything on irc and discord? 20170511 15:40:13< zookeeper> there's pretty much no point in -dev anymore except for very infrequent very important announcements... the fact that it's not used for discussions of everyday development isn't very relevant. it's still good to have a list that reaches everyone no matter whether they're not on irc or discord or forums or wherever. 20170511 15:40:15< celticminstrel> Can you prove that no-one depends on it to hear these things? 20170511 15:41:20< mattsc> Oh, it’s in the side panel on the other side. :P 20170511 15:41:31< vultraz_iOS> the purpose of the list was to announce and coordinate these changes among the dev team. 20170511 15:41:32< celticminstrel> The right side panel, yes. 20170511 15:41:35< celticminstrel> ^ mattsc 20170511 15:41:37< vultraz_iOS> the dev team has abandoned the list. 20170511 15:41:47< zookeeper> a mailing list is the only way to actively broadcast important stuff to everyone. 20170511 15:41:49< vultraz_iOS> ergo, who is watching. 20170511 15:42:08< vultraz_iOS> we aren't a huge team of 100 people. 20170511 15:42:13< zookeeper> everyone is watching, there just haven't been any important announcements lately. 20170511 15:42:14< vultraz_iOS> There are, what, 5 of us? 20170511 15:42:15< celticminstrel> You don't know who's watching. There could be packagers relying on it for occasional important updates. 20170511 15:42:36 * celticminstrel is pretty sure 5 is an underestimate. 20170511 15:42:58< Soliton> more than 5 people talked in this channel recently. 20170511 15:43:49< vultraz_iOS> if we're going to keep such a thing for announcements I propose a single "[important] announcements" list in lieu of packagers and dev 20170511 15:43:59< zookeeper> yes, that sounds reasonable 20170511 15:44:10< celticminstrel> Me, vultraz_iOS, zookeeper, wedge009, mattsc... that's 5 already, and then there's sevu, so at least 6, and I'm sure there's a couple more too. 20170511 15:44:25< celticminstrel> vultraz_iOS: That makes sense to me. 20170511 15:44:38< zookeeper> 194 Non-digested Members of Wesnoth-dev, 48 Digested Members of Wesnoth-dev 20170511 15:44:38< zookeeper> you might graciously assume that maybe 50% of those addresses could be expired, and that'd still be a lot of people. 20170511 15:44:48< celticminstrel> It's true the -dev list is no longer used for discussion, so morphing it into an announcement-style list seems reasonable. 20170511 15:45:08< celticminstrel> I have no idea what digested/non-digested means... 20170511 15:45:10< vultraz_iOS> and then have another list for translators, if they depend on it. 20170511 15:45:19< zookeeper> (having one announcement list like that was actually what i was going to suggest) 20170511 15:46:00< zookeeper> celticminstrel, digested presumably means they only get a mail once per week/month/something with all the posts in it, instead of immediately one mail per post, 20170511 15:46:07< celticminstrel> Ah. 20170511 15:46:36< vultraz_iOS> bugs I think no one wants kept 20170511 15:46:43< celticminstrel> vultraz_iOS: Ask wedge009 how active the translators list was. I know it saw some activity in the wake of mainlining SotA, but not sure how much. 20170511 15:47:10 * celticminstrel is pretty sure there would be people who want -bugs - people without GitHub accounts who wish to follow Wesnoth issues. 20170511 15:47:49< vultraz_iOS> ....really 20170511 15:47:53< zookeeper> 11 Non-digested Members of Wesnoth-bugs, 3 Digested Members of Wesnoth-bugs 20170511 15:48:12< vultraz_iOS> who in their right mind would spend time following wesnoth issues if they weren't a dev. 20170511 15:48:19< zookeeper> only 2 addresses that i don't recognize as current or past devs 20170511 15:48:30< celticminstrel> ...why should you have to be a dev to follow issues? 20170511 15:48:33< zookeeper> ok let's make that 3 addresses 20170511 15:48:50< vultraz_iOS> bugs mean nothing otherwise 20170511 15:48:51< zookeeper> so really that doesn't seem to be of much interest 20170511 15:49:03< celticminstrel> Still, -bugs should be relatively easy to set up, and given the low number of people currently subscribed, it seems like it would be fine to leave it unless someone specifically requests it. 20170511 15:50:21< celticminstrel> Dwarvish Steelclad is 4MP, right? 20170511 15:50:27< zookeeper> yes 20170511 15:51:20< zookeeper> if there's currently a max of 3-4 people without github accounts who want to follow bugs, then no point in having a -bugs list just for them when they can just get those github accounts instead 20170511 15:51:40< zookeeper> and really i'd be mildly surprised if there is even 1 20170511 15:52:51< Kwandulin> Oh, following bugfixes is pretty important to some UMC guys, I guess. Makes it easier to plan future updates 20170511 15:53:16< Kwandulin> E.g. the tod/item thing allows crazy new stuff 20170511 15:53:24< sevu> wouldn't it be the same for them to follow the github tracker? 20170511 15:53:38< celticminstrel> Hm. For some reason I have to click Close twice to close the Lua console? 20170511 15:54:27< sevu> (and as messy as the github tracker too) 20170511 15:54:52< zookeeper> Kwandulin, isn't that a poor example since i think it never entered the bug tracker in any form? :p 20170511 15:55:11< zookeeper> but the point was that no UMC guys follow bugfixes via the -bugs list 20170511 15:57:16-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 16:03:22< gfgtdf> zookeeper: i did follow wesnoth bug previousl but via regulariyl checking this page https://www.mail-archive.com/wesnoth-bugs@gna.org/maillist.html 20170511 16:04:44-!- JyrkiVesterinen [~JyrkiVest@89-166-113-14.bb.dnainternet.fi] has joined #wesnoth-dev 20170511 16:14:23< zookeeper> gfgtdf, right, well, i guess reading the archives is a possible usecase 20170511 16:15:25< zookeeper> (doesn't github offer any similar activity-in-the-issue-tracker-archive thing?) 20170511 16:16:45< celticminstrel> I'm not sure. I know you can subscribe to issues, and people with push access seem to be automatically subscribed to all issues... 20170511 16:17:20< celticminstrel> Oh, maybe if you watch the repository? 20170511 16:17:53< celticminstrel> I think that could cause you to be notified of all issue tracker activity, possibly depending on other settings. 20170511 16:19:38< zookeeper> by archive i of course mean a nice chronological list of past activity that you can browse at your leisure 20170511 16:20:59-!- Appveyor [~Appveyor@74.205.54.20] has joined #wesnoth-dev 20170511 16:20:59< Appveyor> The Battle for Wesnoth (Visual Studio 2017) - Release mattsc fa09023: Update Xcode project Failed 20170511 16:20:59< Appveyor> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-18 20170511 16:21:04-!- Appveyor [~Appveyor@74.205.54.20] has left #wesnoth-dev [] 20170511 16:21:34< celticminstrel> Yeah, I don't know of anything like that. 20170511 17:11:29-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170511 17:13:50-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170511 17:15:08< sevu> sth like that could be achieved on github with removing the default filters in the issue or PR site and afterwards clicking on the sort field on the very right. Yes, it's not intuitive by any means 20170511 17:21:53< sevu> hey, I just found that http://files.wesnoth.org/wip_images/recruit-dialog-rewrite/ looks interesting 20170511 17:22:20< irker280> wesnoth: mattsc wesnoth:master 24891d85e27d / data/ (10 files in 2 dirs): Lua AIs: remove unused library inclusions after distance_between change https://github.com/wesnoth/wesnoth/commit/24891d85e27d5392ed453cb4f0cf502fd54591fc 20170511 17:22:26< mattsc> celticminstrel: ^ 20170511 17:22:42< celticminstrel> Oh. 20170511 17:22:59< celticminstrel> Pretty sure I caught a few of those, but I guess I forgot to keep checking for that after a bit. 20170511 17:23:10< mattsc> No worries. 20170511 17:23:40< celticminstrel> Most of the first ones I edited also used helper for other things. 20170511 17:23:51< mattsc> Yes, a lot of them do. 20170511 17:29:50< gfgtdf> sevu: i don't think that'd be aan impvfement compared to our current recuit dialogs, it acually looks like someone tried to implement a recuit dialog in pre-lua-dialogs wml 20170511 17:31:38< celticminstrel> gfgtdf: Except that pre-Lua-dialogs surely didn't support arbitrary buttons along the bottom? 20170511 17:31:55< gfgtdf> celticminstrel: ye, but it still looks like that. 20170511 17:36:16-!- mjs-de [~mjs-de@x4db6257e.dyn.telefonica.de] has joined #wesnoth-dev 20170511 17:36:25< celticminstrel> It does, yeah. 20170511 17:37:51< sevu> hmm. our current dialogs look pretty good 20170511 17:39:55< mattsc> celticminstrel: I am getting several errors (at least two different ones) in the animals test scenario (but I don’t have time to check out why right now) 20170511 17:53:23< celticminstrel> gfgtdf: There's no current way for Lua to get the entire WML variable namespace as a config, right? 20170511 18:03:41-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170511 18:04:09-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 18:04:56-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170511 18:05:03-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 18:12:50-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170511 18:13:02-!- Appveyor [~Appveyor@74.205.54.20] has joined #wesnoth-dev 20170511 18:13:02< Appveyor> The Battle for Wesnoth (Visual Studio 2015) - Release mattsc fa09023: Update Xcode project Failed 20170511 18:13:02< Appveyor> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-333 20170511 18:13:06-!- Appveyor [~Appveyor@74.205.54.20] has left #wesnoth-dev [] 20170511 18:13:22-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170511 18:16:04< celticminstrel> mattsc: I'm looking at the errors in animals. The first seems to be caused by [variables] not being written to the unit config if it's empty (ISTR someone did stuff to this effect recently?); the second is probably caused by my recent location_set edits. 20170511 18:17:58-!- Appveyor [~Appveyor@74.205.54.20] has joined #wesnoth-dev 20170511 18:17:58< Appveyor> The Battle for Wesnoth (Visual Studio 2015) - Debug mattsc fa09023: Update Xcode project Failed 20170511 18:17:58< Appveyor> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-333 20170511 18:18:02-!- Appveyor [~Appveyor@74.205.54.20] has left #wesnoth-dev [] 20170511 18:21:07< gfgtdf> celticminstrel: i think there oid a lua function that does exactly that. 20170511 18:22:20< gfgtdf> is* 20170511 18:23:13< gfgtdf> celticminstrel: afaik vultraz_iOS recently changres the variables are n longer written to unit configs 20170511 18:23:49< celticminstrel> gfgtdf: I've changed it to access the variables via unit.variables.__cfg instead of unit.__cfg 20170511 18:24:05< celticminstrel> (I can't use the direct unit.variables interface because AFAICT it doesn't support arrays?) 20170511 18:24:47< gfgtdf> celticminstrel: well yu can use .lelgth and get the array elemnts ina loop liek wesnoth.get_variable_array does it 20170511 18:24:56< gfgtdf> .length* 20170511 18:24:58< celticminstrel> ??? 20170511 18:25:00< gfgtdf> like* 20170511 18:25:21< celticminstrel> Oh, .length? 20170511 18:25:28< gfgtdf> yes 20170511 18:25:44< celticminstrel> So unit.variables["thing.stuff[4].more_stuff"] works? 20170511 18:25:51< gfgtdf> celticminstrel: it shoudl 20170511 18:25:54< gfgtdf> should* 20170511 18:25:55< celticminstrel> Ah, okay. 20170511 18:26:08< zookeeper> wait, is there some plausible scenario where the change to not write empty tags to unit cfg's would cause breakage? 20170511 18:26:13< gfgtdf> didn't test oit recently though, also its new in 1.13 so it won't work in 1.12 20170511 18:26:36< celticminstrel> Well, the code is searching for a [micro_ai] subtag based on its contents though, so I don't think that method would work anyway. 20170511 18:26:55< celticminstrel> zookeeper: If Lua code is accessing unit.__cfg and assuming it will have a "variables" subtag. 20170511 18:27:35< celticminstrel> I don't think there's anything that could cause breakage in WML code, because in WML code it automatically treats uninitialized variables as empty. 20170511 18:27:36< zookeeper> right. so it won't just skip it gracefully, but errors instead? 20170511 18:28:00< celticminstrel> Well, it depends on how it was coded, but yeah; if the coder didn't check that the tag actually exists, then it will be nil and cause errors. 20170511 18:28:29< zookeeper> mmkay 20170511 18:28:54-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170511 18:29:23-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 18:30:28-!- sevu [~Shiki@p5485649F.dip0.t-ipconnect.de] has quit [Quit: Verlassend] 20170511 18:30:32-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170511 18:30:40-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 18:33:30< zookeeper> it sounds _a little bit_ dubious to rely on that kind of assumption in lua code, but i've not written much lua in wesnoth so i don't know. 20170511 18:40:23< gfgtdf> celticminstrel: well if you wanted you could mostlileley create some code that uses set_variables/append/merge etc where it would change bahviour 20170511 18:42:27-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has quit [Quit: Connection closed for inactivity] 20170511 18:43:53< gfgtdf> celticminstrel: are you curretnly fixing the case in micro_ai_unit_variables.lua ? 20170511 18:44:20< gfgtdf> celticminstrel: i wonder what ipairs(variables, "micro_ai") does i guess teh secoind paremter will just do nothing ? 20170511 18:45:11< gfgtdf> celticminstrel: alos i don't see the point of the table.remove(variables, i) line since that local variables doesnt seem ot besed after it 20170511 18:45:36-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170511 18:45:58< celticminstrel> gfgtdf: I already fixed it, but didn't notice that superfluous argument to ipairs. 20170511 18:46:02< celticminstrel> I'll remove that, too. 20170511 18:46:22< gfgtdf> celticminstrel: alos there is anothr case in Son_Of_The_Black_Eye/ai/ca_transport_S6.lua 20170511 18:46:25< celticminstrel> I wonder if this could use helper.child_range though? 20170511 18:46:36< celticminstrel> gfgtdf: Another case of what... the same errors? 20170511 18:46:39< gfgtdf> of H.get_child(u.__cfg, "variables") 20170511 18:46:47< celticminstrel> Oh. 20170511 18:46:57-!- atarocch [~atarocch@natmobil.fk.se] has quit [Ping timeout: 240 seconds] 20170511 18:49:14< gfgtdf> maybe we could support variable array directly in the get_variable() etc function? liek get_varible(a[]) is the whole a array for example. The current herlper function has teh disadvantage that it doesn't work on unit variables 20170511 18:50:17< gfgtdf> or we coudl add another pareter to the helper function, so taht it'S thne alled like helper.get_variable_array("arr", function(str) retunr unit.variables[str] end) 20170511 18:50:30-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 18:50:44< gfgtdf> or we coudl add another parametrer to the helper function, so that it can then be called like helper.get_variable_array("arr", function(str) retunr unit.variables[str] end) 20170511 18:51:17< gfgtdf> where the second parameter defaults to wesnoth.get_variable 20170511 18:53:12-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170511 18:53:21-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 18:54:01-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170511 18:54:09-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 18:54:24< celticminstrel> gfgtdf: How did side variables work again... wesnoth.get_side_variable(path) or something? 20170511 18:54:32< celticminstrel> Oh, plus a side number obviously. 20170511 18:55:14< gfgtdf> celticminstrel: i think yes, last time we were taking about maybe adding an alterntive syntax like wesnoth.sides[i].variables[path] 20170511 18:55:27< celticminstrel> Yeah, we should definitely do that. 20170511 18:55:39< celticminstrel> What about global (persistent) variables? Are those also a config? 20170511 18:56:23< gfgtdf> celticminstrel: they are sotes in multiple files and each is stores in a config format, don't know for sure though 20170511 18:56:43< gfgtdf> celticminstrel: i don't think we have someone in your curretn team who understands the persictence wml code 20170511 18:56:58< gfgtdf> s/sotes/stored 20170511 18:57:27< celticminstrel> Doesn't look like there's any API to it anyway. 20170511 18:57:41< gfgtdf> celticminstrel: only the wml tags 20170511 18:58:58< celticminstrel> ^Lua API 20170511 19:02:37-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170511 19:03:11-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 19:03:12-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170511 19:03:13-!- Kwandulin [~Kwandulin@p200300760F6D80A7B95F8C0FC9A5E210.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170511 19:03:43-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 19:05:22-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170511 19:05:54-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170511 19:09:25-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 272 seconds] 20170511 19:25:48-!- sevu [~Shiki@p5485649F.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170511 19:50:32-!- cioran89 [~cioran89@p5DDF31AE.dip0.t-ipconnect.de] has quit [Quit: Leaving] 20170511 19:52:14-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 19:57:34-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 268 seconds] 20170511 19:57:56-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170511 19:58:29-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170511 20:02:00-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170511 20:04:10< irker280> wesnoth: Celtic Minstrel wesnoth:master 1dff482acb5f / src/units/filter.cpp: Add trait= to SUF (resolves #1538) https://github.com/wesnoth/wesnoth/commit/1dff482acb5f624d269e51deb098bf9ba0f5a80a 20170511 20:04:12< irker280> wesnoth: Celtic Minstrel wesnoth:master 6d910c0d4279 / src/units/attack_type.cpp: Support special_active in SWF (Standard Weapon Filter) https://github.com/wesnoth/wesnoth/commit/6d910c0d4279cf82d3051009050456fa43d0c667 20170511 20:04:14< irker280> wesnoth: Celtic Minstrel wesnoth:master 6ea57e78f46d / data/gui/window/game_load.cfg: Game Load: Factor out listboxes to reduce overall indentation level https://github.com/wesnoth/wesnoth/commit/6ea57e78f46d4c3b981ffdb0eee495bddbd5f873 20170511 20:04:16-!- prkc [~prkc@212.92.106.146] has joined #wesnoth-dev 20170511 20:04:16< irker280> wesnoth: Celtic Minstrel wesnoth:master 99693041b129 / data/gui/window/game_load.cfg src/gui/dialogs/game_load.cpp src/save_index.cpp: Add current gold and troops count to Load Game dialog (resolves #4180) https://github.com/wesnoth/wesnoth/commit/99693041b12950f7e2305236075bfa3c0e6987fc 20170511 20:04:18< irker280> wesnoth: Celtic Minstrel wesnoth:master 4b8e37044cb6 / data/ai/micro_ais/micro_ai_unit_variables.lua: Micro AIs: Fix Lua error in AIs that use unit variables https://github.com/wesnoth/wesnoth/commit/4b8e37044cb6e330f4ac168a34425e7157d48381 20170511 20:04:20< irker280> wesnoth: Celtic Minstrel wesnoth:master 1ba783959e63 / data/lua/location_set.lua: fixup 0539a68eb https://github.com/wesnoth/wesnoth/commit/1ba783959e634dbc41e05a46e906cd6ecfe9e1f8 20170511 20:04:22< irker280> wesnoth: Celtic Minstrel wesnoth:master 263aadcaa067 / src/scripting/ (game_lua_kernel.cpp lua_unit.cpp): Lua: Allow clearing unit and side variables https://github.com/wesnoth/wesnoth/commit/263aadcaa067c280875dfce2f5f004340998e440 20170511 20:04:24< irker280> wesnoth: Celtic Minstrel wesnoth:master bb4402489c02 / src/scripting/lua_unit.cpp: Lua Units: Fix incorrect argument referenced from an error message https://github.com/wesnoth/wesnoth/commit/bb4402489c0256cb75055259b54e66d6410c59bd 20170511 20:04:26< irker280> wesnoth: Celtic Minstrel wesnoth:master ff16302b9fa1 / data/campaigns/Son_Of_The_Black_Eye/ai/ca_transport_S6.lua: SotBE AI: Don't assume unit.__cfg contains a "variables" tag https://github.com/wesnoth/wesnoth/commit/ff16302b9fa177c7f9f9f5edc9aa1cb87ebc8ee4 20170511 20:04:28< irker280> wesnoth: Celtic Minstrel wesnoth:master b11371dbfa6b / data/lua/helper.lua: Lua: Allow helper.set_variable_array and helper.get_variable_array to work on un https://github.com/wesnoth/wesnoth/commit/b11371dbfa6bf1fee32fd2fe093b14d21d8b0b30 20170511 20:04:30< irker280> wesnoth: Celtic Minstrel wesnoth:master 63ad3f156175 / changelog players_changelog: Update changelog https://github.com/wesnoth/wesnoth/commit/63ad3f1561759d3b7f455dcc763cb64070462c90 20170511 20:04:32< irker280> wesnoth: Celtic Minstrel wesnoth:master 45c884a16dab / changelog: changelog: Fixup indentation https://github.com/wesnoth/wesnoth/commit/45c884a16dab9ca56840bb1cbb8937be4d91eb70 20170511 20:04:34< irker280> wesnoth: Celtic Minstrel wesnoth:master 44f97e913b57 / changelog: changelog: Rewrap to 80 https://github.com/wesnoth/wesnoth/commit/44f97e913b576ac544346bd53dd612239490ba38 20170511 20:05:59-!- mjs-de [~mjs-de@x4db6257e.dyn.telefonica.de] has quit [Remote host closed the connection] 20170511 20:16:41< mattsc> celticminstrel: I’ll try to find some time tonight to check out the MAI test scenarios; not just for errors, but also whether the behavior is as it should be 20170511 20:55:20-!- JyrkiVesterinen [~JyrkiVest@89-166-113-14.bb.dnainternet.fi] has quit [Quit: .] 20170511 20:56:24-!- atarocch [~atarocch@93.68.196.58] has joined #wesnoth-dev 20170511 21:20:29< gfgtdf> celticminstrel: map:iter afaik iterated over the location set in an undefeined order, so even though methods:random() uses wesnoth.random() it's not mp safe to use. 20170511 21:21:03< gfgtdf> celticminstrel: (ofc you can use it in an unsyced context like the ai code) 20170511 21:21:10< celticminstrel> Yeah. 20170511 21:21:50< celticminstrel> But you know, although the order may be undefined, wouldn't it be consistent on different computers? 20170511 21:22:58< gfgtdf> celticminstrel: hmm its auite possible that luas ahs function depends for example on sizeof(size_t) 20170511 21:23:02< gfgtdf> quite* 20170511 21:23:09< gfgtdf> celticminstrel: ot the equivalent c typedef 20170511 21:23:19< gfgtdf> hash function* 20170511 21:25:03< gfgtdf> celticminstrel: also it might depend on the order in which they are inserted, for example when the game is reloaded (the location_set is serilized and deseilized) that order might have changed. 20170511 21:25:44-!- sevu [~Shiki@p5485649F.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 20170511 21:26:15< gfgtdf> celticminstrel: i mean it is not that bad if it's non mp/replay save but it shoudl havea warning then whereever these function are documented, 20170511 21:32:07< matthiaskrgr> mmh 20170511 21:32:18< matthiaskrgr> theres a weird bug with the gui2 story screen text fading 20170511 21:36:59< gfgtdf> matthiaskrgr: did you see my comment on #1669 ? 20170511 21:37:16< matthiaskrgr> was it mentioned there? 20170511 21:37:46< matthiaskrgr> ah different thing 20170511 21:38:06< matthiaskrgr> hm 20170511 21:41:31< matthiaskrgr> mmh I might be able to just segv-kill the process 20170511 21:41:33< matthiaskrgr> and get a trace 20170511 21:41:35< matthiaskrgr> let me see 20170511 21:44:14< matthiaskrgr> hmmm 20170511 21:45:07< matthiaskrgr> https://pastebin.com/raw/YKzSc66E that doesn't help, does it? 20170511 21:45:29< matthiaskrgr> (I killed the game there) 20170511 21:53:18< celticminstrel> gfgtdf: Do you think [message]sound= should play only if the dialog is actually shown? 20170511 21:54:23< mattsc> celticminstrel, gfgtdf: I read somewhere, sometime long ago that the Wesnoth AI is supposed to have no random elements. That is, if you are in the same situation, it should always choose the same option, even if several have exactly the same evaluation score. Do you have an opinion on that? 20170511 21:55:06< mattsc> This is somewhat relevant to the discussion above, but also to the long-standing bug about the NE bias of the AI. 20170511 21:55:29< mattsc> s/bug/bug report 20170511 21:58:17< zookeeper> celticminstrel, you mean if the message is skipped because quick replays or something? makes sense to me that it's skipped then. does conveniently mean that there's then a difference between [sound] and [message]sound=. 20170511 21:58:20< gfgtdf> mattsc: i have no opinion on that 20170511 21:58:46< celticminstrel> gfgtdf: Also if the message is skipped due to side_for not matching the client's side or something, I think. 20170511 21:59:02< mattsc> oh, zookeeper, you might have an opinion on it also (or maybe remember why that was set up as a principle) 20170511 21:59:21< celticminstrel> mattsc: I suppose it makes sense for it to be deterministic, but I don't really have a problem with it being nondeterministic either. 20170511 21:59:21< gfgtdf> celticminstrel: ye i think it mkases more sense if the sound is skipped in that case. 20170511 21:59:48< zookeeper> celticminstrel, if the message is not shown because of what's basically filtering criteria, then the sound should of course not be played 20170511 22:01:26< zookeeper> mattsc, gfgtdf, no particular opinion, really. being deterministic sounds like something that could potentially be convenient for reproducing bugs or replay-related things and so on, but on the other hand having an element of randomness is nice too. 20170511 22:01:39< celticminstrel> zookeeper: It looks like the old C++ [message] implementation always played it. 20170511 22:01:51< zookeeper> celticminstrel, really? huh 20170511 22:02:52< gfgtdf> celticminstrel: the old message implementation used return; stamenents if the folters didnt macth afaik 20170511 22:03:06< gfgtdf> filters* 20170511 22:03:16< celticminstrel> gfgtdf: Ah, it does use those, yeah. 20170511 22:04:14< celticminstrel> gfgtdf: Pretty sure it can still get to the sound and yet not show the dialog though, if it goes through the synchronization path rather than immediate showing. 20170511 22:04:53< celticminstrel> gfgtdf: IOW, if the dialog has options. 20170511 22:05:23< gfgtdf> celticminstrel: hmm ye but in 1.12 for_side= doesn't work with message that has options, 20170511 22:05:44< celticminstrel> gfgtdf: Does that work in 1.13? 20170511 22:05:47< gfgtdf> celticminstrel: and filters end that function independently on whether it has options or not 20170511 22:06:06< gfgtdf> celticminstrel: iirc i enabled it at some point. 20170511 22:06:27< celticminstrel> Does anyone want to try to construct a scenario where the sound might be played but the dialog doesn't show? 20170511 22:07:05< celticminstrel> When it calls wesnoth.synchronize_choice, doesn't that mean the dialog isn't shown? At least potentially not shown. 20170511 22:07:48< gfgtdf> wesnoth.synchronize_choice means that dialog is shown at exactly one client. 20170511 22:08:19< gfgtdf> the functiosn passed to wesnoth.synchronize_choice is excuted at exactly one client. 20170511 22:08:40< celticminstrel> Right, but when it calls wesnoth.play_sound, that's executed on all clients, so it means everyone hears the sound but only one client sees the dialog. 20170511 22:08:42< mattsc> zookeeper, gfgtdf, celticminstrel: I can confirm that AI testing can sometimes be harder when the AI behavior is not entirely deterministic, but the fact that I have encountered that also shows that I don’t think it is important. 20170511 22:08:47< celticminstrel> Would that be expected behaviour? 20170511 22:08:49< celticminstrel> zookeeper: ^ 20170511 22:09:40< celticminstrel> mattsc: It doesn't seem that important to me either, unless you want to do automated tests. 20170511 22:09:41< gfgtdf> celticminstrel: well at lest it seems to be the 1.12 bahviour. 20170511 22:09:50< gfgtdf> celticminstrel: but i wouldn't expect that 20170511 22:10:10< celticminstrel> gfgtdf: Did you just try it on 1.12, then? 20170511 22:11:10< gfgtdf> celticminstrel: no i looked t the code, hat i said above by '1.12 for_side= doesn't work with message that has options, ' measn that side_fpor always has its default value for those cases: the currentyl playing side 20170511 22:11:50< celticminstrel> gfgtdf: So based on your code reading you don't think any of those early returns would've been hit in that case? 20170511 22:12:09< celticminstrel> ie, there's a way to avoid all the early returns but still not show the dialog 20170511 22:12:22< gfgtdf> celticminstrel: ye that seesm to be the case 20170511 22:14:17< zookeeper> celticminstrel, no, i think the only sensible behavior is to play the sound only when the dialog is actually displayed 20170511 22:14:30< zookeeper> if you want a sound to play regardless, just use [sound] 20170511 22:15:53< gfgtdf> i wonder whethe the sound shoudl end when the message is ended even before the soudn has dinished. 20170511 22:16:21< gfgtdf> finshed* 20170511 22:16:29< celticminstrel> gfgtdf: I think that's not super-important since they're generally short sound-effects? 20170511 22:16:32< zookeeper> it shouldn't 20170511 22:17:06< gfgtdf> celticminstrel: hmm for voiceover this woudl make sense, sicne otherwise these soudns will be played on top of the next message. 20170511 22:17:21< celticminstrel> For voiceover yes, for sound effects no. 20170511 22:17:33< zookeeper> sure 20170511 22:17:49< celticminstrel> (I'm actually adding voiceover right now. It's really easy using the sound source API.) 20170511 22:18:43< celticminstrel> (Technically possible already, at least with a [message], but IMO it's more convenient to have it bundled into the tag.) 20170511 22:20:59< gfgtdf> doed the map sound_source actaully use a stero effect like, sounds coming from the left speaker if it on the left side of the map? 20170511 22:22:08< gfgtdf> does* 20170511 22:22:59< zookeeper> i believe so 20170511 22:23:35< gfgtdf> ok 20170511 22:30:18-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has joined #wesnoth-dev 20170511 22:30:39-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Remote host closed the connection] 20170511 22:33:56-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20170511 22:43:12< celticminstrel> zookeeper, gfgtdf: Do you expect the sound to start playing at the moment the [sound_source] tag is executed? 20170511 22:43:30< celticminstrel> (Possibly after a delay if specified; not quite sure if that's what the delay means though.) 20170511 22:43:47< zookeeper> i'm not familiar with it 20170511 22:44:01< DeFender1031> celticminstrel, I would expect that. 20170511 22:44:30< DeFender1031> celticminstrel, in fact, in my first scenario, I was somewhat annoyed that the sound source didn't start playing until after the subsequent messages. 20170511 22:45:38< celticminstrel> Okay, somewhere it said that leaving out x,y should cause it to be "omnipresent", but that doesn't seem to be working. With x,y though it's now working. 20170511 22:45:50< DeFender1031> hmm... 20170511 22:47:02< celticminstrel> Oh, I see. 20170511 22:47:24< celticminstrel> update_positions() calls update(), except if it's "global" in which case it does nothing. 20170511 22:49:58< celticminstrel> But update_positions() only defers to update() on the first call, so I guess what I really want to call is update() after all. 20170511 22:50:29-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Read error: Connection reset by peer] 20170511 22:51:21-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20170511 22:53:10-!- minzbonbon [~min@meta23.net] has quit [Ping timeout: 255 seconds] 20170511 22:53:41-!- minzbonbon [~min@meta23.net] has joined #wesnoth-dev 20170511 22:59:26< irker280> wesnoth: Celtic Minstrel wesnoth:master a5ec607b540b / data/lua/wml/message.lua: Fix a (probably) rare case when [message]sound might play even if the dialog was https://github.com/wesnoth/wesnoth/commit/a5ec607b540b369356d61dbb610a56964c21b1f9 20170511 22:59:28< irker280> wesnoth: Celtic Minstrel wesnoth:master cee3698fae3c / changelog src/scripting/game_lua_kernel.cpp: [sound_source] now starts playing the sound immediately https://github.com/wesnoth/wesnoth/commit/cee3698fae3c1e17ea284fce16ccb31d719d6db6 20170511 22:59:30< irker280> wesnoth: Celtic Minstrel wesnoth:master bea0e92c6cc0 / / (6 files in 5 dirs): Add voice= key to [message] and [story][part] https://github.com/wesnoth/wesnoth/commit/bea0e92c6cc0a294962407a654db2f844532565b 20170511 23:00:15< celticminstrel> vultraz_iOS: You may wish to tweak my Load Game dialog addition. 20170511 23:00:34< vultraz_iOS> Alright 20170511 23:00:46< vultraz_iOS> Wait, why did you add that voice key 20170511 23:01:13< celticminstrel> Because there was an open issue for it, it seemed like a good idea, and it wasn't hard to do? 20170511 23:01:59< vultraz_iOS> I see 20170511 23:02:10< vultraz_iOS> You used an soundsource 20170511 23:02:12< vultraz_iOS> Interesting 20170511 23:02:15< celticminstrel> Yes. 20170511 23:02:24< vultraz_iOS> Of course this means we need voice acting now 20170511 23:02:30< celticminstrel> Does not. :P 20170511 23:03:26< celticminstrel> The suggestion to use a sound source was from gfgtdf on the issue, actually. 20170511 23:04:03< celticminstrel> The storyscreen version doesn't technically use a sound source and instead calls the underlying implementation of sound sources. 20170511 23:07:59< celticminstrel> ...why is Dugi talking weirdly on the forums? 20170511 23:08:31-!- grzywacz [~karol@wesnoth/developer/grzywacz] has joined #wesnoth-dev 20170511 23:10:01< zookeeper> i've been wondering the same thing 20170511 23:18:53 * celticminstrel debates notifying The_Gnat that his FR was implemented. 20170511 23:19:21< celticminstrel> I guess it would show in the release announcement anyway though... 20170511 23:20:41 * celticminstrel thinks that offset_second for animations sounds like a great idea. 20170511 23:25:57< celticminstrel> Oh, hmm. I think need to add something else for voiceovers. 20170511 23:26:14< zookeeper> offset_second as in offset for the other unit? 20170511 23:26:20< celticminstrel> Yeah. 20170511 23:26:27< zookeeper> that would be... odd 20170511 23:26:30< celticminstrel> Normally sound sources randomly select one of the files listed, but for voiceovers I think it needs to be able to play them sequentially. 20170511 23:26:35< celticminstrel> Yeah, it would be odd. 20170511 23:28:15-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20170511 23:29:18< celticminstrel> But I bet it could be used to make something interesting. 20170511 23:35:28< grzywacz> O_o 20170511 23:41:49< celticminstrel> Hi? 20170511 23:42:42< grzywacz> Hi! 20170511 23:45:10-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 240 seconds] 20170511 23:51:05< grzywacz> I'm surprised to see sound sources resurface in dialog voicovers. ;) 20170511 23:51:08< grzywacz> voiceovers even 20170511 23:51:38< celticminstrel> Oh? 20170511 23:52:02< grzywacz> Didn't expect that. That's all. 20170511 23:53:32< celticminstrel> BTW, does anyone know if editing a poll thread's opening post will clear the poll results? 20170511 23:59:44< pydsigner> celticminstrel: I'm 95% sure it only resets if you change the poll options --- Log closed Fri May 12 00:00:32 2017