01:31:19 Fork (bcrawl) on crawl.kelbi.org updated to: 0.23-a0-4884-gcf1f1e11f7 03:21:13 "W is for Wiglaf, removed from these floors" 03:59:11 <08n​lavsky> re: reconfiguration branch. That's one epic refactor! 04:23:07 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-4884-gcf1f1e11f7 05:14:14 03nlavsky02 07* 0.30-a0-863-gf5068b961c: fix: show rDrown and rBlind in the monster lookup (?/m) 10(5 minutes ago, 3 files, 24+ 0-) 13https://github.com/crawl/crawl/commit/f5068b961c2a 05:43:50 Unstable branch on crawl.kelbi.org updated to: 0.30-a0-863-gf5068b961c (34) 07:16:11 <06a​dvil> wow, gcc hates my template stuff enough that it produced a 92557 character long error 07:16:19 <06a​dvil> (compiles on clang) 07:17:15 <06a​dvil> https://github.com/crawl/crawl/actions/runs/4370724875/jobs/7645914953#step:13:1189 07:17:49 <06a​dvil> oh, I guess it's an error coresponding to that entire line 07:17:56 <06a​dvil> which is not a short line 07:37:04 03advil02 07[reconfiguration] * 0.30-a0-867-g7c573d4fa9: fix: remove some constexpr 10(4 minutes ago, 1 file, 6+ 6-) 13https://github.com/crawl/crawl/commit/7c573d4fa96d 07:37:04 03advil02 07[reconfiguration] * 0.30-a0-868-g5ff1c9ebdf: build: expand a macro 10(64 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/5ff1c9ebdfb3 07:59:14 03advil02 07[reconfiguration] * 0.30-a0-869-g67e58de994: fix: tweak OptFunctor instantiation 10(67 seconds ago, 2 files, 2+ 2-) 13https://github.com/crawl/crawl/commit/67e58de994e8 08:03:49 <06a​dvil> I think I'm getting close to the end of what options can be easily generalized without writing some sort of CustomOption class that basically takes a bunch of lambdas 08:03:54 <06a​dvil> which may still be worth doing 08:10:53 <06a​dvil> in fact, I guess it's sort of obligatory if those options are ever to be edited 08:12:02 <06a​dvil> it's kind of sad how much worse that code is going to look than a simple if sequence tho 08:21:16 03advil02 07[reconfiguration] * 0.30-a0-867-g77a6755b31: fix: deal with some gcc-specific build issues 10(48 minutes ago, 3 files, 17+ 11-) 13https://github.com/crawl/crawl/commit/77a6755b316c 08:38:05 03advil02 07[maybe_kleene] * 0.30-a0-864-g8838f259ad: refactor: rewrite maybe_bool 10(4 weeks ago, 14 files, 226+ 76-) 13https://github.com/crawl/crawl/commit/8838f259ad7c 08:38:05 03advil02 07[maybe_kleene] * 0.30-a0-865-g45891bb24c: refactor: convert old maybe_bools to new maybe_bools 10(4 weeks ago, 44 files, 203+ 248-) 13https://github.com/crawl/crawl/commit/45891bb24cdf 08:38:05 03advil02 07[maybe_kleene] * 0.30-a0-866-g0c4e4566d2: build: maybe fix android build 10(4 weeks ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/0c4e4566d23b 08:38:05 03advil02 07[maybe_kleene] * 0.30-a0-867-g305f33218d: test: maybe_bool test cases 10(3 weeks ago, 3 files, 59+ 0-) 13https://github.com/crawl/crawl/commit/305f33218dba 08:39:15 <06a​dvil> speaking of devs who don't merge their branches I may merge this maybe bool refactor soon 08:40:40 <10P​leasingFungus> maybe… 08:40:50 <06a​dvil> damn it 08:41:17 <06a​dvil> missed opportunity, edited 08:50:41 <03w​heals> > // in c++17 and on, the template could simply be template instead. 08:53:44 <03w​heals> ok I was going to suggest it was even better than that, you could simply have template class ListGameOption : public GameOption 08:53:58 <03w​heals> (actually strike the second typename) 08:54:16 <03w​heals> but it seems you can't mix placeholder types with default types 08:54:53 <06a​dvil> I think auto doesn't work at all in c++11 templates, unfortunately 08:56:16 <10P​leasingFungus> i wonder how many of our servers break if we go to c++17 08:56:29 <06a​dvil> heh 08:56:32 <06a​dvil> cao for sure 08:56:40 <06a​dvil> maybe others would be fine though these days? 08:56:59 <06a​dvil> probably the cdo trunk nightly builds would break, that's on a weird compiler version that is maybe not even quite c++11? 08:58:11 <03w​heals> actually it's possible you can (give a default value for a placeholder), the real problem is that you still can't generalize simply across types (like a plain T) and functions 08:58:25 <03w​heals> so you do still need the second template that creates the functor 08:58:38 <06a​dvil> ah yeah 08:58:43 <06a​dvil> that was the fundamental problem 08:58:57 <06a​dvil> also, as a python programmer this was incredibly frustrating 08:59:13 <06a​dvil> since this would be trivial in python 08:59:20 <06a​dvil> that bit of code is my very first sfinae attempt, so no doubt there are going to be better ways; though it does seem like a lot of them are post c++11 09:01:39 <06a​dvil> I probably spent 3hrs total trying to get just the std::enable_if duo to work 09:01:44 <03w​heals> i think my go to solution would be to pass in the function at runtime instead 09:01:51 <03w​heals> not as neat in some ways but also less finicky 09:19:13 <06a​dvil> well, the trick is that it was already templatic with just the typename version 09:19:58 <06a​dvil> so it was very hard to keep that and also pass a function in at runtime for the case where the type is e.g. an enum 09:22:17 <06a​dvil> although tbh it's really only used for two classes (text_pattern and simply string) so I probably could have rewritten those cases somehow 09:24:17 03advil02 07* 0.30-a0-864-g8838f259ad: refactor: rewrite maybe_bool 10(4 weeks ago, 14 files, 226+ 76-) 13https://github.com/crawl/crawl/commit/8838f259ad7c 09:24:17 03advil02 07* 0.30-a0-865-g45891bb24c: refactor: convert old maybe_bools to new maybe_bools 10(4 weeks ago, 44 files, 203+ 248-) 13https://github.com/crawl/crawl/commit/45891bb24cdf 09:24:17 03advil02 07* 0.30-a0-866-g0c4e4566d2: build: maybe fix android build 10(4 weeks ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/0c4e4566d23b 09:24:17 03advil02 07* 0.30-a0-867-g305f33218d: test: maybe_bool test cases 10(3 weeks ago, 3 files, 59+ 0-) 13https://github.com/crawl/crawl/commit/305f33218dba 09:24:38 <03w​heals> can't you just have a function field in the class that defaults to nullptr? 09:26:57 <06a​dvil> I couldn't figure out a way to have the function that uses T(s) compile for the typename case while also having that; I did actually dabble with trying to use sfinae to disable a function and use a runtime function for that case but didn't succeed 09:27:15 <06a​dvil> that was kind of unclear 09:28:03 <06a​dvil> in one attempt, I had an element_from_string implementation that did what you are suggesting, used a runtime function, but I couldn't get that to work at the same time as code that called T(s) for a typename T directly 09:28:35 <03w​heals> huh 09:28:50 <03w​heals> what if you always used the function and defaulted it to std::forward 09:29:22 <06a​dvil> (I also at one point had something with simpler code with a constructor-based functor that used state and an implicit cast out to T, but the state made me sad) 09:30:01 <06a​dvil> (e.g. instead of an operator it was constructed directly from a string, and had an implicit cast op instead of a return) 09:31:22 <06a​dvil> I have to admit that std::forward is in the list of c++ things I don't fully grasp so maybe! 09:32:41 <06a​dvil> I should say I also hadn't really yet figured out how to use std::enable_if properly, so I wonder if I could get it to work now 09:33:12 <06a​dvil> since I think that if there's one thing I've gotten out of this exercise it's a basic understanding of std::enable_if 09:35:09 <06a​dvil> in fact I think I could use the same enable if schema I have? 09:37:52 <06a​dvil> it'd then have to be a runtime error if there's no conversion function 09:40:39 <03w​heals> oh yeah, now that you say that i realize why my initial idea wouldn't work 09:41:22 <03w​heals> because the compiler can't know that there will be a function provided 09:41:30 <06a​dvil> yeah also tbc the problem is not so much the function itself but that T(s) doesn't work for the relevant types 09:41:37 <06a​dvil> I have to say I'm still kind of startled that the "proper" way to do SFINAE resolution for so long was to do things like adding a random defaulted bool to a template 09:41:45 <06a​dvil> I guess in c++20 "concepts" replace this 09:54:31 <06a​dvil> hm can you sfinae constructors 09:55:31 <06a​dvil> I guess that wouldn't prevent it from being passed nullptr 10:16:17 Unstable branch on crawl.kelbi.org updated to: 0.30-a0-867-g305f33218d (34) 11:05:23 <08n​icolae> namesearching, as one does, and found this old post, and it reminded me: no one's ever commented on how the big ruined temple map i made for desolation lets you see through the outer border tiles 11:06:59 <09h​ellmonk> Can you make a blj temple 11:12:53 <08n​icolae> what does that mean hellmonk 11:15:25 <09h​ellmonk> a temple where you have to backward long jump 11:24:37 <08n​icolae> there are like eight of those 12:55:24 03advil02 07[reconfiguration] * 0.30-a0-868-g780a6ce03f: refactor: better separate option parsing, state, and management 10(5 days ago, 4 files, 897+ 599-) 13https://github.com/crawl/crawl/commit/780a6ce03f61 12:55:24 03advil02 07[reconfiguration] * 0.30-a0-869-g99216f98e6: refactor: generalize option case handling 10(5 days ago, 4 files, 50+ 68-) 13https://github.com/crawl/crawl/commit/99216f98e684 12:55:24 03advil02 07[reconfiguration] * 0.30-a0-870-gdd718adf37: refactor: make `split_parse` a bit more organized 10(5 days ago, 2 files, 81+ 61-) 13https://github.com/crawl/crawl/commit/dd718adf37eb 12:55:24 03advil02 07[reconfiguration] * 0.30-a0-871-ge6a4235129: refactor: standardize some newgame options 10(4 days ago, 4 files, 83+ 32-) 13https://github.com/crawl/crawl/commit/e6a42351290a 12:55:24 03advil02 07[reconfiguration] * 0.30-a0-872-g6243ab7b97: feat: generalized means of disabling an option on a build 10(2 days ago, 3 files, 59+ 3-) 13https://github.com/crawl/crawl/commit/6243ab7b977a 12:55:24 03advil02 07[reconfiguration] * 0.30-a0-873-g495d1c5370: refactor: convert `type` to a GameOption 10(2 days ago, 3 files, 32+ 24-) 13https://github.com/crawl/crawl/commit/495d1c537031 12:55:24 03advil02 07[reconfiguration] * 0.30-a0-874-g316926430a: refactor: convert remaining newgame opts to GameOption 10(17 hours ago, 3 files, 92+ 66-) 13https://github.com/crawl/crawl/commit/316926430a62 12:55:24 03advil02 07[reconfiguration] * 0.30-a0-875-gaf51fa852a: fix: deal with some gcc-specific build issues 10(5 hours ago, 3 files, 17+ 11-) 13https://github.com/crawl/crawl/commit/af51fa852ab2 12:56:20 <06a​dvil> some day I should figure out how to further reduce chei's force push spam 13:02:51 <10P​leasingFungus> yeah, force push spam isn't very exciting 13:48:43 <06a​dvil> huh, why do we have separate view_lock_x and view_lock_y options 13:56:18 03advil02 07[reconfiguration] * 0.30-a0-876-g110f4469df: refactor: standardize some maybe_bool option handling 10(2 minutes ago, 3 files, 44+ 42-) 13https://github.com/crawl/crawl/commit/110f4469df71 15:43:05 <10P​leasingFungus> hm, http://crawl.develz.org/release/?C=N;O=D claims the current version is 0.27 15:43:16 <10P​leasingFungus> no idea how that page/directory gets updated 15:53:49 <06a​dvil> maybe manually? 15:53:58 <06a​dvil> I think that's where we used to put hand-built releases 15:55:38 <10P​leasingFungus> we still link to it from https://crawl.develz.org/download.htm , so it'd be nice to keep it updated 15:56:39 <06a​dvil> probably "past releases" should have two links now 15:56:58 <06a​dvil> unless someone wants to go to the effort of keeping that cdo directory up to date 15:57:09 <06a​dvil> (not it) 16:01:21 <10P​leasingFungus> lol 16:24:06 Unstable branch on underhound.eu updated to: 0.30-a0-867-g305f33218d (34) 16:38:36 <09g​ammafunk> yeah this has to be maintained manually, and before advil and others put in the work to make the git releases so automated etc, it was a bit more important. I can copy the files over to CDO from the github page easilly enough. I guess I could say it's nice to have CDO around as a backup, but I think github must be a far more reliable backup than CDO could be 16:39:03 <09g​ammafunk> but it would be somewhat awkard to retire that aspect of CDO since it also has many old releases that predate github releases being a thing 16:39:24 <09g​ammafunk> oh, and this always reminds me of how I need to copy the archives of even older dcss releases on sourceforge over to CDO 16:39:46 <09g​ammafunk> since I think in the case of sourceforge it'd actually be nicer to have CDO as a backup 16:43:47 <06a​dvil> I guess there'd probably be some way to automate the cdo archive 16:43:56 <06a​dvil> possibly not worth the time 16:50:31 <06a​dvil> although I wonder if there might be simple off the shelf scripts that would automate mirroring release artifacts? 16:56:04 <10P​leasingFungus> as someone who knows nothing about github releases, could we move the old cdo releases over to github? 16:59:55 github releases are tied to tags designated as release tags; I think it'd require a fair amount of repo surgery 17:00:19 and then github regenerating them, as opposed to someone moving them 17:01:11 <10P​leasingFungus> ah, rip 17:01:33 I think I'd just point to github releases for more recent stuff, cdo for older, and sf for very old 17:01:59 <10P​leasingFungus> gamma: do we trust the sourceforge versions? iirc there was some concern about them bundling malware 17:02:23 if they were at some point, they stopped 17:02:43 and iirc it was more adware than malware 17:03:31 (they did a marvelous job of destroying their reputation in a short time) 17:20:39 <06a​dvil> Well, we do already have the relevant release tags, but it sounds like a lot of manual effort for that direction too 17:21:17 <06a​dvil> You can upload whatever to a release tag 17:21:40 <10P​leasingFungus> oh, if you can upload whatever, then surely we could just upload over the cdo stuff 17:26:24 <06a​dvil> It’s something like 20x6 files, right? Not impossible by any means, but.. 17:36:55 <10P​leasingFungus> heh 17:37:03 <10P​leasingFungus> would want to script it somehow, yeah 18:08:38 <09g​ammafunk> I doubt it's an issue. Could spot check a few of the files in terms of uncompressing them and looking for weird stuff, maybe. But it seems a shame to throw away working binaries that might be of historical interest to people who want to try out very old versions. It's pretty hard to compile many of those older sources. 18:13:43 <09g​ammafunk> we even have 0.1.x on osx! 18:14:10 <09g​ammafunk> and apparently we used to release debug builds for windows in addition to regular builds 18:14:24 <09g​ammafunk> oh and apparently a dos build 18:15:15 <10P​leasingFungus> someone was asking about dcss for dos the other day 18:15:18 <10P​leasingFungus> swear to god 18:15:59 <09g​ammafunk> you could point them to 0.5.2, apparently the last dos release we made 18:16:40 <10P​leasingFungus> if they ever appear again, i'll be sure to do so 🙂 23:34:54 Unstable branch on crawl.develz.org updated to: 0.30-a0-867-g305f33218d (34) 23:56:52 Windows builds of master branch on crawl.develz.org updated to: 0.30-a0-867-g305f33218d