--- Log opened Tue Apr 11 00:00:20 2017 20170411 00:13:53-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170411 00:15:09< celticminstrel> Also, inserting a grid row for an image wouldn't really work, since the vast majority of the images are floating images. 20170411 00:15:35< celticminstrel> Anyway, the inflexibility of a grid is really unsuitable for the help topics. 20170411 00:18:58 * vultraz_iOS makes note to self to create ability to register timers with windows 20170411 00:36:23-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20170411 00:36:29-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20170411 00:57:36-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 01:01:51-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 245 seconds] 20170411 01:11:14-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Ping timeout: 255 seconds] 20170411 01:15:50-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20170411 01:20:48-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170411 01:22:47< gfgtdf> celticminstrel: https://forums.wesnoth.org/viewtopic.php?f=5&p=610598#p610598 propably caused by your heal unit port 20170411 01:22:48< pydsigner> Is it a known bug that campaigns aren't refreshed after installing an add-on? 20170411 01:23:15< pydsigner> Or did I manage to hit an edgecase? 20170411 01:24:43< pydsigner> Also it'd be nice if scenario crash messages had a copy button 20170411 01:25:10< gfgtdf> pydsigner: iirc they can be copied form the logfile. 20170411 01:25:38< pydsigner> That's not obvious from the dialog either 20170411 01:26:09< celticminstrel> Yes, please add a copy button. 20170411 01:26:28< celticminstrel> Don't force people to open the logfile, that's idiotic. 20170411 01:26:36< celticminstrel> Don't force people to screenshot errors, that's terrible. 20170411 01:27:38< celticminstrel> Hmm, sudden thought. What about... wesnoth.require("lua/wml/") 20170411 01:31:19< irker332> wesnoth: Celtic Minstrel wesnoth:master 3f61eda28221 / data/lua/wml-tags.lua: Fix [animate_unit]amount=0 healing 1 hp https://github.com/wesnoth/wesnoth/commit/3f61eda28221d77b95ca9a1e4d8eaab0e13fe15c 20170411 01:36:28< gfgtdf> celticminstrel: actually.. why limit it to at non negative number? afaik 1.12 didn't do that eigher. 20170411 01:38:15< gfgtdf> celticminstrel: condiering there there are negiatve healing abilitites (implemented with [heals] value=-10) it is not that unlikeley that there are 1.12 addons that woudl so that. 20170411 01:40:27< celticminstrel> gfgtdf: Actually, it looks like the amount=0 behavior from the forum post was the same in 1.12? 20170411 01:40:32< celticminstrel> https://github.com/wesnoth/wesnoth/commit/bf9581cce4a7fa7a9ddac7e65802887abd940530#diff-cbc1ee771a060a08f4e069e6049ce7acL1836 20170411 01:40:41< celticminstrel> Or, wait... 20170411 01:41:02< gfgtdf> it just limits the resulting hitpoints, not the heal amount 20170411 01:41:07< celticminstrel> Right, right. 20170411 01:41:33< celticminstrel> So basically... merge these two lines? https://github.com/wesnoth/wesnoth/commit/bf9581cce4a7fa7a9ddac7e65802887abd940530#diff-d471df014b92a45ed106cf664118b43cR663 20170411 01:42:29< celticminstrel> But heal_amount still needs to be set, too... 20170411 01:44:18< gfgtdf> celticminstrel: the progonal code just does 'heal_amount = new_hitpoints - u->hitpoints();' 20170411 01:44:48< celticminstrel> Hold on, I'll make a commit for you to compare. 20170411 01:45:07< pydsigner> Sigh 20170411 01:45:11< pydsigner> So many bugs 20170411 01:48:03< irker332> wesnoth: Celtic Minstrel wesnoth:CelticMinstrel-patch-1 30c0b269eb79 / data/lua/wml-tags.lua: Fix behaviour of [heal_unit]amount= for negative/zero values https://github.com/wesnoth/wesnoth/commit/30c0b269eb79fc225cea682af2ed5e06af786749 20170411 01:48:09< celticminstrel> gfgtdf: Does that look right? ^ 20170411 01:50:28< gfgtdf> celticminstrel: no, actuall i dont even know how lu bhaves one a = b = c; expression as in line 667 20170411 01:50:35< gfgtdf> s/lu/lua* 20170411 01:50:44< gfgtdf> s/one/in 20170411 01:51:10< celticminstrel> Whoops, typo, that should've been a + 20170411 01:51:13< celticminstrel> Or a -? 20170411 01:51:20< celticminstrel> Yeah, a - 20170411 01:52:34< irker332> wesnoth: Celtic Minstrel wesnoth:CelticMinstrel-patch-1 74b2d7ea33a7 / data/lua/wml-tags.lua: fixup https://github.com/wesnoth/wesnoth/commit/74b2d7ea33a7b412b778cbc017150488d7d47bcc 20170411 01:52:57< celticminstrel> gfgtdf: Now look right? https://github.com/wesnoth/wesnoth/compare/CelticMinstrel-patch-1 20170411 01:54:45< gfgtdf> celticminstrel: hm i think not, i mean i don't understand the code compleltey, but at line 66 it looks leik all information abotu the units original hitpoints is lost so there is no way it can caclulate heal_amount correcty 20170411 01:55:21< celticminstrel> ... 20170411 01:55:37< celticminstrel> Ah, right, that's what that was supposed to be. 20170411 01:56:18-!- gfgtdf_ [~chatzilla@x4e368f0e.dyn.telefonica.de] has joined #wesnoth-dev 20170411 01:56:34< irker332> wesnoth: Celtic Minstrel wesnoth:CelticMinstrel-patch-1 09b14f834998 / data/lua/wml-tags.lua: fixup 2 https://github.com/wesnoth/wesnoth/commit/09b14f8349981c68a7764bbe15d90c08ae07747e 20170411 01:56:37< gfgtdf_> line 666* 20170411 01:57:05< gfgtdf_> celticminstrel: yes looks good now 20170411 01:58:48< irker332> wesnoth: Celtic Minstrel wesnoth:master 3d0bd7380324 / data/lua/wml-tags.lua: Fix behaviour of [heal_unit]amount= for negative/zero values (#979) https://github.com/wesnoth/wesnoth/commit/3d0bd7380324aa621b37e70c2b900124e8018974 20170411 01:59:00< pydsigner> So what all changed with the story screens since 1.13.7? 20170411 01:59:23-!- gfgtdf [~chatzilla@x4e3680ae.dyn.telefonica.de] has quit [Ping timeout: 252 seconds] 20170411 01:59:24< celticminstrel> The dark background behind the title is currently missing. 20170411 01:59:24< irker332> wesnoth: gfgtdf wesnoth:master 4608c2d36871 / src/scripting/lua_gui2.cpp: wesnoth.set_dialog_value can now unfold treeview nodes (#978) https://github.com/wesnoth/wesnoth/commit/4608c2d36871a5976d551dd050f14b6a604ca8ac 20170411 01:59:28-!- gfgtdf_ is now known as gfgtdf 20170411 01:59:37< celticminstrel> And tiling support is also missing. 20170411 02:00:27< pydsigner> UnwiseOwl's campaign is crashing when it places tracks on master but not 1.13.7 20170411 02:00:37< celticminstrel> Oh fun. 20170411 02:01:26< pydsigner> Yeah. 20170411 02:01:47< celticminstrel> What sort of crash? 20170411 02:02:01< pydsigner> Image doesn't fit on canvas. 20170411 02:02:01< pydsigner> 20170411 02:02:01< pydsigner> When reporting the bug please include the following error message : 20170411 02:02:01< pydsigner> Condition 'as_int >= 0' failed at /home/pydsigner/programming/wesnoth/src/gui/core/canvas.cpp:1271 in function 'dimension_validation'. Extra development information: Image 'misc/new-journey.png', x = -5. 20170411 02:02:06< pydsigner> The error box 20170411 02:02:30< celticminstrel> Uhh, so he's placing an image at x=-5? :S 20170411 02:02:34< pydsigner> No 20170411 02:02:40< celticminstrel> Okay then... 20170411 02:03:00< pydsigner> [part] 20170411 02:03:00< pydsigner> background="maps/mt-stormkeep.png" 20170411 02:03:01< pydsigner> show_title=yes 20170411 02:03:01< pydsigner> {NEW_JOURNEY 412 221} 20170411 02:03:01< pydsigner> {NEW_JOURNEY 405 233} 20170411 02:03:03< pydsigner> {NEW_JOURNEY 393 247} 20170411 02:03:05< pydsigner> {NEW_BATTLE 379 255} 20170411 02:03:08< pydsigner> [/part] 20170411 02:03:42< gfgtdf> pydsigner: this happens at all resolutions? 20170411 02:04:09< pydsigner> gfgtdf: IDK, I tested pretty much at 1920x1200 but not fullscreen 20170411 02:04:20< gfgtdf> ok 20170411 02:04:34< pydsigner> Let me finish recompiling master and check a few things 20170411 02:05:21< vultraz_iOS> hell 20170411 02:06:17< celticminstrel> So what's the size of maps/mt-stormkeep.png? 20170411 02:06:42< pydsigner> 640x400 20170411 02:07:11< pydsigner> Black bars on the sides not top/bottom 20170411 02:07:28< celticminstrel> So only vertical scaling? 20170411 02:07:49< pydsigner> ? scaling in all directions 20170411 02:08:15< pydsigner> Just there's padding on the sides, unlike the normal story bg which (for me) has padding on the top and bottom 20170411 02:08:45< celticminstrel> I probably just forgot how storyscreen scaling works... >_> 20170411 02:10:02< pydsigner> Aspect ratio is maintained 20170411 02:10:40< celticminstrel> Okay so... base_scale_x = 1920 / 640 = 3, base_scale_y = 1200 / 400 = 3, base_origin = loc(clip_x, clip_y) but I forget what clip_x and clip_y are... 20170411 02:10:48< celticminstrel> Those are defined in the canvas IIRC. 20170411 02:11:10< pydsigner> I'm changing resolution to 1280x720 20170411 02:11:13< celticminstrel> Then fi_ref_x is probably 412. 20170411 02:11:33< pydsigner> Exact same error 20170411 02:11:39< pydsigner> Same x-5 20170411 02:11:45< pydsigner> * x = -5 20170411 02:11:55< celticminstrel> So x comes out to trunc(12 * 3) + clip_x, or clip_x + 36. 20170411 02:12:01< celticminstrel> Implying clip_x is probably negative. 20170411 02:12:41< celticminstrel> Ah, clip_x is the result of evaluating the x formula for the base layer... 20170411 02:13:47< celticminstrel> Which is max(pos, 0) where pos = (width/2 - image_width/2) ... which should prevent it from going negative... 20170411 02:14:13< celticminstrel> I don't remember what width is, but I guess image_width is 400 here. 20170411 02:14:55< celticminstrel> I guess width is the available space? So... 1200? 20170411 02:15:14< celticminstrel> So even without the max() it shouldn't be negative. 20170411 02:15:38< celticminstrel> Ah, wait, I messed up here. 20170411 02:15:43< celticminstrel> [Apr 10@10:11:54pm] celticminstrel: So x comes out to trunc(12 * 3) + clip_x, or clip_x + 36. 20170411 02:15:48< celticminstrel> 412, not 12. 20170411 02:15:55< celticminstrel> Doesn't change the conclusion though, I think... 20170411 02:16:36< celticminstrel> Oh, wait. 20170411 02:16:49< celticminstrel> It's that, minus this half the original width. 20170411 02:17:18< pydsigner> Width would be 640, not 400 20170411 02:17:31< pydsigner> Right? 20170411 02:17:35< celticminstrel> ... 20170411 02:17:41< celticminstrel> Yes, yes it would. 20170411 02:18:18< celticminstrel> So um... 20170411 02:18:38< celticminstrel> trunc(fi_ref_x * base_scale_x) + clip_x - image_original_width / 2 20170411 02:19:23< celticminstrel> trunc(412 * 3) + (1920/2 - 640/2) - 640/2 20170411 02:19:39< celticminstrel> 412 * 3 + 1920/2 + 640 20170411 02:19:57< celticminstrel> -640, whoops 20170411 02:20:22< pydsigner> 960 - 640 = 320 20170411 02:20:26< celticminstrel> Which is still easily positive though. 20170411 02:20:43< pydsigner> Yeah 20170411 02:20:44< celticminstrel> Oh, wait. 20170411 02:20:52< celticminstrel> image_width != image_original_width. 20170411 02:21:03< celticminstrel> image_original_width is 640, image_width is... 20170411 02:21:26< celticminstrel> ...1920? 20170411 02:21:49< pydsigner> A little less 20170411 02:21:50< celticminstrel> But even it that 1920/2 cancels out, it's still easily positive... 20170411 02:21:59< celticminstrel> ^if 20170411 02:22:36< celticminstrel> 412*3 - 640/2 = 916 20170411 02:22:58< pydsigner> Where is this code? 20170411 02:23:27< celticminstrel> It's possible I'm missing something; there are a fair amount of conditionals here. 20170411 02:23:41< celticminstrel> Formulas for the background layer are found here: https://github.com/wesnoth/wesnoth/blob/master/src/gui/dialogs/story_viewer.cpp#L138 20170411 02:24:03< celticminstrel> Formulas for the floating image are found here: https://github.com/wesnoth/wesnoth/blob/master/src/gui/dialogs/story_viewer.cpp#L138 20170411 02:24:37< pydsigner> I think you mean L274 for the latter? 20170411 02:24:48-!- gfgtdf [~chatzilla@x4e368f0e.dyn.telefonica.de] has quit [Quit: ChatZilla 0.9.93 [Firefox 52.0.2/20170323105023]] 20170411 02:24:49< celticminstrel> Huh, copy failed or something. 20170411 02:24:50< pydsigner> Or 286? 20170411 02:24:55< celticminstrel> The draw_floating_image function. 20170411 02:25:18< celticminstrel> Also relevant is the canvas code for images here: https://github.com/wesnoth/wesnoth/blob/master/src/gui/core/canvas.cpp#L1307 20170411 02:25:42< celticminstrel> (Yes, line 286) 20170411 02:26:12< pydsigner> Should I just put some debug logs in places? 20170411 02:26:20< celticminstrel> pydsigner: You're welcome to? 20170411 02:27:00< celticminstrel> vultraz_iOS: I just realized something potentially really dumb about the timer situation. It's normal for many of the images to have no display delay, right? But your code is unconditionally scheduling a timer. 20170411 02:27:46< celticminstrel> pydsigner: Regarding the base layer stuff, really it's only the case where layer.is_base_layer() == true that matters here. 20170411 02:29:02< celticminstrel> (Though typically there only is one base layer...) 20170411 02:29:34< celticminstrel> I guess I should say "background layers" instead of "base layers", because there's always just one base layer... right? 20170411 02:30:43< celticminstrel> So I'm guessing that layer.scale_vertically() is true for this case... 20170411 02:31:03< celticminstrel> Since you mentioned black bars at the sides. 20170411 02:34:02< pydsigner> x : (trunc(fi_ref_x * base_scale_x) + base_origin.x- (image_original_width / 2) where fi_ref_x = 412) 20170411 02:34:05< pydsigner> y : (trunc(fi_ref_y * base_scale_y) + base_origin.y- (image_original_height / 2) where fi_ref_y = 221) 20170411 02:34:08< pydsigner> w : (image_width) 20170411 02:34:10< pydsigner> h : (image_height) 20170411 02:34:13< pydsigner> name : misc/new-journey.png 20170411 02:34:26< celticminstrel> Guess not then? 20170411 02:34:38< celticminstrel> Or wait. 20170411 02:34:42< celticminstrel> That's the floating image, right. 20170411 02:34:45< pydsigner> Yes 20170411 02:34:53< pydsigner> Now to add logging to the canvas 20170411 02:35:16< pydsigner> 65.2kb D: 20170411 02:35:22< celticminstrel> ??? 20170411 02:35:35< pydsigner> That's how big canvas.cpp is 20170411 02:35:40< celticminstrel> Oh, wow. 20170411 02:36:12< pydsigner> 1800 lines but a lot of them are long 20170411 02:36:18< celticminstrel> canvas.cpp does have a huge volume of documentation comments, too. 20170411 02:36:36< pydsigner> Yes 20170411 02:36:45< celticminstrel> Which reminds me, vultraz_iOS was supposed to change some of them. 20170411 02:39:33< pydsigner> Doesn't look like we're ever getting to clip_x stuff 20170411 02:39:56< pydsigner> Well wait 20170411 02:39:59< pydsigner> That is clip x 20170411 02:40:11< celticminstrel> So the x=-5 is the clip x? 20170411 02:41:26< celticminstrel> Hmm. If I assume vertical scaling, then image_width = image_original_width * height / image_original_height = 640 * 1200/400 = 1920... 20170411 02:42:19< celticminstrel> Then clip_x = width/2 - image_width/2 = 1290/2 - 1920/2 = 0... 20170411 02:43:11< celticminstrel> base_scale_x = image_width / image_original_width = 1920/640 = 3 20170411 02:44:24< celticminstrel> x = fi_ref_x * base_scale_x + clip_x - image_original_width / 2 = 412 * 3 + 0 - 640/2 = 916 which is the same as I got before... 20170411 02:46:05< vultraz_iOS> ill let you guys handle it :P 20170411 02:47:21< vultraz_iOS> celticminstrel: ill fix the timer thng 20170411 02:47:23< vultraz_iOS> thing 20170411 02:52:50< irker332> wesnoth: Charles Dang wesnoth:master cd08fab8e416 / src/gui/dialogs/story_viewer.cpp: Story Viewer: don't spawn floating image draw timer if delay is 0 https://github.com/wesnoth/wesnoth/commit/cd08fab8e416efb17f29c02730f0db609f27fac2 20170411 02:52:54< vultraz_iOS> celticminstrel: ^ 20170411 02:58:39< pydsigner> What is wfl::variant? 20170411 02:58:58< celticminstrel> An arbitrary formula value. 20170411 03:02:18< pydsigner> Hahahahahah 20170411 03:02:22< pydsigner> I found the problem 20170411 03:02:39< pydsigner> clip_x : 4294967291 20170411 03:02:39< pydsigner> clip_y : 4294967291 20170411 03:02:42< celticminstrel> :O 20170411 03:03:00< celticminstrel> Okay, so then, how does this happen... 20170411 03:03:03< pydsigner> Somebody used after free 20170411 03:03:14< celticminstrel> Eh? 20170411 03:03:28< pydsigner> I'm assuming there's a bad pointer there 20170411 03:03:35< pydsigner> Or some such 20170411 03:04:16< pydsigner> The image original width/height and image width/height are all 11 20170411 03:04:27< pydsigner> Because the image itself isn't being scaled 20170411 03:05:14< pydsigner> Note that there's no issue with the map background 20170411 03:05:35< pydsigner> clip_x : 33 20170411 03:05:35< pydsigner> clip_y : 0 20170411 03:05:57< celticminstrel> ...wait... 20170411 03:07:05< celticminstrel> 2^32 - that clip_x gives 5... 20170411 03:07:29< pydsigner> fun 20170411 03:08:12< celticminstrel> So maybe that's where the -5 came from... 20170411 03:14:22-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 03:18:40-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 255 seconds] 20170411 03:19:37-!- Alkenrinnstet [~alkenrinn@42.61.217.253] has joined #wesnoth-dev 20170411 03:24:15< pydsigner> celticminstrel: oh der 20170411 03:24:34< pydsigner> Of course that's where it comes from 20170411 03:25:05< pydsigner> Look at dimension_validation 20170411 03:25:25< pydsigner> it takes that unsigned x_clip 20170411 03:25:46< pydsigner> And static_cast's it to int 20170411 03:26:52< celticminstrel> Even so, it shouldn't have such a huge value in the first place, right? 20170411 03:26:55< pydsigner> 2^32-5 is big-endian -5 20170411 03:26:57< pydsigner> yeah 20170411 03:27:04< celticminstrel> So, even without that, it'd probably trigger dimention_validation. 20170411 03:27:40< pydsigner> Well you'd probably get some weird sdl error 20170411 03:28:16< celticminstrel> Uh hold on, WTH vultraz_iOS. 20170411 03:28:24< celticminstrel> dimension_validation() is utterly useless. 20170411 03:28:27< pydsigner> Yes 20170411 03:28:35< pydsigner> I just realized that 20170411 03:28:38< celticminstrel> Was that your fault or were the validations useless before, too? 20170411 03:29:13< pydsigner> It's only useful for checking that your unsigned​ fits in an int 20170411 03:29:29< celticminstrel> o.o They were indeed useless before o.o 20170411 03:29:46< pydsigner> But the error message is all wrong 20170411 03:30:16< pydsigner> Who cares about -5 when the value is 2^32-5 20170411 03:31:07< pydsigner> I wouldn't necessarily dike out the function, just change the wording 20170411 03:31:49< celticminstrel> https://github.com/wesnoth/wesnoth/commit/e552477769690a5c17008cc0a3ba6c74767d38af 20170411 03:31:58< celticminstrel> THOSE CHECKS HAVE BEEN USELESS RIGHT FROM THE START O_O 20170411 03:32:44< celticminstrel> Unless of course the value is later static-casted to int, I suppose, but even then there's something very wrong with the checks. 20170411 03:33:41< celticminstrel> I guess they're casted to int in the variant constructor? But then, WHY IS THE VARIABLE UNSIGNED IN THE FIRST PLACE. 20170411 03:34:13< celticminstrel> I suppose it's some misguided way of enforcing the formula result to be a positive number... 20170411 03:35:10< celticminstrel> They are indeed typed_formula, after all... but if you ask me this should be handled by typed_formula... 20170411 03:35:42< celticminstrel> Mind you, checking the image fits on the canvas is a nice goal though. 20170411 03:35:59< celticminstrel> But if that was the goal, why is it only checking for negative numbers? 20170411 03:38:58< pydsigner> wait................. 20170411 03:39:23< pydsigner> So we're pulling this x and y from the config sent in 20170411 03:40:01< pydsigner> But are those evaluated yet? Aren't they strings still? 20170411 03:41:01< celticminstrel> If you mean the x and y that are set as fi_ref_x and fi_ref_y, they should be numbers... though since they're being inserted into formula code which is then parsed, it shouldn't matter, either. 20170411 03:42:10< pydsigner> I'm talking about clip_x 20170411 03:42:38< celticminstrel> clip_x is calculated from a formula. 20170411 03:42:58< pydsigner> What does x_(local_variables) do? eval the formula? 20170411 03:43:11< celticminstrel> Yeah. 20170411 03:43:36< pydsigner> k 20170411 03:47:38< pydsigner> Where does base_origin get set? 20170411 03:48:16< celticminstrel> The set_var() formula does it. 20170411 03:50:22< pydsigner> so they only get set for the base layer 20170411 03:50:40< celticminstrel> No, they get set by the base layer. 20170411 03:53:43< pydsigner> hmm. 20170411 03:53:59< pydsigner> That should all come out to 1186 20170411 03:54:32< pydsigner> Not unsigned -5 20170411 03:56:22< celticminstrel> Hmm? 20170411 03:57:53< pydsigner> clip_x should be 1186 by my calculations 20170411 03:58:06< pydsigner> BTW there is a reason for that check 20170411 03:58:42< celticminstrel> IMO x < 0 should actually be permitted... 20170411 03:58:53< celticminstrel> Though I guess you can get the same effect with IPFs... 20170411 03:58:57< pydsigner> If I comment it out Wesnoth aborts in the sdl utils 20170411 03:59:45< pydsigner> So I guess you have other things you'd have to change 20170411 04:00:37< celticminstrel> !!w ^ !!h 20170411 04:00:39< celticminstrel> What 20170411 04:00:41< celticminstrel> Why 20170411 04:01:33< celticminstrel> vultraz_iOS: BTW, looks like it should be trivial to add tile_centred to the canvas 20170411 04:03:59-!- JyrkiVesterinen [~JyrkiVest@87-100-250-176.bb.dnainternet.fi] has joined #wesnoth-dev 20170411 04:05:09< vultraz_iOS> celticminstrel: indeed 20170411 04:05:30< vultraz_iOS> celticminstrel: center tiling is the default mode of tile_surface 20170411 04:05:33< vultraz_iOS> which i made the canvas use 20170411 04:05:46< vultraz_iOS> all I'd need is a flag to make it pass the last argument as true 20170411 04:06:13< vultraz_iOS> celticminstrel: the problem is making it fill the entire screen after applying scaling 20170411 04:06:59< celticminstrel> Scale first, then tile? 20170411 04:07:05< vultraz_iOS> as I said 20170411 04:07:19< vultraz_iOS> need to implement multiple resize passes 20170411 04:07:23< vultraz_iOS> and a tiling rect 20170411 04:08:25< pydsigner> you know what? I don't know this codebase well enough 20170411 04:08:37< pydsigner> to figure out what's happening here thought 20170411 04:08:47< pydsigner> * tonight 20170411 04:08:53< vultraz_iOS> celticminstrel: now what is this about the checks being useless 20170411 04:08:59< pydsigner> and I need sleep 20170411 04:09:03< pydsigner> so gn 20170411 04:09:33< celticminstrel> vultraz_iOS: Slight overreaction on my part. 20170411 04:09:52< celticminstrel> They look useless at first glance, but in fact you have an int that was converted to unsigned and back again. 20170411 04:10:30< vultraz_iOS> as for "clip_x : 4294967291", isn't that because of unsignedness 20170411 04:10:35< vultraz_iOS> INT_MAX - value 20170411 04:10:48< pydsigner> yes 20170411 04:11:09< celticminstrel> Well, both clip_x = -5 and clip_x = 4294967291 are equally undesirable outcomes though. 20170411 04:12:27< pydsigner> TSG places journey markers just fine 20170411 04:12:48-!- Alkenrinnstet [~alkenrinn@42.61.217.253] has quit [Read error: No route to host] 20170411 04:13:06-!- Alkenrinnstet [~alkenrinn@42.61.217.253] has joined #wesnoth-dev 20170411 04:16:54< irker332> wesnoth: Charles Dang wesnoth:master 22ef217d38da / src/gui/dialogs/story_viewer.cpp: Fixup cd08fab https://github.com/wesnoth/wesnoth/commit/22ef217d38da432e877b048a989390fdb43d201f 20170411 04:19:24< celticminstrel> Oh, I assumed I had accidentally deleted that semicolon somehow. >_> 20170411 04:20:04< celticminstrel> vultraz_iOS: About the dimension_validation though, the error message works okay for x and y but is bizarre for w and h. 20170411 04:20:39< vultraz_iOS> well one wants width > 0 20170411 04:21:05< celticminstrel> I also figured out why I was getting an invalid iterators issue in variant::get_debug_string. 20170411 04:21:16< celticminstrel> Basically, an invalid vector was getting passed in. 20170411 04:31:24< vultraz_iOS> celticminstrel: will that fix the garbled output? 20170411 04:31:44< celticminstrel> Uhh. Didn't I already fix the garbled output? 20170411 04:31:51< vultraz_iOS> you did? 20170411 04:39:36 * vultraz_iOS ponders the logistics of adding test fade-in/fade-out to the storyscreen 20170411 04:39:51< vultraz_iOS> text* 20170411 04:40:14< celticminstrel> If you want a fade-on similar to the old story-screen, I suspect it'd mean animating height. 20170411 04:40:30< celticminstrel> IIUC, a height too small for all the text to display will result in it being clipped. 20170411 04:40:32-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 04:40:40< vultraz_iOS> no 20170411 04:40:41< vultraz_iOS> not that 20170411 04:40:45< vultraz_iOS> even shadowm says it's cheap 20170411 04:40:53< vultraz_iOS> alpha fadein/out 20170411 04:41:23< celticminstrel> Then alpha based on height? :P 20170411 04:43:10< vultraz_iOS> what he suggests is "top-down fade-in using ease/non-linear timing" 20170411 04:43:29< celticminstrel> Sounds like what I described. 20170411 04:43:33< vultraz_iOS> but we can't do that yet so I figured I might as well use the plain alpha fadein 20170411 04:43:38< vultraz_iOS> like the outtro screen 20170411 04:44:18< celticminstrel> Oh right, you can't vary the alpha like with ADJUST_ALPHA. 20170411 04:44:59-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 255 seconds] 20170411 04:46:53< celticminstrel> BTW, feature request for storyscreen: save playlist and restore it after the storyscreen ends. 20170411 04:46:57< celticminstrel> (Optional, of course.) 20170411 04:47:05< vultraz_iOS> what? 20170411 04:47:07< vultraz_iOS> do you mean 20170411 04:47:26< celticminstrel> If the storyscreen plays music, it replaces the playlist set by the scenario. 20170411 04:47:36< celticminstrel> Or clears it IIRC? 20170411 04:47:39< vultraz_iOS> no? 20170411 04:47:44< vultraz_iOS> what are you talking about 20170411 04:50:10< celticminstrel> Uhh, yes it does? 20170411 04:50:11< celticminstrel> It doesn't specify append, so the playlist is cleared. 20170411 04:50:11< vultraz_iOS> no? 20170411 04:50:11< vultraz_iOS> that's never been behavior 20170411 04:50:11< vultraz_iOS> try it 20170411 04:50:11< vultraz_iOS> the behavior* 20170411 04:50:17< vultraz_iOS> the scenario sets its own music once you enter 20170411 04:50:35< vultraz_iOS> it immediately overrides it 20170411 04:50:40< celticminstrel> Pretty sure it's always been the behaviour. Try making a simple test scenario that doesn't use the music macros. 20170411 04:50:42< vultraz_iOS> unless you specify immediate = no 20170411 04:51:04< vultraz_iOS> I dont know what you're talking about 20170411 04:51:19< vultraz_iOS> there's no way it could happen since the scenario sets music *after* the storyscreen 20170411 04:52:50< celticminstrel> Music is set before the storyscreen is invoked. 20170411 04:53:09< celticminstrel> See playsingle_controller.cpp line 232 20170411 04:53:36< celticminstrel> If you use the macros - {SCENARIO_MUSIC} and {EXTRA_SCENARIO_MUSIC} - they reset the playlist again in prestart. 20170411 04:54:31< vultraz_iOS> ok... then use the macros 20170411 04:55:04< celticminstrel> I think this is something that really needs to be fixed though. 20170411 04:55:25< celticminstrel> Especially if you want to support [story] in events, too. 20170411 04:55:39< celticminstrel> Which IIRC was a feature request somewhere. 20170411 04:55:49< JyrkiVesterinen> For the record, the current behavior existed even before I implemented fade-out. 20170411 04:55:49< JyrkiVesterinen> https://github.com/wesnoth/wesnoth/commit/f87f09a341f967466725174f9118b3f51c6b7206 20170411 04:56:01< JyrkiVesterinen> sound::play_music_repeatedly() clears the playlist as well. 20170411 04:56:16< vultraz_iOS> @JyrkiVesterinen actually, i wanted to talk to you about fade-out.. 20170411 04:56:18< celticminstrel> The storyscreen uses play_music_config. just FTR. 20170411 04:56:44< vultraz_iOS> JyrkiVesterinen: I noticed that if you have storyscreen music, then enter the game, that music fades out and the new scenario music starts - *but* you can't do anything while it fades 20170411 04:56:49< JyrkiVesterinen> celticminstrel: I know, I'm the one who started using it. Vultraz copied my code. :P 20170411 04:56:52< celticminstrel> Oh, wait, it uses it because you changed it, I see. 20170411 04:58:00< JyrkiVesterinen> vultraz_iOS: Hmm, that's likely caused by the single-threaded nature of Wesnoth. The music subsystem needs to block the main thread as long as a fade-in or fade-out is in progress. 20170411 04:58:21< vultraz_iOS> can't we dedicate audio to a separate thread? 20170411 04:58:37< celticminstrel> Audio didn't have a dedicated thread? 20170411 04:58:57< JyrkiVesterinen> We would need to check if SDL_Mixer functions are thread-safe. 20170411 04:59:09< celticminstrel> Or only call them from the audio thread. >_> 20170411 05:00:02< JyrkiVesterinen> I think SDL_Mixer spawns its own thread for filling the audio buffer. That doesn't help non-blocking fadeouts though. 20170411 05:05:55< irker332> wesnoth: Celtic Minstrel wesnoth:master 1b42378bdc83 / src/formula/function.cpp: WFL: Add colon to debug_print() output with two parameters https://github.com/wesnoth/wesnoth/commit/1b42378bdc83e8fccf1d78e2b46d969e708e764e 20170411 05:05:57-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170411 05:05:57< irker332> wesnoth: Celtic Minstrel wesnoth:master dde91f9a77ea / / (5 files in 2 dirs): Move canvas shape class definitions into private header https://github.com/wesnoth/wesnoth/commit/dde91f9a77ea4e36a894ca3d59e1146cd033ed65 20170411 05:05:59< irker332> wesnoth: Celtic Minstrel wesnoth:master 169cc9245e0d / src/gui/core/canvas.cpp: Some canvas documentation fixups https://github.com/wesnoth/wesnoth/commit/169cc9245e0dc0463adb83c6b8406a82a15ccacd 20170411 05:06:01< irker332> wesnoth: Celtic Minstrel wesnoth:master aefbea950b50 / src/ (formula/variant.cpp gui/auxiliary/typed_formula.hpp): Fix WFL debug output using an invalid vector https://github.com/wesnoth/wesnoth/commit/aefbea950b50e40b3f347a4a7002128f6851ffd8 20170411 05:06:03< irker332> wesnoth: Celtic Minstrel wesnoth:master 898f9ea0c740 / data/gui/schema.cfg src/gui/core/canvas.cpp: GUI2 Canvas: Add tile_center resize mode https://github.com/wesnoth/wesnoth/commit/898f9ea0c740e455b7389424943ff78492fb5f26 20170411 05:06:10< celticminstrel> Even if that doesn't help with the storyscreen, I imagine someone could find it useful. ^ 20170411 05:06:39< celticminstrel> One possibilty regarding the storyscreen might be to have a separate resize_mode and tile_mode. 20170411 05:08:02-!- esr [~esr@wesnoth/developer/esr] has quit [Ping timeout: 252 seconds] 20170411 05:08:16< celticminstrel> I really don't see the point of the "stretch" resize mode though. 20170411 05:08:58< irker332> wesnoth: Celtic Minstrel wesnoth:master 28184b36299f / src/gui/core/canvas_private.hpp: fixup! GUI2 Canvas: Add tile_center resize mode https://github.com/wesnoth/wesnoth/commit/28184b36299fc3fbab6f17fcdada7b71079f160f 20170411 05:10:20-!- esr [~esr@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-dev 20170411 05:10:20-!- esr [~esr@static-71-162-243-5.phlapa.fios.verizon.net] has quit [Changing host] 20170411 05:10:20-!- esr [~esr@wesnoth/developer/esr] has joined #wesnoth-dev 20170411 05:15:45< celticminstrel> So, can we extend wesnoth.require to be able to load directories? 20170411 05:17:35< vultraz_iOS> i have no idea what stretch does 20170411 05:18:04< vultraz_iOS> do enlighten me 20170411 05:18:54< celticminstrel> It appears to discard the whole image except for one row/column, and copy that row/column across the entire image. 20170411 05:19:28< vultraz_iOS> ..........why 20170411 05:19:37< celticminstrel> I don't know. 20170411 05:19:47< vultraz_iOS> see if it's used? 20170411 05:19:54< celticminstrel> I mean it's possible I'm misreading the code, though the documentation also says the same thing. 20170411 05:22:58< vultraz_iOS> btw, i think ill implement text alpha within the label widget 20170411 05:23:32< celticminstrel> ??? 20170411 05:24:35< vultraz_iOS> let label handle a variable instead of dialogs 20170411 05:24:42< vultraz_iOS> so it can be implemented for all definitions 20170411 05:24:58< celticminstrel> No, what are you even talking about 20170411 05:25:02< vultraz_iOS> nevermind 20170411 05:25:22< vultraz_iOS> do rebase gui2_help 20170411 05:26:06< celticminstrel> Speaking of gui2_help, it currently lists hidden topics. 20170411 05:26:57< irker332> wesnoth: Charles Dang wesnoth:master 920f36d6df81 / projectfiles/CodeBlocks/wesnoth.cbp: Updated CB projectfile https://github.com/wesnoth/wesnoth/commit/920f36d6df8189e0f3ca1562c84ef6381a64800e 20170411 05:42:03< Kwandulin> Is there a way to turn a series of IDs into strings? E.g. units that match the filter (type=Elvish Fighter, Elvish Archer) can pick up an item. I also want the item's description to show who can pick that item up. Is there a way to extract the string "Elvish Fighter, Elvish Archer" from the filter? Or do I have to do that manually? 20170411 05:42:36< celticminstrel> Uh. Short answer: You probably don't want to do that, because it won't be translated. 20170411 05:43:09< celticminstrel> I'm not sure if there's actually a way to do it though. 20170411 05:43:19< Kwandulin> Alright 20170411 05:43:39< celticminstrel> I'd guess not. 20170411 05:45:16< vultraz_iOS> use lua 20170411 05:45:34< vultraz_iOS> iterate over the matching units of the filter, fetch their name fields 20170411 05:45:39< vultraz_iOS> set a wml variable 20170411 05:45:45< vultraz_iOS> wrap it in a custom WML tag 20170411 05:45:48< celticminstrel> I'm assuming he's using an [object] tag. 20170411 05:45:58< Kwandulin> Yes 20170411 05:46:15< celticminstrel> BTW, what vultraz_iOS describes, while possible, still doesn't solve the translation issue, probably. 20170411 06:00:00-!- JyrkiVesterinen [~JyrkiVest@87-100-250-176.bb.dnainternet.fi] has quit [Quit: .] 20170411 06:28:50-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 06:32:57-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 240 seconds] 20170411 06:39:40-!- JyrkiVesterinen [~JyrkiVest@85-76-70-126-nat.elisa-mobile.fi] has joined #wesnoth-dev 20170411 06:49:04-!- celticminstrel is now known as celmin|sleep 20170411 06:50:45-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20170411 06:59:11< zookeeper> celmin|sleep, sure it does, as long as you take unit.language_name and not unit.type 20170411 07:03:00< zookeeper> nothing tricky about it; even without lua, just store the units, loop over them, keep adding unit.language_name to your string if it already doesn't contain it 20170411 07:03:13< zookeeper> tweak details as necessary 20170411 07:42:10-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20170411 07:42:16-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20170411 07:42:58-!- atarocch [~atarocch@2.43.131.20] has joined #wesnoth-dev 20170411 08:16:27-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170411 08:17:11-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 08:21:21-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 240 seconds] 20170411 08:27:38-!- irker332 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20170411 08:34:05-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20170411 08:34:11-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20170411 08:50:45-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170411 08:58:15-!- JyrkiVesterinen [~JyrkiVest@85-76-70-126-nat.elisa-mobile.fi] has quit [Quit: .] 20170411 09:31:05-!- JyrkiVesterinen [~JyrkiVest@85-76-70-126-nat.elisa-mobile.fi] has joined #wesnoth-dev 20170411 09:39:21-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 10:05:31-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 10:07:30-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170411 10:09:39-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 10:10:32-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 268 seconds] 20170411 10:50:23-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Ping timeout: 255 seconds] 20170411 10:56:05-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170411 10:56:17-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 11:17:35-!- silentcontrib [~quassel@lewis.freescotcoll.ac.uk] has joined #wesnoth-dev 20170411 11:18:12-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20170411 11:24:08-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Ping timeout: 255 seconds] 20170411 11:34:19-!- silentcontrib_ [~quassel@lewis.freescotcoll.ac.uk] has joined #wesnoth-dev 20170411 11:34:56-!- silentcontrib [~quassel@lewis.freescotcoll.ac.uk] has quit [Ping timeout: 255 seconds] 20170411 11:47:52-!- Aginor [~andreas@unaffiliated/aginor] has quit [Ping timeout: 260 seconds] 20170411 11:52:18-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 11:53:47-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 11:56:04-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 11:56:05-!- silentcontrib_ [~quassel@lewis.freescotcoll.ac.uk] has quit [Read error: Connection reset by peer] 20170411 11:58:08-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 260 seconds] 20170411 12:09:41-!- Duthlet [~Duthlet@dslb-188-106-144-235.188.106.pools.vodafone-ip.de] has joined #wesnoth-dev 20170411 12:17:24-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20170411 12:33:41-!- gfgtdf [~chatzilla@x4e368f0e.dyn.telefonica.de] has joined #wesnoth-dev 20170411 12:36:05< gfgtdf> is there in lua an way to easily have a multipage that allows diferent types of 'pages' like treeview allows diferent types of nodes (you have some prototyped defined in wml and then add new pages with type id at runetime)? I know i could use a multipage in a stacked_widget, but that mess to be a rather complicated way to do it 20170411 12:40:35< gfgtdf> listbox.cpp0 20170411 12:41:12< gfgtdf> listbox.cpp, multi_page.cpp, stacked_widget.cpp all seem to contain rexactly the same local swap_grid function... 20170411 12:45:05-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 12:46:50-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 12:57:47-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has quit [Quit: Connection closed for inactivity] 20170411 13:08:14-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170411 13:37:50-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 13:39:30-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 14:07:35-!- Duthlet [~Duthlet@dslb-188-106-144-235.188.106.pools.vodafone-ip.de] has quit [Ping timeout: 240 seconds] 20170411 14:10:34-!- irker222 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20170411 14:10:34< irker222> wesnoth: mattsc wesnoth:master c5901491023b / projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj: Update Xcode project https://github.com/wesnoth/wesnoth/commit/c5901491023be18bee84abc55a96d79a78c12885 20170411 14:29:00-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 14:29:12-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 14:34:34-!- JyrkiVesterinen [~JyrkiVest@85-76-70-126-nat.elisa-mobile.fi] has quit [Quit: .] 20170411 14:37:13-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has joined #wesnoth-dev 20170411 14:37:29< vultraz_iOS> gfgtdf: perhaps it should be moved somewhere common? 20170411 14:37:32< vultraz_iOS> swap_grid that is 20170411 14:38:52< vultraz_iOS> gfgtdf: it's also in window.cpp 20170411 14:39:12< gfgtdf> vultraz_iOS: the window.cpp version si slighlty differnt iirc. 20170411 14:39:24< gfgtdf> ye, but sure where to move exactly 20170411 14:39:58< gfgtdf> but not sure* 20170411 14:41:09< vultraz_iOS> make it a member of grid maybe? 20170411 14:42:34< vultraz_iOS> or perhaps just a swap_grid.hpp utility file in gui/auxiliary 20170411 14:53:10-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 14:53:23-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 14:54:38< celmin|sleep> zookeeper: Well, the potentially tricky part in translation is making a list. 20170411 14:55:04< celmin|sleep> gfgtdf: Rather than a multipage in a stacked_widget, I'd suggest the reverse - a stacked_widget in a multi_page. 20170411 14:57:42< gfgtdf> celmin|sleep: ye but then for eack page i get numerous widgetgets generated to thoe thoer cases that i don't really use. 20170411 14:58:02< celmin|sleep> Eh, I suppose you would... 20170411 14:58:10< gfgtdf> celmin|sleep: liek the number of generated 'pages' is number_of_types * number_of_topics 20170411 14:58:24< gfgtdf> instead of just number_of_topics 20170411 14:59:39< gfgtdf> any opinion on #980 ? 20170411 15:01:23-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 15:03:31< vultraz_iOS> if we're going to make multi_pages take different widgets we should investigate how much functionality is duplicated with stacked_widget 20170411 15:04:05< vultraz_iOS> "stacked_widget cannot add pages dynamically" maybe we should let it? 20170411 15:04:59< celmin|sleep> Eh... 20170411 15:05:06< celmin|sleep> There's probably a could reason why it can't. 20170411 15:05:34< celmin|sleep> Stacked widget has layers, not pages. 20170411 15:06:05< vultraz_iOS> yes 20170411 15:06:16-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 15:11:51-!- celmin|sleep is now known as celticminstrel 20170411 15:32:31-!- gfgtdf [~chatzilla@x4e368f0e.dyn.telefonica.de] has quit [Remote host closed the connection] 20170411 15:39:38-!- gfgtdf [~chatzilla@x4e368f0e.dyn.telefonica.de] has joined #wesnoth-dev 20170411 15:46:50-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 15:46:55-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170411 15:47:02-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 15:52:57< celticminstrel> It's kinda annoying, I remember reading a nice page about exposing C++ classes to Lua and now I can't find it anymore. 20170411 15:54:36< APic> *shrug* 20170411 15:54:42< vultraz_iOS> celticminstrel: i'm going to add some timer management to either modal_dialog or window - which do you think? 20170411 15:55:19< celticminstrel> Not sure. 20170411 15:55:24< celticminstrel> What kind of timer management? 20170411 15:56:55< vultraz_iOS> celticminstrel: i want to be able to register timers without having to worry about removing them in post_show or tracking their ids on a dialog level 20170411 15:57:20< celticminstrel> Um... 20170411 15:59:59< vultraz_iOS> so what I propose is a vector, and an add_window_timer or something, which just assigns a new entry with a timer and returns the id. then after (or before) post show it iterates that list and removes each timer. 20170411 16:01:46< vultraz_iOS> (map might be better but there's no value type unless i make a helper struct wrapper with some additional functionality, but I can't think of any right now) 20170411 16:01:48< vultraz_iOS> thoughts 20170411 16:01:48< vultraz_iOS> ? 20170411 16:04:55-!- mkdroid [~null@unaffiliated/matthiaskrgr] has joined #wesnoth-dev 20170411 16:05:57< celticminstrel> I forget, did stacked widget use a generator? 20170411 16:06:51< vultraz_iOS> Yes 20170411 16:08:24< vultraz_iOS> But I meant thoughts on my proposal 20170411 16:08:43< vultraz_iOS> right now I'm thinking probably should be part of modal_dialog 20170411 16:10:00-!- JyrkiVesterinen [~JyrkiVest@89-166-110-83.bb.dnainternet.fi] has joined #wesnoth-dev 20170411 16:11:26< celticminstrel> I'm a little dubious of the idea... 20170411 16:12:01< vultraz_iOS> How come? 20170411 16:12:39< celticminstrel> Using RAII for timer management is good, certainly... but the question is, if you want RAII, why is the timer represented by a bare number? 20170411 16:14:42< gfgtdf> it'd be nice if lua gui2 dialogs also had the ability to use timers, iirc there is also a fr for that on our tracker. 20170411 16:14:59< vultraz_iOS> Well it wouldn't fully be RAII unless I used a smart pointer and a helper struct. It's represented by a bare number since that's what the SDL_Timer wrapper returns 20170411 16:15:20< celticminstrel> No, it's represented by a bare number because that's what the add_timer() function returns. 20170411 16:15:23< celticminstrel> Oh wait. 20170411 16:15:36< celticminstrel> SDL_Timer wrapper. So yes exactly, why is it returning a bare number? 20170411 16:16:11< vultraz_iOS> what else would it return? 20170411 16:16:14< celticminstrel> The other dubious aspect is... to what extent do the dialogs really need timers.. 20170411 16:16:24< celticminstrel> Exactly what you said - a helper struct. 20170411 16:16:40< celticminstrel> Of course that has problems of its own though. 20170411 16:16:49-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 16:17:04< celticminstrel> (Or I guess, a shared_ptr to the helper struct.) 20170411 16:17:33< vultraz_iOS> So it looks like there's already a wrapper struct 20170411 16:17:38< vultraz_iOS> Hmmm 20170411 16:17:56< celticminstrel> Eh... 20170411 16:18:10< celticminstrel> I suppose you could call it a wrapper struct, but there's no RAII there. 20170411 16:18:17< celticminstrel> Anyway... 20170411 16:18:40< celticminstrel> I'm still not convinced timers are the best way to be doing all this stuff. 20170411 16:18:56< vultraz_iOS> Well how else do you propose to do it 20170411 16:19:11< celticminstrel> Pretty sure we've been over this before. 20170411 16:19:20< vultraz_iOS> No? 20170411 16:19:21< celticminstrel> Using SDL_GetTicks 20170411 16:19:49< vultraz_iOS> That doesn't make sense at all 20170411 16:19:52-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 20170411 16:20:10< vultraz_iOS> That would imply spinning in a loop until a specified time is reached 20170411 16:20:16< celticminstrel> Uhh... no? 20170411 16:20:26-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170411 16:20:37< celticminstrel> I mean, yes that's one way of using SDL_GetTicks for this. 20170411 16:21:12< vultraz_iOS> That's essentially SDL_Delay 20170411 16:21:14< celticminstrel> But really, more like checking SDL_GetTicks every time through the normal loop. 20170411 16:21:28< celticminstrel> Yeah, that's why just spinning in a loop is bad. :P 20170411 16:21:59< vultraz_iOS> That's the same thing :/ 20170411 16:22:07< celticminstrel> And it's not SDL_Delay - SDL_Delay is the right way to pause for a time, rather than spinning in a loop that checks SDL_GetTicks. 20170411 16:22:13< celticminstrel> ...what's the same thing as what now. 20170411 16:22:38-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 16:22:39< celticminstrel> Checking SDL_Ticks every time through your normal loop is totally different than having a loop that does nothing until a certain ticks value is reached. 20170411 16:23:02< vultraz_iOS> Uh... no? 20170411 16:23:07< celticminstrel> Yes it is? 20170411 16:23:15< vultraz_iOS> Because we don't want to do something if a specific value is not reached 20170411 16:23:38< celticminstrel> Because in the former case the loop is doing all sorts of other normal things that need to be done regardless of whether the requisite time is reached. 20170411 16:24:02< celticminstrel> And then it's also checking SDL_Ticks to see if it's time to do this one thing that's based on time. 20170411 16:24:36< vultraz_iOS> Uh. 20170411 16:24:39< vultraz_iOS> No? 20170411 16:24:48< celticminstrel> ... 20170411 16:26:04-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170411 16:26:35-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20170411 16:26:44-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20170411 16:27:37< vultraz_iOS> Think about it. Say I'm drawing the floating images In the storyscreen. I proceed to a new part. It does all the setup, then does the floating images. It loops over every image, with a condition for time based on the specified delay checked against GetTicks. Since we don't want the images to draw except at the specific time, we have to sit in the loop until 20170411 16:27:37< vultraz_iOS> that time is reached or the image simply isn't drawn at all 20170411 16:28:32< celticminstrel> No! 20170411 16:28:43< celticminstrel> That's a crazy thing to do. 20170411 16:29:03< vultraz_iOS> Then I must not be understanding 20170411 16:29:41< vultraz_iOS> The old screen used a loop with a 10 ms delay and event polling in every iteration, but we don't want that. 20170411 16:29:49< celticminstrel> I've been talking about generally having a timer check in your game loop. 20170411 16:30:15< vultraz_iOS> Game loop? 20170411 16:30:32< celticminstrel> If you had a DRAW handler, for example, the equivalent would be that the handler starts with if(SDL_GetTicks() < something) return; 20170411 16:30:53< celticminstrel> More or less. 20170411 16:31:36< vultraz_iOS> Ah, you didn't say you wanted to hook into DRAW 20170411 16:31:45-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170411 16:32:21< celticminstrel> Well, it would have to involve hooking into some event, DRAW is the most obvious ont. 20170411 16:32:52< JyrkiVesterinen> Wesnoth essentially doesn't even *have* a game loop. Definitely an abnormal design. :/ 20170411 16:33:37< vultraz_iOS> But is hooking into DRAW better than using a timer? 20170411 16:33:47< vultraz_iOS> And for everything? 20170411 16:33:52< vultraz_iOS> Including alpha fadeout? 20170411 16:34:02< celticminstrel> Unsure. 20170411 16:34:07< celticminstrel> For alpha fadeout, definitely. 20170411 16:34:16< celticminstrel> For the flashing images, I'm not sure. 20170411 16:34:32< celticminstrel> Basically, anytime you want a smooth animation, I'd say you should hook into DRAW. 20170411 16:34:45< celticminstrel> The chained timer method doesn't guarantee the animation is smooth. 20170411 16:35:02< vultraz_iOS> It's not a chained timer 20170411 16:35:06< vultraz_iOS> It's a repeating timer 20170411 16:35:25< celticminstrel> Well fine, any timer method. 20170411 16:35:42< celticminstrel> I think the credits are an example of this? 20170411 16:35:54< vultraz_iOS> How so? There's no guarantee it will run every 50 ms? 20170411 16:35:57< celticminstrel> I guess you can get something smooth even with a timer though. 20170411 16:36:02< celticminstrel> Pretty much that, yes. 20170411 16:36:18< vultraz_iOS> How is this guaranteed to run every 50 ms? 20170411 16:36:28< celticminstrel> ??? 20170411 16:38:25< vultraz_iOS> How do I guarantee the gradual rate of fade if I hook into DRAW. How do I ensure i have an event at every interval I want - in this case, 50 ms 20170411 16:40:16-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 16:40:28-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 16:41:54< vultraz_iOS> I think JyrkiVesterinen said we now have... 50 fps for the UI? That means a DRAW event every.. 20 ms? 20170411 16:42:09< vultraz_iOS> Ah that's the number I set it to, yes. 20170411 16:42:17< JyrkiVesterinen> Yes. You yourself changed the timer interval from 30 to 20 ms. 20170411 16:42:37-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170411 16:44:55< vultraz_iOS> But there's also the possibility a draw event will be discarded 20170411 16:45:08-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 16:45:24< JyrkiVesterinen> Only if events can't be pumped fast enough. 20170411 16:45:37< JyrkiVesterinen> In which case animations can't remain smooth no matter what we do. 20170411 16:47:15< vultraz_iOS> I see 20170411 16:49:22-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 16:53:30< vultraz_iOS> alright, let me give this a try 20170411 17:04:21-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170411 17:06:19-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170411 17:07:40-!- mkdroid [~null@unaffiliated/matthiaskrgr] has quit [Remote host closed the connection] 20170411 17:10:40-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Ping timeout: 240 seconds] 20170411 17:12:01-!- irker222 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20170411 17:13:59< vultraz_iOS> celticminstrel: well, it works 20170411 17:14:03< vultraz_iOS> and actually seems slightly smoother 20170411 17:14:17< celticminstrel> The fadeout alpha? 20170411 17:14:27< vultraz_iOS> yes 20170411 17:16:13< vultraz_iOS> I'm going to still keep the timer for the fadeout trigger, though 20170411 17:16:33< celticminstrel> I guess that makes sense. 20170411 17:17:35-!- atarocch [~atarocch@2.43.131.20] has quit [Ping timeout: 240 seconds] 20170411 17:18:04-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:7451:6594:db7c:3a5a] has joined #wesnoth-dev 20170411 17:21:47-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:7451:6594:db7c:3a5a] has quit [Remote host closed the connection] 20170411 17:29:23< vultraz_iOS> celticminstrel: should the step duration become a multiple of 20? 20170411 17:29:54< celticminstrel> I assume the step duration should be whatever step duration you want? 20170411 17:31:57< vultraz_iOS> I think it functionally only matter if it's a multiple of 20, though 20170411 17:32:39< vultraz_iOS> since I check if ticks < time... 20170411 17:32:54< vultraz_iOS> oh, and I need to make sure I have my duration right here.... 20170411 17:33:08< vultraz_iOS> 50 ms is essentially 3 frames 20170411 17:33:13< vultraz_iOS> or the same as 60 20170411 17:33:41< vultraz_iOS> actually, no, the different compounds 20170411 17:34:07< vultraz_iOS> ok the math still holds 20170411 17:34:25-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 17:34:28< celticminstrel> I'm confused how 50 ms is "essentially 3 frames" or "the same as 60" 20170411 17:36:04-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 17:52:57-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:7451:6594:db7c:3a5a] has joined #wesnoth-dev 20170411 17:53:12-!- irker337 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20170411 17:53:12< irker337> wesnoth: Charles Dang wesnoth:master 117f1fc4c9da / src/gui/dialogs/ (outro.cpp outro.hpp): Outro: switch fade handling to hook into DRAW events instead of using a timer https://github.com/wesnoth/wesnoth/commit/117f1fc4c9da90b06973c0636760818c04940fc2 20170411 17:53:18< vultraz_iOS> celticminstrel: ^ 20170411 17:55:00-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:7451:6594:db7c:3a5a] has quit [Remote host closed the connection] 20170411 17:55:14-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:7451:6594:db7c:3a5a] has joined #wesnoth-dev 20170411 17:55:35< vultraz_iOS> oh, I forgot to improve that comment.. 20170411 18:01:13< matthiaskrgr> wow looks like a ton of leaks got fixed :D 20170411 18:01:23< matthiaskrgr> nice! 20170411 18:01:24< celticminstrel> \o/ 20170411 18:01:27< vultraz_iOS> \o/ 20170411 18:01:42< vultraz_iOS> do mark them, please 20170411 18:01:48< matthiaskrgr> I did :P 20170411 18:02:06< vultraz_iOS> ah I just saw the emails 20170411 18:02:10< matthiaskrgr> at least I replied to some of your "is that fixed?" pokes :P 20170411 18:05:00< vultraz_iOS> matthiaskrgr: could you also test https://gna.org/bugs/index.php?25081 and https://gna.org/bugs/index.php?25105 20170411 18:05:27< matthiaskrgr> I was about to do that next, yeah :) 20170411 18:05:47< matthiaskrgr> 3 leaks left for 25081 20170411 18:06:56< celticminstrel> I keep forgetting what I was going to work on. 20170411 18:08:10< celticminstrel> So about gui2_help, we need to be able to init a topic without clicking on it in the contents. 20170411 18:08:27< celticminstrel> IOW, the on_topic_select function probably needs to be split into two parts. 20170411 18:10:11< celticminstrel> Unrelatedly, help is using waaaay too many raw pointers. 20170411 18:10:28< vultraz_iOS> indeed 20170411 18:10:34< celticminstrel> Also, there was one thing... 20170411 18:10:51< vultraz_iOS> but until we're committed to removing gui1 help I don't want to start ripping stuff out 20170411 18:11:51< irker337> wesnoth: Charles Dang wesnoth:master 07895df08777 / src/gui/dialogs/outro.cpp: Outro: updated comments https://github.com/wesnoth/wesnoth/commit/07895df08777fcc8232f1570e42633bef53217a3 20170411 18:12:15< celticminstrel> The "const help::section& sec = toplevel_" line. 20170411 18:12:24< vultraz_iOS> oh nice i made that 60 accidentally 20170411 18:12:29< vultraz_iOS> oh fuck it I'm not making another commit 20170411 18:12:58< celticminstrel> Do we need it? Originally the idea was that it could only search one appropriate subsection rather than all of help, but I can't see a way to do that. 20170411 18:15:08-!- atarocch [~atarocch@93.68.156.175] has joined #wesnoth-dev 20170411 18:15:43< vultraz_iOS> eh? 20170411 18:22:01< matthiaskrgr> alright I think I updated all the leak logs 20170411 18:22:06< vultraz_iOS> don't think we can do anything about leaks in SDL_CreateRGBSurfaceWithFormat_REAL 20170411 18:23:01< matthiaskrgr> well yeah, I would just ignore it since there is no stacktrace for it anyway 20170411 18:23:09< celticminstrel> Why are you ehing me? 20170411 18:23:30< vultraz_iOS> i don't know what you mean 20170411 18:23:49< celticminstrel> I'm asking if you think that line is needed? 20170411 18:24:18< celticminstrel> I mean, do we need the sec variable or can we just access toplevel_ directly. 20170411 18:24:36< vultraz_iOS> i don't know what line you mean 20170411 18:24:48< celticminstrel> It's in on_topic_select. 20170411 18:24:53< celticminstrel> In gui2_help 20170411 18:25:01< celticminstrel> help_browser.cpp 20170411 18:25:07< celticminstrel> I quoted the exact line 20170411 18:28:05-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 18:28:59-!- mkdroid [~null@unaffiliated/matthiaskrgr] has joined #wesnoth-dev 20170411 18:30:09-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 18:30:15< irker337> wesnoth: Charles Dang wesnoth:master f948d0250985 / src/gui/dialogs/select_orb_colors.cpp: Select Orb Colors: attempt to fix memleak https://github.com/wesnoth/wesnoth/commit/f948d0250985aa6108ce0e7513dfcd93a910dcd3 20170411 18:30:43< vultraz_iOS> now, the gamestate inspector.. 20170411 18:31:32< vultraz_iOS> T* p = new T(*this); 20170411 18:31:32< vultraz_iOS> controllers.push_back(p); 20170411 18:31:32< vultraz_iOS> return *p; 20170411 18:31:39< vultraz_iOS> yeah, this looks iffy.. 20170411 18:31:42< celticminstrel> . . . 20170411 18:32:04< celticminstrel> shared_ptr time! 20170411 18:32:20< vultraz_iOS> indeed 20170411 18:32:26< celticminstrel> I think you can't put a unique_ptr in a vector, otherwise I'd recommend that instead... though maybe it'd work if you used emplace instead of push. 20170411 18:33:10< irker337> wesnoth: Jyrki Vesterinen wesnoth:master aa762995e2b6 / / (3 files in 3 dirs): Add tooltips to add-on manager buttons https://github.com/wesnoth/wesnoth/commit/aa762995e2b628bd8cafb9a0366cc1f77ffa45f0 20170411 18:33:12< irker337> wesnoth: Jyrki Vesterinen wesnoth:master c4be6a7ec881 / src/gui/widgets/widget.cpp: Don't trigger relayout when a widget is hidden during initial layout https://github.com/wesnoth/wesnoth/commit/c4be6a7ec881d74a0d46f3b068053b86bc1c7e17 20170411 18:43:42< irker337> wesnoth: Charles Dang wesnoth:master e9eb98743ef4 / src/gui/dialogs/gamestate_inspector.cpp: Gamestate Inspector: attempt to fix memleaks https://github.com/wesnoth/wesnoth/commit/e9eb98743ef4912ed7db818724a0ce9ed778bdd7 20170411 18:44:18< vultraz_iOS> matthiaskrgr: could you test 25105 again now? 20170411 18:44:31-!- Shiki [~Shiki@p548546C8.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170411 18:44:51< vultraz_iOS> 25081 is more involved... it involves... *intrusive_ptr* p_p 20170411 18:45:02< celticminstrel> FTR, casts and make_shared are two places where I think auto is a great idea, since otherwise you're clearly stating the type twice. 20170411 18:45:06< celticminstrel> What's 25801? 20170411 18:45:14< vultraz_iOS> https://gna.org/bugs/index.php?25081 20170411 18:45:24< vultraz_iOS> "hmm it seems like attack_type::intrusive_ptr_release doesn't release the passed pointer at all." 20170411 18:46:08< mkdroid> ok will do when im home again :) 20170411 18:46:39< gfgtdf> vultraz_iOS: yes but afaik celmin fixed that 20170411 18:47:18< celticminstrel> Well it's clearly releasing it now. 20170411 18:47:26< vultraz_iOS> ah 20170411 18:47:30< gfgtdf> also 'C& sub_controller = *get_controller();' is wrong,the shared_pre returns by get_controller will be destory immidiateley and and sub_cobntroller will point ot invlid memepory 20170411 18:47:48< vultraz_iOS> :/ 20170411 18:48:20< gfgtdf> ah wait 20170411 18:48:35< gfgtdf> didn't see it stored in controllers 20170411 18:49:15< celticminstrel> I'd say it's still suspicious though, gfgtdf 20170411 18:49:31< celticminstrel> If possible, it might be better to have get_controller actually return a reference. 20170411 18:50:04< vultraz_iOS> std::transform(new_type.attacks().begin(), new_type.attacks().end(), std::back_inserter(attacks_), [](const attack_type& atk) { 20170411 18:50:04< vultraz_iOS> return new attack_type(atk); 20170411 18:50:04< vultraz_iOS> }); 20170411 18:50:09< vultraz_iOS> guessing this is problematic 20170411 18:51:12< celticminstrel> I don't think it should be? 20170411 18:51:26< vultraz_iOS> did I throw away my commit to use enable_shared_from_this instead of intrusive_ptr for this... 20170411 18:51:27< celticminstrel> That returned pointer is immediately being stuffed in an intrusive_ptr, isn't it? 20170411 18:51:59< celticminstrel> Actually, enable_shared_from_this might actually work for the units and attack types since they have no class hierarchy... 20170411 18:52:15< gfgtdf> vultraz_iOS: actually the ownership of the controller isn'T shared at all i think it'd make the code clearer to change controllers to use be a vector of unique_ptr 20170411 18:52:47< celticminstrel> It's also cool that you can do eg shared_ptr attack_type::operator&() {return shared_from_this();} :P 20170411 18:52:51< celticminstrel> Though I'm not recommending it. 20170411 18:53:01< celticminstrel> It's generally considered bad practice to overload the address-of operator. 20170411 18:53:01< vultraz_iOS> gfgtdf: u_p doesn't work with dynamic_pointer_cast 20170411 18:53:14< celticminstrel> u_p? 20170411 18:53:21< vultraz_iOS> unique_ptr 20170411 18:53:22< celticminstrel> Oh unique_ptr. 20170411 18:53:24< celticminstrel> Uh. 20170411 18:53:29< gfgtdf> celticminstrel: yes but you can just use dynamic_cast liek is was before 20170411 18:53:33< gfgtdf> vultraz_iOS: i menat 20170411 18:53:40< celticminstrel> Oh right, probably because it's not copyable. 20170411 18:53:58< celticminstrel> dynamic_pointer_cast is essentially copying the shared_ptr. 20170411 18:54:17< vultraz_iOS> god dammit i think i threw out that commit... 20170411 18:54:22< celticminstrel> I'd expect there to be a way to get the effect of dynamic_ptr_cast on a unique_ptr... 20170411 18:54:42< celticminstrel> But it would presumably destroy the original unique_ptr (ie, rendering it null). 20170411 18:55:06< celticminstrel> gfgtdf: Can you put unique_ptr in a vector though? 20170411 18:55:30< gfgtdf> celticminstrel: yes since vector only requires movalbe objects. 20170411 18:55:44< celticminstrel> But I guess you can't push_back to such a vector. 20170411 18:56:01< vultraz_iOS> i think i erased it since it wasn't that complex, though.. 20170411 18:56:31< celticminstrel> vultraz_iOS: Yeah, pretty sure that wouldn't be too complex. 20170411 18:56:34< gfgtdf> celticminstrel: if not you can in nay case use emplace_back + std::move 20170411 18:56:44< gfgtdf> any* 20170411 18:57:32< celticminstrel> vultraz_iOS: Just make sure you don't get confused between copying the pointer and copying the attack; for example, if you switch to shared pointers, line 978 of units.cpp becomes a make_shared call, not a simple copy of the pointer. 20170411 18:58:19< celticminstrel> vultraz_iOS: Also, look out for places where an attack is being allocated on the stack. Maybe make the constructors private (even if only temporarily) to catch it. 20170411 18:58:33< vultraz_iOS> new attack_type? 20170411 18:58:36 * celticminstrel wonders if it would work to make the constructors private permanently, but then declare make_shared as a friend function... 20170411 19:01:31< gfgtdf> wait 20170411 19:01:46< gfgtdf> actually the problem is mostlikeley that attack_tpye has no cusotm cctor 20170411 19:01:59< gfgtdf> so that is just copied teh refcount form the odl object 20170411 19:02:01< celticminstrel> gfgtdf: Meaning, no user-declared copy constructor? 20170411 19:02:06< gfgtdf> yes 20170411 19:02:06< celticminstrel> Ah... 20170411 19:02:20< celticminstrel> So... the copy constructor should copy everything except the refcount... 20170411 19:02:25< gfgtdf> celticminstrel: yes 20170411 19:03:21< vultraz_iOS> can i still make it use stared_ptrs? 20170411 19:03:48< gfgtdf> hmm i dont see the advantage 20170411 19:04:00< celticminstrel> Fixing the constructor is a smaller change. 20170411 19:04:29< celticminstrel> And you wouldn't have to worry about the possibility of attack_types on the stack. 20170411 19:04:35-!- mkdroid [~null@unaffiliated/matthiaskrgr] has quit [Quit: I'll be back!] 20170411 19:04:41< vultraz_iOS> let me see if they exist 20170411 19:05:05< vultraz_iOS> one does so far.. 20170411 19:05:12< celticminstrel> Where? 20170411 19:05:32< vultraz_iOS> matches_special_filter 20170411 19:05:41< vultraz_iOS> game_events/conditional_wml.cpp 20170411 19:06:20< vultraz_iOS> wait, no.. 20170411 19:06:28< vultraz_iOS> im mistaken 20170411 19:06:44< celticminstrel> That one would be safe even with the shared_ptr, I think. 20170411 19:06:47< vultraz_iOS> just a problem with testing with the ctor private 20170411 19:07:00< celticminstrel> No, you're not mistaken, that's definitely an attack_type on the stack. 20170411 19:07:11< vultraz_iOS> oh? 20170411 19:07:28< vultraz_iOS> but since it's new and local does it matter if it's a shared_ptr or not 20170411 19:07:38< celticminstrel> But since you never take the address of it, it should be safe with shared_ptr+enable_shared_from_this. 20170411 19:08:03< vultraz_iOS> its not used at all outside this function 20170411 19:08:09< celticminstrel> Exactly. 20170411 19:08:23< vultraz_iOS> so do i even need to make it a shared_ptr 20170411 19:08:39< celticminstrel> It's safest to try to enforce none on the stack, but if you're careful, there's no problem. Unless of course the matches_filter function did something weird with this. 20170411 19:08:45< celticminstrel> Pretty sure it doesn't though. 20170411 19:09:01< vultraz_iOS> let's see what else there is 20170411 19:09:34< vultraz_iOS> dialogs/unit_attack.cpp 20170411 19:10:36< vultraz_iOS> what else 20170411 19:11:03< vultraz_iOS> (that one can actually be refactored out probably) 20170411 19:11:39< celticminstrel> There's a couple of raw pointers in the AI... 20170411 19:14:27< celticminstrel> And several in the unit animations... 20170411 19:15:06< vultraz_iOS> iter.base()->reset(new attack_type(cfg)); ok, this is safe 20170411 19:15:18-!- Kwandulin [~Kwandulin@p200300760F3E7DAFDDD7FC3891122F98.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170411 19:15:27< vultraz_iOS> and this.. I think 20170411 19:15:28< vultraz_iOS> return *attacks_.emplace(position.base(), new attack_type(args...)); 20170411 19:16:49< matthiaskrgr> vultraz_iOS: https://pastebin.com/gKxHiSJB 20170411 19:16:54< celticminstrel> What's the type of attacks_? 20170411 19:17:13< vultraz_iOS> vector> 20170411 19:17:27< celticminstrel> And ptr = intrusive_ptr? 20170411 19:17:43< vultraz_iOS> yes 20170411 19:18:15< vultraz_iOS> matthiaskrgr: :/ nothing seems to be fixed 20170411 19:19:30< matthiaskrgr> :( 20170411 19:21:49-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 19:22:01-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 19:24:33< gfgtdf> matthiaskrgr: that log doesn't contain vultraz latest commit does it ? 20170411 19:24:52< matthiaskrgr> uhm no? o_O 20170411 19:25:09< vultraz_iOS> uhhh..... 20170411 19:25:34< vultraz_iOS> you kinda need the commit fixing the leaks to test the leaks... 20170411 19:26:20< matthiaskrgr> I am at e9eb98743ef4912ed7db818724a0ce9ed778bdd7 20170411 19:26:41-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:7451:6594:db7c:3a5a] has quit [Remote host closed the connection] 20170411 19:26:55< vultraz_iOS> oh 20170411 19:26:59< vultraz_iOS> then you do have the commita 20170411 19:26:59-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:7451:6594:db7c:3a5a] has joined #wesnoth-dev 20170411 19:27:00-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:7451:6594:db7c:3a5a] has quit [Remote host closed the connection] 20170411 19:27:01< vultraz_iOS> commits 20170411 19:27:21< matthiaskrgr> and I did not forget to build 20170411 19:29:15< vultraz_iOS> celticminstrel: https://github.com/Vultraz/wesnoth/commit/b5e88118e5861064d72ccab1b03b81a515a2e01c 20170411 19:29:16< matthiaskrgr> oh wait 20170411 19:29:29< matthiaskrgr> they are gone 20170411 19:29:31< matthiaskrgr> now 20170411 19:29:32< matthiaskrgr> wtf? 20170411 19:29:37< vultraz_iOS> o_O 20170411 19:29:46< matthiaskrgr> no idea what happened there 20170411 19:30:24< matthiaskrgr> well no idea what happened, probably a SNAFU on my side 20170411 19:30:33< matthiaskrgr> but there are only indirect leaks left 20170411 19:30:52< gfgtdf> what teh differntece betwen direct/indeirect leaks ? 20170411 19:31:30< vultraz_iOS> ok, im marking as fixed 20170411 19:32:32< vultraz_iOS> matthiaskrgr: one last thing, could you pull https://github.com/Vultraz/wesnoth/commit/b5e88118e5861064d72ccab1b03b81a515a2e01c from my branch and see if it does anything to 25081 20170411 19:32:46< celticminstrel> vultraz_iOS: Uhh... is that really all? o.o 20170411 19:33:09< matthiaskrgr> >branch 20170411 19:33:22< matthiaskrgr> protip: append .patch to the commit url :) 20170411 19:33:35< matthiaskrgr> curl "https://github.com/Vultraz/wesnoth/commit/b5e88118e5861064d72ccab1b03b81a515a2e01c.patch" | patch -p1 20170411 19:33:38< matthiaskrgr> \o/ 20170411 19:33:44< celticminstrel> \o/ 20170411 19:34:04< matthiaskrgr> ok rebuilding is gonna take a few minutes 20170411 19:35:30< matthiaskrgr> gfgtdf: I think it might be what is called "possible leak" here http://drmemory.org/docs/page_leaks.html 20170411 19:35:43< vultraz_iOS> celticminstrel: well, i didn't get to build past unit.*pp with the private ctor, but grep seems to assure me there are no instances on the stack 20170411 19:35:46< matthiaskrgr> vultraz_iOS: do you care about compiler warnings for that commit ? 20170411 19:35:49< matthiaskrgr> :> 20170411 19:35:52< vultraz_iOS> yes 20170411 19:35:54< gfgtdf> hm ok 20170411 19:36:11< matthiaskrgr> it's only -Wunused-function though 20170411 19:36:15< celticminstrel> The raw attack pointers in AI and animations strike me as a little suspicious though. 20170411 19:36:22-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170411 19:36:29< celticminstrel> What unused function? 20170411 19:38:08< matthiaskrgr> https://pastebin.com/NXvi4Ezm 20170411 19:38:48< celticminstrel> ...why would those be unused in that commit but not in master? 20170411 19:38:57< celticminstrel> That's kinda suspicious... 20170411 19:39:01< vultraz_iOS> they're not even unused 20170411 19:39:02< vultraz_iOS> o_O 20170411 19:39:29< celticminstrel> Ah, I see what it is. 20170411 19:39:32-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170411 19:39:38< vultraz_iOS> what is it 20170411 19:39:46< celticminstrel> They should be inline rather than static. 20170411 19:39:59< celticminstrel> Since they're static, a separate copy of them is included in every file that includes that header. 20170411 19:40:07< celticminstrel> Unless they're class-static? 20170411 19:40:20< celticminstrel> But IIRC they were global functions... 20170411 19:40:30< vultraz_iOS> global 20170411 19:40:37< celticminstrel> Yeah, so change them to inline in master. 20170411 19:40:47< celticminstrel> (Or move them to a source file.) 20170411 19:41:35-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170411 19:41:44< celticminstrel> I'm trying to figure out if a) shared_from_this() is needed anywhere and b) get_attack_iter can be removed. 20170411 19:45:11< celticminstrel> b) is irrelevant to your commit though. 20170411 19:45:39< celticminstrel> Certainly shared_from_this() should not be called from get_attack_iter if you can't guarantee that every attack_type is always owned by a shared_ptr. 20170411 19:45:51< celticminstrel> (IIRC it's protected by default, anyway?) 20170411 19:50:18< matthiaskrgr> kek 20170411 19:50:24< matthiaskrgr> vultraz_iOS: it crashes on startup 20170411 19:50:32< matthiaskrgr> or wait 20170411 19:50:41< vultraz_iOS> not for me.. 20170411 19:50:47< matthiaskrgr> ok I think it was because of low resolution 20170411 19:51:16< matthiaskrgr> yeah 20170411 19:51:24< matthiaskrgr> it segfaulted and leaked at the same time that was kinda weird 20170411 19:51:51< matthiaskrgr> yay! 20170411 19:51:55< matthiaskrgr> the tut leaks are fixed 20170411 19:51:56< matthiaskrgr> :) 20170411 19:53:01< matthiaskrgr> at least the superficial stuff 20170411 19:53:23< vultraz_iOS> so the bug is fixed? 20170411 19:53:31< vultraz_iOS> what do you mean by superficial 20170411 19:53:51< matthiaskrgr> yes the bug is fixed 20170411 19:54:10< matthiaskrgr> I mean, when I reported the bug I was only looking at the start of the tut and did not play it fully 20170411 19:54:21< matthiaskrgr> so there might be stuff hidden that I haven't seen yet 20170411 19:54:41< matthiaskrgr> I'll play through the tut and find out 20170411 19:55:12< celticminstrel> vultraz_iOS: I'm going to pull your commit, so please don't merge it. 20170411 20:04:12 * vultraz_iOS waits 20170411 20:04:41< celticminstrel> I'm assuming you didn't have any changes to make to it? 20170411 20:04:47< vultraz_iOS> I do not 20170411 20:07:14< celticminstrel> My "void operator&() = delete" might also be able to detect some problems, whee. (Not going to add it permanently though.) 20170411 20:09:02< celticminstrel> I mean, if you really wanted I could make operator&() return shared_from_this(), but again, overloading address-of is generally not recommended. 20170411 20:15:41-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170411 20:21:20-!- Alkenrinnstet [~alkenrinn@42.61.217.253] has quit [Ping timeout: 252 seconds] 20170411 20:24:13-!- JyrkiVesterinen [~JyrkiVest@89-166-110-83.bb.dnainternet.fi] has quit [Quit: .] 20170411 20:25:25< vultraz_iOS> oh, foolish me... 20170411 20:25:36< celticminstrel> ? 20170411 20:25:53< vultraz_iOS> when i deployed map::emplace en-masse I only grepped for insert(std::pair and not insert(std::make_pair :| 20170411 20:26:02< celticminstrel> Heh. 20170411 20:26:17< vultraz_iOS> MORE EMPLACE TO DEPLOY 20170411 20:26:39< vultraz_iOS> (waiting on your goahead to push the attack_type stuff so i don't have to rebase 20170411 20:27:15< celticminstrel> Actually, I was going to push it along with another commit. 20170411 20:27:31< vultraz_iOS> ah 20170411 20:27:33< vultraz_iOS> I see 20170411 20:27:40-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170411 20:27:47-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170411 20:36:09-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170411 20:41:17-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170411 20:42:53-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170411 20:49:52-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170411 20:50:51-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170411 20:52:11< irker337> wesnoth: Charles Dang wesnoth:master a9e499bb64fd / src/ai/composite/property_handler.hpp: Cleaned up register_*_property functions https://github.com/wesnoth/wesnoth/commit/a9e499bb64fdb69ca2e4a7c5f7a0cce0fd19cf55 20170411 20:52:14< irker337> wesnoth: Charles Dang wesnoth:master 0c3260dc0513 / src/ (20 files in 13 dirs): Finished deploying std::map::emplace (cont. e1a579da51) https://github.com/wesnoth/wesnoth/commit/0c3260dc0513d5cc9933f16fd74fd7ad798331f8 20170411 20:53:53< celticminstrel> Lines 132-3 of attack_prediction.cpp (the dialog) 20170411 20:53:59< celticminstrel> Why checking for empty? 20170411 20:54:13< celticminstrel> Whoops sorry 20170411 20:54:16< celticminstrel> unit_attack.cpp 20170411 20:54:58< vultraz_iOS> because there might not be a weapon name? 20170411 20:55:23< vultraz_iOS> though i wonder if this was a hack left over from when newlines didn't render right on windows 20170411 20:55:54< vultraz_iOS> I think probably it is 20170411 20:57:03< vultraz_iOS> btw, looks like https://gna.org/bugs/index.php?25083 also has roots in the intrusive_ptr use 20170411 20:57:34< celticminstrel> So is it correct that no_weapon has no name? 20170411 20:57:45< celticminstrel> Or should it actually say "No weapon"? 20170411 20:59:24< vultraz_iOS> uhh i think its not supposed to 20170411 21:07:53< irker337> wesnoth: Charles Dang wesnoth:master 2a017b48628b / src/units/unit.cpp: Fixed duplicate key (typo) https://github.com/wesnoth/wesnoth/commit/2a017b48628b6d2f25e9928a0b633b31569d60aa 20170411 21:08:50< celticminstrel> I mean replacing static with inline, not just adding inline... though it might end up being the same thing, I forget. 20170411 21:09:00< celticminstrel> ^meant 20170411 21:15:35< irker337> wesnoth: Charles Dang wesnoth:master 2ca105e14647 / src/ (4 files in 2 dirs): convert attack_type to use shared_from_this instead of instrusive_ptrs https://github.com/wesnoth/wesnoth/commit/2ca105e14647f8622aa697a0dbeffe0cf5199cac 20170411 21:15:38< irker337> wesnoth: Celtic Minstrel wesnoth:master fcc0da5bd465 / src/ (19 files in 7 dirs): Some cleanup of attack_type usage for enable_shared_from_this safety https://github.com/wesnoth/wesnoth/commit/fcc0da5bd465bce4e9434f528f16bbde001b1088 20170411 21:16:42< vultraz_iOS> matthiaskrgr: can you also test if https://gna.org/bugs/index.php?25083 is fixed by ^ 20170411 21:16:56< vultraz_iOS> im marking the tutorial leak as fixed 20170411 21:17:25< matthiaskrgr> xD I just finished building previous commits :D 20170411 21:40:01< matthiaskrgr> vultraz_iOS: all gone \o/ 20170411 21:51:25-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170411 21:52:03-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 21:56:40-!- stikonas_ [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 22:00:36-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20170411 22:10:10< vultraz_iOS> I think that's all the leak bugs fixed \ o / 20170411 22:11:06-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170411 22:11:07 * celticminstrel wonders if \ o / is different from \o/ 20170411 22:11:26< vultraz_iOS> well, there's this though https://gna.org/bugs/index.php?25075 which is more serious but that looks like a threading this 20170411 22:11:33< vultraz_iOS> s/this/issue 20170411 22:13:16< celticminstrel> Definitely a threading issue. 20170411 22:13:27< celticminstrel> Something wrong in the config class. 20170411 22:13:49< celticminstrel> Maybe storing the children as shared_ptr instead of config* would solve it? 20170411 22:13:57< celticminstrel> That change might snowball a lot though. 20170411 22:14:06< vultraz_iOS> how so? 20170411 22:14:09< celticminstrel> Also there are still a lot of member functions that return a config* which are bad. 20170411 22:14:26< celticminstrel> How so? Well, just that other types depend on the type of the child list. 20170411 22:14:36< celticminstrel> But it might not be that bad. 20170411 22:15:03 * celticminstrel goes to take a look at config... 20170411 22:15:17< vultraz_iOS> changing config is always dicey 20170411 22:15:34< celticminstrel> Why do you say that? 20170411 22:15:47< vultraz_iOS> because literally everything uses it 20170411 22:17:42< celticminstrel> Hmm, I was wrong about functions returning a config* 20170411 22:17:53< celticminstrel> There's one that returns attribute_value* though. 20170411 22:19:27< gfgtdf> actually 25075 coudl be 'fixed' that is it now crashes unrelated to threading 20170411 22:19:31< gfgtdf> vultraz_iOS: ^ 20170411 22:19:48< celticminstrel> ??? 20170411 22:20:38< gfgtdf> vultraz_iOS: the underlying issue has not fixed which is related to the spacer size formulas 20170411 22:20:53< gfgtdf> vultraz_iOS: that is it doesnt fit on scren naymore after it resized 20170411 22:21:25< gfgtdf> vultraz_iOS: i meant this one: https://gna.org/bugs/?21564 20170411 22:21:58< gfgtdf> vultraz_iOS: see my latest comment there 20170411 22:22:32< vultraz_iOS> ok 20170411 22:22:33< vultraz_iOS> got it 20170411 22:24:04< gfgtdf> vultraz_iOS: i think a possible fix coudl be to move formulas liek here: https://github.com/wesnoth/wesnoth/blob/master/src/gui/widgets/spacer.hpp#L118 from the builder into the actual widget, so that it can be recalculated when the sceensuze changes 20170411 22:24:17< gfgtdf> screensize* 20170411 22:25:29< gfgtdf> actually i think https://gna.org/bugs/?25075 might be just a sublicate of http://gna.org/bugs/?25290 20170411 22:25:32-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170411 22:25:34-!- stikonas_ is now known as stikonas 20170411 22:25:49< gfgtdf> dublicate* 20170411 22:28:39< vultraz_iOS> hmmm... 20170411 22:29:03< matthiaskrgr> :o 20170411 22:29:40-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 240 seconds] 20170411 22:44:43-!- gfgtdf [~chatzilla@x4e368f0e.dyn.telefonica.de] has quit [Read error: Connection reset by peer] 20170411 22:49:59-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Remote host closed the connection] 20170411 22:52:42-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170411 22:55:31-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170411 22:57:44< matthiaskrgr> stack buffer overflow /o\ 20170411 22:58:39< vultraz_iOS> D: 20170411 22:59:04< matthiaskrgr> somewhere in gui 20170411 22:59:09< matthiaskrgr> gui2 I think 20170411 23:00:59< vultraz_iOS> we need abit more than that 20170411 23:01:04< matthiaskrgr> yeees 20170411 23:01:08< matthiaskrgr> I'm on it 20170411 23:01:12< matthiaskrgr> I'll make ticket 20170411 23:01:17< matthiaskrgr> with ubsan + asan stacktrace 20170411 23:02:57< matthiaskrgr> hmmm 20170411 23:03:25< matthiaskrgr> :| 20170411 23:03:35< matthiaskrgr> wesnoth: ../src/sdl/utils.cpp:2018: void blit_surface(const surface &, const SDL_Rect *, surface &, const SDL_Rect *): Assertion `src_offset < src->w * src->h' failed. 20170411 23:04:29< matthiaskrgr> weird 20170411 23:05:00< matthiaskrgr> vultraz_iOS: I was doing this https://pastebin.com/R06weaKM 20170411 23:05:52< matthiaskrgr> https://pastebin.com/raw/46MCtmjD this is the original stacktrace that I can't seem to repro right now, heh 20170411 23:06:11< vultraz_iOS> o-O 20170411 23:06:19< vultraz_iOS> also, i cannot repro your storyscreen error 20170411 23:07:08< matthiaskrgr> :( 20170411 23:10:21< matthiaskrgr> yeah I also have difficulties reproducing now, grrr 20170411 23:11:57< matthiaskrgr> I dunno 20170411 23:15:47< matthiaskrgr> well 20170411 23:16:06< matthiaskrgr> https://pastebin.com/HbYqR0ES at some point I got this 20170411 23:17:17< vultraz_iOS> weird.... 20170411 23:17:48< vultraz_iOS> not sure what that means 20170411 23:21:22< matthiaskrgr> aha! 20170411 23:21:47< matthiaskrgr> inching closer 20170411 23:21:54< matthiaskrgr> https://pastebin.com/xaQiccTB 20170411 23:21:55-!- atarocch [~atarocch@93.68.156.175] has quit [Remote host closed the connection] 20170411 23:22:41< matthiaskrgr> hmmmmmmmmm 20170411 23:22:48< matthiaskrgr> it might be some strange race condition 20170411 23:23:14< matthiaskrgr> yes ! 20170411 23:23:16< matthiaskrgr> vultraz_iOS: so 20170411 23:23:19< matthiaskrgr> still there? :> 20170411 23:23:35< matthiaskrgr> https://pastebin.com/uKpW0PhQ 20170411 23:23:55< matthiaskrgr> lololol 20170411 23:23:57< matthiaskrgr> I got it 20170411 23:24:05< matthiaskrgr> vultraz_iOS: basically, sopenm 20170411 23:24:16< matthiaskrgr> open *any* kind of storyscreen and just spam space 20170411 23:24:27< matthiaskrgr> it should crash then ::) 20170411 23:24:51< matthiaskrgr> I was simply too careful and slow when I tried to reproduce :D 20170411 23:25:54< matthiaskrgr> well it gets you a new crash probably 20170411 23:26:08< matthiaskrgr> its not the stack buffer overflow that I had initially 20170411 23:28:38< matthiaskrgr> also it might be that due to -O0 and asan + ubsan that a normal O3 build does not crash because code runs too fast 20170411 23:28:45< matthiaskrgr> haven't tested though 20170411 23:40:42< matthiaskrgr> gn 20170411 23:48:18-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 256 seconds] 20170411 23:56:28< vultraz_iOS> matthiaskrgr: cannot repro 20170411 23:57:33< matthiaskrgr> :( 20170411 23:58:43< matthiaskrgr> it also crashes when I click the "=>" button very fast 20170411 23:59:08< vultraz_iOS> I can understand what might be happening but i don't see how it's possible it happens 20170411 23:59:17< matthiaskrgr> heh 20170411 23:59:27< matthiaskrgr> hmmmm 20170411 23:59:39< vultraz_iOS> can you add "assert(current_part_);" to gui/dialogs/story_viewer.108 20170411 23:59:47< vultraz_iOS> and see if this ever throws? 20170411 23:59:53< vultraz_iOS> s/throws/asserts --- Log closed Wed Apr 12 00:00:05 2017