00:28:23 The build passed. (master - 3ca0c31 #11274 : kitchen-ace): https://travis-ci.org/crawl/crawl/builds/512820575 00:29:53 !seen ontoclasm 00:29:54 I last saw ontoclasm at Sun May 14 21:54:24 2017 UTC (about 1y 45w 4d 6h 35m 29s ago) parting ##crawl-dev, saying 'chanpart'. 00:30:02 woah. really two years? 01:01:06 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.24-a0-217-g1152973 (34) 01:02:22 Stable (0.23) branch on CRAWL.XTAHUA.COM updated to: 0.23.1-41-g7e51ed3 01:24:32 The build passed. (master - 1152973 #11275 : Umer Shaikh): https://travis-ci.org/crawl/crawl/builds/512829696 02:07:50 Stable branch on crawl.develz.org updated to: 0.23.1-41-g7e51ed3 (34) 02:37:54 Unstable branch on crawl.develz.org updated to: 0.24-a0-217-g1152973 (34) 03:08:42 Windows builds of master branch on crawl.develz.org updated to: 0.24-a0-217-g1152973 03:30:56 Stable (0.23) branch on crawl.kelbi.org updated to: 0.23.1-41-g7e51ed32d8 03:42:05 Fork (gooncrawl) on crawl.kelbi.org updated to: 0.22-a0-816-g14fc994bcc 03:59:48 Monster database of master branch on crawl.develz.org updated to: 0.24-a0-217-g1152973 04:20:13 Some items not auto-picked up 13https://crawl.develz.org/mantis/view.php?id=11939 by iliketurtles 08:04:30 New branch created: pull/1022 (1 commit) 13https://github.com/crawl/crawl/pull/1022 08:04:30 03Nikolai Lavsky02 07https://github.com/crawl/crawl/pull/1022 * 0.24-a0-218-g36cce10: Don't try to generate any removed branches in mapstat 10(14 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/36cce107a6cd 11:13:34 n/exit 11:13:37 augh 12:22:58 Stable (0.23) branch on underhound.eu updated to: 0.23.1-41-g7e51ed32d8 13:02:52 Stable (0.23) branch on crawl.akrasiac.org updated to: 0.23.1-41-g7e51ed3 13:08:37 Unstable branch on crawl.akrasiac.org updated to: 0.24-a0-217-g1152973 (34) 13:57:04 !tell gammafunk did you still want to remove that abyss transporter vault? Also, perhaps related (though also possibly just me not understanding the code), while working on c779bbd I noticed I couldn't figure out how transporters do get placed in abyss via normal abyss builder stuff 13:57:04 advil: OK, I'll let gammafunk know. 17:16:53 advil: re: abyss placing transporters, doesn't it happen during the same phase as for normal levels 17:17:25 yeah, that much I got, I just never figured out where it did happen 17:19:05 !source dungeon.cc:2450 17:19:05 https://github.com/crawl/crawl/blob/master/crawl-ref/source/dungeon.cc#L2450 17:19:19 that's where the markers are turned into the features 17:19:23 right, that's for normal levels though 17:19:33 that could path didn't seem to get called for abyss? unless I missed something 17:19:55 *code 17:20:06 I did find code to handle when transporters get shifted 17:20:26 yeah, that was fun to write 17:20:32 let me see re: abyss layout 17:22:26 ... 17:24:53 that's not the source of this transporter problem somehow, is it? 17:25:19 heh it could be! 17:25:28 but how is it placeing sometimes?! 17:25:40 I'm about to flip some crawlcode 17:25:40 well wizmode code *does* call that code path 17:25:52 god 17:26:02 so if you've seen it in the wild then this hypothesis is wrong 17:26:07 I haven't myself 17:26:12 well 17:26:19 people can generate inside the vault 17:26:19 but I don't go in abyss much 17:26:34 I suppose it's possible that it actually never generates with the transporter 17:26:52 and the only way people have done it is via wall breaking (which is common in abyss) and being generated inside it 17:26:59 but if that's what this bug is, I'm really going to hate myself 17:27:03 lol 17:27:15 well who was to know, I mean I stared at this bug for a lot of hours 17:27:23 testing all the time with wizmode placement only of course 17:27:29 I guess we could test by changing the weights rather than wizmode placement 17:27:37 yeah, how do I test this 17:27:40 so I could still be in wizmode 17:27:43 but just upweight it 17:27:45 yeah 17:27:47 and go to abyss:3 17:28:08 maybe tweak some code in case there are other conditions on subvault placement 17:28:36 subvault placement? 17:28:49 what does that refer to specifically? this vault doesn't use subvaults 17:28:55 sorry, just vault placement 17:29:52 btw did you see the bug I fixed the other day? it was kind of good: a fallback abyss portal placed on top of a transporter marker (since fallback vaults can overwrite floor features in already placed vaults), and then the transporter overwrote the abyss portal 17:30:09 I did see without looking into the logistics of how that could happen 17:30:35 I guess that happened after the transporter placement in the normal builder? 17:30:35 yeah, the transporter vault in that case placed first 17:30:58 I was wondering if something similar could be happening in the abyss, was what led me to look for where the transporter placement happened there 17:35:55 interesting, I can't seem to get my vault to place in abyss 17:36:19 set weight high and others got selected, removed all other rune vaults, now I get a solo rune just lying on the map every time 17:37:54 !flip abyss 17:37:54 (╯°□°)╯︵ ssʎqɐ 17:49:17 yeah, I'm having similar troubles 17:49:28 trying to get x_factor to place 17:49:44 looking back at the builder code 17:49:48 I got it to happen once with ctrl-r, and there were transporters, but that code path might be different 17:50:08 yeah, that's wizmode, and wizmode does specifically do the transporter placement call 17:50:10 cannot get it to happen with just level changing, even though I've forced that to be the only possible exit vault 17:50:23 it does seem to me that the abyss builder goes through the same codepath though 17:50:49 _builder_by_type() -> generate_abyss() -> ..oh 17:50:51 never mind 17:51:03 I'm apparently misreading that return over and over again 17:51:28 ok so that seems pretty clear that the transporter placement will never happen, but I'm not seeing any sort of veto messages either 17:51:55 there's this comment in generate_abyss() 17:52:01 // Generate the initial abyss without vaults. Vaults are horrifying. 17:52:01 _abyss_generate_new_area(); 17:52:33 but _abyss_generate_new_area() calls _generate_area() 17:52:42 which does in fact call _abyss_place_vaults() 17:56:05 man I just can't get this vault placement code to do anything 17:58:34 huh 18:02:36 oh, I think I'm being messed up by these chance tags for the dummy exit 18:02:39 does chance have a default? 18:04:02 or maybe I'm just not understanding something here 18:07:15 something about the chance values makes exit vault placement extremely rare, even though I have it set so that exits place a lot 18:18:52 interesting, so if I get a 30 hd boggart to banish me 18:19:05 the level on abyss:5 generates with the rune vault 18:19:12 on a new game 18:19:20 the transporters place and work 18:19:50 ah, and yes, now I see how I had confused myself before 18:20:06 I unconfused myself then confused myself and now I'm unconfused again 18:20:38 the abyss does that to people 18:20:42 _build_dungeon_level() -> _builder_by_type() -> generate_abyss() followed by return true 18:20:57 ad that point in _build_dungeon_level() place_vaults is true 18:21:02 so normal transporter placement happens 18:21:29 hence baring this weird issue where it doesn't seem to subsequently want to place the rune vault 18:21:36 for future level generation, that is 18:21:48 it does seem that the transporters work and the vault places normally for non-wizmode 18:22:26 ok, yeah, I finally did figure out how to get one of these to place 18:22:28 the placement of the rune vault happens in generate_abyss() via a call to _generate_area() 18:23:57 I still have no idea what is up with these chance values on the dummy vault though, I effectively couldn't get exit vaults to place until I removed those 18:24:03 even though the exit places fine, just vaultless 18:24:26 also part of my trouble is that x_factor doesn't have allow_dup and so couldn't re-place 18:24:37 that might apply to testing the rune vault 18:24:53 ah 18:24:55 hrm 18:25:13 so is this just somehow a thing for abyssal rune vaults? how do they allow multiple placement 18:25:56 can you see the same rune vault more than once? 18:26:13 let me try 18:27:42 well, sorry for the red herring 18:29:17 yeah, I can 18:29:17 tso outpost is placing multiple times 18:29:30 had a monster banish me, got that vault, then reading teleport scroll and resting to generate a new area 18:29:36 did that multiple times and got the output vault 18:29:41 *outpost 18:30:13 I guess that's another mystery though, why my vault doesn't seem to want to place more than once 18:30:41 it's not tagged differently in a way that would matter for this 18:31:36 I've gotten it to reliably place over and over again by adding allow_dup (and I've messed with the tags) 18:33:22 weird 18:34:38 advil: do you have a timeframe for making the point release, e.g. you're trying to get it done today? 18:34:38 today-ish 18:34:47 I probably won't be building release versions until tomorrow 18:34:48 I guess I can just quickly rework the vault to use normal doors then 18:35:09 later perhaps I can have more time to play with this transporters-in-abyss issue again 18:35:19 I might spend a few more minutes looking at this, now that I've figured out what it takes to generate this vault on demand 18:35:26 yeah, feel free 18:35:55 that comment in the abyss gen suggesting that vaults shouldn't place in initial areas yet it proceeding to place vaults 18:36:28 hrm 18:36:29 how does CHANCE work when it isn't set explicitly? 18:37:12 looks to me like it might be ignored 18:37:26 dng_chance() does nothing if the arg isn't a number 18:37:43 and then when the map selector does a chance roll? 18:38:05 well I see there are two chance functions 18:38:13 dgn_depth_chance() as well 18:38:24 now that I think about it, have I ever even seen an abyss exit vault? 18:39:05 but to answer that question, I think if no chance gets set, the vault selector for chance vaults would presumably find no matches? 18:43:53 so it looks to me like abyss might do two rounds of vault placement 18:44:22 oh I see 18:44:42 it only does that for the minivaults/chance vaults/extra vaults 18:45:59 ug 18:47:05 in _abyss_place_vaults() 18:47:13 while (vaults_placed < maxvaults) 18:47:13 { 18:47:13 const map_def *map = random_map_in_depth(level_id::current(), extra); 18:47:26 yet the function's signature is 18:47:27 const map_def *random_map_in_depth(const level_id &place, bool want_minivault, 18:47:30 maybe_bool extra) 18:47:47 this is not filling me with vast amounts of confidence 18:48:28 after one round of that, extra is true if the map wasn't tagged as extra 18:48:46 but that argument is actually controlling whether a minivault should be chosen 19:08:01 the reason I was wondering about chance is not chance vaults per se, but because the placement call for all tagged vaults in abyss incl abyss_exit vaults has check_chance=true, presumably because of the dummy maps, and I couldn't get a single abyss exit vault to place until I set that param to false 19:09:00 granted the CHANCE values on the dummy exit maps are like 95%, so maybe they're supposed to be extremely rare, but changing those to very low percentages didn't help (commenting them out did) 19:18:11 advil: looks like map_chance::valid() would return false since map_chance::map_chance() initializes map_chance::chance to -1 19:18:41 ah 19:18:47 which would cause any vault not to get added to the vector of chance vaults 19:19:13 ok, so seeing what that vector looks like would be a good test 19:19:42 yeah 19:19:50 in _random_map_in_list() 19:23:01 Unstable branch on underhound.eu updated to: 0.24-a0-217-g1152973720 (34) 19:26:42 what's the make command for a WebTiles build? want to make sure I didn't miss something 19:26:59 just for yourself? 19:27:15 yeah, just to compile test before I push and break auto-updates 19:27:59 `make WEBTILES=y` for local use, probably `make WEBTILES=y USE_DGAMELAUNCH` if you want to mimic a server setup 19:28:19 alright, thanks 19:28:29 er 19:28:38 `make WEBTILES=y USE_DGAMELAUNCH=y` 19:28:42 sorry 19:29:41 oh, it seems to be missing server specific files, guess that won't work 19:30:00 hm neither of those should need anything special 19:30:36 it's probably because it can't build WebTiles on Windows 19:30:40 from the look of it 19:30:41 oh heh 19:30:41 yeah 19:30:50 oh well, I guess I'll just push and pray 19:30:59 can you run docker on windows these days? 19:31:05 that's the spirit! 19:31:28 probably, but I'm not going through that effort just to add a real_mp_max field to the WebTiles GUI 19:31:47 I think I've changed everything that's needed for it 19:31:58 and if not, there's a weekend to fix/revert it 19:32:13 what could go wrong 19:32:36 game crash on launch from missing value/field 19:32:38 literally nothing, probably 19:32:48 is probably worst case 19:32:57 or bad compile 19:33:20 do you have travis set up on your repo? 19:33:28 yes, but I haven't fixed/updated it in forever so it's kind of worthless 19:33:46 if you use something similar to the mainline travis settings and push to a branch, then it will at least build with both of those build configs I mentioned above 19:34:18 as in, I've changed enough stuff from mainline at this point that ttravis fails on all builds 19:34:35 haha ok 19:37:26 well, you could still test the build, it looks like your failures are all in the tests (e.g. arena crashes, something is wrong with some egos) 19:38:19 something wrong with miscast effects, maybe torment specifically 19:40:36 I'll take a look at travis then after it finishes the latest commit and see if webtiles fails before the arena tests then 19:50:01 aha 19:50:22 gammafunk: that code path works but is only used when initially entering an abyss level 19:50:39 so teleporting never does call the transporter placement 19:51:02 yeah, that would make sense 19:51:17 I guess I didn't logically follow up my understanding of how it is being called right the first time 19:52:08 the vault placement code for abyss doesn't have the transporter placement call 19:52:21 but I still don't understand why I can't get the rune vault to place subsequent times 19:52:43 I guess one question is where that transporter placement call should go 19:52:56 yeah, for some reason it can't go too late in that sequence 19:53:06 _abyss_postvault_fixup()? 19:53:07 maybe in _abyss_fixup_vault? 19:53:24 maybe, I see postvault actually activating the markers though 19:53:27 maybe that needs to happen first 19:53:28 the postvault thing was too late for some reason that I haven't discerned (well, I tried right after that) 19:53:30 ah 19:53:49 not sure if it does need to happen for these transporter markers though 19:53:56 yeah maybe before that call 19:53:58 let me test 19:54:49 yes, that worked 19:55:19 btw, were all the reports of the form, both transporter dest and landing are missing? 19:55:28 or were there some cases where one or the other was there? 19:55:34 I have a vague memory that there were 19:55:43 hrm, good question; I want to say that both were but I'm not really sure 19:55:55 transporters definitely missing, but not 100% sure on landing sites 19:57:37 one thing I was wondering was, what would happen with shifting transporters if the iterator got to the landing site first? I *think* it might wipe it 19:57:43 haven't been able to test that though 20:01:53 maybe not 20:05:26 ok, nope, that was just my overactive imagination, that case works 20:09:39 -!- amalloy is now known as amalloy_ 20:10:20 hm, I wonder is there some way that transporter placement could be subsumed into marker activation? 20:11:23 03advil02 07* 0.24-a0-218-ga595e75: Place transporters consistently in abyss 10(4 minutes ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/a595e75330f5 20:12:01 03advil02 07[stone_soup-0.23] * 0.23.1-42-g8abd8fc: Place transporters consistently in abyss 10(5 minutes ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/8abd8fc9a213 20:17:26 Unstable branch on crawl.kelbi.org updated to: 0.24-a0-218-ga595e75330 (34) 20:21:32 interesting, so activate_all() isn't necessary for transporters? 20:21:55 seems that the concept of marker activation isn't what I think it is 20:34:10 ah I see 20:34:19 marker activation normally happens after level is fully generated 20:35:59 -!- amalloy_ is now known as amalloy