00:02:29 <06m​umra> I see a lot of comments like this around the codebase ASSERT(mon); // TODO: change to monster &mon Generally talking about a monster *mon function param. This example dates back to 2016 and obviously this change has never been made -- I feel like comments like this can just be removed as there's no context as to why this change should be made. I don't think there's any advantage to using & over * unless you specifically want to be 00:02:30 able to update the reference, and it's even disadvantageous as you then don't knw if the function you're calling might alter the reference. But I'm wondering if I'm missing something about the preferred way to pass references or if there is some optimisation here? 01:38:49 <03w​heals> pointers and references are equal in those terms, because either way you can update it unless you specify const. i think the advantage of using references is that you make it clear in the calling convention that you should not pass a null pointer, and if a null pointer does slip in somehow, if the parent dereferences it then we will catch the issue sooner 01:39:06 <03w​heals> (and so on for the parent's parent, up the call chain) 01:39:19 that's my understanding as well 01:40:29 (that said, I'm a C programmer, not C++) 01:41:07 <03w​heals> that said, our biggest class of memory bug are pointers to monsters that are perfectly valid according to the CPU, but semantically invalid because the monster is dead, which this doesn't help with 03:35:29 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5208-geafff8c3b6 04:50:24 <06m​umra> Ah I see the issue about nullptr does make sense and that explains why all of these TODOs are on ASSERT(mon) lines or similar. So I am still thinking these todos shouldn't really be there. The effort to convert these functions to & in a lot of cases is extreme and ASSERTs seem to be working fine at least? And the comment is not there on even nearly every case where this would apply, just at least a couple dozen of them - enough to make me 04:50:25 wonder what the correct approach is, but never with an explanation. I wonder if there's a another better way to indicate requiredness of a param without having to make such large changes? Am rather spoiled by languages with built in ways to make such distinctions 🙂 04:53:00 <03w​heals> i think it doesn't take that much work, most of it can be done with a little search and replace each time 04:53:27 <03w​heals> i think PF mostly added them when he was touching the code for other reasons 04:53:40 <03w​heals> which is why it's not everywhere 05:31:44 Unstable branch on crawl.akrasiac.org updated to: 0.33-a0-114-g4d60b03 (34) 08:21:01 <08w​ormsofcan> forgot I made this 08:21:02 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286346318444363777/greatorbofeyes.png?ex=66ed92dd&is=66ec415d&hm=306f53025a0fd4deb0aeaab11f3c40e64d5edb667e7de0e35c19629f71624077& 08:38:09 <08w​ormsofcan> @regret-⸸nde※ for time-warped blood's description, is "diliate" supposed to be "dilate"? 08:45:25 <06p​leasingfungus> thanks for calling this out! as the person who added this, i can speak to it a bit 08:45:37 <06p​leasingfungus> as wheals says, the effor involved is not 'extreme' - it's quite mechanical 08:46:16 <06p​leasingfungus> you just change the function's declaration (in the .h and .cpp) to take a reference instead of a pointer, and then try to recompile. wherever it fails, you add a * before the relevant param. done 08:46:33 <06p​leasingfungus> with a good IDE, you could probably do this much faster 08:46:36 <06p​leasingfungus> going to each call site etc 08:47:52 <06p​leasingfungus> the advantage of doing this is that: - the function signature expresses expectations more clearly - it is impossible to call the function with a null pointer, and that's obvious from the .h - likewise, inside the code itself, it's clear that the parameter is always non-null, even if the function is long enough that the ASSERT is out of view - the code in the function itself is a little nicer (using . instead of ->) 08:48:16 <06p​leasingfungus> and this doesn't just affect these functions we change - it affects any future functions that someone makes using these functions as their base (copy-paste-edit, etc) 08:56:13 <04d​racoomega> (The fact that the codebase is so split at seemingly-random between functions that take actor/monster pointers and those that take references means I regularly put the wrong one into an argument until the IDE points out that I've done so, but it still seems like reasonable principle to me.) 08:56:27 <04d​racoomega> To use references in functions that don't make any sense to have a null argument, instead of an assert. 08:57:10 <06p​leasingfungus> having a compiler fix your mistake instead of having a run-time error is great 🙂 08:58:40 <04d​racoomega> I mean, yes, this is not me saying that's a reason not to do it. (Mostly, I complain that my IDE is regularly really slow/inconsistent about actually pointing it out when it is supposed to) 08:58:55 <04d​racoomega> So sometimes it doesn't actually get caught until compilation 08:59:27 <04d​racoomega> (The 'seemingly-random' part probably actually being a consequence of not every relevant function being converted to references, actually) 09:00:28 <04d​racoomega> (There are some cases of "Sometimes null makes sense here, even if you wouldn't first assume that it does" but there's a whole lot of functions for check_a_property_of(*monster) where I can't imagine a use-case for a null argument) 09:03:12 <04d​racoomega> I am sure I have at some point contributed to this problem by writing such a function that takes a pointer anyway. I apologize for this plausible-yet-unconfirmed occurrence 😛 09:04:54 <08w​ormsofcan> generic living spell tile 09:04:55 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286357361925161022/livingspell.png?ex=66ed9d26&is=66ec4ba6&hm=85271ff27d77bebd2af24917633c60aedc5b5712f1017f227f0b3bac7c7e3506& 09:05:26 <08w​ormsofcan> and uh if you actually implement living spells to have different tiles based on what spell they know here's the colour coordinated versions 09:05:27 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286357493051559977/livingspell_crystal.png?ex=66ed9d45&is=66ec4bc5&hm=ede5f57204be9d12587a6a328a349d0afd949a8e3f0e52a519bedb962890573f& 09:05:27 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286357493521317918/livingspell_earth.png?ex=66ed9d45&is=66ec4bc5&hm=32dcfcc097e552801994a501fcd5eb53da95473db02443cee6dc3e853114801a& 09:05:28 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286357493840216115/livingspell_holy.png?ex=66ed9d45&is=66ec4bc5&hm=0f16699e2db225f475fadc099b5cddd4ac6465224a1d6d67eb6f5902dbaa2ed8& 09:05:28 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286357494314041345/livingspell_ice.png?ex=66ed9d46&is=66ec4bc6&hm=9cd0e8122831628082114e12c6dc3f2647e1c588c98f083d797f983cd890e9bc& 09:05:31 <06p​leasingfungus> ooh 09:07:06 <09g​ammafunk> it's so beautiful.... 09:07:29 <04d​racoomega> Ooo 09:07:48 <04d​racoomega> (Different colors like that would be helpful, yeah) 09:08:32 <04d​racoomega> (I can recall a few situations with multiple different books in sight and needing to xv to see which came from what) 09:10:39 03PleasingFungus02 07* 0.33-a0-115-gb1f659f69e: Convert monster_shout to use a reference 10(2 minutes ago, 3 files, 22+ 22-) 13https://github.com/crawl/crawl/commit/b1f659f69e86 09:17:24 <06p​leasingfungus> also, can someone help me with submodules? 09:17:50 <06p​leasingfungus> % git submodule update --init Submodule path 'contrib/fonts': checked out '6d3046974f35189a679a4d84b254efe82d1653b3' ... fatal: unable to connect to github.com: github.com[0: 140.82.116.3]: errno=Operation timed out Unable to fetch in submodule path 'contrib/sdl2-image'; trying to directly fetch c7dc89c7103aa92fa9faba90da2a4635a8cc0a23: fatal: unable to connect to github.com: github.com[0: 140.82.116.4]: errno=Operation timed 09:17:51 out Fetched in submodule path 'contrib/sdl2-image', but it did not contain c7dc89c7103aa92fa9faba90da2a4635a8cc0a23. Direct fetching of that commit failed. 09:18:13 <06p​leasingfungus> Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) (commit or discard the untracked or modified content in submodules) modified: contrib/freetype (untracked content) modified: contrib/libpng (modified content, untracked content) modified: contrib/sdl2-image (new commits, modified content) 09:18:14 modified: contrib/sdl2-mixer (new commits, modified content) modified: contrib/sqlite (modified content) modified: contrib/zlib (modified content) 09:18:19 <06p​leasingfungus> i don't want any of this. please... please... 09:19:17 <09g​ammafunk> yes, this is a major annoyance for our codebase imo. On the one hand functions that take a monster (regardless of pointer or ref) are clear another, and on the other hand a method for actors/monsters is certainly clear, but the massive amount of arbitrary usage of both is really frustrating. It's a sign that not nearly enough thought has been put into crawl's class structure so that we have a natural logic to reason about which to use 09:19:46 <09g​ammafunk> are your git submodule urls using 'git://' protocol? 09:19:52 <06p​leasingfungus> how do i check? 09:19:53 <09g​ammafunk> they should be using the https urls 09:19:55 <09g​ammafunk> one sec 09:20:51 <09g​ammafunk> try .git/config and look for entries for the submodules 09:21:15 <09g​ammafunk> they should have urls specified that you can edit: > url = https://github.com/crawl/crawl-lua.git 09:21:32 <06p​leasingfungus> [submodule "crawl-ref/source/contrib/sdl2-image"] active = true url = https://github.com/crawl/crawl-sdl2-image.git [submodule "crawl-ref/source/contrib/sdl2-mixer"] active = true url = https://github.com/crawl/crawl-sdl2-mixer.git like these? 09:21:45 <09g​ammafunk> yep, those look good, but there's another place, let me find 09:22:09 <09g​ammafunk> there's also a git submodule command that can wipe this, maybe I should just find advil's message about that (it's in discord dev chat) 09:22:36 <09g​ammafunk> See https://discord.com/channels/735056636644687913/747522859361894521/1083226620107685998 @pleasingfungus 09:23:04 <09g​ammafunk> maybe try those provided git submodule commands 09:23:08 <09g​ammafunk> which may clear up the problem 09:23:28 <09g​ammafunk> I seem to recall that urls get stored in another location as well and there can be discrepency between config and that other place 09:23:33 <06p​leasingfungus> that worked, thanks! 09:23:33 <09g​ammafunk> nice 09:25:26 <06m​umra> I really was just meaning that some of these functions are pretty large and complex. And doing it in one function means you probably want to also do it in several connected functions so you can just pass the monster around without having to keep adding * or & or whatever makes the compiler happy right now 🙂 But yes it would certainly be an overall benefit to have more consistency everywhere, it is always just a guessing game of 09:25:26 whether the function I'm calling will need one or the other. 09:26:59 <06p​leasingfungus> i think it's tempting to do it in connected functions, but that's a rabbit hole of infinite depth 09:27:20 <06p​leasingfungus> i did that somewhat when i was doing those 2016 cleanups, but at some point you have to say 'not today' 09:27:26 <06p​leasingfungus> or 'TODO: change this to use a reference' 😛 09:30:27 <08w​ormsofcan> firestarter 09:30:27 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286363789138202635/firestarter.png?ex=66eda322&is=66ec51a2&hm=0dac99d017469cc8df446d4e3d65b9283173fe2459df047ee09eabeb5ed1dc17& 09:30:28 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286363789410701414/firestarter-doll.png?ex=66eda322&is=66ec51a2&hm=dc59fd8b7d3b19b9798a59531adc84f7e0b868c347e8871b0bbae9fd76a76c26& 09:32:10 <09g​ammafunk> neat 09:38:01 <05s​astreii> just a personal thought: i feel that random caches of food are kinda ugly and anticlimatic. i often confuse them for pickups or items (expecially when the screen it's crowded) and also they kinda "ruin" the aesthetic and the vibe of some vaults. for example: i'm fighting shadow dragons in the realm of zot, doors shatter, enemies explode in bloody chunks under the relentless hits of my morningstars, and then, all of a sudden: you reach 09:38:01 down and sample a smoked eel. Savory! it may be funny but doesn't work for me 😕 09:38:31 <05s​astreii> reference: sausages in the realm of zot? where they come from 09:38:31 <05s​astreii> https://cdn.discordapp.com/attachments/747522859361894521/1286365817726042243/sdfsdfsdf.png?ex=66eda506&is=66ec5386&hm=90133f9687be2621cc92726b3bb50fb08c84e720a84311894e94c14cf9f88d53& 09:38:58 <08w​ormsofcan> pandemonium 09:55:35 <04d​racoomega> As far as I've seen, food caches are used largely in vaults that are styed as habitation of some sort (ie: Yuif's hut has some, there's some in the little mini-village vaults, some of the rooms in the gnoll castle, etc.). Even Zot still has draconians living in it, which presumable do care to eat from time to time. (If the messages bother you, there's an option to adjust the frequency or turn them off altogether 09:55:35 (food_snacking_frequency) but a lot of players do seem to like them) 10:05:09 <05s​astreii> Oh no, the messages don’t bother me at all, i want to clarify that i’m not here to complain, just to point out that for me those caches of food are a downgrade in the clear aesthetic of the game But if this doesn’t bother the other players it’s totally fine by me 10:16:39 <08w​ormsofcan> elusive shapeshifter tile... 10:16:40 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286375416856055840/shapeshifter.png?ex=66edadf7&is=66ec5c77&hm=14e86cbed1ac72468ff20c7672de3540d28a1ced3bd3f069a58f742e7594b331& 10:16:40 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286375417066033162/shapeshifter_glowing.png?ex=66edadf7&is=66ec5c77&hm=3a0b53c9ef4ff66a087f1bd7c59beb04a7f079f2323463cffe29666a3f920f63& 10:17:19 <08w​ormsofcan> oh forgot to remove some black pixels in the glowing one 10:17:19 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286375584024498337/shapeshifter_glowing.png?ex=66edae1e&is=66ec5c9e&hm=a151d861b327ecfbc214faaa095333ce504a19a83b883789c555aaa38dfb36df& 10:47:03 <09g​ammafunk> Cool 11:51:04 <08w​ormsofcan> fancy robe of augmentation 11:51:05 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286399178813210634/augmentation.png?ex=66edc418&is=66ec7298&hm=679478bd1dfd3f300c8e9249c8cf9d5a4ffc9cff312f46f554d54a5429c6537f& 11:51:05 <08w​ormsofcan> https://cdn.discordapp.com/attachments/747522859361894521/1286399179035377686/augmentation_doll.png?ex=66edc418&is=66ec7298&hm=6640cd755a09fb9ff32666bb73776ba34b8a936913bf62638b9725a274b2da2a& 11:51:34 <08n​icolae> oh that's a fancy-ass robe 11:51:58 <08n​icolae> i have a soft spot for the robe of augmentation, my first ever win (an offline GrEE, doesn't count, i know i know) was wearing the robe of augmentation 11:54:51 <06p​leasingfungus> well, let’s not assume. 11:54:56 <06p​leasingfungus> ??offline 11:54:57 <04C​erebot> offline[1/2]: counts 11:55:05 <06p​leasingfungus> ooh, lucky 11:56:03 <06m​umra> I mean we could have some kind of metric for "are there corpses/blood around, were there fights within X turns" and then adjust the messages accordingly. "The jellied eels remind you of the entrails of your vanquished foe..." 11:56:25 <06r​egret-⸸nde※> .... 11:56:41 <04d​racoomega> Making the game remember its compulsive-cannible roots 11:57:04 <06r​egret-⸸nde※> (I actually went out of my way to make sure there was nothing sentient in the meat list. >_>) 11:57:04 <04d​racoomega> (I am not sure I think this makes it any less silly) 11:57:19 <08w​ormsofcan> is that yak meat really from a yak....? 11:57:40 <06m​umra> What, eels aren't sentient? 11:57:46 <08w​ormsofcan> also I think you mean sapient 11:57:55 <06p​leasingfungus> i mean anthropophagous 11:58:22 <06r​egret-⸸nde※> I will admit the current default cache of meat tile is extremely rough, and it's been sitting on the Art Requests page for a pretty long while. 11:59:14 <04d​racoomega> I mean, the eel isn't. But it's more like "Oh, this food reminds me of all those ogres I just killed" 😛 11:59:25 <08w​ormsofcan> I like how the hat of the high council is still hanging out with the other unrands in the tiles folder 12:00:06 nobody ever remembers to move stuff to UNUSED 12:00:19 <04d​racoomega> It moved to a managerial position 12:00:23 <04d​racoomega> Watching all the other unrands 12:00:35 <04d​racoomega> As befits its stature 12:00:38 <06r​egret-⸸nde※> (The mood of Crawl feels very difficult to assess when just fighting a shadow dragon before passing by that food could have had messages like "You crush the shadow dragon like a grape!!!", "You carve the shadow dragon like a harm!!!", "You skewer the shadow dragon like a kebab!!!".) 12:01:05 <06m​umra> I think my gist was more like "you don't want to eat that right now because it reminds you of all those ogre guts" 😂 12:01:27 <05s​astreii> That’s hilarious tbh 12:01:37 <08w​ormsofcan> spider boots also hanging out 12:02:02 <08w​ormsofcan> perhaps it's time to bring back spider boots... 12:02:07 <06r​egret-⸸nde※> (...A lot of set_attack_verb() is food themed, for some reason.) 12:02:08 <08w​ormsofcan> make it web opponents or something 12:02:38 <05s​astreii> Make them leave a trail of short lived webs 12:02:39 <08w​ormsofcan> although I guess it would make more pop culture sense for that effect to be on gloves 12:02:58 <04d​racoomega> Huh. I read it in literally the opposite sense ^^; 12:04:08 <06r​egret-⸸nde※> (That is also just using the direct shadow dragon example, of course, and not going for something else in Zot like You punish the Killer Klown, causing immense pain!!!.) 12:04:37 <08w​ormsofcan> you bite the death cob!!! needs butter. 12:05:03 <04d​racoomega> That line has always felt like the most tortured one on the whole list 12:07:52 disskorpion (L20 TrFi) ASSERT(it != env.trap.end()) in 'traps.cc' at line 764 failed. (Abyss:3) 12:08:10 <06m​umra> I see now it could be interpreted in rather a few ways 😂 In any case I think there are probably more impactful things to spend dev time on. But it does seem a bit out of place to be casually snacking in the same room as a recent bloodbath 12:08:20 disskorpion (L19 TrFi) ASSERT(it != env.trap.end()) in 'traps.cc' at line 764 failed. (Abyss:3) 12:08:41 disskorpion (L19 TrFi) ASSERT(it != env.trap.end()) in 'traps.cc' at line 764 failed. (Abyss:3) 12:08:59 <04d​racoomega> The number of times this has happened lately is conspicuous 12:09:52 <04d​racoomega> I wonder if anything reent might have affected it 12:11:04 <04d​racoomega> Scanning through recent commits, nothing seems obvious to me 12:25:22 <06r​egret-⸸nde※> (Looking through the backlog, all of the tiles look good to me except for the great orb of eyes, which I've got mixed feelings about- the skin detailing is quite nice but leaves off some of the middle eyes as incredibly small, and the visible jaw makes it look like there's a parseable face for it that also feels a lot more generic-beholder-monster-like. Would like to hear other opinions on it.) 12:29:41 <09g​ammafunk> I think the parseable face is cute and gives the monster more personality, but does take away from its abstract feel. The varying sizes of the eyes is also very nice and I think it's necessary to have small ones that are only hinted at. Overall I think I like it more, but don't feel very strongl 12:29:44 <09g​ammafunk> !tile great orb of eyes 12:29:45 <04C​erebot> https://raw.githubusercontent.com/crawl/crawl/master/crawl-ref/source/rltiles/mon/eyes/great_orb_of_eyes.png 12:30:14 <09g​ammafunk> yeah it feels like a strict improvement, although there's a certain appeal to the uniformity of the old time 12:30:24 <09g​ammafunk> but the new one has much more personality 12:36:40 <08n​icolae> vault syntax question: for items, there's "mundane", which forces no pluses and no ego, and "no_uniq", which prevents randartification. it seems like mundane should imply no_uniq also, but syntax.txt doesn't say so. does mundane in fact imply no_uniq or are they distinct somehow 12:45:55 <05s​astreii> The new one is definitely a huge improvement. 12:55:22 <06m​umra> is it possibly more oddities from the terrain changing of hellfire mortar? 12:56:14 <04d​racoomega> First of all, this is clearly an Abyss generation bug of some sort, which I can't imagine is likely to be connected to that. Secondly: they don't even know that spell ^^; 13:02:31 <06m​umra> i know this is a far bigger change than whatever the cause of this bug is probably warrants, but it's sorely tempting to decouple traps from terrain features 13:03:49 <06m​umra> because that's an underlying issue here, the feature type is a trap but the trap env is missing ... if you just had trap env to describe traps independent of feature types this couldn't happen (and you could also have traps on e.g. water tiles or food caches) 13:03:52 <03i​mplojin> suspecting ae9bbc25 as the cause of this somehow by unintentionally disabling sanitize_feature during abyss gen 13:04:51 <04d​racoomega> ...oh, you might be right 13:04:58 <03i​mplojin> (it's not just traps, we had at least one crash that was shop) 13:05:06 <04d​racoomega> (It definitely looks accidental) 13:05:11 <03i​mplojin> https://crawl.akrasiac.org/rawdata/Jarret417/crash-Jarret417-20240919-012413.txt 13:09:08 <06r​egret-⸸nde※> ...I was trying to make push_features_to_abyss change fountains entirely seperately of sanitize_feature (in case the latter ever gets used in a non-Abyss context), and evidently forgot to save abyss.cc while doing such. Sorry. 13:09:29 <06r​egret-⸸nde※> (I'll get right on it after I finish working on these tiles.) 13:09:42 <03i​mplojin> no worries! 14:41:11 <06p​leasingfungus> nice find! 15:38:11 Unstable branch on underhound.eu updated to: 0.33-a0-115-gb1f659f69e (34) 15:38:21 03regret-index02 07* 0.33-a0-116-g22c7523c43: Fix a mutation text typo (CanOfWorms) 10(3 hours ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/22c7523c43c5 15:38:21 03regret-index02 07* 0.33-a0-117-g675ddfb807: A wide variety of new tiles (CanOfWorms) 10(80 minutes ago, 19 files, 21+ 3-) 13https://github.com/crawl/crawl/commit/675ddfb8072f 15:38:21 03regret-index02 07* 0.33-a0-118-gaf0e7bad45: New default meat cache tile (pianoman523) 10(37 minutes ago, 1 file, 0+ 0-) 13https://github.com/crawl/crawl/commit/af0e7bad450c 15:38:21 03regret-index02 07* 0.33-a0-119-g4cb121a70e: Make the Robe of Folly actually a dull grey (#3787) 10(20 minutes ago, 4 files, 2+ 1-) 13https://github.com/crawl/crawl/commit/4cb121a70eef 15:38:21 03regret-index02 07* 0.33-a0-120-gb814bfba8c: Properly contain a runed door (#4040) 10(13 minutes ago, 1 file, 4+ 4-) 13https://github.com/crawl/crawl/commit/b814bfba8ca9 15:38:21 03regret-index02 07* 0.33-a0-121-g6e02436c18: Fix an Abyss crash (Implojin) 10(2 minutes ago, 2 files, 2+ 2-) 13https://github.com/crawl/crawl/commit/6e02436c18a5 15:38:21 03regret-index02 07* 0.33-a0-122-g3f967fc499: Hatch off a spider teleport island (#3611) 10(28 seconds ago, 1 file, 8+ 8-) 13https://github.com/crawl/crawl/commit/3f967fc4998e 19:39:26 -!- The topic of #crawl-dev is: Crawl Development | https://github.com/crawl/crawl | Logs: http://s-z.org/crawl-dev/, temporarily http://crawl.akrasiac.org/logs/cheibriados/ | People with +v have commit access, devs on bridged discord as well | General Crawl-related chat to #crawl | Long stuff to a pastebin service, please 19:39:26 -!- The topic of #crawl is: Play Dungeon Crawl Stone Soup online now! Type ??online for instructions, ??lg / !lg for play stats | PM Sequell for long queries | http://crawl.develz.org | FooTV game replays: ??footv for instructions | #crawl-dev for dev discussion, #crawl-offtopic for offtopic 20:16:35 i maintain crawl.SlackBuild (or stone_soup.SlackBuild , name changed a few times when you kept changing the source code file name) on SlackBuilds.org to build Dungeon Crawl Stone Soup for Slackware GNU/Linux... when I incremented the version number in the build script it worked except when I ran crawl it was apparently ASCII-only (it compiles crawl-ascii separately so shouldn't do this)... did something change in the build process I need to update, or 20:16:35 maybe I just change a setting in the graphical crawl version? 20:18:07 local tiles can't run on console. nothing has changed in how the Makefile works, so if you `make TILES=y` it sshould build local tiles 20:19:21 i ran it in X 20:19:21 (note, if you say `WEBTILES=y` instead of `TILES=y` you will get a binary that is text mode when run normally but webtiles if you use `webtiles/server.py`) 20:19:50 though I did run it from an xterm 20:20:13 right, did it run inside the xterm? then you got a console or webtiles build 20:20:38 if you got local tiles in glyph mode, check your .crawlrc 20:23:02 i'm not sure, but this time I started it from the GUI menu, which launched some sort of xterm then did nothing else. I don't have a .crawlrc on that server, though do have a .crawl (maybe just from recent test of crawl-ascii) 20:24:53 I think I'd double-check your build scripts: that sounds like a problem on your end, not ours 20:25:35 I regularly build console and webtiles and occasionally build local tiles (most recently about a week ago to test something) 20:26:37 (note, I'm not a dev, but I do triage online game crashes to the best of my ability) 20:30:22 it worked previously and I didn't change compiling the graphical version, so something must've changed? 20:30:39 apparently my script uses 'TILES=1' but now instructions say use 'TILES=y' 20:30:57 it's been `TILES=y` for years 20:31:11 and I'm looking for instructions for compiling stable releases ( it only explains for git commits on http://github.com/crawl/crawl/blob/master/crawl-ref/INSTALL.md#compiling ) 20:31:50 <06p​leasingfungus> check out the appropriate stable branch, surely 20:32:34 do I still need SDL2=y? 20:32:46 <06p​leasingfungus> nothing changes re flags 20:34:38 if you have a slackbuild for SDL2, SDL_Image, and SDL_Mixer, you shouldn't need SDL2=y which tells it to use the contribs 20:34:58 ok 20:35:54 apparently I used all the make arguments (prefix, COPY_FONTS, DATADIR, SAVEDIR, TILES) for 'make install', but I really just need DESTDIR for 'make install', right? 20:35:56 <03i​mplojin> iirc it doesn't matter what TILES is set to, only that it's set (but consider TILES=y to be correct) 20:36:08 apparently the install guide was rewritten 4 years ago, the history was lost then 20:36:57 yeah; there may still be some important steps missing from that now 20:36:59 mm, yes, the Makefile uses ifdef, not value checking 20:37:12 so 1 should have worked 20:37:42 i see 20:38:17 maybe I should try a different X window manager (WM) or desktop environment (DE) 20:38:30 I can't imagine that mattering 20:38:58 starting from the GUI menu, the *desktop file will be involved, and I don't think we provide one 20:38:58 i use XFCE which isn't as popular as GNOME or KDE and has various minor issues 20:39:04 oh 20:39:21 well, I made one. Maybe it needs updating 20:39:35 /usr/share/applications/crawl{,-ascii}.desktop or similar on most systems 20:40:25 this is the previous version's one though I may not have checked it in a few versions: http://slackbuilds.org/slackbuilds/15.0/games/crawl/crawl.desktop 20:41:49 mm, does that work with xterm? modern terminals use -x for Exec+Terminal, xterm uses -c 20:41:56 i originally made it on KDE 20:43:08 mm, actually no, that's not true, I keep getting those backwards. most terminals' -c execs a program directly, xterm's feeds it to a shell 20:43:15 but that shouldn't matter here 20:43:21 i don't really know what that means; I just looked at other .desktop files at the time and made something similar. I'm not much a GUI person 20:43:51 also is the console executable crawl or crawl-ascii? 20:44:11 if console and tiles crawl are named the same on install you'll just overwrite one with the other 20:45:43 it was crawl-ascii but now there seems to be some trouble making that; 'make' without TILES=y apparently didn't make it, so I have to find more detailed build instructions 20:46:33 or maybe it did but overwrote crawl (GUI version) 20:47:02 it will make a binary named "crawl", it would be on you to rename it for installation 20:47:37 of course, my build script has done that for years 20:47:42 also, that desktop file will work if crawl is in /bin or /usr/bin, but if it's somewhere else it will require a full path or arranging for X11 startup to add its location to $PATH 20:47:56 i see 20:48:22 they're in /usr/games 20:48:30 so I'd guess the .desktop file is the main problem 20:48:38 right, that's not in the default path any more on most systems 20:48:47 it's /bin:/usr/bin 20:48:58 (we get people running into this in #xmonad all the time) 20:50:11 okay; crawl (GUI) & crawl-ascii both built fine (tested crawl-ascii playing and crawl (GUI) graphical screen) and they were installed there; I just need to figure out how to update that crawl.desktop 20:52:04 specify full paths e.g. /usr/games/crawl 20:52:15 or /usr/games/bin if you have subdirs 20:53:44 thanks 20:53:48 it doesn't 20:59:58 i've seen a lot of bad .desktop files in KDE, etc... some break the entire menus, but maybe fixing .desktop files to run crawl (GUI) was a bit off-topic here 21:13:39 apparently make installed it in /bin, not /usr/bin, which is bad 21:14:44 i hope that they're not following the non-UNIX-like combining of /bin (essential stuff) & /usr/bin (nonessential stuff); genetic UNIXes like *BSD even separate both from /usr/local/bin 21:25:15 and apparently now it creates a /dat in the root of the filesystem? This is a mess! 21:37:55 did the process for installing in /usr change? 21:39:10 maybe I still need to 'make install prefix=/usr' instead of doing that in the regular make? 21:43:17 <03i​mplojin> i took a quick look at the relevant parts of our makefile and didn't /see/ any recent changes (much of this hasn't been touched in 15 years and it at least claims to handle sane defaults re: /usr but who knows how accurate that is) 21:44:12 <03i​mplojin> (the original author responsible is no longer around, unfortunately) 21:51:58 it still works; I just got confused earlier... unsure TILES=1 works; might have to be TILES=y 22:13:53 03DracoOmega02 07* 0.33-a0-123-gd67f649228: Don't attack an exponential number of times with cleaving quick blades 10(62 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/d67f6492281a 22:27:35 one thing that did seem to change is i had set in make DATADIR=/usr/share/games/crawl . It installed to /usr/games/crawl and apparently can't be changed with that make variable anymore? 22:35:28 Unstable branch on crawl.develz.org updated to: 0.33-a0-123-gd67f649228 (34) 22:58:42 Windows builds of master branch on crawl.develz.org updated to: 0.33-a0-123-gd67f649228 23:28:15 Unstable branch on cbro.berotato.org updated to: 0.33-a0-123-gd67f649228 (34) 23:55:31 Monster database of master branch on crawl.develz.org updated to: 0.33-a0-123-gd67f649228