00:00:05 this only works as long as you're happy with the extra UI effectively being an extension of the description text though 00:00:30 oh, well, I thought it scrolled, but I guess it doesn't 00:10:58 The build passed. (master - 0c4bda3 #12254 : Aidan Holm): https://travis-ci.org/crawl/crawl/builds/614350319 01:14:20 03ebering02 07[positional-magic] * 0.25-a0-148-g5b0fbb5: fixup! Positional magic 💀: Remove Bolt of Draining as a player spell 10(28 seconds ago, 1 file, 1+ 3-) 13https://github.com/crawl/crawl/commit/5b0fbb5756b3 01:14:22 03ebering02 07https://github.com/crawl/crawl/pull/1200 * 0.25-a0-148-g5b0fbb5: fixup! Positional magic 💀: Remove Bolt of Draining as a player spell 10(30 seconds ago, 1 file, 1+ 3-) 13https://github.com/crawl/crawl/commit/5b0fbb5756b3 01:15:56 Experimental (positional-magic) branch on crawl.kelbi.org updated to: 0.25-a0-148-g5b0fbb5756 01:21:11 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-2777-g6b872f2bae 01:37:02 03Aidan Holm02 07* 0.25-a0-157-g260bac9: Use consistent desc/quote switch text 10(5 minutes ago, 1 file, 28+ 24-) 13https://github.com/crawl/crawl/commit/260bac964ef5 01:37:02 03Aidan Holm02 07* 0.25-a0-158-g59b9092: Fix various small alignment issues 10(4 minutes ago, 2 files, 8+ 2-) 13https://github.com/crawl/crawl/commit/59b909255dd7 01:37:52 Unstable branch on crawl.develz.org updated to: 0.25-a0-156-g0c4bda3 (34) 01:48:02 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-158-g59b909255d (34) 01:51:24 Damage from the launch of hostile clouds ignores cloud immunity. 13https://crawl.develz.org/mantis/view.php?id=12131 by sdynet 01:51:43 03Aidan Holm02 07[stone_soup-0.24] * 0.24.0-36-g6f54da4: Use consistent desc/quote switch text 10(20 minutes ago, 1 file, 28+ 24-) 13https://github.com/crawl/crawl/commit/6f54da4a4860 01:51:43 03Aidan Holm02 07[stone_soup-0.24] * 0.24.0-37-gcf1ca85: Fix various small alignment issues 10(18 minutes ago, 2 files, 8+ 2-) 13https://github.com/crawl/crawl/commit/cf1ca852f132 02:08:32 Windows builds of master branch on crawl.develz.org updated to: 0.25-a0-158-g59b9092 02:39:00 Pinkbeast: if I understand correctly, for stoat soup's permabuffs, you pay with max mp instead while the buff is up? 02:44:42 aidanh: You lose the max MP, and pay an MP regeneration (and hunger) penalty when you get a benefit. 02:45:16 http://crawl.montres.org.uk/permabuffs.txt 02:45:50 ... and where the MP regeneration penalty would tend to result in net negative MP regeneration, there tends to be some kind of other mechanism to stop that happening. 02:46:50 ok, thanks for the info 02:48:27 A lot of them got fiddled with in one way or another; a "one size fits all" universal mechanism to convert to permabuffs was an attractive idea, but just didn't happen. (eg, spellpower only affects duration for vanilla Shroud of Golubria). 02:49:20 right, yeah, I see that 02:58:51 Monster database of master branch on crawl.develz.org updated to: 0.24-a0-443-g80245de 03:17:28 aidanh: Incidentally I don't in general see uses of my nick, just happened to look at the window, so it's best to PM me or get a bot to message me if you really want my attention. :-/ 03:18:01 alright, thanks for letting me know 03:23:17 Unstable branch on crawl.beRotato.org updated to: 0.25-a0-158-g59b9092 (34) 03:50:40 Stable (0.24) branch on crawl.kelbi.org updated to: 0.24.0-37-gcf1ca852f1 04:14:23 Fork (bcrawl) on crawl.kelbi.org updated to: 0.23-a0-2777-g6b872f2bae 04:37:50 Fork (bcadrencrawl) on crawl.kelbi.org updated to: 0.22.1-1252-g1d8056a5da 08:11:13 Random crashes 13https://crawl.develz.org/mantis/view.php?id=12132 by Le_Nerd 08:12:29 !crashlog svalbard 08:12:51 3. svalbard, XL5 OpAs, T:1056 (milestone): http://crawl.develz.org/morgues/trunk/svalbard/crash-svalbard-20190927-154319.txt 08:13:18 hm 08:13:19 hm 08:13:23 haha 08:14:58 heh 08:15:06 oh, that's a 0.24 game 08:15:27 yeah, there's no current crashlog for him, not even an unreported recursive crash 08:16:10 and the save in the issue is actually an 0.23 game 08:16:11 oh the bug report also says 0.23, I wonder if that's correct 08:16:14 positively ancient 08:17:02 still no crashlogs though 08:20:43 "The game instantly without delay reloads a gamestate that was hundreds of turns old." 08:20:47 what on earth 08:21:46 lol there's a plex server running on here 08:22:37 on cao? o_O 08:22:46 no, cdo 08:23:08 I just played through crypt and didn't get any crash 08:23:08 (n.apkin runs a ton of other sites off this server anyways) 08:23:54 although admittedly on HEAD with local tiles 08:24:17 it's a shame we don't have something like qw that can take arbitrary saves 08:24:37 yeah, I'm really not sure *what* could cause the described symptoms but I suspect it's gonna depend on some specific circumstances 08:24:46 qw actually can play on arbitrary saves 08:25:13 it may need some tweaking to not play like a melee char though 08:26:20 huh, then I might set it loose on that save on an old build and see what happens 08:26:48 separately, I'm not sure how much of an issue seed stability is nowadays, but I recently saw https://www.factorio.com/blog/post/fff-63 08:26:54 it's not impossible that this could be something that will only replicate in cdo's specific setup 08:27:36 heh, thanks 08:28:07 I haven't so far been hubristic enough to think that I could get dcss gameplay to be fully seeded 08:29:12 though seeded replays could be a thing if I did 08:30:02 but even much simpler games that were designed for seeded gameplay (e.g. brogue) have just endless sync problems, cannot fathom trying to do this on the scale of factorio 08:31:01 haha if I understand this right they have something like two custom-constructed build servers to test sync issues across oses...that would definitely have made my life easier! 08:34:41 well, seeded replay would be nice, but then you'd be locked into seed compatibility, even if you really needed to break it 08:35:04 well, it's never not going to be version-specific 08:35:15 at some point I'd like to just add a version to the seed string even 08:35:38 but yeah that makes easy replay for trunk not viable, probably 08:36:06 does dgl log anything somewhere?? 08:36:34 right, factorio has more complicated requirements, but the basic idea could be adapted 08:38:28 basically load save X, take a turn, make a new save; then do it again and compare the saves 08:39:07 do that turn by turn, presumably with qw as the driver 09:02:50 !source mon-behv.cc:970 09:02:51 https://github.com/crawl/crawl/blob/master/crawl-ref/source/mon-behv.cc#L970 09:03:08 will this triple for loop make sense to me if I keep staring at it? 09:03:10 unclear 09:03:50 I *think* it is way overcalling _mons_check_foe though, because it repeats it for non-foes it has already seen at any radius < k 09:07:02 oh hm, maybe that's what this abs(i) stuff is about 09:09:23 it looks like that should be replaced with a radius_iterator 09:09:49 this code is called a *lot* so it might be better to do it a fast way 09:11:28 but yeah, I think that's effectively what this logic is doing, maybe it's correct 09:12:21 qw rots a bit & I wouldn't be surprised if it choked on a character qw couldn't produce 09:16:04 from some quick debug logging it does appear to be correct 09:23:19 Stable (0.22) branch on underhound.eu updated to: 0.22.1-59-ge965b3aba3 10:05:29 speaking of compatibility and old versions 10:05:39 We're almost out of enum space in tag minor 10:05:54 positional magic is definitely going to eat one 10:06:40 major version increment 0.25??? 10:07:20 yes 10:07:54 It looks like we're at 213? 10:08:07 realistically that is enough to make it until 0.25 10:08:39 but it would be nice to just break compat 10:08:53 if we keep compat with 0.24 people could still do staged upgrades 10:09:14 * Pinkbeast wishes you to imagine the face he made on finding there's a (practically reachable) limit 10:09:50 is there any way to store the tag somewhere else? 10:09:52 Pinkbeast if we were really insane, I did come up with a workable scheme for extended minor versions past 255 :D 10:09:59 yeah, that's what I'm referring to 10:10:32 advil: That sounds like a brilliant idea you should implement. I say this out of a pure-hearted concern for vanilla and not because I've used about a dozen myself 10:10:35 I remember removing some unused random seeds or something from the save a while back 10:10:44 name another tag TAG_MINOR_OVERFLOW, tweak the save format to add a new tag field in a place where the save browser could handle it, etc. 10:11:43 but my objection to doing that is that the oldest versions we have save compat with are just incredibly different games, and even an upgrade that doesn't crash is likely to be marginally playable at best 10:11:57 :-P 10:12:53 %git 55dd94265cb2e75d36b777f4ba6fe72bb1fb8ed9 10:12:53 07Aidan Holm02 * 0.22-a0-187-g55dd942: Replace you.game_seeds[] with you.game_seed 10(1 year, 9 months ago, 6 files, 9+ 23-) 13https://github.com/crawl/crawl/commit/55dd94265cb2 10:13:16 it doesn't really even need to reuse an existing slot as long as there is save compat for loading saves without the slot 10:13:25 that's a whole ubyte! 10:14:35 ideally it should be contiguous with other stuff that's loaded by the save browser (which only loads the header basically) 10:14:49 * geekosaur has already tripped that "marginally playable" one a few times 10:15:09 the save browser is supposed to handle versions outside of strict save compatibility 10:16:08 well, that's more complicated then 10:16:29 it's quite doable 10:16:36 but just because we can etc etc 10:17:04 whenever we do break save compat, I was thinking of writing a little utility for the last version that just handles the upgrade to that version at the command line, in case people really do want upgrade capabilities 10:41:27 -!- binaryatrocity is now known as Guest25725 10:47:40 luckily, it seems like all these enchantment checks I was worried about do get optimized out 11:20:52 d.oy joins/parts now make up around 1.5% of my crawl-dev logfile 11:24:26 Stable (0.23) branch on underhound.eu updated to: 0.23.1-91-gf373564dc4 11:30:34 03advil02 07* 0.25-a0-159-g282e4f8: A few more monster movement optimizations 10(3 minutes ago, 2 files, 24+ 7-) 13https://github.com/crawl/crawl/commit/282e4f85318b 11:33:35 advil: am I correct in assuming that the major hotspot there was _mons_check_foe? 11:33:48 and not, for example, anything to do with the iteration 11:34:43 yes, I did not change anything about the iteration 11:35:25 I mean, the iteration is a hotspot at least for non-optimized builds, because doing that for every monster leads to a ton of temp_attitude checks per turn 11:36:21 the optimized builds don't seem to have that problem, so I'm not sure how necessary that bit was, but it can't hurt 11:36:30 but only for the set of all monsters that are closest to the player, right? 11:36:31 on the optimized build _fill_good_move was the biggest hotspot in that commit 11:37:03 e.g. if every other cell in LOS had a monster in it, it'd be no slower than if you were boxed in by eight monsters 11:37:27 set_nearest_monster_foe is called for all monsters on the level, I'm not even sure it's just called once 11:37:50 the near_player thing is used when placing summons but it's not the main case for that function 11:38:10 that iteration is over each monster's los 11:38:28 ah, i was getting totally mislead by the you.see_cell call 11:38:37 that makes a lot more sense now, thanks 11:38:57 yeah, that's just for the summons case I think 11:39:28 to keep them from getting pulled out of your los if they can see something you can't 11:40:49 right 11:41:40 i wonder if there's some nice algorithm that'd find them all at once 11:42:46 I considered various ways of caching that info, but it's a bit tricky to understand the conditions under which the various factors in _mons_check_foe can change 11:43:03 it can change during iteration I think, for some cases 11:43:14 the annoying thing is that most of the stuff it's checking for is exceedingly rare 11:44:04 also, foe-ness is not symmetric (I had hoped it could be for a while) 11:44:13 in any case, this bit really doesn't show up in my profiling for the optimized build, so I dropped that for now 11:47:21 fair enough 11:47:57 yeah, that if statement is quite something 11:48:08 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-159-g282e4f8531 (34) 12:02:30 Stable (0.24) branch on crawl.akrasiac.org updated to: 0.24.0-37-gcf1ca85 12:17:53 well, set_nearest_monster_foe is now back on the radar 12:18:57 not sure there's much to be done with it though 12:28:18 Unstable branch on crawl.akrasiac.org updated to: 0.25-a0-159-g282e4f8 (34) 12:33:45 does monster holiness ever change? 12:40:25 advil: is monster_senior a hotspot during step from time for you as well? 12:41:07 that's taking up around 22% of all SfT runtime 12:47:40 monster holiness never changes 12:47:52 wait 12:47:55 ugh 12:48:14 evil is a fake holiness which comes from having evil spells which get removed by polymorph 12:48:33 I'm not sure if that gets considered in these checks, I think it shouldn't be 12:49:17 actually, I don't remember if that's a true holiness or just a 12:49:25 monster->is_evil() check 12:49:35 (true holiness in that its cached in the bitfield) 12:49:48 but evil isn't a stand-alone holiness 12:49:53 the base holinesses do not change 12:51:04 here's a flamegraph for SfT on my machine: https://0x0.st/z6lO.svg 12:53:34 it looks to me like around 10% of time is spent checking for "smitey spells" 12:57:26 and holiness() checks is_priest(), which, yep, checks for "priesty spells" 13:04:26 03advil02 07* 0.25-a0-160-gd1d2e81: Simplify some holiness checks for monster swapping 10(56 minutes ago, 1 file, 9+ 8-) 13https://github.com/crawl/crawl/commit/d1d2e81abaaa 13:04:41 yes, that smite spell check is costly 13:04:58 possibly relevant to some of your questions :-) 13:05:06 forgot to push 13:07:23 ah yeah 13:18:38 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-160-gd1d2e81aba (34) 14:24:34 -!- amalloy is now known as amalloy_ 14:29:58 Mouse doesn't work in skill menu in widonws offline tiles 13https://crawl.develz.org/mantis/view.php?id=12133 by Goratrix 14:40:46 03ebering02 07[positional-magic] * 0.25-a0-149-g0e1c0f0: fixup! Positional magic ❄️: New Ice spell: Hailstorm 10(53 minutes ago, 1 file, 6+ 2-) 13https://github.com/crawl/crawl/commit/0e1c0f08d19b 14:40:46 03ebering02 07[positional-magic] * 0.25-a0-150-g44f8b2e: Positional magic 🔥: Give Foxfire trails, adjust range 10(23 minutes ago, 5 files, 14+ 1-) 13https://github.com/crawl/crawl/commit/44f8b2ee5c69 14:40:46 03ebering02 07[positional-magic] * 0.25-a0-151-g413fa68: fixup! Positional magic 🔥: New spell Foxfire 10(15 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/413fa6858d9c 14:40:46 03ebering02 07[positional-magic] * 0.25-a0-152-g2bd06a1: fixup! Positional magic 🐍: Revise Sting 10(13 minutes ago, 1 file, 5+ 2-) 13https://github.com/crawl/crawl/commit/2bd06a162fc8 14:40:49 03ebering02 07https://github.com/crawl/crawl/pull/1200 * 0.25-a0-149-g0e1c0f0: fixup! Positional magic ❄️: New Ice spell: Hailstorm 10(53 minutes ago, 1 file, 6+ 2-) 13https://github.com/crawl/crawl/commit/0e1c0f08d19b 14:40:49 03ebering02 07https://github.com/crawl/crawl/pull/1200 * 0.25-a0-150-g44f8b2e: Positional magic 🔥: Give Foxfire trails, adjust range 10(23 minutes ago, 5 files, 14+ 1-) 13https://github.com/crawl/crawl/commit/44f8b2ee5c69 14:40:49 03ebering02 07https://github.com/crawl/crawl/pull/1200 * 0.25-a0-151-g413fa68: fixup! Positional magic 🔥: New spell Foxfire 10(16 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/413fa6858d9c 14:40:49 03ebering02 07https://github.com/crawl/crawl/pull/1200 * 0.25-a0-152-g2bd06a1: fixup! Positional magic 🐍: Revise Sting 10(13 minutes ago, 1 file, 5+ 2-) 13https://github.com/crawl/crawl/commit/2bd06a162fc8 14:44:22 03ebering02 07[positional-magic] * 0.25-a0-153-gea67df7: Positional magic ❄️: Adjust IE start 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/ea67df7ee77c 14:44:24 03ebering02 07https://github.com/crawl/crawl/pull/1200 * 0.25-a0-153-gea67df7: Positional magic ❄️: Adjust IE start 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/ea67df7ee77c 14:59:54 03ebering02 07[positional-magic] * 0.25-a0-154-g5e33994: fixup! fixup! Positional magic ❄️: New Ice spell: Hailstorm 10(15 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/5e339940231c 14:59:56 03ebering02 07https://github.com/crawl/crawl/pull/1200 * 0.25-a0-154-g5e33994: fixup! fixup! Positional magic ❄️: New Ice spell: Hailstorm 10(17 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/5e339940231c 15:02:25 aidanh: was that flamegraph after 282e4f85318b? That commit should have gotten rid of most calls to _fill_good_move during sft 15:16:41 Experimental (positional-magic) branch on crawl.kelbi.org updated to: 0.25-a0-153-gea67df7ee7 15:30:56 Experimental (positional-magic) branch on crawl.kelbi.org updated to: 0.25-a0-154-g5e33994023 17:45:34 03ebering02 07[positional-magic] * 0.25-a0-155-g34ef918: fixup! fixup! Positional magic 🐍: Revise Sting 10(16 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/34ef91811d05 17:45:36 03ebering02 07https://github.com/crawl/crawl/pull/1200 * 0.25-a0-155-g34ef918: fixup! fixup! Positional magic 🐍: Revise Sting 10(18 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/34ef91811d05 18:01:16 Experimental (positional-magic) branch on crawl.kelbi.org updated to: 0.25-a0-155-g34ef91811d 18:11:17 aidanh: 69b4fc02efa929aaff49b9682e010410307d5275 is coooooool. nice fix 18:22:55 Unstable branch on underhound.eu updated to: 0.25-a0-160-gd1d2e81aba (34) 18:38:43 advil: that was before 18:40:12 alexjurkiewicz: that commit doesn't actually do all that much; in particular, it doesn't fix that weird bug with lingering popups for spectators 18:54:13 oh :( 18:54:21 could the positional magic thread on reddit get a default sorting of new? 18:58:02 ebering: about foxfire, did you consider making the duration constant and only scaling damage with spellpower? I found it confusing when trying to figure out if the "rear" foxfire would hit my target. Someone else mentioned the same thing in the reddit thread 19:21:36 Stable (0.24) branch on underhound.eu updated to: 0.24.0-37-gcf1ca852f1 19:38:31 03Aidan Holm02 07* 0.25-a0-161-gb7fd73d: Fix mouse click not working in skill menu (12133) 10(6 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/b7fd73da8f16 19:49:06 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-161-gb7fd73da8f (34) 20:44:00 alexjurkiewicz good idea re sorting by new, done 20:54:42 -!- amalloy_ is now known as amalloy 21:15:58 alexjurkiewicz: yeah, I'm thinking about removing the range restriction and always giving foxfire 8 moves 22:29:26 -!- misha is now known as werekitten 22:39:38 advil If I wanted to make a bunch of RNG calls within a for loop; is there a solid way to do that? (Sorry to bother you; I just know from merging fork forward you're the RNG master here) 22:40:01 -!- werekitten is now known as misha 22:45:16 from the information you've provided, there's not really any answer possible besides "write a loop, and inside of it call randomness-producing functions" 22:48:29 yeah, as long as whatever you're iterating over has a stable order, it's fine 22:48:50 Yea, I'm just there's so many "making sure random calls are in sequence" commits from Advil that I didn't want to screw something up. If you want a specific answer; uhh I'm making a shopping check where if greed is (number it would never normally be defined as a constant elsewhere); it rolls random greed for every item in the shop for Chaos/Madness 22:48:50 themed shops) 22:50:01 shops in particular are isolated from levelgen rng so can't mess anything else up 22:52:31 I just hope that something fork-unique from before I merged in the pregeneration stuff isn't already screwing with it...it might be hard to track down. (Was originally 0.22-based; most the way through versioning up to 0.24 now).