00:13:00 Unstable branch on cbro.berotato.org updated to: 0.33-a0-644-g64fd3f8b57 (34) 00:56:36 Monster database of master branch on crawl.develz.org updated to: 0.33-a0-644-g64fd3f8b57 02:27:15 Oh, turns out the bolt::harmless_to_player isn't even called(), the new targeter has harmful_to_player() always returning true. 02:27:53 No, looking at wrong parts of code again. 02:48:43 New branch created: pull/4208 (1 commit) 13https://github.com/crawl/crawl/pull/4208 02:48:44 03Yi Yang @ Anteros02 07https://github.com/crawl/crawl/pull/4208 * 0.33-a0-644-g7e1a7e8189: Let beam targeter to take whether it's harmless into account. 10(5 minutes ago, 2 files, 2+ 2-) 13https://github.com/crawl/crawl/commit/7e1a7e8189de 04:34:10 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5249-g4a8afe7061 05:07:04 Unstable branch on crawl.akrasiac.org updated to: 0.33-a0-644-g64fd3f8 (34) 09:39:31 Wyvric (L26 DrCj) ERROR in 'mon-util.cc' at line 694: bogus mc (no monster data): invalid monster_type 1000 (1000) (Zot:3) 14:01:36 03Implojin02 07* 0.33-a0-645-g2dfc2d5bbc: Revert "Fix drop_disables_autopickup artefact interactions" 10(57 minutes ago, 1 file, 1+ 2-) 13https://github.com/crawl/crawl/commit/2dfc2d5bbcbd 14:01:36 03Implojin02 07* 0.33-a0-646-g5978acde03: Exclude artefacts from drop_disables_autopickup (DemifiendCruithne) 10(35 minutes ago, 1 file, 5+ 1-) 13https://github.com/crawl/crawl/commit/5978acde034e 15:04:19 I've gotten one of my sticks of RAM to behave at JEDEC speeds, though it's clearly failing as the XMP profile results in memory errors... so I'm back 15:04:43 Continuing the discussion from Discord the other day RE: glu... is there a setting somewhere to turn off hover tooltips? trying to work out if mipmaps actually are even being used 15:05:35 Ah wait, I missed a comment 15:05:45 // If the window size is less than the view height, the textures will // have to be shrunk. If this isn't the case, then don't create mipmaps, // as this appears to make things blurry on some users machines. bool need_mips = (m_windowsz.y < 32 * VIEW_MIN_HEIGHT); 15:06:20 so first I have to figure out how to trigger that, then my question becomes interesting 15:09:13 <03i​mplojin> suspect the solution to the glu issues is either to remove the glu calls (looked like we already had an alternate codepath there) or to update them to modern opengl, whatever that entails 15:09:54 Right, the alt code path is "just don't generate mipmaps", which we also do if on e.g. android where it's OpenGL ES instead of full OpenGL 15:10:16 but even vaguely modern OpenGL ES versions also support mipmap generation using a different function, just like modern OpenGL versions 15:11:06 I sort of suspect that phones would benefit more from mipmapping than most desktops these days, but graphics isn't my forte :D 15:11:27 But, the first step to deciding if it's worth keeping, would be to see "what does it look like with/without" 15:11:34 <03i​mplojin> sure 15:12:11 guess I can just hard-code the conditional and see if it's noticeable that way 15:12:22 But the annoying part is getting the screenshots to match perfectly 15:12:31 will figur eout how to hack off the hover text locally 15:12:47 .oO { write once, debug everywhere } 15:12:48 other than that screenshot looks reproducible to me just by loading same game state 15:19:44 ah-ha 15:19:45 tile_tooltip_ms = 0 15:36:49 getting somewhere... gonna add a new maybebool option to allow forcing enabling or disabling mipmapping to save me some rebuilds and give users more control 15:46:12 Ok, so either I've done something dumb, or mipmapping only is relevant when window is too small or zoomed in or out 15:46:14 which would make sense I think :D 15:51:36 Yeah, ok, getting somewhere 15:51:53 if I zoom in to 1.5x, then I get a very subtle difference 16:31:53 Ok, that's fine, but something doesn't make sense here 16:32:00 unless there's another code path I'm missing 16:32:10 void OGLStateManager::load_texture 16:32:15 takes an xoffset and yoffset 16:32:49 if (xoffset >= 0 && yoffset >= 0) 16:32:59 This seems like it should be an or, offseting in one axis seems valid 16:33:28 And secondarily, if MIPMAP_CREATE is the mip_opt, we totally ignore the offsets entirely? 16:38:33 https://github.com/crawl/crawl/blob/5978acde034e9e1247c07d9454760a8d3a5455e1/crawl-ref/source/glwrapper-ogl.cc#L363 16:40:05 Unstable branch on underhound.eu updated to: 0.33-a0-646-g5978acde03 (34) 16:53:23 So part of it makes sense now. If offsetting in 1 axis, the other will be zero 16:53:33 if not offsetting at all, both will be negative -1 16:54:14 This seems a bit silly, when instead it could just do if xoffset == 0 && yoffset == 0, use glTexImage2D, otherwise, use glTexSubImage2D 16:54:21 avoiding magic numbers entirely 18:09:49 may be wrong on that, those functions are somewhat non-trival to understand 18:10:00 I understand what the code is doing now kinda, just not why 18:10:35 There are really two pretty much entirely distinct code paths going on here, one of htem is only used for fonts, the other is used by both 19:01:31 03hellmonk02 07[evokerstacking] * 0.33-a0-437-gd597c63895: savecompat 10(3 minutes ago, 2 files, 3+ 3-) 13https://github.com/crawl/crawl/commit/d597c6389545 19:01:31 03hellmonk02 07[evokerstacking] * 0.33-a0-438-g8679872f8b: correct comment 10(75 seconds ago, 1 file, 1+ 2-) 13https://github.com/crawl/crawl/commit/8679872f8b50 19:01:46 <09h​ellmonk> if someone could do some testing on this I'd appreciate it 19:06:13 <04d​racoomega> I can probably take a look at it later today 19:10:38 04Build failed for 08evokerstacking @ 8679872f 06https://github.com/crawl/crawl/actions/runs/12625138085 19:15:42 <04d​racoomega> Currently trying to figure out a strange issue where if you're wearing no jewelry, and have armour that is entire melded, pressing R instead brings up the 'take off armour' menu, just like if you'd pressed T instead. >.> 19:16:08 <04d​racoomega> It acts normally if you have any jewelry or no armour at all or any unmelded armour 19:16:16 <04d​racoomega> So weirdly specific 19:18:41 <09g​ammafunk> that CI failure of the header-build-tests is weird; I get the same failure locally 19:19:36 <09g​ammafunk> I'm not familiar with this test but it not seeing the definition of uint64_t seems quite odd 19:20:13 <09g​ammafunk> and I see the same failure with gcc 13.3.0 on my system 19:22:59 are you running ubuntu 24.04? 19:23:50 although, I haven't been seeing build problems on my system which is 24.04 19:24:36 <09g​ammafunk> yes, 24.04 19:24:54 <09g​ammafunk> this is specifically for the header-build-tests target, mind you 19:24:58 <09g​ammafunk> not for the regular build 19:25:21 right, CI started choking on them when github switched ubuntu-latest to 24.04 19:25:32 I haven't tried the header-build tests locally 19:25:54 but I wonder if maybe they would work because I upgraded from 22.04, so I have extra packages 19:26:08 <09g​ammafunk> it's saying we just need to include in an appropriate place 19:26:47 hm, getting a lot of warnings about #pragma once 19:27:37 yeh, just hit it 19:28:31 <09g​ammafunk> yeah, adding two includes for in two headers that gcc recommended did fix the test failure, at least 19:28:51 <09g​ammafunk> but yeah, still tons of warnings about those pragmas 19:29:49 <09g​ammafunk> this is also mildly worring: conduct-type.h:30:5: warning: "TAG_MAJOR_VERSION" is not defined, evaluates to 0 [-Wundef] 19:44:42 New branch created: pull/4210 (11 commits) 13https://github.com/crawl/crawl/pull/4210 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-637-g64f2ed0c76: Use existing enum rather than less discoverable/comprehensible bool at ImageManager layer 10(5 hours ago, 3 files, 5+ 7-) 13https://github.com/crawl/crawl/commit/64f2ed0c76fb 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-638-g3408d8194d: Add option to force mipmapping on or off 10(4 hours ago, 4 files, 26+ 4-) 13https://github.com/crawl/crawl/commit/3408d8194da7 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-639-g4a854c7ccb: Address bad smell with load_texture arguments and understand the two distinct callers 10(2 hours ago, 7 files, 101+ 37-) 13https://github.com/crawl/crawl/commit/4a854c7ccb73 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-640-g07c80f122f: Something is broken... hmmm 10(2 hours ago, 2 files, 18+ 4-) 13https://github.com/crawl/crawl/commit/07c80f122f7b 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-641-g287215702f: Still broken, but in a more fun way. text renders as nonsense instead of not at all now. 10(85 minutes ago, 3 files, 9+ 7-) 13https://github.com/crawl/crawl/commit/287215702f98 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-642-g522a3deda4: Fix mistakes, now everything works like it did before 10(78 minutes ago, 2 files, 8+ 6-) 13https://github.com/crawl/crawl/commit/522a3deda41a 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-643-g2895b1579c: Still works 10(65 minutes ago, 2 files, 19+ 14-) 13https://github.com/crawl/crawl/commit/2895b1579cf1 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-644-gafa92a7971: use a vector and resize instead of reallocating pointlessly all the time. 10(31 minutes ago, 2 files, 10+ 9-) 13https://github.com/crawl/crawl/commit/afa92a7971b9 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-645-gd02760db0c: fix: actually build a block from (0, 0) to (m_max_advance.x, m_max_advance.y) and fix row-ordering 10(9 minutes ago, 1 file, 5+ 5-) 13https://github.com/crawl/crawl/commit/d02760db0cac 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-646-gb619cd7f26: improvement: just make the whole block white, rather than only the max advance? 10(6 minutes ago, 1 file, 1+ 12-) 13https://github.com/crawl/crawl/commit/b619cd7f26c6 19:44:53 03Cgettys02 07https://github.com/crawl/crawl/pull/4210 * 0.33-a0-647-ga28778a398: Remove debug statement 10(82 seconds ago, 1 file, 0+ 2-) 13https://github.com/crawl/crawl/commit/a28778a3985c 19:45:20 Sorry for the slight spam :D 19:45:59 Feedback is welcome. I haven't gotten as far as actually removing the GLU dependency yet, just got as far as actually sort of comprehending what this code does and improving it a little hopefully :D 19:46:33 It sounds like include ordering issues 19:47:24 RE: Yeah 19:48:08 Yeah, conduct-type.h should include tag-version.h explicitly 19:48:57 This may be helpful: https://clang.llvm.org/extra/clang-tidy/checks/misc/header-include-cycle.html 19:56:26 Ok, I can explain what's going on a bit I think 19:56:34 header-build-tests is compiling header files 19:56:48 i assume the goal is to ensure the headers are valid code? 19:57:06 But that causes gcc to get whiny, is probably some way to disabled it 19:57:10 that's the pragma once bit 19:57:19 So that's effectively noise 19:57:30 game-chapter.h:5:5: warning: "TAG_MAJOR_VERSION" is not defined, evaluates to 0 [-Wundef] 19:57:56 These are telling you that your include order is wrong and the main build maybe gets away with it because all headers that includes that header include the other header it needs first 19:58:22 and the cstdint ones are the same basic idea except compilation failures 20:14:17 The hacky solution to the pragma once one is probalby something like this? https://stackoverflow.com/a/21740973 20:14:31 Or -Wno-pragma-once-outside-header 20:16:33 the -W one seems more right given that you're deliberately treating headers as C/C++ files 20:17:21 Except it doesn't seem to actually work on the gcc version I have on24.04 locally... :D 20:19:23 New branch created: pull/4211 (2 commits) 13https://github.com/crawl/crawl/pull/4211 20:19:25 03Cgettys02 07https://github.com/crawl/crawl/pull/4211 * 0.33-a0-647-g4aa29df5c6: fix: missing include 10(9 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/4aa29df5c61d 20:19:25 03Cgettys02 07https://github.com/crawl/crawl/pull/4211 * 0.33-a0-648-gf0162a75a3: fix: pedantic / unnecessary semicolon 10(9 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/f0162a75a3f1 20:19:48 I'm assuming gammafunk already pushed or is about to push the cstdint include addition 20:20:00 If not happy to add another commit to that PR I just published 20:24:02 okay, SO is telling me that -W is clang-only and gcc has no plans to implement it 20:24:21 I swear GCC has some equivalent magic invocation 20:24:58 https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html 20:25:18 -Wno-pragma-once-outside-header 20:25:21 is listed 20:25:32 it just doesn't work on the gcc version in 24.04 it seems 20:26:22 Ah, it's going to make gcc whatever is next, 15 or whatever 20:26:42 whereas Ubuntu 24.04 is running 13.3.0 20:26:44 Of course :) 20:31:54 Clang seems less whiny 20:32:15 of course, ideally CI would compile header-build-tests for both clang and GCC for better coverage :D 20:32:27 make header-build-tests -j15 TILES=y GXX=clang CXXFLAGS='-Wno-pragma-once-outside-header' <- works at surpressing warning on clang 20:34:37 03Cgettys02 07https://github.com/crawl/crawl/pull/4211 * 0.33-a0-649-gabe262dd7c: fix: add missing cstdint includes 10(22 seconds ago, 2 files, 2+ 0-) 13https://github.com/crawl/crawl/commit/abe262dd7c1d 20:37:38 Added a third commit adding the missing cstdint includes too 20:37:38 should be enough to reduce it just down to the pragma once complaint 20:37:38 Unrelated - DracoOmega, any plans for a Staff of Forgecraft? 20:38:02 Also - another dumb question, how does the discord mirroring work for crawl-dev? I don't see a crawl-dev channel on the RogueLike Discord server 20:39:41 <04d​racoomega> There hasn't been a staff of summoning for a lot of years, so forgecraft not having one felt consistent with that 20:41:45 Ah, I hadn't noticed that. Fair, and if it'd throw off balance then not worth it. Is summoning the only other school w/o a staff? 20:41:52 actually I'll just check myself :D 20:43:32 There isn't? STAFF_SUMMONING exists in code, but only for backward compat? 20:43:52 <04d​racoomega> No hexes or translocations, either - the latter of which never existed at any point, to my knowledge 20:44:08 <04d​racoomega> And yeah, it's been removed since 0.26 20:44:43 <04d​racoomega> A lot of enums are kept around for save compat reasons 20:45:05 Yeah, that's not an easy problem 20:45:07 <04d​racoomega> But even wizmode won't let you generate one 20:45:12 either you keep no-op entries around forever 20:45:19 or you need some save upgrade process 20:45:25 (which of course would be 1-way) 20:45:34 Your approach probably is more forgiving to players 20:45:57 (or of course you could just not have save compat, but that'd suck :D) 20:45:59 <03i​mplojin> the dev discord is private because nobody has time to deal with the moderation issues that opening it would bring, conversation here is bridged to the crawl-dev irc channel, invites are occasionally extended to trusted community members on a vibes basis 20:46:09 <04d​racoomega> We do have a save upgrade process, but a lot of item properties are basically stored as an enun index (ie: "What type of staff is this?") so the order needs to stay the same. 20:46:18 Makes sense. I'm too new around here for "vibes" :D 20:46:25 Ah, gotcha 20:46:34 then another approach would be to explicitly number the enum variants 20:47:05 But I'm sure you've thought of that 20:47:13 and it introduces problems w/ rollback and the like 20:47:37 <04d​racoomega> (Basically, if you ever look at a list of enums and see #if TAG_MAJOR_VERSION == 34 that's generally something that is removed but kept around for save compat reasons) 20:47:57 Ah, I had seen that and came across reference 20:47:59 But I got it backwards 20:48:04 <04d​racoomega> The degree to which the tagged things still function varies a lot 20:48:08 I assumed it was to gate new things 20:48:22 <04d​racoomega> A lot of removed species are generally relatively functional. A lot of removed items do nothing. 20:48:25 But that makes more sense 20:48:43 I'm coming at this from a "person who works on databases for a living" background :D 20:48:47 <04d​racoomega> There may or may not be save upgrade code specifically converting some old thing into a new thing (but this is on a case-by-case basis) 20:48:58 Which has a lot of parallels with what you're doing, in some ways 20:49:33 <04d​racoomega> Dummied out monsters generally cease to exist on upgrade, I believe, for instance 20:50:06 <04d​racoomega> But some people have actually deliberately dragged long-removed species forward many versions by keeping their save file around 20:50:08 Except the user data can have any schema they want, so we don't have that problem. On the other hand, we can't really remove features that have any significant usage 20:50:40 But same problem of binary format, compat for years to decades, you know 20:51:06 <04d​racoomega> (We don't generally make any guarantee that truly ancient save files won't end up buggy in some way over the years, but recent ones should almost always upgrade smoothly) 20:51:22 Makes sense 20:51:59 <04d​racoomega> (The amount of save games people actually want to return to after literal years is vanishingly few, after all, and at some point it's fine to say "Your dungeon is just going to be a little wierd) 20:52:08 Another random curiosity question - I see references to C++11 long being supported, but how modern are you guys? I see some constexpr around I think 20:52:50 And, if the answer is at least C++20, would PRs to move enums to being scoped enums be welcome/useful? they have better type safety, but can be slightly annoying to use for indexing (need a static_cast to size_t). 20:53:24 <04d​racoomega> I think we may just be on C++11, actually? (But I'm not really the one to ask) 20:54:03 It lets you write Staff::Wizardry instead of STAFF_WIZARDRY, without having the classic unscoped enum problem of being globally namesapced 20:54:38 Oh, I could have sworn constexpr was C++17, d'oh 20:54:42 parts of it are C++11 20:55:22 consteval is c++20 and you don't have any of that afaik 20:55:43 Ah wait I'm being dumb 20:55:48 STDFLAG = -std=c++11 20:55:52 yeah, C++11 only 20:57:26 off, no optional, variant, tuple, string_view 20:58:30 Might be willing to help modernize if there's interest, but the question is what the oldest compilers you guys want to support is, and I can't make that call obviously 21:00:31 <04d​racoomega> CAO is still running gcc 4.7, I think 21:01:05 <03i​mplojin> yeah, that 21:01:08 Ooof... 21:01:15 that's literally a decade old 21:01:33 <03i​mplojin> we're limited by CAO being ancient and also one of the most active webservers 21:04:37 I'm assuming with enough spare time one could install a newer gcc package side by side, or run a docker container, or something, but that takes work and it's not like anyone is paying to do it 21:06:26 But given that I don't exactly have a server lying around that I can offer to host, who am I to judge 21:08:40 And a docker container would potentialy add some perf overhead that maybe can't be afforded 21:10:57 Another solution would be to not compile on the server itself, assuming dcss is self contained enough 21:11:32 But again, I'm armchair quarterbacking, woul dhave to make every commit to master produce github artifacts and overhaul the webtile code to download said artifacts instead of compiling themselves 21:11:52 I'm assuming that that's what's happening, or what version it's running wouldn't necessarily matter so much 21:12:27 Frankly, I'm amazed that you guys have this compiling for everything from Ubuntu 24.04 back to whatever had gcc 4.7 21:12:46 12.04? 21:23:45 Since we can build AppImage these days, can we ask CAO to run that version? 21:29:20 Question is how far back does AppImage still support, I'd guess 21:30:06 And also teh code to handle running multiple versions of the AppImages side by side, et cetera 21:31:21 I'm not sure how the multiplexing of versions is done, dgame-launch tool? 21:41:44 03regret-index02 07* 0.33-a0-647-gb60e247eb4: Don't generate substantially more amulets than rings (various) 10(59 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/b60e247eb4da 23:35:17 Unstable branch on crawl.develz.org updated to: 0.33-a0-647-gb60e247eb4 (34) 23:57:56 Windows builds of master branch on crawl.develz.org updated to: 0.33-a0-647-gb60e247eb4