00:00:08 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.24-a0-487-g57318f2ed0 (34) 00:01:39 Stable (0.23) branch on CRAWL.XTAHUA.COM updated to: 0.23.1-82-g5129a83184 01:00:06 -!- amalloy is now known as amalloy_ 01:18:13 03Gabriel Marks02 07https://github.com/crawl/crawl/pull/1103 * 0.24-a0-489-gfb51188: Add crawl.in_map_mode, crawl.cursor_pos, and crawl.cursor_level clua functions 10(4 minutes ago, 3 files, 56+ 1-) 13https://github.com/crawl/crawl/commit/fb51188a8bc2 01:38:20 Unstable branch on crawl.develz.org updated to: 0.24-a0-487-g57318f2 (34) 02:09:30 Windows builds of master branch on crawl.develz.org updated to: 0.24-a0-487-g57318f2 02:59:24 Monster database of master branch on crawl.develz.org updated to: 0.24-a0-443-g80245de 03:52:35 Fork (bcrawl) on crawl.kelbi.org updated to: 0.23-a0-1993-gf8c367d513 03:53:17 Fork (stoatsoup) on crawl.kelbi.org updated to: 0.21.2-1009-gd0a6e3ae01 04:07:03 is there a function to clamp an integer to be within a range? 04:07:09 eg clamp(xl, 1, 27) 04:40:16 New branch created: pull/1105 (1 commit) 13https://github.com/crawl/crawl/pull/1105 04:40:16 03alexjurkiewicz02 {GitHub} 07https://github.com/crawl/crawl/pull/1105 * 0.24-a0-488-g2c9733a: Document timed_effects / timed_effect_type link 10(3 minutes ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/2c9733a76ca2 08:36:43 alexjurkiewicz: re UI code review, you could try using formatted_string::parse_string() instead of doing all the textcolour() calls 08:39:24 I also noticed you're using set_highlight_pattern() to show the currently selected option; I'd suggest using the method used by e.g. the memorise menu (spl-book.cc) instead 08:41:23 purely for consistency reasons 08:42:27 ah, thanks for reading! 08:46:40 yeah, i was sure there was a more sensible way for the latter 08:46:51 I think I tried formatted_string::parse_string and it didn't work for some reason 08:47:11 possibly the ui control won't accept that format? 08:50:57 given 720adc72dc6 it might make sense to not show levelgen dprfs when actually building the level 08:51:13 though yeah, esc IMO does obviate most dprf spam issues 09:02:17 Why do examine and eXamine coexist? It seems like x is just a more limited version of X with, for some reason, a completely isolated codebase. 09:03:03 and less screen-scrolling shenanigans I guess 09:03:39 they're very different in console 09:07:52 alexjurkiewicz: max(1, min(xl, 27)) 09:08:11 I'm not familiar with console, what's the difference? 09:08:27 X wil open a full screen overview of the map 09:08:29 in console X is full screen 09:08:35 x will just free the cursor too look around 09:09:10 the point maybe should be that X should also be full screen in tiles? 09:09:29 that's not super easy to implement 09:10:55 the full-screenness is also partly to deal with 80x24, it isn't as necessary for tiles because even at default zoom levels / typical resolutions, more of the map is shown in the dungeon area 09:11:55 i see X as a "distraction-free" way of looking at the map 09:12:50 so in console X hides your GUI? 09:13:30 yes 09:14:50 here's the full breakdown -- console: hides both right side hud column and message window; webtiles: hides message window; local tiles: hides neither 09:14:54 https://0x0.st/zL0X.png 09:16:08 also conslole X has different colouring 09:16:39 Why does the webtiles vs local tiles distinction exist 09:17:00 alexjurkiewicz: no worries, sorry for the delay! ui::text accepts any formatted_string, so it should work just fine 09:17:55 gmarks: historical reasons 09:18:11 I'm sure that florian (no longer active) could give a run down 09:18:34 well, I'm not sure that's the full answer 09:18:42 local tiles is implemented in SDL. Webtiles is a reimplementation of the UI in Javascript 09:18:43 they have extremely different implementations and both have a lot of users 09:18:50 yeah 09:19:13 really, webtiles should be thought of (from the pov of the crawl binary) as "json mode" 09:19:15 distinct from console or graphic mode 09:19:26 Webtiles talks to an instance of the game via a websocket 09:19:36 it's a "client" of the game 09:19:49 so for one to not exist would mean dropping one; there's a slightly viable path maybe by wrapping webtiles in an app (which wouldn't have been viable when webtiles was first created), but the sdl interface is probably better as a local interface than doing that would get you 09:19:54 i once started another client using the same api with love2d 09:21:50 re tiles vs console map, in local tiles at a not-super-hires window size, the dungeon area is 20x26, and in console at minimum (normal) terminal size it's 15x15, which is a pretty big difference in how much you can see out of los, which is why tiles X can get away without hiding ui 09:23:17 oh hm I'm counting wrong 09:23:27 it's actually bigger in console 09:24:17 32x17 09:24:48 anyways, that difference is why I added zooming on X 09:24:57 but a larger % of the play area is covered by GUI in console righr 09:25:15 yes 09:26:10 advil, did you ever considered supporting multiple terminals like angband does? 09:26:35 I have not considered that, not sure if anyone ever has 09:27:37 not sure it's worth the work given the proportion of people playing tiles but it'd be kinda nice 09:27:37 Are there any disadvantages, design-wise, of adapting x to use the same functionality as X but adding hide_gui, hide_text,... options to show_map? Although it adds some bulk to the signature, IMO it's better than having two separate codepaths 09:27:45 Given that their functionalities are so similar 09:27:59 I think x uses the targeter code, so it's not its own thing 09:29:18 Oh I see 09:29:26 their functionalities really aren't similar in console, so I'd want to figure out how people actually use them 09:29:37 I do agree that they are overlapping in tiles 09:30:31 one of the complicated constraints of webtiles in particular is that it is effectively running both a console and a gui version at the same time 09:31:02 there are a few servers that only let you access one or the other, but most do both 09:34:02 one of the things that makes that tricky is that there's (understandably) no metrics gathering 09:34:53 anyways 09:34:55 %git a9e2c0f7d0 09:34:55 07advil02 * 0.24-a0-467-ga9e2c0f: Let X be zoomed differently from main map, default to 60% 10(7 days ago, 11 files, 116+ 37-) 13https://github.com/crawl/crawl/commit/a9e2c0f7d088 09:34:59 now they are different 09:35:06 well, more different 09:35:46 it should be possible to do some simplistic analysis of ttyrecs though 09:37:37 hrm, I've never used x on local tiles; mostly because I use X for travelling around, and it centers the view on the currently focused tile, not the player 09:39:34 advil: also, I noticed ctrl - and ctrl = show the -/= prompts as well as zooming (i.e. doll editor and adjust prompt respectively) 09:39:41 that's on local tiles 09:39:48 hm, not on my machine 09:40:31 are you using those keys on the numpad? 09:41:13 I had a bunch of issues like that with numpad keys, I originally tried to bind numpad -,+ like android apparently does, but was hitting that problem 09:41:33 I think all console (and perhaps webtiles? but not sure) users will use x for looking at stuff in los, not X 09:42:20 i get annoyed by the existence of x fwiw, it's pointless in webtiles 09:44:15 nope, just regular numrow keys; i'll try to debug it in a bit 09:45:08 is there any example of an ability with custom fail rate that's not based on invo/evo or xl? I want to create an ability that has a failure rate ased on player hp% 09:45:19 that behavior suggests that (like numpad) it's sending multiple keys on your computer, not sure why it would do that for numrow keys 09:45:37 under what circumstances are ttyrecs generated? are they publicly accessible / listable? 09:45:38 alexjurkiewicz: trog? 09:46:01 all online games are supposed to generate them, you can find them with !lg 09:46:29 !lg . -ttyrec 09:46:32 561. advil, XL27 BaFi, T:96450: https://termcast.shalott.org/ttyrecs/crawl.berotato.org/ttyrec/advil/ 2019-02-09.21:47:54.ttyrec.bz2 2019-02-10.15:05:39.ttyrec.bz2 2019-02-10.16:57:16.ttyrec.bz2 2019-02-10.21:06:06.ttyrec.bz2 2019-02-11.19:54:27.ttyrec.bz2 2019-02-13.01:56:50.ttyrec.bz2 2019-02-13.01:56:57.ttyrec.bz2 2019-02-13.01:57:07.ttyrec.bz2 2019-02-13.01:57:22.ttyrec.bz2 2019-02-13.01:57:32... 09:47:01 ttyrecs must take up a load of server space 09:47:59 yes 09:52:04 thanks 09:57:30 hrm, on second thought, ttyrecs don't store key input; might still be possible to detect x and X screens from the UI though 10:13:05 Something about a ttyrec makes it so that when I cat it my phone starts vibrating uncontrollably 10:13:19 Or maybe that's just my phone 10:30:50 gmarks: re pr 1091, it strikes me that the UI is now inconsistent for branches vs altars 10:32:03 I did see the change from 'use' to 'press', but it's still not ideal 10:48:22 aidanh: not my PR :) 10:48:50 ah, oops :) my bad 10:49:08 aidanh: I suppose you were talking to me regarding PR 1091? 10:49:26 yep 10:50:24 Yeah, I agree it make sense to have a consistent UI 10:50:30 i.e. _ can be pressed only on the overview screen, but G can only be pressed on the main UI 10:51:57 what if altars were an option on the G screen? Similar to how you can do G* to travel to waypoints, maybe G^ to travel to altars? 10:54:10 that could be nice; the overview screen's _ and G could shortcut to the G^ and G prompts respectively 11:05:25 sounds good to me, I will make the change later. 11:10:28 aidanh: should I list known altars before asking the player to input the initial of a god? 11:11:14 I would 11:11:31 All of the G screens list known destinations with initials next to them 11:11:36 for the G^ menu? I'd say make it like the G menu, which lists out all available options 11:12:33 other devs might have an opinion on whether modifying the G prompt in this way is a good idea though 11:17:40 I think the G prompt could use some improvement, I guess I'm not sure that continuing to add to it as a message pane prompt is the way to go 11:17:56 it behaves fairly painfully if it gets long enough to not fit into the message pane 11:18:25 (wizmode `&~` uses that same code) 11:19:21 was just thinking the same thing, perhaps it could be its own pop-up 11:19:29 yeah, I think that could be better; I've looked into doing that before though and it's a biggish project 11:19:32 we could even have little icons for the destinations and altars for the altars 11:20:55 currently there are only two G screens, correct? default and waypoints? 11:21:57 Stable (0.23) branch on underhound.eu updated to: 0.23.1-82-g5129a83184 11:22:45 I'd be hugely in favour of moving G to its own popup, but it's a big project; you'd probably want to maintain the same general layout, so it couldn't use the menu class 11:28:55 also stick-in-themudders will want a non-menu G for console option 11:30:41 doesn't console have menus 11:31:31 Sorry duty calls, I think I'll pause for a while and see how other devs think about this before making further changes. 11:32:35 ebering: what if it's exactly the same UI, but fullscreen instead of in the prompt window? 11:36:06 aidanh: full screen redraws instead of just displaying a prompt in the message window are noticbly heavier when playing console on a far away server; G, just like z or a, can be used by a player who knows what the bindings are and where they want to go without incuring the switch to the menu 11:36:49 we're not 100% consistent but my experience is that console players tend to prefer to not have a fullscreen menu when possible 11:37:12 I haven't chatted with a screen reader player in a while but last I spoke with them I understood that this was especially desireable to them 11:37:31 as they can selectively read the message window instead of needing to read a full screen 11:51:34 I noticed a couple spam bots leaving comments on mantis, with usernames Johan12 and andrewgupta. I could delete the comments myself, but I'm not sure how to delete the accounts (or even if I have the permissions to do so). 12:15:09 what I had considered doing (before looking at the code) was having G do its own popup if it would trigger a more 12:15:31 reaverb: do you have a "manage" tab? 13:20:04 I'd like to request that the vault minmay_gold_behind_fungi be removed, or at least removed from D:9 and earlier. When I made this vault, Zin tithes and Gozag didn't exist; now that they do, vaults that place explicit gold at or before altar depth are exploitable 13:43:27 what exploiting do you have in mind? 13:44:03 gozag join fee is based on what has generated, not what the player has picked up 13:45:13 also I think zin has something that penalizes you for not picking up coins before joining? though tbh I don't know how (or if) that works 13:47:01 hm the zin thing may be exploitable if you recognize the vault out of los 13:47:13 looks like it's tied to whether specific piles have been seen 13:48:18 !next 13:48:18 The RNG decrees that Yermak shall win DDEn next. 13:49:32 sorry 13:53:37 I'm currently seeing something odd but not too important in webtiles: the top-right status panel says I have "nothing quivered" despite the fact that I have large rocks quivered 13:54:00 Pressing f indicates that the rocks are indeed quivered and I can thrown them just fine 13:54:41 The odd behavior is limited to the text near the top right, below the text saying my weapon (claws) 13:56:52 Stop 13:56:53 Read 13:56:54 3% 13:57:01 Put down a lightning spire 13:58:11 Try baiting the thing out of the water and setting up a double zap spire 13:58:21 Wrong channel gmarks? 13:58:35 Yes 13:58:56 Ty 14:00:56 -!- amalloy_ is now known as amalloy 14:15:29 Ah, also, dropping and picking the rocks back up causes them to show as quivered again 14:16:38 Phy you should find the other upstairs and explore it 14:17:18 You should turn fighting back on 14:17:53 sorry again I can't read channel names 14:35:57 03gmarks02 {GitHub} 07https://github.com/crawl/crawl/pull/1102 * 0.24-a0-490-g7b68e71: Change wording 10(5 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/7b68e710c17c 15:06:10 |amethyst: do we have some backport of std::optional? i vaguely recall there being one but i don't know what we would have called it if so 15:07:24 advil: that's what minqmay meant: if you recognise a gold vault before seeing the gold, and plan to go G/Z, you "should" leave the vault alone until you find the altar 15:07:25 that would be nice if we do 15:08:03 (have std::optional) 15:08:03 for gozag that has no impact 15:08:09 i know we have maybe_bool, which is kinda funny 15:08:50 for gozag, when you enter a level, gold is added to the total that determines the join fee 15:14:14 from the devlogs I don't think we do, it's been discussed a few times 15:15:35 is the boost license compatible with gpl? 15:16:11 this looks nice: https://github.com/martinmoene/optional-lite 15:16:30 we should just charge forward into the future 15:16:35 C++17 time is now 15:16:36 ! 15:17:02 I would vote for that platform 15:18:03 c++17 and major version 35 2019 15:18:13 viva la revolucion 15:18:57 I wonder what would be the hangups for c++17, if we can get pyyaml on the servers it can't be too hard 15:19:12 iirc I broke something last year by using a c++17 feature 15:21:24 I like how the further on c++ gets into development, the more it becomes python 15:21:41 %git f098211c9e11aaf 15:21:41 07advil02 * 0.24-a0-41-gf098211: Fix a pre-c++17 compilation issue 10(5 months ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/f098211c9e11 15:21:47 maybe I'm thinking of that 15:22:31 auto typing, easy tuple packing/unpacking, lambdas,... 15:25:11 advil: not sure if it's a problem for cdo or not 15:25:24 re: gcc upgrade, of maybe it's already C++17 15:25:48 would this mean at some point we could retire CrawlVector and the other template classes 15:26:35 hm cdo looks like it has only gcc 4.9.2 15:26:59 the problem with doing anything with CrawlVector etc is that they are fairly integral to the save format 15:27:25 yeah and that's probabl not the biggest 'win' for moving to C++17 anyhow; not like those are that hard to use 15:43:47 any thoughts on hierarchifying the file structure? i'm guessing this has been discussed before 15:44:39 Maxwell's Thermic Engine charges up on firewood; is this intentional? 16:01:35 gmarks: python wasn't really the first language to do any of that. separately, i wouldn't say type inference is at all like python's type ignorance 16:02:19 * Pinkbeast writes down "type ignorance" in his book of insults :-) 16:04:23 we have a hierarchy 16:04:26 its just very flat 17:20:48 03Gabriel Marks02 07https://github.com/crawl/crawl/pull/1103 * 0.24-a0-489-g3faaf65: Add crawl.in_map_mode, crawl.cursor_pos, and crawl.cursor_level clua functions 10(16 hours ago, 3 files, 63+ 4-) 13https://github.com/crawl/crawl/commit/3faaf6581a11 18:12:01 03advil02 07* 0.24-a0-488-g33f6f7b: Arena error improvements 10(3 minutes ago, 3 files, 183+ 91-) 13https://github.com/crawl/crawl/commit/33f6f7b652e4 18:18:38 Unstable branch on crawl.kelbi.org updated to: 0.24-a0-488-g33f6f7b652 (34) 18:23:21 +advil | c++17 and major version 35 2019 <-- yes i already did most of hte latter work for you!1 18:23:32 make fork lives much easier if you can drop old tags 19:42:29 03Gabriel Marks02 07https://github.com/crawl/crawl/pull/1103 * 0.24-a0-489-g49d1542: Add crawl.in_map_mode, crawl.cursor_pos, and crawl.cursor_level clua functions 10(18 hours ago, 4 files, 65+ 4-) 13https://github.com/crawl/crawl/commit/49d15429b91d 19:42:29 03gmarks02 {GitHub} 07https://github.com/crawl/crawl/pull/1103 * 0.24-a0-490-g7d01685: Reword clua comments 10(35 seconds ago, 1 file, 5+ 4-) 13https://github.com/crawl/crawl/commit/7d016850e9be 19:47:47 03Gabriel Marks02 07https://github.com/crawl/crawl/pull/1103 * 0.24-a0-491-g761c278: Unwind original_lid in case of recursive calls 10(14 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/761c27828934 20:33:35 03marksg0702 {amalloy} 07* 0.24-a0-489-g1c7b743: Allow running clua from map viewing mode (#1103) 10(10 seconds ago, 4 files, 73+ 3-) 13https://github.com/crawl/crawl/commit/1c7b743a30f0 20:34:21 hm, did i set up the mailmap wrong? i thought that would show up as gmarks 20:34:42 oh, you committed from a different email address 21:03:25 Unstable branch on crawl.kelbi.org updated to: 0.24-a0-489-g1c7b743a30 (34) 22:01:14 !tell amalloy i believe pr 1102 is ready for merge, btw 22:01:15 gmarks: OK, I'll let amalloy know. 22:11:33 oh, was it unwand_var<> that we'd not need under C++17? 22:11:41 in that STL would have something 23:54:03 COMPILE_CHECK(star_signs.size() == NUM_STAR_SIGNS); gives the error "static_assert expression is not an integral constant expression" I guess because map.size is not constant like ARRAYSZ is. How can I compile check the size of my map? 23:56:15 well it sounds like you have a runtime assert situation anyhow 23:56:23 why is it a compilation check? 23:56:41 the map is a hardcoded list of star_sign_def structs. One per star_sign 23:56:47 static const map star_signs =