00:34:22 Unstable branch on cbro.berotato.org updated to: 0.34-a0-1140-g72e09e7ad3 (34) 00:55:39 Monster database of master branch on crawl.develz.org updated to: 0.34-a0-1140-g72e09e7ad3 01:58:56 -!- indigaz25 is now known as indigaz2 02:44:26 <06m​umra> The "eligible" coords are only a small fraction of the available map space. When we draw a room we record its walls as "eligible" to try and attach a vault to in subsequent iterations. Trying to hit an eligible coord by randomly selecting an would be like a finding a needle in a haystack sometimes, extremely slow and need a super high number of iterations particularly once the map is very full and there aren't many eligible spots 02:44:27 left. When we add a vault to the map, I remove the eligible coords from along that boundary wall so they will not be considered anymore (and the error is happening there in the removal of the coords) 02:48:18 <06m​umra> Obviously it was a very long time ago I wrote this but some memory has been returning as I looked into it. The original version of the algorithm was exactly that, selecting a random until we found a placement or until a very high iteration count was reached. It was extremely slow and frequently didn't give good results in terms of being able to place lots of vault rooms. So keeping track of all the spots where we might place a 02:48:18 vault was a really good optimisation and produced much better layouts (although, looking at this bug, I think the layouts and performance are certainly still being limited by this) 04:31:33 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5261-gd9800d219b 05:34:07 Unstable branch on crawl.akrasiac.org updated to: 0.34-a0-1140-g72e09e7 (34) 07:01:51 03dolorous02 07* 0.34-a0-1141-g89123b03c1: Add another instrument name to artefacts. 10(4 minutes ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/89123b03c11e 07:01:51 03dolorous02 07* 0.34-a0-1142-g87edb97778: Pluralise a weather name for artefacts. 10(3 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/87edb9777882 08:34:44 <09g​ammafunk> well, you don't have to use random coord generation in what I've proposed. I think it would be easier to demonstrate in code, but I don't want push something if you're close to doing so. This is a blocker for lua 5.4 due to the errors/vetoes, and obviously the layout code is wrong as well, so it'd be good to get an interim fix even if you're planning a more significant rework. If you're planning to push a fix soon, I can hold off, 08:34:44 otherwise do you mind if I fix that layout? 09:09:43 whataluser (L8 FeCj) ERROR in 'mon-act.cc' at line 2831: infinite handle_monsters() loop, mons[0 of 28] is hornet (D:6) 09:50:16 MackTheFife (L10 FeSh) ERROR in 'mon-act.cc' at line 2831: infinite handle_monsters() loop, mons[0 of 1] is wolf (D:9) 10:08:09 <09g​ammafunk> Seems bad 10:15:48 <06m​umra> Yep I have a fix, just haven't tested it against the Lua 5.4 branch 10:19:28 <09g​ammafunk> cool, let me know if you need anything there. I'm going to make a new PR for the 5.4 branch today just to document what's missing to test/examine 10:21:31 New branch created: mumra/lua-vaults-fix (1 commit) 13https://github.com/crawl/crawl/tree/mumra/lua-vaults-fix 10:21:32 03mumra02 07[mumra/lua-vaults-fix] * 0.34-a0-1079-g117375f39a: fix: Prevent Lua error in Vaults layout (gammafunk) 10(7 hours ago, 2 files, 5+ 157-) 13https://github.com/crawl/crawl/commit/117375f39ae5 10:30:23 <09g​ammafunk> Incidently, when looking into luajit, which I knew little about, it seems that it's "by far" the most popular/performant version of the lua language, and the original author, who's a VM/optimization expert, is no fan of the direction the language took since 5.1: https://github.com/LuaJIT/LuaJIT/issues/929#issuecomment-1362278983 10:30:53 <09g​ammafunk> In pushing for the bump to lua 5.4, I didn't really consider if adoption of the newer language would be an issue, but seeing this comment did give me pause 10:32:02 <09g​ammafunk> When the claim is that "few" people use the latest lua version from the the PUC-Rio team, and that luajit is "everywhere" 10:32:32 <09g​ammafunk> I'm obviously far from an expert in this and had been interested in looking into luajit to see if it could improve e.g. qw or even our online servers 10:33:23 <09g​ammafunk> But it seems that one consequence of this switch would be that we won't be able to use luajit without at least some kind layer of compatibility. I could imagine some conditionals in the macros we already use might be sufficient, but there could be other issues 10:33:39 <09g​ammafunk> and I have no idea if luajit already has e.g. seed stability issues like what advil found for lua 5.1 10:36:46 04Build failed for 08mumra/lua-vaults-fix @ 117375f3 06https://github.com/crawl/crawl/actions/runs/19240086082 10:37:29 <06m​umra> https://luajit.org/extensions.html i was reading this and noticed it mentions an enhanced PRNG that doesn't rely on platform-specific rand 10:41:01 <06m​umra> https://cdn.discordapp.com/attachments/747522859361894521/1437497286971363379/image.png?ex=6913752c&is=691223ac&hm=fc6b779eeba6a16e0e92a0b67bfb8ce0a72bd6366e4254a2cbf51fe5ab119076& 10:41:14 <06m​umra> I get this when starting up on the Lua 5.4 branch 10:41:45 <06m​umra> And trying to run any levelgen crashes out with same error 10:42:55 <06m​umra> I think I've updated my Lua install correctly, certainly the game is building ok 10:43:56 <06m​umra> Wiping saves/des gets it working 10:44:09 <06m​umra> V seems to be generating ok (with my patch commit) 10:47:14 <09g​ammafunk> yes, you have to delete your des cache 10:47:41 <09g​ammafunk> saves aren't a problems, but the des cache is 10:48:04 <09g​ammafunk> I'm not sure if there's something we can do to force a rebuild of the cache 10:49:20 <09g​ammafunk> I think for onlines servers, this isn't an issue since each trunk version gets its own install dir anyhow, although this might be a problem for servers that don't use dgamelaunch, since they probably the same dir always for trunk 10:49:52 <09g​ammafunk> perhaps we could some code in the binary that checked the lua version and remade the cache whenever the lua version changes 10:51:38 New branch created: pull/4895 (10 commits) 13https://github.com/crawl/crawl/pull/4895 10:51:38 Branch pull/4895 updated to be equal with lua5.4: 13https://github.com/crawl/crawl/pull/4895 10:58:49 <06m​umra> Hmm. Managed to get a Lua crash regenerating vaults layouts a bunch of times (attempted to index a nil value in layout_vaults_omnigrid) but I can't reproduce again 10:58:55 <06m​umra> And there's no lua call stack 11:46:33 <09g​ammafunk> It might be nice to add a backtrace to dlua crashes 11:46:49 <09g​ammafunk> Probably not too hard to do 11:52:44 <06m​umra> I am running ./crawl -test vault_catalog.lua and getting no errors 11:54:27 <06m​umra> So slightly puzzled about this one crash 11:54:57 <06m​umra> It's of course possible it was nothing to do with layout code and happened in some other vault that happened to place that one time 11:57:47 <06m​umra> Backtraces would definitely be useful (and this was a full crash not just a veto) 16:02:05 03dolorous02 07* 0.34-a0-1143-ga6f5bdc043: Fix spelling. 10(5 minutes ago, 2 files, 3+ 3-) 13https://github.com/crawl/crawl/commit/a6f5bdc0430c 16:37:01 <09g​ammafunk> by this do you mean that the crawl binary crashed? 16:39:44 Unstable branch on underhound.eu updated to: 0.34-a0-1142-g87edb97778 (34) 17:24:55 <09g​ammafunk> just a quick note, the comment about seed stability was more about the issue mentioned in this commit where I talk about a prior commit advil had to make to fix issues with lua5.1 and why that fix is probably no longer necessary in lua5.4. Not that there couldn't be other seed stability issues, but this problem was related to how floating point values get converted to integers, and there being different results on different systems 18:03:23 03WizardIke02 07* 0.34-a0-1144-gf84a12ef02: Fix crash when pending revival as a felid 10(8 minutes ago, 1 file, 5+ 0-) 13https://github.com/crawl/crawl/commit/f84a12ef0209 19:20:43 -!- jds_ is now known as jds 20:00:43 <09g​ammafunk> @mumra It looks like hyper.usage.set_usage() in dat/dlua/hyper_usage.lua has a very similar issue to the v_paint.lua layout: Generating object statistics for 200 iteration(s) of 62 level(s) over 22 branch(es). Iteration: 1..Fatal lua error: ...jstat/3-rune-swamp-snake/dat/dlua/layout/hyper_usage.lua:67: bad argument #2 to 'remove' (position out of bounds) Builder VETO on fatal lua error: Snake:4: Vault placement failure for 20:00:43 'layout_cave_town'. ...jstat/3-rune-swamp-snake/dat/dlua/layout/hyper_usage.lua:67: bad argument #2 to 'remove' (position out of bounds) Fatal lua error: ...jstat/3-rune-swamp-snake/dat/dlua/layout/hyper_usage.lua:67: bad argument #2 to 'remove' (position out of bounds) Builder VETO on fatal lua error: Snake:4: Vault placement failure for 'layout_cave_town'. ...jstat/3-rune-swamp-snake/dat/dlua/layout/hyper_usage.lua:67: bad argument #2 to 'remove' 20:00:44 (position out of bounds) Fatal lua error: ...jstat/3-rune-swamp-snake/dat/dlua/layout/hyper_usage.lua:67: bad argument #2 to 'remove' (position out of bounds) Builder VETO on fatal lua error: Snake:4: Vault placement failure for 'layout_cave_town'. ...jstat/3-rune-swamp-snake/dat/dlua/layout/hyper_usage.lua:67: bad argument #2 to 'remove' (position out of bounds) The implementations look very similar: lua function 20:00:44 hyper.usage.set_usage(usage_grid,x,y,usage) if usage_grid[y] == nil or usage_grid[y][x] == nil then return false end -- Check existing usage, remove it from eligibles if it's there local current = usage_grid[y][x] if current.eligibles_index ~= nil then table.remove(usage_grid.eligibles[current.eligibles_which],current.eligibles_index) If you're able to update that layout code as well, that'd be appreciated. 20:02:47 is there a specific reason why there's both a you.spells and you.spell_library ? 20:26:12 New branch created: pull/4897 (1 commit) 13https://github.com/crawl/crawl/pull/4897 20:26:13 03guillaume02 07https://github.com/crawl/crawl/pull/4897 * 0.34-a0-1145-gd4906ce290: Add revenant's first spell to their library 10(4 minutes ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/d4906ce29080 20:26:33 anyway, I didn't really need to understand that to fix the bug 20:35:15 <09g​ammafunk> the library is the catalog of all spells you have available, the spells vectory is the set of spells you have memorized 20:35:32 <09g​ammafunk> adelrune: ^ 21:32:50 03guillaume02 {dolorous} 07* 0.34-a0-1145-gc9a0f1e6c0: Add revenant's first spell to their library 10(70 minutes ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/c9a0f1e6c0a7 22:18:43 hello, my fellows. i would like to contribute 22:21:13 to start with something simple, i want to add a display of magical staves' blast chance and damage to the equipment inspection 22:21:42 could i get some pointers to where the equipment inspection is handled? 22:26:37 03dolorous02 07* 0.34-a0-1146-g8bcb7b9790: Add another Donald line for Vehumet. 10(5 minutes ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/8bcb7b97902b 23:35:32 Unstable branch on crawl.develz.org updated to: 0.34-a0-1146-g8bcb7b9790 (34) 23:58:49 Windows builds of master branch on crawl.develz.org updated to: 0.34-a0-1146-g8bcb7b9790