00:52:51 fakechuck (L27 MiGl) ERROR in 'mon-util.cc' at line 1568: bogus mc (no monster data): invalid monster_type 1000 (1000) (Abyss:3) 00:53:31 hm, so the spell can smite target rock surrounded by rock? why do they target that sort of location? 01:00:15 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.23-a0-391-g8c51ad5 (34) 01:04:06 earth elementals can tunnel out non-destructively, can'tt hey? 01:28:36 I don't think they have passwall, if that's what you mean 01:33:44 I woudl expect earth elementals to more or less *be* passwall 01:36:37 !crashlog fakechuck 01:36:44 4. fakechuck, XL27 MiGl, T:83708 (milestone): http://crawl.akrasiac.org/rawdata/fakechuck/crash-fakechuck-20181030-045249.txt 01:37:16 damn 01:37:16 different crash but possibly the same general issue 03:11:43 Unstable branch on crawl.beRotato.org updated to: 0.23-a0-391-g8c51ad5 (34) 04:01:54 -!- neunon_ is now known as neunon 06:22:30 Autopickup turned off for no (usually) apparent reason 13https://crawl.develz.org/mantis/view.php?id=11740 by hayenne 06:25:15 hi guys, please close https://crawl.develz.org/mantis/view.php?id=11740 13:05:25 Unstable branch on crawl.akrasiac.org updated to: 0.23-a0-391-g8c51ad5 (34) 14:54:00 can someone take a look at my PRs, please? 15:28:06 switch__: i know |amethyst already talked to you about the indentation, but #882's still looks wrong to me. shouldn't that last && be further to the left? it shouldn't line up with the || above it because it's at a different nesting level. something like https://gist.github.com/amalloy/382ec99b4955e63adee5015642922a43 15:36:59 but tbh i don't really understand the contract of mcache_monster::valid so i wouldn't want to merge that myself 15:37:17 tl;dr is that it checks if the tile is valid 15:37:40 it fails, so it throws out the tile until the monster switches the weapon to its other hand 15:37:55 this is the elegant solution to the problem that i thought didn't exist 15:38:13 it should literally only solve this bug 15:38:20 obviously its name claims that, but what does that even mean. the logic in it seems bizarre to me: a monster is valid if it has a weapon and that weapon has an offset, or a shield and the shield has an offset? does that mean a monster is invalid if it has no weapon or shield? 15:38:41 i'm not 100% sure how the mcache system works 15:38:45 so i can't write out an explanation for you 15:38:55 but the result of the failure is a monster tile with no offsets 15:39:02 yes, i saw the linked bug 15:39:09 so i think this only governs the weapon tiles 15:40:01 if you look at the code that calls ::valid() it's pretty... 15:40:02 not pretty 15:40:19 but it works 15:40:41 i iterated through this code probably 50 times while looking for the bug 15:42:20 i think the operator location is correct, but i might be wrong 15:43:32 oh, it's not that the weapon has an offset 15:44:04 when a monster is detected it runs through mcache:monster() which detects the weapon object in the monster's hand and pulls an object ID from a static table 15:44:14 and sets that as the monster's weapon offset 15:44:16 same for the shield 15:44:33 this is just checking that the monster still has the weapon, if it has an offset 15:45:10 so, i would write this as "the monster has a weapon if and only if it has a weapon offset, and it has a shield if and only if it has a shield offset" 15:45:38 the current version, "it must have either a weapon and a weapon offset, or a shield and a shield offset", doesn't make much sense to me 15:46:11 (this is before your PR as well as after it) 15:47:03 well, if the check fails, then the result is correct, a tile with no weapons 15:47:05 right? 15:49:27 i don't know. this is why i can't merge this without one of us understanding the contract of mcache_monster::valid. i don't know what is supposed to happen as a result of this function returning true or false 15:50:09 i think if you delve into this bug you'll find that you really want to rewrite mcache 15:50:12 but not much else 15:52:38 i don't actually understand why there's a check in the first place 15:53:13 just that the check was written in such a way that it throws out this particular valid case 15:55:46 does this bug occur in local tiles as well as webtiles? 15:55:54 it should, yes 15:56:47 i wrote an explanation of the bug in the issue 16:07:25 oh, i guess the valid() checks are actually just checks for type 16:07:53 i don't think this one was ever designed to fail like this 16:17:37 amalloy: used your spacing change 16:17:47 so is the goal here to make this function return true more often, or false more often? 16:18:03 ie, was it returning false when it should return true, or vice versa? 16:18:08 i don't think it's ever supposed to return false 16:18:32 well, if that were true we'd replace the whole thing with return false 16:18:34 er, return true 16:19:19 if you look at register_monster, it checks for props.exists("monster_tile"), then runs the valid check. then if that fails, at the very end, it runs the very same valid check anyway 16:19:24 i think this is just a poorly written module 16:19:41 but yes, it was returning false when it shouldn't have 16:20:30 03stenella02 07https://github.com/crawl/crawl/pull/882 * 0.23-a0-390-gcde6f18: Leave Dual-Wielders Alone 10(19 hours ago, 1 file, 4+ 1-) 13https://github.com/crawl/crawl/commit/cde6f18d29d3 16:20:44 i honestly believe i've done sufficient DD on this one, and it's a mergable bugfix with no extraneous issues. 16:58:51 03stenella02 {amalloy} 07* 0.23-a0-392-ge82cdd1: MSVC2017 Compatability and relocation of project files 10(3 days ago, 49 files, 5060+ 466-) 13https://github.com/crawl/crawl/commit/e82cdd144a1e 16:58:51 03stenella02 {amalloy} 07* 0.23-a0-393-g6e9e0f2: Console support 10(3 days ago, 8 files, 329+ 63-) 13https://github.com/crawl/crawl/commit/6e9e0f2070a3 17:00:30 it's not about due diligence, it's about whether this is the right solution, or a solution that happens to work. without understanding what this function is supposed to do i can't tell. as far as i can tell ::valid returns true if the monster has a weapon or a shield, and false if it doesn't, in which case your fix seems good. but is that really what ::valid is supposed to do, and if so why is it called valid 17:06:56 Narretz (L20 GrMo) ASSERT(a) in 'item-prop.cc' at line 1051 failed. (No actor in stationary net at (60,25)) (Shoals:4) 17:10:30 !crashlog 17:10:45 20362. Narretz, XL20 GrMo, T:38743 (milestone): https://underhound.eu/crawl/morgue/Narretz/crash-Narretz-20181030-210656.txt 17:10:49 Unstable branch on crawl.jorgrun.rocks updated to: 0.23-a0-393-g6e9e0f2070 (34) 17:14:59 <|amethyst> amalloy: I think the idea is, if the monster doesn't have equipment to show, there's no reason to make an mcache entry for it 17:15:34 <|amethyst> amalloy: so it's a bug if an mcache entry exists for such a monster 17:15:47 -!- aidanh_ is now known as aidanh 17:16:47 <|amethyst> amalloy: or rather, if it doesn't have equipment to show *or* doesn't show the kind of equipment it does have (hence the have_*_offset check) 17:17:07 <|amethyst> err, have_*_offs rather 17:17:44 and what's supposed to happen when we remove the equipment from that monster? its mcache entry vanishes, or what? 17:29:08 i'm not 100% sure 17:29:20 but i don't think we need to know the answer to that for this case 17:30:04 <|amethyst> yeah, I'm wondering about that myself 17:30:17 i'm tempted to go through and learn exactly what's going on 17:30:18 and rewrite it 17:30:23 but that's outside the scope of this particular PR 17:30:57 <|amethyst> I *think* valid is only called when an entry is being created 17:31:33 <|amethyst> which would mean the cache invalidation issue isn't relevant to this particular problem 17:31:42 what? 17:31:56 <|amethyst> hm 17:32:18 i hope you're not trying to say i didn't actually make sure the code does something before i pushed a PR 17:32:19 <|amethyst> well, actually, I guess it's hard to check about other source files 17:32:23 <|amethyst> no, I mean 17:32:49 but fwiw there are multiple mcache entries for the same monster 17:32:50 <|amethyst> this crash would happen when a *new* mcache entry is created 17:33:24 what i'm trying to say is 17:33:26 this code sucks 17:33:29 <|amethyst> heh 17:33:29 i don't fully understand it 17:33:37 but my PR *is* the solution to this bug 17:33:44 <|amethyst> yeah, I agree 17:33:45 we should definitely revisit this 17:33:48 and rewrite this garbage code 17:33:57 but that's not within this particular conversation 17:35:35 <|amethyst> if you think mcache is garbage code, you've not been looking very far :) 17:36:05 <|amethyst> I mean, it's a lot less crazy-looking than some other code in crawl 17:36:05 i'm currently familiarizing myself with https://crawl.develz.org/mantis/view.php?id=11729 this code 17:36:05 <|amethyst> :) 17:36:05 which is also pretty... strange 17:36:29 this itme has a *lot* of flags when it comes out of roxanne 17:37:25 <|amethyst> There is a specific autopickup_exception entry for identified books 17:37:49 <|amethyst> which causes problems when a book comes pre-identified 17:37:53 <|amethyst> # Ignore books that you have already seen 17:37:53 <|amethyst> ae += [^n]identified.*spellbook 17:38:04 <|amethyst> in dat/defaults/autopickup_exceptions.txt 17:38:05 that explains it 17:38:14 <|amethyst> there are a few other things like that 17:39:10 <|amethyst> if a monster uses (and therefore identifies), say, an amulet of rage, autopickup will be off 17:39:14 <|amethyst> for that amulet 17:41:23 <|amethyst> the recharging evocables (and CBoE) are handled by a Lua autopickup_func that checks your inventory for the item 17:41:54 <|amethyst> that wouldn't work for spellbooks, though, you'd need a Lua function to check if the spellbook is (effectively) already in your library 17:43:02 <|amethyst> hm 17:43:03 <|amethyst> ohh 17:43:15 <|amethyst> that autopickup_exception can just be removed 17:43:33 <|amethyst> is_useless_item already marks books where you have all the spells as worthless 17:43:52 <|amethyst> and uselessness has an autopickup_exception already 17:44:17 <|amethyst> so what I was suggesting to do in Lua is already there 17:44:37 <|amethyst> And that should fix the problem for books 17:44:58 <|amethyst> jewellery would be more complicated 17:57:12 03ebering02 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-388-gf69fd32: New arrival vaults (WanderingBlade, 11132) 10(4 days ago, 3 files, 163+ 0-) 13https://github.com/crawl/crawl/commit/f69fd32d2dab 17:57:12 03ebering02 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-389-gd2c9a4e: A decorative Xom vault for Snake (Skrybe, 11133) 10(4 days ago, 1 file, 15+ 0-) 13https://github.com/crawl/crawl/commit/d2c9a4e59d74 17:57:12 03ebering02 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-390-g6626df6: Multi-coloured glass columns for Zot (Skrybe, 11232) 10(4 days ago, 1 file, 96+ 0-) 13https://github.com/crawl/crawl/commit/6626df659178 17:57:12 03ebering02 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-391-g0bb9ea8: Branch entry vaults (skrybe, 11232) 10(3 days ago, 2 files, 52+ 0-) 13https://github.com/crawl/crawl/commit/0bb9ea8eb05c 17:57:12 03ebering02 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-392-g2164d82: KennySheep inspired adjustments to a sewer (10035) 10(3 days ago, 1 file, 48+ 42-) 13https://github.com/crawl/crawl/commit/2164d82ff8a1 17:57:12 03palyth02 {ebering} 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-393-gf72e229: A winding forest swamp entry vault (11061) 10(1 year, 4 months ago, 1 file, 31+ 0-) 13https://github.com/crawl/crawl/commit/f72e2294cc86 17:57:12 03ebering02 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-394-g5980549: A shower themed Vaults entry (ximxim, 10658) 10(3 days ago, 1 file, 21+ 0-) 13https://github.com/crawl/crawl/commit/5980549ea58e 17:57:12 03ebering02 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-395-g0c67e7e: Some variable vaults (WanderingBlade, 11140) 10(3 days ago, 2 files, 124+ 0-) 13https://github.com/crawl/crawl/commit/0c67e7e8b6f3 17:57:12 03ebering02 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-396-gfefee2c: Update CREDITS 10(3 days ago, 1 file, 3+ 0-) 13https://github.com/crawl/crawl/commit/fefee2c0172e 17:57:12 03ebering02 07https://github.com/crawl/crawl/pull/880 * 0.23-a0-397-g87161e0: An early lizard minivault (WanderingBlade) 10(18 hours ago, 1 file, 23+ 0-) 13https://github.com/crawl/crawl/commit/87161e03ebd6 17:57:51 i'm about to flip out 17:57:53 i'm trying to debug this 17:57:58 and acquire book keeps giving me manuals 17:58:58 spellcasting 0? 17:59:15 sure is, thanks <3 18:06:34 |amethyst, it's more than one bug 18:11:33 nevermind, it might not be. there are so many functions for identifying items, and they're all different. jesus 18:16:34 !seen advil 18:16:34 I last saw advil at Sun Oct 28 19:48:53 2018 UTC (2d 2h 27m 41s ago) saying 'yes, that seems pretty reasonable to me' on ##crawl-dev. 18:34:19 pleasingfunguses game Silicon Zeroes is on sale at itch.io 19:08:31 it's a good game if you're into programming puzzles 19:22:25 Unstable branch on underhound.eu updated to: 0.23-a0-393-g6e9e0f2070 (34) 19:38:09 Vash (L13 JiTm) ERROR: range check error (36 / 36) (D:11) 19:46:36 !wtf jitm 19:46:37 Unperson Transmuter 19:51:02 uh 19:51:04 wut 19:51:15 oh, probably fork crash 19:51:23 !crashlog x=explbr 19:51:25 1. Duph, XL3 HOBe, T:1070 (milestone): http://crawl.akrasiac.org/rawdata/Duph/crash-Duph-20130513-230815.txt 19:51:27 er 19:51:32 !crashlog vash x=explbr 19:51:36 1. Vash, XL4 MiGl, T:1783 (milestone): http://crawl.berotato.org/crawl/morgue/Vash/crash-Vash-20170109-065630.txt 19:51:38 think it's not in sequell at all 19:51:41 since it's a fork 19:52:09 crash file should still exist though 20:00:10 might not be tracked by sequell though 20:00:49 not sure what fork has Ji species though 20:01:00 oh, hellcrawl Jiangshi (vampire) 20:01:35 Vp + froggo I thought? 20:02:12 forks aren't tracked in sequell, no 20:02:35 only dcss experimentals are 20:02:46 but if you check the dir, the crash file will probably still be there 20:04:14 Nelgraf (L2 GrEE) Crash caused by signal #15: Terminated (D:1) 20:04:36 ^vps 20:04:43 ^status 20:04:43 45 Crawlers. CBRO disk usage=100% (135GB) | RAM usage=39% (4GB)| uptime/CPU= 20:04:43 up 4 days, 23:46, 0 users, load average: 0.58, 0.66, 0.68 (4 Cores) http://status.berotato.org 20:05:04 well we have a likely lead for both crashes 20:05:22 johnstein: looks like cbro disk is full again 20:05:45 I've notified him on discord as well 20:31:13 johnstein: what's taking up disk space? ttyrecs? Can send you my system for uploading them to S3 if you're interested in that 20:38:12 ^status 20:38:12 52 Crawlers. CBRO disk usage=99% (135GB) | RAM usage=43% (4GB)| uptime/CPU= 20:38:12 up 5 days, 19 min, 1 user, load average: 0.73, 0.82, 0.78 (4 Cores) http://status.berotato.org 20:38:37 as I recall the ttyrecs on cpo don't always play back properly due to issues with that system 20:53:48 yes 20:54:45 what do you do when you get bug reports like this https://crawl.develz.org/mantis/view.php?id=11670 20:54:58 his version is 21.1 21:09:29 Is the Golubria WizLab's final vault supposed to be so utterly harmless if you have Airstrike? 21:09:36 Can't you people make it worse somehow? :P 21:31:28 -!- amalloy is now known as amalloy_ 22:03:07 -!- amalloy_ is now known as amalloy 22:17:05 I wanna fix https://crawl.develz.org/mantis/view.php?id=11695 but I don't understand what these checks are for https://github.com/crawl/crawl/blob/master/crawl-ref/source/spl-damage.cc#L2127 22:17:33 why do some of them have the && *what == nullptr check and some don't? 22:18:11 if one of you know, could you make the change? there are no stone doors, from what i can see 22:38:42 the `&& *what == nullptr` is only where there's a fallthrough, because the previous case may have set *what 22:45:51 oh, i understand 22:53:44 New branch created: pull/883 (1 commit) 13https://github.com/crawl/crawl/pull/883 22:53:44 03stenella02 07https://github.com/crawl/crawl/pull/883 * 0.23-a0-390-gd76e1b9: Properly explode Wooden doors 10(3 minutes ago, 1 file, 8+ 3-) 13https://github.com/crawl/crawl/commit/d76e1b92e3bd 22:57:46 LRD flavorwise would really not be expected to work on wood, I think 23:22:58 hi 23:25:38 maybe not 23:26:19 advil: fun fact, if you explode a friendly monster directly with lrd and the blast hits no other friendly monster, your gods ally conduct is not applied 23:26:37 little gems I'm learning as I keep refactoring some of this player spell and conduct code 23:26:45 the lrd code is a mess 23:27:02 goto, really? 23:27:12 yeah, static discharge is fairly bad too 23:27:17 no gotos though 23:27:21 ah 23:27:25 and I know exactly the goto you mean 23:27:35 and yes that bit of code definitely took me a bit to understand 23:27:53 I'm going to refactor that out, though probably not tonight 23:28:03 returns a pointer to a string containing the feature that the player LRDed 23:28:15 yeah, the char** is also fun 23:28:17 and if that string ponter is null, the player targeted a monster 23:28:36 or something like that 23:29:27 nullptr for that should be monster/player target, so if player is the caster, that is true 23:30:08 I'm making all those player spells use that static _player_hurt_monster() function 23:30:28 and am hopefully going to be able to wrangle the god conduct stuff into that 23:30:51 New branch created: pull/884 (1 commit) 13https://github.com/crawl/crawl/pull/884 23:30:51 03stenella02 07https://github.com/crawl/crawl/pull/884 * 0.23-a0-394-g8626795: Properly notify non-users of Gourmand 10(6 minutes ago, 1 file, 16+ 3-) 13https://github.com/crawl/crawl/commit/86267958d471 23:30:54 dude there are so many functions with literally 23:30:54 15 returns 23:30:54 in a single block of code 23:30:57 there are some weird cases like freeze's application of elemental stuff twice (first time avoids applying slow) 23:31:33 I'm looking for a way to commit to the game's development 23:31:37 but there's only a few spells in spl-damage.cc that don't use this function already and have god conducts and aren't using a bolt to apply the damage 23:31:40 any tips? 23:31:47 ??patch 23:31:47 patch[1/2]: Too get details about how to discuss and submit a patch or pull request, see: https://github.com/crawl/crawl/blob/master/crawl-ref/docs/develop/contribution-process.md 23:31:56 that's a good starting point, ttky 23:32:11 Thanks 23:32:14 and there are other useful docs in that docs/develop dir 23:32:22 you could also do what i'm doing right now, which is going through mantis for all the annoying trivial bugs that nobody wants to go through and fix 23:32:38 well, that's an assumption on my part 23:32:40 sure I can try that too 23:32:51 but it isn't particularily exciting, so i imagine most experienced devs don't adore it 23:33:08 ??patch[2 23:33:08 patch[2/2]: Somewhat out of date patch guide: https://github.com/crawl/crawl/blob/master/crawl-ref/docs/develop/patch_guide.txt 23:33:25 but yeah, see that docs dir 23:33:37 thanks guys 23:35:18 advil, wanna rewrite mcache with me? 23:35:24 xD 23:37:35 switch__: like I said once before, there's often a good solution to crawlcode problems that's far short of a full re-write 23:37:58 oh, i completely agree 23:38:02 i found one for the problem i was fixing 23:38:44 but mcache seems to be so poorly written/understood that my PR is still there, and we had a long conversation about it earlier today 23:39:50 switch__: that might be in part due to your timing expectations on merging 23:40:25 even an understood "trivial" change takes a devteam member time to review, and this time comes from volunteer time 23:41:29 be patient! we appreciate the bug fixes 23:41:35 but sometimes we've all got other stuff going on also 23:42:04 this current conversation stems from the conversation we had about this earlier, which was essentially "I have no idea what this actually does and neither does anyone else currently talking about this" 23:42:09 not any impatience on my part 23:42:24 i completely understand what you're saying 23:42:36 and respect the time you guys put in, as volunteers 23:49:44 . 23:49:49 hello 23:49:54 hello 23:56:33 can u tell me which tools I need to install to run and compile the code? 23:56:48 I'm using visual studio rn 23:57:56 ??install 23:57:57 install[1/1]: See the following for installation and compilation: https://github.com/crawl/crawl/blob/master/crawl-ref/INSTALL.txt 23:58:20 Thanks again 23:58:21 I believe that was just updated for visual studio, which only very recently got some support 23:58:27 in the past we've had windows users use msysgit 23:58:35 oh boy, is it time? 23:58:54 ttky it should work out of the box on VS2017 23:59:02 just follow install.txt 23:59:13 ttky: so see the section on MSVC, but if that doesn't work, you can try the linux subystem on win10 or msysgit 23:59:51 those are sort of in reverse order of support, but MSVC and the linux subsystem are likely faster than msysgit if they work for you