--- Log opened Fri May 04 00:00:03 2018 20180504 00:03:42< celticminstrel> Nice to see a lot of whiteboard fixes now. 20180504 00:03:52< celticminstrel> Wish it'd happened before 1.14.0, but at least it's happening. 20180504 00:06:17<+discordbot> Not sure if this is maybe an issue with the French translation, but: https://forums.wesnoth.org/viewtopic.php?f=5&t=48059&p=627180#p627176 20180504 00:07:38< celticminstrel> Does the French translation cover the tutorial? 20180504 00:07:47< celticminstrel> ie, is this a missing translation or a bug in translations. 20180504 00:09:09< sevu> https://www.wesnoth.org/gettext/?view=langs&version=branch&lang=fr it's not translated 20180504 00:09:21-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Ping timeout: 264 seconds] 20180504 00:11:03< celticminstrel> The tutorial stats are actually really bad... o.o 20180504 00:11:17< celticminstrel> Can we urge the translators to focus on the tutorial for 1.14.1? 20180504 00:11:20<+discordbot> agh 20180504 00:11:27<+discordbot> I forgot to remove the classic theme 20180504 00:11:33< celticminstrel> Good thing, too. 20180504 00:11:33<+discordbot> celmin: 1.14.1 is coming out this weekend 20180504 00:11:52< celticminstrel> Can I still get those string changes in? 20180504 00:12:03< celticminstrel> I can probably deal with it tonight actually. 20180504 00:12:05<+discordbot> yes 20180504 00:12:13<+discordbot> there'sno string freeze for this release 20180504 00:12:25< celticminstrel> But yeah, don't go removing things for no reason. 20180504 00:12:34<+discordbot> it will be removed on master though 20180504 00:12:38<+discordbot> along with all themes basically 20180504 00:12:47< sevu> well, the problem is that we can't translate your new strings without new po(t)s 20180504 00:13:11< celticminstrel> That's fine because the entire theme system is being redone, but I still intend to reimplement both classic themes in the new system once it's ready. 20180504 00:13:39< celticminstrel> (I'm saying "both classic themes" because I figure Vultraz will want a brand-new theme, so the current one also becomes classic.) 20180504 00:14:21<+discordbot> no 20180504 00:14:29<+discordbot> fucking hell one million times no 20180504 00:14:54< celticminstrel> Uh. Calm down. 20180504 00:14:54<+discordbot> I'm going for a total redesign of the in-game UI 20180504 00:15:06< celticminstrel> That's literally what I said, is it not? 20180504 00:15:33<+discordbot> Something like that ^ 20180504 00:15:36<+discordbot> oops wait 20180504 00:15:36<+discordbot> it's not done uploading 20180504 00:15:37<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441754737730256906/wesnoth_new_UI_mockup_V2.JPG 20180504 00:15:42<+discordbot> there 20180504 00:15:55< matthiaskrgr> :o 20180504 00:15:58<+discordbot> there will be ABSOLUTELY NO remnants of the old theme 20180504 00:16:01<+discordbot> er 20180504 00:16:03<+discordbot> UI design 20180504 00:16:05<+discordbot> NONE 20180504 00:16:07<+discordbot> no classic theme 20180504 00:16:11<+discordbot> no classic classic theme 20180504 00:16:27< celticminstrel> That's quite unfair TBH. 20180504 00:16:43< celticminstrel> That layout does look like a decent start though. 20180504 00:16:57< celticminstrel> And kinda in line with the sort of thing I expected from you, too. :P 20180504 00:17:04<+discordbot> how so? 20180504 00:17:17< celticminstrel> Where's all the attack info go though? 20180504 00:17:43<+discordbot> it's a mockup 20180504 00:17:52< sevu> Btw, is that a reworked map of the first DiD scenario? 20180504 00:19:27<+discordbot> ye 20180504 00:19:27<+discordbot> s 20180504 00:19:31<+discordbot> needs to go in 20180504 00:19:50<+discordbot> but anyway I think you can appreciate 20180504 00:19:58<+discordbot> why a classic theme would be horrible 20180504 00:20:06<+discordbot> because it would get rid of my GLORIOUS NEW DESIGN 20180504 00:20:12<+discordbot> (assumingicanactuallyimplementit) 20180504 00:22:35< irker106> wesnoth: Celtic Minstrel wesnoth:intl_fixes 788032171f07 / data/campaigns/Secrets_of_the_Ancients/scenarios/ (09_Training_Session.cfg 10_Merfolk_Revenge.cfg): SotA: Avoid use of 'kids' to address Carcyn and Shynal https://github.com/wesnoth/wesnoth/commit/788032171f072148d50f41b3869710e54c5c3ce9 20180504 00:23:12< celticminstrel> I can appreciate no such thing, because it literally doesn't make any sense. 20180504 00:23:34<+discordbot> And people who don't want to spend time trying to completely relearn the UI can go play a game that isn't trying to look like a MOBA? 20180504 00:23:42<+discordbot> ¯_(ツ)_/¯ 20180504 00:24:00< celticminstrel> What, @pydsigner? 20180504 00:25:30<+discordbot> celticminstrel: he's trying to imitate DOTA 20180504 00:25:32<+discordbot> http://img0.reactor.cc/pics/post/full/Dota-фэндомы-Dota-Other-ui-redesign-1924742.png 20180504 00:25:47<+discordbot> Because a turn based strategy should definitely have an attack hotbar.... 20180504 00:25:52<+discordbot> Or most modern computer games 20180504 00:25:57<+discordbot> thinks it looks neat 20180504 00:26:16< celticminstrel> Yeah, Vultraz takes "modern" as a "must-have" rather than just a choice. 20180504 00:26:28<+discordbot> it is must-have 20180504 00:26:30<+discordbot> I mean it looks cool, but provides a fraction of the useful information of the current 20180504 00:26:33<+discordbot> and jetrel approves of ths design 20180504 00:26:35< celticminstrel> It's not a must-have in the slightest. 20180504 00:26:40<+discordbot> and it's not even done 20180504 00:26:43<+discordbot> it's a bloody mockup people 20180504 00:26:49< celticminstrel> I mean it looks nice, but it's not required. 20180504 00:26:51<+discordbot> of course i left out half the info 20180504 00:27:04< celticminstrel> And Jetrel's approval is nice I suppose but he's just one person. 20180504 00:27:17<+discordbot> he's the art director 20180504 00:27:21<+discordbot> and very experienced with design 20180504 00:27:23< celticminstrel> But I mean, if we get the new theme UI in place, there's literally no downside to offering the classic theme, and if you don't someone will do it as an addon anyway. 20180504 00:27:30<+discordbot> then let them 20180504 00:27:36< celticminstrel> I thought Jetrel was ex-art-director? 20180504 00:27:37<+discordbot> I'm not supporting antiquated designs 20180504 00:27:59< celticminstrel> Anyway, since it's classic it should be included in the main game; I could see an argument for only having the more recent classic theme though. 20180504 00:28:52<+discordbot> @pydsigner that is not even dota's UI... 20180504 00:29:01<+discordbot> I quite like it though, as a design 20180504 00:29:03<+discordbot> but it's not dota UI 20180504 00:30:13<+discordbot> and yes, I am trying to emulate Dota 20180504 00:30:20<+discordbot> in the sense that it'ew new UI uses minimal space 20180504 00:30:41<+discordbot> you can't deny our current UI is old 20180504 00:30:44<+discordbot> antiquated 20180504 00:30:49<+discordbot> not modern or elegant at all 20180504 00:30:50<+discordbot> I mean, the problem is that there's 4 pieces of information important to convey with each attack 20180504 00:30:51<+discordbot> it feels dated 20180504 00:30:58< celticminstrel> Calling it "old" is a meaningless statement. 20180504 00:31:03<+discordbot> (in-game UI, I mean) 20180504 00:31:06<+discordbot> And there's no good place in your mockup to convey them 20180504 00:31:07< celticminstrel> Calling it "antiquated" is probably an exaggeration. 20180504 00:31:19< celticminstrel> And yeah, that's why I asked where the attack info goes in your mock-up. 20180504 00:31:27< celticminstrel> It's not there but needs to be. 20180504 00:31:34<+discordbot> It's an IDEA. 20180504 00:31:40<+discordbot> I know it needs improvement 20180504 00:31:44< celticminstrel> So basically you don't know. 20180504 00:31:47< celticminstrel> Got it. 20180504 00:31:52<+discordbot> why don't you people help me improve it 20180504 00:31:56< celticminstrel> You could've just said that though. 20180504 00:31:56<+discordbot> instead of rejecting it 20180504 00:32:01<+discordbot> Presumably it could be some kind of tooltip 20180504 00:32:05< celticminstrel> I didn't reject it, I just asked a simple question. 20180504 00:32:15<+discordbot> Or an element elsewhere unveiled by hovering 20180504 00:32:29< celticminstrel> Keep in mind that the game already extensively uses tooltips. 20180504 00:32:47<+discordbot> The current theme, sure 20180504 00:32:50< celticminstrel> So moving info that currently is always visible into a tooltip likely means more cluttered tooltips. 20180504 00:33:06< celticminstrel> Unless that info can also be moved somewhere else, but how likely is that? 20180504 00:33:15<+discordbot> given most of the UI there is translucent, can they be dragged around? 20180504 00:33:25< celticminstrel> ... 20180504 00:33:28<+discordbot> You also already are hovering over the unit to see even that overlay 20180504 00:33:29<+discordbot> that'd be neat 20180504 00:33:33<+discordbot> having tooltips turn up the instant you hover over something ends up being really annoying 20180504 00:34:23<+discordbot> having draggable UI elements is also extremely useful (or at least a setting to choose where to place them) 20180504 00:34:36<+discordbot> Vultraz should know this, being a dota player 20180504 00:34:57< celticminstrel> That's also a good argument for a customizable ThemeUI in the vein of the current one. 20180504 00:35:06< celticminstrel> I mean the framework, not the theme itself. 20180504 00:35:18< celticminstrel> Obviously it has some problems, but the general idea is good. 20180504 00:35:29<+discordbot> dota doesn't have a draggable UI... 20180504 00:35:38<+discordbot> it doesn't, but you know the "minimap on left or right" thing 20180504 00:35:42<+discordbot> that's it 20180504 00:35:51<+discordbot> yah, but with a design like this 20180504 00:36:15<+discordbot> so for example putting the ToD on the bottom left doesn't sit well with me 20180504 00:36:20<+discordbot> but maybe it's fine for some people 20180504 00:36:38< celticminstrel> ToD on the bottom left is kinda weird, to me it'd make more sense at the top. 20180504 00:36:43<+discordbot> exactly 20180504 00:36:48<+discordbot> but this is only one example 20180504 00:37:03<+discordbot> someone will make a case for each of the other elements 20180504 00:37:16<+discordbot> so if it's customizable, then they can just fix it themselves 20180504 00:37:19<+discordbot> I don't really like it there either 20180504 00:37:22<+discordbot> I imagine that's why it's a mockup, all the specific positions aren't finalised yet 😃 20180504 00:37:24< celticminstrel> Which is why we need to retain the customizability of the ThemeUI. 20180504 00:37:25<+discordbot> sure 20180504 00:37:38<+discordbot> I'm sure Vultraz's new theme has some merits 20180504 00:37:41<+discordbot> customizability is possible 20180504 00:37:46<+discordbot> but it's secondary 20180504 00:37:49<+discordbot> I'd just personally feel a lot better when all the information is in there too 20180504 00:37:56<+discordbot> since it's, as Vultraz pointed out 20180504 00:38:01<+discordbot> I mean, I really like the idea of having the attack icon visible, if space can be found 20180504 00:38:02<+discordbot> missing half the stuff right now, even as a mockup 20180504 00:38:29<+discordbot> But this orientation is going to really really struggle to hold as much information as a sidebar without bloating 20180504 00:38:38<+discordbot> I need to consult LordBob 20180504 00:38:52<+discordbot> who knows, I might even be forced to return to a sidebar with floating elements for other stuff 20180504 00:39:02<+discordbot> that's why I also agree with celticminstrel, offering the classic theme is probably am ust 20180504 00:39:12< celticminstrel> Probably what? 20180504 00:39:19< celticminstrel> Oh, misplaced space. 20180504 00:39:29<+discordbot> oops 20180504 00:39:29<+discordbot> You know I'm not a fan of LotI bloat, but can you imagine how much a wrench this design would eat from those units? 20180504 00:39:44<+discordbot> I really don't care about LotI at all 20180504 00:39:48<+discordbot> You should. 20180504 00:39:49<+discordbot> it's a bloated ugly mess 20180504 00:39:53< celticminstrel> We're not asking you, Vultraz, to create or maintain the classic theme, only to include it. 20180504 00:40:14<+discordbot> alright 20180504 00:40:17<+discordbot> maybe 20180504 00:40:25<+discordbot> but certainly not the classic classic theme 20180504 00:40:35<+discordbot> the one in 1.14 is fine 20180504 00:40:41<+discordbot> to include I mean 20180504 00:40:54< celticminstrel> Fair enough, it'd be a little weird to have two classic themes, because we'd have to decide what to call them. 20180504 00:40:56<+discordbot> with some tweaks here and there 20180504 00:41:13<+discordbot> Classic and True Classic 20180504 00:41:51<+discordbot> Classic 2000 and Classic XP 20180504 00:41:54<+discordbot> 😐 20180504 00:41:58<+discordbot> jumps off a cliff 20180504 00:42:00<+discordbot> 😂 20180504 00:42:22< celticminstrel> XD What 20180504 00:43:21<+discordbot> Der ner ner nuh 20180504 00:46:27<+discordbot> attack range: customizable (this is used by a lot of modern combat mods) attack type: see above attack damage: already as condensed as possible attack name: less necessary with an icon attack specials: 0+, usually only one but in RPG mods often multiple 20180504 00:46:48<+discordbot> Look, I suppose I shouldn't act like the current/old design are horrible. They're not, but UI design is something I really care about and the idea of having people just use the old one after we'll probably have put effort into the new design is just... sad. 20180504 00:47:29< Ravana_> I think mp lobby design should be finished before going after ingame design 20180504 00:47:50<+discordbot> What's wrong with the MP lobby 20180504 00:47:53<+discordbot> Heh. 20180504 00:47:59<+discordbot> Did you not see the screenshot 20180504 00:48:20<+discordbot> It doesn't draw right at normal resolutions 20180504 00:48:27<+discordbot> meanwhile some people like the old design and get really annoyed when you change the UI "for no reason" 20180504 00:48:35<+discordbot> I don't care about that 20180504 00:48:43<+discordbot> About what 20180504 00:48:52<+discordbot> if you say that about everything, you'll end up alienating people 20180504 00:48:55<+discordbot> If people say a change was done for "no reason" 20180504 00:49:15<+discordbot> "If it ain't broke, don't fix it" is an all-too-ignored mantra 20180504 00:49:34<+discordbot> Because it implies things should never change 20180504 00:49:52<+discordbot> Things should not change unless there is legitimate cause. 20180504 00:50:14<+discordbot> I feel there is a legitimate cause 20180504 00:50:20<+discordbot> As for the MP lobby 20180504 00:50:25<+discordbot> I really don't know what to do with it 20180504 00:50:33<+discordbot> in many respects GUI2 is a broken, badly-designed monster 20180504 00:50:47<+discordbot> there are things about it that are fundamentally broken at the design level 20180504 00:50:56< Ravana_> #2996, #2995, #2789, #2538 those lobby issues I have personally reported 20180504 00:51:52<+discordbot> I can't fix everything 20180504 00:52:09<+discordbot> jyrki is the only other person who has worked with me on the GUI2 internals 20180504 00:52:28< Ravana_> agreed, but asking "What's wrong with the MP lobby" implies you believe there is no problem 20180504 00:52:49<+discordbot> That is only so if you object to the overall design 20180504 00:53:04<+discordbot> Expending significant effort on a redesigned HUD indicates that fixing lobby issues is less pressing 20180504 00:53:07<+discordbot> I can probably deal with the scrollbar by ditching the inline join/observe buttons 20180504 00:53:29< celticminstrel> Didn't I work on GUI2 stuff a little? 20180504 00:53:30<+discordbot> the HUD would probably be easier 20180504 00:53:39<+discordbot> celmin: well, yes, you did the schema 20180504 00:53:45< celticminstrel> That's not what I meant... 20180504 00:54:02<+discordbot> you did... 20180504 00:54:04<+discordbot> the uh 20180504 00:54:06<+discordbot> advancement dialog 20180504 00:54:30<+discordbot> This is a real issue. 20180504 00:54:30<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441764522810802196/unknown.png 20180504 00:55:49<+discordbot> I have an idea how to fix that 20180504 00:56:02<+discordbot> it's something that should be one goddamn line but of course 20180504 00:56:06<+discordbot> IT'S NOT 20180504 00:56:23<+discordbot> it's one of GUI2's core deficiencies in design. 20180504 00:56:39<+discordbot> also, a lot of these size issues are because we don't scale UI elements at all 20180504 00:56:45<+discordbot> we demand x space for them 20180504 00:56:58<+discordbot> and then expect x space be available in terms of window size 20180504 00:57:22<+discordbot> I mean that's fine, there's one element here that needs fixed width 20180504 00:57:34<+discordbot> But the fixed width got applied to the other side 20180504 00:57:38<+discordbot> no, it didn't 20180504 00:57:45<+discordbot> nothing in that screenshot is fixed with 20180504 00:57:48<+discordbot> width* 20180504 00:58:08<+discordbot> That would seem to contradict what you just said. 20180504 00:58:54<+discordbot> the left column has grow priority 20180504 00:59:17<+discordbot> and labels will, for some unknowable reason, expand laterally first 20180504 00:59:40<+discordbot> why does the wrong column have grow priority 20180504 01:01:03<+discordbot> IIRC to work around an issue with relayouts caused by the changing description label 20180504 01:02:21<+discordbot> So what's your proposed solution? Spending a year building GUI3? 20180504 01:02:45<+discordbot> also 20180504 01:02:55<+discordbot> even if i give the roght column grow priotiy 20180504 01:02:58<+discordbot> right* priorit* 20180504 01:03:00<+discordbot> it doesn't work 20180504 01:03:30<+discordbot> because the god-damn label says NO, I WANT AS MUCH WIDTH AS POSSIBLE 20180504 01:03:34< celticminstrel> I guess the issue there is all the empty space, yes? 20180504 01:03:51< celticminstrel> So just make the label accept less width? 20180504 01:03:56<+discordbot> there's a maximum_width label as part of the text canvas shape 20180504 01:04:09<+discordbot> but that's set to the value of the WFL variable text_maximum_width 20180504 01:04:17<+discordbot> which is calculated by the pango_text engine 20180504 01:05:34<+discordbot> which somehow relates to widget definition settings 20180504 01:05:42<+discordbot> which is another design failing in GUI2 20180504 01:05:57<+discordbot> that you need a whole new widget definition to change even god-damn setting 20180504 01:06:18< celticminstrel> That doesn't seem like a big problem TBH. 20180504 01:06:44< celticminstrel> Admittedly there are a few things you might want to change without making a new definition, such as font size, but... 20180504 01:06:51<+discordbot> So did you consider just throwing a few partialresolution's at it? 20180504 01:07:11< celticminstrel> You mean implementing them in GUI2? 20180504 01:07:13<+discordbot> that wouldn't help 20180504 01:08:02<+discordbot> What about maxwidthing the whole left col? 20180504 01:08:43<+discordbot> Setting maxwidth on a text field isn't normal operation in this sort of UI design 20180504 01:08:51<+discordbot> we have no way to specify max width for a column 20180504 01:08:59<+discordbot> there's min width 20180504 01:09:01<+discordbot> and fixed width 20180504 01:09:11<+discordbot> which doesn't even work all the time 20180504 01:09:14<+discordbot> as evidenced by the lobby 20180504 01:10:23< celticminstrel> Then min-width the right column? 20180504 01:10:52< celticminstrel> You'd need to be able to specify it as a percentage though, can you do that? 20180504 01:11:49<+discordbot> I don't think so 20180504 01:12:01<+discordbot> or, actually, no, you probably can... 20180504 01:12:03<+discordbot> but ... 20180504 01:12:06<+discordbot> did I do the thing... 20180504 01:12:09<+discordbot> I can't remember 20180504 01:12:13<+discordbot> no, i didn't do the thing 20180504 01:12:20<+discordbot> but is the thing relevant to this thing? 20180504 01:17:36<+discordbot> @pydsigner why should i not set max width for the description? 20180504 01:18:01<+discordbot> Because you want it to fill that column 20180504 01:18:21<+discordbot> using a max text width would allow the right column to grow and fil the spacpe 20180504 01:18:22<+discordbot> If you max-width the text and not the col, you'll just have a massive fake column gap 20180504 01:18:37<+discordbot> because the column wouldn't grow past the text 20180504 01:18:42<+discordbot> the text is the thing shoving it 20180504 01:19:11<+discordbot> If you have functional maxwidth, restricting the col gives you the text width for free 20180504 01:19:34<+discordbot> but I CAN'T DO YHAT 20180504 01:20:26<+discordbot> I can't even use characters_per_line because scroll labels are different from labels and the former doesn't accept all the keys of the latter god dammit 20180504 01:20:39<+discordbot> fucking scroll labels. 20180504 01:21:06<+discordbot> let me see if I can change the builder 20180504 01:21:42<+discordbot> ok, no, but I should be able to forward it.. 20180504 01:23:48<+discordbot> sigh 20180504 01:23:50<+discordbot> probably not 20180504 01:23:55<+discordbot> I 20180504 01:23:55<+discordbot> hate 20180504 01:23:56<+discordbot> this 20180504 01:26:05<+discordbot> @pydsigner ftr, this is why I dislike it when you guys come around demanding I fix some window or element 20180504 01:26:12<+discordbot> if I knew how, I'd have done it already 20180504 01:26:20<+discordbot> I care about the UI enough for that 20180504 01:27:17<+discordbot> It's a suggestion of redirection of effort. 20180504 01:27:36<+discordbot> but I'm working with one of the most insufficiently-designed UI toolkit in history 20180504 01:28:29<+discordbot> all indication is that mordante had begun a rework of several core systems after realizing their deficiencies 20180504 01:28:31<+discordbot> but then he LEFT 20180504 01:29:09<+discordbot> leaving us with a half-baked mess that I've had to struggle to work with for the past few years 20180504 01:31:07<+discordbot> also 20180504 01:31:08<+discordbot> ftr 20180504 01:31:22<+discordbot> if you think a GUI3 would take only a year.. 20180504 01:31:23<+discordbot> man... 20180504 01:31:25<+discordbot> that's funny 20180504 01:31:30<+discordbot> it would take 10 20180504 01:32:10<+discordbot> I wish it would only take a year 20180504 01:32:13<+discordbot> that would be a miracle 20180504 01:34:17<+discordbot> ok why the hell did we make 1024x768 the recommended resolution 20180504 01:34:20<+discordbot> it should be 1280 20180504 01:34:33<+discordbot> 1024x768 is not 16x9 20180504 01:35:15<+discordbot> @Ravana would removing the inline Join/Observe buttons be acceptable 20180504 01:39:28<+discordbot> though that would only work around the problem 20180504 01:39:31<+discordbot> notentirely fixit 20180504 01:40:00<+discordbot> because the god-damn truncate code doesn'twork 20180504 01:41:52<+discordbot> because of the layout engine 20180504 01:42:17<+discordbot> it decides it wants to expand to fit text 20180504 01:42:26<+discordbot> EVERYTHING ELSE BE DAMNED 20180504 01:43:02<+discordbot> I think mordante was working on this 20180504 01:43:08<+discordbot> via the requestreduce* stuff 20180504 01:43:13<+discordbot> but he never finished it 20180504 01:55:48<+discordbot> .... 20180504 01:56:25<+discordbot> ok whew 20180504 01:56:31<+discordbot> wait 20180504 01:57:50<+discordbot> whew 20180504 01:57:57<+discordbot> side colors are not stored by number 20180504 01:57:58<+discordbot> good 20180504 01:57:58< Ravana_> can be removed, as long as way to observe remains somewhere even when game has empty slots 20180504 01:59:40<+discordbot> yeah there's still the other observe button 20180504 02:02:21<+discordbot> BREATHES 20180504 02:08:43< irker106> wesnoth: Charles Dang wesnoth:1.14 9dc1dd46557a / changelog.md data/gui/window/lobby_main.cfg src/gui/dialogs/multiplayer/lobby.cpp: MP Lobby: removed individual Join/Observe buttons for each game https://github.com/wesnoth/wesnoth/commit/9dc1dd46557a631b3cf0442f2cd7347fdb594bb8 20180504 02:08:46< irker106> wesnoth: Charles Dang wesnoth:1.14 25228db7ff36 / src/gui/widgets/chatbox.cpp: GUI2/Chatbox: fixed close button being shown for lobby tab when reloading log https://github.com/wesnoth/wesnoth/commit/25228db7ff36251cdbd903e75a4fd870f464e102 20180504 02:09:58< irker106> wesnoth: Charles Dang wesnoth:master ffe71c5157c2 / changelog.md data/gui/window/lobby_main.cfg src/gui/dialogs/multiplayer/lobby.cpp: MP Lobby: removed individual Join/Observe buttons for each game https://github.com/wesnoth/wesnoth/commit/ffe71c5157c2df1f857b3ea999efdd533a514ecc 20180504 02:10:01< irker106> wesnoth: Charles Dang wesnoth:master 65a554f41d39 / src/gui/widgets/chatbox.cpp: GUI2/Chatbox: fixed close button being shown for lobby tab when reloading log https://github.com/wesnoth/wesnoth/commit/65a554f41d39aa89e6e37b8cd73e1ae3063d6107 20180504 02:10:27<+discordbot> Hmm just found out that reloading does not affect GUI stuff lol 20180504 02:10:32<+discordbot> Time to undo a few things 20180504 02:10:36<+discordbot> what? 20180504 02:10:44<+discordbot> You have to actually restart the game 20180504 02:10:46<+discordbot> what are you doing 20180504 02:10:47<+discordbot> yes 20180504 02:11:19<+discordbot> Proof of concept 20180504 02:11:19<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441783852961234944/unknown.png 20180504 02:11:30<+discordbot> um 20180504 02:11:34<+discordbot> what the hell have you done 20180504 02:11:40<+discordbot> that looks hideous 20180504 02:11:55<+discordbot> Of course it does 20180504 02:12:09<+discordbot> I tried a whole bunch of things that seemed like they weren't affecting anything 20180504 02:12:14<+discordbot> So I cranked them up to 11 20180504 02:12:34<+discordbot> it looks like you used a label and not a scroll label too 20180504 02:13:01<+discordbot> That's because I did 20180504 02:13:09<+discordbot> you don't know what you're doing 20180504 02:13:21<+discordbot> you CANNOT USE A label 20180504 02:14:14<+discordbot> you can probably get away with it because there's a long description and a lot of space 20180504 02:14:21<+discordbot> but as soon as there ISN'T 20180504 02:14:25<+discordbot> then the description will be cut off 20180504 02:14:30<+discordbot> unless you use invalidate_layout 20180504 02:14:38<+discordbot> which is cancer 20180504 02:15:05<+discordbot> Or unless you, ah, use a scrollbar_panel 20180504 02:15:08<+discordbot> also, you didn't use horizontal_grow 20180504 02:15:59<+discordbot> a scrollbar_panel is the exact same thing as a scroll_label 20180504 02:16:07<+discordbot> except the scroll label has an embedded label 20180504 02:16:33<+discordbot> Which means if you put a label in a scrollbar_panel, you can actually tweak label attributes 20180504 02:16:34<+discordbot> itsnot a bad idea, though 20180504 02:16:58<+discordbot> you can still tweak them via the scroll label 20180504 02:17:06<+discordbot> you jut need to expose them on the engine side 20180504 02:17:32<+discordbot> which is annoying as hell 20180504 02:17:38<+discordbot> but it's the least of our problems 20180504 02:18:23<+discordbot> characters_per_line is also horrible 20180504 02:18:24<+discordbot> and broken 20180504 02:18:31<+discordbot> (in some contexts) 20180504 02:18:38<+discordbot> and should be removed 20180504 02:18:58 * celticminstrel hugs Vultraz cause he sounds like he needs it. 20180504 02:19:04<+discordbot> sighs 20180504 02:19:05<+discordbot> thanks 20180504 02:19:10<+discordbot> this is fucking stressful 20180504 02:19:24<+discordbot> > I can't even use characters_per_line because scroll labels are different from labels and the former doesn't accept all the keys of the latter 20180504 02:19:45<+discordbot> I can't use it because it hasn't been configured to accept it and it doesn't do so natively 20180504 02:20:02<+discordbot> scroll_label should inherit from label 20180504 02:20:05<+discordbot> but it doesn't 20180504 02:20:07<+discordbot> My point is you already have a solution to that which is to not use a scroll_label 20180504 02:20:11< celticminstrel> It can't. 20180504 02:20:13< celticminstrel> Probably. 20180504 02:20:20<+discordbot> scroll_label should not inherit from label 20180504 02:20:22< celticminstrel> Because it inherits from scrollbar_panel or something. 20180504 02:20:32<+discordbot> Inheriting from scroll_container is the correct behavior 20180504 02:20:40< celticminstrel> Yeah that one. 20180504 02:20:42<+discordbot> when did you become the expert in all this 20180504 02:20:56<+discordbot> you've never worked with any of this before 20180504 02:21:11<+discordbot> not saying you're wrong 20180504 02:21:18< celticminstrel> Maybe the scroll_label builder could inherit from the label builder though? Not sure. 20180504 02:21:39<+discordbot> no, it can't 20180504 02:21:45<+discordbot> because of the way builders work 20180504 02:22:03<+discordbot> unless I use the label builder to initialize the scrol_label's label... 20180504 02:22:05<+discordbot> that might work 20180504 02:22:07<+discordbot> 😐 20180504 02:22:37<+discordbot> @pydsigner look, in a perfect world, I'd be able to center the game list column and have everything else sized around that 20180504 02:22:42<+discordbot> but it's impossible 20180504 02:22:48<+discordbot> you cannot specify origin 20180504 02:22:49<+discordbot> Trying to cram all the characteristics of two widgets into one is going to be problematic 20180504 02:23:33<+discordbot> coordinate customization is one thing the old theme system had that was somewhat good 20180504 02:23:37<+discordbot> it was done badly 20180504 02:23:38<+discordbot> very badly 20180504 02:23:43<+discordbot> but the idea wasn't bad 20180504 02:26:20<+discordbot> I can't use a custom label defintion for this either 20180504 02:26:24<+discordbot> since it needs to be variable 20180504 02:27:15<+discordbot> celmin: would you object if i removed the user list from the MP server 20180504 02:27:18<+discordbot> er 20180504 02:27:19<+discordbot> mp lobby 20180504 02:27:24<+discordbot> except people in the selected game 20180504 02:27:26< celticminstrel> I imagine we could implement a "canvas widget" (or whatever you want to call it) that handles positioning similar to the old theme system. 20180504 02:27:35< celticminstrel> Uh. 20180504 02:27:41< celticminstrel> Why would you remove the user list? 20180504 02:27:55<+discordbot> because games don't usually show everyone in a lobby 20180504 02:27:59<+discordbot> well 20180504 02:28:00<+discordbot> they do 20180504 02:28:04< celticminstrel> ... 20180504 02:28:06<+discordbot> but lobbies are indidivual games 20180504 02:28:15< celticminstrel> "because other games do this" is not really a reason IMO. 20180504 02:28:21<+discordbot> what we call staging is really the lobby 20180504 02:28:26< celticminstrel> Personally I think it should stay. 20180504 02:28:32< celticminstrel> No, what we call the lobby is the lobby. 20180504 02:28:39< celticminstrel> That's why it's called the lobby, 20180504 02:28:52<+discordbot> I suppose i could revert to a listbox 20180504 02:28:55<+discordbot> a do some sorting 20180504 02:28:56< celticminstrel> Just because the lobby is different in "other games", that doesn't mean our lobby is a fake lobby. 20180504 02:29:00<+discordbot> but that wouldn't look great 20180504 02:29:20< celticminstrel> It's a tree view, right? If the issue is space, you could always make it be collapsed by default, couldn't you? 20180504 02:29:25<+discordbot> since there's no way to delimitate sections in a listbox 20180504 02:29:33<+discordbot> the issue is that it jumps to the top 20180504 02:29:36<+discordbot> every time its updated 20180504 02:29:42< celticminstrel> BTW did you see the person asking for games with vacancies to be hilited more clearly? 20180504 02:29:48<+discordbot> which is something that was fixed for listboxes not but tree views 20180504 02:29:54<+discordbot> I did not 20180504 02:30:16<+discordbot> how much clearer can they get... 20180504 02:30:20<+discordbot> there's a giant green label 20180504 02:30:20<+discordbot> 😐 20180504 02:30:24< celticminstrel> Hmm? 20180504 02:30:34<+discordbot> "Vacant Slots x/x" 20180504 02:30:34< celticminstrel> I thought they were complaining that that was missing. 20180504 02:30:46< celticminstrel> Or I dunno, read their post yourself I guess. 20180504 02:31:17<+discordbot> where? 20180504 02:31:57< celticminstrel> Announcement thread 20180504 02:32:27-!- Necrosporus [~Necrospor@unaffiliated/necrosporus] has quit [Ping timeout: 255 seconds] 20180504 02:33:10<+discordbot> hm 20180504 02:33:12<+discordbot> I SEEE 20180504 02:33:15-!- Necrosporus [~Necrospor@unaffiliated/necrosporus] has joined #wesnoth-dev 20180504 02:33:15<+discordbot> sees 20180504 02:38:00<+discordbot> celmin do you know the code for cyan 20180504 02:38:21< celticminstrel> Cyan is the secondary colour consisting of green and blue. 20180504 02:38:27< celticminstrel> (In the RBG colour space at least.) 20180504 02:38:36< celticminstrel> So, 00ffff I guess? 20180504 02:38:44<+discordbot> ah 20180504 02:38:53< celticminstrel> But to get an actually nice cyan you could maybe tweak the values a bit. 20180504 02:39:00<+discordbot> 0, 255, 255 then 20180504 02:39:03< celticminstrel> Yes yes 20180504 02:39:11< celticminstrel> Or something close to that at least. 20180504 02:45:00<+discordbot> celmin 20180504 02:45:06<+discordbot> do you think i shold use pango green 20180504 02:45:13< celticminstrel> I don't know. 20180504 02:45:24<+discordbot> the lobby is currently using pango green 20180504 02:45:30<+discordbot> pondering if i should use 0,255,0 green 20180504 02:46:02<+discordbot> this looks a little 20180504 02:46:08<+discordbot> too much 20180504 02:46:08<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441792613717377026/unknown.png 20180504 02:46:35<+discordbot> giff thoughts 20180504 02:47:18< celticminstrel> It looks fine to me. 20180504 02:47:26< celticminstrel> It should be kinda bright IMO. 20180504 02:47:38<+discordbot> lot bridgter than before 20180504 02:48:19<+discordbot> i mean, you can see the comparison on the forums 20180504 02:49:38<+discordbot> @Vultraz Haldric wip for lvl 0 20180504 02:49:43<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441793520798400523/haldric0.png 20180504 02:50:05<+discordbot> I haven't drawn the wooden sword yet, but that's the body I have 20180504 02:50:15<+discordbot> hm 20180504 02:50:18<+discordbot> with some shading to fix 20180504 02:50:19<+discordbot> the legs are weird 20180504 02:50:25<+discordbot> yep 20180504 02:50:32<+discordbot> I've got to iron those out 20180504 02:50:48<+discordbot> point is, is there potential? 20180504 02:51:09<+discordbot> ehhhhh 20180504 02:51:26<+discordbot> alright, guess I'm not drawing haldric then lol 20180504 02:51:45< celticminstrel> I don't like it that much either. 20180504 02:52:09<+discordbot> yeah, I think it's just... 20180504 02:52:12<+discordbot> it's ok but 20180504 02:52:16<+discordbot> not good enough 20180504 02:52:25<+discordbot> it's true, I'm not a visual artist 20180504 02:52:44< celticminstrel> Does that mean you're a non-visual artist? 20180504 02:52:51<+discordbot> I write music and stories 20180504 02:52:58< celticminstrel> Huh, same as me. 20180504 02:53:29<+discordbot> I am confident enough in my writing abilities to say that I'm professional level 20180504 02:53:37<+discordbot> music not as much, passable 20180504 02:53:39<+discordbot> ok write new utbs 20180504 02:53:40<+discordbot> 😛 20180504 02:53:50<+discordbot> if you're willing to let me do it 20180504 02:53:54<+discordbot> and you're willing to pay a fee, I will 20180504 02:53:58<+discordbot> the fee would not be large 20180504 02:54:22<+discordbot> oh ffs. now when I want to test a change that involves an open game there are no open game 20180504 02:54:24<+discordbot> s 20180504 02:54:46<+discordbot> right now UtBS is a little bit messy in writing 20180504 02:54:55<+discordbot> so it should get rewritten sometime 20180504 02:55:07<+discordbot> @Yumi it depends on what you'd do with it 20180504 02:55:11<+discordbot> btw, is there a slight chance that the young li'sar picture gets reused somewhere :D? i kinda miss it :< 20180504 02:55:23<+discordbot> I can do whatever you want with it 20180504 02:55:34<+discordbot> ........if you mean the old anime-looking one then absolutely not 20180504 02:55:53<+discordbot> And that is not up for discussion 20180504 02:56:18<+discordbot> what I mean by my above statement is that if you want me to rewrite it drastically 20180504 02:56:22<+discordbot> I can do that 20180504 02:56:31<+discordbot> otherwise I can just polish all the writing 20180504 02:56:59<+discordbot> if I said rewrite it drastically 20180504 02:57:02<+discordbot> what would you do 20180504 02:57:05<+discordbot> aw.. 20180504 02:57:13<+discordbot> I would use the current storyline as a framework 20180504 02:57:28<+discordbot> and redo most of the dialogue 20180504 02:57:40<+discordbot> I guess it would depend on if you're planning to change the events in each scenario as well 20180504 02:57:57<+discordbot> i.e. do I rewrite according to event changes, or do I rewrite first and then events change accordingly 20180504 02:58:06<+discordbot> latter of course 20180504 02:58:19<+discordbot> ooooh now you're talking 20180504 02:58:31<+discordbot> in that case I'm flexible 20180504 02:58:37<+discordbot> I can keep each scenario roughly the same 20180504 02:59:21<+discordbot> or have some of them have some amount of overhaul (even up to complete overhaul) 20180504 02:59:34<+discordbot> Honestly 20180504 02:59:35<+discordbot> however the overall plot would stay the same 20180504 02:59:45<+discordbot> since that is the core of UtBS and I don't want to change that 20180504 03:00:08<+discordbot> You could redo the whole damn thing, maps and app, as long as you keep the characters and general framework of "elves get their home destroyed and go find a new land where they kill Eloh" 20180504 03:00:20<+discordbot> are you asking me to write the scenario code too? 20180504 03:00:22<+discordbot> all* 20180504 03:00:53<+discordbot> as in design the scenarios as well 20180504 03:01:06<+discordbot> though you would probably keep the scenarios... somewhat the same 20180504 03:01:07<+discordbot> I can certainly draw the maps, but that wouldn't be free either 20180504 03:01:12<+discordbot> or coordinate with lordbob 20180504 03:01:19<+discordbot> he's going to be doing story art 20180504 03:01:29<+discordbot> (not the same as TRoW, a unique thing) 20180504 03:01:38<+discordbot> is there a timeframe on that? 20180504 03:01:44<+discordbot> not really 20180504 03:01:51<+discordbot> so you don't know when he's planning to get to it 20180504 03:02:16<+discordbot> alright 20180504 03:02:44<+discordbot> probably soon 20180504 03:02:48<+discordbot> perhaps a DM is better for this sort of thing 20180504 03:02:53<+discordbot> do you mind if I ask a couple questions? 20180504 03:03:15<+discordbot> of whom 20180504 03:03:20<+discordbot> of you 20180504 03:03:25<+discordbot> sure 20180504 03:27:47<+discordbot> @Vultraz Back in the day using named colours meant that Wesnoth would display text differently on different Pango versions, for the record. That's why I never used named colours again. 20180504 03:28:02<+discordbot> it's stillthe case 20180504 03:28:32<+discordbot> I mean colour-wise. 20180504 03:28:44<+discordbot> oh 20180504 03:28:47<+discordbot> For example green was middle green on one version and lime green on another. 20180504 03:28:54<+discordbot> that actually appears to also still be th ecase 20180504 03:29:10<+discordbot> my green is different from the green in that guy's screenshot 20180504 03:29:34<+discordbot> That could be due to AA artifacts if the difference isn't too great. 20180504 03:34:27<+discordbot> @Vultraz We might not necessarily want a string freeze but I strongly suggest that you at least allow us to pot update as soon as the new registration instructions/button for the MP server are in so that translators have a chance to translate those strings at the very minimum before the next release. 20180504 03:35:09<+discordbot> I'd also suggest that the string count in data is not updated (i.e. the update is discarded during the pot update). 20180504 03:42:43<+discordbot> agreed to both 20180504 03:49:38-!- shiki [~Shiki@p5485475B.dip0.t-ipconnect.de] has joined #wesnoth-dev 20180504 03:49:39-!- sevu [~Shiki@p548556F0.dip0.t-ipconnect.de] has quit [Disconnected by services] 20180504 03:51:34<+discordbot> The backported string changes in the Tutorial will mean that all laguages other than English will have the Tutorial not fully translated 20180504 03:57:20<+discordbot> I'll note that for Steam it might prove convenient to update translations out of band. 20180504 03:57:40<+discordbot> Since those can be compiled separately. 20180504 03:58:53< celticminstrel> Well that's finally done. 20180504 03:59:11< celticminstrel> Changed a hundred or so passwords due to the Twitter thing. 20180504 03:59:20<+discordbot> (No idea about how much extra work for loonycyborg and hrubymar my suggestion would entail though.) 20180504 03:59:27<+discordbot> a HUNDRED? 20180504 03:59:28<+discordbot> celticminstrel why were you using your Twitter password everywhere? 20180504 03:59:51<+discordbot> Also, GitHub had a similar issue funnily enough. 20180504 03:59:59< celticminstrel> I counted Twitter as one of the unimportant accounts. 20180504 04:00:06<+discordbot> ..................... 20180504 04:00:06<+discordbot> https://www.zdnet.com/article/github-says-bug-exposed-account-passwords/ 20180504 04:00:17< irker106> wesnoth/wesnoth:master Nils Kneuper c19590fc45 updated Galician translation AppVeyor: All builds passed 20180504 04:00:20< celticminstrel> So I just used the same password as I used for all the other unimportant accounts. 20180504 04:00:30<+discordbot> you fool 20180504 04:00:38<+discordbot> I'd rather use an offline password manager in that case. 20180504 04:00:39< celticminstrel> FTR, importance was primarily gauged by whether they stored financial information. 20180504 04:00:48<+discordbot> (And no I don't trust online password managers.) 20180504 04:00:49< celticminstrel> I am using an offline password manager. 20180504 04:01:04<+discordbot> I use Chrome's password manager 20180504 04:01:14<+discordbot> That's not a password manager. 20180504 04:01:36<+discordbot> It just remembers your passwords and that's it, it doesn't aid you in generating secure passwords or storing them in a safe format. 20180504 04:01:45<+discordbot> I see 20180504 04:01:51<+discordbot> Uh, it does generate passwords (right-click any password field and "Generate Password") 20180504 04:01:58<+discordbot> oh? 20180504 04:02:02<+discordbot> No idea how it stores them though 20180504 04:02:05<+discordbot> That must be really recent then. 20180504 04:02:40< irker106> wesnoth: Charles Dang wesnoth:1.14 5bf90befc2b2 / src/gui/dialogs/multiplayer/lobby.cpp: MP Lobby: used specific colors instead of pango presets https://github.com/wesnoth/wesnoth/commit/5bf90befc2b294fb91b945c4da4f0e64905c7754 20180504 04:02:43< irker106> wesnoth: Charles Dang wesnoth:1.14 e67f633c4b15 / changelog.md src/gui/dialogs/multiplayer/lobby.cpp: MP Lobby: highlight the titles of MP games with vacant slots https://github.com/wesnoth/wesnoth/commit/e67f633c4b15374ad22a8e98ae06ab74621ac90c 20180504 04:02:52< celticminstrel> Sounds like GitHub at least had the decency to notify the people who were potentially affected. 20180504 04:03:11< celticminstrel> I don't really need help generating secure passwords. 20180504 04:03:15<+discordbot> Twitter has notified me too though. 20180504 04:03:27<+discordbot> My main account was notified through the UI and an alt through email. 20180504 04:03:36< irker106> wesnoth: Charles Dang wesnoth:master 3d158130f4f3 / src/gui/dialogs/multiplayer/lobby.cpp: MP Lobby: used specific colors instead of pango presets https://github.com/wesnoth/wesnoth/commit/3d158130f4f33b518a5e562f85ebc5c182819743 20180504 04:03:39< irker106> wesnoth: Charles Dang wesnoth:master 3e27ccaf1875 / changelog.md src/gui/dialogs/multiplayer/lobby.cpp: MP Lobby: highlight the titles of MP games with vacant slots https://github.com/wesnoth/wesnoth/commit/3e27ccaf1875408552e7aa32058e83b7a47adec5 20180504 04:03:40<+discordbot> I got an notification in the app 20180504 04:03:45< celticminstrel> From what I was reading it sounded like everyone on Twitter the UI alert. 20180504 04:03:50< celticminstrel> ^got 20180504 04:03:58<+discordbot> @Vultraz By the way I went and did a thing. 20180504 04:03:59<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441812206062010368/unknown.png 20180504 04:04:15<+discordbot> 👍 20180504 04:04:23<+discordbot> gud, gud 20180504 04:04:28<+discordbot> (That's re Official Multiplayer Registration.) 20180504 04:12:38-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180504 04:12:45-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180504 04:16:31<+discordbot> somehow i feel I need more than just "A registered account on the wesnoth forums is required to join the official server." 20180504 04:17:33<+discordbot> should be enough? 20180504 04:19:59<+discordbot> not entirely satisfied with this design, but it's what I have right now: 20180504 04:19:59<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441816234728882177/unknown.png 20180504 04:20:17<+discordbot> you might want to capitalize "Wesnoth" 20180504 04:21:04<+discordbot> The placement implies the username will be used in the registration form... 20180504 04:21:35< celticminstrel> https://steamcommunity.com/app/599390/discussions/0/1696046342857300833/ 20180504 04:21:45<+discordbot> yes... but it can't be 20180504 04:21:52< celticminstrel> I assume someone could post a link there. I don't know what it is so I can't. 20180504 04:22:03<+discordbot> I want to check but currently everything on my desktop is lagging out for some reason? 20180504 04:22:07<+discordbot> celticminstrel: http://wesnoth.gamingladder.info/ 20180504 04:22:16<+discordbot> Check if there's a secret GET argument to prefill the username field. 20180504 04:22:31<+discordbot> I... how would I even check that? 20180504 04:22:42<+discordbot> "I’m not sure if this game is even being updated anymore since it was released in 2003 ..." 20180504 04:22:46<+discordbot> I want to do it Vultraz. 20180504 04:22:52<+discordbot> I know you are not fluent in PHP. 20180504 04:22:57<+discordbot> and we really should not advertise the ladder 20180504 04:23:09<+discordbot> their site still uses Glamdrol 20180504 04:23:27-!- shiki [~Shiki@p5485475B.dip0.t-ipconnect.de] has quit [Quit: Verlassend] 20180504 04:23:33<+discordbot> #vultrazlogic 20180504 04:23:38<+discordbot> or if we do, make it clear it's not officially endorsed 20180504 04:24:15< celticminstrel> BTW Vultraz, did you update the credits yet. 20180504 04:24:21<+discordbot> no 20180504 04:24:24<+discordbot> You can come up with real arguments against promoting the ladder. That's not one. 20180504 04:24:24<+discordbot> can you please do it 20180504 04:24:33< celticminstrel> I don't know who needs to be moved. 20180504 04:24:47<+discordbot> Neither do I 20180504 04:24:51< celticminstrel> I also don't have the access to the GitHub project that would allow me to figure out who needs to be moved. 20180504 04:24:55< celticminstrel> You do have that access. 20180504 04:25:33< celticminstrel> Or even if I do have enough access I don't think I'm clear enough on who's who to figure it out. 20180504 04:26:16< celticminstrel> Pretty sure you at least know more than me about who should be counted as a "core" developer. 20180504 04:26:43< celticminstrel> Just read through the credits and/or the GitHub project members list and figure it out. This is not rocket science. 20180504 04:27:05<+discordbot> are you saying I need to add the people with commit access? 20180504 04:27:12< celticminstrel> Some of them certainly. 20180504 04:27:19< celticminstrel> I don't know about all of them. 20180504 04:28:15< celticminstrel> On another note I'll probably merge intl_fixes tomorrow. 20180504 04:28:54<+discordbot> Apparently having a Wesnoth instance suspended after breaking into the debugger causes the file dialogs in KF5 applications to lag out. 20180504 04:29:03<+discordbot> Who the hell knows why. 20180504 04:30:44-!- gallaecio [~quassel@188.79.96.255] has joined #wesnoth-dev 20180504 04:32:14<+discordbot> celmin: in general, if I wanted to sort a list into three discreet sections lexicographically... how would I do that? 20180504 04:32:41<+discordbot> std::partition + std::sort? 20180504 04:33:30<+discordbot> I'm pondering doing away with the tree view 20180504 04:33:34<+discordbot> in favor of a list 20180504 04:33:38<+discordbot> but sorted three ways 20180504 04:33:40<+discordbot> or more 20180504 04:34:36< celticminstrel> I'm unclear on what you mean... 20180504 04:35:28<+discordbot> friends, a-z, then players in lobby, a-z, then players in other games, a-z 20180504 04:36:59< celticminstrel> Ah, what you want is stable sort, then. 20180504 04:37:20<+discordbot> but it needs to be partitioned first 20180504 04:37:25-!- gallaecio_ [~quassel@188.79.96.255] has joined #wesnoth-dev 20180504 04:37:29-!- gallaecio [~quassel@188.79.96.255] has quit [Ping timeout: 260 seconds] 20180504 04:37:33< celticminstrel> Define a comparator that compares by "rank". 20180504 04:37:46<+discordbot> hmmm 20180504 04:37:54< celticminstrel> So friends have the highest rank, then lobby players, then players in other games, etc. 20180504 04:37:58< celticminstrel> Sort by that. 20180504 04:38:02< celticminstrel> No wait. 20180504 04:38:11< celticminstrel> Sort alphabetically first. 20180504 04:38:13< celticminstrel> Then sort by rank, 20180504 04:38:22<+discordbot> ah 20180504 04:38:25<+discordbot> ok that could work yes 20180504 04:38:34< celticminstrel> Doesn't have to be called rank, mind you. 20180504 04:39:14<+discordbot> a 4th category could be the player himself 20180504 04:39:55<+discordbot> or i could fix the scrolling bug 20180504 04:45:17<+discordbot> oh, blah 20180504 04:45:23<+discordbot> i moved to master 20180504 04:45:24<+discordbot> blah 20180504 04:48:25<+discordbot> nope that didn't work 20180504 04:48:30<+discordbot> didn't really thnk it would 20180504 04:48:54-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] 20180504 04:49:17<+discordbot> celmin: what do you think of the node-based user list anyway? 20180504 04:49:22<+discordbot> dota 2 has such a thing 20180504 04:49:37-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20180504 04:49:56-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Client Quit] 20180504 04:50:13-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20180504 04:50:26-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Client Quit] 20180504 04:52:38< irker106> wesnoth: Severin Glöckner wesnoth:1.14 483bae61b56a / src/gui/dialogs/multiplayer/lobby.cpp: Lobby mouseover: rename Gold to Gold per Village https://github.com/wesnoth/wesnoth/commit/483bae61b56a0a133d259c05399cfd347f19303e 20180504 04:52:40< irker106> wesnoth: Severin Glöckner wesnoth:1.14 79c3bb56e18e / po/ (7 files in 7 dirs): update German translation https://github.com/wesnoth/wesnoth/commit/79c3bb56e18e9e25feef80a02bb6019974e46464 20180504 04:53:14<+discordbot> looks like many of the lobby bugs are due to people using too small windows 20180504 04:53:15<+discordbot> 😦 20180504 04:53:31< irker106> wesnoth: Severin Glöckner wesnoth:master 774471ba2916 / src/gui/dialogs/multiplayer/lobby.cpp: Lobby mouseover: rename Gold to Gold per Village https://github.com/wesnoth/wesnoth/commit/774471ba29161e390925388b8258bd04bc701fb2 20180504 04:53:32<+discordbot> How dare people have smaller screen or not keep Wesnoth maximized/fullscreened. 20180504 04:53:55<+discordbot> I hate to say "i told you so" but I told you so. 20180504 04:53:58<+discordbot> oh yeah, why did we keep recommended width 1024 and not 1280? 20180504 04:54:23<+discordbot> 1280 is much more reasonable 20180504 04:54:28<+discordbot> Vultraz. 20180504 04:54:42<+discordbot> That's not going to make those issues magically disappear. 20180504 04:55:00<+discordbot> It's utterly irrelevant. 20180504 04:55:04<+discordbot> it's tangential 20180504 05:04:51<+discordbot> agh 20180504 05:04:57<+discordbot> i dont understand these tooltip formulas at all 20180504 05:05:37<+discordbot> Is "Disconnected from server." good enough for #3005? 20180504 05:05:44<+discordbot> yes 20180504 05:05:50<+discordbot> cpp if(user_msg == "End of file") { user_msg = _("Disconnected from server."); } else { user_msg = _("Connection error: ") + translation::gettext(e.message.c_str()); } 20180504 05:06:04<+discordbot> tfw you need to do a string comparison to get an error message across. 20180504 05:06:07<+discordbot> doesn't it transmit a code? 20180504 05:06:11<+discordbot> No. 20180504 05:06:15<+discordbot> what 20180504 05:06:26<+discordbot> Look at src/wesnothd_connection_error.hpp line 21. 20180504 05:06:38< irker106> wesnoth: Charles Dang wesnoth:1.14 2e09886a562e / changelog.md data/gui/window/lobby_main.cfg: MP Lobby: improved low-resolution layout https://github.com/wesnoth/wesnoth/commit/2e09886a562e358cf569509a49d1f853ca5948f4 20180504 05:07:38<+discordbot> cpp if(const config& error = data.child("error")) { throw wesnothd_error(error["message"]); I assume this is where it's thrown? 20180504 05:07:42<+discordbot> Actually, I guess I should do away with the prefix on the second branch. 20180504 05:07:45<+discordbot> VGETTEXT("The server accepts versions '$required_version', but you are using version '$your_version'", i18n_symbols) 20180504 05:07:54<+discordbot> This is one of the possible values for the exception's message. 20180504 05:08:17<+discordbot> No, that can't be it because the server cannot get a single WML packet across in the particular case #3005 refers to. 20180504 05:08:23<+discordbot> Because it's dead. 20180504 05:08:57<+discordbot> well there are only 3 places a non-hardcoded message is thrown... 20180504 05:09:10<+discordbot> two if you discount the string you just posted 20180504 05:09:19<+discordbot> both come from [error] tags 20180504 05:09:42<+discordbot> one is only called when fetching the game config when joining a game 20180504 05:09:46<+discordbot> There are two subclasses. 20180504 05:10:19<+discordbot> wesnothd_connection_error is probably the one that's being thrown. 20180504 05:10:34<+discordbot> I see 20180504 05:10:48<+discordbot> that's thrown in two places 20180504 05:11:05<+discordbot> I presume wesnothd_connection::receive_data() is the relevant caller. 20180504 05:11:31<+discordbot> It just passes a Boost error code objectg. 20180504 05:11:43<+discordbot> that is what soliton changed that made this error occur 20180504 05:11:43<+discordbot> Actually I guess I could just catch the subclass then. 20180504 05:11:55<+discordbot> the other instance where it is thrown skips EOF (poll()) 20180504 05:12:06<+discordbot> cpp if(err.code() == boost::asio::error::operation_aborted || err.code() == boost::asio::error::eof) { return 1; } 20180504 05:13:13<+discordbot> last_error_ is a boost::system::error_code 20180504 05:13:26<+discordbot> That's what I meant. 20180504 05:13:34<+discordbot> Too bad C++ doesn't allow me to rethrow into the next catch block. 20180504 05:13:58<+discordbot> what do you mean? 20180504 05:14:32<+discordbot> which catch block... 20180504 05:15:20<+discordbot> The one that's in my working tree. 20180504 05:15:35<+discordbot> I'm handling both wesnothd_connection_error and its parent class. 20180504 05:15:48-!- Netsplit *.net <-> *.split quits: nore 20180504 05:16:08<+discordbot> Oh I should use dynamic_cast instead. 20180504 05:16:18<+discordbot> can't you use std::current_exception and std::rethrow_exception 20180504 05:16:24-!- Netsplit over, joins: nore 20180504 05:17:13<+discordbot> http://en.cppreference.com/w/cpp/error/current_exception 20180504 05:17:22<+discordbot> If called during exception handling (typically, in a catch clause), captures the current exception object and creates an std::exception_ptr that holds either a copy or a reference to that exception object (depending on the implementation). The referenced object remains valid at least as long as there is an exception_ptr object that refers to it. 20180504 05:17:26<+discordbot> http://en.cppreference.com/w/cpp/error/rethrow_exception 20180504 05:17:34<+discordbot> Throws the previously captured exception object, referred to by the exception pointer p. 20180504 05:18:00<+discordbot> I don't understand how this helps me? 20180504 05:18:41<+discordbot> I have try { /* ... */ } catch(subclass& e) { /* ... */ } catch(mainclass& e) { /* ... */ } 20180504 05:18:51<+discordbot> The issue is can't rethrow from the first catch block into the second one. 20180504 05:19:12<+discordbot> ohh 20180504 05:19:16<+discordbot> But I don't need to because I can use dynamic_cast instead. 20180504 05:19:20<+discordbot> I see 20180504 05:20:20<+discordbot> does this solve the problem of needing to do string comparison 20180504 05:20:30<+discordbot> Sort of. 20180504 05:20:35<+discordbot> good 20180504 05:20:47<+discordbot> the string comparison would break the moment Boost changed the error message 20180504 05:21:12<+discordbot> (i was going to suggest you store a copy of the error in wesnothd_connection_error for comparison when its caught) 20180504 05:21:14-!- Necrosporus [~Necrospor@unaffiliated/necrosporus] has quit [Ping timeout: 260 seconds] 20180504 05:21:41-!- Necrosporus [~Necrospor@unaffiliated/necrosporus] has joined #wesnoth-dev 20180504 05:22:59-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20180504 05:27:37<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441833257173254144/unknown.png 20180504 05:27:42<+discordbot> Case 1. 20180504 05:30:34<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441833995483742249/unknown.png 20180504 05:30:36<+discordbot> Case 2. 20180504 05:31:02<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441834115105292288/unknown.png 20180504 05:31:11<+discordbot> Case 3 (issue #3005). 20180504 05:31:53<+discordbot> Can the error strings Boost provides be delivered translated? 20180504 05:32:12<+discordbot> As in, when they're cast/constructed into std::string. 20180504 05:32:30<+discordbot> I think for example libc's strerror will honour the selected locale. 20180504 05:32:45<+discordbot> (And LC_MESSAGE in particular.) 20180504 05:34:31<+discordbot> If they are not it'll be a bit jarring to see a message like "Error de conexión: Connection refused" in Spanish (for Vultraz's reference, "Connection refused"/ECONNREFUSED happens when the remote endpoint doesn't have the port you're trying to connect to open, e.g. if the software in question is down or the firewall is confused to reject packets on that port). 20180504 05:36:49<+discordbot> I tried using LC_ALL=es_ES.UTF-8 but I still get "Connection refused" untranslated. 20180504 05:39:43<+discordbot> Also, do we want to keep using transient_message (well, I changed it to transient_error_message in my copy to make it more visible) or change to to show_error_message so it's likely for the player to accidentally dismiss the error message with a click? 20180504 05:40:32<+discordbot> I think I'll still want to handle "End of file" with a string comparison to replace the whole thing with "Disconnected from server.". 20180504 05:40:47<+discordbot> I see nothing matching "Connection refused" or "Connection Error" in the po files 20180504 05:40:59<+discordbot> Yeah, I already said these come from Boost, not Wesnoth. 20180504 05:41:09<+discordbot> (And presumably Boost gets them from libc.) 20180504 05:41:37<+discordbot> And "Connection error: " is a new addition in my working tree. 20180504 05:41:47<+discordbot> This Boost seems to be quite cool 20180504 05:42:00< irker106> wesnoth/wesnoth:1.14 mattsc 67761cfb79 AToTB Chase: add custom AI controlling M AppVeyor: All builds passed 20180504 05:42:23<+discordbot> I'm off for today, good luck with patching 20180504 05:43:31<+discordbot> So this is what I propose: https://pastebin.com/mQ5CUAhN 20180504 05:44:15<+discordbot> Although it'd fall apart if Boost can deliver translated messages that for some reason it won't do on my system despite having es_ES.UTF-8 enabled and the libc translation catalogue for it available. 20180504 05:45:14<+discordbot> (The translation::gettext() call on line 17 is probably utterly pointless either way.) 20180504 05:45:38<+discordbot> I'm looking 20180504 05:46:35-!- gallaecio_ [~quassel@188.79.96.255] has quit [Remote host closed the connection] 20180504 05:47:23<+discordbot> I don't see anything about it being translatable 20180504 05:48:11<+discordbot> @shadowm I still don't see why you can't store the error code in the exception 20180504 05:48:26<+discordbot> That's a good point. 20180504 05:49:31<+discordbot> I've never worked with Boost.System before so let me quickly read up on it... 20180504 05:49:50<+discordbot> https://www.boost.org/doc/libs/1_67_0/libs/system/doc/reference.html 20180504 05:50:05<+discordbot> Can I expect value() to give me an errno value? 20180504 05:50:14<+discordbot> On all supported platforms? 20180504 05:50:32<+discordbot> a what? 20180504 05:50:39<+discordbot> I guess this is a question for whatever Asio code geneates the error_code. 20180504 05:50:46<+discordbot> An errno value. 20180504 05:50:51<+discordbot> what is an errno value 20180504 05:50:54<+discordbot> SIGH. 20180504 05:51:10<+discordbot> http://en.cppreference.com/w/c/error/errno 20180504 05:51:35<+discordbot> And yes, it's also available in the C++ standard library: http://en.cppreference.com/w/cpp/error/errno 20180504 05:51:59<+discordbot> http://en.cppreference.com/w/cpp/error/errno_macros 20180504 05:53:47<+discordbot> "The value of each errc_t constant shall be the same as the value of the macro shown in the above synopsis." 20180504 05:54:02<+discordbot> Where is that from? 20180504 05:54:24<+discordbot> the thing I linked you to 20180504 05:54:43<+discordbot> errc_t is the enum that defines all the codes 20180504 05:54:59<+discordbot> Yeah but the question is whether Asio uses this. 20180504 05:55:19<+discordbot> And more specifically, whether it's guaranteed to use it on all platforms. 20180504 05:55:42<+discordbot> Although, honestly, it's not the end of the world if it doesn't as long as it does on all tier 1s. 20180504 05:56:00<+discordbot> If it does on Linux then it presumably will on macOS, and I can easily test the Windows case using Wine. 20180504 05:56:53<+discordbot> Hmm. 20180504 05:56:55<+discordbot> Actually. 20180504 05:57:59<+discordbot> Apparently the error_code can be boost::asio::error::eof. 20180504 05:58:05<+discordbot> That's definitely not an errno constant. 20180504 05:59:08<+discordbot> you can construct an error_code from any int value 20180504 05:59:18<+discordbot> But something converts it to a string. 20180504 05:59:45<+discordbot> The message() member method it has. 20180504 06:00:08<+discordbot> it grabs it from error_category 20180504 06:00:10<+discordbot> It has to pull that message from somewhere, because it's not part of the error_code constructor. 20180504 06:00:11<+discordbot> Oh. 20180504 06:01:02<+discordbot> I see. 20180504 06:01:07<+discordbot> message() is a wrapper for category().message( value()) 20180504 06:01:18<+discordbot> You know this makes the whole thing increasingly flimsier? 20180504 06:01:33<+discordbot> The string comparison might actually turn out to be the best solution in the long term ironically enough. 20180504 06:02:02<+discordbot> I though we only wanted to detect EOF 20180504 06:02:12<+discordbot> why can't we just match against asio::eof 20180504 06:02:19<+discordbot> I thought about handling "Connection refused" too. 20180504 06:02:28<+discordbot> Also, Asio isn't a dependency of the code unit that needs to handle this exception. 20180504 06:03:07<+discordbot> then do processing earlier 20180504 06:03:50<+discordbot> there's not much reason wesnothd_connection_error needs to take the error code itself 20180504 06:04:41<+discordbot> do a switch in receive_data with the default throw error(last_error_.message() 20180504 06:04:49<+discordbot> So you want me to add a field to wesnothd_connection_error like enum TYPE { INFURIATINGLY_VAGUE_EOF_ERROR, SOME_OTHER_ERROR} type;? 20180504 06:04:53<+discordbot> that's easily expandable 20180504 06:05:10<+discordbot> and just add any relevant cases you want 20180504 06:05:33<+discordbot> case boost::asio::eof: throw error("Purple Unicorns"); 20180504 06:05:55<+discordbot> wat 20180504 06:06:04<+discordbot> So you want me to do a string comparison at the end anyway? 20180504 06:06:39<+discordbot> (The error handling is done ingame_launcher::play_multiplayer() in src/game_launcher.cpp, btw.) 20180504 06:07:04<+discordbot> 844? 20180504 06:07:28<+discordbot> It's line 867 in my copy (1.14). 20180504 06:08:51<+discordbot> I'm NOT saying do string comparison. I'm saying change wesnothd_connection_error to take a string instead of the error code, and add some processing to wesnothd_connection::receive_data like this: cpp if(last_error_) { switch(last_error_) { case boost::asio::eof: throw error("Connection terminated"); default: throw error(last_error_.message()); } 20180504 06:09:15<+discordbot> expand as necessary 20180504 06:10:12<+discordbot> then you don't need any fancy handling 20180504 06:10:20<+discordbot> no dynamic_cast 20180504 06:10:38<+discordbot> because the error is always what you want 20180504 06:11:30<+discordbot> remember, error here is an alias for wesnothd_connection_error 20180504 06:11:38<+discordbot> here being the wesnothd_connection class 20180504 06:13:05<+discordbot> last_error_ is not an integer. 20180504 06:13:17<+discordbot> It can't be compared using switch directly. 20180504 06:14:04<+discordbot> then use an if block 20180504 06:14:10<+discordbot> the idea is the same 20180504 06:18:16< irker106> wesnoth: Charles Dang wesnoth:master 195eb0ce7329 / changelog.md data/gui/window/lobby_main.cfg: MP Lobby: improved low-resolution layout https://github.com/wesnoth/wesnoth/commit/195eb0ce73299489551e28024b6ae5f58a4d2025 20180504 06:22:38<+discordbot> btw did you ever find out about the GET/SET thing 20180504 06:22:42<+discordbot> for the registratin page 20180504 06:22:59<+discordbot> Oh I got distracted. 20180504 06:23:06<+discordbot> It's also GET, there's no SET method in HTTP. 20180504 06:23:21<+discordbot> The closest thing you get is POST. 20180504 06:25:05<+discordbot> Okay, no, it's not possible. 20180504 06:26:15<+discordbot> design tweak then probably should I 20180504 06:26:42<+discordbot> but it looks bad on a line of its own 20180504 06:26:57< Ivanovic> sevu: I have no idea if that mailing list is the correct link 20180504 06:27:03< Ivanovic> but at least the maintainer listed there is wrong 20180504 06:27:26< Ivanovic> I sent him a mail now asking to update the contact information there and potentially to subscribe to the "mainline" i18n mailing list 20180504 06:29:06-!- gallaecio [~quassel@148.red-83-37-165.dynamicip.rima-tde.net] has joined #wesnoth-dev 20180504 06:30:46< irker106> wesnoth: Pentarctagon wesnoth:master 5fed276ad76d / src/CMakeLists.txt: Fix cmake compiling with spaces in directory names. https://github.com/wesnoth/wesnoth/commit/5fed276ad76d3ed14136ea3b40fd300daadfc541 20180504 06:35:16< irker106> wesnoth: Pentarctagon wesnoth:1.14 b8ecbaa354d0 / src/CMakeLists.txt: Fix cmake compiling with spaces in directory names. https://github.com/wesnoth/wesnoth/commit/b8ecbaa354d0b4b97235b4142a553281c1cf6be5 20180504 07:15:59-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20180504 07:46:39-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180504 07:46:45-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180504 08:04:47< irker106> wesnoth/wesnoth:1.14 galegosimpatico 5278d95bf9 Merge remote-tracking branch. AppVeyor: All builds passed 20180504 08:12:24-!- vn971 [~vasya@94.158.103.15] has quit [Remote host closed the connection] 20180504 08:23:29< irker106> wesnoth: ln-zookeeper wesnoth:1.14 a767a2459b5e / changelog.md data/campaigns/Eastern_Invasion/scenarios/11_Captured.cfg: EI S11: Fixed units incorrectly costing upkeep after leveling up https://github.com/wesnoth/wesnoth/commit/a767a2459b5e125b252307c311913c9891855b8d 20180504 08:25:00< irker106> wesnoth: ln-zookeeper wesnoth:master d217dfc13c7c / changelog.md data/campaigns/Eastern_Invasion/scenarios/11_Captured.cfg: EI S11: Fixed units incorrectly costing upkeep after leveling up https://github.com/wesnoth/wesnoth/commit/d217dfc13c7c763e5a4812a6b731cdbfca2c483d 20180504 08:41:08< zookeeper> @Yumi, if you want to rewrite something in UtBS then please consult with me. it's one of the campaigns least in need of the kind of major rewrite you seemed to have in mind, not to mention that no one ever manages to successfully finish those kinds of projects anyway. 20180504 08:42:25<+discordbot> It would be a commission 20180504 08:42:29< zookeeper> for sure, there's lots and lots of individual things that could/should be revised and redesigned in it, plus lots of text that could be improved. 20180504 08:43:26<+discordbot> At the very least it needs new maps 20180504 08:43:49<+discordbot> Also, why do you get to decide what campaigns are in need of what 20180504 08:45:01< zookeeper> nothing you're saying makes any sense. 20180504 08:45:55<+discordbot> If Yumi did a UTbS revamp it would be a commission 20180504 08:46:15<+discordbot> But even if not, at the very least it needs new maps 20180504 08:46:21<+discordbot> Regardless of such a commission 20180504 08:46:38<+discordbot> But I’m also asking why you are the one that should be consulted 20180504 08:46:52<+discordbot> I'd be willing to touch up UtBS' maps, for the record. 20180504 08:47:02<+discordbot> And probably other campaigns' as well. 20180504 08:47:38< Soliton> who is the maintainer of utbs? 20180504 08:47:48<+discordbot> I don’t know 20180504 08:47:55<+discordbot> I suppose zookeeper 20180504 08:48:11<+discordbot> But I am very disappointed that he left mentions of horses in 20180504 08:48:24< Soliton> ah, i suppose we should fire him then. 20180504 08:52:15<+discordbot> That is....far from the point 20180504 08:52:27< zookeeper> you can't commission something you can't give any kind of concrete specs for, such as a "revamp" or a "rewrite". no one has given any reason why it "needs new maps", which would be completely different than just touching them up to make them prettier. and i should be consulted because i'm one of the few people who actually knows something about the campaign, can tell what kinds of changes 20180504 08:52:27< zookeeper> would necessitate what sorts of other changes, and generally has lots of experience about rewrites going bad and thus how to _not_ go about doing them. 20180504 08:54:36<+discordbot> Fair enough 20180504 08:55:06<+discordbot> It needs new maps because like most of mainline’s maps, they’re rather dull 20180504 08:55:36<+discordbot> Many were never updated to use new terrains 20180504 08:56:18<+discordbot> Some have simplistic designs that no amount of overlays and embellishments will fix 20180504 08:56:34<+discordbot> Similar to DiD S1 20180504 08:56:54<+discordbot> My redraw (which I still need to commit) was necessary 20180504 08:57:05<+discordbot> Due to the bland nature of the original 20180504 08:58:22<+discordbot> You yourself have raised issues with certain gameplay elements like S3 20180504 09:00:23<+discordbot> In the timeline, the two points where Rahul I and Howgarth III become Lord Protector of the Northern Alliance are without a leading bullet. Has this a particular reason or are they just missing? (812 YW and 829 YW) 20180504 09:00:38<+discordbot> No idea 20180504 09:03:53<+discordbot> Since they are the only two points where it is missing, I assume it was by accident. I'll fix this when I fill the changes in. 20180504 09:07:38< zookeeper> @Vultraz, and i never see you give any crap for jet for bailing on the whole redesign project _after_ i made all sorts of concessions WRT the unit tree due to his demands, nor even to bob for just dropping in the antelopes despite that they were agreed to be horses. no, i'm not saying you need to give them crap for any of that, but this was never supposed to be my own little solo project 20180504 09:07:38< zookeeper> (WRT design and writing) so i'd appreciate less crap thrown my way for it. 20180504 09:08:44<+discordbot> If that's the case, then you had the responsibility to finish it fully and completely 20180504 09:09:32< zookeeper> what the actual... 20180504 09:10:15<+discordbot> I'm going to ignore what Vultraz said. 20180504 09:10:22<+discordbot> The primary responsibility you had was to inform people in a timely fashion that there was unfinished or inconsistent prose left hanging prior to the RC 1 string freeze. 20180504 09:10:29<+discordbot> This did not happen. 20180504 09:11:02<+discordbot> Then when it became clear that we were thawing strings in order to address the whole synced debug commands mess, you had another chance at informing us of the strings in question. 20180504 09:11:17< zookeeper> agreed 20180504 09:11:42<+discordbot> Instead we found out after RC 2 was tagged, through a third party's bug report. 20180504 09:12:04<+discordbot> I can't say I'm terribly impressed with that. 20180504 09:12:50<+discordbot> I'm not impressed with a certain someone overstepping his bounds and deciding that the fate of UtBS is his sole decision when he wasn't the main or only person investing his time and energy throughout the last development cycle, either. 20180504 09:15:37<+discordbot> I did not say it was. 20180504 09:16:32<+discordbot> In fact, I literally just said he made a fair point and should be part of the discussion. 20180504 09:16:37<+discordbot> When you start deciding on your own that you can commission people to "change things" (paraphrasing) in a campaign that's part of mainline Wesnoth, you are essentially bypassing the whole collaborative aspect of the project. 20180504 09:17:12<+discordbot> No, I said if it were done it would be a commission 20180504 09:17:26<+discordbot> Yumi stipulated they would not work for free 20180504 09:17:52< zookeeper> also you don't get to push/merge changes that necessitate further changes and then claim doing that is the responsibility of someone else, such as merging the antelope sprites before names were even discussed. doing so makes it _your_ responsibility. 20180504 09:18:44<+discordbot> The implication would be that @zookeeper 's objection vis-a-via such things never getting done would be irrelevant because Yumi would be working on commission and therefor HAVE to get it done 20180504 09:20:05< zookeeper> sure, if the intent is to merge the whole rewrite project only when it's completely finished 20180504 09:23:28< zookeeper> for the record, there were no horse/antelope inconsistency until vultraz himself merged doofus's sprites before names had been discussed and without asking me. if you do that, the resulting mess is your fault and you don't get to throw crap about it on me. 20180504 09:23:35-!- vn971 [~vasya@94.158.103.15] has joined #wesnoth-dev 20180504 09:25:40< irker106> wesnoth: loonycyborg wesnoth:1.14 24431d710c93 / src/server/server.cpp: wesnothd: fix game host kick command kicking host itself instead of intended tar https://github.com/wesnoth/wesnoth/commit/24431d710c93b1d9e57fc75b0a3fad6edca7f9f1 20180504 09:26:07< vn971> interesting. I just saw how elf archer decided to attack Ghoul with melee weapon 2-2 (reduced damage) instead of range 2-4. Considering Ghoul resistance and roundings, it could be that it preferred 2-2 attack over 1-4 (not sure). I wonder if AI should do that at 1.0 aggressiveness, 0.0 caution. 20180504 09:26:08<+discordbot> Didn't I add a wml_error dialog lookalike for reporting the list of illegal names in uploaded add-ons? 20180504 09:26:54< vn971> 0.0 caution means AI doesn't consider self-inflicted harm at all, right? 20180504 09:27:19< irker106> wesnoth: loonycyborg wesnoth:master 40ae6c535615 / src/server/server.cpp: wesnothd: fix game host kick command kicking host itself instead of intended tar https://github.com/wesnoth/wesnoth/commit/40ae6c535615598d047d6682a81f0f8654b77b88 20180504 09:27:43<+discordbot> Oh crap, it seems that idea ended up abandoned in the back of my head. 20180504 09:28:04<+discordbot> vn971: No, it doesn't. 20180504 09:28:05<+discordbot> // TODO: Allow user to copy the extra data portion to clipboard or something, maybe display it in a dialog similar to the WML load errors report in a monospace font and stuff (having a scroll container is especially important since a long list can cause the dialog to overflow). 20180504 09:28:43<+discordbot> The first thing the AI calculates is always the probabilities of the combatants being killed, specifically P(we kill them) - P(they kill us). 20180504 09:28:44<+discordbot> https://github.com/wesnoth/wesnoth/blob/1.14/src/actions/attack.cpp#L488 20180504 09:29:18< vn971> @jyrkive thanks, clear. I had some unexpected side-effects when I reduced aggressivenesss and increased caution to 99/1 % though.. 20180504 09:47:38<+discordbot> In more pleasant news. 20180504 09:48:28<+discordbot> The 1.14 server is far more populated than I'd expect it to be at this point, only three days in and with the registration requirement rushed into production at the last minute. 20180504 09:48:55<+discordbot> I don't remember seeing this much activity 3 days after 1.12.0 was announcement. 20180504 09:49:04<+discordbot> Announcement? After 1.12.0 was announced. 20180504 09:51:38< Rhonda> shadowm: That's definitely related to steam exposure. 20180504 09:52:28<+discordbot> Yeah, certainly. I just didn't entirely expect the Steam plan to work since I tend to take a pessimistic approach at these things. 20180504 09:52:31< zookeeper> sooo... no string freeze, so string changes are okay? i'll fix some of those minor UtBS strings then 20180504 09:54:30<+discordbot> Oh my god. Wesnoth's music on Wine comes out as white noise. 20180504 09:54:48<+discordbot> That actually made me jump. 20180504 09:57:45< irker106> wesnoth: ln-zookeeper wesnoth:1.14 d2be366858ce / data/campaigns/Under_the_Burning_Suns/scenarios/ (4 files): UtBS: Fixed some obsolete references to old elf units, weapons and hair https://github.com/wesnoth/wesnoth/commit/d2be366858ce7a9d60b5211b24e36589d3009ef1 20180504 10:02:16< irker106> wesnoth: ln-zookeeper wesnoth:master 195d5a93db6f / data/campaigns/Under_the_Burning_Suns/scenarios/ (4 files): UtBS: Fixed some obsolete references to old elf units, weapons and hair https://github.com/wesnoth/wesnoth/commit/195d5a93db6fbd13f7bc2d41266652fb89549ef8 20180504 10:05:15< zookeeper> celticminstrel, looks like you never forward-ported 855ac696 20180504 10:05:33< zookeeper> (just in case you've forgotten, that is) 20180504 10:05:40< irker106> wesnoth: Iris Morelle wesnoth:1.14 359a37b4c536 / / (5 files in 2 dirs): mp: Improve display of wesnothd client errors in general https://github.com/wesnoth/wesnoth/commit/359a37b4c53646c5877493f824d029c5702bdac9 20180504 10:05:42< irker106> wesnoth: Iris Morelle wesnoth:1.14 a5fe2c933cc3 / changelog.md players_changelog.md: Fixed some issues with desynced changelogs and incorrect capitalization/order https://github.com/wesnoth/wesnoth/commit/a5fe2c933cc32ed5421cb8fe9ae2b85c3b9b4655 20180504 10:05:47< irker106> wesnoth: Iris Morelle wesnoth:master c503c2ce35bc / / (5 files in 2 dirs): mp: Improve display of wesnothd client errors in general https://github.com/wesnoth/wesnoth/commit/c503c2ce35bc7d70fddc71daff70e31389615cf0 20180504 10:05:50< irker106> wesnoth: Iris Morelle wesnoth:master 3259ef75b935 / changelog.md players_changelog.md: Fixed some issues with desynced changelogs and incorrect capitalization/order https://github.com/wesnoth/wesnoth/commit/3259ef75b935b0b1cfdb594d34435affcd546c35 20180504 10:20:14< irker106> wesnoth/wesnoth:1.14 Celtic Minstrel 02e884e228 SotA: Avoid use of 'kids' to address Car AppVeyor: All builds passed 20180504 10:36:59<+discordbot> @zookeeper let me clarify a few things. First off, I'm sorry if I caused the problem by merging the sprites early, but I don't see how that could be since surely LordBob would have had to have that design before doofus did the sprites. Secondly, I did not guarantee Yumi a commission I jokingly said he/she (seriously does anyone know her pronouns) should rewrite UtBS based on the comment about them being a good writer, but upon 20180504 10:37:02<+discordbot> further discussion Yumi said they would be willing to do anything from a simple prose polish to full-on scenario rewrites and/or redesigns with new WML. I did not commit to either of those or anything in between. When I said "it would be a commission", it was simply in reference to Yumi's potential work as they had said they would not work for free, regardless of whether it was a simple prose polish or something more. Obviously if we were 20180504 10:37:02<+discordbot> to undertake such an effort on whatever scale we chose, we could always NOT commission Yumi and commission someone else or even not commission anyone at all. And finally, as shadowm can attest, I do not have the power to unilaterally declare a commission to exist. I'm only 1/4 of the board. So even if I wanted to, I don't have the power to simply state "we're gonna commission this". 20180504 10:39:13<+discordbot> And regarding the actual UtBS work, I don't know what went on between you, jetrel, and LordBob. I cannot attest to any of it. I can say I approve of the antelope design we ended up with, though; horses would be boring. We have so many damn horses. This is unique. 20180504 10:41:39<+discordbot> And, granted, I don't know the full extent of what you were doing behind the scenes. 20180504 10:42:08<+discordbot> But the fact that, even after we ended up with antelopes, you didn't inform the rest of us about it isn't cool. 20180504 10:42:37<+discordbot> Nor is the fact that as far as I know, I was the only one checking in with LordBob frequently, asking for updates, informing him of scheduling changes, etc. 20180504 10:42:51<+discordbot> Correct me if I'm wrong. 20180504 10:45:04<+discordbot> And Nym having a bow in her portrait? Based on my suggestion. Elyssa's whole general design? Discussed extensively with me. 20180504 10:45:54<+discordbot> Even though it was not my project, I get the feeling I was the one who actually managed to keep it all on track for the 1.14 release. 20180504 10:46:21<+discordbot> Again, correct me if I'm wrong 20180504 10:51:15<+discordbot> If you want to remain active in UtBS's further development, sure. I have no problem with that. But as far as I've seen you haven't expressed any further interest in its development. 20180504 10:54:16< zookeeper> certainly, if you managed to motivate him to get them done in time for 1.14, then thanks, good job. i don't feel comfortable trying to get people work faster on something, at least in this case where having to keep using the old portraits was no deal-breaker. 20180504 10:55:32<+discordbot> I think we all three have completely different and disparate notions of what counts as a deal-breaking and what doesn't, when it comes to campaign design. 20180504 10:56:25<+discordbot> As a campaign author myself, I would rather do away with portraits rather than keep around light-skinned elves with dark-skinned sprites. 20180504 10:56:52<+discordbot> But as a mainline developer, I would consider the campaign in question unsuitable for mainline after a stop-gap change like that. 20180504 10:59:43<+discordbot> I'm also not a fan of working under the pressure of deadlines for free (a point which might not apply to LB for obvious reasons), but the alternative was to allow Wesnoth 1.14 to continue wading through the longest beta period ever at a snail's pace until everyone involved decided to leave of their own accord. 20180504 11:00:28<+discordbot> There comes a time when people need to take their commitment to the project seriously if they don't want to hold others back. 20180504 11:00:58<+discordbot> (This does not change the fact that I felt and still feel Wesnoth was not ready for 1.14 gold.) 20180504 11:01:52<+discordbot> For the record, LordBob taking forever for the portraits didn’t matter. We didn’t need them until the last minute. I told him that many time. What mattered was he got them done in time for 1.14.0. I had intended for the revamped elves to be one of the big things we showcased this time around, which they were 20180504 11:02:28<+discordbot> And further for the record, LordBob was busy as hell the past 2 years. It wasn’t lack of motivation or something. 20180504 11:03:16<+discordbot> And he actually did appreciate us being the one client in existence that would allow him to stretch a commission out so long. 20180504 11:03:28<+discordbot> Which I was happy to do. 20180504 11:04:34<+discordbot> (For the record, I was referring to the mainline devs. I was partially aware of LordBob's situation so I didn't insist.) 20180504 11:06:59<+discordbot> And LordBob is actually willing to do more UtBS-related stuff 20180504 11:07:31<+discordbot> Including finishing the story art set from 2010 that I happened to remember and bring to his attention 20180504 11:11:17<+discordbot> @jyrkive Do you think https://github.com/wesnoth/wesnoth/issues/2999 could be related to the issue with NTFS junction points somehow? 20180504 11:12:14<+discordbot> A more extreme variant on this issue has been reported on Steam now: https://steamcommunity.com/app/599390/discussions/0/1696046342858469598/ 20180504 11:15:38<+discordbot> In src/log_windows.cpp lg::finish_log_file_setup() makes a rather dangerous assumption and proceeds with log rotation if the log directory exists but doesn't check that it's actually a directory. 20180504 11:15:55<+discordbot> Although that should silently fail. 20180504 11:16:48<+discordbot> It's log_file_manager::move_log_file() that can result in the error message reported in Steam if the _wrename() call fails. 20180504 11:19:55< Soliton> @Vultraz: can others see your communication with LordBob? to me at least it often sounds like there is lots of private correspondence where it is no wonder that other people are not uptodate on what even the general plan is. 20180504 11:20:19<+discordbot> Well, no, because I DM him. 20180504 11:20:48<+discordbot> Trying to think of what the best approach for handling this situation is, i.e. how to fallback if I made log_init_panic() return instead of calling exit(). 20180504 11:21:13<+discordbot> @shadowm I don't see how junction points would be able to cause a "No such file or directory" error when trying to rename a file. 20180504 11:21:33<+discordbot> The session can proceed without logging but the theory is that immediately afterwards the game will start hitting errors due to being unable to write into the user config or data directories. 20180504 11:21:33<+discordbot> The only possibilities I can see are "source file doesn't exist" and "target directory doesn't exist". 20180504 11:21:53<+discordbot> robbor8 has already confirmed that the directory exists. 20180504 11:22:13<+discordbot> Didn't you find out for the other bug that the directory exists but isn't a directory? 20180504 11:22:38<+discordbot> Assuming that Wesnoth is attempting to move the file to the right directory, and not literally "C:\Users\Documents\My Games\Wesnoth1.14/logs/wesnoth-20180502-221248-1412.log" (i.e. in the place of the actual username). 20180504 11:22:45<+discordbot> This bug: https://forums.wesnoth.org/viewtopic.php?f=4&t=48061 20180504 11:23:09<+discordbot> 9 means a reparse point. 20180504 11:23:23<+discordbot> It shouldn't be, unless someone made a change I wouldn't expect to one of the functions I call from the fs API. 20180504 11:23:31<+discordbot> It leaves it open whether the target is a file or a directory. 20180504 11:23:45<+discordbot> Right, a junction point is a particular case of a reparse point. 20180504 11:24:09<+discordbot> In any case, if you're trying to create a file logs\logfile.log and "logs" is a regular file instead, I expect a more specific error message than "no such file or directory". 20180504 11:24:19<+discordbot> (Symbolic links and mounts are additional examples of reparse points.) 20180504 11:25:19<+discordbot> Well, actually. 20180504 11:25:29<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441923314386993153/unknown.png 20180504 11:25:56<+discordbot> I don't have any reason to believe native Windows won't yield the exact same result. I replaced the logs folder with a regular file. 20180504 11:26:33<+discordbot> I'd like to yell at the designers of Unix and libc error messages at this point... 20180504 11:27:18<+discordbot> But the question would be why logs exists and isn't a directory. 20180504 11:27:34<+discordbot> I thought you'd have to go out of your way to get this to happen and yet, here we are. 20180504 11:28:06<+discordbot> Indeed. It's our own code that creates the logs directory. 20180504 11:28:28<+discordbot> There should be no way for it to be anything else, except if the player was intentionally trying to break the game. 20180504 11:29:51<+discordbot> Most likely possibility that comes to my mind is that OneDrive or something is replacing it with a reparse point behind our back (but according to O[A]'s testing, directories in OneDrive remain regular directories even when Files on-Demand is used, and even if they weren't, creating subdirectories is still supposed to work.) 20180504 11:30:49<+discordbot> There's no chance that it'll work on the first session (which creates the directory structure) and stops working right afterwards, right? 20180504 11:36:52<+discordbot> Sorry for the intromission, but I'm curious about what @shadowm said before, quoting: "I felt and still feel Wesnoth was not ready for 1.14 gold". Could you explain better that sentence? What you didn't accomplish in time for the official release? 20180504 11:37:29<+discordbot> Well, for starters this thing I'm trying to understand right now. 20180504 11:37:57<+discordbot> There's also an issue that is being worked on behind the scenes but it doesn't directly concern players. 20180504 11:38:26<+discordbot> To be fair, we couldn't have known about this log relocation issue before we got enough testing. 20180504 11:38:39<+discordbot> Both point to lack of testing, yes. 20180504 11:39:00<+discordbot> There was also a lot of confusion and lack of organization surrounding translations this time around, which has compounded some issues with translations lagging behind. 20180504 11:39:31<+discordbot> The game still suffers from some obvious UI layout issues in several places, especially when translations are used. 20180504 11:44:31<+discordbot> Got it, thanks for the response. You guys did an excellent job anyway. 20180504 11:44:50< Soliton> have you played 1.12? 20180504 11:45:19<+discordbot> Yeah, back in time when it was released 20180504 11:49:29-!- gfgt [~androirc@tmo-109-36.customers.d1-online.com] has joined #wesnoth-dev 20180504 11:50:41<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/441929657647104001/unknown.png 20180504 11:50:48< Soliton> cool, because i think it makes some difference knowing what 1.12 already accomplished in such evaluation. :-) 20180504 11:50:55<+discordbot> Perhaps I should revert it to using a generic transient_message... 20180504 11:53:35< vn971> Hmm. Interesting. I set global variables with wesnoth.wml_actions.set_global_variable{immediate=true, ...} 20180504 11:53:35< vn971> When I set value to `nil` or strings, the result is immediately written to file, which I observe in raw file (1.14/persist). 20180504 11:53:35< vn971> BUT, when I try to access the variable, it shows me the non-nil value only. It never shows "nil". If I re-load the game without exiting, it still does not show the expected "nil". However, if I exit to titlescreen and load game from there, I get the "nil" as it should be (and as it's written in 1.14/persist file). 20180504 11:53:46-!- gfg [~androirc@134.76.63.8] has quit [Ping timeout: 264 seconds] 20180504 11:54:59< Soliton> sounds like a bug. 20180504 11:55:54< vn971> I don't have easy repro steps because it's my add-on I'm currently developing (WIP), and making a minimalistic repro code would not be too easy. BUT the behaviour is observed in detail, I think. I hope it's OK to raise bug with that. Will do it now. 20180504 11:57:01<+discordbot> Meh, I'll keep it this way. Also makes it hard to miss that you've been kicked. :> 20180504 12:03:59-!- gfgt [~androirc@tmo-109-36.customers.d1-online.com] has quit [Remote host closed the connection] 20180504 12:04:13-!- gfgt [~androirc@tmo-109-36.customers.d1-online.com] has joined #wesnoth-dev 20180504 12:12:44< matthiaskrgr> hmm there has been no image compression before 1.14, right? 20180504 12:13:01< matthiaskrgr> Im running woptipng right now and get 20-40 % savings on a lot of files 20180504 12:13:33<+discordbot> Yes, we have been avoiding image optimization lately. 20180504 12:13:44< matthiaskrgr> mh why? 20180504 12:13:56<+discordbot> It enlarges the repository. 20180504 12:14:01< matthiaskrgr> ah ok 20180504 12:14:01<+discordbot> While it helps make packages smaller, it also makes the repository even larger (because the repo has to store both versions of each image). 20180504 12:14:11< matthiaskrgr> yeah 20180504 12:14:12<+discordbot> We'd rather not receive a angry letter from GitHub asking us to split it. 20180504 12:14:44< matthiaskrgr> mmh 2.2 gigs :s 20180504 12:15:53< matthiaskrgr> I'll see how small I can get that 20180504 12:16:19< matthiaskrgr> if github cared a lot they could run git gc at least once a year 20180504 12:16:44<+discordbot> Garbage-collecting the repository wouldn't help. 20180504 12:16:54< matthiaskrgr> why not? 20180504 12:16:56<+discordbot> The repo has to store every version of every file that has ever existed. 20180504 12:17:03< matthiaskrgr> yes sure 20180504 12:17:11< Soliton> running an aggressive git gc on wesnoth's repo takes quite a while and lots of memory. 20180504 12:17:35< matthiaskrgr> usually I recompress a github repo after cloning and it saves 20-40 % normally 20180504 12:17:43< Soliton> i think matthiaskrgr means to also repackage. 20180504 12:18:00< matthiaskrgr> well yeah 20180504 12:18:04< matthiaskrgr> recomputing all deltas from scratch 20180504 12:18:12< matthiaskrgr> and pruning all unreachable objects first 20180504 12:18:24<+discordbot> Deltas are useless for binary files. 20180504 12:19:42< matthiaskrgr> uhm no :P 20180504 12:19:50< Soliton> i've done that a couple of times a while ago when we were serving the repo from wesnoth.org. it certainly does help some. 20180504 12:20:21< Soliton> (serving a tar of the repo that is.) 20180504 12:22:48< matthiaskrgr> but github is also really bad at compression repos with little binary files 20180504 12:22:52< matthiaskrgr> https://github.com/matthiaskrgr/gitgc 20180504 12:23:41< Soliton> how would you get the result on github though? 20180504 12:23:53< matthiaskrgr> I'm not sure if I can 20180504 12:23:56< matthiaskrgr> that is the problem :) 20180504 12:24:05< matthiaskrgr> it kind of sucks 20180504 12:24:20<+discordbot> They don't allow people direct access to the repository storage, no. 20180504 12:24:57< Soliton> you'd probably have to delete the repo if you even can do that and re-upload. 20180504 12:25:04< matthiaskrgr> not sure what would happen if you force pushe-removed all the commits and the repushed a compressed repo 20180504 12:26:07<+discordbot> Wouldn't it end up undoing the recompression in the process of reading the received objects? 20180504 12:26:20< matthiaskrgr> hmm 20180504 12:26:28< matthiaskrgr> good question 20180504 12:27:07<+discordbot> (If only the platform were open source we'd know for sure...) 20180504 12:27:14< matthiaskrgr> :D 20180504 12:28:28< matthiaskrgr> I wonder if I can test by cloning to another directory on my disk 20180504 12:28:39< matthiaskrgr> or if they skip a lot of things when doing local clones 20180504 12:29:48< matthiaskrgr> at least gitlab is clear in these regards https://docs.gitlab.com/ee/administration/housekeeping.html 20180504 12:29:52<+discordbot> If you want to test locally, use --no-local at least. 20180504 12:29:53<+discordbot> https://www.git-scm.com/docs/git-clone 20180504 12:29:56-!- gallaecio [~quassel@148.red-83-37-165.dynamicip.rima-tde.net] has quit [Remote host closed the connection] 20180504 12:31:05< matthiaskrgr> https://twitter.com/githubhelp/status/387926738161774592?lang=de 20180504 12:33:59< irker106> wesnoth/wesnoth:1.14 galegosimpatico 6477d20f76 Merge `1.14` in `1.14_dev_confirmations_ AppVeyor: All builds passed 20180504 12:45:04< matthiaskrgr> ok current wesnoth download size is 2.43 gigs 20180504 12:45:09< matthiaskrgr> (git repo) 20180504 12:46:24<+discordbot> They probably don't use aggressive compression for performance reasons anyway, since the Web interface needs to consume data from the repository contents. 20180504 12:47:38< matthiaskrgr> size of .git is 2.5 gigs 20180504 12:53:01-!- gallaecio [~quassel@188.79.96.255] has joined #wesnoth-dev 20180504 13:09:36< zookeeper> humm. to reduce repo size, one can't of course retroactively squash/delete commits because that would change hashes/references etc, but couldn't it (in theory) be done by deleting the _oldest_ commits? 20180504 13:10:50<+discordbot> I think doing that would also change the ID of every single remaining commit. 20180504 13:11:14< zookeeper> ah, right. i guess so. 20180504 13:12:43-!- DeFender1031 [~DeFender1@89-138-91-7.bb.netvision.net.il] has quit [Quit: I'm not back now.] 20180504 13:15:54-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20180504 13:23:40< matthiaskrgr> afaik commit hashes depend on each other 20180504 13:23:51< matthiaskrgr> blockchain-ish 20180504 13:28:41< matthiaskrgr> ok png compression is done (10% threshold): 992 of 14223 files optimized, 5242590 bytes reduced to 3878424 bytes; -1364166 bytes, -26.02% 20180504 13:30:28< matthiaskrgr> I don't think that this will add more tha 4 megabyte of deltas 20180504 13:31:18<+discordbot> Most likely Git won't even use deltas, and will just store the new images separately. 20180504 13:31:29<+discordbot> (Which would indeed mean less than 4MB.) 20180504 13:31:32< matthiaskrgr> yes 20180504 13:31:42< matthiaskrgr> thats smaller than the average translation update :p 20180504 13:31:46<+discordbot> Git isn't stupid enough to use deltas when they would just make the repository larger. 20180504 13:34:30< matthiaskrgr> shoud I make a PR with that? 20180504 13:34:46<+discordbot> Feel free. 20180504 13:34:50< matthiaskrgr> ok :) 20180504 13:34:54< mattsc> zookeeper: I got a comment on the forums that the old AToTB Chase AI behavior might have been a feature. That’s fine and not a problem, we can change features if we think this is the right thing to do (and I don’t think it was desired behavior, it was simply the best one could do without writing a custom AI). 20180504 13:34:57< mattsc> It does bring up the question of whether I put this into 1.14 or only master though. I assumed 1.14, as I think it makes sense to have a more natural behavior in the stable series that will be around for a long time and seen by a lot of people, even if it is different from 1.14.0. 20180504 13:35:08<+discordbot> Other developers can then discuss if the smaller package size would be worth it. 20180504 13:35:39< mattsc> And it does not change the difficulty of the scenario much at all. 20180504 13:36:01<+discordbot> celticminstrel - FYI, when I was working on the color palette code, I made it so that you could define the source palette inline: ~RC( source color palette > color range ID ). And I used it in my add-on. But it got broken/removed in a subsequent release. 20180504 13:39:05<+discordbot> I think I was also the one who made it support both syntaxes (hex/csv) for inline color ranges. 20180504 13:39:50<+discordbot> IIRC 20180504 13:46:24< vn971> regarding git repo (matthiaskrgr). I think the standard work-around is to store huge binary data in another repo (hello git submodules?), or just store everything in the main repo and just ignore the size overhead. 20180504 13:48:50< vn971> zookeeper: > done by deleting the _oldest_ commits? -- there is "shallow clone" which only gets you the latest changes, but doesn't fetch all previous history. It is, however, easy to make a mistake and invoke a command that will start downloading all history anyways. You'll have to be always careful, so to speak. 20180504 13:49:20< matthiaskrgr> well, the biggest file seems to be data/core/music/vengeful.ogg with 9 megs 20180504 13:49:33< matthiaskrgr> but the po directory is already 317 megs itself 20180504 13:49:43<+discordbot> Some projects use Git LFS to store large binary files: https://git-lfs.github.com/ 20180504 13:49:44< matthiaskrgr> data is 406 megs 20180504 13:50:18< matthiaskrgr> moving po updates to another repo might save a lot in the future 20180504 13:50:21< vn971> > Git isn't stupid enough to use deltas when -- git doesn't use deltas at all. Period. 20180504 13:51:00< matthiaskrgr> wut 20180504 13:51:27< vn971> @jyrkive git can only calculate deltas from raw files when doing e.g. interactive rebase or diff. 20180504 13:54:43< matthiaskrgr> it does save diffs 20180504 13:54:54< matthiaskrgr> of binary files in the object data base 20180504 13:55:19< vn971> matthiaskrgr: nope, git does not store diffs at all, never. 20180504 13:55:31< matthiaskrgr> what I did was 20180504 13:55:41< matthiaskrgr> make a new repo with a binary file, git add and commit it 20180504 13:55:46< matthiaskrgr> echo 2 >> binary.file 20180504 13:55:49< matthiaskrgr> commit it 20180504 13:56:00< matthiaskrgr> and git gc 20180504 13:56:11< matthiaskrgr> .pack size did not double 20180504 13:56:53< matthiaskrgr> well, maybe I am misunderstanding you ... 20180504 13:57:28< vn971> matthiaskrgr: maybe you didn't do `git gc` just before committing? Try with a large file, like 700Mb disk image. 20180504 13:57:41< matthiaskrgr> I did 20180504 13:58:04< matthiaskrgr> I ran git gc after committing the original file and then again after commiting the change to the binary file 20180504 13:59:18< matthiaskrgr> maybe you are confusing git repack and git gc? 20180504 14:01:20< vn971> matthiaskrgr: I don't really care about "gc" or "repack" to be honest, I just know git never stores diff-s and only stores raw files (well, compressed). 20180504 14:02:38< vn971> matthiaskrgr: hmm, actually, running an example like you said really made the ".git" dir size not double. I'll take back my words until I fully understand what's happening. 20180504 14:02:55< matthiaskrgr> :) 20180504 14:06:59< mattsc> < vn971> 0.0 caution means AI doesn't consider self-inflicted harm at all, right? 20180504 14:07:08< mattsc> No, aggression=1 is what does that. 20180504 14:09:48-!- vn971 [~vasya@94.158.103.15] has quit [Quit: Leaving.] 20180504 14:09:50-!- vn9711 [~vasya@94.158.103.15] has joined #wesnoth-dev 20180504 14:10:07< vn9711> Okay, some googl/searx/ddg-ing shows: https://stackoverflow.com/questions/10398744/does-git-store-diff-information-in-commit-objects 20180504 14:10:07< vn9711> Which basically explains that: 1. git does not really store diff-s. 2. But when doing re-packaging, it can take advantage of files (even binary files) being similar, making two commits reference same "objects", plus something that is specific to the commit. Not diff, but data re-usage. 20180504 14:11:38< vn9711> mattsc: I've set aggression to 0.995 now (caution to 0.005). The thing I need from AI is that it'd always attack when it can inflict any damage at all, but, given two attacks, would pick up the best. I remember AI refused to attack with 0.99/0.01, let's see how the new values will work out. 20180504 14:12:08<+discordbot> For the record, I'm working on the weapon specials issue enclave reported in the announcement thread. 20180504 14:12:57<+discordbot> I'm trying to wrap my head around backstab's state not being detected correctly, which I suspect might have something to do with the conspicuously-missing specials context API calls in the relevant code. 20180504 14:13:05< mattsc> vn9711: Well, the only way to ensure _always_ is to use aggression=1. And the AI does pick the “best attack”, the problem is that there are different ways to define best. 20180504 14:16:43< vn9711> mattsc: by "best" I mean always choosing weapon A over weapon B if A provably does >= damage than B, and makes the unit take provably take <= damage than when using B. I've proposed the concept of "provably better" a couple of times already (in different scenarios), but it's not there yet. 20180504 14:17:10< vn9711> mattsc: anyway, thanks for your descriptions. I'll live with 0.005 / 0.995 for now and see how it'll go. 20180504 14:18:53< mattsc> vn9711: what I mean is that, while your definition of “best” makes sense, it is not the only one that makes sense. And the AI uses a definition that is quite close to that, but might differ in some details. For example, how do you weight chance-to-kill/die vs. simply HP damage done. 20180504 14:19:46< mattsc> No matter how you set up the equation, there will be border cases when a different choice might be “better”; or appear better to some people (this sometimes comes down to personal preference) and not to others. 20180504 14:20:02< vn9711> mattsc: I don't, because I always focus on "provably better" comparison only. So if weapons are not comparable, then that's it, compare them with the usual MonteCarlo and friends. 20180504 14:21:07< vn9711> mattsc: so, the only thing I care about is to eliminate weapon B if it is _provably_ worse than another weapon A. Better (or equal) by damage, strikes, appropriate specials etc. 20180504 14:22:06< mattsc> vn9711: So write your own attack evaluation that does that. It’s quite easy to do. (That’s not meant as a snappy comment, but entirely serious. I’m even willing to help.) 20180504 14:22:36< mattsc> What I am saying is that because you care only about that, that does not mean that I agree that the default AI should always do so. 20180504 14:22:59< mattsc> Because “probably better” can mean all kinds of things. 20180504 14:23:37< mattsc> A 4x1 attack might sometimes be better than a 2x2, and sometimes the other way around. Depends on the HP of both sides, the terrain, etc. 20180504 14:24:23< vn9711> mattsc: if anything, here is a full description of what I've thought about (for a long time already): https://github.com/wesnoth/wesnoth/issues/1807 20180504 14:24:48< mattsc> vn9711: I also am not saying that I disagree with you, but your statements so far are much too vague for me to agree with them. 20180504 14:24:53< vn9711> mattsc: 4x1 and 2x2 are incomparable indeed, so that technique would not really help on the situation I posted.. 20180504 14:24:57< mattsc> Okay, I’ll have a look. 20180504 14:25:26< vn9711> * on the situation I posted today 20180504 14:26:43< mattsc> vn9711: btw, forgot to mention that earlier, caution=0 is only “kind of cautious”. caution can take negative values. Check out AiWML, I described what caution and aggression do there in quite some detail. 20180504 14:30:24< mattsc> vn9711: okay, I read issue #1807. So what you are suggesting there is really an optimization suggestion (that’s not what I thought we were talking about, so sorry for that). That does make sense, but I am not the right person to implement that. 20180504 14:32:58-!- gfgt [~androirc@tmo-109-36.customers.d1-online.com] has quit [Remote host closed the connection] 20180504 14:35:31< mattsc> vn9711: Another BTW, the Simple Attack Micro AI always attacks (when it can), so that might be something for you to try. Whether its weapons choice is exactly what you want is a different question, but it would be simple to adapt that as desired since it is written in Lua. 20180504 14:35:36<+discordbot> Okay, backstab is detected correctly, it's just that it isn't reported for some reason... 20180504 14:41:15-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: mattsc] 20180504 14:57:19-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180504 14:57:25-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180504 14:58:14-!- minzbonbon [~min@meta23.net] has quit [Quit: ZNC - http://znc.in] 20180504 15:08:33-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20180504 15:19:02-!- minzbonbon [~min@2a02:1b8:10:22:216:3eff:fe7b:f338] has joined #wesnoth-dev 20180504 15:36:45-!- irker106 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20180504 15:37:01-!- travis-ci [~travis-ci@ec2-54-158-214-151.compute-1.amazonaws.com] has joined #wesnoth-dev 20180504 15:37:02< travis-ci> matthiaskrgr/wesnoth#17 (woptipng_1.14 - 80ab151 : Matthias Krüger): The build passed. 20180504 15:37:03< travis-ci> Build details : https://travis-ci.org/matthiaskrgr/wesnoth/builds/374894128 20180504 15:37:03-!- travis-ci [~travis-ci@ec2-54-158-214-151.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180504 15:44:44-!- gfg [~androirc@tmo-109-36.customers.d1-online.com] has joined #wesnoth-dev 20180504 15:50:34-!- minzbonbon [~min@2a02:1b8:10:22:216:3eff:fe7b:f338] has quit [Ping timeout: 256 seconds] 20180504 15:51:36-!- minzbonbon [~min@meta23.net] has joined #wesnoth-dev 20180504 16:01:41<+discordbot> https://pastebin.com/ePF2QAbe Whaaaa 20180504 16:02:14<+discordbot> Oh right, whom == AFFECT_EITHER. 20180504 16:04:08<+discordbot> Eh. 20180504 16:04:58<+discordbot> (gdb) frame #0 0x00005555608a1ab4 in attack_type::special_active (this=0x614000163250, special=..., whom=attack_type::AFFECT_EITHER, include_backstab=true) at src/units/abilities.cpp:975 975 if ( !is_attacker_ && active_on != "defense" ) (gdb) step 976 return false; 20180504 16:05:01<+discordbot> What is going on here 20180504 16:06:08<+discordbot> is_attacker_ is false but this is the attacker weapon. 20180504 16:06:50<+discordbot> omg why are all these member variables mutable 20180504 16:07:38-!- irker387 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20180504 16:07:38< irker387> wesnoth: loonycyborg wesnoth:1.14 7a56448e95c5 / src/server/server.cpp: wesnothd: process wml commands one at a time in handle_read_from_player https://github.com/wesnoth/wesnoth/commit/7a56448e95c57aefe046f00b15ddbb33e845a0ca 20180504 16:08:40< irker387> wesnoth: loonycyborg wesnoth:master 6a310f0c79d0 / src/server/server.cpp: wesnothd: process wml commands one at a time in handle_read_from_player https://github.com/wesnoth/wesnoth/commit/6a310f0c79d002cbe53d9ee4f12b95a3b31c721b 20180504 16:15:28-!- grzywacz [~karol@wesnoth/developer/grzywacz] has joined #wesnoth-dev 20180504 16:20:40< irker387> wesnoth/wesnoth:1.14 galegosimpatico 242a2a3757 Merge branch '1.14' into 1.14_dev_confir AppVeyor: All builds passed 20180504 16:22:48-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180504 16:23:04-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20180504 16:27:02<+discordbot> (gdb) p attacker_weapon.is_attacker_ $10 = false (gdb) p attacker $11 = (const battle_context_unit_stats &) @0x60c00268f0c0: {weapon = std::shared_ptr (use count 3, weak count 1) = {get() = 0x614000163250}, attack_num = 0, is_attacker = true, is_poisoned = false, is_slowed = false, slows = false, drains = false, petrifies = false, plagues = false, poisons = false, backstab_pos = true, swarm = false, 20180504 16:27:03<+discordbot> firststrike = false, disable = false, experience = 0, max_experience = 28, level = 1, rounds = 1, hp = 30, max_hp = 30, chance_to_hit = 60, damage = 10, slow_damage = 5, drain_percent = 0, drain_constant = 0, num_blows = 3, swarm_min = 3, swarm_max = 3, plague_type = ""} 20180504 16:27:10<+discordbot> ¯_(ツ)_/¯ 20180504 16:27:32<+discordbot> I mean obviously isattacker must be true in some other situation, otherwise the backstab bonus would never be applied. 20180504 16:27:53<+discordbot> I just don't understand what's so special about the attack dialog's set-up in this regard. 20180504 16:29:07<+discordbot> Unless this is only used for informational purposes... 20180504 16:31:15<+discordbot> It seems like this is indeed only used for informational purposes... 20180504 16:34:09<+discordbot> not sure if they're related, but two cases of a crash with Caught general 'St8bad_cast' exception: https://forums.wesnoth.org/viewtopic.php?f=4&t=48106 https://forums.wesnoth.org/viewtopic.php?f=4&t=48088 20180504 16:34:37< matthiaskrgr> ok wow 20180504 16:34:49< matthiaskrgr> the ~2.64 gb git repo was recompressed to 2 gigs :) 20180504 16:34:57< matthiaskrgr> 2.64 GB => 2.00 GB (-638.50 MB, -24.18%) 20180504 16:36:18<+discordbot> @Pentarctagon It's quite likely they're the same bug, but it's nigh impossible to tell where it might be coming from without using a debugger. 20180504 16:36:58< matthiaskrgr> (actual .git size is 1913 megs) 20180504 16:37:15<+discordbot> Nothing special happens when using the provided preferences file either. 20180504 16:40:01<+discordbot> I wonder what WML files are read when accessing the Preferences dialog... The preferences file is read on startup AFAIK and then never again (but it gets written to every time a setting changes). 20180504 16:40:02-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180504 16:40:29<+discordbot> Every time the prefs dialog closes 20180504 16:41:02<+discordbot> Every time a setting with immediate effect changes or the dialog is closed or a hotkey that triggers a setting change is used. 20180504 16:41:21<+discordbot> Wait. 20180504 16:41:33<+discordbot> This doesn't have anything to do with lexical_cast, duh. 20180504 16:42:06<+discordbot> The fact that I've not slept probably doesn't help. std::bad_cast is thrown when an incompatible dynamic_cast to a non-pointer type is performed. 20180504 16:42:45<+discordbot> "and also from std::use_facet if the requested facet does not exist in the locale." 20180504 17:03:52-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20180504 17:04:15<+discordbot> I really don't understand what enclave and gyphe are saying 20180504 17:05:36<+discordbot> @Vultraz but the issue is know? 20180504 17:06:01<+discordbot> There was an issue with the chat box and userlist being very short in the low res lobby layout 20180504 17:06:06<+discordbot> I made it taller 20180504 17:06:20<+discordbot> But you should never get the low res lobby layout unless your window height was between 600 and 660 20180504 17:06:50<+discordbot> And yet the two of you speak (and display) windows much larger, and you still have the low res layout. 20180504 17:07:02<+discordbot> That should only happen if you started low res and made your window bigger 20180504 17:07:06<+discordbot> But why would you do that 20180504 17:07:42<+discordbot> the last thing, which i enclave thanked for, was the fact that if your wesnoth booted in fullscreen mode, none of the chatbox/uselist bug occurrd 20180504 17:08:09<+discordbot> Well, the userlist bug will always occur 20180504 17:08:27<+discordbot> The one where it scrols to the top 20180504 17:08:39<+discordbot> ah ok then ignore that 20180504 17:08:49<+discordbot> i did not ment that bug 20180504 17:09:31<+discordbot> i ment that the chat box and the display box for usernicks, both get oddly small when this error occures 20180504 17:09:41<+discordbot> somehow just found herself in need of a 1.12 debug build to understand 1.14 code. 20180504 17:09:51<+discordbot> how small? 20180504 17:10:35-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180504 17:12:11<+discordbot> if you mean around 3 lines high, that's not a side effect of the bug 20180504 17:12:23<+discordbot> it's just how high the chat was on that resolution 20180504 17:12:38<+discordbot> I just bumped it by 10% and that will be in the hotfix patch 20180504 17:14:16<+discordbot> yes those 3 lines. when re-sized wesnoth manually by dragging any corner, it always jumped back to those 3 lines, no matter how high your resolution 20180504 17:14:39<+discordbot> however, for some odd reason i cannot reproduce this anymore 20180504 17:14:41<+discordbot> blah... 20180504 17:15:46<+discordbot> Okaaaaaaay. 20180504 17:15:51<+discordbot> was it fixed tho? 20180504 17:16:02<+discordbot> In 1.12 the attacker weapon's is_attacker_ is true, in 1.14 it's false. 20180504 17:16:11<+discordbot> oh dear 20180504 17:16:47<+discordbot> I have a feeling this has something to do with whatever made the attack_type::set_specials_context() method disappear. 20180504 17:17:23<+discordbot> talk to celmin about all code relating to that 20180504 17:17:41<+discordbot> Actually, isattacker is true before set_specials_context() is called. 20180504 17:17:58<+discordbot> because now it looks much worse then before if i manually resize the window 20180504 17:17:59<+discordbot> https://cdn.discordapp.com/attachments/259976436490829825/442012014601306132/Screenshot_2018-05-04_20.17.15.png 20180504 17:18:04<+discordbot> Now I'm even more confusd than before. 20180504 17:18:41<+discordbot> you want specials_context_t 20180504 17:18:44<+discordbot> And also sleep-deprived. 20180504 17:18:50<+discordbot> No, the context crap doesn't make a difference. 20180504 17:19:01<+discordbot> In 1.12 the is_attacker_ field is set correctly before calling it. 20180504 17:19:12<+discordbot> anyway, wont bother anymore. left it on forum 20180504 17:20:11<+discordbot> sigh it looks like this stupid resolution choice algorithm takes first matching 20180504 17:20:31<+discordbot> so even if you have a wide-ass window, it will choose the low resolution 20180504 17:20:37<+discordbot> because the window height is 600 20180504 17:21:28<+discordbot> this isn't good 20180504 17:21:51<+discordbot> That's how the algorithm should work. 20180504 17:21:59<+discordbot> But it's not how I want it to work 20180504 17:22:11<+discordbot> Otherwise it would risk attempting to show more GUI elements than can fit in the window. 20180504 17:22:41<+discordbot> hm... 20180504 17:22:42<+discordbot> maybe... 20180504 17:22:51<+discordbot> I make the selection based onwidth 20180504 17:22:53<+discordbot> not height 20180504 17:26:06<+discordbot> should I put a max length on game names 20180504 17:26:18<+discordbot> I just saw someone with a long-ass game name causing the window to show a scrollbar 20180504 17:27:29-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Ping timeout: 248 seconds] 20180504 17:27:49<+discordbot> Can't you linewrap them? 20180504 17:28:28<+discordbot> doesn't work 20180504 17:28:33<+discordbot> I'd like to truncate them but... 20180504 17:28:38<+discordbot> that is impossible 20180504 17:29:19<+discordbot> I think what mordante intended with his requestreduce* methods was for second reverse layout pass 20180504 17:29:25<+discordbot> either in reverse or not 20180504 17:29:27<+discordbot> i dunno 20180504 17:29:37<+discordbot> but it was supposed to do things like tell labels to shrink 20180504 17:30:23<+discordbot> The methods are already used, you know. 20180504 17:30:52<+discordbot> where? 20180504 17:30:52-!- travis-ci [~travis-ci@ec2-54-163-30-122.compute-1.amazonaws.com] has joined #wesnoth-dev 20180504 17:30:53< travis-ci> Pentarctagon/wesnoth#8 (scons-cmake-harden - 146358b : pentarctagon): The build passed. 20180504 17:30:53< travis-ci> Build details : https://travis-ci.org/Pentarctagon/wesnoth/builds/374984633 20180504 17:30:53-!- travis-ci [~travis-ci@ec2-54-163-30-122.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180504 17:30:54<+discordbot> The window is first laid out, and if it ends up too small, then widgets are asked to shrink themselves until they fit. 20180504 17:31:20<+discordbot> I see... 20180504 17:31:33<+discordbot> so if I implement request_reduce_width for label 20180504 17:31:37<+discordbot> it should Magically Work? 20180504 17:31:57<+discordbot> unrelated, but: why is every version between Version 1.13.12 and Version 1.15.0-dev missing from the master changelog? 20180504 17:32:07<+discordbot> because it split 20180504 17:32:10<+discordbot> Well, there is the possibility that a label shrinks when you want something else to shrink... 20180504 17:32:25<+discordbot> Same reason why every version between 1.11.11 and 1.13.0 is missing from the 1.14 changelog, basically. 20180504 17:32:28<+discordbot> labels are too greedy 20180504 17:32:36<+discordbot> half our layout issues are caused by labels 20180504 17:32:52<+discordbot> more like 80% actually 20180504 17:32:54<+discordbot> You should consider increasing their taxes. 20180504 17:33:45<+discordbot> 50% tax on all labels taking over 500 px of space 20180504 17:33:54<+discordbot> Answering your "where?" question: https://github.com/wesnoth/wesnoth/blob/1.14/src/gui/widgets/window.cpp#L1229 20180504 17:34:08<+discordbot> This is where the "shrink the window if it doesn't fit" code is. 20180504 17:34:21<+discordbot> this surprises me 20180504 17:34:30<+discordbot> given the frequency we end up with scrollbars 20180504 17:34:45<+discordbot> Incidentally another person with the user dirs setup issue confirms they're using OneDrive. 20180504 17:34:53<+discordbot> Scrollbars are also the result of request_reduce_* methods. 20180504 17:35:18<+discordbot> I'm still confused. If I want to see what changed in 1.14 would I look under Version 1.13.12 or Version 1.15.0-dev ? either way that's not intuitive 20180504 17:35:25<+discordbot> They occur when a scrollbar_container is asked to shrink to a smaller size than the inner widgets allow. 20180504 17:37:19<+discordbot> If you want to see what changed in 1.14 check https://changelog.wesnoth.org/1.14 instead. 20180504 17:41:16<+discordbot> ah, ok. I'm still a little confused but don't worry about me. there are bigger fish to fry. 20180504 17:43:03<+discordbot> You'd better deliver some of that fish to me. 20180504 17:46:18<+discordbot> well this didn't work 20180504 17:46:43<+discordbot> the game name didn't ellipsize 20180504 17:47:24<+discordbot> oh wait 20180504 17:47:32<+discordbot> wrong VS window 20180504 17:47:35<+discordbot> that's master 20180504 17:52:34<+discordbot> oh hey the guy who said the thing about Generate Password was right 20180504 17:52:34<+discordbot> it is indeed a thing 20180504 17:52:36<+discordbot> and get saved automatically 20180504 17:52:40<+discordbot> THIS USEFUL 20180504 17:53:15<+discordbot> dammi,t the label thing still doesnt work 20180504 17:53:36<+discordbot> @jyrkive request_reduce_width isn't even called for this long text 20180504 17:54:18<+discordbot> Well, that's strange. 20180504 17:54:35<+discordbot> For one, request_reduce_width is already used for line wrapping. 20180504 17:54:47<+discordbot> If it wasn't called, the text would be all in one line. 20180504 17:55:36<+discordbot> https://github.com/wesnoth/wesnoth/blob/1.14/src/gui/widgets/styled_widget.cpp#L195 20180504 17:55:51<+discordbot> also, it seems like size_Lock formulas arenot .... 20180504 17:55:56<+discordbot> ohhell 20180504 17:56:03<+discordbot> I never ported that change over did I 20180504 17:57:13<+discordbot> you told me to 20180504 17:57:14<+discordbot> but I didn't 20180504 17:58:03<+discordbot> oh, I'm having so much fun hearing people complain about the lobby design >_> 20180504 18:01:01<+discordbot> is_attacker_ is filled in by the context crap. 20180504 18:01:33<+discordbot> WHY 20180504 18:01:47<+discordbot> @Vultraz try not to take it personally. it is a nice achievement even if it still needs refinement 20180504 18:02:00<+discordbot> @shadowm didn't I tell you that 20180504 18:02:13<+discordbot> I said you needed specials_context_t 20180504 18:02:17<+discordbot> Why is attack_type::specials_context_t implemented in src/units/abilities.cpp but declared in src/units/attacl_type.hpp?? 20180504 18:02:36<+discordbot> I moved it to attack_type.cpp on master 20180504 18:02:40<+discordbot> I keep losing track of this because of that. 20180504 18:03:02<+discordbot> it's part of this weird scheme where several of unit's functions are implemented outside of unit.cpp 20180504 18:03:43<+discordbot> Vultraz do you have more useful information than that? 20180504 18:04:07<+discordbot> Knowing that specials_context_t is involved doesn't help me much, especially while crossreferencing the 1.12 codebase where it didn't exist. 20180504 18:04:36<+discordbot> I have a feeling someone's calling one of its constructor with the wrong value for attacking but tracking that down... 20180504 18:06:51<+discordbot> ftr 20180504 18:07:03<+discordbot> the three instances of boost::optional are context-related 20180504 18:10:03< Ravana_> I get notification 70min after the actual message https://i.imgur.com/ctX7eMh.png 20180504 18:15:24<+discordbot> uhhhh 20180504 18:15:25<+discordbot> ... 20180504 18:15:55<+discordbot> ok, I need to add calculate_best_size to size_lock 20180504 18:16:14<+discordbot> WHY ARE THERE MUTABLE FIELDS EVERYWHERE 20180504 18:16:21<+discordbot> ask celmin 20180504 18:16:32<+discordbot> he has the Necronomicon 20180504 18:17:06<+discordbot> @jyrkive should size_Lock have caluclate_best_size? 20180504 18:17:15<+discordbot> Uh, I need to remind that size_lock exists for the sole purpose of having a fixed size. 20180504 18:17:38<+discordbot> You forget formulas 20180504 18:17:57<+discordbot> take the chat box for example 20180504 18:18:17<+discordbot> telling it to take 28% of the height is useless when the window grows taller and it's taking 28% of the old height 20180504 18:18:42<+discordbot> Also, calculate_best_size() is already implemented. 20180504 18:18:42<+discordbot> https://github.com/wesnoth/wesnoth/blob/1.14/src/gui/widgets/size_lock.hpp#L65-L68 20180504 18:18:58<+discordbot> oh, it's in the header 20180504 18:19:57<+discordbot> basically, if the values aren't formulas, they shiuld return size 20180504 18:20:04<+discordbot> So, recalculating when the variables change? Sure, that would work. 20180504 18:20:04<+discordbot> but if they are they need to be recalculated 20180504 18:20:14<+discordbot> when calculate_best_size is called 20180504 18:24:37<+discordbot> I honestly don't know what I'm looking at. 20180504 18:25:06<+discordbot> I wrapped both cases of context setup in debug prints and the results are uh 20180504 18:25:10<+discordbot> ask celmin. He wrote all of this. 20180504 18:25:11<+discordbot> self is attacker before: 0 self is attacker after: 0 opp is attacker before: 0 opp is attacker after: 1 self is attacker before: 0 self is attacker after: 1 opp is attacker before: 0 opp is attacker after: 0 self is attacker before: 0 self is attacker after: 0 opp is attacker before: 0 opp is attacker after: 1 20180504 18:25:22<+discordbot> I didn't want to ask him. 20180504 18:25:33<+discordbot> I bet he's going to be like "I don't remember how this works". 20180504 18:25:48<+discordbot> I could commit a partial fix and get him to figure out the rest. 20180504 18:25:49<+discordbot> he better damn remember how it work sbecause he was just working with it recently 20180504 18:28:20<+discordbot> So yeah, the situation is I have the fix for inactive specials displaying in the attack dialog (thanks vultraz) but backstab becomes permanently invisible with it. 20180504 18:28:38<+discordbot> Because somehow some code seems to disagree about the attacker being actually the attacker. 20180504 18:31:34<+discordbot> is it possible the specials_context_t dtor is called erroneously 20180504 18:31:47<+discordbot> What. 20180504 18:31:56<+discordbot> Did you mean ctor instead of dtor? 20180504 18:32:17<+discordbot> I think I was running a build with asan 20180504 18:32:19<+discordbot> ... 20180504 18:32:42<+discordbot> I think I was running a build with asan+ubsan earlier and didn't see anything out of the ordinary, so it'd better not be the destructor. 20180504 18:32:58<+discordbot> https://github.com/wesnoth/wesnoth/commit/b02e6749d050b3e6f106c317a12bf7fb403b05e3 20180504 18:33:38<+discordbot> Why the 20180504 18:33:49<+discordbot> This is just the game's unit attack logic. 20180504 18:33:59<+discordbot> Why are these... why... what is wrong with this codebase. 20180504 18:34:21<+discordbot> Why are we messing with the most oblique C++ humanity has ever conceived just to set up unit attacks? 20180504 18:34:36<+discordbot> He said it was to prevent the moved context from resetting the stats upon destruction 20180504 18:34:46<+discordbot> because that happened 20180504 18:34:48<+discordbot> for some reason 20180504 18:34:52<+discordbot> don't ask me how 20180504 18:35:44<+discordbot> I wanted to fix what I expected to be a pure UI logic issue and somehow I ended up chasing a white rabbit into a hole that leads to the bowels of hell. 20180504 18:36:29<+discordbot> Also I love how these classes are still mostly barren of documentation. 20180504 18:36:59<+discordbot> Abandon Hope All Ye Who Enter Here would be enough, I think 20180504 18:41:17<+discordbot> This is supposed to be new code. 20180504 18:41:27<+discordbot> It's certainly newer than freaking 1.12. 20180504 18:43:09<+discordbot> Every time I stumble upon situations like these I wonder if everyone is planning on sticking around forever glued to the project like a certain zoological warden, or just give us the "let them eat cake" treatment and see if we can piece together a gargantuan puzzle 4 years later where every individual piece has the exact same shape as the others. 20180504 18:44:08<+discordbot> I'd like to think whatever non-trivial code I touched and moved around I documented enough for others to figure out with minimal effort. 20180504 18:45:15 * zookeeper blinks 20180504 18:45:47<+discordbot> But honestly I don't see how the attack info objects have any business dealing with smart pointers and non-trivial move operations. 20180504 18:46:12<+discordbot> I rather doubt that this was designed around making the AI marginally faster. 20180504 18:46:32<+discordbot> The commit message says "Use RAII for weapon specials context to ensure no dangling pointers" 20180504 18:46:39<+discordbot> Unless... this is a certain campaign's fault. The Campaign That Shall Not Be Named. 20180504 18:46:44<+discordbot> So, apparently the idea was to fix a crash somewhere. 20180504 18:47:30<+discordbot> I wouldn't be surprised if this was all designed to make Wesnoth not get into really time-consuming loops when evaluating attacks with that campaign's ludicrous unit stats. 20180504 18:50:07< irker387> wesnoth/wesnoth:1.14 Iris Morelle a5fe2c933c Fixed some issues with desynced changelo AppVeyor: All builds passed 20180504 18:50:19< zookeeper> mattsc, yeah i don't think the adept being outright suicidal should be counted as a feature, whether it was intentional at the beginning of time or not. if you think the change is safe enough for 1.14, then sounds like a good idea. 20180504 18:53:34< zookeeper> mattsc, the main concern i'd have is that for a relatively tiny case like this, that's a lot of custom AI code that's probably not applicable elsewhere. 20180504 18:55:58< zookeeper> the moment something breaks, one will inevitably have to consider whether the complex custom AI is worth the maintenance burden or whether there's some simpler way that would work almost as well. 20180504 19:00:40< mattsc> zookeeper: Fair enough. The counter argument is that there is very little original code in here. I pulled this together from different existing AIs, the evaluation function itself is really the only new part (and even that only in how it is combined). 20180504 19:01:11< mattsc> The ideal thing to do would, of course, be to create a new customizable MAI that could be used both here and in other situations. 20180504 19:01:40< mattsc> I’m not sure how possible that is though, lots of AI is very situation dependent. 20180504 19:02:05< mattsc> Well, it sure is ‘possible’. The question is is it doable with reasonable effort. 20180504 19:03:13< mattsc> Lots of MAIs already have many customizable options, and it still happens quite often that they don’t quite work for whatever one wants in a given scenario. 20180504 19:04:12-!- vn971 [~vasya@94.158.103.15] has joined #wesnoth-dev 20180504 19:04:12-!- vn9711 [~vasya@94.158.103.15] has quit [Quit: Leaving.] 20180504 19:07:55<+discordbot> @Vultraz Think I should pin the thread like suggested further down? https://steamcommunity.com/app/599390/discussions/0/1696046342850957395/ 20180504 19:07:56< zookeeper> i'm just trying to figure out whether any existing MAI's could be utilized here instead. like, could the adept be made to try to run away, but only within a given zone so that he doesn't just end up in a corner, for example. 20180504 19:10:11< mattsc> I looked through them all and decided that none of them would give results that I’d consider satisfactory. 20180504 19:11:11< mattsc> However, the new code is essentially a stripped down version of the messenger move/attack code from the Messenger Escort AI (with a somewhat different evaluation function), 20180504 19:11:12< zookeeper> hmh, okay. 20180504 19:11:44< mattsc> Also, I believe (but did not check) that the Protect Unit code is also very similar. 20180504 19:11:52<+discordbot> Yes 20180504 19:13:00< mattsc> So, there might be a case for a “move valuable unit behind lines and only attack when save” MAI, that is then used by the messenger, protect-unit and possibly other MAIs. 20180504 19:13:12< mattsc> s/save/safe 20180504 19:14:04< mattsc> The problem is that something like that might become very cumbersome with a gazillion customizable options, if you want it to work in a general setting. 20180504 19:17:27< zookeeper> i guess part of the problem is that it's just conceptually not clear what the units _should_ try to do. it's not like they have an objective of any kind. 20180504 19:18:10< zookeeper> i mean they can't try to stay alive as long as possible, because that would mean running to camp in a corner. 20180504 19:18:13< mattsc> zookeeper: as an example, I recently wrote another custom AI for somebody else’s campaign that is very similar to both this and the messenger AI. However, it moves the escort units to the location where the messenger is wanting to go, then moves the messenger afterward to the safest location. That only works if the evaluation functions of the two types of units communicates with each other. 20180504 19:18:52< mattsc> zookeeper: Right. Did you get (from the code) what I am making them do? 20180504 19:19:22< mattsc> Which, in my opinion, is reasonable behavior for this setting and the goal of keeping the scenario easy. 20180504 19:19:38< mattsc> Or do you want me to describe it? (I don’t want to bore you with it if you already know) 20180504 19:21:14< zookeeper> i didn't more than glance at the code, but from the forum post i understood that the revenants behave more or less normally, and the adept just tries to stay near them but safe'ish 20180504 19:21:58< mattsc> Well, that’s a veyry top-level behavior and there are more nuances to it, but essentially yes. 20180504 19:22:18< mattsc> In addition, he attacks if he ends up next to a unit and it’s “safe". 20180504 19:22:30< mattsc> And he runs when both revenants are killed. 20180504 19:25:41< zookeeper> yeah, so behavior-wise it sounds good, if/since what we want them to do is basically just waffle about but not avoid blatantly suiciding the adept 20180504 19:25:50< zookeeper> -not 20180504 19:27:21< mattsc> Anyway, if you think this is too complex for what it’s worth, that’s fine by me. From my point of view this is about as simple an AI as it gets, but I understand you point. 20180504 19:27:51-!- gallaecio [~quassel@188.79.96.255] has quit [Remote host closed the connection] 20180504 19:28:40< mattsc> It does, however, probably make sense to take a step back and see how maybe some of the existing AIs can be combined, generalized and/or simplified. 20180504 19:29:05< zookeeper> if you think there's no good alternatives using existing MAIs or somesuch, then i think it's ok. 20180504 19:29:34< mattsc> There is not currently. 20180504 19:30:23< mattsc> But it should be relatively simple to add a couple parameters to the Simple Attack MAI to take over the second part of this AI. 20180504 19:31:00< mattsc> And an MAI that does the first part (moving an important unit) might be desirable anyway. 20180504 19:31:20< mattsc> In fact, it might be possible to use the Goto MAI for that with, again, some minor additional options. 20180504 19:32:22< mattsc> I’ll think about it. There’s no rush here. 20180504 19:33:54< mattsc> zookeeper: BTW, if you want to test out the behavior, you literally just need to copy those two files and then do a couple min of testing. 20180504 19:33:55< vn971> I guess it's already being reported, but MP lobby list is _very_ slow. Extremely slow. It eats 100% CPU (1 core) just to show game (or player?) list, and is very laggy. Latest build v1.14.0+dev (7a56448-Clean) 20180504 19:33:57< zookeeper> sure. i don't really have more meaningful input, i'm afraid. 20180504 19:34:02< irker387> wesnoth/wesnoth:master Wedge009 47c07cf3e8 Update text to match game-play changes ( AppVeyor: vs2015/Release Failed 20180504 19:34:02< irker387> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-3088 20180504 19:34:15< mattsc> It is set up so that you can get there right from the first turn. 20180504 19:34:18< vn971> I don't mean to discourage, just reporting in case it's not a known addressed problem yet. 20180504 19:35:08< mattsc> zookeeper: Understood. That needs to come from somebody who understands the inner workings of the different AIs. Of which there aren’t many of us around at the moment. :P 20180504 19:35:17< vn971> I must say I'm on debug build though (in order to be able provide more detailed bug reports), but the current speed is way out of order. 20180504 19:37:17< mattsc> zookeeper: One more question. If I add new MAIs, or new options to existing MAIs, that should be in master rather than 1.14, right? 20180504 19:37:37< Ivanovic> vn971: which CPU and which resolution? also: which OS? 20180504 19:37:38< zookeeper> mattsc, yeah 20180504 19:38:00< mattsc> Okay, so that does not help here. It also means I need to wait until 1.15.0-dev becomes playable. 20180504 19:39:11< mattsc> Okay, so I think I’ll commit this as is after another day or so of waiting for comments, and then work on the MAIs in 1.15 at some later time. 20180504 19:39:50< mattsc> What state’s master in at the moment. Does it “work” yet? 20180504 19:39:53< vn971> Ivanovic: Linux (ArchLinux), amd64, i7-3610QM (quad-core), 1920*1080. 20180504 19:40:10< Ivanovic> vn971: over here with the steam build it is looking fine on my linux box 20180504 19:40:24< Ivanovic> 35% of one core on my 4790k 20180504 19:40:48< Ivanovic> and yeah, it might really be the part about the debug build 20180504 19:43:25<+discordbot> mattsc: I don't believe so. 20180504 19:43:55-!- heirecka [~heirecka@exherbo/developer/heirecka] has quit [Quit: Bye] 20180504 19:44:32< vn971> Ivanovic: I tried without `gdb` now, it's unbearably slow anyway. Did you try to expand "user list"? People who are not in game (~100 people). 20180504 19:44:43< Ivanovic> yes, i did 20180504 19:44:51< Ivanovic> no problems with those 20180504 19:45:01< Ivanovic> can you maybe download the steam build and test how that performs? 20180504 19:45:11< Ivanovic> might also be the flags used during building... 20180504 19:45:59< Ivanovic> (sadly on my gentoo system I get crashes trying to go into the preferences or lobby with my own build these days, no idea why, though the steam build at least does work with the binaries it bundles...) 20180504 19:46:02< vn971> for me, it's so slow that CPU is being kept at 100% for 2 minutes already (according to my system monitor), and wesnoth won't draw itself in 20 seconds when I switch to it from chat. 20180504 19:46:14<+discordbot> what the hell? 20180504 19:46:24<+discordbot> that's not supposed to happen... 20180504 19:46:45<+discordbot> @jyrkive fixed the most common cause of that (DRAW call overload)... 20180504 19:46:47< Ivanovic> vn971: for me there is not even a noticable peak when expanding/collapsing the user list in 1080p with the steam build 20180504 19:46:49-!- heirecka [~heirecka@exherbo/developer/heirecka] has joined #wesnoth-dev 20180504 19:47:32< vn971> Ivanovic: @Vultraz: I build with `scons build=debug ..other-prefs..`. Running without gdb or --debug flag now, just launching straightforwardly. 20180504 19:48:05< Ivanovic> and the debug build is probably unoptimized 20180504 19:48:07< vn971> I can try to re-build without `scons build=debug` to see if it roproduces. 20180504 19:48:10< Ivanovic> and that can make a hell of a difference 20180504 19:48:24< vn971> Ivanovic: yeah, it's unoptimised (that's the point), it's just.. It shouldn't be _that_ slow. 20180504 19:49:18< Ivanovic> I am sure that is just a feature to make sure that more people turn on compiler optimization 20180504 19:49:20< Ivanovic> ;) 20180504 19:49:25<+discordbot> there's no console spam is there 20180504 19:49:35< mattsc> @Pentarctagon: Thanks, I didn’t think so either, but I haven’t compiled master in a couple weeks. 20180504 19:50:18< vn971> @Vultraz: if that's a question, then no, there is nothing verbose in console. 20180504 19:50:25< Ravana_> vn971: wesnoth not responding, so I only see those messages that are sent to my bot 20180504 19:51:44< vn971> @Vultraz: there's this though: https://gist.github.com/vgaming/b1d83cdb8d25f83edbba1bbba397b354 but the game works just fine when I join any room or play, speed is totally good there. 20180504 19:52:37<+discordbot> you're using 1.14, right? 20180504 19:53:58< vn971> @Vultraz sure, v1.14.0+dev (7a56448e95-Clean) (built 1-2 hours ago) 20180504 19:54:05<+discordbot> hm 20180504 19:54:10<+discordbot> vn971: and if you really want to optimize it, add enable_lto=yes 20180504 19:54:11<+discordbot> 😛 20180504 19:54:19<+discordbot> the GL thing looks like somethingon your end 20180504 19:54:25<+discordbot> 1.14 doesn't use GL explicitly 20180504 19:54:27<+discordbot> though 20180504 19:54:39< vn971> it was considerably slow before, too, I think. It's just the user count keeps getting higher and higher. (Which is good:) 20180504 19:56:15< vn971> I'm making a debug build now. Will be back when it's ready. 20180504 19:57:04< Ravana_> it is unbearably slow for me on both windows and linux 20180504 19:57:37<+discordbot> did you optimize 20180504 19:58:30<+discordbot> ok, now... 20180504 19:58:42<+discordbot> the people want yellow game names back 20180504 19:58:44<+discordbot> and red game names 20180504 19:59:09< vn971> @Vultraz, I didn't use `enable_lto=yes` yet, but I've removed `build=debug`. 20180504 20:00:54<+discordbot> and they want era names back 20180504 20:00:58<+discordbot> of course 20180504 20:01:43<+discordbot> @Vultraz Out of curiosity, is rearranging the player list in the lobby to have the same order as in 1.12 (from top to bottom, lobby players, players in the current game, players in other games) out of the question? 20180504 20:02:02<+discordbot> I was considering it 20180504 20:02:08<+discordbot> And maybe not collapsing it by default. 20180504 20:02:25<+discordbot> though making it part of a single list 20180504 20:02:27<+discordbot> not a tree view 20180504 20:02:28<+discordbot> Unless that messes up something in the UI. 20180504 20:02:38<+discordbot> That'd be a good option as well. 20180504 20:03:00<+discordbot> Would that help with the constant scrolling back to top? 20180504 20:03:33<+discordbot> yes 20180504 20:03:42<+discordbot> because jyrki only fixed that for listboxes 20180504 20:03:44<+discordbot> not tree views 20180504 20:03:55<+discordbot> or rather, he didn't make the fix part of the scrollbar_container base class 20180504 20:04:48<+discordbot> but 20180504 20:04:55<+discordbot> i don't know if the tree view is the best thing ever 20180504 20:04:56<+discordbot> for this 20180504 20:05:04<+discordbot> in any case 20180504 20:06:05<+discordbot> I can't say I have a concrete opinion about that either. 20180504 20:06:32< vn971> And maybe not collapsing it by default. -- I was thinking about that too. I'm just overly spam with feature requests anyway, so I decided to put that one on hold. But not collapsing seems like a good approach to me. Could as well keep the internal setting somewhere, but that's even more work.. 20180504 20:07:18<+discordbot> If it stayed a tree view then that'd mean someone has to figure out how to make it stop scrolling back to the top like jyrkive did with regular lists. 20180504 20:07:58< vn971> By "internal setting" I mean a setting that is automatically saved by wesnoth depending on whether you collaps or expand the views. It should not be user-visible of course. 20180504 20:08:02<+discordbot> (I assume if the same fix could be trivially applied to it it'd have been done already.) 20180504 20:09:04<+discordbot> The main reason why I didn't make the change in a higher-level class was that 1) I wasn't intresested to research it futher and 2) there is a possibility of regressions. 20180504 20:09:13<+discordbot> *further 20180504 20:10:02< vn971> @shadowm: talking about scrolling, it may make sense to note this issue: https://github.com/wesnoth/wesnoth/issues/3016 20180504 20:10:30<+discordbot> Yeah I read that apparently this was fixed before but the fix isn't working? 20180504 20:10:46<+discordbot> I've not stayed on the server long enough to experience it myself. 20180504 20:11:23<+discordbot> That bug DOESN'T happen for me 20180504 20:11:33<+discordbot> probably someone using a tiny window 20180504 20:12:25<+discordbot> "Keep the scroll position" is supposed to have higher priority than "make the initially selected item visible". 20180504 20:13:03<+discordbot> (Laying out the list box for the second time is no different from the first time, so the "initially selected" code is still active.) 20180504 20:13:06< vn971> // I'm lost as to who answers whom. My issue should be pretty much 100% reproducable. 20180504 20:13:28<+discordbot> What do you people think a good "no vacant slots" message would be? 20180504 20:13:33<+discordbot> "Game full"? 20180504 20:13:47<+discordbot> "Game filled"? 20180504 20:13:49<+discordbot> am em dash? 20180504 20:13:51<+discordbot> nothing? 20180504 20:13:59<+discordbot> "Full"? 20180504 20:14:03<+discordbot> "Game full" sounds good to me. 20180504 20:14:14< vn971> @Vultraz: "No vacant slots left in game" / "No vacant slots" ? :) 20180504 20:14:22<+discordbot> no 20180504 20:14:23<+discordbot> too long 20180504 20:14:26<+discordbot> (I'm a miser with words in the UI because you know how it is with translations.) 20180504 20:14:31< vn971> (keep the negative as in your original text.) 20180504 20:14:32<+discordbot> "full" is good 20180504 20:15:08<+discordbot> @jyrkive the scroll is probably due to a relayout happening or something because something something scrollbars 20180504 20:15:17<+discordbot> "mp_game_available_slots^Full" 20180504 20:15:25<+discordbot> Just to drive the point home for translators. 20180504 20:15:58<+discordbot> alright 20180504 20:16:05<+discordbot> then I need to figure out a good way to display era 20180504 20:16:17<+discordbot> I was thinking "scenario name (era)" 20180504 20:16:22<+discordbot> but that's not good 20180504 20:16:24<+discordbot> But it's supposed to retain the position when a relayout happens... 20180504 20:16:31<+discordbot> And adding an "era" would be bad 20180504 20:16:34<+discordbot> "Ageless EraEra" 20180504 20:16:53<+discordbot> "Era: Ageless Era"? 20180504 20:16:54<+discordbot> Ageless Era: The Era: The Movie 20180504 20:17:02<+discordbot> Part 2 20180504 20:17:17<+discordbot> The prequel 20180504 20:17:26<+discordbot> Based on a novel 20180504 20:17:41<+discordbot> Screenplay by M Night Shyamalan 20180504 20:17:45<+discordbot> just happened to me 20180504 20:17:48<+discordbot> Ageless Era: Era of Infinite Eras: Final Era 20180504 20:17:59<+discordbot> the scroll-to-the-top thing, for the game list 20180504 20:18:02< vn971> the non-debug build is pretty usable. Yes, it might hang for a fraction of a second sometimes when scrolling user list around, but nothing too serious. 20180504 20:18:08<+discordbot> OH COME ON now the scrollig things just happened for metoo 20180504 20:18:21<+discordbot> vn971: -Og might be worth trying. 20180504 20:18:47<+discordbot> (Easiest to do by just editiong CMakeLists.txt or SConstruct.) 20180504 20:19:17<+discordbot> or extra_flags_config=-Og 20180504 20:19:24<+discordbot> Also, if the scroll-to-top occurred to multiple people simultaneously, it likely has something to do with someone doing something rare in the server. 20180504 20:19:27<+discordbot> oh, nice, the "missing" bit us part of the era name 20180504 20:19:34<+discordbot> why did I do that 20180504 20:19:46< vn971> @jyrkive: could it be that the debug build actually spots some weak part of wesnoth code? To be honest, I don't really know neither C++ nor how slow C++ debug builds are usually are, BUT I feel something's broken if debug build basically hangs. 20180504 20:20:23<+discordbot> Most of the performance difference is caused by compiler optimizations. 20180504 20:20:32<+discordbot> Our translators are going to commit seppuku 20180504 20:20:33< vn971> @jyrkive: could it be some issue like the `wesnoth.unit_types` thing I discovered some time ago? Huge classes being copied to stack instead of being referenced, which resulted in slow code for everyone. 20180504 20:20:36<+discordbot> debug builds are at least 2x as slow, based solely on the travis unit tests 20180504 20:20:46<+discordbot> Inlining and constant folding can speed up the code a lot, in particular. 20180504 20:21:10<+discordbot> Unoptimized code is often hopelessly naïve and slow. 20180504 20:21:15< vn971> @Pentarctagon even if it's 10x slow, hanging and eating up 100% CPU is too much.. Or is it? 20180504 20:21:31<+discordbot> The performance differences between -O0 and -O2/-O3 have always been pretty noticeable at my end on multiple different machines of varying specs, for the record. 20180504 20:21:37<+discordbot> Mid-low end to high-end. 20180504 20:21:57-!- gfgtdf [~chatzilla@x4e32b58f.dyn.telefonica.de] has joined #wesnoth-dev 20180504 20:22:08<+discordbot> vn971: I don't know, but using 0O vs almost anything else is pretty noticeable 20180504 20:22:23<+discordbot> well 20180504 20:22:26<+discordbot> not almost 20180504 20:22:31<+discordbot> actually anything else 20180504 20:22:34<+discordbot> That said, -O0 is playable here as long as I don't pay too much attention to the map scrolling. 20180504 20:22:50< vn971> anyway guys, I'm no expert in this. If said observation doesn't smell like trouble in code, I will refrain from pushing it. I won't be able to provide bug reports for crashes with backtrace anymore though.. 20180504 20:23:17<+discordbot> -Og would enable some optimizations, but still produce good back traces. 20180504 20:23:48<+discordbot> I think GNU even recommends -Og over -O0 for development. 20180504 20:24:20< vn971> @shadowm: unoptimised code runs just fine and I'm totally satisfied with it. It's only the game list or user list that is unberable and way too slow. I think it's actually user list because it's bearable until I expand the user list. 20180504 20:24:47< vn971> @jyrkive `scons -Og ...` ? 20180504 20:25:04<+discordbot> Would be interesting to see the backtrace of that. 20180504 20:25:23<+discordbot> Penta suggested scons build=debug extra_flags_debug=-Og 20180504 20:25:32< irker387> wesnoth/wesnoth:master Iris Morelle 3259ef75b9 Fixed some issues with desynced changelo AppVeyor: All builds passed 20180504 20:25:37<+discordbot> Back in 1.11.x I believe GUI2 event dispatching was a recursive operation and you could get ridiculously deep backtraces during events. 20180504 20:25:45< vn971> @shadowm? Are you joking about my message? I don't have backtrace for something being slow of course.. 20180504 20:26:03<+discordbot> Nothing blocks you from generating such backtraces. 20180504 20:26:09<+discordbot> CTRL+C to break into the debugger while the debuggee is busy. 20180504 20:26:26<+discordbot> Well, CTRL+C or whatever your debugger uses if it's a GUI. 20180504 20:26:33< vn971> shadowm: ah, that I might try, thx. 20180504 20:26:41< vn971> shadowm: it's gdb. 20180504 20:27:19<+discordbot> Due to the laws of probabilities, you're extremely likely to hit the performancebottleneck. 20180504 20:27:54<+discordbot> If one function takes 90% of CPU time, the probability you hit Ctrl-C during that function is 90%. 20180504 20:28:08<+discordbot> vn971: You can use extra_flags_debug|release|config to add in any flags you want. debug|release will be applied to that specific build type, while config will be applied to all build types. 20180504 20:28:55< vn971> @jyrkive makes sense. Though I was also confused as to which thread would debugger pick up. Well if you say it works, then it probably does. 20180504 20:29:45<+discordbot> Just run thread apply all bt and you'll get back traces for all threads. 20180504 20:29:54< vn971> @Pentarctagon, yes, done that by jyrkive suggestion above -- thanks! Next debug build will be -Og, will see how it works. 20180504 20:35:59< Ravana_> vn971: enabling users grouping and minimizing all 3 lists seems to help against https://github.com/wesnoth/wesnoth/issues/3004 20180504 20:35:59<+discordbot> @jyrkive For that St8bad_cast exception, is there anything short of making a debug build that would be helpful? And if not, are there any up to date instructions for how to do that on Windows? 20180504 20:36:48<+discordbot> I think a debug build would indeed be needed (with NO_CATCH_AT_GAME_END enabled). 20180504 20:37:21<+discordbot> AFAIK, the only up-to-date Windows instructions are for Visual Studio. 20180504 20:37:57<+discordbot> mm 20180504 20:37:58<+discordbot> alright 20180504 20:39:44-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20180504 20:40:59< Ivanovic> @jyrkive: btw I created a debug build now and ran it through gdb as well: https://pastebin.com/25BP4AHQ 20180504 20:41:51< Ivanovic> no idea why the gui2::window::show might lead to cxa_rethrow in libstdc++ 20180504 20:42:11<+discordbot> So, it's this line. 20180504 20:42:13<+discordbot> https://github.com/wesnoth/wesnoth/blob/1.14.0/src/gui/widgets/window.cpp#L591 20180504 20:42:36<+discordbot> It's rethrowing an exception that can have been thrown almost anywhere. 20180504 20:43:08< Ivanovic> but it happens right after starting the game and clicking on preferences 20180504 20:43:22< Ivanovic> i also get a crash when joining the mp lobby, lets see if the bt is identical... 20180504 20:43:33< gfgtdf> most debuggers have a 'break on throw' option. 20180504 20:43:33<+discordbot> Could you comment out lines 541-542, and 574-592? 20180504 20:43:46<+discordbot> That would help us determine where the exception is coming from. 20180504 20:44:01< gfgtdf> afaik wensoth has recently changes to use exceptions but it shodul still be useful. 20180504 20:44:19<+discordbot> gfgtdf: "Break on throw" isn't very useful because Wesnoth throws and catches exceptions in normal operation. 20180504 20:44:42< gfgtdf> recently changed to use more exceptions* 20180504 20:44:48< Ivanovic> the error joining the mp lobby looks a little different... 20180504 20:44:50< Ivanovic> https://pastebin.com/aqFNTNA5 20180504 20:46:20<+discordbot> Would there be any chance of providing a debug build of Wesnoth through Steam? Have it available under the Betas tab maybe? 20180504 20:46:22< gfgtdf> did you get aqny erros before relatd to locale/langiage setting failing ? 20180504 20:46:26< Ivanovic> rebuilding 20180504 20:46:28< gfgtdf> any erros in stderr 20180504 20:47:03< Ivanovic> gfgtdf: no errors at all, also no error when switching to a different locale 20180504 20:47:42< gfgtdf> Ivanovic: well adding a catch there woudl be rather easy thing, 20180504 20:47:56< gfgtdf> Ivanovic: do you use booslt local with icu backen ? 20180504 20:48:10< gfgtdf> backend* 20180504 20:48:52< Ivanovic> okay, new bt with that try/catch commented out: https://pastebin.com/z51pmQTG 20180504 20:49:44< gfgtdf> ye thats hte same line 20180504 20:49:47< gfgtdf> the* 20180504 20:49:53<+discordbot> It's also in translation::icompare(). Very likely the same bug. 20180504 20:49:57<+discordbot> Related: https://github.com/wesnoth/wesnoth/issues/2094 20180504 20:50:09< Ivanovic> gfgtdf: I am using this "version" with use flags of boost: 20180504 20:50:11< Ivanovic> [ebuild R ] dev-libs/boost-1.65.0:0/1.65.0::gentoo USE="nls threads -context -debug -doc -icu -mpi -python -static-libs -tools" ABI_X86="32 (64) (-x32)" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 0 KiB 20180504 20:50:18< Ivanovic> so no icu 20180504 20:50:21<+discordbot> Maybe we should just make translation::icompare() case-sensitive on GNU/Linux as well... 20180504 20:51:22< gfgtdf> rather than making it depending whether its' linux, we could try/catch bad_cast there and make it use case sensitive comparing if the oter one filed. 20180504 20:51:31< Ivanovic> strange enough there is no such crash in the steam build 20180504 20:51:54<+discordbot> Yes. At least on GNU/Linux we have that option. 20180504 20:52:09<+discordbot> Whereas on macOS we can't quite recover from segfault. 20180504 20:55:33-!- gfgt [~androirc@x4e32b58f.dyn.telefonica.de] has joined #wesnoth-dev 20180504 20:56:00<+discordbot> At this point it'd make more sense to forgo icompare entirely. 20180504 20:56:44<+discordbot> Or look into an alternate implementation. 20180504 20:57:03-!- gfg [~androirc@tmo-109-36.customers.d1-online.com] has quit [Read error: Connection reset by peer] 20180504 20:57:08< gfgtdf> or we make icu manditory 20180504 20:57:27-!- timotei_ [~timotei@wesnoth/developer/timotei] has quit [Ping timeout: 240 seconds] 20180504 20:57:42<+discordbot> Case-insensitive sorting for ASCII, but case-insensitive for everything else? Wouldn't be hard to implement. 20180504 20:57:52<+discordbot> *case-sensitive for anything else 20180504 20:58:19<+discordbot> Hm, I suggested that before and it seemed like people didn't like the idea. 20180504 20:58:45<+discordbot> It seems like a reasonable option to me even if it doesn't provide full coverage of the userbase. 20180504 20:59:58< vn971> Ouch. That's some bug I found now. If you select a particular game in game list (lobby), the selection will float away with time. Possibly as old games are closed or new ones are created. 20180504 21:00:29<+discordbot> Float away? You mean it gets scrolled away from view? 20180504 21:00:36-!- timotei_ [~timotei@188.24.62.229] has joined #wesnoth-dev 20180504 21:00:36-!- timotei_ [~timotei@188.24.62.229] has quit [Changing host] 20180504 21:00:36-!- timotei_ [~timotei@wesnoth/developer/timotei] has joined #wesnoth-dev 20180504 21:00:53<+discordbot> Because the first thing that came to mind was the selection escaping to the side of the screen. 20180504 21:01:20<+discordbot> Like a leaf in the wind. 20180504 21:01:27< vn971> @shadowm: no! Selection is actually change. You end up selecting a different game. The "users in game" list on the right starts showing different people too. 20180504 21:01:44< vn971> * selection actually changes. 20180504 21:04:48< Ivanovic> gfgtdf, @jyrkive: I guess for the moment I will just activate the use flag "icu" for boost and recheck... 20180504 21:05:03< gfgtdf> Ivanovic: that'd be nice. 20180504 21:06:38-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 276 seconds] 20180504 21:09:02< Ivanovic> building... 20180504 21:14:01< Ivanovic> gfgtdf, @jyrkive: okay, with ICU active in boost it does now work 20180504 21:18:19< gfgtdf> Ivanovic: it seems liek we are not the fist ones investiigating this https://github.com/wesnoth/wesnoth/commit/e251504b561a96ad194606592c4bb07c5d44bfb3 20180504 21:18:50< Ivanovic> looks like 20180504 21:19:00< loonycyborg> yup 20180504 21:19:14< Ivanovic> loonycyborg: and it is more than just the addon dialog, it also affects preferences and mp lobby 20180504 21:19:15< loonycyborg> seems lack of icu breaks stuff 20180504 21:19:25< loonycyborg> well not too surprised 20180504 21:19:31< loonycyborg> I just test mostly with addon dialog 20180504 21:19:37< Ivanovic> also just added a comment to the bump request for the gentoo build to ensure that they add that use dependency 20180504 21:19:51< loonycyborg> to wesnoth ebuild? 20180504 21:19:55< Ivanovic> jepp 20180504 21:19:58< loonycyborg> cool 20180504 21:20:08< Ivanovic> https://bugs.gentoo.org/654440 20180504 21:21:45< Ivanovic> since it is not in, maybe it will be added this way... 20180504 21:23:20< loonycyborg> I have icu useflag in my make.conf 20180504 21:23:30< loonycyborg> for long time already 20180504 21:23:33< Ivanovic> i did set it now, that is why the game now works... 20180504 21:23:38< Ivanovic> i did not have it before 20180504 21:23:55< loonycyborg> not sure for what exactly 20180504 21:24:07< loonycyborg> sometimes I just add there stuff that looks interesting 20180504 21:24:18< Ivanovic> :) 20180504 21:27:05< Ivanovic> no idea how to check for boost icu in the cmake recipe... 20180504 21:29:38-!- gfgt [~androirc@x4e32b58f.dyn.telefonica.de] has quit [Remote host closed the connection] 20180504 21:33:00< Ivanovic> anyway, off to bed 20180504 21:35:40<+discordbot> HANG ON 20180504 21:36:10<+discordbot> That might be the cause of the crashes with std::bad_cast thrown that are being reported around. 20180504 21:37:12<+discordbot> Wait no, at least one of the people affected is running Windows and the Windows build on Steam was working fine for me. 20180504 21:43:57-!- gfgtdf [~chatzilla@x4e32b58f.dyn.telefonica.de] has quit [Read error: Connection reset by peer] 20180504 22:00:07-!- gfgt [~androirc@x4e32b58f.dyn.telefonica.de] has joined #wesnoth-dev 20180504 22:00:14-!- nurupo [~nurupo.ga@unaffiliated/nurupo] has quit [Quit: nurupo] 20180504 22:00:25-!- nurupo [~nurupo.ga@unaffiliated/nurupo] has joined #wesnoth-dev 20180504 22:00:39< matthiaskrgr> gfgt: hmm, right now I also have problems reproducing https://github.com/wesnoth/wesnoth/issues/3014 20180504 22:00:51< matthiaskrgr> but I know that this happened a few hours ago :/ 20180504 22:01:19< matthiaskrgr> I also noticed that having plans for a unit locks it completely out of normal (non planning) movement, is that intended? 20180504 22:01:33< matthiaskrgr> (if I wanted to normally move the unit I have to undo all its plans) 20180504 22:03:57< matthiaskrgr> oh 20180504 22:04:23< matthiaskrgr> right now, a unit being recruited deletes all its pending plans??? 20180504 22:07:53< Ravana_> celticminstrel: wesnoth.set_side_id was documented to use flag and color in opposite order, fixed 20180504 22:14:11-!- travis-ci [~travis-ci@ec2-54-163-30-122.compute-1.amazonaws.com] has joined #wesnoth-dev 20180504 22:14:12< travis-ci> AI0867/wesnoth#81 (reject-bad-data-uris - 1f38747 : Alexander van Gessel): The build passed. 20180504 22:14:12< travis-ci> Build details : https://travis-ci.org/AI0867/wesnoth/builds/375079427 20180504 22:14:12-!- travis-ci [~travis-ci@ec2-54-163-30-122.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180504 22:35:30< irker387> wesnoth/wesnoth:1.14 Matthias Krüger 042eed3a83 run woptipng png compression script. AppVeyor: All builds passed 20180504 22:51:54-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180504 22:52:00-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180504 22:54:45-!- gfgt [~androirc@x4e32b58f.dyn.telefonica.de] has quit [Remote host closed the connection] 20180504 22:54:58-!- gfgt [~androirc@x4e32b58f.dyn.telefonica.de] has joined #wesnoth-dev 20180504 23:04:34< Ravana_> I spent quite a while searching for my addon pbl file for icon string, but then found it from git commit message 20180504 23:07:06-!- gfgt [~androirc@x4e32b58f.dyn.telefonica.de] has quit [Remote host closed the connection] 20180504 23:08:04-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20180504 23:19:19-!- gfgtdf [~chatzilla@x4e32b58f.dyn.telefonica.de] has joined #wesnoth-dev 20180504 23:19:58< gfgtdf> matthiaskrgr: do you still ahve the full ouptu form when you ran it the first tinme, or was is really just that one line repeated ? 20180504 23:23:54-!- grzywacz [~karol@wesnoth/developer/grzywacz] has quit [Ping timeout: 256 seconds] 20180504 23:24:46< gfgtdf> ok nevermind i can now reproduce it aswell 20180504 23:30:56< gfgtdf> hmm i cannot even toggle enable log debug whiteboard in the prefernces log settings dialog 20180504 23:37:35-!- vn971 [~vasya@94.158.103.15] has quit [Ping timeout: 240 seconds] 20180504 23:42:51<+discordbot> For Christ’s sake can people stop asking for ACTIVE MODS 20180504 23:43:00<+discordbot> THERE’S NO SPACE 20180504 23:45:15<+discordbot> what am I supposed to do 20180504 23:45:21<+discordbot> string them along in a line 20180504 23:46:05-!- vn971 [~vasya@94.158.103.15] has joined #wesnoth-dev 20180504 23:46:19<+discordbot> the more shit I stuff into the game list the worst it become on low resolutions 20180504 23:46:25<+discordbot> which people insist on using for some reason 20180504 23:49:31<+discordbot> These people! Why cannot everybody just be my clone? 😄 20180504 23:49:51<+discordbot> would be a lot simpler 20180504 23:50:33< gfgtdf> you should show them only in high enough reoslution then, similar to what the addon manager does 20180504 23:51:23<+discordbot> I'm not playing with the stupid resolution stuff any more than I have to 20180504 23:51:34< Ravana_> there is no limit on number of mods active, so no resolution is high enough 20180504 23:51:51<+discordbot> EXACTLY 20180504 23:51:54<+discordbot> finally someone who gets it 20180504 23:51:58< gfgtdf> Ravana_: well onyl showiung the first few mods is enough, just like 1.12 does it, 20180504 23:54:18< gfgtdf> i mean, if you have to go to the tooltip in the rare case that a specific scenario uses a ridiculous amount of mods thats not a problem, but it is a problem if you have to checkout the tooltip of _every_ game to figure out whether that game is interresting or not. 20180504 23:54:55<+discordbot> it's 20180504 23:54:56<+discordbot> not 20180504 23:54:57<+discordbot> that 20180504 23:54:58<+discordbot> hard 20180504 23:55:48< gfgtdf> it is very annoying. 20180504 23:56:10<+discordbot> I 20180504 23:56:21<+discordbot> m not going to sacrifice clean UI design for that 20180504 23:56:35<+discordbot> especially because I have no way to truncate the list 20180504 23:59:09< irker387> wesnoth: gfgtdf wesnoth:1.14 06118bbac8f6 / src/whiteboard/recruit.cpp: wb: fix moved becoming invalid after recruit is executed https://github.com/wesnoth/wesnoth/commit/06118bbac8f6fe5fae7b16e9e87bae61ca0a19f5 20180504 23:59:28<+discordbot> gfgtdf: don't forget to forward-port that 20180504 23:59:33<+discordbot> you keep not doing it 20180504 23:59:45< gfgtdf> i would have done that. --- Log closed Sat May 05 00:00:04 2018