--- Log opened Wed Mar 29 00:00:41 2017 20170329 00:18:05-!- atarocch [~atarocch@5.92.1.76] has quit [Ping timeout: 240 seconds] 20170329 00:24:14-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170329 00:24:50-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 00:25:48-!- irker521 [~irker@109.237.213.40] has joined #wesnoth-dev 20170329 00:25:48< irker521> wesnoth: Charles Dang wesnoth:master 8be08802a887 / src/formula/callable_objects.hpp: Expand evil formula_callable class construction macros https://github.com/wesnoth/wesnoth/commit/8be08802a887951c5aa5e74e4f8e8b4606da6386 20170329 00:25:51< irker521> wesnoth: Charles Dang wesnoth:master 89a6241193a1 / src/formula/ (callable_objects.cpp callable_objects.hpp): Formula/Callable: code cleanup https://github.com/wesnoth/wesnoth/commit/89a6241193a11177ca18fbac94e1d8f4892a88bd 20170329 00:25:52< vultraz_iOS> celticminstrel: ^ 20170329 00:27:49< vultraz_iOS> celticminstrel: where should I put the formula_input_vector typedef to be centralized? 20170329 00:29:28-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 260 seconds] 20170329 00:30:07< celticminstrel> I'd say the same place where formula_input is defined would make the most sense? 20170329 00:30:11-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 00:30:20-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170329 00:30:56-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 00:31:18< vultraz_iOS> mk 20170329 00:31:21< celticminstrel> I think I'd suggest moving add_input to callable.hpp. 20170329 00:31:37< celticminstrel> Because then ai/formula/callable_objects.?pp can also use it. 20170329 00:32:43< vultraz_iOS> inside the namespace? 20170329 00:32:54< celticminstrel> Actually, the convert_* utilities might also make more sense there... uh... hold on a sec... 20170329 00:33:56< celticminstrel> Hm, the AI one includes the main formula callable_objects.hpp anyway, so maybe it's fine how it is now. 20170329 00:34:31< celticminstrel> Oh, wait, those are in the cpp file. 20170329 00:34:54< celticminstrel> I do want to know why you removed the unit.hpp include. 20170329 00:35:32-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 260 seconds] 20170329 00:36:36< vultraz_iOS> it's in the header 20170329 00:36:54< celticminstrel> Ah. 20170329 00:37:37< celticminstrel> Probably could've used convert_vector for team.recruit 20170329 00:38:13< celticminstrel> Those template convert_* should probably be defined fully in the header, too... 20170329 00:39:10< celticminstrel> I think I'd actually suggest making them (and add_input) static member functions of formula_callable. 20170329 00:40:03< celticminstrel> And defining formula_input_vector immediately after formula_input itself seems the most reasonable to me. 20170329 00:40:39 * celticminstrel wonders why there was a "typedef map_location location". 20170329 00:40:55< vultraz_iOS> because Wesnoth 20170329 00:40:56< vultraz_iOS> :P 20170329 00:41:51< celticminstrel> I also kinda wonder why these classes aren't all in the game_logic namespace... though variant also isn't in the game_logic namespace... actually, what really is the game_logic namespace anyway? 20170329 00:42:23< celticminstrel> Is it more than just the WFL engine? Pretty sure it is though... 20170329 00:43:38< celticminstrel> So anyway, those commits look good overall. 20170329 00:44:44< vultraz_iOS> should i add the classes to game_logic? 20170329 00:44:50< vultraz_iOS> the game_logic namespace* 20170329 00:45:41< celticminstrel> Yeah, they should be in that namespace. The FAI callables are, so the global callables should be too. 20170329 00:46:00< celticminstrel> TBH, variant probably should be too... 20170329 00:47:13< celticminstrel> In fact, since it seems that everything in game_logic is WFL, I wonder if we should rename the namespace... (but don't rename it now because that'd conflict with what I'm doing and probably be a pain.) 20170329 01:05:44< irker521> wesnoth: Charles Dang wesnoth:master 4696708125d3 / src/ (8 files in 5 dirs): Formula/Callable: move utility functions to a centralized location https://github.com/wesnoth/wesnoth/commit/4696708125d31d031d5a604f9f676a930372e59c 20170329 01:05:45< vultraz_iOS> celticminstrel: ^ 20170329 01:07:07< vultraz_iOS> hm.. I wonder if i needed to add the formula_callable prefix to the add_input calls.. 20170329 01:07:40< celticminstrel> Shouldn't have to, given that they're defined in-class. (Or in the superclass rather.) 20170329 01:07:55< celticminstrel> I probably would've made them protected, but I guess it doesn't matter that much. 20170329 01:08:42< celticminstrel> Ah, I see you did add it. 20170329 01:08:53< irker521> wesnoth: Charles Dang wesnoth:master 9431ae38b331 / src/formula/callable_objects.cpp: Fixup 4696708 (revert unnecessary class qualifier on add_input calls) https://github.com/wesnoth/wesnoth/commit/9431ae38b331409188fc13efd95e4dd2b805a4ae 20170329 01:09:00< vultraz_iOS> now I've removed it 20170329 01:09:02-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has quit [Ping timeout: 256 seconds] 20170329 01:09:23< vultraz_iOS> #VultCreatingUselessGitHistory 20170329 01:09:34< celticminstrel> This is not Twitter. 20170329 01:09:37< celticminstrel> That links to a channel. 20170329 01:09:43< vultraz_iOS> I am aware 20170329 01:16:12< vultraz_iOS> celticminstrel: anything else? 20170329 01:16:24< celticminstrel> No, that seems good for now. 20170329 01:20:53< vultraz_iOS> gaaahhhh dammit :| 20170329 01:20:58< vultraz_iOS> ai/attack.cpp 20170329 01:21:02< vultraz_iOS> why is this stuff all spread out.. 20170329 01:21:08< celticminstrel> What about it? 20170329 01:21:19< celticminstrel> Missed something in attack_analysis? 20170329 01:21:51< celticminstrel> I am working around there, though whatever you're doing probably wouldn't conflict anyway since it's mainly inserting new stuff. 20170329 01:22:26< vultraz_iOS> time to deploy add_input en-masse 20170329 01:22:51< celticminstrel> Did you look at ai/formula/callable_objects.cpp then? 20170329 01:23:26< vultraz_iOS> no, the 99 other places it's needed 20170329 01:23:28< vultraz_iOS> including there 20170329 01:24:49< vultraz_iOS> oops, never mine 20170329 01:24:51< vultraz_iOS> mind 20170329 01:24:54< vultraz_iOS> i have to run 20170329 01:24:57< vultraz_iOS> ill do this later 20170329 01:30:45-!- Ivanovic [~ivanovic@p579FBCCD.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170329 02:01:15< celticminstrel> I really want to know how set_var() would cause infinite loops... 20170329 02:11:55< celticminstrel> Also how 'continue' would cause infinite loops... 20170329 02:46:00< irker521> wesnoth: Celtic Minstrel wesnoth:wfl_action_callable e79dd6244487 / src/ (11 files in 3 dirs): WIP Generalizing the FAI concept of action objects https://github.com/wesnoth/wesnoth/commit/e79dd624448754432909ae8057c90672553171e2 20170329 02:51:26< celticminstrel> PR966 20170329 02:52:14< celticminstrel> (And Vultraz, feell free to continue with whatever you were doing with add_input or whatever; I can rebase and resolve the conflicts.) 20170329 03:07:34-!- JyrkiVesterinen [~JyrkiVest@87-100-181-186.bb.dnainternet.fi] has joined #wesnoth-dev 20170329 03:08:52-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:c455:a1df:ed9d:4d63] has joined #wesnoth-dev 20170329 03:10:59-!- RatArmy [~ratarmy@om126161120054.8.openmobile.ne.jp] has joined #wesnoth-dev 20170329 03:13:22-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:c455:a1df:ed9d:4d63] has quit [Ping timeout: 246 seconds] 20170329 03:24:03-!- Kwandulin [~Kwandulin@p200300760F3E7D07FC807825AEB75CCD.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170329 03:34:55-!- wedge010 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20170329 03:36:22-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 264 seconds] 20170329 03:36:22-!- wedge010 is now known as wedge009 20170329 04:05:26-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Quit: ...] 20170329 04:06:16-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20170329 04:09:25< irker521> wesnoth: Charles Dang wesnoth:master 525a813c80ce / src/ (13 files in 5 dirs): Deployed formula_callable::add_input en-masse https://github.com/wesnoth/wesnoth/commit/525a813c80ced2359336d76120b348f1d3f1f72f 20170329 04:09:30< vultraz_iOS> celticminstrel: ^ 20170329 04:16:22< celticminstrel> vultraz_iOS: So there were no cases that didn't specify FORMULA_READ_ONLY? 20170329 04:16:36< vultraz_iOS> what? 20170329 04:16:41< celticminstrel> (The default when constructing a formula_input is apparently FORMULA_READ_WRITE.) 20170329 04:17:02< celticminstrel> Oh, I see one now actually. 20170329 04:17:08< vultraz_iOS> 99% of cases were READ_ONLY 20170329 04:17:14< vultraz_iOS> only a handful were READ_WRITE 20170329 04:17:28< vultraz_iOS> so i added an extra optional argument to add_input 20170329 04:17:38< celticminstrel> But uh... 20170329 04:17:54< celticminstrel> ...oh, never mind, I read this diff backwards. 20170329 04:25:47< irker521> wesnoth: Celtic Minstrel wesnoth:wfl_action_callable 2226e3224ab4 / src/ (11 files in 3 dirs): WIP Generalizing the FAI concept of action objects https://github.com/wesnoth/wesnoth/commit/2226e3224ab4db1f80d44e63f3456bf25eb579e7 20170329 04:42:36-!- RatArmy [~ratarmy@om126161120054.8.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170329 04:56:05-!- JyrkiVesterinen [~JyrkiVest@87-100-181-186.bb.dnainternet.fi] has quit [Quit: .] 20170329 05:04:27-!- celticminstrel is now known as celmin|sleep 20170329 05:10:13-!- Kwandulin [~Kwandulin@p200300760F3E7D07FC807825AEB75CCD.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170329 05:12:33< vultraz_iOS> celmin|sleep: should i move variant to game_Logic 20170329 05:12:34< vultraz_iOS> logic 20170329 05:14:15< vultraz_iOS> also, why isn't this class templated 20170329 05:14:20< vultraz_iOS> aer 20170329 05:14:21< vultraz_iOS> er 20170329 05:14:26< vultraz_iOS> why isn't this a class template 20170329 05:37:36< vultraz_iOS> celmin|sleep: I definitely think variant should be a class template 20170329 05:53:36-!- RatArmy [~ratarmy@om126161120054.8.openmobile.ne.jp] has joined #wesnoth-dev 20170329 05:54:39-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170329 06:07:20-!- Ivanovic [~ivanovic@p579FBCCD.dip0.t-ipconnect.de] has quit [Changing host] 20170329 06:07:20-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has joined #wesnoth-dev 20170329 06:48:15-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 06:54:54-!- aidanhs [~aidanhs@81.4.110.234] has quit [Ping timeout: 268 seconds] 20170329 06:56:10-!- aidanhs [~aidanhs@81.4.110.234] has joined #wesnoth-dev 20170329 06:56:27-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170329 07:03:26-!- JyrkiVesterinen [~JyrkiVest@85-76-135-236-nat.elisa-mobile.fi] has joined #wesnoth-dev 20170329 07:23:49-!- vincent_c [~bip@vcheng.org] has quit [Quit: Coyote finally caught me] 20170329 07:24:49-!- vincent_c [~bip@158.69.220.39] has joined #wesnoth-dev 20170329 07:32:32-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20170329 07:57:06-!- atarocch [atarocch@nat/redhat/x-dhfqxsrpplsvaozj] has joined #wesnoth-dev 20170329 08:06:31-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170329 08:58:46-!- JyrkiVesterinen [~JyrkiVest@85-76-135-236-nat.elisa-mobile.fi] has quit [Quit: .] 20170329 09:22:05-!- JyrkiVesterinen [~JyrkiVest@85-76-135-236-nat.elisa-mobile.fi] has joined #wesnoth-dev 20170329 09:23:18-!- RatArmy [~ratarmy@om126161120054.8.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170329 09:28:31-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20170329 09:28:37-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20170329 09:31:09< vultraz_iOS> zookeeper: https://gna.org/bugs/index.php?25626 20170329 09:31:50< zookeeper> :K 20170329 09:37:16-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [] 20170329 09:38:51< vultraz_iOS> celmin|sleep: so I can see two possible designs for the variant class: 20170329 09:39:19< vultraz_iOS> A: variant is a class template from which different subclasses such as variant_callable or variant_string inherit 20170329 09:39:54-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20170329 09:39:57< vultraz_iOS> in this model, the latter classes would be used directly, and variant would be them implementation detail 20170329 09:39:58< vultraz_iOS> OR 20170329 09:41:19< vultraz_iOS> B: i preserve variant as the class to use directly and use subclasses/helper classes to implement all the type functionality 20170329 09:41:33< vultraz_iOS> celmin|sleep: I think B might be better. 20170329 09:42:29-!- Kwandulin [~Kwandulin@p200300760F3E7D071C63414779E0387E.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170329 09:46:08< vultraz_iOS> though variant would probably still be a class template 20170329 09:51:01< JyrkiVesterinen> "A" likely wouldn't even work. Variants are usually used when the type of a value can, well, vary. 20170329 09:52:05< JyrkiVesterinen> If, say, a function receives a variant as a parameter, then it wouldn't be possible to replace the parameter with anything. Something like "void myfunc(variant<> parameter)" is invalid syntax. 20170329 09:53:42< vultraz_iOS> ah, yes 20170329 09:53:43< vultraz_iOS> good point 20170329 09:55:08< vultraz_iOS> I guess that means variant can't be a template at all 20170329 09:55:56< vultraz_iOS> *ponder* 20170329 09:58:42< vultraz_iOS> or is that not what you;re saying 20170329 09:59:20< JyrkiVesterinen> It is. Variant class itself can't be a template. 20170329 09:59:34< vultraz_iOS> ok 20170329 10:04:05-!- Appleman1234 [~Appleman1@pl46660.ag1212.nttpc.ne.jp] has quit [Ping timeout: 240 seconds] 20170329 10:05:00< vultraz_iOS> JyrkiVesterinen: what if I have a variant_base class that a bunch of type helper classes inherit from, and variant stores a variant_base member. Then, I make each of the overloaded ctors dynamic_cast that ptr to a specific helper class? 20170329 10:05:04< vultraz_iOS> would that work? 20170329 10:05:26< vultraz_iOS> ctors of variant* 20170329 10:05:42< JyrkiVesterinen> Variant needs to store the variant_base member as a pointer. With such an implementation it should work. 20170329 10:06:01< vultraz_iOS> right, meant to say pointer 20170329 10:11:17-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20170329 10:23:41< matthiaskrgr> wesnoth: ../src/gui/widgets/generator_private.hpp:708: virtual gui2::grid &gui2::generator::item(const unsigned int) [minimum_selection = gui2::policy::minimum_selection::no_item, maximum_selection = 20170329 10:23:46< matthiaskrgr> gui2::policy::maximum_selection::one_item, my_placement = gui2::policy::placement::vertical_list, select_action = gui2::policy::select_action::selection]: Assertion `index < items_.size()' failed. 20170329 10:23:50< matthiaskrgr> \o/ 20170329 10:24:21< vultraz_iOS> dammit 20170329 10:24:24< vultraz_iOS> matthiaskrgr: how to repro? 20170329 10:25:32< matthiaskrgr> multiplayer -> local game -> select map -> go to leader-selection of one team 20170329 10:26:20< matthiaskrgr> select the most bottom leader (in the selection bar) of a faction that has a lot of leaders (e.g. drakes, soothsayer) then switch to a faction that has fewer leaders 20170329 10:26:27< matthiaskrgr> (e.g. dwarves) 20170329 10:26:43< matthiaskrgr> hm wait 20170329 10:26:49< matthiaskrgr> it didnt crash now :( 20170329 10:27:21< vultraz_iOS> blahh 20170329 10:27:36< vultraz_iOS> I know what the problem is but if it's not consistent that makes it harder 20170329 10:28:01< matthiaskrgr> grr 20170329 10:28:35< vultraz_iOS> ill get to it sometime 20170329 10:28:44< matthiaskrgr> ok 20170329 10:29:03-!- RatArmy [~ratarmy@om126229080098.12.openmobile.ne.jp] has joined #wesnoth-dev 20170329 10:56:15-!- RatArmy [~ratarmy@om126229080098.12.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170329 11:11:39-!- irker521 [~irker@109.237.213.40] has quit [Quit: transmission timeout] 20170329 11:13:51-!- RatArmy [~ratarmy@om126229080098.12.openmobile.ne.jp] has joined #wesnoth-dev 20170329 11:16:12-!- Appleman1234 [~Appleman1@pl12427.ag1212.nttpc.ne.jp] has joined #wesnoth-dev 20170329 11:19:52-!- Kwandulin [~Kwandulin@p200300760F3E7D071C63414779E0387E.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170329 11:41:19-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20170329 11:57:52-!- RatArmy_ [~ratarmy@om126229080098.12.openmobile.ne.jp] has joined #wesnoth-dev 20170329 11:57:53-!- RatArmy [~ratarmy@om126229080098.12.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170329 11:58:26-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [] 20170329 12:08:00-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 12:13:17-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20170329 12:13:17-!- RatArmy_ [~ratarmy@om126229080098.12.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170329 12:17:27-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Ping timeout: 240 seconds] 20170329 12:19:11-!- RatArmy_ [~ratarmy@om126229080098.12.openmobile.ne.jp] has joined #wesnoth-dev 20170329 12:48:56-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 12:52:01-!- Kwandulin [~Kwandulin@p200300760F3E7D079D76510DD50A6D1D.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170329 13:00:04-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20170329 13:19:40-!- atarocch [atarocch@nat/redhat/x-dhfqxsrpplsvaozj] has quit [Remote host closed the connection] 20170329 13:44:56< DeFender1031> This is weird... for some reason, in the [story][part] tags, 1.13 seems to be repeating the [image] sequence twice. 20170329 13:47:07< JyrkiVesterinen> 1.13.7 or master? In master, vultraz is working on a storyscreen rewrite. 20170329 13:47:54< DeFender1031> and going back then forward is even weirder, it again runs it twice, but the second time, it runs without the delay, and then it doesn't actually bring up the next [part], it just sits there waiting until you hit a key. 20170329 13:48:14< DeFender1031> JyrkiVesterinen, this is my own build from master from last week or so. can check exactly when 20170329 13:48:37< vultraz_iOS> the new storyscreen is still disabled 20170329 13:48:39< vultraz_iOS> in master 20170329 13:48:47< vultraz_iOS> and it doesn't handle the flahsing image syet 20170329 13:48:50< DeFender1031> how do I pull 1.13.7 to check there? 20170329 13:49:30< DeFender1031> There's additional weirdness with the story screen aside from this, btw. 20170329 13:49:47< DeFender1031> Though, I suppose if there's a rewrite happening, most of these bugs will likely be irrelevant anyway 20170329 13:50:17< DeFender1031> still, makes it annoying to try to do things in the meantime. 20170329 13:50:46-!- celmin|sleep [~celmin@unaffiliated/celticminstrel] has quit [Ping timeout: 264 seconds] 20170329 13:51:12< DeFender1031> I'm trying to bring my campaign up-to-speed for 1.13, but encountering all these bugs makes it difficult. 20170329 13:51:12< vultraz_iOS> just leave it 20170329 13:51:23< vultraz_iOS> they'll go away soon 20170329 13:51:31-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20170329 13:51:33< DeFender1031> I'm also somewhat annoyed at how much slower the rendering is on 1.13 20170329 13:51:41< vultraz_iOS> uh... 20170329 13:51:44< DeFender1031> My animations are choppy. 20170329 13:51:48< vultraz_iOS> oh 20170329 13:51:55< vultraz_iOS> i thought you meant dialog rendering 20170329 13:51:57< DeFender1031> vultraz_iOS, not the dialog rendering. :P 20170329 13:51:59< vultraz_iOS> which was improved in 1.13 20170329 13:52:09< vultraz_iOS> and .7 20170329 13:52:12< vultraz_iOS> and better in master 20170329 13:52:20< DeFender1031> No, the dialog rendering is wonderful. 20170329 13:52:32< DeFender1031> But the actual game rendering is horrendous. 20170329 13:52:45< vultraz_iOS> to be expected 20170329 13:52:54< DeFender1031> Why? 20170329 13:53:04< vultraz_iOS> we haven't put any focus on that area 20170329 13:53:09< vultraz_iOS> into* 20170329 13:53:55< DeFender1031> If it were just that we haven't put anyfocus into that area it'd be one thing. If that were the case, it'd be the same as in 1.12. It's not. It's 4-5 times slower. 20170329 13:54:31< vultraz_iOS> hmm 20170329 13:54:34< vultraz_iOS> we'll investigate 20170329 13:54:45< DeFender1031> Even simple unit movement is choppy. 20170329 13:55:15< JyrkiVesterinen> Are you sure you're testing with an optimized build? 20170329 13:55:51< vultraz_iOS> that too 20170329 13:56:49< DeFender1031> JyrkiVesterinen, how do I do that? 20170329 13:56:57< DeFender1031> (scons or cmake) 20170329 13:57:46< JyrkiVesterinen> CMake makes debug builds by default, SCons defaults to release mode. 20170329 13:57:47< JyrkiVesterinen> https://github.com/wesnoth/wesnoth/blob/master/INSTALL 20170329 13:57:59< DeFender1031> well, this was built with scons 20170329 13:58:30< JyrkiVesterinen> With CMake, the way to turn on optimizations is adding -DCMAKE_BUILD_TYPE=release to the CMake command. 20170329 13:58:51< DeFender1031> oh yeah, I was doing that when I was using cmake as well. 20170329 13:59:17< DeFender1031> but if you're telling me that scons optimizes by default, then I'm at a loss. 20170329 13:59:34< JyrkiVesterinen> Hmm, strange. On my PC the game feels super smooth. I definitely don't experience "choppy single unit movement". 20170329 13:59:41< JyrkiVesterinen> *simple 20170329 13:59:57< DeFender1031> you have all effects turned on? 20170329 14:00:09< JyrkiVesterinen> Yes, default settings. 20170329 14:01:03< vultraz_iOS> perhaps he's seeing this 20170329 14:01:03< vultraz_iOS> https://gna.org/bugs/index.php?24919 20170329 14:01:35< DeFender1031> nope. It's my own unit that has default movement animation. 20170329 14:02:42< DeFender1031> Hmm... it lags less if I turn off water animation... 20170329 14:03:41< DeFender1031> But I don't have a particularly slow machine, and if it's doing this on my machine, I can only imagine what it looks like on slower ones. 20170329 14:03:58< vultraz_iOS> yes, the water animations are *extremely* inefficient 20170329 14:04:10< vultraz_iOS> remember 20170329 14:04:13< vultraz_iOS> all software rendering 20170329 14:04:14< vultraz_iOS> no GPU 20170329 14:04:25< DeFender1031> I really do like all the new animated terrains zookeeper has added, but it seems like some effort needs to be put into improving the game rendering to keep up. 20170329 14:04:35< DeFender1031> yes, I know. 20170329 14:06:36< DeFender1031> In other news, did 1.13 change how default vertical flipping for animations gets done? A lot of my animations have many of the halos vertically flipped from how they're supposed to be. 20170329 14:07:33< DeFender1031> And I'm still having the issue where animation frames are persisting past the end of the animation. 20170329 14:07:43< vultraz_iOS> ugh 20170329 14:07:48< vultraz_iOS> i touched the animation code 20170329 14:07:56< vultraz_iOS> i might have accidentally changed something 20170329 14:08:18< vultraz_iOS> anyway, we can't fix game rendering until we can implement hw accl 20170329 14:08:24< vultraz_iOS> and we can't do that until we drop gui1 20170329 14:08:28< vultraz_iOS> which ive been working on 20170329 14:08:44< DeFender1031> you can't use partial hw accl? 20170329 14:08:51< DeFender1031> for everything but gui1? 20170329 14:09:03< vultraz_iOS> apparently not 20170329 14:09:05< DeFender1031> :/ 20170329 14:10:21< Kwandulin> Yeah, 1.13 is pretty much unplayable on my 2x2.2ghz machine . . . 20170329 14:10:37< Kwandulin> I mean, it is a turn-based strategy game. That's one step above mine sweeper 20170329 14:11:12< DeFender1031> as for the animation code, I see two issues aside from the performance: 1. Stuff is vertically flipped from how it appeared in 1.12 and 2. The last frame of an animation persists after the animation is over. Not sure if by that I mean the last actual [frame] tag, or the last actually rendered still image created by the animation. Can do more testing to find out, though it APPEARS to be the latter. 20170329 14:12:43< DeFender1031> I also have a custom terrain which in 1.12 had a transparent background and in 1.13 is rendering with a magenta blob. (Though this may be the result of a badly formatted png rather than entirely wesnoth's fault. Will look more into it.) 20170329 14:14:02< Kwandulin> Regarding https://gna.org/bugs/index.php?24919: this also happens, when a unit with a halo is killed. The unit sprite diminishes, but the halo stays, until another unit is selected 20170329 14:15:45< DeFender1031> Hmm... the animation issue is even weirder than I described above. I have an animation here which is actually running longer than it should. Menaing, the animation seems to complete, the action continues, but one of the halos still animates itself for several more seconds, and then the last still frame persists. 20170329 14:16:30-!- atarocch [~atarocch@2.46.144.62] has joined #wesnoth-dev 20170329 14:16:40< JyrkiVesterinen> Uh. I am the last developer who has made nontrivial changes to halo code. 20170329 14:16:52< JyrkiVesterinen> Unfortunately I have too much other stuff on my plate. 20170329 14:22:41-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 14:25:11-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20170329 14:31:30< zookeeper> yeah, there's still some halo glitches. also, the software rendering is very slow and that's why the water tends to cause problems. 20170329 14:31:56< zookeeper> (the water rules are otherwise pretty much as efficiently done as possible) 20170329 14:32:13< vultraz_iOS> DeFender1031: how much of an animation is flipped? 20170329 14:34:38-!- JyrkiVesterinen [~JyrkiVest@85-76-135-236-nat.elisa-mobile.fi] has quit [Quit: Going home] 20170329 14:37:57< zookeeper> Kwandulin, out of curiosity, what CPU is that? 20170329 14:43:38< zookeeper> vultraz_iOS, there's something about advancement anims that's making them black instead of white 20170329 14:43:50 * vultraz_iOS curses 20170329 14:45:48< Kwandulin> zookeeper: some intel core duo type 20170329 14:46:06< zookeeper> okay 20170329 14:48:14< DeFender1031> vultraz_iOS, I think it's the halos. I don't have a testcase narrowed down, it's just differences I see between how my stuff looked in 1.12 and how it looks in 1.13. 20170329 14:49:54< DeFender1031> Also, the movement is right side up. For example, I have an animation where someone picks up a stone and then drops it. The stone's position and image is flipped vertically, but it still moves upward when picked up and downward when it's dropped. 20170329 14:50:49< DeFender1031> zookeeper, I had noticed that, but I had thought that was an intentional change, that someone just got bored of them being white. 20170329 14:51:33< zookeeper> can't blame one for thinking of that as a possibility :p 20170329 14:52:34< DeFender1031> zookeeper, wouldn't be the first minor thing that someone changed because they were bored with the old one. It's not like the menu music was changed under similar circumstances or anything, right? :P 20170329 14:53:56< zookeeper> oh i'm sure that's far from the most fitting example, which is probably something i've repressed my memories of 20170329 14:54:15< Kwandulin> The unit portraits in the help section of a unit type seems to be horizontally flipped, too 20170329 14:54:22< Kwandulin> -s 20170329 14:54:54< DeFender1031> Kwandulin, I doubt that's related to my issue, which is exclusively limited to vertical flippage. 20170329 14:54:58< zookeeper> yeah. even though everyone knows many were specifically supposed to never get flipped 20170329 15:08:51-!- irker526 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20170329 15:08:51< irker526> wesnoth: ln-zookeeper wesnoth:master cc6239061fcd / data/campaigns/Under_the_Burning_Suns/utils/abilities.cfg: UtBS: Fixed infinite loop in the support ability code (bug #25626) https://github.com/wesnoth/wesnoth/commit/cc6239061fcd6199b9cf0254fcb62f88c2e654e0 20170329 15:09:05< celticminstrel> vultraz_iOS: Why on earth would variant be a class template? 20170329 15:09:11< celticminstrel> [Mar 29@10:11:12am] DeFender1031: as for the animation code, I see two issues aside from the performance: 1. Stuff is vertically flipped from how it appeared in 1.12 and 2. The last frame of an animation persists after the animation is over. Not sure if by that I mean the last actual [frame] tag, or the last actually rendered still image created by the animation. Can do more testing to find out, though it APPEARS to be the latter. 20170329 15:09:28< celticminstrel> Is this on master or 1.13.7? I thought #2 was fixed on master. 20170329 15:09:42< vultraz_iOS> celticminstrel: never mind 20170329 15:09:49< celticminstrel> Though only if you're seeing it specifically for [animate_unit]... 20170329 15:09:53< vultraz_iOS> celticminstrel: I'm going another route 20170329 15:10:17< celticminstrel> vultraz_iOS: What on earth are you doing with the formula variant!? :| 20170329 15:10:44< vultraz_iOS> celticminstrel: refactoring it 20170329 15:10:53< celticminstrel> That's not an answer. :| 20170329 15:11:00< celticminstrel> Are you making it use boost::variant instead of a union? 20170329 15:11:18< celticminstrel> I recall I tried doing that once before. 20170329 15:12:33< vultraz_iOS> well, no 20170329 15:13:04< celticminstrel> So what are you doing? 20170329 15:13:07< celticminstrel> (And why?) 20170329 15:14:33< vultraz_iOS> I'm delegating the value to a smart pointer of a base value class, from which different type classes can inherit and implement their necessary functions, then use dynamic_pointer_cast in the various ctors to cast the value ptr to the relevant type 20170329 15:14:43< celticminstrel> Why? 20170329 15:14:56< vultraz_iOS> because I feel like it and it's quite messy right now 20170329 15:15:09< celticminstrel> It's frankly not all that messy right now. 20170329 15:15:24< celticminstrel> And TBH what you describe sounds even messier to me, 20170329 15:15:39< celticminstrel> I think you also missed the point of something Jyrki said. 20170329 15:15:46< vultraz_iOS> not to mention the union means it has to do messy manual pointer management since unions want POD stuff 20170329 15:15:55< celticminstrel> [Mar 29@06:05:42am] JyrkiVesterinen: Variant needs to store the variant_base member as a pointer. With such an implementation it should work. 20170329 15:16:09< celticminstrel> ^ Pretty sure the pointer he was referring to there was the implicit pointer to the base clas. 20170329 15:16:13< celticminstrel> ^class 20170329 15:16:26< celticminstrel> ...which isn't always a pointer though, I guess. 20170329 15:16:52< celticminstrel> Yeah, okay, there is that messy pointer management due to union restrictions, sure. 20170329 15:17:11< celticminstrel> But having a subclass per possible value type feels far messier. 20170329 15:17:48< vultraz_iOS> actually, looking at the code, I think I can probably merge a few of them 20170329 15:17:55< celticminstrel> Merge a few of what now? 20170329 15:17:57< vultraz_iOS> for example, I don't need a subclass for both map and list 20170329 15:18:01< celticminstrel> Why not? 20170329 15:18:11< celticminstrel> Map and list are different. 20170329 15:18:43< vultraz_iOS> im still in the middle of working, so I'm not sure 20170329 15:19:15< vultraz_iOS> i suppose boost::variant is another solution 20170329 15:19:18< vultraz_iOS> I hadn't considered... 20170329 15:23:37< celticminstrel> I did have some problems with that solution, mind you. I can't remember why I gave up on it though... 20170329 15:23:51< celticminstrel> It should be possible to make it work. 20170329 15:24:07< vultraz_iOS> still, i feel loath to give up my work.. 20170329 15:24:10< celticminstrel> I think variant does require all its members to have complete types. 20170329 15:24:20< celticminstrel> boost::variant I mean 20170329 15:26:31< vultraz_iOS> my solution is a little long.. 20170329 15:29:27< celticminstrel> I think both your solution and the boost variant would be longer than the current solution. 20170329 15:29:51< celticminstrel> The boost variant solution requires creating a visitor struct for nearly every member function. 20170329 15:30:36 * vultraz_iOS ponders what to do with the as_*() functions 20170329 15:30:45< celticminstrel> Uh, those are casts. 20170329 15:30:53< vultraz_iOS> no? 20170329 15:30:57< celticminstrel> Yes, they are casts. 20170329 15:31:00< vultraz_iOS> they're variable fetches 20170329 15:31:23< celticminstrel> They're the same as the config::attribute_value::to_* 20170329 15:31:30< celticminstrel> A request to cast the value to some particular type. 20170329 15:31:31< vultraz_iOS> ....what? 20170329 15:31:48-!- atarocch [~atarocch@2.46.144.62] has quit [Ping timeout: 240 seconds] 20170329 15:31:50< vultraz_iOS> must_be(TYPE_STRING); 20170329 15:31:50< vultraz_iOS> assert(string_); 20170329 15:31:50< vultraz_iOS> return *string_; 20170329 15:31:56< vultraz_iOS> this isnt casting :| 20170329 15:32:15< celticminstrel> Ah, I suppose. 20170329 15:32:24< celticminstrel> The numerical ones do cast if necessary. 20170329 15:34:25-!- atarocch [~atarocch@2.46.144.62] has joined #wesnoth-dev 20170329 15:36:28< vultraz_iOS> I guess I have to keep those 20170329 15:36:55< celticminstrel> If I added a bool type, that would probably also cast to int if necessary (and int would cast to bool if necessary, and maybe null would also cast to bool). 20170329 15:37:28< vultraz_iOS> there's already an as_bool... 20170329 15:37:40< celticminstrel> Yeah, but there's no actual bool type. 20170329 15:37:56< celticminstrel> So as_bool just interprets an int or null as a boolean value, or something. 20170329 15:42:27< vultraz_iOS> this is probably going to take me another day or so 20170329 15:42:33< vultraz_iOS> it's hell 20170329 15:42:40< vultraz_iOS> lishly tedious 20170329 15:43:12< celticminstrel> Yeah. 20170329 15:43:47< vultraz_iOS> and I haven't even tried building once :P 20170329 15:44:00< vultraz_iOS> also need to figure out the best way to use dynamic_pointer_cast 20170329 15:46:05< vultraz_iOS> I wonder if I should implement sane defaults for these as_*() functions 20170329 15:46:20< vultraz_iOS> in the case of a helper class not implementing one 20170329 15:47:40< vultraz_iOS> ie, just forward as_string() and if a subclass doesn't implement as_string, you get "" 20170329 15:47:49< vultraz_iOS> celticminstrel: thoughts? 20170329 15:48:27< celticminstrel> Uh, what does must_be() do again? 20170329 15:48:43< vultraz_iOS> throw error if type is wrong 20170329 15:48:58< celticminstrel> Well, that seems like reasonable behaviour to me. 20170329 15:49:01< vultraz_iOS> I might still keep that 20170329 15:49:15< celticminstrel> Note that in many cases the error ends up being caught and you get null back. 20170329 15:49:19< vultraz_iOS> saves some code to avoid implementing copies in the value base class that throw 20170329 15:49:32< vultraz_iOS> but, we'll see... 20170329 15:50:09< vultraz_iOS> there's also a lot of duplication here 20170329 15:50:19< vultraz_iOS> especially between TYPE_LIST (which is really a vector) and TYPE_MAP 20170329 15:50:22< celticminstrel> I think your method might be highly inconvenient. 20170329 15:50:37< celticminstrel> You have a base class, right, and then various subclasses for each type? 20170329 15:50:56< celticminstrel> "which is really a vector" Who cares, a vector is a type of list. 20170329 15:50:56< vultraz_iOS> archtype, hopefully 20170329 15:51:13< celticminstrel> Well, do you realize that your base class cannot have any public constructors? 20170329 15:51:30< vultraz_iOS> it doesn't need any 20170329 15:51:58< celticminstrel> So what about copy construction? 20170329 15:52:07< celticminstrel> Variants are copied everywhere, after all. 20170329 15:52:30< vultraz_iOS> I'm going to implement the value in the variant class with a shared_ptr 20170329 15:52:35-!- atarocch [~atarocch@2.46.144.62] has quit [Ping timeout: 240 seconds] 20170329 15:52:51< vultraz_iOS> though I'm not 100% sure what I want to do will work 20170329 15:52:58< celticminstrel> Maybe I misunderstood what you're trying to do. 20170329 15:53:14< vultraz_iOS> essentially, the variant class has this: std::shared_ptr value_; 20170329 15:53:51< celticminstrel> Is null represented by an actual nullptr then? :P 20170329 15:54:02-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 15:54:03< vultraz_iOS> then the various ctors are supposed to use dynamic_pointer_cast to change the value to an appropriate type that obviously inherits from variant_value_base 20170329 15:54:29< celticminstrel> Hmm, as long as variant_value_base has no public constructors but does provide a virtual clone function, I think that should be workable... 20170329 15:54:30< vultraz_iOS> but then the question is whether this will work: 20170329 15:54:38< vultraz_iOS> value_ = std::dynamic_pointer_cast(value_); 20170329 15:54:38< vultraz_iOS> value_.reset(new game_logic::variant_int(n)); 20170329 15:54:43< vultraz_iOS> for example 20170329 15:54:54< vultraz_iOS> variant_value_base has no ctors - it doesn't need any 20170329 15:54:54< celticminstrel> What's the first line from? 20170329 15:55:08< vultraz_iOS> I intend to put it in the variant int ctor 20170329 15:55:15< celticminstrel> That's code for "variant_value_base has three constructors". :P 20170329 15:55:25< celticminstrel> Default, copy, and move. 20170329 15:55:37< vultraz_iOS> yeah, see... 20170329 15:56:02< vultraz_iOS> wait 20170329 15:56:03< celticminstrel> I think I'd suggest making them protected, at least. 20170329 15:56:04< vultraz_iOS> what do you mean 20170329 15:56:36< celticminstrel> A class with no declared constructors has three implicit constructors - the default (no-argument) constructor, the copy constructor, and the move constructor. 20170329 15:57:01< vultraz_iOS> I could delete them 20170329 15:57:06< celticminstrel> protected: variant_value_base() = default; variant_value_base(const variant_value_base&) = default; variant_value_base(variant_value_base&&) = default 20170329 15:57:16< celticminstrel> You could delete them too, sure. 20170329 15:57:21< celticminstrel> But you can't delete the default one, at least. 20170329 15:57:33< celticminstrel> And making them protected is probably more useful. 20170329 15:58:04< celticminstrel> Because then there can be a public "virtual variant_value_base* clone() = 0" which delegates to the copy constructor. 20170329 15:58:10< vultraz_iOS> (btw, no, TYPE_NULL won't be a nullptr. TYPE_NULL will be a value ptr to variant_value_base itself) 20170329 15:58:34-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 264 seconds] 20170329 15:58:55-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 15:59:00< vultraz_iOS> ie, no cast 20170329 15:59:11< celticminstrel> Or that could be shated_ptr instead in the return type, I think... though that might prevent you from doing covariant returns... 20170329 15:59:31< celticminstrel> I don't understand what this cast is. 20170329 15:59:32< DeFender1031> celticminstrel, master from a week or so ago. And yes, specifically for [animate_unit] 20170329 15:59:52< celticminstrel> Does the cast even actually do anything? It seems like it doesn't. 20170329 16:00:09< celticminstrel> Yeah, I'm pretty sure that cast is a no-op. 20170329 16:00:31< celticminstrel> shared_ptr value_; value = dynamic_pointer_cast(value_); 20170329 16:00:43-!- JyrkiVesterinen [~JyrkiVest@89-166-105-72.bb.dnainternet.fi] has joined #wesnoth-dev 20170329 16:00:49< vultraz_iOS> celticminstrel: no no no 20170329 16:00:56< celticminstrel> Sorry, replace the first variant_value_base with variant_int. 20170329 16:01:03< celticminstrel> I mean the second. 20170329 16:01:03< vultraz_iOS> the point is to DPC to a new type that inherits from variant_value_base 20170329 16:01:18< celticminstrel> shared_ptr value_; value = dynamic_pointer_cast(value_); 20170329 16:01:22< celticminstrel> Like that? 20170329 16:01:30< vultraz_iOS> yes 20170329 16:01:33< vultraz_iOS> at least, I hope 20170329 16:01:43< vultraz_iOS> I don't know if it will work :| 20170329 16:01:49< celticminstrel> Yeah, so that cast is literally a waste of time. It casts to variant_int and then is immediately casted back to variant_value_base. 20170329 16:02:05< celticminstrel> value_.reset(new variant_int(n)); alone should be sufficient. 20170329 16:02:29< vultraz_iOS> even if value_ is of variant_value_base and not variant_int? 20170329 16:02:40< celticminstrel> Yes, because variant_int inherits from variant_value_base. 20170329 16:02:54< vultraz_iOS> ahh 20170329 16:02:55< vultraz_iOS> ok 20170329 16:02:58< vultraz_iOS> much simpler then 20170329 16:03:07< celticminstrel> Yeah. :P 20170329 16:08:01< vultraz_iOS> I haven't even begun looking at variant_iterator 20170329 16:13:34-!- Appleman1234 [~Appleman1@pl12427.ag1212.nttpc.ne.jp] has quit [Ping timeout: 264 seconds] 20170329 16:13:53< celticminstrel> variant_iterator is for iterating over a variant that happens to be a list or map, IIRC. 20170329 16:14:01< celticminstrel> Without having to know which it is. 20170329 16:14:11< celticminstrel> I think. 20170329 16:18:34-!- atarocch [~atarocch@37.176.226.154] has joined #wesnoth-dev 20170329 16:27:35< vultraz_iOS> tfw you have 4 functions almost exactly duplicated except for one line 20170329 16:36:19-!- Kwandulin [~Kwandulin@p200300760F3E7D079D76510DD50A6D1D.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170329 16:39:05-!- atarocch [~atarocch@37.176.226.154] has quit [Ping timeout: 240 seconds] 20170329 16:39:29-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 16:45:57-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Ping timeout: 240 seconds] 20170329 16:47:07-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 16:49:03-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20170329 16:51:54-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 16:53:26-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20170329 16:56:03-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Read error: Connection reset by peer] 20170329 16:56:04-!- bumba [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20170329 16:56:46< DeFender1031> celticminstrel, vultraz_iOS, just checked the latest master. The animation persist issue does seem to have been fixed, but the vflip issue is still present. 20170329 16:57:12-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 16:57:36< celticminstrel> Yeah, that'd be an issue in the actual animation system rather than the Lua API. I haven't touched that. 20170329 16:57:36-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20170329 16:58:52 * celticminstrel wonders if anyone wants to comment on PR966. 20170329 17:01:02-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 17:03:16-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20170329 17:16:22-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 17:23:30-!- Appleman1234 [~Appleman1@pl10188.ag1212.nttpc.ne.jp] has joined #wesnoth-dev 20170329 17:25:11-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20170329 17:29:27-!- Kwandulin [~Kwandulin@p200300760F3E7D07197F493D934A7D32.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170329 17:29:53-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20170329 17:33:53-!- ChipmunkV [~vova@static-89-94-113-91.axione.abo.bbox.fr] has joined #wesnoth-dev 20170329 17:37:05-!- atarocch [~atarocch@31.157.81.179] has joined #wesnoth-dev 20170329 18:04:12-!- atarocch [~atarocch@31.157.81.179] has quit [Remote host closed the connection] 20170329 18:07:08-!- mjs-de [~mjs-de@x4e31f467.dyn.telefonica.de] has joined #wesnoth-dev 20170329 18:09:12-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170329 18:09:20-!- irker526 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20170329 18:13:58-!- irker345 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20170329 18:13:58< irker345> wesnoth: Jyrki Vesterinen wesnoth:master cd2202914fa0 / src/gui/widgets/scroll_label.cpp: Fix an error message during scroll label initial layout https://github.com/wesnoth/wesnoth/commit/cd2202914fa037ccabeb5acfe9ed65606162cac4 20170329 18:16:37-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170329 18:45:01-!- markus_ [~mjs-de@x4e329c98.dyn.telefonica.de] has joined #wesnoth-dev 20170329 18:47:00-!- bumba [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Read error: Connection reset by peer] 20170329 18:47:34-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20170329 18:48:58-!- mjs-de [~mjs-de@x4e31f467.dyn.telefonica.de] has quit [Ping timeout: 264 seconds] 20170329 18:49:27-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 18:50:12-!- atarocch [~atarocch@93.56.160.28] has joined #wesnoth-dev 20170329 18:53:48-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 256 seconds] 20170329 19:17:45-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has quit [Quit: Connection closed for inactivity] 20170329 19:27:40-!- markus_ [~mjs-de@x4e329c98.dyn.telefonica.de] has quit [Ping timeout: 260 seconds] 20170329 19:34:39-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 19:43:02-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170329 19:53:00-!- JyrkiVesterinen [~JyrkiVest@89-166-105-72.bb.dnainternet.fi] has quit [Quit: .] 20170329 20:09:13-!- ChipmunkV [~vova@static-89-94-113-91.axione.abo.bbox.fr] has quit [Quit: ChipmunkV] 20170329 20:35:27-!- aeth_ [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20170329 20:36:02-!- Kwandulin [~Kwandulin@p200300760F3E7D07197F493D934A7D32.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170329 20:36:05-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Quit: Reconnecting] 20170329 20:40:43-!- aeth_ is now known as aeth 20170329 20:44:56-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 20:48:06-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170329 20:48:42-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 20:53:04-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 260 seconds] 20170329 21:06:26-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has joined #wesnoth-dev 20170329 21:07:33-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 21:08:41-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Read error: Connection reset by peer] 20170329 21:09:14-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20170329 21:14:13-!- irker345 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20170329 21:22:34-!- RatArmy_ [~ratarmy@om126229080098.12.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170329 21:42:38< vultraz_iOS> celticminstrel: can operators be virtual? 20170329 21:49:42< celticminstrel> I think the best way to find out would be to try it? 20170329 21:49:44-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170329 21:49:49< celticminstrel> Though I think I'd also avoid it, personally... 20170329 21:50:07< celticminstrel> You can always create private/protected named membets and have the operators simply delegate to those. 20170329 21:50:13< celticminstrel> ^members 20170329 21:50:18< celticminstrel> (Virtual members of course;) 20170329 21:53:19< vultraz_iOS> true 20170329 21:55:13-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170329 21:55:30< celticminstrel> You don't have any comments on PR966 BTW? 20170329 21:58:24< vultraz_iOS> i do not 20170329 21:58:41< celticminstrel> Even just comments on how the API works? 20170329 21:59:26< vultraz_iOS> i don't fully understand it 20170329 21:59:56< celticminstrel> Did you look at the PR and read what I wrote in the description? 20170329 22:00:52< vultraz_iOS> hmmm 20170329 22:02:03< vultraz_iOS> i don't know 20170329 22:04:58< celticminstrel> So basically the API additions are: variant::execute_variant(variant) which runs its argument in a context defined by "this", returning a variant containing a list of what was executed (so, excluding anything that couldn't be executed); and the new action_callable subclass of formula_callable which provides an execute(variant) function whose argument is the context in which to execute the variant;, and returns true (for success), fa 20170329 22:04:59< celticminstrel> (for non-fatal error or no-op), or a safe_call_result indicating an error message. 20170329 22:10:15-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170329 22:14:26-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Remote host closed the connection] 20170329 23:00:02-!- gfgtdf [~chatzilla@78.54.158.228] has joined #wesnoth-dev 20170329 23:00:07< gfgtdf> i wonder what this wml_tracking https://github.com/wesnoth/wesnoth/blob/master/src/game_events/pump.hpp#L122 does exactly 20170329 23:00:34< gfgtdf> it seems like its meant to determine whether there was actualyl a handler executed when event pump.fire() was called 20170329 23:00:36< gfgtdf> but 20170329 23:01:12< gfgtdf> it also incrreses when resources::lua_kernel->run_event has returned true 20170329 23:02:23< gfgtdf> and afaik luas on_event handler has no way to tell whether there was realyl gamechanging code activated, 20170329 23:03:06< gfgtdf> so it seems like all optimisations based on wml_tacking() are moot as soon as somone uses wesnoth.game_events.on_event 20170329 23:03:24< gfgtdf> i wonder whether we should maybe remove those optimisations. 20170329 23:03:43-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 246 seconds] 20170329 23:04:17< gfgtdf> oh it seems like github can now do text search for commits 20170329 23:05:32< celticminstrel> gfgtdf: Any comments on PR966 while you're here? 20170329 23:06:07< gfgtdf> celticminstrel: not really, i don 20170329 23:06:40< gfgtdf> 't realyl use formula in my addons so i didn't bother with its intrinsics too much. 20170329 23:06:56< celticminstrel> I'm more interested in just whether the API makes sense, though... 20170329 23:10:13< gfgtdf> celticminstrel: hmm not sure, what woudl a usecase look like ? 20170329 23:11:12< celticminstrel> Evaluate a formula to get back a variant, then pass that to variant::execute_variant(). 20170329 23:12:13< celticminstrel> Then that'll call action_callable::execute() passing the base variant (the variant on which you called execute_variant, not the one you passed in that you got back from the formula). 20170329 23:14:30< gfgtdf> celticminstrel: hmm wait, all it does is replacing that big switch/if block in formula_ai::execute_variant with virtual memeber function of action_callable::execute subclasses ? 20170329 23:14:49< celticminstrel> Pretty much? 20170329 23:15:09< celticminstrel> It removes formula_ai::execute_variant entirely; its general function is moved to variant::execute_variant. 20170329 23:15:51< gfgtdf> celticminstrel: hm ye makes sense to me i guess. 20170329 23:30:35-!- RatArmy_ [~ratarmy@om126237112041.9.openmobile.ne.jp] has joined #wesnoth-dev 20170329 23:33:53< gfgtdf> celticminstrel: i wonder where those action_callable/formula_callable are supposed to be deleted? the function create it with new, but variant::release() does not delete anything for callables 20170329 23:34:30< gfgtdf> the functions that return actiosn callable i mean 20170329 23:34:45< celticminstrel> Originally it would've been deleted by the intrusive_ptr, I think. 20170329 23:34:52< celticminstrel> Not sure now that vultraz removed that. 20170329 23:38:57< gfgtdf> vultraz_iOS: please fix http://gna.org/bugs/?25076 (memleak in forumla code), a simple delete in for callable_ in variant::release() migth be enough,, but i'm not sure whether there are other cases where one wouldn't want it to be deleted. 20170329 23:39:36< celticminstrel> A simple delete in variant::release() may not be enough. 20170329 23:39:47< celticminstrel> Because it's possible the same callable might be referenced by multiple variants. 20170329 23:40:22< celticminstrel> I'd recommend vultraz_iOS stores the references to the callable as a shared_ptr instead of a bare pointer, perhaps as part of his current crazy refactor. 20170329 23:50:34-!- gfgtdf [~chatzilla@78.54.158.228] has quit [Quit: ChatZilla 0.9.93 [Firefox 52.0.1/20170316213829]] --- Log closed Thu Mar 30 00:00:21 2017