--- Log opened Sun Apr 03 00:00:52 2016 --- Day changed Sun Apr 03 2016 20160403 00:00:52< Aginor> so still are things still broken? 20160403 00:01:22< vultraz> locally 20160403 00:01:24< vultraz> for me 20160403 00:02:21< Aginor> are the random crashes fixed? 20160403 00:02:50< vultraz> not sure 20160403 00:03:29< vultraz> I think so 20160403 00:04:06-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20160403 00:04:12< vultraz> looks like it 20160403 00:04:37< vultraz> before you do any rebasing, do wait until I get this std::function stuff done 20160403 00:04:42< vultraz> it's a big change 20160403 00:07:04< Aginor> ok 20160403 00:07:17< Aginor> I'll check again next weekend or so 20160403 00:07:35< vultraz> it won't take me that long :P 20160403 00:07:43< vultraz> just until later today 20160403 00:07:52< irker332> wesnoth: gfgtdf wesnoth:master bc84ecf743d8 / src/game_initialization/multiplayer.cpp: Attempt to fix gcc compilation https://github.com/wesnoth/wesnoth/commit/bc84ecf743d8ccc73071476a8057018c0728e2ba 20160403 00:16:29-!- danni [~quassel@203-206-161-81.perm.iinet.net.au] has joined #wesnoth-dev 20160403 00:21:09< vultraz> hm 20160403 00:21:21< vultraz> so I was hoping connect_signal([this](twindow* w) { w->draw(); }); could replace connect_signal(std::bind(&twindow::draw, this)); but it does not 20160403 00:23:33< vultraz> (since there were errors about twindow::draw being an unresolved overload in the latter's case.. for some reason) 20160403 00:24:03< vultraz> anyway will 20160403 00:24:05< Aginor> vultraz: you'll be causing a lot of conflicts for me 20160403 00:24:05< vultraz> wait for celticminstrel 20160403 00:24:23< vultraz> Aginor: hm? 20160403 00:25:14< Aginor> since I've been revamping a lot of those things, if you are changing them as well it will cause conflicts 20160403 00:25:44< vultraz> there'll likely be conflicts anyway, since GUI2 uses boost::bind extensively 20160403 00:26:06< vultraz> but I'm not trying to rewrite anything 20160403 00:26:08< Aginor> ok 20160403 00:26:16< vultraz> just trying to see if something shuts up these errors 20160403 00:27:02< vultraz> else I get this: src\gui\widgets\window.cpp|354|error: no matching function for call to 'bind(, gui2::twindow*)'| 20160403 00:29:20< vultraz> I just want the version without any arguments 20160403 00:30:20< Aginor> have you intoduced one? 20160403 00:31:05< vultraz> there is one.. 20160403 00:31:16 * Aginor shrugs 20160403 00:31:30< Aginor> I'm not on my dev machine at the moment 20160403 00:31:32< vultraz> twindow::draw(), which is public, and twindow::draw(surface, bool, bool), which is private 20160403 00:32:40-!- nos_ [~nos@208.91.185.104] has joined #wesnoth-dev 20160403 00:33:03-!- prkc [~prkc@catv-80-98-243-98.catv.broadband.hu] has quit [Ping timeout: 240 seconds] 20160403 00:33:44-!- nos_ is now known as NosajIRL 20160403 00:34:43-!- travis-ci [~travis-ci@ec2-54-197-178-246.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 00:34:44< travis-ci> wesnoth/wesnoth#9179 (master - bc84ecf : gfgtdf): The build is still failing. 20160403 00:34:44< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120357967 20160403 00:34:44-!- travis-ci [~travis-ci@ec2-54-197-178-246.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 00:34:48-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20160403 00:38:56< irker332> wesnoth: gfgtdf wesnoth:master 479f1b3d5263 / SConstruct: also allow c++1y in SConstruct https://github.com/wesnoth/wesnoth/commit/479f1b3d52633ec0667e48d9256e8c5e836cd754 20160403 00:42:09-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20160403 00:46:37-!- prkc [~prkc@gateway/vpn/privateinternetaccess/prkc] has joined #wesnoth-dev 20160403 00:48:41-!- gfgtdf [~chatzilla@x4e36a6e9.dyn.telefonica.de] has joined #wesnoth-dev 20160403 00:51:28< gfgtdf> hmm could it be that the travis clang 3.5 from out travi build still uses the shitty 4.8 libstdc++ ? 20160403 00:57:59-!- prkc [~prkc@gateway/vpn/privateinternetaccess/prkc] has quit [Remote host closed the connection] 20160403 00:59:31< celticminstrel> gfgtdf: Did 1cc86a14af fix the playtests on Travis? 20160403 01:00:08< gfgtdf> celticminstrel: yes it did but the c++14 tests still fails 20160403 01:00:22< gfgtdf> celticminstrel: i think it fails becasue it uses libstdc++ from gcc 4.8 20160403 01:00:28< celticminstrel> vultraz: I don't really understand your situation; I'll need more info if you want me to give insight. 20160403 01:00:31< gfgtdf> celticminstrel: even when compiling with clang 3.5 20160403 01:00:46< vultraz> celticminstrel: it seems std::bind is having trouble with overloaded functions 20160403 01:00:58< celticminstrel> vultraz: Well yes, it would. 20160403 01:01:07< celticminstrel> You need to manually cast them for it to work. 20160403 01:01:22< gfgtdf> vultraz: boost::bind had those problems too afaik 20160403 01:01:31< gfgtdf> vultraz: just use labdas there 20160403 01:01:36< vultraz> how? 20160403 01:01:51< gfgtdf> instead of bind 20160403 01:01:53< vultraz> I tried this connect_signal([&, this](twindow* w) { w->draw(); }); but it doesn't work 20160403 01:02:24< gfgtdf> vultraz: yes yes becasue that code is doesnt make sense. 20160403 01:02:34< gfgtdf> vultraz: beacsue the body doesnt seem to use 'this' 20160403 01:02:48< vultraz> hm 20160403 01:02:56< celticminstrel> gfgtdf: Though that's true, it doesn't make it invalid. 20160403 01:03:04< celticminstrel> There's no rule against capturing things and then not using them. 20160403 01:03:10< gfgtdf> celticminstrel: hmm yes, but it means that he is mostlikeley doing something wrong. 20160403 01:03:12< vultraz> im still new to using lambdas, how is the right way? 20160403 01:03:20< celticminstrel> True, he might be doing something wrong. 20160403 01:03:28< celticminstrel> vultraz: What's the expected signature? 20160403 01:03:38< celticminstrel> The parameter declaration in connect_signal 20160403 01:04:06< celticminstrel> (Also, why are you using a lambda? I thought you were just replacing boost::bind with std::bind.) 20160403 01:04:38< vultraz> I was 20160403 01:04:44< vultraz> but 20160403 01:04:50< vultraz> [11:27:01] vultraz else I get this: src\gui\widgets\window.cpp|354|error: no matching function for call to 'bind(, gui2::twindow*)'| 20160403 01:05:09< vultraz> (same sort of error that was in repeating button, but I just commented that out for now) 20160403 01:05:28< vultraz> anyway, connect_signal expects a .. const tsignal_function& signal 20160403 01:06:11< vultraz> which is a typdef for std::function 20160403 01:08:22< celticminstrel> I've suspected for awhile that Boost.Bind produces variadic functions while C++11 bind produces fixed-arity functions. 20160403 01:08:48< celticminstrel> That might be the cause of this error - the function you're passing takes only a tdispatcher but no tevent or bool&s. 20160403 01:09:15< vultraz> right 20160403 01:09:25< vultraz> so how might I do this with a lambda 20160403 01:09:44< celticminstrel> I think it might be easier to do it with bind, but I need to think about that for a bit... 20160403 01:09:57< celticminstrel> With a lambda, you'd just need to declare it with all four arguments. 20160403 01:10:53< vultraz> four? 20160403 01:11:00< vultraz> oh yes 20160403 01:11:27< vultraz> wait, I'm confused 20160403 01:12:02< celticminstrel> [](twindow& win, const tevent, bool& bool) {...} 20160403 01:12:15< celticminstrel> Whoops, missed a comma there. 20160403 01:12:19< vultraz> so you don't need to capture 'this'? 20160403 01:13:18< celticminstrel> Only if you need to access it and the first argument is not twindow& (for example, I think it could be something like a tcontrol&?) 20160403 01:13:37< celticminstrel> I'm actually not sure the first argument should be twindow... 20160403 01:14:43< celticminstrel> Hmm, I think you could get away with only one dummy argument using bind. 20160403 01:14:57< gfgtdf> vultraz: im quite sure that the previous code called draw() on this and not on the given window 20160403 01:15:18< vultraz> I think so too 20160403 01:15:23< celticminstrel> What was the original bind call? 20160403 01:15:43< gfgtdf> vultraz: so if you want to stay close to the previous code you shodul write ' draw();' which is an alias for ' this->draw();' instead of ' w->draw();' 20160403 01:15:53< vultraz> connect_signal(std::bind(&twindow::draw, this)); 20160403 01:16:24< celticminstrel> I think this would work: connect_signal(std::bind(&twindow::draw, this, _4)); 20160403 01:16:33< celticminstrel> And add a dummy bool argument to twindow::draw. 20160403 01:17:26< gfgtdf> celticminstrel: hmm thta'd lok bad, i'd rather stick with boost::bind actullay if std::bind is incapable of habdling ushc situations. 20160403 01:17:40< celticminstrel> Yeah, it might actually be better to stick to Boost.Bind. 20160403 01:17:40< gfgtdf> handlig such situations* 20160403 01:18:04-!- travis-ci [~travis-ci@ec2-54-159-167-2.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 01:18:05< travis-ci> wesnoth/wesnoth#9180 (master - 479f1b3 : gfgtdf): The build is still failing. 20160403 01:18:05< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120360938 20160403 01:18:05-!- travis-ci [~travis-ci@ec2-54-159-167-2.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 01:19:36 * celticminstrel tries to find out whether Boost.Bind will work in conjunction with std::function; hopes so. 20160403 01:19:37< vultraz> re-including boost::bind makes references to the placeholders ambiguous :| 20160403 01:20:21< celticminstrel> That's because of the using namespace. 20160403 01:20:28< vultraz> yes, I know 20160403 01:20:56< vultraz> this is all very annoying 20160403 01:21:10< celticminstrel> I think boost::bind should be able to fit into an std::function, but not quite sure. Never tried it. 20160403 01:21:35< gfgtdf> is there an online actucle that sahows in which sitaution exactly std::bind won't work ? 20160403 01:22:28< vultraz> celticminstrel: btw, if I try your lambda method (connect_signal([](twindow& win, const gui2::event::tevent, bool&, bool) { draw(); });) it says 'this' is not captured. 20160403 01:22:54< celticminstrel> Right, you need to declare captured things within the initial []. 20160403 01:24:43< celticminstrel> I don't think the lambda is an improvement over boost::bind, though. 20160403 01:26:55< vultraz> not unless it can be done without that long argument list :/ 20160403 01:27:02< celticminstrel> If we really want to move to std::bind, I think the proper approach would be to modify connect_signal in some way to allow passing functors of different signatures. 20160403 01:27:29< celticminstrel> But I also think that it would be fine to use std::function but boost::bind. (Provided that works, but I think it should.) 20160403 01:27:52< vultraz> we'd have to specify std::placeholders, though :| 20160403 01:28:04-!- gfgtdf_ [~chatzilla@x4e36a8ae.dyn.telefonica.de] has joined #wesnoth-dev 20160403 01:28:08< vultraz> for other functions that use std::bind 20160403 01:28:15< celticminstrel> Or just use boost::bind everywhere. 20160403 01:28:20< gfgtdf_> vultraz: so what exactly was teh cimpiler output that connect_signal(std::bind(&twindow::draw, this)); ´gave you ? 20160403 01:28:40< vultraz> [11:27:01] vultraz else I get this: src\gui\widgets\window.cpp|354|error: no matching function for call to 'bind(, gui2::twindow*)'| 20160403 01:28:56< celticminstrel> I wonder if std::bind could be set up to recognized Boost.Bind placeholders... 20160403 01:29:19< celticminstrel> ^-d 20160403 01:30:05-!- gfgtdf [~chatzilla@x4e36a6e9.dyn.telefonica.de] has quit [Ping timeout: 248 seconds] 20160403 01:30:14-!- gfgtdf_ is now known as gfgtdf 20160403 01:54:52-!- gfgtdf [~chatzilla@x4e36a8ae.dyn.telefonica.de] has quit [Quit: ChatZilla 0.9.92 [Firefox 45.0.1/20160315153207]] 20160403 01:59:20-!- wedge010 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20160403 02:02:57-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 260 seconds] 20160403 02:02:58-!- wedge010 is now known as wedge009 20160403 02:34:24-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20160403 02:34:32-!- ScegfOd [637f4b7c@gateway/web/freenode/ip.99.127.75.124] has joined #wesnoth-dev 20160403 03:07:31< vultraz> celticminstrel: does WFL support objects? 20160403 03:07:40< vultraz> I could use objects right about now 20160403 03:08:39< vultraz> I need to replicate the button code for all states, so I put it in a macro... 20160403 03:08:58< vultraz> which means it will be expanded at least 4(n) times, where n is the number of button definitions :| 20160403 03:09:23< vultraz> but if I had an object, that I could pass parameters to... 20160403 03:18:46< celticminstrel> It supports objects. What exactly do you need? 20160403 03:18:59< celticminstrel> It doesn't support indexable objects at the moment. 20160403 03:19:04-!- ancestral [~ancestral@75-168-27-21.mpls.qwest.net] has joined #wesnoth-dev 20160403 03:19:14< vultraz> I want to construct an object that contains all the data for a button's state 20160403 03:19:47< celticminstrel> That sounds doable. In order to expose an object to Lua, you use the formula_callable class. 20160403 03:20:11< vultraz> and then instantiate that object to construct each state 20160403 03:20:13< celticminstrel> In this case you probably want a new subclass; in general cases you can often use map_formula_callable. 20160403 03:20:35< celticminstrel> (Actually, I think tformula currently requires map_formula_callable, which should perhaps be changed._ 20160403 03:20:38< celticminstrel> ^) 20160403 03:21:10< celticminstrel> s/Lua/WFL/ 20160403 03:21:51< celticminstrel> See formula/callable_objects.?pp for examples. 20160403 03:22:12< celticminstrel> (But don't put GUI-specific objects in there.) 20160403 03:22:36< vultraz> er.. 20160403 03:22:47< vultraz> can't I do this without touching the c++ 20160403 03:22:57< celticminstrel> Uh. No? 20160403 03:23:01< vultraz> (FFL is looking more and more appealing... ) 20160403 03:23:36< celticminstrel> Objects in WFL (and, I'm pretty sure, in FFL too) are not constructed by WFL. They're exposed to the WFL by the program. 20160403 03:24:03< celticminstrel> If you do need to construct something in WFL that's object-like, you could use a map. 20160403 03:24:29< celticminstrel> The syntax is [key1 -> value1, key2 -> value2]. 20160403 03:24:49< celticminstrel> Where both the keys and the values are valid values (so, for string keys, enclose them in single quotes). 20160403 03:26:26< vultraz> hmm.. 20160403 03:26:36< vultraz> yeah that's... not exactly what I was imagining 20160403 03:26:39 * celticminstrel doesn't really understand what you're doing, so can only give general suggestions. 20160403 03:26:46< vultraz> I guess we just don't have the language support 20160403 03:27:04< celticminstrel> WFL doesn't need to support the creation of objects. 20160403 03:30:16< vultraz> something like this http://pastebin.com/iPuPb57r 20160403 03:31:40< celticminstrel> Well, that's not WFL though. (Or even FFL.) 20160403 03:32:05< vultraz> yeah it's just pseudo syntax really 20160403 03:32:13< vultraz> (though the top bit is FFL) 20160403 03:32:19< celticminstrel> No it's not. 20160403 03:32:25< celticminstrel> Not as I understand it. 20160403 03:32:47< celticminstrel> The value of on_create is FFL. 20160403 03:33:20< vultraz> http://pastebin.com/cPXGCgkx FFL example taken from AA 20160403 03:33:50< celticminstrel> My point is that the FFL is the quoted portion, not the full thing. 20160403 03:34:27< vultraz> obviously the bottom is WML 20160403 03:34:33< celticminstrel> I'm not entirely clear on the boundary between FFL and that configuration syntax, so I suppose I could be wrong though. 20160403 03:35:16< celticminstrel> I don't quite get what your WFL_object value is supposed to mean. It's not valid WFL syntax, certainly. 20160403 03:35:20< vultraz> but the { id = "button_state", } bit defined a new 'button_state' class(?) in FFL 20160403 03:35:37< vultraz> defines* 20160403 03:36:01< vultraz> I mean object 20160403 03:36:03< vultraz> sorry 20160403 03:36:50< celticminstrel> I understand that, but I don't think that definition syntax is actually part of the FFL language; it defines an FFL object in a JSON-like language. 20160403 03:36:55< vultraz> celticminstrel: just a pseudocode line in WML that's supposed to mean 'use the wfl object button_state with the following parameters' 20160403 03:37:17< vultraz> hm 20160403 03:37:19< vultraz> yeah I guess it is.. 20160403 03:37:22< celticminstrel> It would be entirely possible to implement some system that defines a WFL object from WML. 20160403 03:37:24< vultraz> meaning we cannot have that in wesnoth 20160403 03:37:41< celticminstrel> You'd probably use the map_formula_callable class, though you could also just use config_callable. 20160403 03:38:54< celticminstrel> The FormulaAI engine actually does this (no config_callable though since that's new). 20160403 03:39:12< celticminstrel> So you could do something similar in GUI2 if you wanted to. 20160403 03:39:47< celticminstrel> Of course... GUI2 is already using a map_formula_callable for all its formulas. 20160403 03:40:05< vultraz> I'd need to be able to create these in the cfg files 20160403 03:40:43< vultraz> being able to do something like this in GUI2 would relieve a huge load from the preprocessor 20160403 03:40:48< celticminstrel> I think looking at what FormulaAI does could be useful. I think the relevant files should be in src/ai/formula (mainly ai and engine_fai) and also src/units/formula_manager.* 20160403 03:40:54< vultraz> I checked, it takes about 0.6 seconds to parse the entire GUI2 config 20160403 03:41:01-!- irker332 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20160403 03:41:05< vultraz> (600 ms) 20160403 03:42:02< vultraz> every time you add a new widget defintion, you essentially duplicate (via macros) the entire widget definition just to change a few arbitrate values 20160403 03:42:23< vultraz> but if we had a way to access objects on the fly that weren't stored as data in the master config.. 20160403 03:42:55< celticminstrel> WFL variables is one way to go about this; another might be an inheriting system similar to what unit_types do. 20160403 03:43:39< vultraz> can you make a variable out of an object? 20160403 03:44:09< celticminstrel> More context please. 20160403 03:45:31< vultraz> when I think of a variable I think of a string/int/bool type of thing 20160403 03:45:42< vultraz> I mean can we somehow have a variable that references the entire object 20160403 03:45:44< vultraz> of a state 20160403 03:46:01< vultraz> when when an instance is created, could call the canvas draw functions 20160403 03:47:11< vultraz> gah I don't know all the lingo 20160403 03:47:20< vultraz> can we have a variable that's like a WML macro 20160403 03:47:34< vultraz> except it's in WFL and doesn't go through the preprocessor 20160403 03:47:42< celticminstrel> You probably can't have a variable that's like a WML macro. 20160403 03:47:56< celticminstrel> Because macros are function-like. 20160403 03:47:59< vultraz> (so basically a WFL object, I guess) 20160403 03:48:06< celticminstrel> If you restrict it to no-argument macros, then maybe. 20160403 03:48:44< celticminstrel> A variable is just a name that refers to some value. It can be any value - string or int, sure, or map, or list, or WML table, etc. 20160403 03:51:14< vultraz> functional programming, we need 20160403 03:51:27< celticminstrel> That's WFL. 20160403 03:51:37< vultraz> right 20160403 03:51:49< vultraz> I'm just looking for ways we can convert more of gui2's functionality to it 20160403 03:51:51< celticminstrel> Though I wonder if you really understand what is meant by "functional programming". Both Lua and C++ can also manage it. 20160403 03:52:13< celticminstrel> Have you read the wiki page on WFL in detail? 20160403 03:52:26< vultraz> not yet 20160403 03:52:28< vultraz> where is it? 20160403 03:52:57< celticminstrel> https://wiki.wesnoth.org/Wesnoth_Formula_Language 20160403 04:00:01< vultraz> ok, so you cannot create objects from the code 20160403 04:00:29< celticminstrel> Except for loc(), yes. 20160403 04:04:28< celticminstrel> The objects are created in C++. (Or they could be created in Lua now.) 20160403 04:04:48< vultraz> can you add support for creating objects? 20160403 04:04:53< vultraz> oh 20160403 04:04:56< vultraz> lua, you say? 20160403 04:05:30< celticminstrel> Like I said, creating objects generally isn't needed... but if you really think you need something object-like, you can use a WFL map. 20160403 04:08:07< celticminstrel> ^something object-like created by the WFL code 20160403 04:08:18< vultraz> grrr.... 20160403 04:09:16< celticminstrel> ? 20160403 04:11:03< vultraz> so I'd need to use a map, and could not do, like 20160403 04:11:23< vultraz> { id: "foo", color: "0,0,0,0" } 20160403 04:11:25< vultraz> right? 20160403 04:11:35< vultraz> ie, we do not support that syntax 20160403 04:11:54< celticminstrel> That's pretty much a map syntax. It's not the map syntax WFL uses though. 20160403 04:12:20< celticminstrel> If you wrote that as a WFL map it would be ['id' -> 'foo', 'color' -> '0,0,0,0'] 20160403 04:12:40< vultraz> ah, I see.. 20160403 04:12:42< celticminstrel> ...though I think I'd actually recommend ['id' -> 'foo', 'color', -> [0,0,0,0]] instead. 20160403 04:12:47< vultraz> this is going to be confusing 20160403 04:12:54< vultraz> since I'm working on AA, so I'll have to learn FFL 20160403 04:13:02< celticminstrel> ? 20160403 04:13:23< vultraz> then over here, I'll have to learn almost the same thing, but different 20160403 04:15:22< vultraz> celticminstrel: sirp enlisted me to do some work for Argentum Age, so I'm having to learn FFL proper 20160403 04:15:41< vultraz> so it's confusing to have to learn two almost identical languages that work differently 20160403 04:16:11< celticminstrel> They are the same in a lot of ways though. 20160403 04:16:18< celticminstrel> Of course, they're different in a lot of ways too. 20160403 04:16:30< celticminstrel> ~ in WFL means range, in FFL it means translatable string. 20160403 04:17:19< vultraz> Well, besides minor syntax differences, there's also what you can do with each one 20160403 04:17:30< vultraz> WFL is a lot les flexible than FFL 20160403 04:17:31< celticminstrel> WFL maps are [key -> value], FFL maps are {key = value} if I recall correctly. 20160403 04:17:42< celticminstrel> How so? 20160403 04:18:21< vultraz> this very situation I'm contemplating :P 20160403 04:18:34< celticminstrel> That doesn't answer my question. 20160403 04:19:01< vultraz> well FFL is their language of choice, used everywhere 20160403 04:19:08< vultraz> here, WFL is an addon to WML and Lua 20160403 04:19:23< vultraz> meaning Hoops must be jumped through to use it in any complex form 20160403 04:19:47< vultraz> and it's slightly annoying 20160403 04:21:21< celticminstrel> Well, you just have to fix that then, right? :P 20160403 04:21:49< vultraz> I don't have the Skills :P 20160403 04:22:27< celticminstrel> Well, I can't easily implement things if I'm still confused about what you want. 20160403 04:23:18< celticminstrel> The pastebin you posted makes me think you're trying to interpolate a WFL variable into the WML. 20160403 04:23:58< vultraz> not exactly 20160403 04:24:17< vultraz> I want it to create an instance of the button_state object 20160403 04:24:34< vultraz> then, since it has on_create, call canvas drawing functions 20160403 04:25:15< celticminstrel> Functions in WFL are not values, so I don't think you can do the on_create thing. 20160403 04:25:33< celticminstrel> Functions in FFL (except maybe builtins?) are values, so that works. 20160403 04:25:37< celticminstrel> Or something like that. 20160403 04:27:44< vultraz> can they be made values? 20160403 04:28:24< celticminstrel> Of course, but it's probably going to be a lot of work, which is why I hadn't done it. 20160403 04:28:45-!- ideuler [~textual@a89-153-75-168.cpe.netcabo.pt] has quit [Quit: My Mac has gone to sleep. ZZZzzz…] 20160403 04:37:39< vultraz> for now, I'll just use macros 20160403 04:37:49< vultraz> but it's a lot of wml to do these buttons 20160403 04:46:09-!- celticminstrel is now known as celmin|sleep 20160403 04:58:19-!- NosajIRL [~nos@208.91.185.104] has quit [Ping timeout: 260 seconds] 20160403 05:22:23-!- ancestral [~ancestral@75-168-27-21.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20160403 05:29:58-!- Kwandulin [~Miranda@p200300760F0D01D0E1E71FB2783A96F1.dip0.t-ipconnect.de] has joined #wesnoth-dev 20160403 06:02:40-!- ScegfOd [637f4b7c@gateway/web/freenode/ip.99.127.75.124] has quit [Ping timeout: 250 seconds] 20160403 06:05:03-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Ping timeout: 240 seconds] 20160403 06:08:45-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20160403 06:10:54-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20160403 06:53:57-!- dlihcnoea is now known as aeonchild 20160403 07:33:00-!- ChipmunkV [~vova@d0017-2-88-172-31-68.fbx.proxad.net] has joined #wesnoth-dev 20160403 07:40:20-!- aeonchild [enchilado@defocus/yummy/enchilado] has quit [Excess Flood] 20160403 07:40:36-!- aeonchild [~aeonchild@defocus/yummy/enchilado] has joined #wesnoth-dev 20160403 07:50:59-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20160403 08:14:26-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20160403 08:27:36-!- mjs-de [~mjs-de@p508C9925.dip0.t-ipconnect.de] has joined #wesnoth-dev 20160403 08:35:23-!- ideuler [~textual@a89-153-75-168.cpe.netcabo.pt] has joined #wesnoth-dev 20160403 09:01:27-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has joined #wesnoth-dev 20160403 09:09:10-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has quit [Ping timeout: 244 seconds] 20160403 09:55:34-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has joined #wesnoth-dev 20160403 10:07:32-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 244 seconds] 20160403 10:13:02< vultraz> ugh. WML is so inefficient :| 20160403 10:14:26< vultraz> So, so, so inefficient 20160403 10:17:24-!- irker815 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20160403 10:17:24< irker815> wesnoth: Charles Dang wesnoth:master 0cdd8b7180b3 / / (4 files in 2 dirs): GUI2: draw buttons procedurally and increase default size https://github.com/wesnoth/wesnoth/commit/0cdd8b7180b31fbc19fa115a3d4bbb0e32642e21 20160403 10:17:25< irker815> wesnoth: Charles Dang wesnoth:master 00b571a8e18e / data/gui/window/title_screen.cfg: Use large buttons for main panel in titlescreen https://github.com/wesnoth/wesnoth/commit/00b571a8e18e7874d84d002ff34a1dd73c29d306 20160403 10:17:29< vultraz> zookeeper: ^ 20160403 10:17:43< vultraz> do give critique 20160403 10:18:53-!- Kwandulin [~Miranda@p200300760F0D01D0E1E71FB2783A96F1.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20160403 10:20:16< vultraz> I'm very unsatisfied with the amount of WML that got added, but oh well. 20160403 10:24:31-!- NosajIRL [~nos@208.91.185.104] has joined #wesnoth-dev 20160403 10:25:02-!- aeonchild [~aeonchild@defocus/yummy/enchilado] has quit [Ping timeout: 250 seconds] 20160403 10:26:51-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has quit [Ping timeout: 264 seconds] 20160403 10:29:16-!- aeonchild [enchilado@defocus/yummy/enchilado] has joined #wesnoth-dev 20160403 10:43:12-!- travis-ci [~travis-ci@ec2-54-145-99-145.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 10:43:13< travis-ci> wesnoth/wesnoth#9181 (master - 00b571a : Charles Dang): The build is still failing. 20160403 10:43:13< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120406478 20160403 10:43:13-!- travis-ci [~travis-ci@ec2-54-145-99-145.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 10:43:53-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20160403 10:49:19-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has joined #wesnoth-dev 20160403 10:53:54-!- Kwandulin [~Miranda@p200300760F0D01D0A5C9D9AE9C786AD1.dip0.t-ipconnect.de] has joined #wesnoth-dev 20160403 11:04:40< zookeeper> so, what do i replace BOOST_FOREACH with? 20160403 11:05:35< loonycyborg> range based for? 20160403 11:06:36< zookeeper> reworded: is there something i can just replace the string "BOOST_FOREACH" in the code with? 20160403 11:09:10< vultraz> replace it with "for" 20160403 11:09:20< vultraz> and the comma between the values with ":" 20160403 11:10:05< zookeeper> roger 20160403 11:23:53< zookeeper> vultraz, so what was jetrel's opinion? 20160403 11:24:05< vultraz> A 20160403 11:24:11< vultraz> (slight preference of) 20160403 11:25:35< zookeeper> no, not about the rounding, but the overall size increase 20160403 11:26:41< vultraz> no opinion 20160403 11:27:10< zookeeper> did you ask? :p 20160403 11:27:43< zookeeper> hrhm. the map list in MP game creation is glitchy, flows into the chatbox. 20160403 11:28:35< zookeeper> also, can we now give proper tooltips to any widget? 20160403 11:28:53< zookeeper> (as long as it's GUI2?) 20160403 11:34:12< vultraz> it's done on a per-dialog basis 20160403 11:34:14< vultraz> but yes 20160403 11:58:35-!- clavi [~clavi@163-172-10-77.rev.poneytelecom.eu] has joined #wesnoth-dev 20160403 12:01:03-!- clavii [~clavi@163.172.10.77] has quit [Ping timeout: 264 seconds] 20160403 12:03:21-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has quit [Quit: Leaving] 20160403 12:05:51-!- Kwandulin [~Miranda@p200300760F0D01D0A5C9D9AE9C786AD1.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20160403 12:08:51-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has joined #wesnoth-dev 20160403 12:17:51-!- danni [~quassel@203-206-161-81.perm.iinet.net.au] has quit [Remote host closed the connection] 20160403 12:32:31< irker815> wesnoth: Charles Dang wesnoth:master 0708069cc2c5 / / (23 files in 3 dirs): New design for vertical scrollbars (horizontal pending) https://github.com/wesnoth/wesnoth/commit/0708069cc2c545fdd534a27f40ede36c02643fef 20160403 12:34:16-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has quit [Ping timeout: 244 seconds] 20160403 12:39:57< irker815> wesnoth: Charles Dang wesnoth:master d3a825156e41 / data/gui/window/game_version.cfg: tgame_version: bump max dimensions to fit Lato font sizes https://github.com/wesnoth/wesnoth/commit/d3a825156e418ef650ac0254c994c932ce10adc2 20160403 12:46:03< irker815> wesnoth: Charles Dang wesnoth:master 2122973a42bd / data/gui/widget/text_box_default.cfg: ttext_box: reduced cursor height a little https://github.com/wesnoth/wesnoth/commit/2122973a42bd68d5e6aa634d3f475c8002999d76 20160403 12:46:06< irker815> wesnoth: Charles Dang wesnoth:master 1df91e011914 / data/gui/widget/button_default.cfg: tbutton: provide alpha color values to satisfy schema https://github.com/wesnoth/wesnoth/commit/1df91e01191423b6c96b51deb7ea2ada205a0b83 20160403 12:58:10-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has joined #wesnoth-dev 20160403 12:58:41-!- travis-ci [~travis-ci@ec2-54-145-99-145.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 12:58:42< travis-ci> wesnoth/wesnoth#9182 (master - 0708069 : Charles Dang): The build is still failing. 20160403 12:58:42< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120419617 20160403 12:58:42-!- travis-ci [~travis-ci@ec2-54-145-99-145.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 13:00:13-!- ideuler [~textual@a89-153-75-168.cpe.netcabo.pt] has quit [Quit: My Mac has gone to sleep. ZZZzzz…] 20160403 13:10:51-!- ideuler [~textual@a89-153-75-168.cpe.netcabo.pt] has joined #wesnoth-dev 20160403 13:11:02-!- Kwandulin [~Miranda@p200300760F0D010C5CD11D4FF6515401.dip0.t-ipconnect.de] has joined #wesnoth-dev 20160403 13:14:26-!- travis-ci [~travis-ci@ec2-54-145-99-145.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 13:14:27< travis-ci> wesnoth/wesnoth#9183 (master - d3a8251 : Charles Dang): The build is still failing. 20160403 13:14:27< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120420319 20160403 13:14:29-!- travis-ci [~travis-ci@ec2-54-145-99-145.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 13:18:42< vultraz> celmin|sleep: ok, so it seems there are only two places that were binding overloaded functions 20160403 13:18:56< vultraz> celmin|sleep: I looked more, and discovered that the second twindow::draw() overload was a stub 20160403 13:19:00< vultraz> it just asserted false 20160403 13:19:04< vultraz> so I'm removing it 20160403 13:19:09< vultraz> that leaves one case 20160403 13:28:30-!- travis-ci [~travis-ci@ec2-54-197-178-246.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 13:28:31< travis-ci> wesnoth/wesnoth#9184 (master - 1df91e0 : Charles Dang): The build is still failing. 20160403 13:28:31< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120421139 20160403 13:28:31-!- travis-ci [~travis-ci@ec2-54-197-178-246.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 13:31:25-!- ideuler [~textual@a89-153-75-168.cpe.netcabo.pt] has quit [Quit: My Mac has gone to sleep. ZZZzzz…] 20160403 13:32:13-!- Kwandulin [~Miranda@p200300760F0D010C5CD11D4FF6515401.dip0.t-ipconnect.de] has quit [Ping timeout: 248 seconds] 20160403 13:33:10-!- gfgtdf [~chatzilla@x4e36a8ae.dyn.telefonica.de] has joined #wesnoth-dev 20160403 13:35:38< gfgtdf> vultraz: you changes to titlescrren amke the travis build fail 20160403 13:36:26< gfgtdf> aquileia: you know whwther it possible to installa newer libc++ on travis to make ourc++14 builds work ? 20160403 13:36:29< vultraz> DAMMIT 20160403 13:37:17< vultraz> :( 20160403 13:39:27-!- ideuler [~textual@a89-153-75-168.cpe.netcabo.pt] has joined #wesnoth-dev 20160403 13:57:11-!- EdB [~edb@89.193.129.77.rev.sfr.net] has joined #wesnoth-dev 20160403 13:57:30< vultraz> gfgtdf: ok I think I know a fix but I can't commit right now 20160403 13:57:39< vultraz> I'm fixing the last bind overload 20160403 13:57:44< vultraz> er, binding of an overload 20160403 14:03:13-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20160403 14:03:32< celmin|sleep> vultraz: Why is horizontal pending? You should commit both at once! :( 20160403 14:03:41< vultraz> celmin|sleep: need to make the images 20160403 14:03:48< celmin|sleep> Then make them. 20160403 14:03:57< vultraz> Will try tomorrow 20160403 14:04:05< celmin|sleep> All you have to do is rotate the vertical ones, right? 20160403 14:04:11< celmin|sleep> This is not rocket science! 20160403 14:04:29< vultraz> .......right, I could do that, couldn't I... 20160403 14:04:33< vultraz> *derp* :| 20160403 14:05:00< vultraz> Ok, I'll get to this as soon as I finish the bind stuff 20160403 14:05:08< vultraz> just this one bind call to convert to a lambda 20160403 14:05:17< celmin|sleep> Unless there's lighting effects, you can just rotate; and even if there are lighting effects, a rotated version is better than nothing at all in my opinion. 20160403 14:05:26< celmin|sleep> Out of curiosity, what is this bind call you're fixing? 20160403 14:05:46-!- celmin|sleep is now known as celticminstrel 20160403 14:06:19< vultraz> the one in repeating_button 20160403 14:06:35< vultraz> celticminstrel: http://pastebin.com/PnWVCgPj 20160403 14:06:42< vultraz> but I get this error 20160403 14:06:49< vultraz> src\gui\widgets\repeating_button.cpp|146|error: invalid initialization of reference of type 'const std::function&' from expression of type 'gui2::trepeating_button::signal_handler_left_button_down(gui2::event::tevent, bool&)::'| 20160403 14:07:33< celticminstrel> That error makes perfect sense to me. 20160403 14:07:42< celticminstrel> (BTW is tevent a struct or something, or an enum, or what?) 20160403 14:07:48< vultraz> enum, I think 20160403 14:08:04< vultraz> could you explain the error, because I don't understand it 20160403 14:09:11< celticminstrel> Well, it's expecting a function callable with a single integer (possibly tevent?) parameter. 20160403 14:09:29< celticminstrel> You're giving it a function callable with two parameters, the tevent and a twidget. 20160403 14:09:44< celticminstrel> Do you even need the widget? It seems to be unused. 20160403 14:10:37< vultraz> the fire() overload we want is the bare-bones one with only those two parameters 20160403 14:10:51< celticminstrel> So why is there a widget argument? 20160403 14:11:30< vultraz> wait what? 20160403 14:11:39-!- Kwandulin [~Miranda@p200300760F0D010C5CD11D4FF6515401.dip0.t-ipconnect.de] has joined #wesnoth-dev 20160403 14:12:04-!- horrowind [~Icedove@2a02:810a:83c0:1c18:21b:fcff:fee3:c3ff] has joined #wesnoth-dev 20160403 14:12:11< vultraz> because.. fire() takes a widget argument :/ 20160403 14:12:17< vultraz> bool fire(const tevent event, twidget& target); 20160403 14:12:37< celticminstrel> But you're passing "this" to that, so why do you need a widget argument to the lambda? 20160403 14:13:09< vultraz> ohh you mean 20160403 14:13:36< vultraz> I just need '[this](const gui2::event::tevent, twidget&)' ? 20160403 14:13:43< celticminstrel> No! 20160403 14:13:51< vultraz> you lost me 20160403 14:13:52< celticminstrel> Why do you even have a widget there at all? 20160403 14:14:04< celticminstrel> It's not even used, and it's the cause of your compiler error! 20160403 14:14:26< celticminstrel> Just remove it completely! 20160403 14:15:00< vultraz> Ok I obviously am totally misunderstanding how lambdas work here. 20160403 14:15:13< celticminstrel> This has nothing to do with how lambdas work. 20160403 14:15:19< vultraz> I thought you needed to match the argument list 20160403 14:15:48< celticminstrel> It has everything to do with the fact that you're passing a void(tevent,twidget&) to a function that expects a void(unsigned int). 20160403 14:16:02< celticminstrel> Read the error message again. 20160403 14:16:25< vultraz> ohhh, I see now 20160403 14:16:28< celticminstrel> "invalid initialization of reference of type 'const std::function&'" 20160403 14:16:50< vultraz> I see now 20160403 14:16:52< celticminstrel> That's the target signature there. 20160403 14:19:04< vultraz> I have removed the widget argument. 20160403 14:21:37< vultraz> ... wait.. I'm still confused 20160403 14:22:59< celticminstrel> Why? 20160403 14:23:34< vultraz> what was the 'window' parameter in the original bind call 20160403 14:24:18< celticminstrel> Oh. 20160403 14:24:38< celticminstrel> Yeah, your tdispatcher::fire call is probably this->fire when what you want is window->fire or something... 20160403 14:25:01< vultraz> so I need to capture window too? 20160403 14:25:04< celticminstrel> tdispatcher::fire is a member function, right? 20160403 14:25:06 * celticminstrel nods. 20160403 14:25:15< celticminstrel> So the first argument bound is the object to call it on. 20160403 14:25:28< celticminstrel> If window is not a pointer, capture it by reference. 20160403 14:25:45< celticminstrel> (If it's a pointer, then it doesn't really matter.) 20160403 14:26:43< vultraz> (and yes, tevent is an enum) 20160403 14:27:04-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has quit [Ping timeout: 260 seconds] 20160403 14:27:44-!- mjs-de [~mjs-de@p508C9925.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 20160403 14:27:53< vultraz> alright, this builds: [this, window](unsigned int) { window->fire(event::LEFT_BUTTON_DOWN, *this); } 20160403 14:29:29< celticminstrel> Is window a pointer or reference already? 20160403 14:29:47< vultraz> yes 20160403 14:29:49< vultraz> pointer 20160403 14:30:22< vultraz> I wonder why I don't need std::ref() around *this anymore 20160403 14:31:16< celticminstrel> Because you're passing it as a pointer instead of a reference. 20160403 14:31:27< celticminstrel> Also because you're not passing it to bind. 20160403 14:31:31< vultraz> ahh 20160403 14:31:37< celticminstrel> Not that ref() is never needed outside of bind, but... 20160403 14:31:43< celticminstrel> That's probably its main use. 20160403 14:35:19< vultraz> tbh, the lambda is easier to read than the bind call 20160403 14:35:37< celticminstrel> Ehh, maybe a little. 20160403 14:36:12-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has joined #wesnoth-dev 20160403 14:36:31< vultraz> ok, build built 20160403 14:36:58< vultraz> is there anything I can do to convert those boost::function0/1/2/3 calls to std::function? 20160403 14:37:14< vultraz> (I suppose I could lambda them too?) 20160403 14:37:15< celticminstrel> I told you yesterday. 20160403 14:37:35< celticminstrel> boost::functionN is equivalent to boost::function (I think). 20160403 14:37:47< celticminstrel> (It might be boost::function.) 20160403 14:38:02< celticminstrel> (Should be obvious from context though, I think.) 20160403 14:38:25< vultraz> so it's just the function + argument list 20160403 14:38:37< celticminstrel> Pretty much. 20160403 14:38:47< vultraz> is there a benefit to doing it that way? 20160403 14:38:51< celticminstrel> I thought there were some boost::function4 too. 20160403 14:38:55< celticminstrel> I dunno. 20160403 14:39:07< celticminstrel> That way might be an older way. 20160403 14:39:15< celticminstrel> Or an internal thing. 20160403 14:39:25< celticminstrel> I really don't know, though. This is just speculation. 20160403 14:39:32< celticminstrel> I'd change them. 20160403 14:39:36< vultraz> Ok 20160403 14:41:36< vultraz> oh jeez 20160403 14:41:40< vultraz> I have to edit the ai code.. 20160403 14:41:47< celticminstrel> Yes. 20160403 14:41:55< celticminstrel> Is that a problem? 20160403 14:42:09< vultraz> when you run into this it is : 20160403 14:42:10< vultraz> static void register_vector_property(std::map &property_handlers, const std::string &property, std::vector< boost::shared_ptr > &values, boost::function2 >&, const config&> construction_factory) 20160403 14:42:12< vultraz> :| 20160403 14:42:43< celticminstrel> All you have to do is replace the boost::function2, right? 20160403 14:43:07< celticminstrel> So it is a(b,c) then, and not c(a,b). 20160403 14:43:09< vultraz> yes, I think that should match the calls, then 20160403 14:43:17< celticminstrel> Hm? 20160403 14:46:32< vultraz> so every case of register_vector_property was taking a boost::function2 variable as an argument, except one which was taking function3 20160403 14:47:14< vultraz> if I change the signature to use std::function(), then the case which was 3 doesn't build anymore.. 20160403 14:47:16< vultraz> hmm 20160403 14:47:31< celticminstrel> Show me? 20160403 14:47:55< vultraz> std::function&, const config&, std::string)> factory_aspects = 20160403 14:47:57< vultraz> std::bind(&ai::ai_composite::replace_aspect,*this,_1,_2,_3); 20160403 14:48:02< vultraz> what's the string argument for 20160403 14:48:50< celticminstrel> I can't remember, try looking at the replace_aspect function. Maybe it's the aspect ID? 20160403 14:49:02< celticminstrel> (This whole system is the framework used for [modify_ai].) 20160403 14:49:19< vultraz> oh wait, I made a mistake here 20160403 14:49:26< celticminstrel> That could explain it. 20160403 14:49:40-!- gfgtdf [~chatzilla@x4e36a8ae.dyn.telefonica.de] has quit [Quit: ChatZilla 0.9.92 [Firefox 45.0.1/20160315153207]] 20160403 14:51:40< celticminstrel> BTW, did you check that the stub twindow::draw wasn't overridden anywhere? (My cursory grep suggests there are no subclasses of twindow though, so it probably º 20160403 14:51:44< celticminstrel> ... 20160403 14:51:50< celticminstrel> ^probably isn't.) 20160403 14:52:03< vultraz> it wasn't virtual 20160403 14:54:16< vultraz> and it was private 20160403 14:54:16< celticminstrel> And it didn't override something in the superclass? 20160403 14:54:16< celticminstrel> You can't conclusively say "it's not virtual" until you've checked all superclasses, since virtual is implicit if it overrides something. 20160403 14:54:16< vultraz> I don't think it overwrote anything 20160403 14:54:16< celticminstrel> ^overrode 20160403 14:56:42< vultraz> I didn't explicitly check, though. 20160403 14:56:51-!- kidneb [~kidneb@not.allthetime.xyz] has quit [Ping timeout: 276 seconds] 20160403 14:57:02-!- kidneb [kidneb@not.allthetime.xyz] has joined #wesnoth-dev 20160403 14:57:52< celticminstrel> Wow, it says it overrides from tpanel, but tpanel has no such function. 20160403 14:58:02< celticminstrel> Unless it's in tcontrol? 20160403 14:58:18< celticminstrel> tcontrol and twidget also don't have it. 20160403 15:03:28< celticminstrel> Looks like it's an ancient relic. 20160403 15:03:48< celticminstrel> Which would've already been removed if "override" annotations were in use. 20160403 15:04:35< vultraz> Good, good 20160403 15:06:18 * celticminstrel is currently trying to get [on_undo] with delayed variable substitution to have access to the event context. 20160403 15:12:18-!- oldlaptop [~quassel@50-37-53-169.mskg.mi.frontiernet.net] has quit [Remote host closed the connection] 20160403 15:13:11< celticminstrel> Are there any events that involve a location but not a unit? 20160403 15:14:11< celticminstrel> I can't think of any. 20160403 15:15:37< celticminstrel> The $x1, $y1, $x2, $y2 variables seem to be unscoped. 20160403 15:16:08< celticminstrel> I wonder if anything relies on this... 20160403 15:16:31< celticminstrel> ("unscoped" here means they're not cleared when the event ends) 20160403 15:16:37-!- oldlaptop [~quassel@50-37-53-169.mskg.mi.frontiernet.net] has joined #wesnoth-dev 20160403 15:20:53< vultraz> big commit coming 20160403 15:21:39< irker815> wesnoth: Charles Dang wesnoth:master 0ca4e6c9432a / src/ (179 files in 28 dirs): Convert uses of boost functional to standard library variants https://github.com/wesnoth/wesnoth/commit/0ca4e6c9432a9956e43008c25ec1ce1aa56323b3 20160403 15:24:01< irker815> wesnoth: Charles Dang wesnoth:master 37f29408d53f / src/tests/gui/test_gui2.cpp: GUI2 tests: remove small resolution test sizes https://github.com/wesnoth/wesnoth/commit/37f29408d53fff23dd56d586977cb9cc7ded1cbb 20160403 15:24:04< irker815> wesnoth: Charles Dang wesnoth:master aa449ee3045b / src/tod_manager.cpp: Removed two unnecessary boost includes https://github.com/wesnoth/wesnoth/commit/aa449ee3045ba67dfe614965a48b36abf49b2b32 20160403 15:25:20< vultraz> celticminstrel: so I was thinking of using '•' for the loadscreen 20160403 15:25:57< vultraz> but it says that's a 'multi-character character constant' 20160403 15:26:04-!- travis-ci [~travis-ci@ec2-54-145-99-145.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 15:26:05< travis-ci> wesnoth/wesnoth#9185 (master - 0ca4e6c : Charles Dang): The build is still failing. 20160403 15:26:05< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120438905 20160403 15:26:05-!- travis-ci [~travis-ci@ec2-54-145-99-145.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 15:26:58< lipkab> vultraz: '•' is not ascii, hence it takes up more than one byte. 20160403 15:27:04< vultraz> ahh 20160403 15:27:16< lipkab> You can still use it, but only as a string. 20160403 15:27:52-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20160403 15:28:20< irker815> wesnoth: Charles Dang wesnoth:master 182732a04ce7 / src/actions/create.cpp: Attempt to fix travis https://github.com/wesnoth/wesnoth/commit/182732a04ce77a96ee1d2f81e6dde9b7de926a41 20160403 15:28:58< vultraz> hm 20160403 15:29:08< vultraz> oh, I see 20160403 15:29:19< celticminstrel> vultraz: Use "" instead of '' 20160403 15:29:40< vultraz> celticminstrel: ? 20160403 15:29:59< celticminstrel> For "•" 20160403 15:30:17-!- travis-ci [~travis-ci@ec2-54-147-240-208.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 15:30:18< travis-ci> wesnoth/wesnoth#9186 (master - aa449ee : Charles Dang): The build is still failing. 20160403 15:30:18< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120439530 20160403 15:30:18-!- travis-ci [~travis-ci@ec2-54-147-240-208.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 15:30:32< celticminstrel> Might have to use .replace instead of indexing too, I forget. 20160403 15:31:38< celticminstrel> That makes it slightly less efficient, I guess. 20160403 15:32:40< vultraz> ah 20160403 15:32:48< vultraz> works, but doesn't really look better 20160403 15:34:27-!- travis-ci [~travis-ci@ec2-54-197-178-246.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 15:34:28< travis-ci> wesnoth/wesnoth#9187 (master - 182732a : Charles Dang): The build is still failing. 20160403 15:34:28< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120440349 20160403 15:34:28-!- travis-ci [~travis-ci@ec2-54-197-178-246.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 15:35:26< vultraz> blagghhh 20160403 15:36:01< vultraz> why does travis find _1 ambiguous :| 20160403 15:36:11< celticminstrel> Dunno... 20160403 15:36:24< celticminstrel> Is Boost.Bind still being included somewhere? 20160403 15:36:27< celticminstrel> Maybe in the unit tests? 20160403 15:37:55< irker815> wesnoth: Charles Dang wesnoth:master e97b4f60e341 / data/gui/window/loadscreen.cfg: tloadscreen: use blank spaces for animation size label https://github.com/wesnoth/wesnoth/commit/e97b4f60e341ede7632269d9707e81be07860bd3 20160403 15:38:16< vultraz> (that doesn't mean the animation is gone) 20160403 15:38:26< vultraz> (just that the full 20 dots don't show in the beginning) 20160403 15:38:32< celticminstrel> Yeah, I got that. 20160403 15:40:36< irker815> wesnoth: Charles Dang wesnoth:master 1492a237a198 / src/actions/create.cpp: Revert "Attempt to fix travis" https://github.com/wesnoth/wesnoth/commit/1492a237a1981ddfd94caaf9bbd91274199a034d 20160403 15:41:41< celticminstrel> Does get_gui_resolutions() include 800x600? 20160403 15:41:52< vultraz> yes 20160403 15:42:40< celticminstrel> ...weird, why did the tod_manager include lambda.hpp? Was it actually used somewhere? 20160403 15:43:01< vultraz> not presently 20160403 15:43:30-!- travis-ci [~travis-ci@ec2-54-147-240-208.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 15:43:31< travis-ci> wesnoth/wesnoth#9188 (master - e97b4f6 : Charles Dang): The build is still failing. 20160403 15:43:31< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120441537 20160403 15:43:31-!- travis-ci [~travis-ci@ec2-54-147-240-208.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 15:43:35< celticminstrel> BTW, does 'git grep boost/function.hpp src' return anything? 20160403 15:44:10< celticminstrel> I'd check myself, but I can't pull right now. 20160403 15:44:16< vultraz> no 20160403 15:45:12< celticminstrel> This isn't working. :/ 20160403 15:45:51< vultraz> what isn't? 20160403 15:46:05< celticminstrel> [Apr 03@11:06:18am] • celticminstrel is currently trying to get [on_undo] with delayed variable substitution to have access to the event context. 20160403 15:46:37< celticminstrel> I think I basically know why (the key unit has already moved back by the time the [on_undo] is fired), but not how to fix it. 20160403 15:47:42-!- travis-ci [~travis-ci@ec2-54-197-178-246.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 15:47:43< travis-ci> wesnoth/wesnoth#9189 (master - 1492a23 : Charles Dang): The build is still failing. 20160403 15:47:43< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120441859 20160403 15:47:43-!- travis-ci [~travis-ci@ec2-54-197-178-246.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 15:50:16< vultraz> We really need to add some accessor of parent widget dimensions to tooltips... 20160403 15:50:47< vultraz> Tooltips shouldn't overlap parent widgets 20160403 15:51:21< celticminstrel> Adding formula variables is probably not too difficult. 20160403 15:51:32< vultraz> oh, it isn't 20160403 15:51:42< vultraz> I know exactly where the mouse_x, mouse_y variables are set 20160403 15:51:48< vultraz> the problem is getting the data to set them 20160403 15:52:22< celticminstrel> Probably means passing some extra data to the ttip constructor or something. 20160403 15:53:00< vultraz> window.set_variable("mouse_x", variant(mouse_.x)); 20160403 15:53:46< vultraz> mouse_ is a private tpoint variable... 20160403 15:53:57< vultraz> so variant() sets it.. 20160403 15:54:21< vultraz> variant() is somehow connected to the formula engine 20160403 15:56:18< vultraz> ttip invokes tpopup.. 20160403 15:56:35< celticminstrel> variant() doesn't set anything. 20160403 15:56:45< celticminstrel> variant is the container for all formula engine values. 20160403 15:56:56< celticminstrel> Similar to how config::attribute_value is a container for WML values. 20160403 15:57:04< vultraz> I see 20160403 15:59:04< celticminstrel> While I'm working on config.hpp, is there anything else you think I should add? 20160403 15:59:13< celticminstrel> (I've added std::initializer_list constructors.) 20160403 15:59:26< vultraz> ah, nice 20160403 15:59:48< celticminstrel> (And a variadic clear_children()) 20160403 16:01:27< vultraz> no, I don't know anything 20160403 16:02:18< celticminstrel> I'll scroll through the entire header to see if anything pops out. 20160403 16:04:24-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20160403 16:04:42-!- ancestral [~ancestral@75-168-27-21.mpls.qwest.net] has joined #wesnoth-dev 20160403 16:06:17 * celticminstrel discovers config::get_old_attribute 20160403 16:08:05-!- EdB [~edb@89.193.129.77.rev.sfr.net] has quit [Quit: Konversation terminated!] 20160403 16:16:26< celticminstrel> I'm probably not going to bother replacing all uses of config_of. 20160403 16:17:06< celticminstrel> But I'll replace one or two, as a test of the initializer_list constructors. 20160403 16:18:39< celticminstrel> Hmm, connect_engine::send_level_data sounds like a good test case. 20160403 16:21:20-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20160403 16:26:04-!- noy [~Noy@wesnoth/developer/noy] has quit [Ping timeout: 260 seconds] 20160403 16:47:21-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has quit [Ping timeout: 276 seconds] 20160403 16:49:25-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has joined #wesnoth-dev 20160403 16:53:33< celticminstrel> Incidentally, the way to use initializer lists to construct configs is now very similar to how you construct configs in Lua. 20160403 16:53:55-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has quit [Client Quit] 20160403 16:54:06< celticminstrel> Though you can only add children or attributes at the moment, not both. 20160403 16:55:57-!- NosajIRL [~nos@208.91.185.104] has quit [Ping timeout: 248 seconds] 20160403 17:01:23-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20160403 17:05:34-!- noy [~Noy@wesnoth/developer/noy] has quit [Client Quit] 20160403 17:07:28< aeth> I have a problem with wesnoth.message. It seems to be designed for error messages, not messages that people will actually want to look back to in the chat log, and so it doesn't go to the chat log. 20160403 17:08:48< aeth> Every [message] of mine is also displayed on wesnoth.message because of complaints that people kept accidentally dismissing the dialog in MP, but that's not *that* useful if the message isn't in the chat log. 20160403 17:09:24-!- Kwandulin [~Miranda@p200300760F0D010C5CD11D4FF6515401.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20160403 17:10:01< celticminstrel> It does go to chat, though? 20160403 17:10:30-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20160403 17:10:56< aeth> celticminstrel: It goes to the chat, but it's not an actual chat message, so it doesn't get logged in the chat log 20160403 17:11:04< celticminstrel> Okay. 20160403 17:11:09-!- noy [~Noy@wesnoth/developer/noy] has quit [Client Quit] 20160403 17:11:09< aeth> which means that if you miss a message from long enough ago you *still* miss it 20160403 17:11:49< celticminstrel> What about colouring? 20160403 17:12:03< celticminstrel> Chat messages are coloured according to their side's team colour. 20160403 17:12:16< celticminstrel> Can wesnoth.message be coloured? 20160403 17:12:22< aeth> no 20160403 17:12:25-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20160403 17:12:36< aeth> Which is probably okay because you could easily impersonate someone if you could 20160403 17:12:55< celticminstrel> Hmm. 20160403 17:13:05< celticminstrel> I suppose you have a point... :/ 20160403 17:13:11< aeth> The only way I can avoid impersonation of a player chat is to append the coordinates to the "username" because I let players let units speak, so: 20160403 17:13:22< aeth> 13:12 <(1, 1) Fooname> Hello 20160403 17:13:40< aeth> I'd actually like if this were supported in the core as e.g. 13:12 (1, 1) Hello 20160403 17:13:55< aeth> Because I'm sure I'm not the only person who would like a chat log of when a unit speaks in-game 20160403 17:14:18< celticminstrel> So you actually think [message] should log all messages? 20160403 17:14:29< celticminstrel> Maybe with an option not to for some. 20160403 17:14:44< aeth> Not every [message] should be logged. A lot of add-ons do fancy menu stuff via [message] local to one player, for instance. 20160403 17:15:03< aeth> As an optional flag, that would be nice, though. 20160403 17:15:31< celticminstrel> Do you think it would be okay if it defaults to "true" unless image is either "narrator" or "none"? 20160403 17:15:35< aeth> i.e. when a unit is speaking in-game, in multiplayer, it would be nice to have it in the chat and in the chat log, in case a player misses the vital context. Often the chat is relevant to what was just said in-game 20160403 17:15:50< aeth> celticminstrel: Maybe in multiplayer 20160403 17:15:55< aeth> I'm not sure it's as useful in single player 20160403 17:16:09< aeth> In multiplayer if someone's speaking, the players are going to be discussing it 20160403 17:16:13< celticminstrel> Well, the chat log doesn't really do anything in single player right now. 20160403 17:16:28< celticminstrel> So it probably wouldn't hurt anyone in singleplayer. 20160403 17:16:49-!- noy [~Noy@wesnoth/developer/noy] has quit [Ping timeout: 260 seconds] 20160403 17:18:29< aeth> celticminstrel: I think you can still get messages in the chat screen in single player, through Lua, but you cannot actually respond to them or add your own messages 20160403 17:18:49< aeth> So if done improperly you'll still be getting chat messages 20160403 17:19:20< celticminstrel> Oh, right, you wouldn't want everything units say to show up as chat messages in singleplayer. I was thinking of the chat log when I said it wouldn't hurt. 20160403 17:20:13< celticminstrel> I wonder if there's a way in Lua to detect whether the current game is an MP game... 20160403 17:21:05-!- EdB [~edb@89.193.129.77.rev.sfr.net] has joined #wesnoth-dev 20160403 17:22:14< aeth> celticminstrel: well the easiest thing would be to add an optional boolean third argument to wesnoth.message where it can show up in the chat log if detected. Not every use case is going to be using wesnoth.message in parallel with [message] as a hack around the limitations of just [message] 20160403 17:22:27< aeth> Then at least my add-on would work in 1.13 (where there is no MP) 20160403 17:22:41< aeth> There are some add-ons that just use wesnoth.message, and might use this feature. 20160403 17:22:46< celticminstrel> I was thinking about adding a wesnoth.message call in [message]. 20160403 17:23:11< aeth> Yes, I was thinking about that too. That would require extending wesnoth.message to add an optional chat logging ability 20160403 17:23:39< celticminstrel> Are game preferences exposed to Lua anywhere? 20160403 17:23:54< aeth> This [message] being missed problem is probably one of the main things that makes Wesnoth unfriendly to MP RPGs other than drag-and-drop inventory. And is much easier to do than the latter. 20160403 17:24:18-!- horrowind [~Icedove@2a02:810a:83c0:1c18:21b:fcff:fee3:c3ff] has quit [Quit: horrowind] 20160403 17:24:24< celticminstrel> Wesnoth has drag-and-drop in some places, not sure if GUI2 supports it though. 20160403 17:25:45< celticminstrel> If the problem is just [message] being missed, there could be a preference to not click-dismiss them (which I think would mean they're only dismissed on escape or return). 20160403 17:25:50< aeth> Actually, Wesnoth doesn't need drag-and-drop in GUI2, Wesnoth just needs an icon grid rather than a list. That would probably be good enough. 20160403 17:26:04< aeth> which gui2 might have, idk, it's a big byzantine mess of complexity 20160403 17:26:14< celticminstrel> No, Wesnoth does need drag-and-drop in GUI2, even if it's not exposed in the Lua API. 20160403 17:26:27< aeth> oh here let's put another [column] [row] that should be implicit. wow I hate gui2 20160403 17:26:42< aeth> If HTML was like that, we'd never have the web 20160403 17:27:08< celticminstrel> Uh, I'm pretty sure HTML tables are like that... 20160403 17:27:48< celticminstrel> Although they at least have the span thing so that you don't need all that nesting. 20160403 17:28:34< aeth> celticminstrel: I don't think HTML has it quite as badly, and tables are discouraged these days. The only newish site that uses it is HN. 20160403 17:28:56< celticminstrel> HN? 20160403 17:29:01< aeth> Hacker News 20160403 17:29:04< celticminstrel> You're right that it's not as bad as GUI2 though. 20160403 17:29:31< aeth> Meanwhile you can have [list_definition] [row] [column] [toggle_panel] [grid] [row] [column] in GUI2 20160403 17:29:40< aeth> although to be fair there's like 2 lines of configuration hidden in that nesting 20160403 17:30:00< aeth> I've written HTML by hand and it was never that frustrating 20160403 17:30:34< aeth> Nowadays most people now use template engines anyway, because even HTML is too much. 20160403 17:31:56< celticminstrel> Bah, the initializer lists aren't working. I think I'll rewrite them as a template. That should still allow the same syntax, and maybe even mixing attributes and children in the same initializer... 20160403 17:32:02< aeth> A proper template engine for GUI2 would probably reduce the line count of Wesnoth significantly. 20160403 17:32:26< celticminstrel> The problem is that it's trying to pass each element of the initializer list as a separate argument. 20160403 17:32:42< celticminstrel> ie, {a,b,c} translates to config(a,b,c) instead of config({a,b,c}). 20160403 17:32:50-!- ancestral [~ancestral@75-168-27-21.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20160403 17:33:11< celticminstrel> Template engine? 20160403 17:33:16< celticminstrel> Hmm. 20160403 17:33:25< aeth> celticminstrel: e.g. in Python I used to use this: http://jinja.pocoo.org/ 20160403 17:33:41< celticminstrel> I'd think the preprocessor kinda qualifies though. 20160403 17:33:45< aeth> It's more powerful than Wesnoth macros, there you literally embed Python code in the .html 20160403 17:33:54< aeth> Which makes it considerably more powerful than Wesnoth macros 20160403 17:34:02-!- NosajIRL [~nos@208.91.185.104] has joined #wesnoth-dev 20160403 17:34:47< celticminstrel> True, that would be more powerful than macros. 20160403 17:35:42< Ravana_> EoHS creates separate log of messages; so for core it could be another tab in chat log 20160403 17:36:05< aeth> celticminstrel: Actually I don't think it's real Python, but rather something inspired by Python. It's still very advanced. 20160403 17:36:18< aeth> celticminstrel: Something like this but with Lua would probably improve Wesnoth's WML overall, not just GUI2 20160403 17:36:21< aeth> Macros could be deprecated. 20160403 17:36:38< celticminstrel> I think something like this would replace the preprocessor. 20160403 17:36:47< celticminstrel> But I don't think macros could be entirely deprecated. 20160403 17:37:01< celticminstrel> They're still needed for #ifdef stuff. 20160403 17:37:13< celticminstrel> Well, maybe augment rather than replace. 20160403 17:37:21< aeth> https://en.wikipedia.org/wiki/Web_template_system 20160403 17:37:54< aeth> There's one with a Lua implementation, though it's probably not that powerful since it has so many ports: https://en.wikipedia.org/wiki/Mustache_%28template_system%29 20160403 17:38:18< aeth> https://github.com/Olivine-Labs/lustache 20160403 17:39:28< Ravana_> wesnoth.message is completely different from [message] 20160403 17:39:33< aeth> Ravana_: that's the point 20160403 17:39:56< aeth> Ravana_: when someone closes [message] accidentally in MP, they can still view the contents of the message *because* of the redundant double-messaging, using wesnoth.message to show it in the chat 20160403 17:40:14< aeth> The only issue is that it doesn't show up in the chat log 20160403 17:40:33< Ravana_> I have designed [message] to be either difficult to close or irrelevant 20160403 17:40:42< celticminstrel> Huh? 20160403 17:40:58< Ravana_> [while] not exiting from message, fire the event of message 20160403 17:41:39< aeth> Ravana_: that might work for you but I have too many [message]s 20160403 17:42:19< aeth> Ravana_: My add-on allows anyone to [message] in-character as their character, which 90% of people like and 10% of people hate. So making it really hard to close would really annoy a bunch of people, but if you accidentally miss the message then you miss a lot without that log 20160403 17:42:27< celticminstrel> You can prevent click-dismiss somehow, actually. 20160403 17:42:33< aeth> but I don't want to 20160403 17:42:40< celticminstrel> One of the MicroAI test scenarios somehow adds an OK button. 20160403 17:42:43< aeth> because sometimes the messages are useless 20160403 17:45:20< Ravana_> it is possible to make it difficult to close only for some clients, but that way wouldn't be that comfortable to maintain... so I think another tab for those messages somewhere could be useful 20160403 17:45:47< aeth> right, but the most KISS way to log messages is to put it in the chat 20160403 17:45:54< aeth> which in my add-on works fine 20160403 17:46:13< aeth> the only problem is that wesnoth.message is for *error* messages and so they don't get chat logged 20160403 17:46:33< celticminstrel> Wait, it sounds like there's already a way to add things to the chat log? 20160403 17:46:41< Ravana_> it isn't for error messages 20160403 17:46:50< aeth> Ravana_: then it's a major oversight 20160403 17:46:51< Ravana_> its just [chat] that is visible for observers 20160403 17:47:06< aeth> Ravana_: observers should be able to see this message 20160403 17:47:10< celticminstrel> Doesn't [chat] call wesnoth.message? 20160403 17:47:40< Ravana_> it might, but [chat] is not possible to make visible there 20160403 17:48:10-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has joined #wesnoth-dev 20160403 17:49:18< celticminstrel> Yeah, [chat] is identical to wesnoth.message. 20160403 17:49:53< Ravana_> no, <> that part breaks it 20160403 17:50:04< Ravana_> I think 20160403 17:50:58< Ravana_> haven't actually tried to modify it 20160403 17:51:13< celticminstrel> Ah. 20160403 17:51:20< celticminstrel> Could be. 20160403 17:52:27-!- gfgtdf [~chatzilla@x4e36a8ae.dyn.telefonica.de] has joined #wesnoth-dev 20160403 17:53:56< celticminstrel> Iterating over template parameter packs looks weird. 20160403 17:55:29< mattsc> celticminstrel: “One of the MicroAI test scenarios somehow adds an OK button.” Really? Which one is that? 20160403 17:55:40< celticminstrel> I think it's lurkers. 20160403 17:55:48< celticminstrel> Maybe it was a Close button. 20160403 17:58:28< mattsc> Huh, I don’t remember that. But there are lots of things I have forgotten ... 20160403 17:58:30-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20160403 18:07:19-!- EdB [~edb@89.193.129.77.rev.sfr.net] has quit [Quit: Konversation terminated!] 20160403 18:14:48-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20160403 18:15:46-!- mjs-de [~mjs-de@x5ce489ee.dyn.telefonica.de] has joined #wesnoth-dev 20160403 18:18:12< celticminstrel> Why is it saying the variadic template constructor requires 0 arguments...:| 20160403 18:20:00< gfgtdf> vultraz: why did you remove the 800x480 resultion from the gui2 travis tests ? 20160403 18:28:14-!- ideuler [~textual@a89-153-75-168.cpe.netcabo.pt] has quit [Quit: Chakalaka.] 20160403 18:40:49-!- irker815 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20160403 19:31:53-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20160403 19:59:28-!- NosajIRL [~nos@208.91.185.104] has quit [Ping timeout: 252 seconds] 20160403 20:01:06< gfgtdf> vultraz: it seems like multiple boost headers we use include boost/bnd/placehoders.hpp smowhow 20160403 20:01:39< gfgtdf> vultraz: so that wel'' get errors when we use std::bind with placeholders in those files 20160403 20:02:28< gfgtdf> vultraz: among the boost headers that include boost/bind/placehoders are boost/iostreams/copy.hpp, boost/thread.hpp and boost/multi_index/random_access_index.hpp 20160403 20:03:10-!- NosajIRL [~nos@208.91.185.104] has joined #wesnoth-dev 20160403 20:12:17< gfgtdf> vultraz: i think this is very bad, since this means whnever we add a any include to a file it can mean thai it clashes with utils/functional.hpp 20160403 20:12:58< gfgtdf> vultraz: we have multiple solutions here: 1) revert to boost::bind, use a different alia for std::placeholders 20160403 20:21:01-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20160403 20:21:12-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Ping timeout: 276 seconds] 20160403 20:28:38-!- prkc [~prkc@46.166.188.234] has joined #wesnoth-dev 20160403 20:35:58-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20160403 20:36:12-!- nurupo [~nurupo.ga@unaffiliated/nurupo] has quit [Ping timeout: 246 seconds] 20160403 20:40:26-!- nurupo [~nurupo.ga@unaffiliated/nurupo] has joined #wesnoth-dev 20160403 20:50:06-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20160403 20:52:40-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20160403 21:08:34-!- ScegfOd [637f4b7c@gateway/web/freenode/ip.99.127.75.124] has joined #wesnoth-dev 20160403 21:10:02< celticminstrel> gfgtdf: I might do something about that. 20160403 21:10:16< celticminstrel> Especially if it turns out to break my build too. 20160403 21:10:19< gfgtdf> celticminstrel: about what exactly ? 20160403 21:10:24< celticminstrel> The placeholders. 20160403 21:11:12< gfgtdf> celticminstrel: well i can still build, but my point is that this coudl break after every header that is included. 20160403 21:11:48< gfgtdf> celticminstrel: you have a concrete plan about how to fiy this issue ? 20160403 21:12:14< gfgtdf> celticminstrel: also i get a lua error from message.lua when starting AoI. 20160403 21:12:34< celticminstrel> I don't have a concrete plan right now because I'm not caught up on master at the moment. 20160403 21:13:28< gfgtdf> celticminstrel: i also made an upstream suggestion: https://svn.boost.org/trac/boost/ticket/12111 not sure if its possible to implement in in that way though 20160403 21:14:22< celticminstrel> The upstream fix would be good, but I don't think it can be counted as a fix for us. 20160403 21:27:57-!- ChipmunkV [~vova@d0017-2-88-172-31-68.fbx.proxad.net] has quit [Quit: ChipmunkV] 20160403 21:29:26-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20160403 21:29:58-!- ancestral [~ancestral@75-168-27-21.mpls.qwest.net] has joined #wesnoth-dev 20160403 21:31:30< ScegfOd> anyone on right now that knows the wesnoth/correct way of adding a button to the preferences dialog? should I make a widget? 20160403 21:31:44< celticminstrel> Step 1: Edit the config file. 20160403 21:32:19< celticminstrel> Each page has a separate file. They can be found at data/gui/windows/preferences/ if I recall correctly. 20160403 21:32:46< ScegfOd> that has a bunch of cfg files yes 20160403 21:32:51< celticminstrel> Some of this wiki reference may help: http://wiki.wesnoth.com/GUI2 20160403 21:32:57< ScegfOd> thanks 20160403 21:33:49-!- lipkab [~the_new_l@host-91-147-210-58.biatv.hu] has quit [Quit: Leaving] 20160403 21:36:26< ScegfOd> erm, that link seems odd.... 20160403 21:37:33< ScegfOd> going from the main wesnoth website seems to work though >.> 20160403 21:40:15-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 246 seconds] 20160403 21:40:16-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20160403 21:40:18-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Read error: Connection reset by peer] 20160403 21:47:15< gfgtdf> i'm getting compiler erros in src/gui/dialogs/multiplayer/mp_login.cpp:74 20160403 21:49:35< gfgtdf> hmm there seem to be still a lot occurances of NULL instead of nullptr 20160403 21:49:50< gfgtdf> this break msvc compilation when used with std::function 20160403 21:52:44< ScegfOd> welp, I've hacked in a button that will make the same messages as --log-debug=engine/team_construction would make xD 20160403 21:54:06< ScegfOd> now I just have to figure out how the logger works so that I know how to turn it on and off... 20160403 21:54:23< ScegfOd> and maybe have it output to something besides command line 20160403 22:04:03-!- Appleman1234 [~Appleman1@KD106161150075.au-net.ne.jp] has quit [Ping timeout: 246 seconds] 20160403 22:06:05< celticminstrel> ScegfOd: Yeah, sorry, I typed it out and wrote com instead of org. 20160403 22:07:15< celticminstrel> gfgtdf: nullptr did not work with boost::function if I recall correctly, so I had to leave a few NULLs in. Feel free to change it to nullptr if that works. 20160403 22:07:47< celticminstrel> ScegfOd: src/log.cpp 20160403 22:07:56< celticminstrel> Well, hpp I guess. 20160403 22:08:06< celticminstrel> There are functions to enable or disable various domains. 20160403 22:08:52< celticminstrel> I'm not quite sure where the code is that actually applies the --log arguments, though. 20160403 22:09:40< celticminstrel> I wonder what sort of interface should be used for enabling and disabling logging... 20160403 22:09:57< celticminstrel> To me it would make sense to have an auxiliary dialog with a listbox, one entry for every domain. 20160403 22:11:52< gfgtdf> hmm there exists subdomains like mp/connect/engine so maybe a treeview or similiar would be better 20160403 22:12:00< celticminstrel> Maybe, yeah. 20160403 22:13:50< ScegfOd> celticminstrel: thanks again xD 20160403 22:15:28< gfgtdf> celticminstrel: your new file lua_formula_bridge also adds multiple NULL occurances. 20160403 22:15:54< celticminstrel> gfgtdf: Oh, whoops. I updated the foreach in that file but I guess I mixed the nulls. I'll fix it. 20160403 22:16:11< celticminstrel> That file was originally written before C++11 was being used. 20160403 22:16:50< celticminstrel> It's possible that some other related commits from that branch also introduced NULL, then... 20160403 22:17:25< celticminstrel> I guess I can let you fix it if you prefer though. 20160403 22:18:53< celticminstrel> ^missed 20160403 22:20:11-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20160403 22:55:07-!- irker155 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20160403 22:55:07< irker155> wesnoth: gfgtdf wesnoth:master f96b4ad11fc0 / src/ (5 files in 3 dirs): mix msvc build https://github.com/wesnoth/wesnoth/commit/f96b4ad11fc0b7c0f38fa47bf51ec0e67e100b53 20160403 23:00:03< celticminstrel> Heh, typo. 20160403 23:00:21-!- travis-ci [~travis-ci@ec2-54-147-240-208.compute-1.amazonaws.com] has joined #wesnoth-dev 20160403 23:00:22< travis-ci> wesnoth/wesnoth#9190 (master - f96b4ad : gfgtdf): The build is still failing. 20160403 23:00:22< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/120504772 20160403 23:00:22-!- travis-ci [~travis-ci@ec2-54-147-240-208.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160403 23:01:49-!- Appleman1234 [~Appleman1@KD106161144004.au-net.ne.jp] has joined #wesnoth-dev 20160403 23:02:30< celticminstrel> The toggle_panel instance could've just been remove, I think - std::function(nullptr) should be the same as std::function(). 20160403 23:11:15-!- mjs-de [~mjs-de@x5ce489ee.dyn.telefonica.de] has quit [Ping timeout: 246 seconds] 20160403 23:17:45< ScegfOd> celticminstrel: is printing to the command line ok? 'cause I have a button that turns on and off logging one thing :3 20160403 23:18:03< celticminstrel> Uh. What? 20160403 23:18:22< celticminstrel> ^removed 20160403 23:21:12-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20160403 23:26:31< ScegfOd> celticminstrel: sorry I meant the easycoding "Make a GUI method to activate loggers" 20160403 23:26:59< celticminstrel> I have no idea what "is printint to the command line ok" means. 20160403 23:27:02< celticminstrel> ^printing 20160403 23:28:06< ScegfOd> um, howbout terminal? 20160403 23:28:14< ScegfOd> if you run it from terminal it'll print there xD 20160403 23:28:35< celticminstrel> I'm not sure what we're talking about, either. 20160403 23:28:42< ScegfOd> oh sorry 20160403 23:28:57< celticminstrel> I know what you're working on, at least. 20160403 23:29:03< celticminstrel> But I don't understand your question. 20160403 23:29:40< ScegfOd> well you know how when you run "wesnoth --log-debug=engine/team_construction" the information that the logger produces goes to the window that you used to type the command? 20160403 23:30:03< celticminstrel> Yes. 20160403 23:30:12< ScegfOd> my gui button so far does exactly that 20160403 23:30:31< ScegfOd> so if you switch focus from wesnoth to the terminal window you can see what it prints out 20160403 23:30:57< celticminstrel> That sounds like how things should be. Logging is kinda an advanced feature anyway. 20160403 23:31:09< ScegfOd> yay 20160403 23:31:19< celticminstrel> I mean, sure you could have a way to put it to chat while in-game, but... I don't think it's worth it. 20160403 23:31:37 * celticminstrel pokes vultraz 20160403 23:31:38< ScegfOd> in that case maybe I should try to rebase and setup a pull request xD 20160403 23:32:05< celticminstrel> Huh? I thought you weren't finished. 20160403 23:32:32< ScegfOd> ummmm well it is a bit of a hack because of where I put the button 20160403 23:32:36< ScegfOd> but it does the thing 20160403 23:33:25< celticminstrel> From what I've heard so far, it sounds like you've finished setting up the mechanism for it to work, but only have one hacky button in preferences to set one specific logdomain to one specific level. That's not what I would call finished. 20160403 23:33:29< ScegfOd> so it's more a matter of being a toggle button at the top of the advanced menu and I'm not sure how bad that is.... 20160403 23:33:48< celticminstrel> You can open the PR early if you really want, though. 20160403 23:33:49< ScegfOd> oh, then yeah it's not done xD 20160403 23:34:25< celticminstrel> Personally I would suggest making a whole new dialog for it and adding it as a "special" advanced pref. 20160403 23:34:50< celticminstrel> The possible advanced prefs are defined somewhere in data/ 20160403 23:35:07< celticminstrel> Though "special" ones also need special handling in the C++ code. 20160403 23:35:43< ScegfOd> hmmmm 20160403 23:36:13< ScegfOd> do you mean like putting a button in the advanced part of the preferences menu? 20160403 23:36:41< celticminstrel> I mean like how the advanced sound and orb colour prefs work. 20160403 23:37:38< ScegfOd> I'm not sure how those work, I suppose I should go look xD 20160403 23:38:51< celticminstrel> There might be other reasonable ways to do it. 20160403 23:38:55< ScegfOd> oh yeah, just data/advanced_preferences.cfg 20160403 23:39:20< celticminstrel> That, and special handling in src/gui/dialogs/preferences_dialog.cpp 20160403 23:39:30< celticminstrel> And a whole new dialog. 20160403 23:40:25< celticminstrel> If you can think of a better idea, feel free to try it. 20160403 23:41:18< ScegfOd> originally i was thinking of something similar to that, or making another tab that said logging instead of advanced heheh 20160403 23:41:47< celticminstrel> Another page would work, but I personally think that would make it more obvious than it really needs to be. 20160403 23:41:50< ScegfOd> I think the new dialog idea would be best 20160403 23:41:56< celticminstrel> A subpage of advanced prefs could work too, I suppose... 20160403 23:41:59< celticminstrel> Sure. 20160403 23:42:47< ScegfOd> thanks again, I'm off to look at those dialogs~ 20160403 23:43:34-!- arahirxvii [~arahirxvi@2601:602:8301:465f:ad45:6997:d22b:e48e] has joined #wesnoth-dev 20160403 23:54:11-!- arahirxvii [~arahirxvi@2601:602:8301:465f:ad45:6997:d22b:e48e] has left #wesnoth-dev ["Leaving"] --- Log closed Mon Apr 04 00:00:23 2016