--- Log opened Thu Oct 27 00:00:27 2016 20161027 00:07:21-!- travis-ci [~travis-ci@ec2-54-161-198-91.compute-1.amazonaws.com] has joined #wesnoth-dev 20161027 00:07:22< travis-ci> wesnoth/wesnoth#11781 (lua_mapgen_stuff - f50ed4b : Celtic Minstrel): The build passed. 20161027 00:07:22< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/170919279 20161027 00:07:22-!- travis-ci [~travis-ci@ec2-54-161-198-91.compute-1.amazonaws.com] has left #wesnoth-dev [] 20161027 00:21:04-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20161027 00:28:36-!- irker441 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20161027 01:17:31-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20161027 01:36:34-!- gfgtdf_ [~chatzilla@x4e36a218.dyn.telefonica.de] has joined #wesnoth-dev 20161027 01:38:24-!- gfgtdf [~chatzilla@x4e36a5f1.dyn.telefonica.de] has quit [Ping timeout: 250 seconds] 20161027 01:38:29-!- gfgtdf_ is now known as gfgtdf 20161027 01:52:35< celticminstrel> gfgtdf: You mean the catch(...) change? I tried it and it worked, so that's why the PR is updated with that. 20161027 01:53:14< celticminstrel> Oh wait, did I forget to push? 20161027 01:53:41< gfgtdf> you did 20161027 01:53:55-!- irker608 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20161027 01:53:56< irker608> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff b8467cc0c2cd / src/ (game_launcher.cpp gui/dialogs/loadscreen.cpp): Improve handling of map generator errors https://github.com/wesnoth/wesnoth/commit/b8467cc0c2cd3f6a59c1176ef2119f4db8365413 20161027 01:53:56< irker608> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 581f1972bce0 / / (6 files in 4 dirs): Refactor Lua cave map generator https://github.com/wesnoth/wesnoth/commit/581f1972bce04fe6bfa958b6c0f2926b8acce27d 20161027 01:53:56< irker608> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff aa2ed7e91a04 / data/lua/cave_map_generator.lua: Lua Cave Mapgen: Support [chamber]chance= https://github.com/wesnoth/wesnoth/commit/aa2ed7e91a04933c21e892d7af14c7a8d9dd12a0 20161027 01:53:56< irker608> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 50d3aafa81b2 / data/ (4 files in 3 dirs): Lua Cave Mapgen: Support random chance of flipping the map https://github.com/wesnoth/wesnoth/commit/50d3aafa81b28774126ddff3db38365a9b2625e8 20161027 01:53:57< irker608> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 43c3b0f8dcc6 / data/lua/cave_map_generator.lua: Lua Cave Mapgen: Support scenario generation https://github.com/wesnoth/wesnoth/commit/43c3b0f8dcc6f5365aa77b409b01a1026076a5f3 20161027 01:55:54< celticminstrel> gfgtdf: About [scenario], is there any difference between the generator tag and the toplevel tag? 20161027 01:56:34< gfgtdf> celticminstrel: well for example the [scenario] inside [generator] doesn't support [generator] subtags afaik. 20161027 01:56:58< celticminstrel> Is that the only difference? 20161027 01:57:46< gfgtdf> celticminstrel: i think it also uses the id and name of the outer [scenario] so the id and name in the inner [scenario] might be ignored 20161027 01:58:07< celticminstrel> So basically, only minor differences. 20161027 01:58:51< gfgtdf> celticminstrel: yes 20161027 01:59:13< celticminstrel> Any better ideas for the name of the [items] tag? 20161027 01:59:56< gfgtdf> celticminstrel: hmm no i dont see prlblems with that name 20161027 02:00:01< celticminstrel> 'kay 20161027 02:00:49< celticminstrel> Would you say it's ready to merge then? I did test that HTTT17 still gets a correct-looking map. 20161027 02:00:58< irker608> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 8c348d942732 / data/lua/cave_map_generator.lua: Lua Cave Mapgen: Support scenario generation https://github.com/wesnoth/wesnoth/commit/8c348d9427320feddb1d21667a6b0ecc7c0178ae 20161027 02:05:58< celticminstrel> There needs to be a better way of placing the chambers though... 20161027 02:06:55< gfgtdf> celticminstrel: hmm i wonder whether https://github.com/wesnoth/wesnoth/blob/43c3b0f8dcc6f5365aa77b409b01a1026076a5f3/data/lua/cave_map_generator.lua#L95 shouldn't better use stable_to_pairs 20161027 02:07:15< celticminstrel> Why? 20161027 02:07:18< gfgtdf> celticminstrel: becaseu afaik to_pairs returns them in an undefined order whcih might break the eterminisicness of the seed 20161027 02:07:29< celticminstrel> Hmm. 20161027 02:08:19< celticminstrel> Isn't the pairs() function deterministic? 20161027 02:08:29< gfgtdf> same applies to https://github.com/wesnoth/wesnoth/blob/43c3b0f8dcc6f5365aa77b409b01a1026076a5f3/data/lua/cave_map_generator.lua#L141 20161027 02:08:34< celticminstrel> If you call it twice on the same table without changing it in the meantime, the iteration order should be the same. 20161027 02:08:44< gfgtdf> celticminstrel: afaik it isnt, onyl iraprs is. 20161027 02:08:54< celticminstrel> That wasn't my impression... 20161027 02:09:10< celticminstrel> pairs() is an unspecified order, but that doesn't mean it's nondeterministic. 20161027 02:10:18< gfgtdf> celticminstrel: i don't know for sure, but i assmued this means that it coudl results in a different order if for example the elements were inserted ina differnt order or on a diferent machine 20161027 02:11:19< celticminstrel> But the order of insertion should be deterministic in the first place, shouldn't it? 20161027 02:11:46< celticminstrel> I suppose I could use stable_iter, it just seems kinda silly. 20161027 02:12:15< celticminstrel> "The order in which the indices are enumerated is not specified, even for numeric indices." - this doesn't imply it's nondeterministic 20161027 02:12:33< celticminstrel> (Quoted from Lua reference manual.) 20161027 02:13:08< gfgtdf> celticminstrel: hmm yes but it also doesnt imply that it is deterministic. 20161027 02:13:14< celticminstrel> True. 20161027 02:13:18< gfgtdf> celticminstrel: also it migth change when we update toa newer lua version 20161027 02:13:28< celticminstrel> Does that matter? 20161027 02:14:40< gfgtdf> celticminstrel: not sure, becasue i dont know when peolpe use random map sedees afaik its currently onyl supported in the editor. 20161027 02:15:59< celticminstrel> Does the editor even support Lua generators... 20161027 02:17:45< celticminstrel> The to_pairs() call is also based on iter(), by the way. 20161027 02:17:58< celticminstrel> Though I guess to_stable_pairs() exists... 20161027 02:18:13< celticminstrel> ... 20161027 02:18:26< celticminstrel> I'm a little confused by the implementation of stable_iter. 20161027 02:18:45< celticminstrel> ...oh right, ipairs() only works with consecutive indices. Never mind then. 20161027 02:19:10< gfgtdf> celticminstrel: yes te editor does support lua generators 20161027 02:25:29-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20161027 02:35:55-!- travis-ci [~travis-ci@ec2-54-161-198-91.compute-1.amazonaws.com] has joined #wesnoth-dev 20161027 02:35:56< travis-ci> wesnoth/wesnoth#11782 (lua_mapgen_stuff - 43c3b0f : Celtic Minstrel): The build has errored. 20161027 02:35:56< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/170967824 20161027 02:35:56-!- travis-ci [~travis-ci@ec2-54-161-198-91.compute-1.amazonaws.com] has left #wesnoth-dev [] 20161027 02:36:47-!- gfgtdf [~chatzilla@x4e36a218.dyn.telefonica.de] has quit [Quit: ChatZilla 0.9.92 [Firefox 49.0.2/20161019084923]] 20161027 03:18:50< celticminstrel> Oh, the editor's map generator requires a scenario to generate the map. 20161027 03:21:11< celticminstrel> So it can't use the cave generator unless a scenario is added that uses it. 20161027 03:38:05-!- JyrkiVesterinen [~JyrkiVest@87-100-197-82.bb.dnainternet.fi] has joined #wesnoth-dev 20161027 03:47:05-!- Gambit [~derek@wesnoth/developer/grickit] has quit [Quit: Though to our health we drank a thousand times, it's time to ramble on.] 20161027 03:47:15-!- Gambit [~derek@wesnoth/developer/grickit] has joined #wesnoth-dev 20161027 04:10:28-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Ping timeout: 245 seconds] 20161027 04:23:47-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20161027 04:30:39-!- JyrkiVesterinen [~JyrkiVest@87-100-197-82.bb.dnainternet.fi] has quit [Quit: .] 20161027 04:51:34-!- midzer_ is now known as midzer 20161027 05:01:05-!- irker608 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20161027 05:28:30< vultraz> celticminstrel: a weird thing is that editor scenarios are saved without a [scenario] tag :/ 20161027 05:30:22< vultraz> the game won't even show user scenarios in MP if they have a [scenario] tag 20161027 05:32:46< vultraz> perhaps a bug.. or design oversight 20161027 05:41:02< vultraz> also, I have no idea what part of the code Aginor was talking about ensures only 1 draw event exists 20161027 06:06:11< vultraz> also, I think i found the issue with the slider arrow keys.. 20161027 06:06:13< vultraz> item_position_ = (item_position_ + step_size_ - 1) / step_size_; 20161027 06:06:29 * vultraz ponders 20161027 06:10:46< vultraz> im not even sure the point of that operation.. 20161027 06:11:19< vultraz> say your step is 10 20161027 06:11:30< vultraz> and the position is 5 20161027 06:11:35< vultraz> of course you'll get 1 20161027 06:16:43< vultraz> a step of 1 is essentially ' do nothing' 20161027 06:26:53< celticminstrel> vultraz: Not what I was talking about. 20161027 06:27:01< vultraz> what ish appening.. 20161027 06:27:22< celticminstrel> I meant that when you go to generate a map in the editor, it seems that it looks for scenarios with a [generator] subtag. 20161027 06:27:40< vultraz> I see 20161027 06:27:42< celticminstrel> And uses that scenario to determine how to generate the map. 20161027 06:28:07< celticminstrel> So on a vanilla install, the options are "Random Map", "Random Map (Desert)", "Random Map (Winter)", and... one more I forgot. 20161027 06:28:34< celticminstrel> I want to add a cave generator to that... but the cave generator needs more features to be interesting. 20161027 06:29:12< celticminstrel> How do random maps know how many castles to place... 20161027 06:31:04-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20161027 06:32:30< vultraz> there's a setting 20161027 06:32:35< vultraz> i assume by players 20161027 06:33:17< vultraz> that is, bu number of players 20161027 06:36:25< vultraz> blah, i give up on this bug 20161027 06:38:59< celticminstrel> I think the Lua generator might not be passed the number of players... 20161027 06:40:53< celticminstrel> BTW, don't merge PR 845 yet, I have one or two things I want to add first. 20161027 06:52:19-!- JyrkiVesterinen [~JyrkiVest@nblzone-242-23.nblnetworks.fi] has joined #wesnoth-dev 20161027 06:59:04 * vultraz wonders why make_shared is in c++11 but make_unique is c++14 20161027 07:01:39< JyrkiVesterinen> http://stackoverflow.com/a/9657991 20161027 07:02:11< vultraz> so, they forgot :P 20161027 07:02:20 * celticminstrel tries to use coroutines to write a location_set iterator... 20161027 07:02:29< celticminstrel> I seem to be missing something... 20161027 07:02:51< celticminstrel> I kinda wanted to somehow wrap the existing iter(f) method... 20161027 07:04:55< celticminstrel> Okay so... "stable" iteration seems to end up being in lexicographical order, I think, given that the index is 16384x + y + 2000 20161027 07:05:31< celticminstrel> For unstable iteration I could just wrap the next() function... 20161027 07:07:20< celticminstrel> Not sure how I can do stable iteration though... any ideas? 20161027 07:11:51< celticminstrel> I wonder if it's actually possible to support "for x, y, v in loc_set:iter_pairs()"... might have to go with "for loc, v in loc_set:iter_pairs()"... 20161027 07:12:03< celticminstrel> Maybe it's possible with a closure. 20161027 07:14:41< celticminstrel> Maybe it's possible without one too. I still don't understand Lua's for loop semantics. It's too arcane. 20161027 07:16:56< JyrkiVesterinen> Yes, you can return unlimited number of values in iterators. 20161027 07:16:57< JyrkiVesterinen> http://www.lua.org/pil/7.1.html 20161027 07:21:04< celticminstrel> It'd be nice if there was an easy way to iterate a sparse array in order, too. :/ 20161027 07:21:32< celticminstrel> I wonder if there's any reason to ever actually use LS:iter() other than it being faster due to not needing to sort the keys... 20161027 07:22:16< JyrkiVesterinen> You could create an iterator for that. It's not that hard. 20161027 07:22:31< celticminstrel> Really? 20161027 07:23:06< JyrkiVesterinen> Store the latest index you have iterated. When asked for the next value, go through the entire table with pairs(). Return the value with the index that follows the latest index. 20161027 07:23:19< celticminstrel> Hmm. 20161027 07:23:55< celticminstrel> Is that more efficient than copying the keys to an array, sorting, then iterating over them with ipairs... 20161027 07:24:07< Aginor> vultraz: I've written up my comments based on the data you gave me to work of 20161027 07:24:10< JyrkiVesterinen> Likely less efficient. 20161027 07:24:20< celticminstrel> Yeah, that's what I thought too... 20161027 07:24:44< celticminstrel> Though I suppose even that method could work for an iterator... 20161027 07:24:57< vultraz> Aginor: Did you have debug mode on? I think the 'image not found image doesn't appear without debug mode. 20161027 07:25:10< Aginor> vultraz: I still don't know where to look 20161027 07:25:11< vultraz> though why the laurel would darken without the overlay.. 20161027 07:25:14< vultraz> that would be weird :/ 20161027 07:25:17< Aginor> so I looked at the original images 20161027 07:25:24< JyrkiVesterinen> I tend to not cache information unless caching is needed. I want to follow "information exists in only one place" way of thinking. That's why I didn't suggest storing the indices in a second table. 20161027 07:25:24< celticminstrel> I could probably copy stable_iter and change it to yield each location rather than calling a function... but that's code duplication... 20161027 07:25:28< Aginor> and your screenshot 20161027 07:25:35< Aginor> compared the values in gimp 20161027 07:25:40< JyrkiVesterinen> If you don't cache, you can't have cache invalidation bugs. 20161027 07:25:44< celticminstrel> JyrkiVesterinen: Well, that's what the existing stable_iter function does though. 20161027 07:25:47< celticminstrel> Hmm. 20161027 07:25:52< vultraz> Aginor: oh, I see what you mean 20161027 07:26:20< Aginor> vultraz: I don't even know which dialog it is you're looking at :) 20161027 07:26:33< vultraz> Aginor: what i was trying to say was to just screw up an image path (like this one: https://github.com/wesnoth/wesnoth/blob/master/data/campaigns/Heir_To_The_Throne/_main.cfg#L10 ) and open the Campaign dialog. 20161027 07:26:34< Aginor> vultraz: nor the steps required to reproduce :) 20161027 07:26:43< vultraz> (actually, exactly that one) 20161027 07:27:10< vultraz> (Campaign dialog = click Campaigns at main menu) 20161027 07:27:24< celticminstrel> The stable_iter function is used by several AIs, so reducing its efficiency could be a bit of a problem... 20161027 07:28:09< celticminstrel> ...wait, no, the AIs tend to use iter instead, I think. 20161027 07:29:18< celticminstrel> Some do use to_stable_pairs though which uses stable_iter... 20161027 07:29:31< celticminstrel> some == only one, apparently. 20161027 07:30:00-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20161027 07:30:06< celticminstrel> None of them use to_wml_var which also uses stable_iter. 20161027 07:30:26< celticminstrel> I dunno, would it be a good idea to change stable_iter to not cache the keys and use the method JyrkiVesterinen described? 20161027 07:30:55< JyrkiVesterinen> If it already caches the keys, I think it would be best to just leave it alone. 20161027 07:31:02< celticminstrel> Yeah okay then. 20161027 07:31:56< vultraz> Aginor: you got it? 20161027 07:32:01< Aginor> vultraz: so how do I enable your debug mode? 20161027 07:32:09< vultraz> Aginor: start game with --debug 20161027 07:32:16< Aginor> ah, that kind of debug mode 20161027 07:32:25< vultraz> is there another kind? 20161027 07:32:52< Aginor> there's also ;debug 20161027 07:32:59< vultraz> does the same thing 20161027 07:33:04-!- atarocch [~atarocch@37.180.45.177] has joined #wesnoth-dev 20161027 07:33:08< Aginor> and then there's an actual debugger 20161027 07:33:32< vultraz> that is indeed different 20161027 07:33:44< Aginor> ok, still no laurel for me 20161027 07:33:54< Aginor> but that's ok, I think that's different 20161027 07:33:58< vultraz> oh yeah, you only get the laurel on completed campaigns 20161027 07:34:09< Aginor> so where's the little hexagon coming from? 20161027 07:34:18-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Quit: wedge009] 20161027 07:34:36-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20161027 07:34:54< JyrkiVesterinen> When it comes to debug modes, Windows has a "debug heap manager" that performs additional memory safety operations (it e.g. sets memory areas to a certain value when you free them). The debug heap manager is used when you run the game under the MSVC debugger. It can also be considered a "debug mode". 20161027 07:35:02< vultraz> wesnoth-git/images/misc/missing-image.png 20161027 07:35:52< Aginor> now that one is interesting 20161027 07:35:58< Aginor> that image is semi-transparent 20161027 07:36:03< vultraz> yes. 20161027 07:47:16< Aginor> hmm 20161027 07:47:39< Aginor> based on my flailing attempts to use gimp, I'd expect a darkening to be the right behaviour 20161027 07:47:54< zookeeper> hmh? 20161027 07:48:47< Aginor> hmm 20161027 07:48:48< vultraz> I actually disagree 20161027 07:48:52< Aginor> but I really don't know 20161027 07:48:58< vultraz> I'm pretty sure i tested and the old behavior seemed right 20161027 07:49:08< vultraz> but zookeeper should probably confirm. 20161027 07:49:25< Aginor> I'm pretty sure I'm not doing this right though 20161027 07:50:30< Aginor> I think I'm also missing the dark blue 20161027 07:50:41< celticminstrel> So the coroutine-based iterator works... but should I rewrite it to not be coroutine-based? It seems weird for one iterator to be coroutine-based and the other not. 20161027 07:50:58< zookeeper> vultraz, Aginor, so what's the question? 20161027 07:51:11< Aginor> I'm now suspecting that the darkening there isn't a different colour but just another transparent black layer 20161027 07:51:56< celticminstrel> zookeeper: If I add a SLF subtag to the cave generator to decide where to place a chamber, should it be [filter_location] or something else, like [placement]? Or should I just use the [chamber] tag as a SLF? 20161027 07:52:25< zookeeper> celticminstrel, what's the parent tag? 20161027 07:52:29< celticminstrel> [chamber] 20161027 07:52:46< vultraz> zookeeper: which is the right look if duplicated in gimp: https://github.com/wesnoth/wesnoth/pull/844#issuecomment-256350961 20161027 07:52:55< zookeeper> [chamber] [filter_locations] looks appropriate 20161027 07:53:09< celticminstrel> Note that it'll pick one random matching location. 20161027 07:53:28< celticminstrel> Well, maybe more than one if I add an option to repeat the chamber multiple times, I guess. 20161027 07:54:25< celticminstrel> Not sure I'll actually do this, there's the problem of not having a real map... but it's something I'm considering at least. 20161027 07:55:51 * celticminstrel should sleep. 20161027 07:56:15< zookeeper> vultraz, the top one looks correct to me 20161027 07:56:26-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] 20161027 07:56:32< zookeeper> background + laurel + missing image = same result when layered manually 20161027 07:56:43< Aginor> manually how? 20161027 07:56:59< zookeeper> in gimp or whatever 20161027 07:57:05< Aginor> ok 20161027 08:00:45< zookeeper> (clarification: it doesn't just "look" correct, it is correct :p) 20161027 08:01:14< Aginor> yeah, but what does the gimp do? 20161027 08:01:33< Aginor> does it blend the alpha channel's values, or does it just give it the value of the last layer? 20161027 08:02:03< zookeeper> you mean what is the alpha value if all the layers are merged and how is it calculated? 20161027 08:02:11< Aginor> yes 20161027 08:02:39< zookeeper> well, uh, i'd consult the internets for that. it's a blend of course, but i'm not sure what the algorithm is exactly or what it's called 20161027 08:03:48< zookeeper> well, okay i know what it is, i'm not sure if i can explain it well 20161027 08:04:50< zookeeper> let's say you have two layers, both with alpha 127. if you merge them, the alpha will be 191 20161027 08:05:44< zookeeper> because you start with 127 and then can only go up, and the second layer's 127 alpha means half transparent so you get 127 + ((255-127)/2) or something 20161027 08:05:49< vultraz> so, ceil(l1apha + (l2alpha/2))? 20161027 08:06:24-!- horrowind [~Icedove@2a02:810a:8380:10a8:21b:fcff:fee3:c3ff] has joined #wesnoth-dev 20161027 08:09:20< zookeeper> or maybe for a less ambiguous example, if layer one has 127 alpha and layer 2 has 63 alpha then the result is 127 + (63 / 2) = 159 20161027 08:09:33< Aginor> ummm 20161027 08:09:45< Aginor> that's not the formula I'd be expecting 20161027 08:09:49< vultraz> so indeed ceil(l1apha + (l2alpha/2)) 20161027 08:09:53< zookeeper> why not? 20161027 08:10:20< Aginor> I'd expect it to be a_r = a_1 + a_2(1-a_1), where 1 is full alpha 20161027 08:10:34< zookeeper> i mean i don't know what the actual formula typically used looks like, that's just how i understand the logic :p 20161027 08:11:23< zookeeper> uh yes i was mistaken 20161027 08:11:30< zookeeper> silly me for using 127 in the example 20161027 08:13:53< Aginor> I'm however not sure that's what the gimp is doing 20161027 08:14:08< vultraz> gimp sucks 20161027 08:14:27< zookeeper> it does what i suggested, except doesn't of course divide by half but scales it to the remaining range 20161027 08:14:40< zookeeper> which isn't a sentence i expect anyone else to understand the way i do 20161027 08:14:43< zookeeper> but language is difficult 20161027 08:15:05< Aginor> try maths, it's universal :) 20161027 08:15:30< zookeeper> well it's just a different sorts of language :p 20161027 08:18:38< zookeeper> a_1 + a_2 * (a_2 / 1) 20161027 08:19:39< zookeeper> yeah that's it 20161027 08:20:28< zookeeper> i like it how my keyboard has a dedicated key for launching windows calculator 20161027 08:20:46< zookeeper> but no other app-launching shortcut keys like that 20161027 08:21:20< vultraz> my keyboard has that too 20161027 08:21:26< Aginor> that makes me uncomfortable as it's not like any alpha blending formula I've seen in the past 20161027 08:21:45< Aginor> and why do you think a2 should be squared? 20161027 08:23:35< zookeeper> i dunno what sort of answer you're looking for :P 20161027 08:23:47< zookeeper> i can try to explain the logic if you want 20161027 08:30:47< zookeeper> well i guess my formula only works with 0..255 not 0..1 20161027 08:31:28< Aginor> a_d = a_1 + a_2 - a_1*a_2/255 is the blending function SDL uses 20161027 08:31:29< zookeeper> (with 1 meaning 255 or 256 of course) 20161027 08:32:00< Aginor> dA = ((unsigned)sA+(unsigned)dA-((unsigned)sA*dA)/255) 20161027 08:32:06< Aginor> to lift it verbatim 20161027 08:32:19< zookeeper> looks like that might give the same result, i wouldn't know 20161027 08:32:23< Aginor> plugging in your values in it, that yields 191 20161027 08:32:38< Aginor> (a_1 = 127, a_2 = 127) 20161027 08:32:57< zookeeper> which would be correct 20161027 08:32:57< vultraz> ok, so the formula is the same 20161027 08:33:17< vultraz> so why is the game displaying the thing wrong if the sdl formula is right? 20161027 08:35:22< Aginor> wesnoth uses: dst_a += (((255 - dst_a) * src_a) >> 8) 20161027 08:35:56< vultraz> but the problems happen when sdl_blit is used, remember 20161027 08:35:56< Aginor> yielding 190 20161027 08:35:58< vultraz> not blit_surface 20161027 08:36:08< Aginor> so it's less accurate 20161027 08:36:41< zookeeper> Aginor, so what does the SDL function give with, say, 192 and 64? 20161027 08:36:49-!- irker687 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20161027 08:36:49< irker687> wesnoth: Charles Dang wesnoth:master a47fb5a9cd62 / src/gui/widgets/ (tree_view_node.cpp tree_view_node.hpp): Tree View Node: implement recursive fold and unfold https://github.com/wesnoth/wesnoth/commit/a47fb5a9cd62a08eba860a8b5b89002ac75e7fe9 20161027 08:36:49< irker687> wesnoth: Charles Dang wesnoth:master bea53b5ea12f / src/gui/dialogs/gamestate_inspector.cpp: Gamestate Inspector: use recursive fold/unfold instead of widget walker https://github.com/wesnoth/wesnoth/commit/bea53b5ea12fd971cd7eab750289cd4cce71ca22 20161027 08:36:50< irker687> wesnoth: Charles Dang wesnoth:master b3371b59b449 / src/gui/widgets/tree_view_node.hpp: Tree View Node: use enum instead of integer constants for set_callback_state_cha https://github.com/wesnoth/wesnoth/commit/b3371b59b44908b99aaea4f03808251a3b0d5d7e 20161027 08:37:08< zookeeper> because it should give 208 if it's correct 20161027 08:38:11< vultraz> Aginor: I don't understand how blit_surface, with a less accurate formula, should display correctly, while sdl's implementation, with an accurate formula that produces the same result as gimp shown, should display it incorrectly. 20161027 08:38:15< Aginor> >>> sA = 192 20161027 08:38:15< Aginor> >>> dA = 64 20161027 08:38:15< Aginor> >>> dA = (sA+dA-(sA*dA)/255) 20161027 08:38:15< Aginor> >>> print dA 20161027 08:38:19< Aginor> 208 20161027 08:38:39< Aginor> vultraz: neither, there is something else at play here 20161027 08:38:49< Aginor> hmm 20161027 08:38:55 * Aginor has a nasty suspicion 20161027 08:38:59-!- wedge010 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20161027 08:39:06< vultraz> oh? 20161027 08:39:12< vultraz> what is this suspicion? 20161027 08:39:19< zookeeper> someone messed up? :> 20161027 08:39:41< Aginor> zookeeper: that's always a good suspicion 20161027 08:39:57< zookeeper> yeah, hard to go wrong with that 20161027 08:39:59 * Aginor goes to examine what's fiddling around with adding attitional alpha 20161027 08:40:48-!- wedge010 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Client Quit] 20161027 08:41:02-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 256 seconds] 20161027 08:41:45< vultraz> Aginor: honestly, it looks like 1/2 the "proper" alpha, just eyeballing it 20161027 08:41:56< vultraz> Aginor: maybe something is processed twice? 20161027 08:42:21< Aginor> I'm looking at what calls adjust_surface_alpha 20161027 08:43:14< vultraz> oh deer 20161027 08:43:18< vultraz> did *I* screw up D: 20161027 08:44:10-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20161027 08:45:36< Aginor> I'm wondering if we shouldn't just get rid of all those calls 20161027 08:45:44< zookeeper> ok so what i really tried to suggest, but failed, was a_1 + a_2 * ((256 - a_1) / 256) 20161027 08:45:59< vultraz> Aginor: i could do so 20161027 08:46:02< Aginor> zookeeper: that one I buy ;) 20161027 08:46:31< Aginor> vultraz: it's however not a case of deleting the whole lot, the individual cases and alpha channels should be updated properly 20161027 08:46:39< vultraz> D: 20161027 08:46:51< vultraz> less fun 20161027 08:47:28< Aginor> or base colours 20161027 08:48:01< Aginor> hmm 20161027 08:48:03< vultraz> this is *so fun* :| 20161027 08:48:06< vultraz> *so so fun* 20161027 08:48:08< Aginor> yes 20161027 08:48:12< zookeeper> Aginor, the previous one worked with the multiple-of-16 test values i used, though :p 20161027 08:48:27< Aginor> this is looking better 20161027 08:48:37< Aginor> void adjust_surface_alpha(surface& surf, fixed_t amount) 20161027 08:48:37< Aginor> { 20161027 08:48:37< Aginor> if(surf == nullptr) { 20161027 08:48:37< Aginor> return; 20161027 08:48:37< Aginor> } 20161027 08:48:39< Aginor> UNUSED(surf); 20161027 08:48:42< Aginor> UNUSED(amount); 20161027 08:48:44< Aginor> //SDL_SetSurfaceAlphaMod(surf, Uint8(amount)); 20161027 08:48:47< Aginor> } 20161027 08:48:49< Aginor> :D 20161027 08:48:52< Aginor> breaks a bunch of other stuff instead :D 20161027 08:48:56< vultraz> :| 20161027 08:49:09< Aginor> vultraz: could you please try that on my branch? 20161027 08:49:29< Aginor> zookeeper: yes, but it also looked implausible :D 20161027 08:49:41< zookeeper> in hindsight, i completely agree :> 20161027 08:50:16< zookeeper> i suck at transcribing things into formulas 20161027 08:51:39< Aginor> that's alright 20161027 08:51:46< vultraz> reproed the change on master and it still looks too dark :| 20161027 08:51:48< vultraz> maybe slightly 20161027 08:51:49< vultraz> less dark 20161027 08:52:01< vultraz> with the adjust_surface_alpha change 20161027 08:52:05< vultraz> slightly 20161027 08:53:15< Aginor> hmm 20161027 08:53:21< Aginor> I think it looks better here 20161027 08:55:34< vultraz> hmm 20161027 08:55:42< vultraz> i just realized a better impl of my last commits 20161027 08:55:49 * vultraz returns to drawing board 20161027 08:58:19< Aginor> hmm 20161027 08:58:26< Aginor> screenshots are proving me wrong 20161027 08:58:38< Aginor> no discernable difference 20161027 08:59:26-!- JyrkiVesterinen [~JyrkiVest@nblzone-242-23.nblnetworks.fi] has quit [Quit: .] 20161027 09:01:36< vultraz> Aginor: if i capture a pointer in a lambda by value do i get the pointer or is it dereferenced? 20161027 09:04:36< Aginor> I think it depends, but I don't know 20161027 09:10:26-!- horrowind [~Icedove@2a02:810a:8380:10a8:21b:fcff:fee3:c3ff] has quit [Quit: horrowind] 20161027 09:15:29< vultraz> seems one captured by value 20161027 09:15:34< vultraz> captures 20161027 09:15:42< wedge009> celticminstrel: Yes, they did. 20161027 09:17:01< vultraz> so wait.. 20161027 09:17:20< vultraz> Aginor: if commenting out adjust_surface_alpha has no affect, it means the problem is somewhere else 20161027 09:17:42< Aginor> vultraz: thank you, I'd never figured that out on my own 20161027 09:17:52< vultraz> heh 20161027 09:18:13< vultraz> not trying to be Captain Obvious 20161027 09:18:43< Aginor> no, but keep it out and you get to meet Major Passive Agressive 20161027 09:18:56< Aginor> who is higher ranked than Captain Obvious :D 20161027 09:19:15< Aginor> I think 20161027 09:20:38< Aginor> hmm 20161027 09:20:58-!- travis-ci [~travis-ci@ec2-54-161-198-91.compute-1.amazonaws.com] has joined #wesnoth-dev 20161027 09:20:59< travis-ci> wesnoth/wesnoth#11786 (master - b3371b5 : Charles Dang): The build has errored. 20161027 09:20:59< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/171025723 20161027 09:20:59-!- travis-ci [~travis-ci@ec2-54-161-198-91.compute-1.amazonaws.com] has left #wesnoth-dev [] 20161027 09:27:15-!- JyrkiVesterinen [~JyrkiVest@nblzone-242-23.nblnetworks.fi] has joined #wesnoth-dev 20161027 09:31:43< Aginor> here's a less obvious hypothesis 20161027 09:31:56< Aginor> SDL is doing something additional during the blitting that wesnoth isn't 20161027 09:32:06< Aginor> and it's probably a value that we should be twiddling 20161027 09:38:47< vultraz> but is sdl wrong to do such a thing? 20161027 09:44:53< Aginor> I'd think not 20161027 09:45:00< Aginor> I suspect we're doing something wrong 20161027 09:45:35< zookeeper> any screenshots? 20161027 09:53:36< Aginor> only in the PR 20161027 09:53:51< Aginor> I'm currently trying to get my system set up for debugging SDL again 20161027 09:53:57< Aginor> but I should go to bed instead 20161027 10:26:07-!- louis94 [~~louis94@91.178.242.5] has joined #wesnoth-dev 20161027 10:55:09-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20161027 11:01:38-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20161027 11:04:33-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20161027 11:04:55-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Client Quit] 20161027 11:10:49-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20161027 11:11:27-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Read error: Connection reset by peer] 20161027 11:11:58-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20161027 11:20:52-!- al__ [~al@cpe12-75.sweetwaterhsa.com] has joined #wesnoth-dev 20161027 11:22:46-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20161027 11:23:27-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20161027 11:37:06-!- irker687 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20161027 11:59:23< DeFender1031> Not sure if this is true in master, but it seems like in 1.12 at least that progressive string syntax in animation frames don't like zeroes. image="someimage.png~MASK(masks/teleport-mask-[0~9].png):100" ignores the MASK call completely, whereas image="someimage.png~MASK(masks/teleport-mask-[0,1~9].png):100" works just fine. (Also odd that the masks even start at 0 when pretty much all other images start at 1, but that's a 20161027 11:59:24< DeFender1031> separate point.) 20161027 12:04:14< DeFender1031> Yeah, testing with just image="masks/teleport-mask-[0~9].png:100" in debug mode gives the "image not found" image, but image="masks/teleport-mask-[0,1~9].png:100" works as expected. 20161027 12:09:20< zookeeper> and i presume that image="masks/teleport-mask-[1~9].png:100" works as expected as well? 20161027 12:10:49< DeFender1031> I can test if necessary, but i'll eat my shoe if it doesn't. 20161027 12:11:05< DeFender1031> I know that using it in a mask works as expected, as i'm already doing so elsewhere 20161027 12:12:36< DeFender1031> yeah, of course it does. 20161027 12:14:14< zookeeper> it's unfortunate that someone started from 0 there 20161027 12:15:02< zookeeper> i'd think the code should be able to handle it thought so i'd call it an engine bug 20161027 12:15:13< zookeeper> -t 20161027 12:15:28< DeFender1031> yeah, definitely a bug if the engine can't recognize "0" as a number. 20161027 12:15:48< zookeeper> sounds like bug report time! 20161027 12:16:43< vultraz> :| 20161027 12:17:25< DeFender1031> I'll submit one, but I've found that telling people here seems to get more fixed than letting it sit in a bug database does. See also: https://www.youtube.com/watch?v=BSaAMQVq01E&t=2532 20161027 12:17:45< DeFender1031> (Which is just an excellent rant in general too.) 20161027 12:18:03-!- irker538 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20161027 12:18:03< irker538> wesnoth: Charles Dang wesnoth:master a1fe00edacbd / src/gui/dialogs/gamestate_inspector.cpp: Fixup bea53b5ea12f https://github.com/wesnoth/wesnoth/commit/a1fe00edacbde195d381ba2b638601f44f06fa56 20161027 12:18:04< irker538> wesnoth: Charles Dang wesnoth:master 3d64e08520d6 / src/gui/widgets/ (tree_view_node.cpp tree_view_node.hpp): Tree View Node: general cleanup and simplification https://github.com/wesnoth/wesnoth/commit/3d64e08520d6ca4ef98ac163b586264313f0fd94 20161027 12:19:26< DeFender1031> zookeeper, would you mind testing it on master to make sure it's still an issue? I'd rather not submit a bug report that I don't know is actually still a bug 20161027 12:20:09< vultraz> (and no one's fixing anything for 1.12 anymore :P ) 20161027 12:21:10< zookeeper> DeFender1031, still an issue 20161027 12:21:15< DeFender1031> vultraz, that I know. But if it's still a bug, then it should be fixed for future versions. If it's not, then 1.12 is stuck with it and that's just how it is. 20161027 12:21:20< zookeeper> error display: could not open image 'masks/teleport-mask-00.png' 20161027 12:21:22< zookeeper> error display: could not open image 'masks/teleport-mask-01.png' etc 20161027 12:21:25< DeFender1031> zookeeper, thanks. I'll go submit then. 20161027 12:21:36< DeFender1031> wait WHAT?! 20161027 12:21:42< DeFender1031> why is is prepending a 0?! 20161027 12:21:52< zookeeper> because... it's a bug? :p 20161027 12:21:54< DeFender1031> that's even weirder. 20161027 12:22:50< DeFender1031> right, but I just assumed it was mangling the string by using it verbatim or something. (I didn't realize that there would be info on exactly what file it was looking for in output or i'd have looked) 20161027 12:23:05< vultraz> DeFender1031: fell free to browse the parsing code :) https://github.com/wesnoth/wesnoth/blob/master/src/serialization/string_utils.cpp#L94-L261 20161027 12:23:31< zookeeper> it's just messing up because it doesn't know how to handle 0 right in that context 20161027 12:24:38< DeFender1031> zookeeper, right. I was saying, i was assuming it was doing the same thing as "[notanumber~9]" would do in that context. (Come to think of it... what WOULD that do?) 20161027 12:25:05< DeFender1031> but it seems like it IS recognizing it as a number, just prepending a 0 for some reason. 20161027 12:25:20< DeFender1031> ah... i think i know why 20161027 12:26:42< vultraz> also ftw the ipf parsers seem to be using parenthetical_split and not square_parenthetical_split 20161027 12:26:49< zookeeper> i'd wager the lines 155-183 part 20161027 12:27:11< vultraz> shouldn't they be using square_parenthetical_split 20161027 12:27:35< vultraz> (also please someone simplify that code :| ) 20161027 12:28:15< DeFender1031> the code is checking the length of the string which is made up of zeros without taking into account that the 0 itself is the digit. 20161027 12:29:18< vultraz> i cannot parse any of that mess :) 20161027 12:29:30< DeFender1031> it should just check the string length and pad to that. 20161027 12:29:39< DeFender1031> vultraz, https://github.com/wesnoth/wesnoth/blob/master/src/serialization/string_utils.cpp#L160 seems to be the offending line 20161027 12:30:18< vultraz> blah! 20161027 12:30:22< vultraz> how would one fix this? 20161027 12:31:06< DeFender1031> were it me, i'd rewrite the funciton completely. this is a mess. 20161027 12:31:32< DeFender1031> are there unit tests somewhere for the syntax? 20161027 12:31:41< vultraz> likely not :) 20161027 12:31:42< zookeeper> i'll give a high probability that you call it a mess simply because it's unfamiliar code :p 20161027 12:31:51< DeFender1031> (aside from the examples https://wiki.wesnoth.org/AnimationWML#Progressive_string_square_bracket_expansion_syntax here of course) 20161027 12:32:00< vultraz> and as i said, it doesn't seem that the IPFs call it.. 20161027 12:32:07< vultraz> they seem to be calling parenthetical_split 20161027 12:32:15< vultraz> so how brackets even expand anyway.. 20161027 12:32:19 * vultraz shrug 20161027 12:32:21< vultraz> s 20161027 12:32:26< vultraz> zookeeper: nah, look at it :| 20161027 12:32:38< vultraz> zookeeper: it's obvious it could be done more elegantly 20161027 12:32:45< DeFender1031> zookeeper, nope. I've seen clean unfamiliar code. 20161027 12:33:15< DeFender1031> zookeeper, my day job has a 100% peer-review policy. I'm constantly reviewing unfamiliar code. 20161027 12:34:54< DeFender1031> vultraz, the brackets DO expand though... 20161027 12:35:00< vultraz> yeah.. 20161027 12:35:12< vultraz> best to assume the issue is in this function anyway 20161027 12:35:29< vultraz> I assume you don't want to rewrite it? :P 20161027 12:36:02< DeFender1031> I could give it a shot, though without knowing the full extent of what it's supposed to do, i'd be afraid of unintentionally killing off a case. 20161027 12:36:13< DeFender1031> yeah, you know what? screw it. I'm joining you guys. 20161027 12:36:34< DeFender1031> i'm going to switch to dev on master and fix bugs as i come across them 20161027 12:36:43< DeFender1031> just as soon as i figure out how to use git. 20161027 12:36:58< vultraz> :P 20161027 12:37:04< vultraz> welcome! 20161027 12:37:26< DeFender1031> and i think i'll write a unit test for this function too, starting with the examples i linked. 20161027 12:38:00< irker538> wesnoth: Charles Dang wesnoth:master 45ae07055f72 / src/gui/dialogs/gamestate_inspector.cpp: Small code tweak as suggested by @jyrkive https://github.com/wesnoth/wesnoth/commit/45ae07055f7202df1f6f40e029724213fa3bb37e 20161027 12:38:05< zookeeper> that loop you point to doesn't add padding in that case 20161027 12:38:23-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Ping timeout: 245 seconds] 20161027 12:39:08< vultraz> hmm 20161027 12:39:11< DeFender1031> zookeeper, what do you mean? 20161027 12:39:26< vultraz> i just noticed that child nodes of child nodes aren't expanding 20161027 12:39:40< zookeeper> DeFender1031, that that loop doesn't execute even once 20161027 12:39:49< zookeeper> which may or may not be what you suspected 20161027 12:40:14< vultraz> ...actually the recursive stuff isn't working at *all* :|...? 20161027 12:40:15< DeFender1031> zookeeper, why do you think it's not executing? 20161027 12:40:21< zookeeper> because i tested it 20161027 12:40:30< vultraz> or is it? 20161027 12:40:41< vultraz> no, actually, i think it is.. 20161027 12:40:49< DeFender1031> from the code, it looks like it ought to be 20161027 12:41:30< vultraz> hm 20161027 12:41:37< vultraz> there seems to be a slight corner case here 20161027 12:41:39< vultraz> odd 20161027 12:41:40< zookeeper> well, i'm not saying my testing is infallible 20161027 12:42:14< DeFender1031> oh, speaking of recursion, if I DO rewrite this function, would anyone mind if I expanded it to allow a recursive syntax so long as it still supports what it always has? For example, I'd love to be able to do things like "[[1,6,3,2]*4]". 20161027 12:42:49< vultraz> sure 20161027 12:43:04< zookeeper> oh wait, duh, my testing was fallible 20161027 12:43:11< DeFender1031> ... 20161027 12:43:13< zookeeper> i was looking for the wrong string in the output 20161027 12:43:19< zookeeper> no wonder it didn't show up :J 20161027 12:43:22< DeFender1031> hahahaha 20161027 12:43:31< DeFender1031> so i'm right? it is running in that case? 20161027 12:43:39< zookeeper> yes 20161027 12:44:00< zookeeper> so maybe it just needs an extra condition there 20161027 12:44:16< DeFender1031> and extra condition would fix the symptom but not the problem. 20161027 12:44:18< zookeeper> && s_begin.size() > 1? 20161027 12:44:31< zookeeper> what problem? 20161027 12:44:37< DeFender1031> nope, that'd break "00" 20161027 12:44:49< DeFender1031> there shouldn't be a need for a special case here. 20161027 12:44:50< zookeeper> ah 20161027 12:45:11< DeFender1031> the problem is that this code is not straightforward. 20161027 12:45:31< vultraz> im sure it can be simplified a lot 20161027 12:45:37< DeFender1031> i'd like to just dump and rewrite it to use striaghtforward, single-pass, recursive descent parsing. 20161027 12:45:55< vultraz> DeFender1031: for example, look at this: https://github.com/wesnoth/wesnoth/commit/1402c9af1e3c2caceac657289cb1198fef9da06d 20161027 12:45:57< vultraz> much simplify! 20161027 12:45:59< zookeeper> well fixing a bug in code that's not straightforward isn't just fixing a symptom 20161027 12:46:46< DeFender1031> vultraz, yes. we like simplify. 20161027 12:47:01< DeFender1031> (insert image of pakleds from Star Trek) 20161027 12:47:19< zookeeper> anyway, feel free to simplify it if you want, but like, don't break anything? 20161027 12:47:45< DeFender1031> zookeeper, like i said, i'm also going to create unit tests and make sure it doesn't break existing cases. 20161027 12:48:17< DeFender1031> hmm... i could also probably write a script to scour mainline for any use of the syntax and generate unit tests based on those... 20161027 12:48:47< vultraz> much fun, you will have :P 20161027 12:48:52< DeFender1031> on the one hand, that might be overkill, but on the other, it'd make absolute sure i haven't broken anything :P 20161027 12:49:16< DeFender1031> vultraz, i'm not sure i'd say that... 20161027 12:49:18< DeFender1031> :P 20161027 12:51:45< DeFender1031> vultraz, as for the IPF, is it possible that the string as a whole is being run through square expansion before it even looks at the IPF? 20161027 12:53:20< DeFender1031> hmm... is there currently a way to include a literal tilde, comma, or asterisk? 20161027 12:55:16 * JyrkiVesterinen notes that asterisks are extremely problematic in file names anyway and likely not worth supporting 20161027 12:56:04-!- travis-ci [~travis-ci@ec2-54-144-196-77.compute-1.amazonaws.com] has joined #wesnoth-dev 20161027 12:56:05< travis-ci> wesnoth/wesnoth#11787 (master - 3d64e08 : Charles Dang): The build passed. 20161027 12:56:05< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/171076011 20161027 12:56:05-!- travis-ci [~travis-ci@ec2-54-144-196-77.compute-1.amazonaws.com] has left #wesnoth-dev [] 20161027 12:56:50< DeFender1031> JyrkiVesterinen, that's true. I'm just asking to make sure I don't overlook something 20161027 12:57:27< DeFender1031> okay... so... how do i use git? 20161027 12:59:52< Soliton> https://wiki.wesnoth.org/WesnothRepository 20161027 13:02:48< DeFender1031> Ah, thanks Soliton 20161027 13:05:29-!- tad_carlucci [~lundberg@173.217.65.103] has joined #wesnoth-dev 20161027 13:05:58-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: mattsc] 20161027 13:08:17-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20161027 13:09:55-!- al__ [~al@cpe12-75.sweetwaterhsa.com] has quit [Quit: Leaving] 20161027 13:14:28-!- tad_carlucci [~lundberg@173.217.65.103] has quit [Quit: Off to resolve a merge conflict between the wife and husband branches of my real life.] 20161027 13:20:07-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20161027 13:21:03-!- JyrkiVesterinen [~JyrkiVest@nblzone-242-23.nblnetworks.fi] has quit [Quit: .] 20161027 13:25:18-!- travis-ci [~travis-ci@ec2-54-161-198-91.compute-1.amazonaws.com] has joined #wesnoth-dev 20161027 13:25:19< travis-ci> wesnoth/wesnoth#11788 (master - 45ae070 : Charles Dang): The build passed. 20161027 13:25:19< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/171080105 20161027 13:25:19-!- travis-ci [~travis-ci@ec2-54-161-198-91.compute-1.amazonaws.com] has left #wesnoth-dev [] 20161027 13:40:28-!- louis94 [~~louis94@91.178.242.5] has quit [Ping timeout: 245 seconds] 20161027 13:53:46-!- atarocch [~atarocch@37.180.45.177] has quit [Remote host closed the connection] 20161027 14:01:20-!- Shiki [~Shiki@141.39.226.226] has joined #wesnoth-dev 20161027 14:37:26-!- Shiki [~Shiki@141.39.226.226] has quit [Remote host closed the connection] 20161027 14:46:16-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20161027 14:52:03-!- horrowind [~Icedove@2a02:810a:8380:10a8:21b:fcff:fee3:c3ff] has joined #wesnoth-dev 20161027 14:55:31-!- Ivanovic_ [~ivanovic@p579FBF3F.dip0.t-ipconnect.de] has joined #wesnoth-dev 20161027 14:56:13-!- Ivanovic [~ivanovic@p579FBF3F.dip0.t-ipconnect.de] has quit [Write error: Broken pipe] 20161027 14:57:20-!- Ivanovic_ is now known as Ivanovic 20161027 14:58:18-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: mattsc] 20161027 15:10:36< zookeeper> shadowm, what's your headcanon about the cataclysm timeline ballpark? 20161027 15:22:36-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20161027 15:23:32-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Quit: wedge009] 20161027 15:23:49-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20161027 15:38:25-!- irker538 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20161027 15:58:59-!- atarocch [~atarocch@31.159.99.53] has joined #wesnoth-dev 20161027 16:04:01-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Quit: wedge009] 20161027 16:04:13-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20161027 16:16:41-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Quit: wedge009] 20161027 16:16:58-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20161027 16:23:33-!- ChipmunkV [~vova@static-89-94-113-91.axione.abo.bbox.fr] has joined #wesnoth-dev 20161027 16:29:55-!- JyrkiVesterinen [~JyrkiVest@89-166-113-80.bb.dnainternet.fi] has joined #wesnoth-dev 20161027 16:40:34-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Quit: wedge009] 20161027 16:40:54-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20161027 16:54:18< vultraz> zookeeper: https://wiki.wesnoth.org/Future_History 20161027 16:54:29< vultraz> (I consider all this canon) 20161027 17:04:42-!- atarocch [~atarocch@31.159.99.53] has quit [Ping timeout: 250 seconds] 20161027 17:05:55-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has joined #wesnoth-dev 20161027 17:07:17-!- Greg-Bog_ [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20161027 17:08:32-!- atarocch [~atarocch@31.159.99.53] has joined #wesnoth-dev 20161027 17:09:14-!- Shiki [~Shiki@141.39.226.226] has joined #wesnoth-dev 20161027 17:10:28-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 256 seconds] 20161027 17:10:32-!- Shiki [~Shiki@141.39.226.226] has quit [Remote host closed the connection] 20161027 17:11:36-!- Greg-Bog_ [~greg_bogg@173.240.241.83] has quit [Ping timeout: 256 seconds] 20161027 17:17:25< zookeeper> vultraz, shadowm, oh right i forgot that 20161027 17:24:35-!- Dugi [5866ba5f@gateway/web/freenode/ip.88.102.186.95] has joined #wesnoth-dev 20161027 17:27:35-!- Dugi [5866ba5f@gateway/web/freenode/ip.88.102.186.95] has left #wesnoth-dev [] 20161027 17:30:51-!- atarocch [~atarocch@31.159.99.53] has quit [Remote host closed the connection] 20161027 17:31:07-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20161027 17:31:29-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20161027 17:31:46-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20161027 17:36:45-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20161027 17:37:13< vultraz> DeFender1031: how's the git going? 20161027 17:37:54< DeFender1031> vultraz, still reading up on how to use the blasted thing :P 20161027 17:38:29< DeFender1031> the link Soliton sent starts out by linking to another reference which i've been reading cover to cover. 20161027 17:38:45< vultraz> oh dear 20161027 17:38:50< DeFender1031> i've also been asking a friend of mine who knows git for clarifications. 20161027 17:38:52< vultraz> what OS are you on? 20161027 17:38:58< DeFender1031> vultraz, debian linux 20161027 17:39:01< vultraz> ah 20161027 17:39:04< vultraz> can't help you there 20161027 17:39:09< DeFender1031> vultraz, this is my first experience ever with git 20161027 17:39:11< vultraz> I am a windows peasant and use a UI :P 20161027 17:39:18< DeFender1031> ah 20161027 17:39:48< DeFender1031> well... we REAL programmers don't use fancy UIs. Real programmers use butterflies. 20161027 17:41:42< DeFender1031> vultraz, anyway, i think i'm following the basics. Mostly, I'm just trying to get a handle on the various commands and how branching and merging works. 20161027 17:41:54< JyrkiVesterinen> I use command-line Git on Windows, so I can help with clarifications if you need it. 20161027 17:42:02< vultraz> do you also send carrier pigeons with diffs written out on parchment to github hq? :P 20161027 17:42:48< celticminstrel> git's interface is annoyingly inconsistent. 20161027 17:43:19< vultraz> celticminstrel: any comment on the tree view stuff? 20161027 17:43:22 * celticminstrel also uses command-line git BTW. 20161027 17:43:26< celticminstrel> vultraz: Huh? 20161027 17:43:54< celticminstrel> Commits since I slept, or...? 20161027 17:44:00< vultraz> i committed some stuff about recursive folding/unfolding and removed the use of the walker in the gamestate insector 20161027 17:44:10< DeFender1031> celticminstrel, the thing that bothers me most is that half of its commands are named the same as commands in "traditional" version control systems, but don't actually do the same thing, and the commands to do those things are actually named something else. 20161027 17:44:11< celticminstrel> Why'd you remove the use of the walker? 20161027 17:44:22< vultraz> look at the commit! 20161027 17:44:43< celticminstrel> DeFender1031: And it's inconsistent. Revert one file? Use git checkout. Revert all files? Use git reset. 20161027 17:44:44< vultraz> (s) 20161027 17:45:29< celticminstrel> I used to use svn for a little while, but I didn't remember it well enough by the time I switched to git. 20161027 17:45:44< celticminstrel> So I guess I haven't noticed much of the confusion you mention. 20161027 17:45:45< JyrkiVesterinen> "Git revert" is the worst offender in my opinion. "svn revert" is an extremely useful day-to-day tool, whereas "git revert" is almost never used. 20161027 17:45:45< vultraz> celticminstrel: not strictly true - there's also git reset --hard 20161027 17:46:00< celticminstrel> vultraz: That's the exact command I'm referring to. 20161027 17:46:08< celticminstrel> vultraz: It doesn't work with paths. 20161027 17:46:09< DeFender1031> celticminstrel, it looks like reset works on single files as well 20161027 17:46:12< vultraz> oh wait 20161027 17:46:13< JyrkiVesterinen> Git's equivalent of "svn revert" is "git reset --hard". 20161027 17:46:14< vultraz> nvm 20161027 17:46:19< celticminstrel> DeFender1031: Not with --hard. 20161027 17:46:31< vultraz> JyrkiVesterinen: I wonder what it is TGit's Revert command uses, then.. 20161027 17:46:35< DeFender1031> celticminstrel, o_O 20161027 17:46:37< celticminstrel> DeFender1031: Without --hard, git reset is the "unstage" command. 20161027 17:46:47< DeFender1031> yeah, that i know 20161027 17:46:58< JyrkiVesterinen> vultraz: I guess that it uses "git checkout". 20161027 17:47:04< celticminstrel> vultraz: Probably checkout. 20161027 17:47:07< vultraz> for individual files? 20161027 17:47:11< celticminstrel> Yes. 20161027 17:47:17< vultraz> ok 20161027 17:47:32< DeFender1031> celticminstrel, git does apparently allow you to configure aliases though, so you could always set up aliases for things to be more to your liking. 20161027 17:47:39< DeFender1031> (at least in some cases) 20161027 17:47:46< celticminstrel> Which itself seems inconsistent, since git checkout without a specific file actually switches branches. 20161027 17:47:50< celticminstrel> DeFender1031: True, I guess. 20161027 17:48:25< DeFender1031> right. "checkout" for "revert" is weird. 20161027 17:49:08< DeFender1031> also "checkout" for "switch local branch" is weird, as in SVN it means "download and set up a repository from the server" AKA "clone" in gittish parlance. 20161027 17:50:38< DeFender1031> so why not leave "checkout" meaning what it meant, and use, say, "switch" to mean switch? 20161027 17:50:42-!- Appleman1234 [~Appleman1@KD106181169138.au-net.ne.jp] has quit [Ping timeout: 256 seconds] 20161027 17:50:52< vultraz> celticminstrel: is the intended behavior for the inspector supposed to be 'expand all child nodes of the selection fully? 20161027 17:50:59< DeFender1031> it almost seems like they WANTED to confuse people who are used to traditional VCS. 20161027 17:51:01< vultraz> or just 'expand the selected node, leave others' 20161027 17:51:22< vultraz> fold others* 20161027 17:52:11< celticminstrel> vultraz: The intended behaviour of the inspector is that the selected node is expanded and siblings are folded. There's no specification on the state of child nodes - I believe I intentionally left them however they were already, but it would be acceptable to fold them. 20161027 17:52:25< vultraz> I see 20161027 17:52:41< celticminstrel> Expanding them would violate the siblings part. 20161027 17:52:42< vultraz> my new code actually was supposed to expand all child nodes too 20161027 17:52:59< celticminstrel> (Only one sibling being expanded, I mean.) 20161027 17:53:02< vultraz> but it's not.. doing that :/ 20161027 17:53:24< vultraz> celticminstrel: don't use the term siblings, that means something specific for tree views :| 20161027 17:53:31< vultraz> ie, there's an add_sibling method 20161027 17:53:55< celticminstrel> vultraz: That's the sense in which I'm using it... 20161027 17:54:17< vultraz> you don't call add_sibling in your code :| 20161027 17:54:40< celticminstrel> What has that got to do with anything? You don't need to call add_sibling to add a sibling. 20161027 17:54:49< celticminstrel> Siblings are nodes at the same level. 20161027 17:55:02< vultraz> not really 20161027 17:55:16< vultraz> but ok 20161027 17:55:21< vultraz> maybe im mistaken 20161027 17:55:26< celticminstrel> add_sibling would be needed when you want to add a node as a sibling of an arbitrary node at an unknown level. 20161027 17:55:26< vultraz> doesn't matter 20161027 17:55:49< vultraz> anyway, i was saying i noticed my code is doing something odd 20161027 17:56:02< vultraz> if, say, you select a Team node, all it's children nodes are folded 20161027 17:56:31< vultraz> but if you say, expand the AI node, even if you then collapse it by selecting Recalls or something, the next time you select that team node AI will be expanded 20161027 17:56:33< vultraz> blah 20161027 17:58:03< celticminstrel> Weird. 20161027 17:58:21< vultraz> i dunno, take a look at the commits, maybe you'll see something obviously weird 20161027 17:58:45< vultraz> maybe i should disable recursive fold/unfold for the inspector, though 20161027 17:59:08< vultraz> since that seemed to be your intended behavior 20161027 18:01:08< vultraz> (also means half my commits are rather useless :| but oh well ) 20161027 18:01:52< celticminstrel> Recursive unfold isn't really the intended behaviour for the inspector. Recursive fold, maybe. 20161027 18:02:45-!- irker870 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20161027 18:02:45< irker870> wesnoth: Charles Dang wesnoth:master 0bc568ede559 / src/gui/dialogs/gamestate_inspector.cpp: Gamestate Inspector: disabled recursive folding/unfolding https://github.com/wesnoth/wesnoth/commit/0bc568ede5593f996e26b4f30bbd790881a46869 20161027 18:03:13< vultraz> anyway, as to why i dropped the walker, it's because you should not have needed to use a walker 20161027 18:03:23< celticminstrel> Why did you need to make children public? 20161027 18:03:30< celticminstrel> And why should I not have needed to use a walker? 20161027 18:03:34< vultraz> in order to iterate over them 20161027 18:03:50< vultraz> because I implemented it without a walker? 20161027 18:04:20< celticminstrel> That's not an answer to the why. 20161027 18:05:07< celticminstrel> BTW does it work with (node != *selected)? Just kinda curious. 20161027 18:05:18< vultraz> didn't test 20161027 18:05:18-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20161027 18:05:26< celticminstrel> Well, not that important I guess. 20161027 18:05:31< vultraz> likely not since nodes don't implement operator== 20161027 18:05:38< celticminstrel> Yeah, okay then. 20161027 18:05:57< celticminstrel> So why do you say I shouldn't've needed a walker? 20161027 18:06:39< vultraz> Because it seems overkill 20161027 18:06:47< vultraz> An iterator worked perfectly fine 20161027 18:06:53< vultraz> Is there a benefit to using a walker? 20161027 18:07:07< celticminstrel> A walker kinda is an iterator. 20161027 18:07:13< celticminstrel> Just a weird sort of one. 20161027 18:07:14< vultraz> Exactly :) 20161027 18:07:20< vultraz> So was there a benefit? 20161027 18:07:25< celticminstrel> But just because it's weird is not a reason to not use it. 20161027 18:07:40< celticminstrel> I don't know if there was a benefit, but there's no benefit to changing it to a normal iterator either. 20161027 18:07:40< vultraz> Again, *was there a benefit* 20161027 18:07:47< vultraz> Simpler code 20161027 18:07:55< vultraz> Easier for people to read 20161027 18:08:10< vultraz> More portable. 20161027 18:08:11< celticminstrel> I don't think it was significantly more complex or hard to read. 20161027 18:08:18< celticminstrel> How is it more portable? 20161027 18:08:33< vultraz> That is, easier to reuse. 20161027 18:08:36< vultraz> Wrong term 20161027 18:09:11< celticminstrel> I'm not sure I like being pinged by commits... 20161027 18:09:59< vultraz> Looking at the code now it's immediately obvious what it is 20161027 18:10:05< vultraz> and how it can be reused 20161027 18:10:10< vultraz> before, you look at it and are like 20161027 18:10:21< celticminstrel> Huh, tad snapped. 20161027 18:10:24< vultraz> the fuck's a walker 20161027 18:10:40< celticminstrel> It's a recursive iterator. 20161027 18:10:55< vultraz> Yes, but that's not obvious 20161027 18:11:13< celticminstrel> So with the walker it iterates over all children, not just the immediate children. 20161027 18:11:14< vultraz> and as I've said, you should have implemented the recursive arguments to fold and unfold 20161027 18:12:24< vultraz> granted, a walker would need to be used for calling other functions 20161027 18:12:25< vultraz> one might argue it's better to use a common external recursive iterator instead of internal function recursion 20161027 18:12:25< vultraz> but meh 20161027 18:12:39< celticminstrel> So maybe recursive fold and non-recursive unfold is best. 20161027 18:12:48< celticminstrel> Huh? 20161027 18:13:11-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 250 seconds] 20161027 18:13:40< vultraz> celticminstrel: one might argue (as a matter of semantics) that specific functions should not have recursive behavior and instead usecases should make use of the walker (ie, recursive iterator) to call functions 20161027 18:14:59< vultraz> I am not of that crowd :P 20161027 18:17:52-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20161027 18:21:15< irker870> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 46e31cb4622f / / (6 files in 4 dirs): Refactor Lua cave map generator https://github.com/wesnoth/wesnoth/commit/46e31cb4622f1dce0233ccace0520e7d2fc2b0d8 20161027 18:21:17< irker870> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 7c715130d4d1 / data/lua/cave_map_generator.lua: Lua Cave Mapgen: Support [chamber]chance= https://github.com/wesnoth/wesnoth/commit/7c715130d4d194473bbc9b84bb3dfb7173c601e1 20161027 18:21:19< irker870> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 510dfd65df55 / data/ (4 files in 3 dirs): Lua Cave Mapgen: Support random chance of flipping the map https://github.com/wesnoth/wesnoth/commit/510dfd65df55f5f0cef10699995db104377e7ae1 20161027 18:21:21< irker870> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 495a5c681ff4 / data/lua/cave_map_generator.lua: Lua Cave Mapgen: Support scenario generation https://github.com/wesnoth/wesnoth/commit/495a5c681ff48a2148632a41d1dc993a7525ac95 20161027 18:21:23< irker870> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 0166235d99b6 / data/lua/ (cave_map_generator.lua mapgen_helper.lua): Lua Cave Mapgen: Support flip_xy transform https://github.com/wesnoth/wesnoth/commit/0166235d99b602262ea89e49f6ae5e7a19e8a79c 20161027 18:21:25< irker870> wesnoth: Celtic Minstrel wesnoth:lua_mapgen_stuff 2dee1e5f962c / data/lua/ (cave_map_generator.lua location_set.lua): Lua Cave Mapgen: Use stable iteration of location sets https://github.com/wesnoth/wesnoth/commit/2dee1e5f962c4cae0e79fe6184146de2adf8c7b2 20161027 18:21:34< celticminstrel> vultraz: Shall we merge that now? 20161027 18:21:39< vultraz> up to you 20161027 18:21:57< celticminstrel> I'm ready for it to be merged, and I think I addressed all of gfgtdf's concerns as well. 20161027 18:22:53< celticminstrel> I do have more work to do on the generator, but I don't think it's as important to finish that for 1.13.6. 20161027 18:23:27-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20161027 18:37:57-!- blackspirit [~blackspir@adsl-93.37.6.41.tellas.gr] has joined #wesnoth-dev 20161027 18:46:59-!- Appleman1234 [~Appleman1@KD106181169123.au-net.ne.jp] has joined #wesnoth-dev 20161027 18:55:37< blackspirit> Hello :) 20161027 18:55:41< celticminstrel> Hi 20161027 18:55:53< blackspirit> is there any developer ? 20161027 18:55:59< celticminstrel> Sure 20161027 18:56:04< DeFender1031> several, in fact. 20161027 18:56:08< blackspirit> that is great 20161027 18:56:19< DeFender1031> sure, some have left, but development is alive and well. 20161027 18:56:36< blackspirit> I play the game and I love it and I want to contribute to the project :D 20161027 18:59:00< JyrkiVesterinen> If you want to help the project, look here: https://wiki.wesnoth.org/Project 20161027 18:59:36< JyrkiVesterinen> Help is definitely appreciated. :) 20161027 19:01:09< blackspirit> I saw some of the ideas and bugs/features both on forum and bug/feature tracker but there are so many to choose L( 20161027 19:01:11< blackspirit> :(* 20161027 19:02:10< celticminstrel> Load map is still crashing... 20161027 19:02:43< blackspirit> is there a ticket for this bug ? 20161027 19:02:58< DeFender1031> blackspirit, i'm literally just setting myself up to contribute right now (like literally right now) because i'm working on my own add-on campaign and am seeing too many bugs and missing features that i'd like to make use of, so i decided that if i want stuff, i should contribute it myself. 20161027 19:03:30< DeFender1031> basically, my plan is to fix or add whatever it is that i come across that i see needs fixing or adding. 20161027 19:03:54< JyrkiVesterinen> DeFender1031: that has been largely what I have ended up doing as well. 20161027 19:04:50< JyrkiVesterinen> My path down to working on bugs in MP Create started when our Travis CI builds were failing for multiple days because of automatic MP tests failing. No one else was fixing it, so I did it. 20161027 19:04:52-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20161027 19:05:01< DeFender1031> JyrkiVesterinen, i feel like that's how most community-driven projects work 20161027 19:06:14-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20161027 19:06:18< blackspirit> so I can jump into the tracker and fix whatever I see ? 20161027 19:06:43< JyrkiVesterinen> After that, vultraz asked me to update the version of the MP test script for the new MP lobby as well, and I did so. (Unfortunately the test started failing again because of changes in the new lobby, and I still haven't had time to fix that. However, the new MP lobby versions of the tests aren't run automatically in Travis and therefore don't cause test failures.) 20161027 19:06:44< DeFender1031> blackspirit, it's a little more involved than that. You'll need to set up git and submit a pull request. 20161027 19:07:12< blackspirit> I have git :) 20161027 19:07:27< JyrkiVesterinen> That was followed by a request to add a script+plugin pair to generate fake lobby traffic for performance testing, which I have also done. 20161027 19:07:51< DeFender1031> blackspirit, i mean set up git repos for wesnoth. Here: https://wiki.wesnoth.org/Git_for_Wesnoth_Crash_Course 20161027 19:07:57< JyrkiVesterinen> That script uncovered a bug in the new lobby (chat box changes its size), which I'm trying to fix. 20161027 19:08:10< DeFender1031> If you already know git, it should be far more straightforward than it currently is for me :P 20161027 19:08:28< JyrkiVesterinen> And currently I'm extending GUI2 itself to allow any widget to be forced to have a fixed size, to be able to fix that bug. 20161027 19:08:29< DeFender1031> JyrkiVesterinen, so you're one of those MP people, huh? 20161027 19:08:42< JyrkiVesterinen> What do you mean with "MP people"? 20161027 19:08:59< DeFender1031> JyrkiVesterinen, never mind, just trying (and apparently failing) to be funny. 20161027 19:09:01< blackspirit> I know git :) 20161027 19:09:58< DeFender1031> JyrkiVesterinen, like... I like wesnoth for the stories and am working on a SP campaign. It was joking as if there's some sort of rivalry between the people who like SP and the people who like MP. It wasn't actually very funny. 20161027 19:10:29< JyrkiVesterinen> Well, I'm not even choosing what I work on based on which parts of the game I like. 20161027 19:10:38< JyrkiVesterinen> I simply fix literally anything I come across. 20161027 19:11:14< blackspirit> by they way how am I supposed to duplicate a sheep for gna using git ? 20161027 19:11:32< JyrkiVesterinen> And for the record, as a player I very strongly prefer single-player games. 20161027 19:11:46< JyrkiVesterinen> blackspirit: "clone" 20161027 19:12:36< blackspirit> JyrkiVesterinen thanks, I was typing git clone, git clone sheep.git etc :D 20161027 19:13:03< JyrkiVesterinen> The exact same thing happened to me. I only realized to try "clone" alone after sleeping overnight. 20161027 19:13:16< JyrkiVesterinen> It's a very bad CAPTCHA question in my opinion- 20161027 19:13:22< JyrkiVesterinen> s/-/. 20161027 19:13:35< blackspirit> I couldn't agree more 20161027 19:15:04< DeFender1031> oh god! I got the same one! I had no clue WTF it was trying to ask me. 20161027 19:15:43-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20161027 19:16:34-!- travis-ci [~travis-ci@ec2-54-144-196-77.compute-1.amazonaws.com] has joined #wesnoth-dev 20161027 19:16:36< travis-ci> wesnoth/wesnoth#11790 (lua_mapgen_stuff - 2dee1e5 : Celtic Minstrel): The build has errored. 20161027 19:16:36< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/171174517 20161027 19:16:36-!- travis-ci [~travis-ci@ec2-54-144-196-77.compute-1.amazonaws.com] has left #wesnoth-dev [] 20161027 19:17:10< celticminstrel> Why is that branch consistently erroring... :| 20161027 19:17:33< JyrkiVesterinen> That error looks like a random test failure. 20161027 19:18:17< DeFender1031> so I have a question... How many of you dev types still actually play wesnoth for fun, downloading new add-ons or playing online or whatnot? 20161027 19:18:37< JyrkiVesterinen> I don't, I only develop. 20161027 19:19:01< celticminstrel> But it seems to error every time I push the branch. 20161027 19:19:25< celticminstrel> blackspirit: In addition to the tracker, you could check out the EasyCoding and NotSoEasyCoding pages on the wiki. 20161027 19:19:46-!- blackspirit is now known as BlackSpirit96 20161027 19:21:01< BlackSpirit96> celticminstrel I checked the pages, I am setting my freenode account now and the gna account and latter I will read the development guides and style 20161027 19:21:13< vultraz> but keep in mind those pages are not up-to-date 20161027 19:21:25< celticminstrel> Someone should update the style guide. 20161027 19:21:30 * celticminstrel looks at vultraz 20161027 19:25:34< vultraz> what style guide? 20161027 19:26:09-!- mjs-de [~mjs-de@x4db662ed.dyn.telefonica.de] has joined #wesnoth-dev 20161027 19:26:24< BlackSpirit96> https://wiki.wesnoth.org/CodingStandards is this the coding style ? 20161027 19:26:36< BlackSpirit96> or gui style guide ? 20161027 19:33:24< celticminstrel> vultraz: Isn't there a coding style guide somewhere? 20161027 19:33:35< vultraz> two lines up.. 20161027 19:33:39< DeFender1031> celticminstrel, isn't that what BlackSpirit96 just linked? 20161027 19:33:48< celticminstrel> Maybe! 20161027 19:34:03< JyrkiVesterinen> Hmm. On re-read of the coding standards guide, it bans C-style casts but not function-style casts which are semantically identical. 20161027 19:34:18< JyrkiVesterinen> (See https://github.com/wesnoth/wesnoth/pull/825#discussion_r83536265 and http://stackoverflow.com/questions/32168/c-cast-syntax-styles/32224#32224 ). 20161027 19:34:34< DeFender1031> JyrkiVesterinen, they're not identical. "function-style" is actually a constructor. 20161027 19:34:48< DeFender1031> so you're constructing one type with the other. 20161027 19:35:05< JyrkiVesterinen> The SO answer claims that they have identical semantics. 20161027 19:35:18< JyrkiVesterinen> "The constructor syntax (official name: function-style cast) is semantically the same as the C-style cast and should be avoided as well" 20161027 19:35:58< vultraz> function-style cast? 20161027 19:36:18< JyrkiVesterinen> For example: int(foo) 20161027 19:36:31< vultraz> isn't that just constructing an object? 20161027 19:36:53< vultraz> maybe I'm mistaken 20161027 19:36:57< JyrkiVesterinen> It is a cast according to that SO answer. 20161027 19:37:14< vultraz> well, feel free to add that to the guide too 20161027 19:37:16< JyrkiVesterinen> (Also, my coworkers told me the same thing in an earlier job.) 20161027 19:37:38< vultraz> I should also mention our standard for if() blocks 20161027 19:37:40< vultraz> :P 20161027 19:37:43< celticminstrel> They do have identical semantics, yes. 20161027 19:37:57-!- gfgtdf [~chatzilla@x4e36a218.dyn.telefonica.de] has joined #wesnoth-dev 20161027 19:37:57< JyrkiVesterinen> Good, I was planning to ask if other developers are fine with banning function-style casts. :) 20161027 19:38:58< DeFender1031> they have identical semantics unless the semantics are overloaded, which IIRC they can be. 20161027 19:39:11< celticminstrel> I think they exist so that built-in types can be treated the same way as class types in a template. 20161027 19:39:17< vultraz> also, is the "Do not use wstring" thing still true? 20161027 19:39:31< celticminstrel> vultraz: There's nothing wrong with wstring and never has been as far as I know? 20161027 19:39:40< DeFender1031> now, it's still probably better to use C++ casts so that you're explicitly controlling how the cast works, but they ARE a step above c-style. 20161027 19:39:44< vultraz> "The standard C++ std::wstring class (defined as a std::basic_string< wchar_t >) does not exist in some platforms supported by Wesnoth." 20161027 19:39:53< vultraz> i doubt this is an issue 20161027 19:39:56< vultraz> anymore 20161027 19:39:57< gfgtdf> vultraz: i think its was wrimade because some anicent compler din support wstring 20161027 19:40:03< celticminstrel> Yeah, I doubt that's an issue. 20161027 19:40:09< vultraz> ok, will remove that 20161027 19:40:17< celticminstrel> Function-style casts also don't support multi-word types. 20161027 19:40:21< celticminstrel> (Like "long long") 20161027 19:40:39< gfgtdf> vultraz: but note that w_char (whcih is used by wstring) has different soze on windows and linux 20161027 19:40:57< celticminstrel> gfgtdf: I don't think that's important. Just treat a wstring as UCS-16 and you should be fine. 20161027 19:41:37< celticminstrel> Though if you can guarantee it's at least 4 bytes, you could just treat the wstring as a straight string... 20161027 19:41:38< vultraz> "you should avoid using literal zero for initializing and/or comparing null pointers." you can compare a pointer with? o_O 20161027 19:41:40< vultraz> with 0* 20161027 19:41:50< celticminstrel> 0 is a magic value for pointers, yes. 20161027 19:41:51< gfgtdf> vultraz: anyway, we are currently using wstrgn a lot in the windowspecific (#ifdef windows...) code 20161027 19:41:58< celticminstrel> It's equivalent to nullptr, so use that instead. 20161027 19:42:15< vultraz> blah, the Constants section needs to mention constexpr 20161027 19:42:33< celticminstrel> constexpr isn't really available to us, remember. 20161027 19:43:05< celticminstrel> I don't really like banning function-style casts, but whatever. 20161027 19:43:08< vultraz> only on msvc 2013 which we'll drop in the not too distance future 20161027 19:43:18< celticminstrel> gfgtdf: Are you okay with merging PR 845? 20161027 19:43:30< celticminstrel> vultraz: Uhh. I wonder about that. 20161027 19:43:35< vultraz> distant 20161027 19:44:37< gfgtdf> celticminstrel: i see no problems with it currently. 20161027 19:44:50< gfgtdf> celticminstrel: if you tested that it works it can be merged 20161027 19:45:01< celticminstrel> I tried HTT17, yes. 20161027 19:45:04< celticminstrel> ^+T 20161027 19:45:16< gfgtdf> celticminstrel: hmm wait 20161027 19:45:21< celticminstrel> Didn't try the SoF scenario, but I imagine that shouldn't be a problem? 20161027 19:46:04< gfgtdf> celticminstrel: ok i i'm fine with merging 20161027 19:46:25< celticminstrel> What was the wait about then? 20161027 19:47:00< gfgtdf> celticminstrel: i just noticed that you changed dofile to require so i checkes whetehr i see problems with that, but it seems to be good. 20161027 19:47:15< celticminstrel> Ah. 20161027 19:47:59< gfgtdf> vultraz: always use nullptr over NULL or 0, that coding standards also mention that already. 20161027 19:48:03< DeFender1031> okay, i set up a GH account and forked wesnoth, but i need to go to bed soon, so i'll clone to local and try to build a little later. Is there any reason for me to not set my origin for push to my repo, and my origin for pull to the main repo? 20161027 19:48:16< celticminstrel> I suppose it actually wouldn't make any difference since the generator is only being called once. 20161027 19:48:28< vultraz> DeFender1031: no, that's fine 20161027 19:48:30< celticminstrel> More specifically, every time it's called it's in a fresh kernel. 20161027 19:48:36< vultraz> DeFender1031: just be sure to push to your fork when necessary :) 20161027 19:49:01< irker870> wesnoth: Celtic Minstrel wesnoth:master b8467cc0c2cd / src/ (game_launcher.cpp gui/dialogs/loadscreen.cpp): Improve handling of map generator errors https://github.com/wesnoth/wesnoth/commit/b8467cc0c2cd3f6a59c1176ef2119f4db8365413 20161027 19:49:03< irker870> wesnoth: Celtic Minstrel wesnoth:master 46e31cb4622f / / (6 files in 4 dirs): Refactor Lua cave map generator https://github.com/wesnoth/wesnoth/commit/46e31cb4622f1dce0233ccace0520e7d2fc2b0d8 20161027 19:49:05< irker870> wesnoth: Celtic Minstrel wesnoth:master 7c715130d4d1 / data/lua/cave_map_generator.lua: Lua Cave Mapgen: Support [chamber]chance= https://github.com/wesnoth/wesnoth/commit/7c715130d4d194473bbc9b84bb3dfb7173c601e1 20161027 19:49:07< irker870> wesnoth: Celtic Minstrel wesnoth:master 510dfd65df55 / data/ (4 files in 3 dirs): Lua Cave Mapgen: Support random chance of flipping the map https://github.com/wesnoth/wesnoth/commit/510dfd65df55f5f0cef10699995db104377e7ae1 20161027 19:49:09< vultraz> DeFender1031: the clone is pretty big, though (at least 2.5 gb, probably bigger) 20161027 19:49:09< irker870> wesnoth: Celtic Minstrel wesnoth:master 495a5c681ff4 / data/lua/cave_map_generator.lua: Lua Cave Mapgen: Support scenario generation https://github.com/wesnoth/wesnoth/commit/495a5c681ff48a2148632a41d1dc993a7525ac95 20161027 19:49:11< irker870> wesnoth: Celtic Minstrel wesnoth:master 0166235d99b6 / data/lua/ (cave_map_generator.lua mapgen_helper.lua): Lua Cave Mapgen: Support flip_xy transform https://github.com/wesnoth/wesnoth/commit/0166235d99b602262ea89e49f6ae5e7a19e8a79c 20161027 19:49:13< irker870> wesnoth: Celtic Minstrel wesnoth:master 2dee1e5f962c / data/lua/ (cave_map_generator.lua location_set.lua): Lua Cave Mapgen: Use stable iteration of location sets https://github.com/wesnoth/wesnoth/commit/2dee1e5f962c4cae0e79fe6184146de2adf8c7b2 20161027 19:49:16< irker870> wesnoth: Celtic Minstrel wesnoth:master 9d9d7450982a / / (8 files in 6 dirs): Merge pull request #845 from wesnoth/lua_mapgen_stuff https://github.com/wesnoth/wesnoth/commit/9d9d7450982aaa70e2d3da85444e568a2b032b31 20161027 19:49:25< DeFender1031> vultraz, obviously. If I understand this correctly, i need to push to my fork, then submit a PR from my fork into main. 20161027 19:49:26< celticminstrel> vultraz: Wasn't it closer to 4GB? 20161027 19:49:32< vultraz> probably by now 20161027 19:49:44< celticminstrel> "by now" ... when was it 2.5GB? 20161027 19:49:44< vultraz> DeFender1031: yes, since you don't have push access yet 20161027 19:49:49< celticminstrel> "yet" 20161027 19:50:00< celticminstrel> It's not a given that he'll get push access, you know. 20161027 19:50:01< DeFender1031> vultraz, nor would i use it for most things if i did have it, as we've discussed previously 20161027 19:50:20< DeFender1031> celticminstrel, i'll remind you of that comment someday :P 20161027 19:50:21< vultraz> celticminstrel: no, but "yet" doesn't imply certainty 20161027 19:50:46< celticminstrel> vultraz: You think so? It seems to imply it for me, or at least high possibility. 20161027 19:50:57< vultraz> celticminstrel: yes, but not certain certainty :) 20161027 19:51:06< celticminstrel> :/ 20161027 19:51:13< vultraz> celticminstrel: anyway, I find it *very likely* he will quality for push access 20161027 19:51:16< gfgtdf> celticminstrel: the lua_map_generator object stored the lua mapgen lua kernel, so if you call ->create_map multie time one one lua_map_generator the kernel is reused 20161027 19:51:18< vultraz> qualify* 20161027 19:51:41< DeFender1031> vultraz, basically it seems like the workflow is pull from wesnoth/master to local, branch local, merge local, push from local to fork/master, submit PR, hope you guys don't hate what i've done, lather, rinse, and repeat. 20161027 19:51:56< celticminstrel> gfgtdf: Wait, are you saying all map generation occurs in a single kernel? 20161027 19:52:00< DeFender1031> so there's never any time i'd be pulling from fork, nor any time i'd be pushing to master. 20161027 19:52:05< vultraz> DeFender1031: generally yes 20161027 19:52:13 * celticminstrel confused 20161027 19:52:29< DeFender1031> okay, i'm crashing. will finish this setup tomorrow. 20161027 19:52:39< JyrkiVesterinen> The workflow is somewhat different. You push your changes to fork/branch and not to fork/master. 20161027 19:53:02< JyrkiVesterinen> In particular, doing so allows you to have multiple PRs open at the same time. 20161027 19:53:18< JyrkiVesterinen> Also, "merge local" is an unnecessary step. 20161027 19:53:37< DeFender1031> vultraz, thanks for the warning on the size. I've got something like 7TB in this baby, spread across 3 drives and i don't even remember how many partitions, so it's not an issue, i just need to pick a largely empty partition for it so I don't run out of space. 20161027 19:53:49< gfgtdf> celticminstrel: in mp create dialog has a list of map_generator*, one for each [scneario] withmap_generation, 20161027 19:53:55-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20161027 19:54:06< celticminstrel> Hmm... I just realized, doesn't wesnoth.random support the 1-5,9-12 type syntax? 20161027 19:54:15< DeFender1031> and i assume that simply running "make" in the root after the clone will build the latest master? 20161027 19:54:16< gfgtdf> celticminstrel: each each of these have the lua_kernel memeber if they use map_generation)lua. 20161027 19:54:18< gfgtdf> celticminstrel: it doesnt 20161027 19:54:21< celticminstrel> Or helper .random? 20161027 19:54:32< gfgtdf> celticminstrel: wesnoth.random, supports onyl the math.random syntax 20161027 19:54:56< gfgtdf> celticminstrel: halper.random does support the "0-8,10-11" syntax 20161027 19:55:06< JyrkiVesterinen> DeFender1031: to build the game, see https://github.com/wesnoth/wesnoth/blob/master/INSTALL 20161027 19:55:18< celticminstrel> gfgtdf: Any reason not to use it in the map generator? 20161027 19:55:33< gfgtdf> celticminstrel: where exactly do you want to use it ? 20161027 19:55:47< celticminstrel> For chamber placement. 20161027 19:55:50-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20161027 19:55:54< celticminstrel> Currently it only supports a single location or a range. 20161027 19:56:30< gfgtdf> celticminstrel: hmm i guess we could do that. 20161027 19:56:41< DeFender1031> JyrkiVesterinen, thanks. 20161027 19:56:46< JyrkiVesterinen> Yw 20161027 19:56:47< DeFender1031> Well... I'm off for now. 20161027 19:56:51< celticminstrel> Apparently it's rand, not random. 20161027 19:57:04< JyrkiVesterinen> Good night, DeFender1031! :) 20161027 19:57:12< JyrkiVesterinen> (I'm going to bed soon as well) 20161027 19:59:35-!- JyrkiVesterinen [~JyrkiVest@89-166-113-80.bb.dnainternet.fi] has quit [Quit: Sleep] 20161027 20:06:05< vultraz> celticminstrel: please review 846 20161027 20:07:13< celticminstrel> Looks okay to me. 20161027 20:07:23< vultraz> should i merge? 20161027 20:07:29< celticminstrel> If you want to. 20161027 20:07:53< irker870> wesnoth: Rikard Falkeborn wesnoth:master 16ba71f2c4a2 / src/gui/dialogs/lua_interpreter.cpp: Don't mix new and free in lua_interpreter.cpp https://github.com/wesnoth/wesnoth/commit/16ba71f2c4a28493918baba4b89f3eca80e2001d 20161027 20:07:55< irker870> wesnoth: Charles Dang wesnoth:master ff813afa76e5 / src/gui/dialogs/lua_interpreter.cpp: Merge pull request #846 from rikardfalkeborn/dont-mix-new-and-free https://github.com/wesnoth/wesnoth/commit/ff813afa76e5dab276368504f85426ef385c5b35 20161027 20:16:23-!- ChipmunkV [~vova@static-89-94-113-91.axione.abo.bbox.fr] has quit [Quit: ChipmunkV] 20161027 20:23:52< celticminstrel> Uhh. Why can't I draw terrains in the map editor. 20161027 20:29:06-!- louis94 [~~louis94@91.178.242.5] has joined #wesnoth-dev 20161027 20:38:27-!- horrowind [~Icedove@2a02:810a:8380:10a8:21b:fcff:fee3:c3ff] has quit [Quit: horrowind] 20161027 20:39:57< Aginor> celticminstrel: the global pixel shortage strikes again 20161027 20:41:03< vultraz> Aginor: #1 issue of the 2016 election :P 20161027 20:42:19< Aginor> I wish 20161027 20:43:54-!- Herk_ [b00af9e0@gateway/web/freenode/ip.176.10.249.224] has joined #wesnoth-dev 20161027 20:46:54< celticminstrel> Aginor: ...what? 20161027 20:48:28-!- louis94 [~~louis94@91.178.242.5] has quit [Ping timeout: 244 seconds] 20161027 21:00:17-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20161027 21:05:12-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20161027 21:07:07-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20161027 21:11:24-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20161027 21:24:03-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20161027 21:24:14< vultraz> celticminstrel: can you finish team index refactor at some point 20161027 21:32:14-!- mjs-de [~mjs-de@x4db662ed.dyn.telefonica.de] has quit [Remote host closed the connection] 20161027 21:36:45< BlackSpirit96> does anyone work on this bug/feature https://gna.org/bugs/?25224 ? 20161027 21:39:34< gfgtdf> BlackSpirit96: not that i know of 20161027 21:40:04< BlackSpirit96> I am new here and I find it easy to get started with wesmoth development 20161027 21:40:12< BlackSpirit96> with this task 20161027 21:40:30< BlackSpirit96> can I get it started :D ? 20161027 21:40:37< gfgtdf> BlackSpirit96: sure :) 20161027 21:41:04< BlackSpirit96> I will start by posting a comment that I will get the task :) 20161027 21:41:28< gfgtdf> BlackSpirit96: ok 20161027 21:45:29< BlackSpirit96> this function string.format is used in java files too, should I focus only at c++ files and lua? I can do it at java too :) 20161027 21:48:18< gfgtdf> BlackSpirit96: wesnoth is written in c++, you can implament this function eogher in lua or in c++, it migth be easier to write it in c++ though since it can then just reuse the vngettext c++ function from src/formula/string_utils.hpp 20161027 21:50:24< gfgtdf> BlackSpirit96: i meant vgettext, not vngettext 20161027 21:52:22< BlackSpirit96> that is great, I will try to figure out what it does :) 20161027 22:06:57-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 256 seconds] 20161027 22:15:26-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Quit: Reconnecting] 20161027 22:15:32-!- aeth_ [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20161027 22:18:29-!- Herk_ [b00af9e0@gateway/web/freenode/ip.176.10.249.224] has quit [Quit: Page closed] 20161027 22:19:49< BlackSpirit96> gfgtdf can you give me an example of this newfunction. Also why don't we use vgettext? is it because it replaces $anything and not %anything ? 20161027 22:20:51< gfgtdf> BlackSpirit96: hmm i actually suggested to use vgettext in ma previous message 20161027 22:21:02< gfgtdf> BlackSpirit96: "is written in c++, you can implament this function eogher in lua or in c++, it migth be easier to write it in c++ though since it can then just reuse the vngettext c++ function from src/formula/string_utils.hpp " 20161027 22:22:03< BlackSpirit96> I remember, I read the function vgettext and I found out that it replaces $items and not %items as the example there is at the bug report 20161027 22:22:30< BlackSpirit96> so can we use vgettext without implementing a new function ? 20161027 22:23:41< gfgtdf> BlackSpirit96: well we'D have to check whcih syntay we'd like more , since the wml substution already uses $ some people migth actuall prefer $ since they are used to it from wml coding. 20161027 22:24:04< gfgtdf> BlackSpirit96: i personally would be find with both ways. 20161027 22:24:19< gfgtdf> BlackSpirit96: maye you'd liek to ask some more people which syntax they prefer. 20161027 22:26:22-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 289 seconds] 20161027 22:28:48-!- BlackSpirit96 [~blackspir@adsl-93.37.6.41.tellas.gr] has quit [Read error: Connection reset by peer] 20161027 22:29:14-!- BlackSpirit96 [~blackspir@adsl-128.37.6.49.tellas.gr] has joined #wesnoth-dev 20161027 22:30:32< DeFender1031> gfgtdf, BlackSpirit96, I lean toward $ for consistency with everything else. 20161027 22:31:51< DeFender1031> (yes, i know i said i was going to sleep... insomnia struck again.) 20161027 22:32:40< BlackSpirit96> DeFender1031 also it is already implemented :D 20161027 22:39:14< DeFender1031> BlackSpirit96, that too. 20161027 22:39:55< DeFender1031> though, it would be a simple matter to switch to another delimiter and add a parameter to the function for what delimiter to use... but why bother when it adds complexity and adds inconsistency, right? 20161027 22:40:27< BlackSpirit96> DeFender1031 and I am with no task again :(. I will check easyCoding for something else :D 20161027 22:41:17< BlackSpirit96> DeFender1031 you can add an extra parameter for the symbol but it will cause inconsistency and it doesn't worth 20161027 22:41:26< gfgtdf> BlackSpirit96: so you dot want to implement it #25224 ? 20161027 22:41:28< gfgtdf> don't 20161027 22:42:45< BlackSpirit96> gfgtdf I don't get what should I implement :D 20161027 22:43:46< gfgtdf> BlackSpirit96: you should implement a vgettext equivelent in lua. Currently we have a vgettext c++ function, but the lua devs cannot use it as it is a c++ function. 20161027 22:44:25< gfgtdf> BlackSpirit96: this is done by adding a lua c++ callback in the wesnoth table- 20161027 22:45:42< BlackSpirit96> gfgtdf I know lua. In which file should I put the code ? 20161027 22:45:52< gfgtdf> BlackSpirit96: at https://github.com/wesnoth/wesnoth/blob/master/src/scripting/game_lua_kernel.cpp 20161027 22:46:23< gfgtdf> BlackSpirit96: or rather https://github.com/wesnoth/wesnoth/blob/master/src/scripting/lua_kernel_base.cpp 20161027 22:47:04< BlackSpirit96> gfgtdf thanks for the clues :) 20161027 22:47:13< gfgtdf> BlackSpirit96: thos files containe many examples that make makes c++ functions available to lua 20161027 22:48:00< gfgtdf> BlackSpirit96: for example the wesnoth.random function https://wiki.wesnoth.org/LuaWML:Misc#wesnoth.random is defined here https://github.com/wesnoth/wesnoth/blob/master/src/scripting/lua_kernel_base.cpp#L220 20161027 22:53:06< BlackSpirit96> gfgtdf game_lua_kernel.cpp "Provides a Lua interpreter, to be embedded in WML" and the lua_kernel_base.cpp states nothing. Which file is more suitable for a function like vgettext 20161027 22:54:27< BlackSpirit96> gfgtdf earlier you mentioned "since the wml substution already uses $" should it go at game_lua_kernel.cpp ? 20161027 22:56:49< gfgtdf> BlackSpirit96: the main difference here is that when you put it n kernel_base.cpp it will also be available to the map generator lua code, since it migth amke sense to have it available there it shodul got in th kernel base file 20161027 22:57:12< gfgtdf> BlackSpirit96: but actuall this isn't that important sicne we can easiyl move it around later. 20161027 22:59:56< BlackSpirit96> gfgtdf okay I will go with the lua_kernel_base.cpp. I will write a comment about it on the bug/feature page and I will start from tomorrow implementing it 20161027 23:00:17< BlackSpirit96> I will go to sleep for now :) 20161027 23:01:06-!- BlackSpirit96 [~blackspir@adsl-128.37.6.49.tellas.gr] has quit [Quit: going-to-sleep] 20161027 23:07:05-!- aeth_ is now known as aeth 20161027 23:08:03-!- irker870 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20161027 23:50:13-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20161027 23:50:19-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev --- Log closed Fri Oct 28 00:00:09 2016