--- Log opened Tue Mar 20 00:00:28 2018 --- Day changed Tue Mar 20 2018 20180320 00:00:28< celticminstrel> I suppose we'll want to upgrade the shaders to at least 140 though. 20180320 00:01:19< celticminstrel> Maybe higher? I don't really know which GLSL version corresponds to which OpenGL version, but I guess no higher than whatever's used in OpenGL 4? Though sticking to 3 is probably good, if possible? 20180320 00:01:43<+discordbot1> I dunno. We might be able to do 4 20180320 00:01:56<+discordbot1> 3.2 seems to be the version everyone uses for some reason 20180320 00:02:00< celticminstrel> It's not about whether we can but rather about whether we should. 20180320 00:02:25< celticminstrel> If 3.2 is the version everyone uses, let's go with that unless we can prove we absolutely need something from a later version (which I doubt). 20180320 00:02:39< celticminstrel> Also when did the discordbot join this channel? 20180320 00:02:45<+discordbot1> Earlier 20180320 00:02:50<+discordbot1> Weโ€™re sorting it out 20180320 00:03:06< celticminstrel> "earlier" 20180320 00:03:11<+discordbot1> Irker gets reported here which is absolutely bad 20180320 00:03:18< celticminstrel> Wait, so does this mean you'll never pop in here again? 20180320 00:03:33< celticminstrel> Except maybe to update the topic? 20180320 00:03:34<+discordbot1> celmin: a couple hours ago 20180320 00:03:36<+discordbot1> I need to for the nonpublid channel 20180320 00:03:48< celticminstrel> ??? 20180320 00:03:54< celticminstrel> Well, whatever. 20180320 00:04:20< celticminstrel> I haven't worked on this code for months, but maybe getting people to look at it would actually help somehow. 20180320 00:05:51<+discordbot1> Indeed 20180320 00:05:54<+discordbot1> Open a PR 20180320 00:06:03< celticminstrel> That's impossible, it's not based on the Wesnoth codebase.. 20180320 00:06:16< celticminstrel> It's an entirely independent program ATM. 20180320 00:06:47< celticminstrel> Just a command-line program that takes an IPF as input and draws it onscreen. 20180320 00:06:54< celticminstrel> (In a window, of course.) 20180320 00:07:07< wedge009> Ha ha, yes, de218da is very droll. 20180320 00:07:11< celticminstrel> I could either upload a zip or push it to a new repo. 20180320 00:07:32< wedge009> celticminstrel: Just a few hours ago. 20180320 00:08:15< celticminstrel> I guess the latter is more approachable? 20180320 00:08:21<+discordbot1> Oh. Interesting 20180320 00:09:37< celticminstrel> I used stb_image to load the images instead of SDL_image, but it wouldn't be difficult to switch that over. (SDL_image just has a few more things to take into account IIUC, whereas stb_image always gives you the same in-memory format.) 20180320 00:10:05< celticminstrel> There's a bunch of OpenGL utils here as well, like a shader class. 20180320 00:11:56<+discordbot1> Interesting 20180320 00:12:12<+discordbot1> We definitely want a general purpose shader class 20180320 00:13:27<+discordbot1> hoping to be able to import the animated fog shader from the wesnoth2 prorotype 20180320 00:15:53-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 240 seconds] 20180320 00:16:06< celticminstrel> Yup, it still works. Just tried wesnoth-icon~GS() 20180320 00:18:24<+discordbot1> where will you put this repo? 20180320 00:18:43< celticminstrel> On github, I guess? 20180320 00:18:56<+discordbot1> of course 20180320 00:19:01<+discordbot1> i mean, a wesnoth repo? 20180320 00:19:03<+discordbot1> a celmin repo? 20180320 00:19:10< celticminstrel> Under my account. 20180320 00:21:15< irker760> wesnoth/wesnoth:master Charles Dang 123dd952c0 Made CVideo::render_screen private AppVeyor: vs2017/Release Failed 20180320 00:21:16< irker760> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1749 20180320 00:21:28< celticminstrel> https://github.com/CelticMinstrel/wesnoth-ipf 20180320 00:22:50< celticminstrel> XD It says it's 76.1% C because of stb_image I guess. 20180320 00:24:30< celticminstrel> Fixed. \o/ 20180320 00:25:31< celticminstrel> So it's 8.9% GLSL and 90.8% C++. 20180320 00:25:52-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has joined #wesnoth-dev 20180320 00:25:53< travis-ci> wesnoth/wesnoth#17057 (master - 123dd95 : Charles Dang): The build is still failing. 20180320 00:25:53< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/355629932 20180320 00:25:53-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180320 00:26:06< celticminstrel> Though the GLSL files are technically templates rather than full programs. 20180320 00:27:06< celticminstrel> Oh yeah, I think I also implemented one IPF that doesn't exist in Wesnoth, maybe? ~SHEAR() I think. 20180320 00:27:24< irker760> wesnoth: Charles Dang wesnoth:master 625135eb0ded / src/ (10 files in 5 dirs): Rename events::pump to events::run_event_loop https://github.com/wesnoth/wesnoth/commit/625135eb0dedd60c32f7702290c213fddff225cb 20180320 00:27:51< celticminstrel> Oh, I guess I didn't fully implement it. Well, whatever. 20180320 00:28:01< celticminstrel> I did write the GLSL function for it, so it'd be easy to add. 20180320 00:28:39< celticminstrel> IIRC there was a problem with ordering when you use scale, rotate, or uh... flip. 20180320 00:28:58<+discordbot1> reflect 20180320 00:29:04< celticminstrel> Wesnoth always applies commands in order, but I think currently this applies those first regardless of order. 20180320 00:29:24< celticminstrel> Because they're impemented in the vertex shader rather than the fragment shader. I think. 20180320 00:31:14< celticminstrel> It also doesn't yet support ~L(), ~BLIT(), and... I think there was one more. 20180320 00:31:44< celticminstrel> Oh yeah, ~MASK(). 20180320 00:31:51< celticminstrel> I was having trouble with those. 20180320 00:32:05< celticminstrel> Oh right, it also doesn't support the ones that take WFL as an argument. 20180320 00:32:35< celticminstrel> Which IIRC were ADJUST_ALPHA and ADJUST_COLOR? 20180320 00:33:08< celticminstrel> For that you'd probably need a WFL -> GLSL converter too. 20180320 00:33:33< celticminstrel> Which I think is probably doable by modifying the WFL API though. 20180320 00:36:25<+discordbot1> At some point one must consider if having a new way to apply IPFs/shaders is desirable 20180320 00:36:43< celticminstrel> Oh right, I didn't implement the SCALE / SCALE_SHARP distinction either. I'm not really sure how to do that, normally you'd set it as a global flag rather than something in the shader... 20180320 00:36:52< celticminstrel> I have no idea what you're talking about now. 20180320 00:38:26<+discordbot1> The current method of applying IPFs to single images is good for our old model of surface/"sprite" modification. Is it really the most efficient method for a texture/shader workflow? 20180320 00:39:00< celticminstrel> I'm pretty sure one shader per sprite is kinda normal? 20180320 00:39:24< celticminstrel> ...I wonder if [terrain_graphics] tags could be compiled to shaders too... 20180320 00:39:35<+discordbot1> Jyrki led to me understand that most shader rendering is done in a single pass, or at least, one pass per whatever layer you want. 20180320 00:40:31< celticminstrel> I don't even know how that would work... 20180320 00:40:54< celticminstrel> I mean, you need to draw a bunch of different things on the screen, probably with a bunch of different visual effects, so I'm not sure how you could do that with a single shader.. 20180320 00:42:44<+discordbot1> well, for example, the W2 prototype had a single hex shader that handled all the overlay effects 20180320 00:42:46<+discordbot1> https://github.com/anura-engine/wesnoth2/blob/master/data/shaders.cfg 20180320 00:44:12< celticminstrel> The hex shader looks a bit inflexible to me. 20180320 00:44:21< celticminstrel> Like it supports a fixed set of effects and that's it. 20180320 00:44:41<+discordbot1> Well, yes? We had complete control over what drew. 20180320 00:45:54< celticminstrel> Well, I don't think that'll work too well for Wesnoth? 20180320 00:47:12<+discordbot1> for stuff like movement arrows/fog/linger overlay as a single render pass, perhaps 20180320 00:47:22<+discordbot1> hopefully we can import the animated arrows too 20180320 00:47:29<+discordbot1> they were V nice 20180320 00:47:38<+discordbot1> where's that code.. 20180320 00:47:55<+discordbot1> maybe that's u_have_move_mask 20180320 00:48:03< celticminstrel> Some of the standard effects could probably be done all in one shader, I guess. Like ToD adjust, fog, linger, etc. 20180320 00:48:12< celticminstrel> Not sure on the arrows. 20180320 00:48:12<+discordbot1> yeah 20180320 00:48:27< celticminstrel> But I think for units, at least, we're going to need one shader per sprite. 20180320 00:48:31< celticminstrel> Not sure on the terrain. 20180320 00:48:41<+discordbot1> somehow that seems very inefficient 20180320 00:49:15<+discordbot1> https://github.com/anura-engine/wesnoth2/blob/master/data/objects/arrow.cfg 20180320 00:49:16<+discordbot1> blah 20180320 00:49:19<+discordbot1> this is not portable 20180320 00:49:53< celticminstrel> It's probably not maximal efficiency, but... how many units do you actually have onscreen at a time anyway? 20180320 00:50:17-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20180320 00:50:26<+discordbot1> a dozen? 20180320 00:52:17<+discordbot1> I'm really rather disappointed that arrow can't be ported... 20180320 00:52:49< celticminstrel> I assume it can be? 20180320 00:53:06< celticminstrel> Might not be easy though. 20180320 00:53:09<+discordbot1> it was this really cool thing that did away with those almost-invisible footstep images in favor of a gradually fading, purely shader-based arrow that traced the movement path of the unit, IIRC. 20180320 00:54:35<+discordbot1> Well, at least we can import fog, I think 20180320 00:55:07< celticminstrel> Well, you should think twice before importing anything though. 20180320 00:55:15< celticminstrel> IIRC wesnoth2 is under a different license. 20180320 00:55:56<+discordbot1> MIT license 20180320 00:56:39<+discordbot1> images/music/sounds under the GPL v2 20180320 00:56:56<+discordbot1> (kinda needed to be, since they were imported wholesale from wesnoth) 20180320 00:57:00< celticminstrel> ...isn't that... kinda backwards... 20180320 00:57:27<+discordbot1> what is? 20180320 00:59:00-!- aagbsn682 [~sqyotfmx@36.79.20.92] has joined #wesnoth-dev 20180320 00:59:01-!- aagbsn682 [~sqyotfmx@36.79.20.92] has quit [Client Quit] 20180320 01:00:09<+discordbot1> keep in mind most of the resources for the prototype were pulled directly from wesnoth 20180320 01:00:23<+discordbot1> made into nice spritesheets, mind you, yes, but copied all the same. 20180320 01:02:19< irker760> wesnoth/wesnoth:1.14 Jyrki Vesterinen 34b6538a69 Restore ability to recruit full keep of AppVeyor: All builds passed 20180320 01:10:18< celticminstrel> Speaking of which we'll probably want to eventually move to spritesheets in Wesnoth, too. 20180320 01:10:49< celticminstrel> Terrains can probably be dumped into spritesheets too. 20180320 01:11:07< celticminstrel> Not entirely sure how it would work though. 20180320 01:13:17< irker760> wesnoth/wesnoth:master Charles Dang 625135eb0d Rename events::pump to events::run_event AppVeyor: vs2017/Release Failed 20180320 01:13:18< irker760> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1750 20180320 01:15:51<+discordbot1> https://github.com/anura-engine/wesnoth2/tree/master/images/terrain 20180320 01:16:55<+discordbot1> accompanied by 20180320 01:16:56<+discordbot1> https://raw.githubusercontent.com/anura-engine/wesnoth2/master/data/terrain-file-data.cfg 20180320 01:17:05<+discordbot1> (huge-ass file) 20180320 01:17:21<+discordbot1> all automatically-generated, of course 20180320 01:20:44-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has joined #wesnoth-dev 20180320 01:20:45< travis-ci> wesnoth/wesnoth#17058 (master - 625135e : Charles Dang): The build is still failing. 20180320 01:20:45< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/355643145 20180320 01:20:45-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180320 01:21:41<+discordbot1> celticminstrel: honestly something like that is probably the best way to maintain compatibility with single-image paths. 20180320 01:21:50<+discordbot1> and...well, actually kinda necessary 20180320 01:22:15<+discordbot1> You can't expect UMC authors to remember sheet coordinates, especially since they might change 20180320 01:29:55< celticminstrel> Well, you can certainly generate the spritesheets at runtime, yeah. Maybe cache them too, so you don't have to regenerate them all the time when none of the source sprites have actually changed. 20180320 01:30:28< vultraz> Actually, I think we should not generate them at runtime 20180320 01:30:49< vultraz> But actually properly convert everything to sheets 20180320 01:30:57< celticminstrel> It would add to load time to generate them at runtime. 20180320 01:31:10< vultraz> That's my point? 20180320 01:31:21< vultraz> We should NOT do that 20180320 01:31:30< vultraz> We should actually convert everything like done in the W2 repo 20180320 01:31:37< celticminstrel> I don't think it's something we should definitely not do, but if we did it we'd really need to cache them. 20180320 01:32:04< celticminstrel> On the other hand, if we're gonna force the devs to make the sprite sheets, I'd prefer if we used borders between sprites. 20180320 01:32:23< vultraz> the unit sheets anura generates do have borders 20180320 01:32:30< vultraz> it's just the terrain sheets that are compacted 20180320 01:32:42< vultraz> really, if we're sheet-ifying, we need a tool 20180320 01:32:45< vultraz> anura has one built-in 20180320 01:32:55< vultraz> we could use that until we implement our own 20180320 01:33:14< celticminstrel> I mildly disagree, but it wouldn't hurt to have one. 20180320 01:33:16< shadowm> AI0867: https://forums.wesnoth.org/viewtopic.php?p=624920#p624920 20180320 01:33:22< celticminstrel> But I'd not recommend basing it on Anura. 20180320 01:33:34< celticminstrel> I know you like Anura, but the fact is it's under a different license IIRC. 20180320 01:33:46< celticminstrel> So you can't just take code from it and use it in Wesnoth. 20180320 01:34:02< vultraz> No, I'm saying we use it to generate our sheets 20180320 01:35:04< vultraz> and as for Anura's code itself, it's licensed under the "do whatever you want" license 20180320 01:35:54< celticminstrel> Uh, no? 20180320 01:35:55< vultraz> but for sheet generation, you just need an anura binary 20180320 01:36:04< vultraz> it's a command-line thing that generates the sheets 20180320 01:36:06< celticminstrel> Looking at its license file, I think that's the zlib license, or possibly BSD. 20180320 01:36:26< vultraz> BSD is for the StackWalker module, whatever that is 20180320 01:36:28< celticminstrel> Fine, I guess it would be acceptable if someone used the anura tool to generate images. 20180320 01:36:33< vultraz> MIT for Lua 20180320 01:36:47< celticminstrel> Prettu sure it's zlib not BSD, but it doesn't explicitly name it. 20180320 01:36:54< vultraz> but but the c++ files under src/ are "do whatever you want" 20180320 01:37:05< celticminstrel> No, no it's not. 20180320 01:37:12< vultraz> are we looking at the same file? 20180320 01:37:34< vultraz> what file are you looking at 20180320 01:37:43< vultraz> I'm looking at https://github.com/anura-engine/anura/blob/trunk/LICENSE 20180320 01:37:53< celticminstrel> Same. 20180320 01:38:10< vultraz> ok, then right in the top section 20180320 01:38:12< vultraz> " Permission is granted to anyone to use this software for any purpose, 20180320 01:38:13< vultraz> including commercial applications, and to alter it and redistribute it 20180320 01:38:13< vultraz> freely, subject to the following restrictions:" 20180320 01:38:23< celticminstrel> Emphasis on "restrictions". 20180320 01:38:39< celticminstrel> Anyway, I'm pretty sure that's the zlib license. 20180320 01:38:46< vultraz> I see 20180320 01:38:50< vultraz> and that means? 20180320 01:39:00< celticminstrel> Well, it means exactly what it says in that file. 20180320 01:39:13< vultraz> You imply it's incompatible 20180320 01:39:35< vultraz> But in either case I'm not proposing we steal their sheet generation code. I'm proposing we use the engine to generate spritesheets for us. 20180320 01:39:38<+discordbot1> Modified BSD 20180320 01:39:43< celticminstrel> You can do whatever you want with the code as long as you don't claim it's your work, don't try to pass off your modified versions as "anura", and don't remove the license notce from the distribution. 20180320 01:40:00< vultraz> Right 20180320 01:40:08< vultraz> How is that a problem? 20180320 01:40:09< celticminstrel> I don't know if using it in a GPL project is a violation, but I'd be wary of doing so. 20180320 01:40:24<+discordbot1> Vultraz, you know better than this. Don't call it the "do whatever you want" license because it's not. 20180320 01:40:38<+discordbot1> Importing BSD into GPL is fine 20180320 01:40:55<+discordbot1> I guess DWYW would be CC0? 20180320 01:40:57<+discordbot1> (See the WTFPL for a license that's closer to the "do whatever you want" concept.) 20180320 01:41:13< celticminstrel> CC0 isn't technically a license, but yeah, that's "do whatever you want". 20180320 01:41:16< vultraz> violaton of what? 20180320 01:41:18< vultraz> violation 20180320 01:41:19<+discordbot1> No, CC-0 is a generalized version of public domain. 20180320 01:41:35< celticminstrel> Of the license terms of either project. 20180320 01:42:44< vultraz> Why would it be? Even if we were borrowing it, it'd not be relicensing the code. 20180320 01:42:48< vultraz> But again 20180320 01:42:50< celticminstrel> Uh, 20180320 01:42:55< vultraz> I'm not saying we do so. 20180320 01:43:32< celticminstrel> I'd be dubious of saying it's not relicensing it, unless you planned to treat it as an external lib (like we do with Lua already). 20180320 01:43:37<+discordbot1> Is it even necessary to use Anura's code in the first place? 20180320 01:43:46< vultraz> (speaking of which, do we include Lua's license file?) 20180320 01:43:53<+discordbot1> Yes 20180320 01:43:54<+discordbot1> I feel like to someone with more experience this particular task isn't rocket science. 20180320 01:44:27< celticminstrel> I get that you're not saying we use Anura's code for the sheet-generator, but you were suggesting importing some of the rendering code. 20180320 01:45:04< vultraz> No, I was suggesting importing shaders, etc, in the Wesnoth 2 module 20180320 01:45:07< vultraz> that's different 20180320 01:45:11<+discordbot1> @shadowm all I suggested was using the engine to generate new spritesheets for us (the ones in W2 are outdated). 20180320 01:45:13< celticminstrel> Is it? 20180320 01:45:16< vultraz> yes 20180320 01:45:38<+discordbot1> it's a simple solution until we maybe implement the tool ourself 20180320 01:45:51<+discordbot1> @Vultraz Surely the output is exempt from the engine's license just like the code Flex or Bison generate. 20180320 01:46:04<+discordbot1> I don't think anyone was saying it's not 20180320 01:46:13<+discordbot1> unless I misunderstood celmin 20180320 01:46:13<+discordbot1> (I have a feeling you don't know what those names are.) 20180320 01:46:19<+discordbot1> and no I do not 20180320 01:46:32<+discordbot1> sigh 20180320 01:46:36< celticminstrel> Yeah, this is partly a misunderstanding on my part, I initially thought he was proposing importing the code of the tool rather than just using the tool to generate images. 20180320 01:46:43<+discordbot1> Also, regardless of all that, the licensing talk is a waste of time. Want to know why? 20180320 01:47:01< celticminstrel> BTW Vultraz, flex/bison are parser generators. Kinda like Boost.Spirit but for C. 20180320 01:47:05<+discordbot1> Because I could bet you ten bucks you could walk up to Dave and ask him "hey can we dual-license this part of your code under the GNU GPL v2 or later" and he'd say yes. 20180320 01:47:12<+discordbot1> heh 20180320 01:47:13<+discordbot1> true! 20180320 01:47:35< celticminstrel> (Also they produce a different type of parser; IIRC Boost.Spirit produces a recursive descent parser?) 20180320 01:47:47<+discordbot1> anyway, I propose anura's use here for sheets because it's readily available and simple to use. 20180320 01:48:06<+discordbot1> well, to be fair, we'd still need to restructure the output 20180320 01:48:20<+discordbot1> since it'll be in anura-compatible JSON format 20180320 01:48:20<+discordbot1> A script can do that. 20180320 01:48:22< celticminstrel> Yeah shadowm does have a point. That thought was kinda lingering in the back of my mind too. >_> However, it's not as simple as she implies, either, because Dave is not the sole contributor to Anura. 20180320 01:48:41<+discordbot1> uh, they don't use the GPL 20180320 01:48:55<+discordbot1> so they don't have to abide by the GPL's ridiculous rules. 20180320 01:49:08<+discordbot1> Copyright is not a concept invented by the GNU GPL. 20180320 01:49:24< celticminstrel> Pretty sure the need to ask all contributors to relicense something is not limited to the GPL. 20180320 01:49:45<+discordbot1> except it explicitly says all code is copyrighted to dave 20180320 01:50:04<+discordbot1> Which is meaningless. 20180320 01:50:16< celticminstrel> Unless it's clearly stated somewhere that all contributors explicitly hand over their rights to their contributions, you'd need to get all their permissions. 20180320 01:50:26<+discordbot1> The author holds the copyright. 20180320 01:50:44< celticminstrel> Which means whoever wrote a particular piece of code IIUC. 20180320 01:50:49<+discordbot1> no wonder I had to agree to that thing before contributing even a .gitignore update to a google repo... 20180320 01:50:49<+discordbot1> I believe (but anyone can easily check this with the Anura devs) back in the day we were supposed to grant copyright on all our contributions to Dave. 20180320 01:51:09<+discordbot1> That was before it was even a separate thing of its own. 20180320 01:51:41<+discordbot1> (My only contribution to the engine, for the record, was a trivial rendering fix.) 20180320 01:51:57<+discordbot1> (For Mesa.) 20180320 01:51:59<+discordbot1> either way! all this is moot, really, unless we decide we indeed want to import their code. 20180320 01:52:39<+discordbot1> all we need is the sheets and the image aliases+rect coords. 20180320 01:53:18< celticminstrel> Aliases? 20180320 01:53:32<+discordbot1> What are you looking for their code to do? Paste a bunch of sprite images into a single image with known coordinates and sizes? 20180320 01:53:42<+discordbot1> yes 20180320 01:53:46<+discordbot1> "bridge-chasm-dock-l-ne": { "border": [32,60,23,37], "image": "terrain/bridge.png", "rect": [389,460,459,542] }, 20180320 01:53:50<+discordbot1> we need stuff like that 20180320 01:54:14< celticminstrel> You could technically do without it at a small cost in space efficiency. 20180320 01:54:16<+discordbot1> I'd just use The GIMP. 20180320 01:54:24< celticminstrel> I'd use ImageMagick probably. 20180320 01:54:32< celticminstrel> At least for making unit spritesheets. 20180320 01:54:37< celticminstrel> Not sure on terrain spritesheets. 20180320 01:54:44<+discordbot1> IF you need to do it a lot, write a script, if you cant find one 20180320 01:54:46<+discordbot1> the unit sheets are in different former 20180320 01:54:48<+discordbot1> format 20180320 01:55:00<+discordbot1> oh geez 20180320 01:55:42<+discordbot1> so we might not be able to use it for units 20180320 01:56:01<+discordbot1> For what? Unit anumations? 20180320 01:56:31<+discordbot1> anura's handling of animations is different 20180320 01:56:34<+discordbot1> { "duration": 6, "frames": 1, "id": "stand", "image": "units/drakesarbiter.png", "pad": 3, "rect": [3,3,74,74], "reverse": true, "scale": 1 }, 20180320 01:56:55<+discordbot1> it automatically calculates the locations of all images of an animation within the sheet 20180320 01:57:24<+discordbot1> we don't have that luxury 20180320 01:57:24<+discordbot1> So you're back to Wesnoth is too hard and it needs to be replaces with Frogato or Anura or whatever? 20180320 01:57:35<+discordbot1> did I say that? 20180320 01:58:00<+discordbot1> You're using their configs, and their file formats. And speaking as if we must do it that way. 20180320 01:58:19<+discordbot1> I'm copying instances of code from the W2 repo.. 20180320 01:58:31<+discordbot1> and explaining how it works 20180320 01:58:40<+discordbot1> in the context of the sheets its tool generates 20180320 02:01:13<+discordbot1> I don't get what the problem is. This is all dead-simple code. Take a couple minutes and make a sheet with the image editor of your choice, record the dimensions, slap to gether a parser. USe any halfway decent image library to cut it up as-needed. I expect you could tell the GPU to do that quicker but I've never looked. 20180320 02:01:36< celticminstrel> Yeah, the GPU can do the cutting for you. 20180320 02:02:08< celticminstrel> IIRC it's just a few multiplications or divisions or something. 20180320 02:02:15<+discordbot1> Yep 20180320 02:02:21<+discordbot1> yes? 20180320 02:02:28<+discordbot1> I'd done it a lot in JavaScript 20180320 02:02:54<+discordbot1> what we want is just to move away from the thousands of individual images in the repo 20180320 02:03:25<+discordbot1> That's apparent 20180320 02:03:28<+discordbot1> how it gets cut up in memory is irrelevant 20180320 02:03:42<+discordbot1> and yes, we could easily implement that auto-detection feature 20180320 02:03:44<+discordbot1> How it gets organized on the sheets is also 20180320 02:04:45<+discordbot1> Why don't you take the reigns of the spritesheet effort? 20180320 02:05:49< celticminstrel> IMO spritesheets are low priority. Get everything working first, then move to spritesheets. 20180320 02:05:55< celticminstrel> And by everything I mean everything. 20180320 02:06:16<+discordbot1> Sheets are essential for performance 20180320 02:06:20< celticminstrel> You can get it all working with or without spritesheets. 20180320 02:06:23<+discordbot1> jyrki plans to compile them in memory at least 20180320 02:06:33<+discordbot1> that will do temporarily 20180320 02:06:35< celticminstrel> Sheets will improve performance but won't help you actually get anything to work. 20180320 02:06:43<+discordbot1> but in the end, we need to actually merge the actual images themselves 20180320 02:06:53< celticminstrel> We don't have to. 20180320 02:06:56<+discordbot1> I'm not saying it's priority #1 20180320 02:07:01< celticminstrel> Yeah, good. 20180320 02:07:08<+discordbot1> well, we should 20180320 02:07:21<+discordbot1> Yeah no, you don't worry about performance until you have a working system. 20180320 02:07:38< celticminstrel> I'm not even sure if we should. There are certain advantages to it, sure, but I feel like there could be disadvantages too. 20180320 02:07:42<+discordbot1> "Premature optimization is the root of all evil." -- Archimedes, I'm pretty sure. 20180320 02:07:46< celticminstrel> Haha. 20180320 02:08:04<+discordbot1> Nah, must have been Strabo 20180320 02:08:07<+discordbot1> Lack of design is right up there. 20180320 02:09:28<+discordbot1> Sounds like the conversation is trying to make up for the lack of design by adopting someone else's without knowing if what they did actually fits what you need. If it doesn't you find yourself a year down the road having to do some awfully slimy hacks to fix the mistake. 20180320 02:14:09<+discordbot1> Sprite sheets are "good" I can accept. But what characteristics do our sprite sheets need? Are they all the same dimentsions? Do we need to vary sprite dimensions on a sheet-by-sheet basis? Cell-by-cell? What about sheet row and column dimensions? How do you map a set of inputs (unit name, anumation type, phase, etc) to a given series of cells? Are you absolutely positivie that other engine has made all the correct choices 20180320 02:14:09<+discordbot1> for Wesnoth? Or are you willing to modify our (as yet unknown) requirements to fit their solution? 20180320 02:14:52< celticminstrel> We probably need at least dimensions that differ per-sheet. Not sure on per-cell. 20180320 02:14:53<+discordbot1> They do have a pretty good system. 20180320 02:15:24<+discordbot1> Sure .. it's pretty good for their requirements 20180320 02:16:06<+discordbot1> You do realize I'm looking at what was supposed to be a wesnoth 2 prototype, right? ๐Ÿ˜ 20180320 02:16:29< celticminstrel> I think the fact that it's called Wesnoth 2 is less relevant than you assume, though. 20180320 02:16:33<+discordbot1> So? 20180320 02:16:41<+discordbot1> What celmin said. 20180320 02:16:47<+discordbot1> smiles and nods 20180320 02:17:03<+discordbot1> You people (yes, I know you were involved) were building something from the ground up. 20180320 02:17:08<+discordbot1> You're not doing that here. 20180320 02:17:25<+discordbot1> Well, at present we have a smoking ruin .... 20180320 02:17:35<+discordbot1> But that's probably fixable 20180320 02:17:45< celticminstrel> Just how ruinous is it anyway? I still haven't gotten master to build. 20180320 02:17:52<+discordbot1> Except my point is we have the opportunity to make significant, design-driven changes 20180320 02:17:53< celticminstrel> Is it semi-playable at least? 20180320 02:18:05<+discordbot1> no 20180320 02:18:05<+discordbot1> what design? 20180320 02:18:12<+discordbot1> celmin: no 20180320 02:18:20< celticminstrel> So, are you telling me you can't even start the tutorial and attack the dummy? 20180320 02:18:29<+discordbot1> eh, you might be able to do that 20180320 02:18:34< celticminstrel> Oh, okay. 20180320 02:18:53<+discordbot1> Last I looked you could gaze lovingly at a map and kill the program. 20180320 02:18:58< celticminstrel> XD 20180320 02:19:28< celticminstrel> I mean, if nothing else worked to fix it, as a last resort there's the rollback option. 20180320 02:19:34< celticminstrel> I doubt it needs to come to that, but... 20180320 02:20:05< celticminstrel> Anyway, IMO you should stop worrying about how the spritesheets are going to work and worry more about fixing things. :P 20180320 02:20:06<+discordbot1> @Tad Carlucci I'm saying we should evaluate our needs, ponder the advancements made by projects like anura, and carefully evaluate what syntax/design patterns to throw out, which to keep, and which to improve upon. 20180320 02:20:26<+discordbot1> Not just in the context of sheets or unit animations, but in all areas right now 20180320 02:20:30<+discordbot1> themewml 20180320 02:20:31<+discordbot1> IPFs 20180320 02:20:40< celticminstrel> Yeah, uh. If you throw out syntax (ie WML stuff) you're going to alienate all the addon devs. 20180320 02:20:43< celticminstrel> So uh, don't do that. 20180320 02:21:00< celticminstrel> ThemeWML and HelpWML are okay to go, maybe. 20180320 02:21:07<+discordbot1> I thought the idea was to do some hardware rendering, not start over from int main() { return 0; } 20180320 02:21:19<+discordbot1> No-one will miss ThemeWML for sure. 20180320 02:21:24< celticminstrel> HelpWML isn't really user-facing, and although ThemeWML technically is, it was never properly documented anyway and almost no-one even used it. 20180320 02:21:37<+discordbot1> Ask, "Is this good design?" "Can it be improved without breaking compatibility?" "What would a better design be?" "How can elements of that design be incorporated with the least breakage?" 20180320 02:22:13< celticminstrel> And if it can't be improved without breaking compatibility, I suppose you'll choose the option that drives off as many addon devs as possible? 20180320 02:22:25<+discordbot1> depends on what we're talking about 20180320 02:22:29<+discordbot1> if it's something like themewml then yes 20180320 02:22:31<+discordbot1> bye bye themewml 20180320 02:23:05< celticminstrel> Yeah but, there isn't really anything else like ThemeWML, so... 20180320 02:23:20< celticminstrel> And it's not something that I think would drive anyone off if it was gone. 20180320 02:23:47<+discordbot1> eventually we're going to have to break stuff. I'd prefer if we did that, we replaced it with superior design. 20180320 02:23:55<+discordbot1> not worse design 20180320 02:24:03< celticminstrel> If you really have to break stuff, don't break it all at once. 20180320 02:24:16< celticminstrel> Break one or two or three things per dev cycle. 20180320 02:24:19<+discordbot1> which is why I'm advocating @Tad Carlucci 's approach of design first 20180320 02:24:36< celticminstrel> Well, I have no problem with coming up with designs first. 20180320 02:24:55< celticminstrel> But I don't think you need a design in order to fix bugs that prevent the game from even being played? 20180320 02:25:06<+discordbot1> for example, if we didn't have the current IPF syntax, how would we apply the same modifications? 20180320 02:25:23<+discordbot1> Um. 20180320 02:25:45<+discordbot1> It's hard to picture a scenario like that because we already extensively rely on thiose. 20180320 02:25:46<+discordbot1> celticminstrel: .... we JUST branched off 1.14, you can't possibly expect me to make everything stable in a week ๐Ÿ˜ 20180320 02:25:57< celticminstrel> Yeah I don't expect it right now. 20180320 02:26:04<+discordbot1> who's playing on 1.15 anyway?? 20180320 02:26:10<+discordbot1> It's like asking someone who's only spoken English their whole life to suddenly understand Japanese. 20180320 02:26:14< celticminstrel> But I don't think talking about design is very useful when the game doesn't even work. 20180320 02:26:28<+discordbot1> the point of breaking everything was partly so people would work on implementing a_r 20180320 02:26:38<+discordbot1> because we have to 20180320 02:26:39< celticminstrel> And IPFs are one of those things you can't remove because everyone uses them. 20180320 02:27:05<+discordbot1> if you guys are just gonna sit back and wait for vult to fix everything, I'll be very disappointed ๐Ÿ˜ฆ 20180320 02:27:07<+discordbot1> Well, it probably jsut pushed many of the devs to only working on 1.14 while you come to your senses on 1.15 20180320 02:27:51<+discordbot1> Whoah hold the phone. 20180320 02:27:54 * celticminstrel had considered working on 1.15 patches on 1.14 and then cherry-picking them over to 1.15 but not actually push them to 1.14. >_> 20180320 02:28:16<+discordbot1> Vultraz, you aren't saying that you are expecting people to fix for you everything you broke? 20180320 02:28:25<+discordbot1> Well, at present, it looks wiser to work on 1.14 and cherry-pick to master 20180320 02:28:38<+discordbot1> No, I'm saying I expect people to work on the a_r effort as a team! 20180320 02:28:38< celticminstrel> ...wait, isn't that what I just said? 20180320 02:28:48< celticminstrel> Tad not vult 20180320 02:29:14<+discordbot1> Oh, yes, Parsed your sentence wrong 20180320 02:29:47<+discordbot1> instead, it seems like everyone's gonna sit back eating ๐Ÿฟ waiting for master to stabilize 20180320 02:29:53<+discordbot1> ๐Ÿ˜ฆ 20180320 02:30:05< celticminstrel> Well, depends what you mean by "stabilize"... 20180320 02:30:11< celticminstrel> And ATM I can't even build master anyway. 20180320 02:30:22< celticminstrel> I mean it's probably not that hard to fix that, I just haven't figured it out yet. 20180320 02:30:43<+discordbot1> He means "Get a working menubar, sidebar, dialogs, ..." 20180320 02:30:47< celticminstrel> Plus I have stuff to do on 1.14 that should really be finished before it's actually released. 20180320 02:31:02< celticminstrel> (I'm referring to the schema stuff.) 20180320 02:31:08<+discordbot1> no no no 20180320 02:31:15<+discordbot1> filling in the sidebar is easy 20180320 02:31:22< celticminstrel> Then do it. :P 20180320 02:31:26<+discordbot1> I guess some of that may be back .. I've not tested this afternoon 20180320 02:31:26<+discordbot1> ...... 20180320 02:31:30<+discordbot1> oh, seriously 20180320 02:31:38<+discordbot1> there's a LOT that needs to be done 20180320 02:31:53<+discordbot1> backend changes to ensure all the damn event stuff works, for one 20180320 02:32:11< celticminstrel> Wait what do you mean by event stuff 20180320 02:32:13<+discordbot1> which needs careful consideration 20180320 02:32:23<+discordbot1> SDL event stuff 20180320 02:32:29< celticminstrel> Oh, okay. 20180320 02:32:48< celticminstrel> But uh, what's wrong with what was there before? 20180320 02:33:03<+discordbot1> ugh 20180320 02:33:43<+discordbot1> Frank Zappa 20180320 02:33:43<+discordbot1> because some fundamental changes have to be made now that there's always a dialog open 20180320 02:33:56< celticminstrel> Why does that require fundamental changes? 20180320 02:33:58-!- Bonobo [~Bonobo@203.63.93.247] has joined #wesnoth-dev 20180320 02:34:32<+discordbot1> because the old event handling for map events (clicks, hotkey presses, etc) was predicated on there being no dialog open 20180320 02:35:33< celticminstrel> So basically what you're trying to imply seems to be that the map events handling needs to be moved to the ingame_ui dialog. (That's what you called it, right?) 20180320 02:35:42<+discordbot1> ....no 20180320 02:36:24<+discordbot1> for one, i need to ponder if UI events should be returned to their own event context... 20180320 02:36:38<+discordbot1> implement a way for events to fall through to another context... 20180320 02:36:44< celticminstrel> So you're going to say "no" without even correcting me, okay. 20180320 02:36:57<+discordbot1> look 20180320 02:37:15<+discordbot1> I didn't get enough sleep, I'm tired, and this would require about half an hour of typing 20180320 02:37:17<+discordbot1> im sorry 20180320 02:37:30< celticminstrel> Okay. 20180320 02:39:35<+discordbot1> Suffice to say that no, that is a dialog base class and the map drawing and events need remain separate 20180320 02:39:46<+discordbot1> From the UI components of the same 20180320 02:40:22<+discordbot1> That does actually give me an idea though 20180320 02:40:26<+discordbot1> Hm 20180320 02:40:27< celticminstrel> Oh yeah, IIRC didn't I suggest that the ingame UI does not inherit from either modal_dialog or modeless_dialog? Did you do that? 20180320 02:40:37<+discordbot1> No 20180320 02:40:46<+discordbot1> It inherits from modeless 20180320 02:41:08< celticminstrel> Does it have a WML definition? It probably shouldn't, but I guess it would be okay if it does for the time being. 20180320 02:41:33<+discordbot1> Not the base class 20180320 02:42:18< celticminstrel> So it does. That's kinda unfortunate? 20180320 02:42:23<+discordbot1> I introduced a base class for ingame dialogs 20180320 02:42:25<+discordbot1> And what? 20180320 02:42:29<+discordbot1> Why?? 20180320 02:42:44< celticminstrel> I mean, are you planning to make GUI2 WML the ThemeWML? 20180320 02:42:53<+discordbot1> I dunno 20180320 02:42:55<+discordbot1> Maybe?? 20180320 02:43:11< celticminstrel> I don't think that's a good idea though. 20180320 02:43:19< celticminstrel> What's the class that inherits from the base? 20180320 02:43:28<+discordbot1> Game_ui 20180320 02:43:36<+discordbot1> That has the wml definition 20180320 02:44:09< celticminstrel> Uh, does scenario really belong in the base class? That doesn't really make sense to me? 20180320 02:44:30< celticminstrel> The map editor doesn't have a scenario, surely? 20180320 02:44:39< celticminstrel> If anything it has several. 20180320 02:44:47< celticminstrel> Or maybe none sometimes. 20180320 02:44:49<+discordbot1> please 20180320 02:44:57<+discordbot1> This is WIP 20180320 02:45:01< celticminstrel> Depends on whether non-scenario maps are also represented as a scenario in-memory. 20180320 02:45:06< celticminstrel> Well, okay, fair enough. 20180320 02:45:12<+discordbot1> I havenโ€™t figured everything out 20180320 02:45:25<+discordbot1> I havenโ€™t considered the editor 20180320 02:45:36<+discordbot1> Iโ€™m just trying to figure out a concrete design 20180320 02:45:41< celticminstrel> I don't think game_ui should have a GUI2 WML definition, ultimately, but it's probably easiest if it does for the time being. 20180320 02:45:51<+discordbot1> It absolutely should 20180320 02:46:03<+discordbot1> I donโ€™t want to write yet another damn syntax. 20180320 02:46:09<+discordbot1> And a parser 20180320 02:46:14<+discordbot1> To gui2 20180320 02:46:16< celticminstrel> So you would be okay if someone else did it for you? 20180320 02:46:31<+discordbot1> .....no 20180320 02:46:40<+discordbot1> Because youโ€™ll insist on a new theme wml 20180320 02:46:46< celticminstrel> Well obviously. 20180320 02:47:09<+discordbot1> ......WHY 20180320 02:47:12< celticminstrel> Though if you made GUI2 WML more user-friendly I might be okay with that being the theme WML. 20180320 02:47:31< celticminstrel> What do you mean, why> 20180320 02:47:33< celticminstrel> ^? 20180320 02:47:52<+discordbot1> Why do you want to introduce YET ANOTHER layout system 20180320 02:48:16< celticminstrel> What do you even mean by "yet another layout system"? 20180320 02:48:26< celticminstrel> Obviously we need a couple more layout systems in GUI2, like a border layout. 20180320 02:48:39<+discordbot1> Then improve gui2 20180320 02:49:00< celticminstrel> But that's not really what I'm thinking about when I say "a new theme WML"? 20180320 02:49:11<+discordbot1> I donโ€™t want a new theme wml 20180320 02:49:13< celticminstrel> It's more like a simplified GUI2 syntax specifically designed for the ingame UI. 20180320 02:49:33< celticminstrel> Well, like I said, making the GUI2 WML more user-friendly might also be satisfactory. 20180320 02:49:49< celticminstrel> But I think a new Theme WML would still be preferable. 20180320 02:50:46< celticminstrel> I mean, I'm pretty sure you could get rid of all the [row] and [column] tags in GUI2. 20180320 02:50:46<+discordbot1> And then youโ€™d need to write a parser to turn it into GUi2 20180320 02:50:54< celticminstrel> More or less? 20180320 02:51:02<+discordbot1> Perhaps you could do that 20180320 02:51:06< celticminstrel> I don't think that's an accurate description but it does at least get the general idea across. 20180320 02:51:19<+discordbot1> But youโ€™d need a good way to specify layout then 20180320 02:51:42< celticminstrel> It'd probably have tags like [menubar] and [panel]float=right and I dunno this is just off the top of my head here. 20180320 02:52:05< celticminstrel> I think it's a reasonable assumption in the in-game UI that you want the map in the centre and any other stuff around the edges. 20180320 02:52:16<+discordbot1> Can we just not touch any of that right now 20180320 02:52:21<+discordbot1> Ok??? 20180320 02:52:31< celticminstrel> Yeah, let's get the thing actually working before starting on a possible new Theme WML. 20180320 02:52:43< celticminstrel> Just like we should get it working before starting on spritesheets. 20180320 02:53:01<+discordbot1> Right now, it works as a gui2 modeless dialog that covers the entire screen and draws over the map 20180320 02:53:13< celticminstrel> So there's a "hole" in the dialog where the map is? 20180320 02:53:23<+discordbot1> Technically 20180320 02:53:37< celticminstrel> Do events pass through the hole or does the modeless dialog catch them? 20180320 02:53:58<+discordbot1> Everything passses through 20180320 02:54:09<+discordbot1> Everything passes through all the dialogs 20180320 02:54:13<+discordbot1> Thatโ€™s the problem 20180320 02:54:23<+discordbot1> Just.... Iโ€™m working on it 20180320 02:54:45< celticminstrel> Oh, so the modeless dialogs don't receive any events? 20180320 02:54:52<+discordbot1> It does 20180320 02:54:56< celticminstrel> Oh. 20180320 02:56:26<+discordbot1> Iโ€™m working on it 20180320 02:57:08< celticminstrel> I still want to finish schema stuff before getting back onto master though. 20180320 02:57:36< celticminstrel> That's probably mostly not related to the fact that master's in poor condition right now. 20180320 02:58:00< celticminstrel> And probably is related to the fact that I'd like to get any schema-found fixes in for 1.14. 20180320 02:58:11< celticminstrel> ...well no, you can scratch out the probably in that sentence. 20180320 03:10:14-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180320 03:10:48-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180320 03:38:42< irker760> wesnoth/wesnoth:master Sofartin c3ddb01543 Fixed Xcode project AppVeyor: 2/4 builds failed 20180320 03:38:43< irker760> Details vs2017/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1746 20180320 03:38:44< irker760> Details vs2015/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2042 20180320 04:03:35-!- JyrkiVesterinen [~JyrkiVest@85-23-197-3.bb.dnainternet.fi] has joined #wesnoth-dev 20180320 04:03:39-!- JyrkiVesterinen [~JyrkiVest@85-23-197-3.bb.dnainternet.fi] has left #wesnoth-dev [] 20180320 04:10:09< irker760> wesnoth: Sofartin wesnoth:master 9e73b49d867b / projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj: Fixed Xcode project https://github.com/wesnoth/wesnoth/commit/9e73b49d867ba6c63b817979b0295669da317d59 20180320 04:11:29-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] 20180320 04:17:31< irker760> wesnoth: Wedge009 wesnoth:master 899b4b73b2b1 / projectfiles/VC14/ (5 files): Update VC project files. https://github.com/wesnoth/wesnoth/commit/899b4b73b2b1819ffa41b35f7a276959e179c46e 20180320 04:26:19<+discordbot1> I don't see the point of build-time spritesheet generation at all. 20180320 04:26:38<+discordbot1> First of all, it would be a breaking change: it breaks compatibility with existing add-ons. 20180320 04:26:57<+discordbot1> And I fail to see any advantages, other than slightly faster load times. 20180320 04:41:19-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has joined #wesnoth-dev 20180320 04:41:20< travis-ci> wesnoth/wesnoth#17060 (master - 9e73b49 : Sofartin): The build is still failing. 20180320 04:41:20< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/355690009 20180320 04:41:20-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180320 05:05:50< irker760> wesnoth/wesnoth:master Wedge009 899b4b73b2 Update VC project files. AppVeyor: vs2015/Release Failed 20180320 05:05:51< irker760> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2049 20180320 05:21:15< irker760> wesnoth/wesnoth:master Charles Dang 123dd952c0 Made CVideo::render_screen private AppVeyor: 1/2 builds failed 20180320 05:21:16< irker760> Details vs2017/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1749 20180320 05:28:51-!- vultraz [uid24821@wesnoth/developer/vultraz] has quit [Quit: Connection closed for inactivity] 20180320 05:58:24<+discordbot1> should I create issues on github for the [for] loop weirdness, and the thread sanitizer warnings? or wait until master settles first? 20180320 06:01:35<+discordbot1> Please file bug reports. 20180320 06:03:01<+discordbot1> ok 20180320 06:13:17< irker760> wesnoth/wesnoth:master Charles Dang 625135eb0d Rename events::pump to events::run_event AppVeyor: 2/4 builds failed 20180320 06:13:18< irker760> Details vs2017/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1750 20180320 06:13:19< irker760> Details vs2015/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2046 20180320 07:42:10<+discordbot1> @pydsigner yeah, I might need some help 20180320 07:42:36<+discordbot1> like I'm not sure what expects me to put in that RE 20180320 07:43:28<+discordbot1> /whois for it gives irker760!~irker@uruz.ai0867.net 20180320 07:44:22<+discordbot1> but neither irker[0-9]@uruz.ai0867.net nor irker[0-9]!~irker@uruz.ai0867.net 20180320 07:44:27<+discordbot1> actually match it 20180320 07:44:40<+discordbot1> Use irker*!*irker@uruz.ai0867.net. 20180320 07:44:49<+discordbot1> That'd be the IRC n!u@h for it. 20180320 07:45:14<+discordbot1> yeah but it says it expect a RE 20180320 07:45:19<+discordbot1> The tilde just signifies that the username is not provided by an identd (which may change, hence the wildcard). 20180320 07:45:25<+discordbot1> Well there's your problem then. 20180320 07:45:45<+discordbot1> [0-9]* 20180320 07:45:51<+discordbot1> actually using this 20180320 07:45:52<+discordbot1> irker[0-9]+!*irker@uruz.ai0867.net 20180320 07:46:46<+discordbot1> discord just ate asterisk 20180320 07:46:49<+discordbot1> Forgot a character wildcard there. 20180320 07:46:53<+discordbot1> because I didn't use backticks 20180320 07:47:01-!- vultraz [uid24821@wesnoth/developer/vultraz] has joined #wesnoth-dev 20180320 07:47:05<+discordbot1> Ugh. Same. 20180320 07:47:07<+discordbot1> Let me do it again 20180320 07:47:28<+discordbot1> irker[0-9]+!.*irker@uruz\.ai0867\.net 20180320 07:47:51<+discordbot1> The nick part might not be needed, depends on exactly what the application expects. 20180320 07:48:11<+discordbot1> But that'd be the correct way to do it since the digits after the irker prefix are random. 20180320 07:48:52-!- discordbot1 [~discordbo@baldras.wesnoth.org] has quit [Remote host closed the connection] 20180320 07:50:03-!- discordbot1 [~discordbo@baldras.wesnoth.org] has joined #wesnoth-dev 20180320 07:50:06-!- mode/#wesnoth-dev [+v discordbot1] by ChanServ 20180320 07:50:10-!- discordbot1 [~discordbo@baldras.wesnoth.org] has quit [Remote host closed the connection] 20180320 07:50:21-!- discordbot1 [~discordbo@baldras.wesnoth.org] has joined #wesnoth-dev 20180320 07:50:21-!- mode/#wesnoth-dev [+v discordbot1] by ChanServ 20180320 07:51:08<+discordbot1> ah yes 20180320 07:51:13<+discordbot1> I didn't escape dots 20180320 07:51:42<+discordbot1> It shouldn't really be a problem because a period matches any character... 20180320 07:52:11<+discordbot1> but it will lack a dot then 20180320 07:52:33<+discordbot1> it will match uruzai0867net 20180320 07:53:11<+discordbot1> hmm or not 20180320 07:53:39<+discordbot1> It matches a character. 20180320 07:53:42<+discordbot1> Not the lack of one. 20180320 07:54:04<+discordbot1> goddamn confusing regexes 20180320 07:54:05<+discordbot1> Unless you use *, which matches 0 or more of the preceding expression. 20180320 07:54:21<+discordbot1> (+ matches 1 or more.) 20180320 07:54:52<+discordbot1> This is quite simple for a regex. They can get much more confusing than this. 20180320 07:55:47<+discordbot1> https://github.com/lalbornoz/discord-irc/blob/master/README.md 20180320 07:56:06<+discordbot1> example re is user@.+\\.domain\\.tld 20180320 07:56:26<+discordbot1> it doesn't include a ! 20180320 07:56:53<+discordbot1> #baddesign 20180320 07:56:58<+discordbot1> So, just the user? Try this regex: .*irker@uruz\.ai0867\.net 20180320 07:57:19<+discordbot1> Also that shows you need double-escaping, sadly. 20180320 07:57:34<+discordbot1> seems it's due to json 20180320 07:57:37<+discordbot1> Edited. 20180320 07:58:09<+discordbot1> why does it start with .*? 20180320 07:58:14<+discordbot1> Hm, I didn't think json defined escape sequences but I guess it makes sense since it's borrowed from Javascript. 20180320 07:58:25<+discordbot1> . means match any character, * means match 0 or more of the preceding expression. 20180320 07:58:34<+discordbot1> bot's name has numbers after name 20180320 07:58:40<+discordbot1> So in conjunction they're equivalent to a * glob. 20180320 07:58:42<+discordbot1> not before 20180320 07:58:54<+discordbot1> Hmm, indeed, .* may not be needed at the start. 20180320 07:59:10<+discordbot1> That's the username component of the nick!user@host mask. 20180320 07:59:23<+discordbot1> The nickname or the presence of digits in it is wholly irrelevant for this use case. 20180320 07:59:57<+discordbot1> The only reason why you might need the glob is in the event that AI decides to install identd and suddenly the hostmask changes to irker@hostname without the leading tilde. 20180320 08:01:03-!- discordbot1 [~discordbo@baldras.wesnoth.org] has quit [Remote host closed the connection] 20180320 08:01:13-!- discordbot1 [~discordbo@baldras.wesnoth.org] has joined #wesnoth-dev 20180320 08:01:16-!- mode/#wesnoth-dev [+v discordbot1] by ChanServ 20180320 08:01:29<+discordbot1> is there a way to make irker say something 20180320 08:01:33<+discordbot1> without making a commit 20180320 08:02:26< shadowm> Yes. 20180320 08:02:48< shadowm> Oh wait, I don't have the right SSH key on this machine. 20180320 08:03:16< shadowm> I'll have an event redelivered instead. 20180320 08:03:38< irker760> wesnoth: Wedge009 wesnoth:master 899b4b73b2b1 / projectfiles/VC14/ (5 files): Update VC project files. https://github.com/wesnoth/wesnoth/commit/899b4b73b2b1819ffa41b35f7a276959e179c46e 20180320 08:03:55<+discordbot1> Didn't work, it seems. 20180320 08:06:08-!- discordbot1 [~discordbo@baldras.wesnoth.org] has quit [Remote host closed the connection] 20180320 08:06:13< irker760> wesnoth/wesnoth:1.14 Hironori Fujimoto 7baeaef832 Rename variable so that it's role become AppVeyor: All builds passed 20180320 08:06:21-!- discordbot1 [~discordbo@baldras.wesnoth.org] has joined #wesnoth-dev 20180320 08:06:24-!- mode/#wesnoth-dev [+v discordbot1] by ChanServ 20180320 08:06:33<+discordbot1> try again 20180320 08:06:46< irker760> wesnoth: Wedge009 wesnoth:master 899b4b73b2b1 / projectfiles/VC14/ (5 files): Update VC project files. https://github.com/wesnoth/wesnoth/commit/899b4b73b2b1819ffa41b35f7a276959e179c46e 20180320 08:07:20<+discordbot1> ๐Ÿคท 20180320 08:08:42<+discordbot1> FYI for Discord 20180320 08:08:47<+discordbot1> and again 20180320 08:08:59<+discordbot1> use 3 of together encasing your code to do a quote 20180320 08:09:04<+discordbot1> 3 backticks 20180320 08:09:10<+discordbot1> ` symbol next to the 1 key 20180320 08:09:37<+discordbot1> yeah I know ty 20180320 08:09:41< irker760> wesnoth: Wedge009 wesnoth:master 899b4b73b2b1 / projectfiles/VC14/ (5 files): Update VC project files. https://github.com/wesnoth/wesnoth/commit/899b4b73b2b1819ffa41b35f7a276959e179c46e 20180320 08:11:10<+discordbot1> seems I'll have to peer at source to see what sort of irc name it actually matches against 20180320 08:11:28<+discordbot1> or maybe find some other working example configs by other ppl 20180320 08:11:35<+discordbot1> I think we're just going to have to disable irker on the dev channel for now. We can't keep having these reports here. 20180320 08:12:41<+discordbot1> Well, we're trying to figure this out vultraz. 20180320 08:13:10<+discordbot1> have the output in a dedicated staff-viewable only channel? 20180320 08:13:11<+discordbot1> Yes, but if it doesn't work. 20180320 08:13:15<+discordbot1> "We can't keep having these reports here" but at the same time it's perfectly fine that Git master is unplayable ๐Ÿ˜› 20180320 08:13:24<+discordbot1> ...... 20180320 08:13:28<+discordbot1> sighs 20180320 08:13:30<+discordbot1> that's not the point kive ๐Ÿ˜„ 20180320 08:13:40<+discordbot1> Vultraz is managing all the things, cut em some slack ๐Ÿ˜„ 20180320 08:14:05<+discordbot1> https://github.com/reactiflux/discord-irc/pull/325/commits/e420214f8ca028fd88ac77c627c091c710014c66 20180320 08:14:07<+discordbot1> It clearly wants just an u@h in regexp format from what I see in the source. 20180320 08:14:25<+discordbot1> perhaps the irker output could be redirected to a dedicated Discord channel in the meantime until the quirks are ironed out 20180320 08:14:31<+discordbot1> maybe a staff-readable-only channel 20180320 08:14:56<+discordbot1> You tried without the double backslash escaping already, right? 20180320 08:15:01<+discordbot1> u@h: what is "u" here? 20180320 08:15:03<+discordbot1> yes 20180320 08:15:13<+discordbot1> user@host 20180320 08:15:28<+discordbot1> I mean 20180320 08:15:35<+discordbot1> irker760 or ~irker 20180320 08:15:39<+discordbot1> For example I'm shadowm!~iris@wesnoth/developer/shadowm 20180320 08:15:50<+discordbot1> ~iris is the username bit. 20180320 08:15:59-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20180320 08:16:16<+discordbot1> ah, fuck, I deleted my VS15 projectfiles... 20180320 08:16:40<+discordbot1> Yeah when writing JS like this the double escaping is required... 20180320 08:16:50< irker760> wesnoth: Sofartin wesnoth:master 1e96d9c87b09 / projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj: Fixed Xcode Project https://github.com/wesnoth/wesnoth/commit/1e96d9c87b0905cbb90c7d52f928ffe223d45301 20180320 08:17:58<+discordbot1> In all honesty, given that we have #wesnoth-commits on IRC now I'm not sure what's the big need for irker in the first place. 20180320 08:18:11-!- discordbot1 [~discordbo@baldras.wesnoth.org] has quit [Remote host closed the connection] 20180320 08:18:20-!- discordbot1 [~discordbo@baldras.wesnoth.org] has joined #wesnoth-dev 20180320 08:18:23-!- mode/#wesnoth-dev [+v discordbot1] by ChanServ 20180320 08:18:40<+discordbot1> ~irker@uruz\\.ai0867\\.net 20180320 08:18:44<+discordbot1> using this now 20180320 08:18:47<+discordbot1> try it agian 20180320 08:18:48<+discordbot1> From the looks of it the bot in there will be better able to deal with things like large pushes (e.g. from merges). 20180320 08:19:09< irker760> wesnoth: Sofartin wesnoth:master 1e96d9c87b09 / projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj: Fixed Xcode Project https://github.com/wesnoth/wesnoth/commit/1e96d9c87b0905cbb90c7d52f928ffe223d45301 20180320 08:20:54<+discordbot1> gaaaa. Ok, gonna have to set up my VS15 solution again ๐Ÿ˜ฆ 20180320 08:20:54<+discordbot1> #wesnoth-commits is using some other bot? 20180320 08:21:07<+discordbot1> Yeah. 20180320 08:21:20<+discordbot1> which one? 20180320 08:22:07< irker760> wesnoth: Charles Dang wesnoth:master 5022a38608a3 / / (8 files in 2 dirs): Removed GUI1 Help interface code https://github.com/wesnoth/wesnoth/commit/5022a38608a3c95f4cbf243f2d74b3008b420be5 20180320 08:22:25<+discordbot1> @loonycyborg A bot. 20180320 08:23:14<+discordbot1> I really don't know exactly what bot it is since that's really Soliton's experiment. 20180320 08:23:31<+discordbot1> also irker seems to handle appveyor stuff too 20180320 08:24:17<+discordbot1> Codebot, apparently https://git.io/codebot 20180320 08:24:40<+discordbot1> Yep, AppVeyor uses a custom HTTP RPC that AI0867 implemented for irker. Irker reports the results of AppVeyor runs when they all finish, or when the first one fails. 20180320 08:27:17<+discordbot1> hmm I think I just need to add a print statement to discord irc in that function to see what it feeds to re ๐Ÿ˜› 20180320 08:27:57<+discordbot1> only I don't even know how you do that in JS 20180320 08:28:04<+discordbot1> @jyrkive where the setting to enable FastLTO instead of LTO again? 20180320 08:28:08<+discordbot1> in VS2017 20180320 08:30:14-!- vultraz [uid24821@wesnoth/developer/vultraz] has quit [Ping timeout: 256 seconds] 20180320 08:31:04<+discordbot1> Linker -> Optimization -> Link Time Code Generation. 20180320 08:31:18<+discordbot1> Also, I already enabled it in our project files. 20180320 08:31:21<+discordbot1> @loonycyborg console.log("blah blah blah") 20180320 08:31:27-!- vultraz [uid24821@wesnoth/developer/vultraz] has joined #wesnoth-dev 20180320 08:31:27<+discordbot1> you enabled FastLTO? 20180320 08:31:31<+discordbot1> Yes. 20180320 08:31:37<+discordbot1> sweet! 20180320 08:31:46<+discordbot1> I have no idea if that'll fly in Node.js, though. I have literally no experience using Node.js at all. 20180320 08:31:59<+discordbot1> now I just need to disable the windows_timeout thing 20180320 08:32:01<+discordbot1> Yes, console.log works in Node.js. 20180320 08:32:06<+discordbot1> At least when PM2 is used. 20180320 08:34:23< irker760> wesnoth: Charles Dang wesnoth:master 6ea405174e85 / projectfiles/VC14/ (wesnoth.vcxproj wesnoth.vcxproj.filters): Updated VS projectfile for 5022a38 https://github.com/wesnoth/wesnoth/commit/6ea405174e8574bc0b64ddbc3489a3103f67ba02 20180320 08:37:25<+discordbot1> I don't even know where to look for code to modify 20180320 08:38:29<+discordbot1> which discord-irc leads to just a wrapper script 20180320 08:38:42<+discordbot1> Log prefix in this line? 20180320 08:38:43<+discordbot1> https://github.com/reactiflux/discord-irc/pull/325/commits/e420214f8ca028fd88ac77c627c091c710014c66#diff-7202bb7fb017faefd425a2af32df2f9dR114 20180320 08:38:48<+discordbot1> You could wire it into ignoredIrcUser() in lib/bot.js but it'll be noisy. 20180320 08:39:04<+discordbot1> Since that's checked for every single IRC user. 20180320 08:39:34<+discordbot1> I mean I don't know where nodejs is keeping installed apps 20180320 08:39:53<+discordbot1> Another option is to have it dump the contents of this.ignoreUsers.irc around line 44 in the same file. 20180320 08:40:02<+discordbot1> View the process list with htop or something? 20180320 08:40:04<+discordbot1> It should be an array of regexps. 20180320 08:40:31<+discordbot1> it will only show nodejs itself probably 20180320 08:40:35<+discordbot1> (Actually strings that are regexp fragments.) 20180320 08:40:47<+discordbot1> You used npm or something to install it? 20180320 08:40:54<+discordbot1> yes 20180320 08:41:00<+discordbot1> Yes, but it would also show the path of the root JavaScript file in a command-line parameter. 20180320 08:42:15<+discordbot1> loonycy+ 14385 0.0 4.5 1206668 48076 pts/12 Sl+ 05:18 0:00 node /usr/bin/discord-irc --config /home/loonycyborg/discord-irc.json 20180320 08:43:11<+discordbot1> /usr/lib/node_modules/discord-irc/dist/bot.js is probably the right file. 20180320 08:44:34<+discordbot1> Uh. 20180320 08:44:39<+discordbot1> What version do you have installed? 20180320 08:45:17<+discordbot1> This looks considerably different to the code on GitHub. Most importantly I don't see any code to ignore IRC users. 20180320 08:45:45<+discordbot1> npm ls | grep discord-irc? 20180320 08:45:50<+discordbot1> I know it's the right file otherwise because it has the correct class and much of the same functionality. 20180320 08:45:52<+discordbot1> Maybe it's an older version. 20180320 08:47:10<+discordbot1> Yep, definitely older. 20180320 08:47:22<+discordbot1> npm update should fix that. 20180320 08:52:49<+discordbot1> Well, I believe the solution to that problem will turn out to be trivial once he updates the bot. 20180320 08:53:06<+discordbot1> AppVeyor can't report here directly though, can it? 20180320 08:54:11<+discordbot1> Maybe? 20180320 08:54:34<+discordbot1> If it had an appropriate webhook set up 20180320 08:54:45<+discordbot1> will look into updating this stuff 20180320 08:55:01<+discordbot1> though somehow filtering github bot from discord works already 20180320 08:55:17<+discordbot1> I didn't find any existing Discord bot for AppVeyor in a quick search. 20180320 08:55:20<+discordbot1> That's because the GitHub "bot" is not a bot. 20180320 08:55:22<+discordbot1> probably currently installed version just contains different check for irc 20180320 08:55:36<+discordbot1> It's actually a webhook writing directly to Discord. 20180320 08:55:40<+discordbot1> ^ 20180320 08:55:49<+discordbot1> I assume AV could too 20180320 08:56:09<+discordbot1> So if anything that just shows that the IRC bridge bot can't handle webhook output on Discord. 20180320 08:57:26<+discordbot1> hmm interesting 20180320 08:57:30<+discordbot1> Also a cursory glance at the code of the currently installed version of the bot reveals that it doesn't have any of the ignore functionality that the version on GH master does. 20180320 08:57:41<+discordbot1> well, no wonder, then 20180320 08:57:48<+discordbot1> npm update didn't update it either 20180320 08:58:02<+discordbot1> github output not appearing on irc confused me 20180320 08:58:29<+discordbot1> It looks like the commit you linked doesn't belong in any tags. 20180320 08:58:50<+discordbot1> October 2017, GH doesn't list any descendant tags for it. 20180320 08:59:22<+discordbot1> On the other hand it does look like there's been new releases since then. In particular v2.5.1 should be the latest. 20180320 09:00:08<+discordbot1> seems discord-irc 2.4.2 is installed currently 20180320 09:00:25<+discordbot1> glorious internet speed strikes again ๐Ÿ˜Ÿ 20180320 09:00:25<+discordbot1> https://cdn.discordapp.com/attachments/259976436490829825/425579353024233492/unknown.png 20180320 09:00:54<+discordbot1> @loonycyborg Try npm outdated. 20180320 09:01:05<+discordbot1> Oh I see why. 20180320 09:01:08<+discordbot1> You linked part of a PR. 20180320 09:01:35<+discordbot1> npm outdated lists some packages 20180320 09:01:43<+discordbot1> but they don't seem to be related 20180320 09:01:51<+discordbot1> On master, the only ignore functionality that there is is nick-based. 20180320 09:02:01<+discordbot1> They may be dependencies of discord-irc. 20180320 09:02:14<+discordbot1> https://github.com/reactiflux/discord-irc/blob/master/lib/bot.js#L291 20180320 09:02:30<+discordbot1> https://github.com/reactiflux/discord-irc/blob/master/lib/bot.js#L273 20180320 09:02:43<+discordbot1> also npm update gives a lot of messages about missing peer dependencies 20180320 09:03:23<+discordbot1> npm WARN discord.js@11.3.0 requires a peer of bufferutil@^3.0.3 but none is installed. You must install peer dependencies yourself. 20180320 09:03:29<+discordbot1> This is the upstream repository, right? 20180320 09:03:49<+discordbot1> yes 20180320 09:03:51<+discordbot1> Yep it is. 20180320 09:04:00<+discordbot1> Hmm. I have never run into those "peer dependencies". 20180320 09:04:02<+discordbot1> So you were trying to use a feature that is only available in a fork. :p 20180320 09:04:25<+discordbot1> Even nick-based ignoring would work. 20180320 09:04:36<+discordbot1> Either you'll have to trust and use the fork, or port the feature over to the upstream yourself, or ignore all potential 999 nicks for irkers. 20180320 09:05:00<+discordbot1> Or hack a regex check of your own in there. 20180320 09:05:45<+discordbot1> Oh. I see. The bot, in its master version, doesn't even support regex in ignore patterns. 20180320 09:05:59<+discordbot1> yes 20180320 09:06:13<+discordbot1> (As for why the PR hasn't been merged... who knows, really: https://github.com/reactiflux/discord-irc/pull/325) 20180320 09:06:48<+discordbot1> (Probably something to do with the last comment.) 20180320 09:07:00<+discordbot1> they postponed it til next major release 20180320 09:07:12<+discordbot1> because it breaks compatility with existing scripts 20180320 09:07:24<+discordbot1> Well, it's also possible to install NPM packages directly from GitHub. 20180320 09:07:25<+discordbot1> https://docs.npmjs.com/files/package.json#repository 20180320 09:07:37<+discordbot1> Including lalbornoz's fork. 20180320 09:08:14<+discordbot1> If you'd prefer to not trust the fork I can quickly come up with a hack of my own to ignore irker after you update to the newest upstream version. 20180320 09:10:00<+discordbot1> hmm 20180320 09:10:09<+discordbot1> I think I installed it with some option 20180320 09:10:20<+discordbot1> so it would appear in path 20180320 09:10:22<+discordbot1> (need to go to bed now though, night) 20180320 09:10:32<+discordbot1> Good night. ๐ŸŒƒ 20180320 09:10:42<+discordbot1> and now version in path is out-of-sync 20180320 09:10:43<+discordbot1> nn 20180320 09:11:09-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has joined #wesnoth-dev 20180320 09:11:10< travis-ci> wesnoth/wesnoth#17062 (master - 1e96d9c : Sofartin): The build has errored. 20180320 09:11:11< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/355739471 20180320 09:11:11-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180320 09:12:07<+discordbot1> For installing Sass on the web server I just gem installed to the (non-privileged) user account, made symlinks in $HOME/bin to the required binaries and called it a day. 20180320 09:12:21<+discordbot1> That's my approach at dealing with extraneous package managers. 20180320 09:13:13<+discordbot1> I don't like having them mess with system directories because those are supposed to be the purview of the system's package manager, which in this case is apt/dpkg. 20180320 09:14:19<+discordbot1> is surprised nobody has pointed out the recent "npm destroying everything" fiasco. 20180320 09:14:26<+discordbot1> ok now I actually updated discord-irc 20180320 09:14:36<+discordbot1> to 2.5.1 20180320 09:14:47<+discordbot1> sudo npm install -g discord-irc 20180320 09:15:06<+discordbot1> was kinda afraid it'll delete all files in there instead ๐Ÿ˜› 20180320 09:15:30-!- discordbot1 [~discordbo@baldras.wesnoth.org] has quit [Remote host closed the connection] 20180320 09:15:39-!- discordbot1 [~discordbo@144.76.5.6] has joined #wesnoth-dev 20180320 09:16:05< loonycyborg> test 20180320 09:16:36< discordbot1> I see you 20180320 09:17:17< discordbot1> and it looks like my Ignore of discordbot on irc no longer works 20180320 09:17:30< vn971> dammit, IDK why, but one add-ons refuses to be updated with the same password that I didn't really change (I think). Will have to ask for password reset. Soliton: can you help me with that please? I'll share confirming email or anything needed privately. 20180320 09:17:41< vn971> * one of my add-ons 20180320 09:18:53< irker760> wesnoth/wesnoth:master Charles Dang 6ea405174e Updated VS projectfile for 5022a38 AppVeyor: vs2017/Release Failed 20180320 09:18:54< irker760> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1757 20180320 09:19:16< discordbot1> what shadowm was referring to: http://www.businessinsider.com/npm-left-pad-controversy-explained-2016-3 20180320 09:19:33< discordbot1> almost 2 years old in about 3 days ๐Ÿ˜„ 20180320 09:20:09< discordbot1> No, it wasn't that issue. 20180320 09:20:10< discordbot1> https://www.techrepublic.com/article/series-of-critical-bugs-in-npm-are-destroying-server-configurations/ 20180320 09:20:28< discordbot1> He was referring to that instance when npm started acting like rm -rf / 20180320 09:22:24< irker760> wesnoth/wesnoth:1.14 Hironori Fujimoto 1a1933c4e3 Rename variable so that it's role become AppVeyor: All builds passed 20180320 09:27:13< discordbot1> rebuilding 20180320 09:27:21< discordbot1> Uninstalled bumblebee. No more /usr, no more problems. 20180320 09:27:38< discordbot1> hoping no problems with the libcrypto update 20180320 09:35:30-!- discordbot1 [~discordbo@144.76.5.6] has quit [Remote host closed the connection] 20180320 09:35:46-!- discordbot1 [~discordbo@144.76.5.6] has joined #wesnoth-dev 20180320 09:40:08-!- discordbot1 [~discordbo@144.76.5.6] has quit [Remote host closed the connection] 20180320 09:40:17-!- discordbot1 [~discordbo@baldras.wesnoth.org] has joined #wesnoth-dev 20180320 09:40:18-!- mode/#wesnoth-dev [+v discordbot1] by ChanServ 20180320 09:44:09<+discordbot1> hm.. 20180320 09:44:24<+discordbot1> @jyrkive one last question - how do I disable the wml tests on build? 20180320 09:44:42<+discordbot1> It's a post-build event. 20180320 09:57:12<+discordbot1> I've found the post build section, but it just says "different options".. 20180320 09:57:35<+discordbot1> Select the Release configuration in the top-left corner. 20180320 09:57:45<+discordbot1> (Assuming you're making a Release build.) 20180320 09:57:49<+discordbot1> ohhh 20180320 09:57:52<+discordbot1> thanks 20180320 10:05:51< irker760> wesnoth/wesnoth:master Wedge009 899b4b73b2 Update VC project files. AppVeyor: 2/4 builds failed 20180320 10:05:52< irker760> Details vs2015/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2049 20180320 10:05:53< irker760> Details vs2017/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1753 20180320 10:08:20< irker760> wesnoth: Charles Dang wesnoth:master 28d2be4bec1b / / (22 files in 6 dirs): Removed a whole bunch of GUI1 stuff https://github.com/wesnoth/wesnoth/commit/28d2be4bec1b79faf2f55e671d1f16ad16b9d283 20180320 10:10:04-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180320 10:34:23-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has joined #wesnoth-dev 20180320 10:34:24< travis-ci> wesnoth/wesnoth#17064 (master - 28d2be4 : Charles Dang): The build is still failing. 20180320 10:34:25< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/355775461 20180320 10:34:25-!- travis-ci [~travis-ci@ec2-54-166-88-144.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180320 10:49:00< irker760> wesnoth/wesnoth:master Charles Dang 28d2be4bec Removed a whole bunch of GUI1 stuff AppVeyor: vs2015/Release Failed 20180320 10:49:01< irker760> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2054 20180320 10:50:16< Soliton> vn971: well, mention addon name and wesnoth version. 20180320 10:50:53-!- octalot [~steve@77.119.130.6.wireless.dyn.drei.com] has quit [Ping timeout: 240 seconds] 20180320 10:53:31< vn971> Soliton: "pick_advance" by Vasya N, both versions.. 20180320 10:54:59< Soliton> that's not on 1.14 afaict. 20180320 10:55:20< Soliton> perhaps you missed the switch to the 1.14 campaignd. 20180320 10:56:06< Soliton> i can reset it on 1.12 though if you like. 20180320 11:10:40-!- discordbot1 [~discordbo@baldras.wesnoth.org] has quit [Remote host closed the connection] 20180320 11:11:34< irker760> wesnoth: Charles Dang wesnoth:master 0b8e86df8519 / src/help/ (help.cpp help.hpp): Help: formatting/doc/include cleanup https://github.com/wesnoth/wesnoth/commit/0b8e86df8519e61e5e79f71f53ee3117d19e44f1 20180320 11:11:37< irker760> wesnoth: Charles Dang wesnoth:master 239fde451a33 / / (9 files in 4 dirs): Removed the old surface drawing queue implementation, except for the layer enum https://github.com/wesnoth/wesnoth/commit/239fde451a3383e3fdb3003f57c41ff3425d1056 20180320 11:11:51-!- discordbot1 [~discordbo@144.76.5.6] has joined #wesnoth-dev 20180320 11:11:55< discordbot1> @loonycyborg did it work? O_O 20180320 11:12:34< discordbot1> I think it should already 20180320 11:12:42< discordbot1> though your last commits were too close in time 20180320 11:12:48< discordbot1> exactly when I restarted it 20180320 11:12:53< discordbot1> heh 20180320 11:13:01< discordbot1> I'm not sure maybe they were when bot was down 20180320 11:13:24< loonycyborg> they definitely are 20180320 11:13:44< loonycyborg> bot leaves irc -> irker announces commits -> bot returns 20180320 11:13:49< loonycyborg> goddamn coincidence 20180320 11:14:10< discordbot1> justright 20180320 11:22:31< discordbot1> hmmmm 20180320 11:26:44-!- kallaballa [~amir@62-46-71-249.hdsl.highway.telekom.at] has joined #wesnoth-dev 20180320 11:30:10-!- kallaballa [~amir@62-46-71-249.hdsl.highway.telekom.at] has quit [Client Quit] 20180320 11:32:28< discordbot1> I'm kinda reconsidering my original notion of having some sort of gamemap GUI2 widget (obviously, it wouldn't be a direct copy of display) It might solve a few problems.. * Map size. With ThemeWML you end up specifying the exact map rect. That's what's being used right now. However, I made the topbar slightly taller, and it therefor slightly eclipses the map. Not an issue right now, but say, what if in the future we want (as ancestral is 20180320 11:32:29< discordbot1> proposing) to make the sidebar a bit wider? I had been pondering some method where in the UI dialog could calculate the amount of "dead space" for the map to draw in, but it seems like it could make sense to allow the GUI2 layout engine to calculate the appropriate space. * Events. I'm not 100% sure, but I think it might alleviate some of the event issues I've been having... 20180320 11:34:47< discordbot1> (obviously, such a widget would not utilize the GUI2 canvas, except for the map background. It would still have its own DRAW hook to draw everything) 20180320 11:35:34< discordbot1> The layers of game rendering: 1. Low-level primitives. Sprites, hexes and the like. 2. Ingame. Implemented with primitives. 3. GUI. Implemented with primitives. Implementing ingame rendering with GUI doesn't make any sense. 20180320 11:37:12< discordbot1> I'm not proposing implementing the rendering with the UI system. I'm proposing letting the UI handle the caculation of map are and placement and event dispatching. 20180320 11:37:53< discordbot1> the actual rendering of the map would still be delegated to its own class and would be done with primitives 20180320 11:38:15< discordbot1> Well, ingame still needs full control of rendering everything, including the GUI. 20180320 11:38:39< discordbot1> the widget would essentially be a canvas layer that says "ok, here, you can render the gamemap here". 20180320 11:39:19-!- gfgtdf [~chatzilla@x4e3687a6.dyn.telefonica.de] has joined #wesnoth-dev 20180320 11:39:50< discordbot1> Essentially, there would be layers of rendering, like 1. Terrain 2. Units 3. Foreground decorations 4. Halos 5. Labels 6. GUI 20180320 11:40:37< discordbot1> Then how do you propose dealing with the map area problem? 20180320 11:40:55< discordbot1> By rendering the GUI after the map area. 20180320 11:41:11< discordbot1> Something needs to define the map area. 20180320 11:41:41< discordbot1> The map area is everything except where GUI is rendered. 20180320 11:42:32< discordbot1> Wherein we have circular reason. We render the gamemap before the UI in the places where the UI is not rendered. 20180320 11:42:52< discordbot1> No, we render it in the entire window. 20180320 11:43:00< discordbot1> Then we render GUI on top. 20180320 11:43:20< discordbot1> oh? 20180320 11:43:31< discordbot1> ...interesting 20180320 11:43:54< discordbot1> but how to we prevent a big chunk of the map being cut off? 20180320 11:44:04< discordbot1> allow scrolling further? 20180320 11:44:57< discordbot1> Of course, the scrolling code needs to take the UI into account. 20180320 11:45:09< discordbot1> So it needs to know how large the top bar and sidebar are. 20180320 11:45:13< discordbot1> hmmmmmm 20180320 11:45:26< discordbot1> Yeah, that makes sense 20180320 11:45:46< discordbot1> It's a one-off case that's only needed with ingame UI. It doesn't need to be an integral part of GUI2, just something that works in the ingame view. 20180320 11:46:00< discordbot1> actually seems a lot better than what we have right now where the map only renders in a specific area 20180320 11:55:11< discordbot1> alright, then, i need to figure out the proper way to allow events to fall through contexts like you suggested 20180320 11:55:13< irker760> wesnoth/wesnoth:master Charles Dang 239fde451a Removed the old surface drawing queue im AppVeyor: vs2015/Release Failed 20180320 11:55:14< irker760> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2055 20180320 11:57:15< discordbot1> or...hmm... 20180320 11:58:08< discordbot1> GAH. Ok, do I want the UI in its own event context, or do I want everything in one event context. 20180320 11:58:13< discordbot1> thinks 20180320 11:58:40< discordbot1> It seems it would make sense to keep it in its own context 20180320 11:59:06< discordbot1> nice 20180320 11:59:16< discordbot1> what? 20180320 11:59:19< loonycyborg> seems irker is filtered now 20180320 11:59:36< discordbot1> ๐Ÿ˜„ 20180320 12:00:09< discordbot1> though it was irker about appveyor 20180320 12:03:02< discordbot1> ..........wait a minute 20180320 12:03:22< discordbot1> with the old way this was set up, a new event context was constructed as soon as a dialog opened 20180320 12:03:58< discordbot1> @jyrkive @shadowm I made a checkout of discord-irc, checked out 2.5.1 tag and and merged that pr there 20180320 12:04:21< discordbot1> running it directly from that checkout 20180320 12:06:43< discordbot1> though come to think of it, I'm not sure how the modal dialogs ensured only the top-most dialog got events? 20180320 12:07:01< discordbot1> By creating yet another event context. 20180320 12:07:14< discordbot1> In 1.13, every dialogs gets its own event context.' 20180320 12:07:22< discordbot1> Only the topmost one receives events. 20180320 12:07:34< discordbot1> ...really? That'snot what the code seemed to indicate 20180320 12:08:38< discordbot1> it was only created of dispatchers_ was empty. 20180320 12:11:14< discordbot1> it looks more like there was a single event context that existed whenever an UI window was up 20180320 12:21:20< discordbot1> but maybe I'll try something like that 20180320 12:24:59< discordbot1> Looks like the code in sdl_event_handler (which is responsible for sending SDL events to GUI2) is here: https://github.com/wesnoth/wesnoth/blob/625135eb0dedd60c32f7702290c213fddff225cb/src/gui/core/event/handler.cpp#L530 20180320 12:25:24< discordbot1> As far as I can tell, mouse_behavior is all by default. 20180320 12:25:49< discordbot1> Therefore, sdl_event_handler passes the event to the last registered dispatcher, then returns. 20180320 12:26:04< discordbot1> The last dispatcher is always a part of the last-opened window. 20180320 12:26:27-!- vultraz [uid24821@wesnoth/developer/vultraz] has quit [Quit: Connection closed for inactivity] 20180320 12:26:30< discordbot1> Earlier windows have their own dispatchers, but they never see the event. 20180320 12:28:11< discordbot1> GUI2 also allows modeless dialogs to be implemented by changing mouse_behavior so that the event will be passed to other dialogs (optionally depending on whether the player clicked the dialog or not). 20180320 12:28:25< vn971> wait guys, is 1.14 add-ons a separate thing? I thought we were planning to rename 1.13 into it. 20180320 12:28:27< discordbot1> so you think the "one context per modal dialog" is not optimal? 20180320 12:28:37< discordbot1> vn971: it's a new instance 20180320 12:28:52< discordbot1> you need to reupload your addons 20180320 12:28:54< discordbot1> Who knows what mordante's reasoning is. 20180320 12:29:00< vn971> Vultraz ok thank you, will publish my add-ons in it then. 20180320 12:29:42< discordbot1> mordante's reasoning is impossible to know 20180320 12:30:12< discordbot1> In general, GUI2 really likes to implement everything in its own way, without relying much on Wesnoth's engine. 20180320 12:30:34< discordbot1> But I have to say that it appears to be very flexible and well engineered. 20180320 12:30:43< discordbot1> indeed 20180320 12:33:31< discordbot1> i wish we knew what his plan for the main gamemap was 20180320 12:33:47< discordbot1> Did he say he had one? 20180320 12:33:48< discordbot1> I know he was beginning the lay the groundwork... 20180320 12:34:21< discordbot1> for example, in the gamemap_width, gamemap_height, and gamemap_x_offset, variables 20180320 12:34:34< discordbot1> things like the matrix widget and the viewport 20180320 12:35:22< discordbot1> he definitely had at least some idea of where he wanted to go before he abandoned the porject --- Log opened Tue Mar 20 12:52:22 2018 20180320 13:39:50-!- lobby [~wesnoth@baldras.wesnoth.org] has joined #wesnoth-dev 20180320 13:39:50-!- Topic for #wesnoth-dev: 1.13.12 (1.14 RC1) tagged, announcing soon | Wesnoth Developers Channel | >>> Want to help? Go here: https://r.wesnoth.org/t42911 (and thanks!) <<< | Discord Server: https://discord.gg/battleforwesnoth | Logs: http://irclogs.wesnoth.org | Bug tracker: https://bugs.wesnoth.org 20180320 13:39:50-!- Topic set by vultraz [uid24821@wesnoth/developer/vultraz] [Sun Mar 18 08:01:21 2018] 20180320 13:39:50[Users #wesnoth-dev] 20180320 13:39:50[ aeth ] [ EliDupree ] [ lobby ] [ Soliton_ ] 20180320 13:39:50[ AI0867 ] [ esr ] [ madmax28 ] [ stikonas ] 20180320 13:39:50[ aidanhs ] [ galegosimpatico] [ matthiaskrgr] [ syrma[m] ] 20180320 13:39:50[ APic ] [ Gambit ] [ midzer ] [ TadCarlucci ] 20180320 13:39:50[ Appleman1234 ] [ gfgtdf ] [ minzbonbon ] [ TC01 ] 20180320 13:39:50[ atarocch ] [ heirecka ] [ new_one ] [ TheJJ_ ] 20180320 13:39:50[ Bonobo ] [ higgins ] [ nore ] [ timotei_ ] 20180320 13:39:50[ ChipmunkV[m] ] [ irker760 ] [ nurupo ] [ vihta ] 20180320 13:39:50[ commavir ] [ Ivanovic ] [ oldlaptop ] [ vincent_c ] 20180320 13:39:50[ crimson_penguin] [ janebot ] [ Polsaker ] [ vladimirslavik] 20180320 13:39:50[ DDR ] [ Jetrel_bot ] [ pydsigner ] [ vn971 ] 20180320 13:39:50[ DeFender1031 ] [ jrabe ] [ Ravana_ ] [ wedge009 ] 20180320 13:39:50[ elias ] [ Kawa[m] ] [ Rhonda ] [ zookeeper ] 20180320 13:39:50-!- Irssi: #wesnoth-dev: Total of 52 nicks [0 ops, 0 halfops, 0 voices, 52 normal] 20180320 13:39:53-!- Home page for #wesnoth-dev: https://www.wesnoth.org 20180320 13:39:57-!- Channel #wesnoth-dev created Tue Jan 27 05:28:41 2009 20180320 13:40:53-!- Irssi: Join to #wesnoth-dev was synced in 71 secs 20180320 14:03:41-!- vslavik [vslavik@nat/redhat/x-dvidcfnduuqogehl] has joined #wesnoth-dev 20180320 14:05:13-!- vladimirslavik [vslavik@nat/redhat/x-hnkblzhczaufzeok] has quit [Ping timeout: 240 seconds] 20180320 14:14:18-!- Soliton [~Soliton@wesnoth/developer/soliton] has joined #wesnoth-dev 20180320 14:15:28-!- Soliton_ [~gunter@intranet.asinteg.de] has quit [Quit: Leaving.] 20180320 14:17:15-!- loonycyborg [~loonycybo@wesnoth/developer/loonycyborg] has joined #wesnoth-dev 20180320 14:18:53< irker760> wesnoth/wesnoth:master Charles Dang 6ea405174e Updated VS projectfile for 5022a38 AppVeyor: 2/4 builds failed 20180320 14:18:54< irker760> Details vs2017/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1757 20180320 14:18:55< irker760> Details vs2015/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2053 20180320 14:20:40-!- discordbot1 [~discordbo@baldras.wesnoth.org] has joined #wesnoth-dev 20180320 14:20:43-!- mode/#wesnoth-dev [+v discordbot1] by ChanServ 20180320 14:39:49-!- Bonobo [~Bonobo@203.63.93.247] has quit [Ping timeout: 256 seconds] 20180320 15:11:03-!- vslavik__ [vslavik@nat/redhat/x-hrnkhurwnahlustq] has joined #wesnoth-dev 20180320 15:13:27-!- vslavik [vslavik@nat/redhat/x-dvidcfnduuqogehl] has quit [Ping timeout: 240 seconds] 20180320 15:49:00< irker760> wesnoth/wesnoth:master Charles Dang 28d2be4bec Removed a whole bunch of GUI1 stuff AppVeyor: 1/2 builds failed 20180320 15:49:01< irker760> Details vs2015/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2054 20180320 15:57:15< vn971> hm, wesnoth master doesn't build for me now. Says something's wrong with "texture" 20180320 16:30:12-!- shadowm [~iris@wesnoth/developer/shadowm] has joined #wesnoth-dev 20180320 16:32:07<+discordbot1> @loonycyborg Yeah, she was referring to npm breaking permissions on everything. 20180320 16:34:19<+discordbot1> It's not the first bug of that nature I've ever heard of on anything (see also bumblebee's make uninstall deleting /usr) and it wasn't technically a production version, but that kind of thing makes you wonder what goes through the heads of the developers. 20180320 16:36:38<+discordbot1> As well as the users who blindly trust said developers. I mean, everyone and their dog right now is into looking at a web page and copy-pasting a command that usually goes like this curl blah blah blah | sudo bash. 20180320 16:38:16<+discordbot1> I saw some really clever commands that look inpenetrable but end up doing "rm -rf / --no-preserve-root" or something like that ๐Ÿ˜› 20180320 16:39:30<+discordbot1> mostly on troll sites like lurkmore.to 20180320 16:43:27<+discordbot1> @Vultraz I like the idea of gamemap widget. That makes a good building block. As far as I see, it doesn't contradict to what @jyrkive said about rendering order: gamemap will just be rendered in a specific area, with whatever dialogs on top. 20180320 16:44:01<+discordbot1> The important part is that ingame should be in control of all rendering. 20180320 16:44:13<+discordbot1> Ingame controls GUI rendering, not the other way around. 20180320 16:44:58<+discordbot1> Does it need to control the look of, er, load dialog, or what else? Sidebar? 20180320 16:45:40<+discordbot1> The way a graphics pipeline works is that it goes through all the layers, one by one. 20180320 16:45:56<+discordbot1> Every layer generates a list of rendering operations, which is stored. 20180320 16:46:16<+discordbot1> At the end, the rendering operations are all submitted to the GPU. 20180320 16:46:24<+discordbot1> Guess what GUI is? One layer. 20180320 16:46:50<+discordbot1> Now, the way in which each layer generates rendering operations is up to that layer. 20180320 16:47:08<+discordbot1> Therefore, the code that generates GUI rendering operations is part of GUI2, not ingame. 20180320 16:47:28<+discordbot1> But it's code that ingame calls, rather than ingame being code that GUI calls. 20180320 16:51:42<+discordbot1> ะ†ั‰ะบะบะฝะฑ I still don't see it. What is this "ingame"? Let's call it a "rendering engine". Rendering engine can: a) take the gamemap widget(s) from GUI and generate all drawing operations for it. b) enumerate GUI windows and generate drawing operations for them. Where's a contradiction? 20180320 16:52:27<+discordbot1> It's simply a completely wrong way of looking at the operation of a rendering engine. 20180320 16:53:31<+discordbot1> You're taking one part of a rendering pipeline, and viewing the whole thing from the perspective of that part. 20180320 16:53:53<+discordbot1> Maybe. I haven't worked with game engines, but worked with quite some GUI toolkits. 20180320 16:54:11<+discordbot1> Reading into what you wrote once again. 20180320 16:55:13< irker760> wesnoth/wesnoth:master Charles Dang 239fde451a Removed the old surface drawing queue im AppVeyor: 2/4 builds failed 20180320 16:55:14< irker760> Details vs2015/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2055 20180320 16:55:15< irker760> Details vs2017/Release: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1759 20180320 16:58:32<+discordbot1> Effectively, with the way you suggest to implement rendering, there would be two rendering pipelines. The high-level rendering pipeline, which takes operations from GUI, and the low-level rendering pipeline, which generates operations to draw the game map. Then the drawing process would be: 1) draw some GUI stuff (GUI), 2) draw the game map (pipeline 1), 3) draw more GUI stuff (GUI), and 4) merge it all together and draw 20180320 16:58:33<+discordbot1> (pipeline 2). 20180320 16:58:47<+discordbot1> That's more complex than just having one rendering pipeline. 20180320 17:02:03-!- vslavik__ [vslavik@nat/redhat/x-hrnkhurwnahlustq] has quit [Quit: Leaving] 20180320 17:02:34<+discordbot1> I don't see where you read 1), or why a gamemap widget implies it. My idea is still start with 2), just ask GUI what are the widget coordinates to clip the map view. All in one pass. Or do you mean that GUI doesn't need to be rendered each frame, and that's the reason it's a different pipeline? 20180320 17:03:46<+discordbot1> Moving the drawing of the game map to the beginning wouldn't simplify it at all. 20180320 17:05:20<+discordbot1> I mean, 1) is not intended to be there. Just 2) and 3). 20180320 17:05:41<+discordbot1> 4) can't be skipped. 20180320 17:09:05<+discordbot1> OK, no 1) then. Why cannot 4) be skipped? Does rendering engine render everything each frame? Do the rendering commands from GUI get cached between frames? 20180320 17:09:40<+discordbot1> There has to be a rendering pipeline that's in control of the entire process. Sorting rendering operations, sending them all to the GPU, tha sort of thing. 20180320 17:09:51<+discordbot1> I fyou skip that step, you get a nice black screen. 20180320 17:10:09<+discordbot1> That nhas to live above the GUI. 20180320 17:11:02<+discordbot1> And it's better to use the same code that already draws the game map and needs to perform similar stuff (including handling all layers except the GUI!) 20180320 17:12:05<+discordbot1> You're just taking one layer and trying to view the whole process from its perspective. 20180320 17:16:47<+discordbot1> If you want, you can also view how some commercial game engines work. For example, Unity has documented the process somewhat here: https://docs.unity3d.com/2018.1/Documentation/Manual/ScriptableRenderPipeline.html 20180320 17:16:50<+discordbot1> I think we're talking about two different things. OK, can we start over please, with one more premise: I'm proposing to change how rendering works at all. I don't know it and don't wont to disturb things there. The proposal is only about where the lists of objects to be rendered are kept in GUI2. 20180320 17:17:38< Soliton> there seems to be a not missing there somewhere. 20180320 17:18:08<+discordbot1> It's simple. Ingame rendering engine has a reference to the OpenGL context (which stores the list of rendering operations). 20180320 17:18:14<+discordbot1> true 20180320 17:18:23<+discordbot1> It draws ~5 layers of graphics. 20180320 17:18:26<+discordbot1> I'm not proposing to change how rendering works at all. 20180320 17:18:49<+discordbot1> Then it tells the GUI to draw itself, passing that reference to the OpenGL context to its draw method. 20180320 17:19:04<+discordbot1> The GUI adds more drawing operations to the context. 20180320 17:19:17<+discordbot1> Then it returns control to ingame rendering engine. 20180320 17:19:36<+discordbot1> Which finally tells the context to sort the rendering operations and run them. 20180320 17:21:13<+discordbot1> I totally agree and don't intend to change any of it. And you're right in stating that I'm viewing it all from GUI perspective. Because I'm not proposing to change anything but how GUI views it - that's all. 20180320 17:22:00<+discordbot1> That can't be done because GUI2 assumes it's in full control of every widget. 20180320 17:22:19<+discordbot1> (As it should do.) 20180320 17:23:35<+discordbot1> Well, rendering control has to be taken away from GUI anyway - that's how a_r needs to be done, correct? fdasadsOther than that, is GUI still free to control whatever it likes. 20180320 17:23:56<+discordbot1> There is a hierarchy. 20180320 17:24:05<+discordbot1> Ingame > GUI > one widget. 20180320 17:24:19<+discordbot1> Which means that ingame cannot be a widget. 20180320 17:26:35<+discordbot1> Where "ingame" is a rendering engine, event distribution system and so on, correct? 100% agree, ingame cannot be a widget. But it can ask GUI "where's the clipping rect of that special widget where the map is rendered?" 20180320 17:27:08<+discordbot1> Why would it ask that? 20180320 17:30:04<+discordbot1> So that the GUI controls the framing. 20180320 17:30:10<+discordbot1> a) in order for GUI to know and control - where the map is. b) optionally, to only render on-screen items. 20180320 17:30:14<+discordbot1> How is that currently handled? 20180320 17:30:21<+discordbot1> Badly, I think ๐Ÿ˜ƒ 20180320 17:30:39<+discordbot1> GUI shouldn't control the framing. 20180320 17:30:56<+discordbot1> The game view is drawn to the screen, and GUI is drawn on top. 20180320 17:31:06<+discordbot1> Vultraz is going to redo it anyway. The approach with "a dialog with a transparent part" sounds like a horrible hack. 20180320 17:31:14<+discordbot1> And GUI shouldn't know where the map is, either. 20180320 17:31:37<+discordbot1> I feel like it'd be better to have a resize event where the GUI tells the gameview how big it should be and just avoid asking for a rect 20180320 17:32:13<+discordbot1> It should, and even more - it should control where the map is. Because the user needs to scroll the map. 20180320 17:32:29<+discordbot1> Scrolling the map isn't UI. It's ingame input. 20180320 17:33:39<+discordbot1> In the beginning of a game, Wesnoth scrolls map to the player's leader. It's NOT an ingame input. And a dozen other examples. 20180320 17:34:04<+discordbot1> That auto-scrolling isn't UI either. 20180320 17:34:29<+discordbot1> UI is buttons, text boxes and other widgets like that. 20180320 17:35:10< vn971> is the current wesnoth master supposed to be buildable? It errors for me. 20180320 17:35:26<+discordbot1> Yes, it's supposed to be buildable. 20180320 17:36:47-!- Oebele [~quassel@143.177.58.202] has joined #wesnoth-dev 20180320 17:38:34<+discordbot1> @sinda scroll-to is the opposite of a UI interaction 20180320 17:39:49<+discordbot1> "Next unit" command? "Show reach", "Show enemy moves"? "Undo"? "Update shroud"? 20180320 17:40:35<+discordbot1> They can be triggered via hotkeys, and are therefore implemented with the hotkey system (which also isn't UI). 20180320 17:41:03<+discordbot1> Even when they're activated through UI (context menu in particular), it just relays the command to the hotkey system. 20180320 17:47:28<+discordbot1> Sorry, I'm withdrawing from the discussion. 20180320 18:17:00< vn971> jyrkive but it fails for me, I can share the error on a gist. 20180320 18:17:20<+discordbot1> Better if you file a bug report instead. 20180320 18:17:42<+discordbot1> I'm fixing some unit tests Vultraz broke ages ago and never bothered to fix... 20180320 18:38:32< vn971> This is the build failure for me: https://gist.github.com/vgaming/ea754ca6c36c3caf38db347f0ef86460 20180320 18:38:58< vn971> Linux, amd64, ArchLinux, scons 3.0.1-1 20180320 18:39:13< vn971> jyrkive ^ 20180320 18:46:30< Soliton> good job on the discord bridging, btw. looks like it's working fine so far. 20180320 18:47:33< Soliton> re: irker/codebot - i'm still not entirely sure what to do. i'm hoping for some more improvements of codebot and need to check if it can mostly replace irker. 20180320 18:48:14< Soliton> alternatively it might make more sense to improve irker but i haven't looked into the implementation of either. 20180320 18:53:32-!- octalot [~steve@213-225-3-81.nat.highway.a1.net] has joined #wesnoth-dev 20180320 18:58:30< irker760> wesnoth: Jyrki Vesterinen wesnoth:master e70a9c769d77 / src/ (tests/utils/fake_display.cpp video.cpp video.hpp): Fix size of fake screen https://github.com/wesnoth/wesnoth/commit/e70a9c769d77c2809a23f75a7a9ab77f5a93a471 20180320 19:03:23<+discordbot1> @Daedalus wesnoth has an archievement for finishing campaigns 20180320 19:09:10< octalot> And in the new version it also shows which level you completed the campaign on 20180320 19:13:11<+discordbot1> @jyrkive i expect the issue with the playable size has something to do with the framebuffer being null. 20180320 19:13:47<+discordbot1> My debugging indicates that the game area doesn't exist in the null theme. 20180320 19:14:09<+discordbot1> Therefore, in its place there is the default theme object, with zero dimensions. 20180320 19:14:23<+discordbot1> However, the same is also true for the 1.13 null theme. 20180320 19:14:38<+discordbot1> So I can't tell at the moment why it's working in 1.13. 20180320 19:21:14<+discordbot1> oh, thanks sevu 20180320 19:34:23-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20180320 19:35:21< Soliton> hrm, only master changelog redirect was updated. i wonder how we could do a 1.14 redirect now. 20180320 19:41:54< Soliton> ok, should work now. 20180320 19:42:16< Soliton> @sinda: you can use changelog.wesnoth.org/1.14 to point to the changelog. 20180320 19:42:50<+discordbot1> @Soliton it doesn't work. It points to the raw changelog 20180320 19:43:19< Soliton> what else would it do? 20180320 19:43:22<+discordbot1> It's supposed to point to https://github.com/wesnoth/wesnoth/blob/1.14/changelog.md 20180320 19:44:34< irker760> wesnoth/wesnoth:master Jyrki Vesterinen e70a9c769d Fix size of fake screen AppVeyor: vs2015/Release Failed 20180320 19:44:35< irker760> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2057 20180320 19:45:16< Soliton> now it does that. 20180320 19:45:24<+discordbot1> ty 20180320 19:48:04<+discordbot1> Most of my motivation for making the changelog a Markdown file was to be able to have the nice GitHub view. 20180320 19:48:21< Soliton> weird, github seems to have no clue about the 1.13 tags. 20180320 19:48:31<+discordbot1> hm? 20180320 19:48:48< Soliton> was wondering if i could point to the tagged changelog as well. 20180320 19:49:10-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180320 19:49:20<+discordbot1> https://github.com/wesnoth/wesnoth/blob/1.13.12/changelog.md 20180320 19:50:25< Soliton> even on that page github has no clue that the tag exists in the switch branch/tag thingy. 20180320 19:51:02<+discordbot1> list too long, perhaps 20180320 19:51:05<+discordbot1> go to Releases 20180320 19:52:35< Soliton> well, it's fine. it'll work for tags as well then for 1.14+. 20180320 19:52:56< Soliton> i'm not going to figure out a regex to distinguish 1.13.12. 20180320 19:53:52<+discordbot1> @Soliton thanks! 20180320 19:54:03<+discordbot1> how is the regex just not literally the text 1.13.12 20180320 19:54:33< Soliton> well, not quite but yes could just list all 1.13 versions explicitely. 20180320 19:54:51<+discordbot1> or any version 20180320 19:54:52< Soliton> (. matches any character in regex.) 20180320 19:55:42< Soliton> for older versions we link to changelog. 20180320 19:56:58<+discordbot1> oh, right 20180320 20:21:59-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180320 20:22:05-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180320 20:39:33-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180320 20:39:39-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180320 21:20:53<+discordbot1> I suspect everyone's heard this story a million times, but I can't build master: https://pastebin.com/FjsQ1K3t 20180320 21:21:01<+discordbot1> I'm back on my desktop. 20180320 21:21:19<+discordbot1> I'll work on catching up with stuff later. 20180320 21:26:51< irker760> wesnoth: Charles Dang wesnoth:master fef1310890e5 / src/display.hpp: Attempt to fix build https://github.com/wesnoth/wesnoth/commit/fef1310890e5cc143f89b24f46f0b440bf71be45 20180320 21:27:52<+discordbot1> @shadowm you're best sticking with 1.14, though. master is unplayable. 20180320 21:28:48<+discordbot1> and I expect it shall be for awhile 20180320 21:39:07<+discordbot1> Amusingly the tip of the development branch is also broken in Anura. TEH END IS NEARL. 20180320 21:39:16<+discordbot1> I I know vultraz, but it should at least build. 20180320 21:43:59< galegosimpatico> Um I really need to get used to be logged at the irclogs. 20180320 21:53:48-!- Oebele [~quassel@143.177.58.202] has quit [Remote host closed the connection] 20180320 22:00:39-!- jrabe [jrabe@janikrabe.com] has left #wesnoth-dev ["Leaving for now; please use #codebot or PM for feedback and suggestions. Thanks!"] 20180320 22:07:01<+discordbot1> master still builds for me 20180320 22:08:44<+discordbot1> @shadowm what version of gcc you have and which scons options are on? 20180320 22:10:18-!- travis-ci [~travis-ci@ec2-54-161-172-140.compute-1.amazonaws.com] has joined #wesnoth-dev 20180320 22:10:19< travis-ci> wesnoth/wesnoth#17067 (master - fef1310 : Charles Dang): The build is still failing. 20180320 22:10:19< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/356070602 20180320 22:10:19-!- travis-ci [~travis-ci@ec2-54-161-172-140.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180320 22:13:25<+discordbot1> on jenkins master still builds for almost all compiler version 20180320 22:13:37<+discordbot1> and the only compiler failing doesn't have that error about texture 20180320 22:13:46<+discordbot1> but about missing std::put_time 20180320 22:15:30< irker760> wesnoth/wesnoth:master Charles Dang fef1310890 Attempt to fix build AppVeyor: vs2017/Release Failed 20180320 22:15:31< irker760> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-605wt/build/Wesnoth-VS2017-master-1762 20180320 22:18:07< gfgtdf> loonycyborg: we don't support gcc4 anymore with c++14 20180320 22:19:28< loonycyborg> hmm ok 20180320 22:19:48< loonycyborg> it's still supported by 1.14 though? 20180320 22:21:42< gfgtdf> yes 20180320 22:22:16< irker760> wesnoth: gfgtdf wesnoth:master 439340ce7874 / INSTALL.md: update INSTALL.md for c++14 requirement https://github.com/wesnoth/wesnoth/commit/439340ce787415d9f8cb48a2ecf1280f28c63db2 20180320 22:28:54-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 260 seconds] 20180320 22:31:05<+discordbot1> @loonycyborg Master was not building until about an hour ago when Vultraz commit added the missing #include. Normally something like that would get spotted and fixed. (I spotted it hours earlier.) But wesnoth/master is in such sad shape, it easier to just shrug and find something else to do. Maybe it gets fixed, maybe it doesn't. Vultraz' advice is best: do you development on the 1.14 branch since master is unusable. 20180320 22:35:05<+discordbot1> our policy is to maintain master at least in buildable shape 20180320 22:35:27<+discordbot1> in more unstable times I was often fixing compiler warnings and errors 20180320 22:36:29<+discordbot1> that is helpful in any case since master will eventually need to be made more stable for another release to be forked off it ๐Ÿ˜› 20180320 22:36:54< octalot> and testing 1.14 is good too 20180320 22:37:50<+discordbot1> mostly they were caused by different build configuration 20180320 22:38:04<+discordbot1> because people at least commit stuff that compiles for them 20180320 22:38:44<+discordbot1> committing stuff that doesn't compile even for you is forbidden by policy ๐Ÿ˜› 20180320 22:40:00<+discordbot1> I never commit stuff that doesn't build for me 20180320 22:40:06<+discordbot1> unless I accidentally do so 20180320 22:40:47<+discordbot1> so really, I never do except when I do ๐Ÿ˜› 20180320 22:43:12<+discordbot1> Sure, disable all messages and everything compiles. 20180320 22:43:48<+discordbot1> If you would slow down just a few minutes and do a PR you could, at least, give Travis a shot at checking it. 20180320 22:44:17<+discordbot1> nein! 20180320 22:44:33<+discordbot1> Well, ok, yes, i could, but travis does two builds for a PR 20180320 22:44:36<+discordbot1> bit inefficient 20180320 22:45:12<+discordbot1> Only does one for me. But I work on my personal fork not a master fork. 20180320 22:45:50<+discordbot1> branch 20180320 22:45:56<+discordbot1> Unsolicited opinion: master should not only always build, but should be checked for general functionality. A master branch broken in one way or another makes further new development unnecessarily difficult. 20180320 22:45:59<+discordbot1> really, we have CS in order to catch build issues. I don't think it's that much of a priority to ensure that every single commit to master builds perfectly 20180320 22:46:18<+discordbot1> @pydsigner that's why we have the unit tests 20180320 22:46:25<+discordbot1> quite useful, they have been 20180320 22:47:29<+discordbot1> At present, your best bet to develop is to use 1.14 and pray you can merge your changset back to master without being killed by merge conflicts when the times comes. 20180320 22:48:05<+discordbot1> the CI systems are 100% failing. so why do be bother with them? 20180320 22:48:59<+discordbot1> Every single commit doesn't necessarily need to build, but every single push should. 20180320 22:49:23<+discordbot1> @Tad Carlucci to...know when things are back to stable state? 20180320 22:53:13<+discordbot1> The whole point of running the CI systems is to tell when master does not build or does not pass whatever tests we have for it, such as they are. If it does not the first priority should be to get it back to passing as quickly as possible. But, at present, there is no point. Master is intentionally failing and expected to remain so for the foreseeable future. So there is no point in using the CI suites. And, if you need a 20180320 22:53:13<+discordbot1> usable game to test on, you need to look elsewhere. You might find that acceptible. I don't. 20180320 23:11:19< irker760> wesnoth/wesnoth:master gfgtdf 439340ce78 update INSTALL.md for c++14 requirement AppVeyor: vs2015/Release Failed 20180320 23:11:20< irker760> Details: https://ci.appveyor.com/project/wesnoth/wesnoth-7lnpw/build/Wesnoth-VS2015-master-2059 20180320 23:12:24<+discordbot1> Broken master is a critical bug: the users it affects are developers. If you're looking for a more professional dev team, this would be a really good place to start. 20180320 23:12:54-!- travis-ci [~travis-ci@ec2-54-91-233-154.compute-1.amazonaws.com] has joined #wesnoth-dev 20180320 23:12:55< travis-ci> wesnoth/wesnoth#17068 (master - 439340c : gfgtdf): The build has errored. 20180320 23:12:55< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/356096062 20180320 23:12:55-!- travis-ci [~travis-ci@ec2-54-91-233-154.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180320 23:47:58-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20180320 23:53:47<+discordbot1> alright, tad has advised me to ponder what exactly the gamemap is 20180320 23:54:08<+discordbot1> so, let's see 20180320 23:54:14<+discordbot1> what exactly do we want for the gamemap 20180320 23:54:49< celticminstrel> That's a surprisingly hard (and broad) question. Maybe you can narrow it down a bit? 20180320 23:55:16<+discordbot1> I think the point is to consider what one would have if you encapsulated the gamemap in its own class 20180320 23:55:25< celticminstrel> I thought it was already encapsulated. 20180320 23:55:39< celticminstrel> Would units count as part of the gamemap? 20180320 23:55:49<+discordbot1> no, the display class was designed to handle EVERYTHING in-game 20180320 23:55:59< celticminstrel> I was referring to the gamemap class. 20180320 23:56:08<+discordbot1> there is no such class yet. 20180320 23:56:13< celticminstrel> Pretty sure there is. 20180320 23:56:13<+discordbot1> I'm pondering what it would have 20180320 23:56:23<+discordbot1> there's a game_board class 20180320 23:56:27< celticminstrel> It might be literally just a container for the map file though? 20180320 23:56:44<+discordbot1> no? 20180320 23:56:56<+discordbot1> oh wait 20180320 23:56:58<+discordbot1> no, you're right 20180320 23:57:04<+discordbot1> yes 20180320 23:57:05<+discordbot1> there is 20180320 23:57:25< celticminstrel> In src/map/map.hpp 20180320 23:57:27<+discordbot1> yeah, it's just a wrapper around the data representation of the map file 20180320 23:57:41<+discordbot1> If you're considering a widget approach, it should receive events, and have public methods to be called by UI actions that are not handled as shortcuts. Hopefully it will start as a very thin interface. 20180320 23:57:48< celticminstrel> So anyway, do units count as part of the map? 20180320 23:58:00<+discordbot1> @sinda not considering that right now 20180320 23:58:11<+discordbot1> ok 20180320 23:58:35<+discordbot1> good question 20180320 23:58:51< celticminstrel> If you want a list of "things that must be drawn on the map", that would be: 20180320 23:59:11< celticminstrel> terrains, units, overlays, labels (at least) 20180320 23:59:16< celticminstrel> By overlays I mean [item]. 20180320 23:59:22<+discordbot1> I'm thinking I should move everything to do with the visual representation of the game map and what is on it to its own class 20180320 23:59:39<+discordbot1> essentially, a visual representation of the game_board class 20180320 23:59:44<+discordbot1> right now, display handles a lot of that 20180320 23:59:44< celticminstrel> Looking at the game_board class, I'm not sure how teams make sense to be part of the map, but maybe? --- Log closed Wed Mar 21 00:00:08 2018