--- Log opened Thu May 17 00:00:25 2018 20180517 00:07:45-!- gfgt [~androirc@134.76.63.8] has quit [Remote host closed the connection] 20180517 00:08:08-!- gfgt [~androirc@134.76.63.8] has joined #wesnoth-dev 20180517 00:09:38<+discordbot> celmin ^ 20180517 00:09:39-!- irker686 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20180517 00:09:39< irker686> wesnoth: Charles Dang wesnoth:master fc6825fcd54c / src/scripting/game_lua_kernel.cpp: Removed deprecated put_unit arg orders https://github.com/wesnoth/wesnoth/commit/fc6825fcd54c22f5642a24d37d60fb965240d213 20180517 00:09:40< irker686> wesnoth: Charles Dang wesnoth:master 505d6264ac39 / data/core/macros/deprecated-utils.cfg: Removed deprecated objective text macros https://github.com/wesnoth/wesnoth/commit/505d6264ac397357aab20b029f45e84ecbe928de 20180517 00:10:11< celticminstrel> "unit and plain unit"? 20180517 00:10:41<+discordbot> you said the latter should be replaced with erase() 20180517 00:11:08<+discordbot> those text macros should get level 3 on 1.14 20180517 00:11:14<+discordbot> there have no replacement 20180517 00:11:24< celticminstrel> The erase case is put_unit(x, y). 20180517 00:11:37< celticminstrel> If there's no replacement they shouldn't be level 3. 20180517 00:11:55< celticminstrel> You probably shouldn't've removed those actually. 20180517 00:12:16<+discordbot> there's no replacement because they're not needed 20180517 00:12:22<+discordbot> and the text is inserted automatically 20180517 00:12:34< celticminstrel> So you're saying they're superfluous like {SOUND:SLOW}? 20180517 00:12:38<+discordbot> yes 20180517 00:12:57< celticminstrel> Even so, they weren't marked deprecated on 1.14, so you probably shouldn't've removed them on master. 20180517 00:13:09< celticminstrel> Or rather they weren't marked deprecated at level 3. 20180517 00:13:19<+discordbot> I've just asked you to add that 20180517 00:13:22< celticminstrel> They were sort of marked deprecated just by virtue of being in that file. 20180517 00:13:30< celticminstrel> But that doesn't imply level 3, it really only implies level 1. 20180517 00:13:34< celticminstrel> Or maybe 2. 20180517 00:13:42< celticminstrel> So they shouldn't be removed until 1.17. 20180517 00:14:04<+discordbot> I've just asked you to add the deprecation notices to 1.14. 20180517 00:14:41< celticminstrel> We shouldn't be changing the deprecation level of things on the stable branch. 20180517 00:15:05< celticminstrel> Adding deprecation notices for things that are clearly deprecated but didn't get switched over to the new deprecation system is fine. 20180517 00:15:19< celticminstrel> But raising them to 3 is highly questionable. 20180517 00:15:40<+discordbot> I say it's acceptable 20180517 00:15:56<+discordbot> No API changes in stable. 20180517 00:16:07< celticminstrel> That doesn't really make me feel any better. 20180517 00:16:08<+discordbot> Deprecating things counts as an API change. 20180517 00:17:06< celticminstrel> What about raising the deprecation level of something that's already deprecated? 20180517 00:17:31<+discordbot> I have no idea what the deprecation level thing is but it sounds silly. 20180517 00:17:56< celticminstrel> It's basically to provide a timeline when things can be removed. DeFender1031 came up with it. 20180517 00:18:16<+discordbot> It was a compromise between my "deprecated things must go" approach and celmin's "nah they should stay" approach 20180517 00:18:33<+discordbot> it's a scale ranging from 1 - 4 20180517 00:18:45<+discordbot> Things should either be deprecated or not deprecated. 20180517 00:18:48< celticminstrel> I think zookeeper was the "nah they should stay" person. 20180517 00:19:03<+discordbot> soft, preemptive, for removal, and removed. 20180517 00:19:05< celticminstrel> Yeah, whatever the level, deprecated things are deprecated. 20180517 00:19:36<+discordbot> the thing is these macros ARE deprecated 20180517 00:19:43<+discordbot> but they didn't get the notice added 20180517 00:19:52< celticminstrel> Right. 20180517 00:19:58<+discordbot> so celmin claims that implies level 1 despite being in deprecated_macros.cfg 20180517 00:20:15< celticminstrel> Well yes, because there has never been a timeline for when macros in that file can be removed. 20180517 00:20:26<+discordbot> it always used to be next stable 20180517 00:20:33<+discordbot> or rather 20180517 00:20:37<+discordbot> dev afer next stable 20180517 00:20:44< celticminstrel> I thought zookeeper said otherwise. 20180517 00:21:10< celticminstrel> Is there a replacement for {STORY_PART_SPEECH}? 20180517 00:21:23<+discordbot> no 20180517 00:21:32<+discordbot> it's just a wrapper 20180517 00:22:00<+discordbot> I'm in favor of things that continue working with a visible warning... as long as the code can be cleanly segregated to avoid uglying up the current code. (I realize this will put me in the minority view, but I like to take the side of UMC devs when possible.) 20180517 00:22:39< celticminstrel> I think MENU_IMG_TXT and MENU_IMG_TXT2 can be pushed to 3 though because they depend on something else which is deprecated at 3, so @Vultraz if you haven't removed them already... 20180517 00:22:51<+discordbot> I don't know where to even begin so I'm just going back to my corner. 20180517 00:22:53<+discordbot> My point is we're not introducing a deprecation. We're adding a label to a deprecation that we forgot 20180517 00:23:11< celticminstrel> No Vultraz. 20180517 00:23:15<+discordbot> That's not an API change in my book 20180517 00:23:29< celticminstrel> Adding a label to a deprecation that we forgot is the same as introducing a deprecation. That's not what we're doing here. 20180517 00:23:46<+discordbot> AGh 20180517 00:24:07<+discordbot> fine, then we can leave it to the next API change release once I get the rolling release schedule stuff sorted 20180517 00:24:30< celticminstrel> What is this MAKE_AI_SIDE_PERSISTENT thing about. 20180517 00:24:38< celticminstrel> Is persistent=yes an actual thing in [side]? 20180517 00:24:42<+discordbot> I have no idea 20180517 00:24:50<+discordbot> I think so 20180517 00:24:50< celticminstrel> Anyone else? 20180517 00:24:59<+discordbot> it is 20180517 00:25:10<+discordbot> persistent: whether the side exists in any other scenarios. If `yes', then save_id (see below) is used to identify the side in other scenarios. Defaults to `yes' for sides with a human controller, and `no' for ai controlled sides. 20180517 00:25:44< celticminstrel> Okay, so what replaces DRAKE_FLYING_ANIM? 20180517 00:26:40<+discordbot> no idea 20180517 00:26:44<+discordbot> check the drake file 20180517 00:26:55< celticminstrel> :( 20180517 00:27:28< celticminstrel> Okay whatever I'll just leave that one. Someone else can add it later. 20180517 00:27:40<+discordbot> DRAKE_FLYING_ANIM is not used for ages 20180517 00:28:02<+discordbot> I think not anymore since 1.5 20180517 00:28:04< celticminstrel> Or I could deprecate it with no explanatory message, I guess. 20180517 00:28:54<+discordbot> Drakes have been reworked, there are a bunch of other drake macros 20180517 00:29:03< irker686> wesnoth: Charles Dang wesnoth:master 80e046313161 / data/core/macros/deprecated-utils.cfg: Begone, MENU_IMG_TXT! https://github.com/wesnoth/wesnoth/commit/80e046313161dd59369bdc124e7e2c96d29ef728 20180517 00:29:35<+discordbot> It occurs to me i should have sorted out the rolling release stuff before we split 20180517 00:29:46<+discordbot> NooO0oo!! (Darth vader voice) 20180517 00:29:53<+discordbot> master's state means we might have to go through another dev cycle 20180517 00:29:58<+discordbot> which I don't want 20180517 00:30:13<+discordbot> else we need to cherry pick all the stuff celmin added back >_> 20180517 00:30:21< celticminstrel> What? 20180517 00:30:59<+discordbot> Did you not read about my plan to rework our release paradigm? 20180517 00:31:06<+discordbot> Oh, right, I didn't write the forum post yet... 20180517 00:31:09<+discordbot> BAH 20180517 00:31:13< celticminstrel> No wonder I haven't read it! 20180517 00:31:52< irker686> wesnoth: Celtic Minstrel wesnoth:1.14 f550f2d6f547 / data/core/macros/deprecated-utils.cfg: Add missing deprecation messages for deprecated macros https://github.com/wesnoth/wesnoth/commit/f550f2d6f54778ae44560b3e1e2602064d63a9de 20180517 00:31:53< celticminstrel> Okay, happy now? ^ 20180517 00:32:01<+discordbot> good enough 20180517 00:32:04< celticminstrel> (FTR it's not forbidden to remove things that were deprecated at level 1; it's just not recommended. So please don't do it if you can avoid it.) 20180517 00:32:08<+discordbot> @Vultraz this is why I said you should write it šŸ˜› 20180517 00:32:21<+discordbot> yyeeahhh... 20180517 00:32:35< celticminstrel> As for helper.all_teams, that'd be only on master. 20180517 00:33:04< celticminstrel> But I'll probably go through the entire helper file at some point and catch it then, so I'm not gonna do it right now. 20180517 00:33:11< celticminstrel> If you really want it done right now you can do it yourself. 20180517 00:35:07<+discordbot> celmin: basically, I want to switch us to a rolling release cycle instead of a dev/stable cycle. Instead of periodically branching off dev to stable as we do now and maintaining them separately, we'd have a single release branch to which features from a dev branch (or other feature branches) can be merged. We'd have smaller, more frequent releases (made possible by Steam), and 2 - 4 times a year a bigger patch where we can 20180517 00:35:08<+discordbot> introduce API changes. 20180517 00:35:50< celticminstrel> Steam doesn't really make that possible but whatever. 20180517 00:35:56< celticminstrel> That is to say, it's possible without Steam. 20180517 00:36:08<+discordbot> Not really 20180517 00:36:17<+discordbot> Steam allows us to dispatch small patches and to ensure everyone has them 20180517 00:36:23< celticminstrel> Yes, it's very extremely possible without Steam. 20180517 00:36:30<+discordbot> New API changes? Everyone has them. 20180517 00:36:33<+discordbot> I saw you babbling about this on Monday night but I quickly skimmed through it because I was tired. 20180517 00:36:38< celticminstrel> (Even ensuring everyone has them is possible to a limited degree.) 20180517 00:36:51<+discordbot> babbling 20180517 00:36:56< celticminstrel> Heh. 20180517 00:37:04<+discordbot> Hopefully the forum post will be informative enough for me. 20180517 00:37:11<+discordbot> That's rather rude. 20180517 00:37:15< celticminstrel> But anyway, if it's dependent on Steam, I'm not in favour of it. 20180517 00:37:43<+discordbot> Of course it's dependent on Steam. Do you really expect people to download 400 MB every 2 weeks and manually reinstall the game? 20180517 00:38:02< celticminstrel> Whoever said they'd have to? 20180517 00:38:21<+discordbot> We're not rolling our own updater. 20180517 00:38:51< celticminstrel> Updater fine, but if you're not going to commit to releasing patch installers, don't even bother doing this. 20180517 00:39:02<+discordbot> Yeah I don't think Discord or IRC are appropriate channels for this kind of thing. 20180517 00:39:11<+discordbot> Hopefully you're beginning to see why. 20180517 00:39:24<+discordbot> "patch installers"? 20180517 00:39:32< celticminstrel> ... 20180517 00:40:10< celticminstrel> Think of it as basically what Steam does bundled into a small installer that people can download and run to upgrade the game. 20180517 00:40:42<+discordbot> Not only are people like me required to read through endless pages that mostly consist of ad hoc brainstorming, but also everyone gets to have an opinion without a full picture or time to process it all. 20180517 00:41:07<+discordbot> Including the originator of the discussion. 20180517 00:41:37<+discordbot> This is why mailing lists haven't been rendered obsolete yet. 20180517 00:41:50-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Ping timeout: 250 seconds] 20180517 00:42:16<+discordbot> celmin: that's too much to expect of our packagers 20180517 00:42:35< celticminstrel> I doubt that, but whatever. 20180517 00:42:58<+discordbot> we could potentially try to automate it, but would that even work 20180517 00:43:14< celticminstrel> What? 20180517 00:43:17< celticminstrel> Automate it? 20180517 00:43:22< celticminstrel> I mean, how would you do it manually? 20180517 00:43:29<+discordbot> buildbots 20180517 00:43:42-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20180517 00:44:02< celticminstrel> I mean, of course you'd automate it? 20180517 00:44:20< celticminstrel> Something like, "scons patch-installer" to build it or some such. 20180517 00:45:11<+discordbot> Anyway, look, I understand he hesitation to "make desktop players second-class citizens" as shadowm has said in the past. But are we really not going to take advantage of this great tool we have (Steam) that would benefit us and players greatly simply because not everyone uses it? 20180517 00:46:10< celticminstrel> I don't really see a problem with that? I mean we're already taking advantage of it enough IMO. 20180517 00:46:24<+discordbot> Not enough. 20180517 00:49:27<+discordbot> Steam gives us the opportunity to get changes, features, and fixes out to everyone quickly, to ensure everyone has those changes (so, say, no combability worries if we add a new API key or make an API change), to ensure dev cycles don't stretch on for years, to make it easier for UMC authors to update their code since API changes would come in smaller batches, and to ensure any changes and features can be tested quickly, and 20180517 00:49:27<+discordbot> regression fixes pushed just as quickly, thereby avoiding the massive stable-to-stable transition that happens every few years and inevitably reveals bugs and flaws in our work since we didn't have enough people testing. 20180517 00:49:44< celticminstrel> Um. 20180517 00:49:53< celticminstrel> :(so, say, no combability worries if we add a new API key or make an API change)" 20180517 00:49:55< celticminstrel> No 20180517 00:50:18<+discordbot> I mean in terms of OOS or something 20180517 00:50:33<+discordbot> That's on you. 20180517 00:50:49<+discordbot> You people are the ones who have to provide a compatibility path. 20180517 00:51:39<+discordbot> A compatibility path is irrelevant if player A is using a newer version of the game with a newer API feature than player B 20180517 00:52:08<+discordbot> I assume you don't want to frequently be breaking people's saves though 20180517 00:53:17<+discordbot> That's why API changes would be relegated to, say, larger quarterly releases, where they would be small enough in number to provide adequate compatibility. 20180517 00:53:28< celticminstrel> No Vultraz. 20180517 00:53:53<+discordbot> I feel like that's not how it works, but I don't really know how save compatibility work either. 20180517 00:53:58< celticminstrel> Taking full advantage of Steam does not mean we suddenly don't have to worry about compatibility. 20180517 00:54:13< celticminstrel> If anything it makes it harder. 20180517 00:54:52<+discordbot> Okay. I am a UMC author and a minor update suddenly changes the semantics of a WML tag because the developers feel the previous behaviour didn't make enough sense. I am on vacation in France for a while and my players can no longer even launch my campaign. Meanwhile, the devs get reports that my campaign doesn't work with the latest "stable" version and remove it from the addons server. 4 weeks later I'm finally back to find out 20180517 00:54:52<+discordbot> that all this happened in my absence. 20180517 00:55:01<+discordbot> What do I do then? 20180517 00:55:33<+discordbot> If such a breakage happened a fix would be immediately dispatched. 20180517 00:55:42<+discordbot> That's an unacceptable level of breakage 20180517 00:55:57<+discordbot> And what counts as acceptable in your view then? 20180517 00:56:34<+discordbot> The breakage could be subtle but still have an unsuspected impact. 20180517 00:56:36< EliDupree> Yeah, how can there be any sort of "API change" without breaking user made content? 20180517 00:56:54< EliDupree> Unless of course you were changing an API feature which nobody had ever used in user made contact 20180517 00:56:59<+discordbot> Keep in mind by API change I also mean API additions. 20180517 00:57:06< EliDupree> And to be fair, we have some of those 20180517 00:57:16<+discordbot> We are aware that additions also count. 20180517 00:57:38< EliDupree> You said "add a new API key or make an API change", so I figured those were different things 20180517 00:58:33< celticminstrel> I guess Vultraz is trying to say "Oh if the users have auto-update then that means we can add new API without worrying about incompatibility". 20180517 00:58:39< celticminstrel> I'm not sure if that actually works out though. 20180517 00:58:41<+discordbot> a more reasonable scenario would be, you come back from France and there are some users complaining on the campaign's forum thread about deprecation messages appearing on the screen 20180517 00:58:49< celticminstrel> Plus, we can't assume the users have auto-update. 20180517 00:59:01< EliDupree> In your model, do we have a separate add-on server for the auto-update users as for the other ones? 20180517 00:59:29< EliDupree> Otherwise, we have the same situation as with Web APIs where add-on developers de facto can't use the latest features because not everyone has them 20180517 00:59:41< celticminstrel> If you want to be able to assume the users have auto-update, I suggest putting Wesnoth on additional platforms with built-in updating, such as itch.io, the Mac App Store, maybe the Windows Store... 20180517 01:00:36<+discordbot> At least when it comes to Web technologies there are usually shims available to implement the new APIs on legacy browsers. 20180517 01:00:54<+discordbot> Wesnoth isn't quite at that level of extensibility yet. 20180517 01:01:18< EliDupree> … And on the web, you don't need to expect that everyone has the same version 20180517 01:01:53<+discordbot> @sapient_n3t regular players don't see deprecation messages anyway 20180517 01:01:53< EliDupree> So you can make it have acceptable fallbacks. While in networked multiplayer games specifically, that's not practical 20180517 01:02:33<+discordbot> Regular players used to see the deprecation messages. For some reason(tm) this was changed in 1.13.x. 20180517 01:02:44<+discordbot> zookeeper demanded it 20180517 01:02:46<+discordbot> IIRC 20180517 01:02:54< irker686> wesnoth: Severin Glƶckner wesnoth:1.14 01022f552d22 / data/campaigns/Northern_Rebirth/scenarios/02_01_Infested_Caves.cfg: NR S2: let Hammel not take part in combat https://github.com/wesnoth/wesnoth/commit/01022f552d227a41a517d71d8a792d44267ef5e1 20180517 01:02:57<+discordbot> I've been missing all of them because I've been running the Steam build without -d. 20180517 01:03:18<+discordbot> errors and deprecation messages that no one sees are worthless 20180517 01:03:21<+discordbot> you'll be inundated with warnings about MAGENTA_IS_THE_TEAM_COLOR if you do 20180517 01:03:26< EliDupree> How does a newbie add-on developer learn that they need to go to extra effort to see deprecation messages? 20180517 01:03:30< irker686> wesnoth: Severin Glƶckner wesnoth:master 3730ff9738ee / data/campaigns/Northern_Rebirth/scenarios/02_01_Infested_Caves.cfg: NR S2: let Hammel not take part in combat https://github.com/wesnoth/wesnoth/commit/3730ff9738ee4eb2b9058c131490405957c62954 20180517 01:03:50<+discordbot> I already did the team_rgb defaults transition. 20180517 01:04:08<+discordbot> And also removed poison and slow sounds macros. 20180517 01:04:18<+discordbot> and leadership , I saw 20180517 01:04:19< celticminstrel> You can raise the deprecation loglevel directly, or just use :debug mode. 20180517 01:04:44<+discordbot> Yeah except for the desert elves in AtS. 20180517 01:04:59<+discordbot> Don't those need to become Quenoth now 20180517 01:05:00< celticminstrel> EliDupree: I would assume that most developers use debug mode at some point, and they'd see the deprecation messages when they do so. 20180517 01:05:02<+discordbot> I need to play UtBS before dealing with those. 20180517 01:05:14<+discordbot> They... what. 20180517 01:05:39<+discordbot> The desert elves are the Quenoth elves. 20180517 01:05:40< EliDupree> I don't think I'd make that assumption so easily 20180517 01:05:53<+discordbot> That's never stopped being a thing despite the overhaul. 20180517 01:05:58<+discordbot> The NEW Quenoth elves 20180517 01:06:48<+discordbot> FYI I almost never use debug mode when playtesting. 20180517 01:06:54<+discordbot> There's a good reason for that. 20180517 01:07:09<+discordbot> EliDupree: it could be documented better, too. 20180517 01:07:36-!- gfgtdf [~gfgtdf@134.76.63.8] has quit [Quit: Leaving] 20180517 01:08:03<+discordbot> If I do enable it I gain fast access to commands that allow me to cheat my way out of certain situations instead of playing through them like a normal player would. 20180517 01:08:24< EliDupree> Given the history of wesnoth developers making changes that break my add-ons without even always including them in the change log, I absolutely don't trust that a rolling release model with API changes would be able to avoid causing large breakages. I would have to see a lot more effective compatibility work before I would think this was a good idea for add-on developers 20180517 01:09:02< celticminstrel> Yeah, I can understand not using it for play-testing. 20180517 01:09:16< mattsc> In my experience, if something is possible to be done with WML/Lua/Formula, somebody will have done it in UMC. 20180517 01:09:16< celticminstrel> But when you're trying to get a particular part of a scenario to work.... 20180517 01:09:32< mattsc> So if you change it, it will break something. 20180517 01:09:36< EliDupree> mattsc: I'm absolutely confident that that is false, although I think I agree with the point you're making :-P 20180517 01:09:41< celticminstrel> Oh, wasn't EliDupree the one who used to maintain the WLP? 20180517 01:09:57<+discordbot> i think that was elvish)hunter 20180517 01:10:00<+discordbot> No that was Elvish_Hunter. 20180517 01:10:05< celticminstrel> Uh. 20180517 01:10:11< EliDupree> mattsc: As I've learned, there is a vast array of totally unreasonable things you can do with the APIs, and I don't think anyone else has delved into it to nearly the extent I have 20180517 01:10:20< mattsc> EliDupree: right pillager ~= hunter 20180517 01:10:22< celticminstrel> Ohh, EliDupree was Elvish_Pillager or something. 20180517 01:10:30< celticminstrel> So close. 20180517 01:10:38< EliDupree> Yeah, I'm only the pillager, not the hunter xD 20180517 01:10:45< mattsc> he he 20180517 01:11:01< mattsc> EliDupree: I’ve done a lot of things I wasn’t supposed to do with WML in the day. 20180517 01:11:12<+discordbot> EliDupree: I suspect inferno8 (TLU) might unknowingly be in that club as well. 20180517 01:11:15< mattsc> And then those damned developers change something and now everybody can do it. :) 20180517 01:11:22<+discordbot> And also me honestly. 20180517 01:11:39< EliDupree> mattsc: Yeah, but have you used the wesnoth.theme_items.location to detect clicks prior to their being a legitimate way to detect clicks >:) 20180517 01:12:01< mattsc> I have to admit, I do not. I am humbled. ;) 20180517 01:12:09< mattsc> *I have not 20180517 01:12:30-!- gfgt [~androirc@134.76.63.8] has quit [Ping timeout: 256 seconds] 20180517 01:12:49< EliDupree> Literally every time I come back to work on wesnoth add-ons more after a long break, I discover a new way to crash wesnoth 20180517 01:12:51< mattsc> My point though, and I think you agreed, is that if you change something it will break somebody’s UMC. 20180517 01:12:57< EliDupree> yup 20180517 01:12:57<+discordbot> I've never gone and asked devs if some corner case I've found to be advantageous is well-supported and guaranteed to not be broken, mostly because in the past I was either met with silence or "why don't you try it yourself". 20180517 01:13:42<+discordbot> I've added things specifically to make like easier for you tho 20180517 01:13:47<+discordbot> Time and again people break my campaigns and I have to pick the pieces up and put them back together myself. 20180517 01:14:11<+discordbot> 1.12 beta was particularly infuriating in that regard. 20180517 01:14:27< mattsc> @Vulteaz I know. But then how can I feel high and mighty about it by figuring it out even when it was not easy? 20180517 01:14:34-!- gfgt [~androirc@134.76.63.8] has joined #wesnoth-dev 20180517 01:14:38< EliDupree> Wesnoth, like probably a lot of FOSS community-developed games, has an excess of developers adding new half-baked features and insufficiently many developers cleaning things up and making sure it all works consistently 20180517 01:14:50<+discordbot> mattsc: i was talking to shadowm, but i guess you too? šŸ˜› 20180517 01:14:58< mattsc> Indeed. 20180517 01:15:04<+discordbot> Since certain people kept changing the scenario progression semantics in the name of support for MP campaigns. 20180517 01:15:54<+discordbot> I still have no idea how much changed between 1.12 and 1.14 in terms of behaviour. 20180517 01:15:59-!- louis94 [~~louis94@91.176.171.238] has quit [Ping timeout: 260 seconds] 20180517 01:16:03<+discordbot> You've cleane dup a lot of code, though 20180517 01:16:04< mattsc> That’s why I don’t port my campaigns until stable is imminent. They aren’t as involved and voluminous as @shadowm’s, but it’s still too much work for me to do more than once per stable. 20180517 01:16:40<+discordbot> Over the next few days I'll start to playtest and I'd like to be pleasantly surprised, but I'm not expecting much. 20180517 01:16:58<+discordbot> Because it's been literally 10 years of this stuff happening over and over again. 20180517 01:17:54<+discordbot> And if stable becomes what you're envisioning, then I'll be forced to be permanently playtesting forever. 20180517 01:18:05< mattsc> @shadowm just wait until we change the default AI! :x 20180517 01:18:12<+discordbot> šŸ˜‚ 20180517 01:18:22<+discordbot> Because I'm not blessed with enough prolific feedback-providers that will inform me ASAP when something breaks. 20180517 01:18:37<+discordbot> So as of the last 3 years I just eventually find it out by myselfm 20180517 01:18:58< mattsc> @shadowm Neither am I. I played through all of my campaigns myself (without debug cheating, even though I am always in debug mode) 20180517 01:19:36< EliDupree> Yeah, the current stable release cycle being what it is, is pretty much the only reason I've been able to leave EoHS alone for more than 6 months at a time and still have people be able to play it. If there were more frequent updates without a drastic improvement in how well changes were vetted, EoHS would be broken a lot more of the time 20180517 01:20:28< EliDupree> Now, I COULD imagine a system that can help audit for breakages. But it would require rewriting a bunch of wesnoth 20180517 01:21:15< EliDupree> For instance, you could have the game collect detailed replays of (not just the current game mechanics, but also UI interactions) and automatically test whether new versions of wesnoth carry out the replays the same way 20180517 01:22:20<+discordbot> @ancestral will you submit a PR for your hotkeys? 20180517 01:22:22< EliDupree> But that could require changes on the order of building the auditing system into every API call 20180517 01:23:32-!- foodtooth [7442b8c2@gateway/web/freenode/ip.116.66.184.194] has joined #wesnoth-dev 20180517 01:25:04< EliDupree> To do what I'm imagining, you'd probably have to have a single big rewrite that standardizes and defines everything (n.b.: many of the APIs are even ambiguous about what they are SUPPOSED to do in interesting situations) with an eye towards consistency and maintainability, then AFTER that, you could possibly be able to avoid big breakages 20180517 01:25:51< EliDupree> And the standardization would probably involve removing or restricting a lot of API calls so that you can't do ill-defined, unsafe things with them (like using wesnoth.put_unit() during a theme item call back) 20180517 01:26:52< EliDupree> It would necessarily break a lot of add-ons, because we currently rely on the current misbegotten behaviors 20180517 01:27:11< celticminstrel> Is that actually unsafe? 20180517 01:27:22< celticminstrel> Oh, I guess it's MP-unsafe at least... 20180517 01:27:37<+discordbot> If you use UB you can;t complain when it breaks 20180517 01:27:42< EliDupree> Just MP-unsafe? Uh, how many times the think I've crashed wesnoth by causing outright memory errors? 20180517 01:27:56< EliDupree> Vultraz: I could believe that if there was any documentation of which behaviors are undefined 20180517 01:28:35< celticminstrel> Well, in this case I was referring to your example specifically. 20180517 01:28:48< EliDupree> The example I gave exactly causes memory errors that crash wesnoth 20180517 01:28:58< celticminstrel> Huh. 20180517 01:29:12< EliDupree> So do some other things that are much less obviously unsafe 20180517 01:29:18<+discordbot> @Vultraz Technically the spoilerific unit abilities used near the end of AtS rely on undocumented behaviour FYI. 20180517 01:29:31<+discordbot> Then those should be canonized. 20180517 01:29:40< celticminstrel> "canonized" 20180517 01:29:59< EliDupree> But there's no living developer who can write down which uses of the APIs are legitimate and which aren't 20180517 01:30:04<+discordbot> Nothing in the wiki specifies exactly when unit XP calculation takes place or when the consequences are factored into the game state. 20180517 01:30:39<+discordbot> That credits screen you like so much also relies on undocumented behaviour. 20180517 01:30:40< EliDupree> In order to make the APIs consistent enough to be maintainable, you would have to establish a definition of exactly which things are allowed and which aren't, for the FIRST time. 20180517 01:31:03< celticminstrel> Credits screen? 20180517 01:31:09< EliDupree> And then preferably fuzz test it 20180517 01:31:48< EliDupree> If I fuzz tested the wesnoth APIs today, I would probably find dozens of memory errors before even getting into the interesting part 20180517 01:32:21< celticminstrel> The theme API could probably benefit from having a readonly Lua kernel...? 20180517 01:32:32< celticminstrel> Not entirely sure if that's reasonable though. 20180517 01:32:35< EliDupree> Now you're starting to think in the right way. 20180517 01:32:44< celticminstrel> I already did this with the AI module. 20180517 01:32:59< EliDupree> neat 20180517 01:33:02<+discordbot> He knows which credits screen I mean. It's not the game's credits screen. 20180517 01:33:07< celticminstrel> Previously nothing prevented you from calling ai.attack(...) in a candidate action evaluation function. 20180517 01:33:12<+discordbot> i forgot to add support for that 20180517 01:33:13< EliDupree> lol 20180517 01:33:28< celticminstrel> Now, you can't do that unless you first do ai.read_only = false (which I don't recommend doing though). 20180517 01:33:34< EliDupree> lol 20180517 01:33:55< celticminstrel> What did you forget to add support for? 20180517 01:34:22<+discordbot> never you mind 20180517 01:34:28< celticminstrel> That's not very nice. 20180517 01:34:44<+discordbot> im on a call and can't explain it 20180517 01:34:55< celticminstrel> You could've just said that instead of "never you mind". 20180517 01:35:36<+discordbot> The entire multifloor scenario code in AtS E3 also relies on a few quirks I found in 1.10 (and preserved into 1.12) encompassing event processing as well as UI status updates. 20180517 01:35:46<+discordbot> oh dear 20180517 01:35:50<+discordbot> I refactored event handling 20180517 01:36:13<+discordbot> At one point during development someone broke an assumption and caused my code to drive the game into a seg fault wallm 20180517 01:36:28< celticminstrel> Clearly you should've listened to us when we told you not to refactor event handling so close to release. 20180517 01:36:30<+discordbot> I had to complain very loudly to get it fixed. 20180517 01:36:38< EliDupree> And when you refactored event handling, did you understand that you were doing the kind of thing that had the potential of breaking add-ons? 20180517 01:36:58<+discordbot> shrug 20180517 01:37:11< celticminstrel> That's not the right answer. 20180517 01:37:18<+discordbot> i di 20180517 01:37:19<+discordbot> d 20180517 01:37:52-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Quit: wedge009] 20180517 01:38:06-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20180517 01:38:07< EliDupree> Since you clearly don't have a clear perspective of the unstable ground that add-ons are standing on, you're in no position to argue that destabilizing it even further would be a reasonable thing to do. 20180517 01:38:46<+discordbot> I should care more but sometimes I don't. 20180517 01:39:06< celticminstrel> A surprisingly lucid evaluation. 20180517 01:39:19<+discordbot> Unless it breaks my code or shadowm's code. 20180517 01:39:45<+discordbot> I admit it was a mistake to refactor that late 20180517 01:39:57<+discordbot> Should have put it off 20180517 01:39:58<+discordbot> but oh well 20180517 01:40:14<+discordbot> it's a lot cleaner now and easier to deal with issues within 20180517 01:41:31< celticminstrel> Oh BTW f550f2d does need to be cherry-picked to master. 20180517 01:41:35< celticminstrel> There will be conflicts. 20180517 01:41:47<+discordbot> ah 20180517 01:42:02< celticminstrel> But most of the deprecations are L1 so they need to be in master too. 20180517 01:43:11<+discordbot> you'll be inundated with warnings about MAGENTA_IS_THE_TEAM_COLOR if you do @Vultraz there's no reason to spam it. deprecation message can maintain a map of strings it's already sent 20180517 01:43:25< celticminstrel> Uhh, EliDupree, we're on 1.14.1, not 1.4.1. 20180517 01:43:32 * celticminstrel looking at your wiki edits. 20180517 01:43:38< EliDupree> lol oops 20180517 01:43:46<+discordbot> it's one for every occurrence 20180517 01:44:01< EliDupree> You want to fix that, or should I? 20180517 01:44:08<+discordbot> celmin: soon to be 14.1 20180517 01:44:16<+discordbot> or 14.x rather 20180517 01:44:50< celticminstrel> @sapient_n3t The Lua deprecate_api function does do that, but the more general deprecated_message function was never updated for that kind of thing, and I'm not sure it would actually be an easy thing to do? 20180517 01:45:11< celticminstrel> I guess if you store the entire string as the key in the map... 20180517 01:46:00< celticminstrel> EliDupree: You can fix it I guess? 20180517 01:46:25< celticminstrel> @Vultraz, while I have no objection to the idea, I do think it's not something we can do. 20180517 01:46:36< celticminstrel> ...that sounds weird. 20180517 01:46:43< celticminstrel> I mean, I don't mind the idea of not having a 1. 20180517 01:46:50< celticminstrel> But I think dropping it will break things. 20180517 01:46:51< EliDupree> Fixed. I wonder how I made the same mistake twice. I KNOW it's 1.14.1 20180517 01:47:17< EliDupree> Yeah, it could very well break add-ons. Have you considered that? 20180517 01:47:19< celticminstrel> It might be possible to work around the issue to avoid breakages, not sure. 20180517 01:47:31<+discordbot> i hate having to worry about that 20180517 01:47:33< mattsc> celticminstrel: to confirm something I said a couple days ago, I got on the order of 50 deprecation warnings about FOREACH from 7-ish uses of the macro. 20180517 01:47:34<+discordbot> >_< 20180517 01:47:35< celticminstrel> But it's certainly not just something you can do without thinking through the consequences. 20180517 01:47:57<+discordbot> not sure how hard this is to implement, but... 1st occurrence: warning, team_rgb is deprecated. File: Quenoth_Elf.cfg Line:22 2nd occurrence: warning, team_rgb is deprecated... (see xxx.log for additional messages) 20180517 01:48:14< celticminstrel> mattsc: Maybe it parsed the scenario multiple times or something? The preprocessor emits messages every time it encounters a deprecated macro or file. 20180517 01:48:21<+discordbot> i have no idea what team_rbg is 20180517 01:48:31<+discordbot> that's just an example 20180517 01:48:39< mattsc> I got the feeling it was once per parsing, and once per use. 20180517 01:48:39< celticminstrel> He means MAGENTA_IS_THE_TEAM_COLOR I think. 20180517 01:48:40<+discordbot> I made it up 20180517 01:48:44<+discordbot> it would be good if we could output file and line 20180517 01:48:46< mattsc> But it’s just that, a feeling. 20180517 01:48:47<+discordbot> do we do that? 20180517 01:48:51< mattsc> No idea if that’s true. 20180517 01:48:51< celticminstrel> mattsc: What do you mean by once per use? 20180517 01:49:20< mattsc> I don’t know. Doesn’t make sense, I guess. 20180517 01:49:33< celticminstrel> Note that if you use {FOREACH} in another macro, it'll probably trigger the deprecation every time you use that other macro too. 20180517 01:49:58< mattsc> Fact is that I fixed a handful of them, and a crapload of warnings disappeared. 20180517 01:50:03<+discordbot> wait, are you seriously getting rid of FOREACH? I hope that is a joke 20180517 01:50:16< celticminstrel> It's deprecated, yes. 20180517 01:50:22< celticminstrel> There are WML tags that do the same thing. 20180517 01:50:33< celticminstrel> I don't remember if Vultraz deleted it on master. 20180517 01:50:40<+discordbot> the wml tags that "do the same thing" require quite a bit more typing 20180517 01:50:48< celticminstrel> (I probably wouldn't've, but.) 20180517 01:50:56<+discordbot> that is the whole point of macros, to save on typing isn't it? 20180517 01:51:20< celticminstrel> Yeah, more or less. 20180517 01:51:28<+discordbot> {FOREACH} can't be reimplemented directly as [foreach] 20180517 01:51:30<+discordbot> so it has to go 20180517 01:51:36< celticminstrel> Um no. 20180517 01:51:49< celticminstrel> It can be reimplemented directly as [for]. 20180517 01:52:03< mattsc> @sapient_n3t I have about 2,000 uses of the MESSAGE macro in my campaigns. Didn’t think it was worth replacing those, so I copied it into my campaign (with campaign suffix) and used auto-rename. 20180517 01:52:20< celticminstrel> Wow. 20180517 01:52:20<+discordbot> shame on you, mattsc 20180517 01:52:31< mattsc> @Vultraz I love you too ;) 20180517 01:52:34<+discordbot> you should have never used it in the first place 20180517 01:52:35< celticminstrel> I don't think I ever used {MESSAGE}. 20180517 01:52:54< celticminstrel> Anyway, isn't it L1 deprecation? So it's not like it'll go away anytime soon. 20180517 01:52:59< mattsc> celticminstrel: that’s because you’re on of the youngens 20180517 01:53:02< celticminstrel> (Unless Vultraz gets trigger-happy again.) 20180517 01:53:15< celticminstrel> mattsc: Well yes, my first version was 1.10. 20180517 01:53:28<+discordbot> I think to deprecate the macro is only to get the addon creators put in a renamed version into their own library. 20180517 01:53:48<+discordbot> exactly, which is a worse situation 20180517 01:53:55< celticminstrel> mattsc: You probably could've gotten away with "#ifndef MESSAGE (copy-psted core definition here) #endif" 20180517 01:53:55<+discordbot> FOREACH isn't going away 20180517 01:54:09< mattsc> The thing is, how is the ā€œnormalā€ UMC author, who barely knows how to handle WML, to know that one should not use the MESSAGE macro? 20180517 01:54:10<+discordbot> it is 20180517 01:54:19< EliDupree> Deprecate ActionWML 20180517 01:54:26< celticminstrel> What, EliDupree? 20180517 01:54:29< mattsc> celticminstrel: Sure. I preferred a slightly different way. 20180517 01:54:42<+discordbot> at some point the whole WML format will be changed 20180517 01:54:54<+discordbot> Nope. 20180517 01:54:59< EliDupree> I mean, I'm mostly joking because that would break loads of add-ons, but really we should never have had a custom scripting language in the first place, just used lua 20180517 01:55:03< mattsc> Anyways, my point was not to complain about it, but to state that there are relatively simple ways dealing with it. 20180517 01:55:05< celticminstrel> Yeah that's really unlikely Vultraz. 20180517 01:55:13<+discordbot> Let's not talk about nebulous evil plans to drop WML or anything of the sort for the moment. 20180517 01:55:19< celticminstrel> Thank you shadowm. 20180517 01:55:35<+discordbot> mattsc: I advocated removing MESSAGE as well as not using any other [message] wrappers IIRC. There's a specific reason for that. 20180517 01:55:56<+discordbot> "really we should never have had a custom scripting language in the first place, just used lua" 20180517 01:55:59<+discordbot> yes exactly 20180517 01:56:07<+discordbot> wmlxgettext is able to extract extra information for translators from the [message] syntax. Macros (especially user-defined macros) don't provide that option. 20180517 01:56:09<+discordbot> exactly this 20180517 01:56:53< mattsc> @shadowm Sure. Just saying, if the macro exists, how is the joe shmoe UMC author to know that it should not be used. 20180517 01:56:58< celticminstrel> [May 16@9:54:08pm] mattsc: The thing is, how is the ā€œnormalā€ UMC author, who barely knows how to handle WML, to know that one should not use the MESSAGE macro? 20180517 01:56:59< celticminstrel> 1. Mainline/core doesn't use it. 2. We should either remove it from the documentation or very clearly state that it's deprecated. 20180517 01:57:16< EliDupree> Now, maybe someone could write a reliable script to convert actionWML into lua scripts, then you could get a proper deprecation and conversion process over several wesnoth versions. That would improve maintainability, along the lines of the other drastic measures I was suggesting earlier 20180517 01:57:30< mattsc> celticminstrel: not talking about the future (I don’t diagree), but about the past 20180517 01:57:39< celticminstrel> @Vultraz Yeah that would've been ideal, but we have ActionWML now and it can't really go away anytime soon. 20180517 01:58:00<+discordbot> mattsc: because it's in deprecated_macros.cfg 20180517 01:58:17< celticminstrel> EliDupree: Actually it's probably really easy to do that conversion in most cases. 20180517 01:58:25< mattsc> @Vultraz Yes, now it is. So I dealt with it. But you told me a moment ago I should habve never used it. 20180517 01:58:31< EliDupree> Yeah, not all of them though 20180517 01:58:43<+discordbot> mattsc: you only used it because you went looking for it 20180517 01:58:58< celticminstrel> Just convert each tag xyz to a call to wesnoth.wml_actions.xyz(wml.tvconfig{tag contents}) 20180517 01:59:00< mattsc> Umm. It was listed on the wiki ... 20180517 01:59:09<+discordbot> god dammit 20180517 01:59:10< celticminstrel> It's the {tag contents} part that could get a little tricky... 20180517 01:59:20<+discordbot> @shadowm what contextual information can translators get from [message] that they can't get from {MESSAGE} ? just curious 20180517 01:59:22< mattsc> If you count looking at the wiki as looking for it, then yes, I did 20180517 01:59:26< EliDupree> celticminstrel: Some things, like insert_tag, treat ActionWML as a data object 20180517 01:59:40<+discordbot> @sapient_n3t Who the speaker is. 20180517 01:59:48< celticminstrel> EliDupree: Yeah that's one of the complications, indeed. 20180517 01:59:58<+discordbot> Yes, you will argue that wmlxgettext could've been made to have special knowledge about MESSAGE instead. 20180517 02:00:19<+discordbot> But it wasn't even used in mainline in the first place. 20180517 02:00:30< celticminstrel> Oh huh. 20180517 02:00:33< mattsc> @shadowm Are you talking to me? 20180517 02:00:41<+discordbot> it was removed once 20180517 02:00:42<+discordbot> No. Sapient. 20180517 02:00:48< mattsc> I’m not arguing any of that. 20180517 02:00:50< mattsc> Oh, okay. 20180517 02:01:06< EliDupree> I legitimately think that deprecating ActionWML would be part of a good plan to make Wesnoth more maintainable (after the initial phase of ripping off the Band-Aid), but I'm not seriously suggesting it because there are many other things that would need to be done as part of the transition and I don't have an army of developers who agree with me 20180517 02:01:06<+discordbot> i can't remember if he who shall not be named did that or he was the one who reinstated it 20180517 02:01:26< mattsc> What I am saying: I used the macro because it existed and because I did not know any better. 20180517 02:01:33< mattsc> I bet lots of other people did too. 20180517 02:01:43< mattsc> Now it’s deprecated, so I dealt with it. Shirt happens. 20180517 02:01:48< celticminstrel> I similarly think deprecating ActionWML would be nice but is just not worth the effort and consequences. 20180517 02:01:56< celticminstrel> (I think it would probably drive some people off.) 20180517 02:02:05<+discordbot> I'll get to it eventally 20180517 02:02:09< EliDupree> Why can't gettext be fed the post-preprocessing cfgs? 20180517 02:02:10< mattsc> Hmm, shirts happen too, I guess, unless you live on a tropical island. That’s not what I meant though. 20180517 02:02:21< celticminstrel> EliDupree: Good question. 20180517 02:02:25<+discordbot> wmlxgettext as a stand-alone tool. 20180517 02:02:27<+discordbot> *is 20180517 02:02:35<+discordbot> @shadowm nah, I wasn't going to say that because I don't use MESSAGE. I agree with you on that one. 20180517 02:02:54<+discordbot> And the build recipes don't exactly require the game client to be built to do the pot-update target. 20180517 02:03:30< celticminstrel> I guess that's a good reason. 20180517 02:06:21< mattsc> Btw, I am not the one who introduced the FOREACH macros in mainline. But I was ā€œhappyā€ removing them anyway. 20180517 02:06:31< mattsc> @Vultraz FOORRREAACHHH 20180517 02:06:52<+discordbot> hiss 20180517 02:06:57<+discordbot> No, the FOREACH macros were there before you became a dev. 20180517 02:07:05<+discordbot> They were there before 1.0 I'm pretty sure. 20180517 02:07:27< mattsc> How bout the MESSAGE macro? ;) 20180517 02:07:30<+discordbot> I mean FOREACH and NEXT. Why am I calling them FOREACH macros. 20180517 02:07:45< mattsc> Because it’s shorter? 20180517 02:08:08-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180517 02:08:31<+discordbot> DOWN WITH FOREACH 20180517 02:08:43< mattsc> There is a serious question though. Am I still going to maintain Grnk in 2036? Going through full revisions every 1-3 years? 20180517 02:08:57< mattsc> I’m honestly not sure about that. 20180517 02:09:04<+discordbot> My own usage of FOREACH and especially NEXT is giving me some grief with my campaigns right now actually. 20180517 02:09:20<+discordbot> didnt you do some hackery overloading or something at some point 20180517 02:09:56<+discordbot> NEXT doubled as the closer for several other macros I wrote. 20180517 02:11:04<+discordbot> I still haven't decided exactly how to go about replacing them as well as NEXT so I'm just focusing on porting users of FOREACH first. 20180517 02:11:28<+discordbot> There are 73 instances of FOREACH in AtS. 20180517 02:11:28< mattsc> Whom are you going to port those users into? 20180517 02:11:51<+discordbot> And 18 in IftU (I already ported like 6 of them). 20180517 02:12:01<+discordbot> That's on a case-by-case basis. 20180517 02:12:15< mattsc> I have 90 uses of FOREACH in Grnk 20180517 02:12:19<+discordbot> I believe there are some sites where I actually alter the size of the container being iterated on. 20180517 02:12:20< mattsc> Sigh. 20180517 02:12:36<+discordbot> But most cases can be handled with [foreach] alone. 20180517 02:13:07< mattsc> Huh, and 1629 uses of MESSAGE. :P 20180517 02:13:10<+discordbot> I'm just a bit annoyed that I can't define a {FOREACH} macro that uses [foreach] without confusing myself or other people stumbling upon the code. 20180517 02:13:20< mattsc> Just that it is not MESSAGE_GRNK. 20180517 02:13:32<+discordbot> I already had a {FOR} using the old [while] tag. 20180517 02:13:35< mattsc> s/not/now 20180517 02:13:40<+discordbot> can we please agree that FOREACH macro is still useful (saves typing) and does not need to be removed or spew deprecation messages? surely I am not the only one thinking that way 20180517 02:13:40<+discordbot> As well as a {REVERSE_FOREACH}. 20180517 02:13:59<+discordbot> I think it needs to be dropped. 20180517 02:14:14<+discordbot> Then resurrected 2 stable cycles later as a shorthand for [foreach]. 20180517 02:14:24<+discordbot> :thonk: 20180517 02:14:45<+discordbot> it's not killing any kittens when people use FOREACH, I promise 20180517 02:15:03<+discordbot> Yeah, it only requires WML tools to have special knowledge about it. 20180517 02:15:13<+discordbot> That's definitely not terrible API design or anything. 20180517 02:15:33< EliDupree> What WML tools have trouble with FOREACH but don't have trouble with macros in general? 20180517 02:15:45<+discordbot> lol 20180517 02:15:52<+discordbot> They have trouble with all macros. 20180517 02:16:18<+discordbot> They just need to have special knowledge about FOREACH in particular, and it's only really one, wmlindent. 20180517 02:16:45<+discordbot> I think the name alone should tell you all you need to know about its special relationship with FOREACH. 20180517 02:18:32<+discordbot> oh you guys are removing {FOREACH}? 20180517 02:18:52< celticminstrel> Are we? 20180517 02:19:05<+discordbot> idk, if you do, my whole campaign will break... 20180517 02:19:12< mattsc> Actually, we’re going to remove all of WML and replacing it by Lua. 20180517 02:19:17<+discordbot> Lol 20180517 02:19:26<+discordbot> Not if you do as you are expected to and start porting existing use cases now in 1.14.x 20180517 02:19:32< celticminstrel> That would never happen :p 20180517 02:19:43< EliDupree> Actually, we're going to remove all of Wesnoth and replace it with – 20180517 02:19:44<+discordbot> yeah I have hundreds of uses of FOREACH 20180517 02:19:48<+discordbot> Really, the existence of the macro itself isn't a problem. 20180517 02:19:51<+discordbot> I guess I'll just let it break for now then 20180517 02:20:01<+discordbot> and figure out a way to deal with it later 20180517 02:20:01<+discordbot> if 30 minutes of coding allows wmlindent to have that tiny bit of special knowledge to save tons of typing, then that is a bargain 20180517 02:20:05<+discordbot> The problem is that it has semantics that are completely different to [foreach] 20180517 02:20:27< celticminstrel> That's why we have [for]array= 20180517 02:20:33<+discordbot> How do you explain to a newb why {FOREACH} and [foreach] don't do the exact same thing? 20180517 02:20:47<+discordbot> And in particular, why only one of them can be used to alter the iterated array's size? 20180517 02:20:55<+discordbot> I guess 20180517 02:21:55<+discordbot> I could probably just do a simple substitution in vim to replace all the {FOREACH} macros with [for] tags 20180517 02:22:05<+discordbot> if I type any more on that subject, it will be in Developer's Discussions. if anyone cares to put it up for discussion that is. I guess it's a forgone conclusion 20180517 02:22:06<+discordbot> well, notepad++ would do just fine for that too 20180517 02:22:10< EliDupree> I mean, if we removed everything that was had to explain to a newbie, there wouldn't be much APIs left 20180517 02:22:25< EliDupree> *hard 20180517 02:22:36<+discordbot> it's just that that kind of busy work is a bit lame 20180517 02:23:56< EliDupree> Yeah, it doesn't seem worth making add-on developers do all that work for not even an enormous benefit 20180517 02:24:11<+discordbot> I do find [foreach] more expressive personally. 20180517 02:24:27< EliDupree> And I find Lua more expressive, so… 20180517 02:25:00<+discordbot> touchĆ© 20180517 02:25:22<+discordbot> https://pastebin.com/7ZFtQqPR 20180517 02:25:49< EliDupree> If we're removing all the BAD features, I can think of a lot more to put on the chopping block 20180517 02:25:59<+discordbot> (Although I'd honestly prefer if I could write it as {FOREACH noloyalty_store VARIABLE=noloyalty_unit}.) 20180517 02:26:00< celticminstrel> [May 16@10:23:56pm] EliDupree: Yeah, it doesn't seem worth making add-on developers do all that work for not even an enormous benefit 20180517 02:26:00< celticminstrel> Well, that's why the idea is to leave all the level-1 deprecated things in indefinitely. 20180517 02:26:19< celticminstrel> So you shouldn't use them in new code, but they'll continue to work, meaning you can take your time updating your old code. 20180517 02:26:35<+discordbot> Or rather: 20180517 02:26:37< celticminstrel> @shadowm Sounds possible with the new #arg feature? 20180517 02:26:37< EliDupree> Ah, that makes sense 20180517 02:26:46<+discordbot> {FOREACH noloyalty_store VARIABLE=noloyalty_unit ( # code here )} 20180517 02:26:59< EliDupree> So… Definitely level 1 deprecate ActionWML, right? ;-) ;-) ;-) 20180517 02:27:06<+discordbot> As opposed to having the code sandwiched between two macros. 20180517 02:27:13< celticminstrel> EliDupree: But then there's also the level-3 deprecations which are meant to be removed asap. But we're supposed to use that as little as possible. 20180517 02:27:28<+discordbot> celticminstrel: Yes, it is possible, and that's is why I used the optional parameter syntax. 20180517 02:27:36< celticminstrel> And I wouldn't mind seeing a new FOREACH macro added later which doesn't need a separate NEXT to close it. 20180517 02:27:41<+discordbot> But the name is already used by the existing FOREACH macro. 20180517 02:28:10<+discordbot> And changing the semantics of FOREACH will break all add-ons at load time in a horrible and confusing fashion. 20180517 02:28:16< celticminstrel> EliDupree: TBH, I don't think ActionWML itself even qualifies for level 1 deprecation, it would need to be level 0 (which doesn't exist though). 20180517 02:28:43<+discordbot> It honestly wouldn't be so complicated if FOREACH was balanced WML. 20180517 02:28:46< mattsc> Level 0 is: it’s deprectaed but there is no message? 20180517 02:28:52< celticminstrel> XD 20180517 02:29:01<+discordbot> Instead it's only opening tags with no closing tags. 20180517 02:29:32<+discordbot> That means that either NEXT or a user-defined macro/hand-written code relies on special knowledge about its implementation. 20180517 02:30:11< EliDupree> Okay, I'll stop now, I only joined this conversation to try to weigh in against the idea of changing APIs more often, I don't mean to just make annoying comments, and I've pretty much completed making my case 20180517 02:30:58<+discordbot> So tl;dr FOREACH and its implementation expose the worst design aspects of WML. 20180517 02:32:28<+discordbot> on an unrelated note: didn't someone make a new ImagePathFunction for embedding the whole image data in the path? I don't see it on the wiki yet 20180517 02:32:42<+discordbot> It's not an image path function, actually. 20180517 02:32:45< celticminstrel> ^ 20180517 02:33:01-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20180517 02:33:05< celticminstrel> It is documented on the wiki, I'm pretty sure, but it might be an orphaned page. 20180517 02:33:05<+discordbot> https://wiki.wesnoth.org/DataURI 20180517 02:33:17<+discordbot> (Linked from PblWML's entry on icon=.) 20180517 02:33:24< celticminstrel> Ah, not orphaned then, huh. 20180517 02:35:00<+discordbot> I mean, couldn't that easily be an image path function? ~DATA(image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==) 20180517 02:35:11< celticminstrel> It could be, but it's not. 20180517 02:35:15<+discordbot> It's not a path. 20180517 02:35:31<+discordbot> If you put it that way you'd have to consider the "path" to be the empty string. 20180517 02:35:37< celticminstrel> Pretty sure you can use it in ~BLIT() if you really want that? 20180517 02:35:52<+discordbot> Yeah, probably. 20180517 02:36:11< celticminstrel> Though it's probably simpler to render the whole thing and just use a single data URI. 20180517 02:37:25<+discordbot> people just use misc/blank-hex.png when they want to start with a blank canvas 20180517 02:37:46<+discordbot> Anyway the bottomline is it's not a function, it's a path in and of itself. 20180517 02:38:40<+discordbot> fair enough. so you could just put that instead of the misc/blank-hex.png 20180517 02:39:14<+discordbot> I have a single scenario with 56 instances of FOREACH alone šŸ˜‘ 20180517 02:39:25< celticminstrel> That's a lot. o.o 20180517 02:39:39< celticminstrel> Still, you have at minimum all of 1.14 to slowly convert those. 20180517 02:39:51< celticminstrel> Though I'm not sure how long that'll be. 20180517 02:40:13<+discordbot> it should be easy once I figure out how to write a script to convert them for me 20180517 02:40:31< mattsc> Well, 1.12 went to .6 At 2 weeks per release that’s just under 3 months. 20180517 02:40:32< celticminstrel> BTW, there's also [random_placement] which could probably replace some usages of FOREACH. 20180517 02:41:11< celticminstrel> mattsc: But master won't be stable by then, so... 20180517 02:41:12<+discordbot> the thing that would really make me cry and throw in the towel would be getting rid of WML 20180517 02:41:15< celticminstrel> (Most likely) 20180517 02:41:25< mattsc> celticminstrel: indeed 20180517 02:41:34< celticminstrel> Yeah @Yumi, that's why I don't think it's a plausible thing to do. 20180517 02:41:42< celticminstrel> (But note that it would only be ActionWML, not all WML.) 20180517 02:41:45< mattsc> Okay, I have a serious question though. Not trying to be disruptive for a change. 20180517 02:41:50< celticminstrel> (Well, ActionWML and ConditionalWML.) 20180517 02:41:55< mattsc> What should we do with the experimental AI? 20180517 02:41:57<+discordbot> still would make me cry 20180517 02:41:59< celticminstrel> (So only events and menu items would need to be changed.) 20180517 02:42:03< celticminstrel> Right. 20180517 02:42:06< mattsc> It’s been called that for … quite a while, don’t remember. 20180517 02:42:12<+discordbot> I have 63106 lines of WML in my campaign 20180517 02:42:17< celticminstrel> Heh. 20180517 02:42:20<+discordbot> I reaallly don't want to have to rewrite most of that 20180517 02:42:22< celticminstrel> (How much of that is events?) 20180517 02:42:29<+discordbot> vast majority 20180517 02:42:32< mattsc> It’s clearly better than the default AI, even though the differences are relatively minor. 20180517 02:42:32< celticminstrel> Figures. 20180517 02:42:48< celticminstrel> Still, removing ActionWML wouldn't change anything about defining unit types, for example. 20180517 02:42:59< celticminstrel> mattsc: I have no objection to renaming it if you have a good name? 20180517 02:43:00<+discordbot> that doesn't help 20180517 02:43:14< mattsc> I don’t, that’s the thing. 20180517 02:43:15< celticminstrel> I suppose not... but that's why we're not really seriously considering removing ActionWML. 20180517 02:43:33<+discordbot> mattsc: if the experimental AI has a playstyle, you could name it based on that 20180517 02:43:41<+discordbot> does it have any funny quirks in how it plays? 20180517 02:44:11< mattsc> @Yumi Yeah, it’s the default AI with midified recruiting and castle switching and poisoing and targeting all units and ... 20180517 02:44:18< mattsc> Sounds kind of … cumbersome. 20180517 02:44:40<+discordbot> I mean something immediately noticeable in how it plays, not just that it's generally modified 20180517 02:44:47< celticminstrel> "Rush AI"? Though that only applies to its recruitment algorithm I guess, and I don't even know what it actually means. 20180517 02:44:48< mattsc> Ideally, we’d just make it the new default, but that would … break a lot of things. 20180517 02:44:55< celticminstrel> "Strong AI"? 20180517 02:44:59< celticminstrel> "Improved AI"? 20180517 02:45:00< mattsc> Nah, it’s not a rush AI. 20180517 02:45:10< celticminstrel> "Multitudinous AI"? 20180517 02:45:18< mattsc> Nice 20180517 02:45:18< celticminstrel> "We Couldn't Think Of A Name AI"? 20180517 02:45:30< mattsc> Well, that’s how we came up with ā€˜Fred'. 20180517 02:45:33< mattsc> Exactly like that. 20180517 02:45:47< mattsc> And, in fact, the ExpAI is called Ron. 20180517 02:46:02< celticminstrel> Boo. 20180517 02:46:20< EliDupree> TINGAN, standing for TINGAN Is Not Good AI Name 20180517 02:46:23< mattsc> I’m not kidding. 20180517 02:46:30<+discordbot> is the experimental ap ever going to become not experimental 20180517 02:46:38< celticminstrel> Maybe tomorrow? 20180517 02:46:40< celticminstrel> :P 20180517 02:46:59< celticminstrel> ExpAI has the healer support CA. 20180517 02:47:01< mattsc> It’s not experimental in the sense that it works and wins against the default AI 70% of the time. 20180517 02:47:10< mattsc> Well, except on Dark Forecast. 20180517 02:47:15< celticminstrel> So making it the default would make that MicroAI obsolete, huh? 20180517 02:47:20< mattsc> But I’ll have that fixed before 1.14.2 20180517 02:47:25< celticminstrel> Yay? 20180517 02:47:44< celticminstrel> You mean it'll be fixed this week? 20180517 02:47:48< mattsc> No, not at all. 20180517 02:47:56< mattsc> The MAIs serve a very different purpose. 20180517 02:48:01< celticminstrel> Tiiiiming. >_> 20180517 02:48:11< mattsc> :) 20180517 02:48:47< mattsc> Yes, I will fix the ExpAI on DF this week. 20180517 02:49:21< celticminstrel> I also have Monday off which is nice, maybe I can fiiiiinally get BCoA up on the addons server. 20180517 02:49:36< celticminstrel> And move on to... either the sequel or the schema work. 20180517 02:50:05< mattsc> :) You’ve been sitting a 369 commits for a long time ... 20180517 02:50:13< celticminstrel> ? 20180517 02:51:44< mattsc> Go to the BCoA github page and search for ā€˜369' 20180517 02:52:07< celticminstrel> ... 20180517 02:52:20< celticminstrel> That's just the total, it doesn't actually mean anything. 20180517 02:52:42< mattsc> It’s been the same number for … a while. Meaning, my curiosity has not yet been satisfied. ;) 20180517 02:52:43< celticminstrel> 1.3.7 has 248 commits though, so there are quite a lot... 20180517 02:53:14< celticminstrel> Ah, I've got your AI code mostly merged, so even if I don't get BCoA up this weekend I expect I can push the AI thing. 20180517 02:53:17< mattsc> As for the ExpAI, I guess there’s no way we’ll ever make it the default. But we should probably rename it to indicate to people that it is stable to use. 20180517 02:53:53<+discordbot> it would be kind of fun to have AIs with different strengths and weaknesses 20180517 02:54:03< mattsc> celticminstrel: There’s no need. It really is just simple curiosity on my part. 20180517 02:54:08< mattsc> I have plenty of patience. 20180517 02:54:10<+discordbot> yeah I agree it needs a sexier name. Like BrainyAI 20180517 02:54:17<+discordbot> ThinkerAI 20180517 02:54:27< celticminstrel> Sure, but I mean it probably will be done this weekend. 20180517 02:54:34< mattsc> cool 20180517 02:54:42< celticminstrel> Unless I slack off again and can't get started on it because of the heat or something. 20180517 02:54:58< celticminstrel> (But note that "this weekend" includes Monday.) 20180517 02:55:07< mattsc> Oh, yeah, it’s even hotter in your parts than it is here. 20180517 02:55:18< mattsc> We get Monday too, and the kids get Friday on top of that 20180517 02:55:23< celticminstrel> ...uh, how would you know something like that... 20180517 02:55:46<+discordbot> How can one use the Exp AI in canmpaigns? 20180517 02:56:15< celticminstrel> ai_algorithm=experimental_ai should work 20180517 02:56:21< celticminstrel> (in the [ai] tag) 20180517 02:56:32<+discordbot> ah, alright, thanks 20180517 02:57:10< mattsc> @sevu There’s also an EXPERIMENTAL_AI macro 20180517 02:57:33< celticminstrel> That macro should in theory have the exact same effect as ai_algorithm=experimental_ai. 20180517 02:57:37< celticminstrel> If it doesn't there's a bug. 20180517 03:01:36<+discordbot> has never seen al that AI macros 20180517 03:01:43<+discordbot> *all 20180517 03:02:39-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20180517 03:04:14<+discordbot> hmmm.... there are many macros in there which should get a deprecation level 20180517 03:04:26<+discordbot> I mean, the comments say they are deprecated 20180517 03:04:53< celticminstrel> Hmm. Do those comments show up on the auto-generated documentation page? 20180517 03:10:18<+discordbot> For AI_NEW_SYNTAX it does. And then there are many who aren't listed in the macro reference (because they have no comment inside?) where the deprecated macro calls another macro 20180517 03:11:36<+discordbot> such as # Keep for backward compatibility #define AI_CA_PASSIVE_LEADER_SHARES_KEEP {AI_CA_LEADER_SHARES_KEEP} #enddef 20180517 03:11:57-!- sevu [~Shiki@p548540F2.dip0.t-ipconnect.de] has joined #wesnoth-dev 20180517 03:11:57-!- sevu [~Shiki@p548540F2.dip0.t-ipconnect.de] has quit [Client Quit] 20180517 03:13:05-!- foodtooth [7442b8c2@gateway/web/freenode/ip.116.66.184.194] has quit [Ping timeout: 260 seconds] 20180517 03:13:06<+discordbot> (well, that doesn't look so well on the IRC side) 20180517 03:15:09<+discordbot> oops 20180517 03:15:12<+discordbot> I totally messed up 20180517 03:15:37<+discordbot> @Vultraz Sure, I’ll submit a PR tonight or tomorrow. I want to look them over. 20180517 03:17:44<+discordbot> yay now it worked 20180517 03:18:02<+discordbot> can i get a map screenshot? 20180517 03:27:16<+discordbot> celmin: MENU_IMG_TXT2's deprecation is broen 20180517 03:27:24< celticminstrel> Yaaaay, 20180517 03:27:25<+discordbot> "unexpected characters at line start" 20180517 03:28:13< celticminstrel> Looks fine to me... 20180517 03:29:39<+discordbot> mattsc, there is a part commented out ... I wonder why? And if that aplies as well if using ai_algorithm=experimental_ai instead https://github.com/wesnoth/wesnoth/blob/master/data/core/macros/ai.cfg#L553 20180517 03:29:45<+discordbot> was that map screenshot thing directed at ancestral or me? 20180517 03:30:22<+discordbot> hmm 20180517 03:30:57<+discordbot> nevermind 20180517 03:31:10< celticminstrel> @sevu Yes, the commented-out bit also applies for the ai_algorithm method. 20180517 03:32:12<+discordbot> celmin: try launching 1.14? 20180517 03:32:24< celticminstrel> Not right now, just about sleeptime. 20180517 03:33:36< mattsc> @sevu What’s commented out is the default AI’s recruiting CA. 20180517 03:33:56< mattsc> It is replaced by the ā€œrecruit_rushersā€ CA the is added below. 20180517 03:34:39< mattsc> We (I? I don’t remember) left that commented out line in intentionally in order to indicate that the default recruiting is replaced. 20180517 03:40:03-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [] 20180517 03:55:16-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20180517 03:58:01-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20180517 04:03:45< mattsc> Umm … I suddenly have a lot of files I removed or deleted show up as untracked under git… 20180517 04:04:01< mattsc> *renamed or deleted 20180517 04:04:12-!- irker686 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20180517 04:06:17< mattsc> They didn’t show up that way earlier today, even though their removal happened several days ago. 20180517 04:06:33 * mattsc is wondering 1. what happened, 2. what to do 20180517 04:08:57-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] 20180517 04:09:30< mattsc> Ooo, ā€˜git clean’. Bit still: why? 20180517 04:32:56-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20180517 05:01:41-!- gfgt [~androirc@134.76.63.8] has quit [Ping timeout: 256 seconds] 20180517 05:40:39-!- irker594 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20180517 05:40:39< irker594> wesnoth: doofus-01 wesnoth:1.14 0413209e3735 / data/campaigns/Under_the_Burning_Suns/ (8 files in 2 dirs): Nym sword attack animation https://github.com/wesnoth/wesnoth/commit/0413209e3735bd0a933c39b6ccf92e439edae151 20180517 05:42:10< irker594> wesnoth: doofus-01 wesnoth:master 29f97cd2fe90 / data/campaigns/Under_the_Burning_Suns/ (8 files in 2 dirs): Nym sword attack animation https://github.com/wesnoth/wesnoth/commit/29f97cd2fe901e98da10f5a3164157881df93fdd 20180517 05:44:10< zookeeper> sword0.png? what's with that naming scheme? 20180517 05:46:40<+discordbot> feel free to rename 20180517 05:49:44-!- gfgt [~androirc@134.76.63.8] has joined #wesnoth-dev 20180517 05:51:17<+discordbot> @Yumi I'm not entirely a fan of the new map šŸ¤” 20180517 05:51:49<+discordbot> it seems so...simple 20180517 05:55:34-!- foodtooth [7442b8c2@gateway/web/freenode/ip.116.66.184.194] has joined #wesnoth-dev 20180517 05:57:31< zookeeper> if/when you redo some commits, you can just use the usual campaign commit prefixing. well, the usual one that some people always ignore anyway. 20180517 05:58:11<+discordbot> I don't redo them? 20180517 05:58:37< zookeeper> not you. 20180517 06:07:21<+discordbot> @Vultraz that's the point 20180517 06:07:27<+discordbot> literally the rest of the campaign is so simple 20180517 06:07:36<+discordbot> why should the last scenario be extra ultra complicated? 20180517 06:07:57<+discordbot> well, I mean simple as in no tthat interesting 20180517 06:08:20<+discordbot> 🤷 I didn't intend for it to be something amazingly interesting 20180517 06:08:26<+discordbot> it's very straightforward in both design and play 20180517 06:10:02<+discordbot> to be quite frank, THoT as a whole doesn't have too many interesting elements 20180517 06:29:06-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Quit: wedge009] 20180517 06:41:32-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20180517 06:42:03<+discordbot> okay I added some extra "eye-candy" areas which will also probably have very small gold bonuses in them so they're not completely useless 20180517 06:57:24-!- gfgt [~androirc@134.76.63.8] has quit [Remote host closed the connection] 20180517 07:06:31< irker594> wesnoth/wesnoth:1.14 Severin Glƶckner 01022f552d NR S2: let Hammel not take part in comba AppVeyor: All builds passed 20180517 07:20:10<+discordbot> celticminstrel: ^ 20180517 07:27:41-!- travis-ci [~travis-ci@ec2-54-81-162-236.compute-1.amazonaws.com] has joined #wesnoth-dev 20180517 07:27:42< travis-ci> Pentarctagon/wesnoth#39 (master - 670d539 : Pentarctagon): The build has errored. 20180517 07:27:43< travis-ci> Build details : https://travis-ci.org/Pentarctagon/wesnoth/builds/380064704 20180517 07:27:43-!- travis-ci [~travis-ci@ec2-54-81-162-236.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180517 07:29:52< zookeeper> @Pentarctagon, for empty strings, you should simply use "" instead of _ "." 20180517 07:42:35-!- foodtooth [7442b8c2@gateway/web/freenode/ip.116.66.184.194] has quit [Ping timeout: 260 seconds] 20180517 07:51:50<+discordbot> alright 20180517 07:57:45<+discordbot> zookeeper: so no translation mark either with the empty string? 20180517 07:59:32<+discordbot> Exactly. An empty string doesn't become anything else in other languages. 20180517 08:03:56< zookeeper> you only want to use a translation mark if you actually want the thing translated 20180517 08:04:43< zookeeper> and _"" has traditionally caused some problems with gettext, dunno if it still does but there's no reason to use it anyway. 20180517 08:10:18-!- iwaim [~iwaim@rasteenie.alib.jp] has quit [Read error: Connection reset by peer] 20180517 08:10:20-!- iwaim_ [~iwaim@2001:2c0:40e:2002:3deb:fe99:21b3:c4ba] has joined #wesnoth-dev 20180517 08:14:38<+discordbot> alright, fixed. 20180517 08:27:10-!- iwaim_ [~iwaim@2001:2c0:40e:2002:3deb:fe99:21b3:c4ba] has quit [Read error: Connection timed out] 20180517 08:34:44-!- gfgt [~androirc@134.76.63.8] has joined #wesnoth-dev 20180517 08:48:47-!- gfgt [~androirc@134.76.63.8] has quit [Ping timeout: 265 seconds] 20180517 08:48:55-!- gfgt [~androirc@tmo-106-17.customers.d1-online.com] has joined #wesnoth-dev 20180517 08:54:59<+discordbot> @jyrkive https://github.com/wesnoth/wesnoth/issues/3123 20180517 08:56:48<+discordbot> Yeah, I have seen it. 20180517 08:58:18<+discordbot> The line number (633) shows that the error occurred in a build before https://github.com/wesnoth/wesnoth/commit/15446acb2ad1fd7990e52e7194480820c4923596 20180517 08:58:49-!- gfgt [~androirc@tmo-106-17.customers.d1-online.com] has quit [Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )] 20180517 08:59:00-!- gfg [~androirc@tmo-106-17.customers.d1-online.com] has joined #wesnoth-dev 20180517 08:59:29<+discordbot> It's most likely already fixed, but I'll check the scenario's code later to check if it modifies dead units in those event handlers where it's now allowed. 20180517 09:00:38<+discordbot> ok 20180517 09:13:11-!- foodtooth [7442b8c2@gateway/web/freenode/ip.116.66.184.194] has joined #wesnoth-dev 20180517 09:16:29< irker594> wesnoth/wesnoth:master Severin Glƶckner 3730ff9738 NR S2: let Hammel not take part in comba AppVeyor: All builds passed 20180517 09:26:57-!- gfg [~androirc@tmo-106-17.customers.d1-online.com] has quit [Ping timeout: 240 seconds] 20180517 09:47:27-!- gfg [~androirc@tmo-106-17.customers.d1-online.com] has joined #wesnoth-dev 20180517 09:53:40-!- louis94 [~~louis94@91.176.171.238] has joined #wesnoth-dev 20180517 10:03:20-!- louis94 [~~louis94@91.176.171.238] has quit [Ping timeout: 268 seconds] 20180517 10:18:56-!- gfg [~androirc@tmo-106-17.customers.d1-online.com] has quit [Remote host closed the connection] 20180517 10:25:46-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Read error: Connection reset by peer] 20180517 10:49:36-!- iwaim [~iwaim@rasteenie.alib.jp] has joined #wesnoth-dev 20180517 11:07:20-!- foodtooth [7442b8c2@gateway/web/freenode/ip.116.66.184.194] has quit [Ping timeout: 260 seconds] 20180517 12:07:13-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180517 12:16:46-!- irker594 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20180517 12:31:26-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20180517 12:45:36-!- irker156 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20180517 12:45:36< irker156> wesnoth/wesnoth:1.14 doofus-01 0413209e37 Nym sword attack animation AppVeyor: All builds passed 20180517 13:13:58-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: mattsc] 20180517 13:25:55-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20180517 13:41:22-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Ping timeout: 260 seconds] 20180517 14:50:55< galegosimpatico> Maybe dumb question: here in https://www.wesnoth.org/gettext/ I see 17385 as listed... strings, I suppose. Is that wesnoth? But does it include the wesmere web and the forums and the units browser? Does it include anything else? Is any UMC content under the umbrella of that number? 20180517 14:51:44< galegosimpatico> Oh sorry I forgot about the branch chooser. I suppose that's just wesnoth. 20180517 14:52:06<+discordbot> galegosimpatico: It only includes textdomains from the wesnoth/wesnoth repository. 20180517 14:52:10< galegosimpatico> But if so, is there any similar browsers for the wesmere web, and the units browser, and the forums, and UMC add-ons? 20180517 14:52:14<+discordbot> No. 20180517 14:52:49<+discordbot> And the first three do not use gettext (although units.w.o piggybacks on existing translations for mainline and UMC). 20180517 14:57:18< galegosimpatico> I've 0 gettext experience but I think I understand the piggyback clarification. Then how the bloody hell is able to piggyback on UMC translations? Is each era there configured one by one? 20180517 14:58:44<+discordbot> It uses the Python gettext module to read .mo files from mainline and UMC. 20180517 14:59:10< galegosimpatico> Oh you mean everything is stored in the same server, right? 20180517 14:59:23< galegosimpatico> So it is kind of _easy_ then? 20180517 14:59:27<+discordbot> There's currently no way to extract strings for itself, so several of the UI strings it uses are deliberately copied off the wesnoth or wesnoth-lib textdomains. 20180517 14:59:50<+discordbot> It has to download add-ons from the add-ons server. 20180517 15:00:04<+discordbot> The add-ons may or may not ship translations. 20180517 15:00:39-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: mattsc] 20180517 15:05:59< galegosimpatico> Do you recall at this moment of any UMC era that ships translations? 20180517 15:06:31< galegosimpatico> I'm trying blindly but as not knowing what to hit I'm mostly missing. 20180517 15:06:34<+discordbot> Not at all. 20180517 15:07:46< galegosimpatico> OK, for now I'm fine enough with all of this, thx. 20180517 15:24:48-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20180517 15:29:56< galegosimpatico> Well, no. Why Website Staff is not mentionable in Discord? Because there is only you? 20180517 15:30:34<+discordbot> Is there any particular reason why you feel they should be mentionable? 20180517 15:31:29<+discordbot> We just don't enable or add things that aren't needed. 20180517 15:32:06< galegosimpatico> I thought of asking Website Staff how tedious is the deliberate copying of wesnoth and wesnoth-lib strings off those textdomains. 20180517 15:32:24<+discordbot> Yeah exactly, that's not what group mentions are for. 20180517 15:33:02<+discordbot> Discord Mods is mentionable to alert them of incidents. Mentioning a role means that all of the people with that role get notifications, which can be pretty annoying when it's not for something that demands immediate attention. 20180517 15:33:39<+discordbot> I think you didn't understand my explanation as to how the units.w.o tool (wmlunits) gets those strings either. 20180517 15:35:01<+discordbot> We don't have to do anything. The tool is part of a toolchain that can 1) build the game and its translations from a local clone of the wesnoth/wesnoth repository; 2) update a local directory containing add-ons from the add-ons server, by downloading new or updated add-ons as needed; 3) build the units.w.o pages for those add-ons using wmlunits. 20180517 15:35:39<+discordbot> wmlunits loads the translations for mainline because it needs them for the mainline units, and for UI strings that are already part of the game. 20180517 15:35:52<+discordbot> It also loads translations for any add-ons that ship translations and tries to use them. 20180517 15:36:06<+discordbot> There's no manual work involved. 20180517 15:37:47< irker156> wesnoth/wesnoth:master doofus-01 29f97cd2fe Nym sword attack animation AppVeyor: All builds passed 20180517 15:42:18< galegosimpatico> Ah cool. I was wrong and thought 'textdomains' to be .po files, not .mo files. 20180517 16:11:35< galegosimpatico> Is there any way to browse untranslated and fuzzy strings of add-ons? To know ratios, like for mainline. 20180517 16:12:38<+discordbot> You'd have to download all add-ons and go through their translation catalogues yourself I'm afraid. 20180517 16:26:38< galegosimpatico> I don't know how to do that. Is anything similar shown in `poedit` by loading "root.po" and "translated.po" and "translated.mo" in `poedit`? 20180517 16:29:52<+discordbot> .mo files can be decompiled back into (annotation-less) .po files with msgunfmt. 20180517 16:30:00< galegosimpatico> Or maybe `.../${language}/.../${catalogue}.mo` is more similar to how it is supposed to be named? 20180517 16:30:51<+discordbot> If .mo files don't contain the fuzzies and untranslated strings (I don't remember) then the result can still be compared against a new wmlxgettext run on the add-on. 20180517 16:40:29-!- Oebele_ [~quassel@143.177.58.202] has joined #wesnoth-dev 20180517 16:44:36< galegosimpatico> I find it all very complicated. I should try to contribute (or update) some UMC translation and maybe then I get to understand some parts a little bit better. 20180517 16:55:21<+discordbot> Is there any discussion about adding event editing and creation to the map editor? 20180517 16:57:16<+discordbot> Not really. It would be very difficult to come up with some way to create events without writing code, and the whole scenario editing functionality is only barely maintained. 20180517 16:59:25<+discordbot> Would some in-game solution with writing code be an option? 20180517 17:00:19<+discordbot> It would be much easier to implement. Still, AFAIK no one is planning to work on it at the moment. 20180517 17:26:34-!- louis94 [~~louis94@91.176.171.238] has joined #wesnoth-dev 20180517 17:31:32-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20180517 17:53:24< irker156> wesnoth/wesnoth:master nemaara efd5a23fc3 Revised THoT S12 Map rework AppVeyor: All builds passed 20180517 17:59:05-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180517 17:59:11-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180517 18:39:07-!- gfgtdf [~gfgtdf@134.76.63.8] has joined #wesnoth-dev 20180517 18:45:46-!- Bhoren [~Bhoren_wh@2a01:e0a:c:2150:fdda:845:3d5f:65d4] has joined #wesnoth-dev 20180517 19:15:24-!- louis94 [~~louis94@91.176.171.238] has quit [Ping timeout: 256 seconds] 20180517 19:16:31-!- louis94 [~~louis94@91.176.171.238] has joined #wesnoth-dev 20180517 19:24:04< irker156> wesnoth: Nils Kneuper wesnoth:1.14 1f0cd39560df / / (6 files in 5 dirs): updated Czech translation https://github.com/wesnoth/wesnoth/commit/1f0cd39560df30ff1f1f5704ccd9570a49ddcf96 20180517 19:24:06< irker156> wesnoth: Nils Kneuper wesnoth:1.14 bd5b7cd0adb2 / po/ (7 files in 7 dirs): British English https://github.com/wesnoth/wesnoth/commit/bd5b7cd0adb20242754993b9c78979b187d5035a 20180517 19:24:08< irker156> wesnoth: Nils Kneuper wesnoth:1.14 30004453c59e / po/ (wesnoth-ei/fr.po wesnoth-sota/fr.po wesnoth-tsg/fr.po): updated French translation https://github.com/wesnoth/wesnoth/commit/30004453c59e8d4c9bb3a3f34a1319138e2377be 20180517 19:24:10< irker156> wesnoth: Nils Kneuper wesnoth:1.14 6e6181ad0048 / / (11 files in 10 dirs): updated Galician translation https://github.com/wesnoth/wesnoth/commit/6e6181ad004836a5c47c5f6d916c00b632fafeb0 20180517 19:24:12< irker156> wesnoth: Nils Kneuper wesnoth:1.14 e19bb256bc24 / po/ (10 files in 10 dirs): updated Italian translation https://github.com/wesnoth/wesnoth/commit/e19bb256bc24bc197a529998875f98e7d925f3de 20180517 19:24:15< irker156> wesnoth: Nils Kneuper wesnoth:master 20532e33820f / po/ (4 files in 4 dirs): updated Czech translation https://github.com/wesnoth/wesnoth/commit/20532e33820fe430a2b70bbc676c1175f2ba7a36 20180517 19:24:17< irker156> wesnoth: Nils Kneuper wesnoth:master 2efd2c1d30a3 / po/ (7 files in 7 dirs): updated British English translation https://github.com/wesnoth/wesnoth/commit/2efd2c1d30a368e66b96a34aec8d1c5176b5de06 20180517 19:24:19< irker156> wesnoth: Nils Kneuper wesnoth:master 20f92c383829 / po/ (wesnoth-ei/fr.po wesnoth-sota/fr.po wesnoth-tsg/fr.po): updated French translation https://github.com/wesnoth/wesnoth/commit/20f92c383829ca2586c2d741afe7e492611968dd 20180517 19:24:21< irker156> wesnoth: Nils Kneuper wesnoth:master 83e1f6ad1cfb / po/ (9 files in 9 dirs): updated Galician translation https://github.com/wesnoth/wesnoth/commit/83e1f6ad1cfbedaa93fd7e1341e79b9ba407d505 20180517 19:24:23< irker156> wesnoth: Nils Kneuper wesnoth:master 7877bc3ef4dd / po/ (10 files in 10 dirs): updated Italian translation https://github.com/wesnoth/wesnoth/commit/7877bc3ef4dd53164da4303fa1f47859c8a8bc93 20180517 19:32:52< irker156> wesnoth/wesnoth:master Pentarctagon 650d50cb14 Add new units as discussed on the forums AppVeyor: All builds passed 20180517 19:45:26-!- louis94 [~~louis94@91.176.171.238] has quit [Ping timeout: 256 seconds] 20180517 19:50:15<+discordbot> @Bitron it would be a great idea to write a tutorial campaign where delfador gives instructions on using WML to make a campaign, step by step. maybe even more beneficial than that campaign generator idea you suggested. 20180517 19:51:17<+discordbot> I don't know much about lua, but I think it could be used to write a custom message dialog containing a scrollable WML code section, right? 20180517 19:52:01<+discordbot> I saw on the forums that some people were using lua to design their own custom dialog layouts 20180517 19:58:05-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has quit [Quit: Caught sigterm, terminating...] 20180517 19:58:30-!- Ivanovic [~ivanovic@p579FB6E5.dip0.t-ipconnect.de] has joined #wesnoth-dev 20180517 19:58:41-!- Ivanovic [~ivanovic@p579FB6E5.dip0.t-ipconnect.de] has quit [Changing host] 20180517 19:58:41-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has joined #wesnoth-dev 20180517 20:27:24-!- Bhoren [~Bhoren_wh@2a01:e0a:c:2150:fdda:845:3d5f:65d4] has quit [Quit: Leaving] 20180517 20:41:40-!- Oebele_ [~quassel@143.177.58.202] has quit [Remote host closed the connection] 20180517 21:47:04-!- louis94 [~~louis94@91.176.171.238] has joined #wesnoth-dev 20180517 22:01:38-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20180517 22:11:32-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180517 22:33:42<+discordbot> It's possible, but the LuaAPI for it is quite bad. 20180517 22:33:50-!- irker156 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20180517 22:43:22-!- louis94 [~~louis94@91.176.171.238] has quit [Remote host closed the connection] 20180517 22:46:25-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 248 seconds] 20180517 22:55:01< EliDupree> I use it in EoHS, but I'm not aware of a multiline text box element that can be copied from 20180517 22:55:10-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Remote host closed the connection] 20180517 23:20:27-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Ping timeout: 240 seconds] 20180517 23:37:12<+discordbot> Did the microAIs broke in the 1.13 cycle? I am currently experimenting with them and so far non seem so work as supposed. 20180517 23:40:49<+discordbot> hm? 20180517 23:40:53<+discordbot> ask @mattsc 20180517 23:45:17<+discordbot> cowards attack, the 'rabbit_type' key from forest cause a bunch of lua errors. forest animals and big animals both don't move at all. Goto MAI works, though. 20180517 23:49:01<+discordbot> Oh no, wait. That they don't move was my mistake. typo in movement_type. The rabbit_type key is still not working. though. 20180517 23:55:02-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20180517 23:59:22<+discordbot> Ehh. Alright. The lua error was caused by the typo as well. Everything seems fine. Sorry. --- Log closed Fri May 18 00:00:26 2018