00:15:23 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.22-a0-21-g9421e3f (34) 01:13:09 -!- anon is now known as Guest50316 03:17:01 Unstable branch on crawl.beRotato.org updated to: 0.22-a0-21-g9421e3f (34) 04:54:54 -!- FakerFangirl is now known as WindshieldViper 05:23:17 not sure if it's a bug or not but just now i hit a naga, did no damage and killed it. it wasn't poisoned or anything https://underhound.eu/crawl/morgue/myrmidette/myrmidette.txt 05:36:27 -!- amalloy is now known as amalloy_ 05:42:20 -!- amalloy_ is now known as amalloy 05:59:00 muravey: it isn't a bug, the staff of air's extra damage is calculated separately from the regular melee damage 05:59:23 but why didn't i get the 'you electrocute the nage' message 05:59:36 oh 06:03:37 -!- amalloy is now known as amalloy_ 06:03:49 -!- amalloy_ is now known as amalloy 06:04:50 if anyone's here, DBRO's trunk version hasn't been updated in ages 06:05:13 djinn still exist in the game's code in whatever version DBRO runs 06:05:38 (whereas even that got excised more recently) 06:05:39 that's the bug, elemental staves don't show the bonus damage message when it kills the monster 06:40:28 -!- amalloy is now known as amalloy_ 07:16:38 ziggurnaut (L27 BaFi) (Dis:7) 07:37:45 -!- Dracunos_ is now known as Dracunos 08:35:32 03gammafunk02 07* 0.22-a0-22-g34d3fd3: Updated entropy weaver and tormentor tiles (roctavian, #11340) 10(15 minutes ago, 2 files, 0+ 0-) 13https://github.com/crawl/crawl/commit/34d3fd3267ab 08:36:00 The new TSO tile is absolutely horrendous, completely devoid of any aesthetical or comedical value and the justification behind the change is so asininie that words cannot properly describe it 08:36:20 but I know full well who runs this shitshow by now so I guess Ima have to live with it 08:36:35 that's all you can go back outside now 08:38:29 if you are going through with this bullshit then do something about Beogh 08:38:32 or come back to your senses 08:39:19 03gammafunk02 07[stone_soup-0.21] * 0.21-b1-8-g1a75fae: Updated entropy weaver and tormentor tiles (roctavian, #11340) 10(18 minutes ago, 2 files, 0+ 0-) 13https://github.com/crawl/crawl/commit/1a75fae92ed2 08:58:56 who knew people cared so much about tiles 09:01:48 that's not so much caring as it is just trolling 09:02:00 they've been stopping by to troll the dev channel over the last couple weeks 09:04:56 FR: replacing specific tiles in crawlrc, e.g. tile_swap += altar_xom:~/../xom.png 09:05:47 heh, probably wouldn't be all that hard to make work for SDL Tiles 09:07:48 easy enough; the tricky bit is not being able to adjust the number of tile variants at runtime 09:07:57 apart from that it's just blitting some pixels, yeah 09:09:36 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-22-g34d3fd3267 (34) 09:17:08 wrt my UI overhaul, most of the console and sdl refactoring is finished, but webtiles is a little more involved 09:19:21 I'm planning on implementing UI for everything that currently uses the emulated CRT, which means websocket use similar to the menu 09:20:01 e.g. a spellbook UI will send the spell name, desc, list of actions, etc. which is then turned into a HTML UI on the client side 09:20:28 anyone who's worked with the webtiles stuff a bit more see anything glaringly wrong with that approach? 09:20:36 what kind of effect will that have on spectating across the console/UI divide? 09:21:09 webtiles, not "UI" 09:22:04 none; it's independent of the console output 09:23:11 aidanh: will webtiles still use the same react.js approach, or are you planning on changing that as well? 09:23:32 er, sorry, haha 09:23:36 of course, the replacement html will still need to respond to the same keys; this isn't going to remove that bit of coupling 09:23:36 that's webtiles-chances 09:23:45 I meant jquery 09:24:00 and s/chances/changes/ 09:24:19 I was just going to do pretty much whatever is done for menus 09:24:43 ok, just asking since I think the approach used by webtiles is not especially modern 09:25:01 heh, yeah, that's one way of putting it 09:25:03 there is a (now-defunct) webtiles-changes branch started by the original webtiles implementor, edlothiol 09:25:16 which started to move stuff to jsx/react 09:25:33 but he never finished it and has since moved on 09:25:52 but sounds like you're just going to adapt the current codebase to your needs, which is fine 09:26:25 that may be a worthwhile endeavour, but it's probably orthogonal to the improvements I want to make 09:26:56 yeah, I just don't know if better js frameworks exist for doing the things you'd like to do 09:27:05 but probably what we have with jquery is sufficient 09:27:44 glad you're here to work on Tiles stuff in general; we still don't have a javascript guru to help us, but just having you and advil work on UI stuff is a big help 09:27:47 oh that's not an issue; the stuff I'm thinking of is really quite simple 09:28:29 happy to help :) and problems like this are both fun to work on (for me at least) and have a measurable impact 09:35:55 are games reproducible? i.e. can you seed a game and feed it the same keystrokes and have it progress identically? 09:36:55 they're supposed to be 09:37:35 it's possible there are desyncs since i'm not aware of anyone having tested that lately, but if there are those are bugs 10:20:19 The build passed. (stone_soup-0.21 - 1a75fae #9136 : gammafunk): https://travis-ci.org/crawl/crawl/builds/324129359 10:30:25 <|amethyst> that said, you can't reproduce an unseeded game with a seed, since the -seed option only takes a 32-bit argument 10:32:14 <|amethyst> while "unseeded" games get 128 bits of seed from /dev/urandom or CryptGenRandom() 11:07:34 that's a little odd.. wouldn't it make more sense to a) use the same number of bits for both, and b) store the seed in the save file? 11:11:42 <|amethyst> storing the seed in the save file doesn't accomplish much unless you also store the full sequence of commands the player took 11:12:12 <|amethyst> the seed support is mostly there for testing 11:12:38 <|amethyst> so you can run tests with a known seed and reproduce them if you encounter an error 11:12:55 makes sense 11:13:28 <|amethyst> also, any changes to the game would result in desyncs 11:13:42 <|amethyst> so you can only really reproduce with exactly the same version 11:14:05 yeah, that was my next question... rats 11:14:27 <|amethyst> brogue does saves the way you're thinking 11:14:58 <|amethyst> it doesn't actually save the game state at all AFAIK, just the seed and the sequence of player actions 11:15:29 <|amethyst> brogue also doesn't get new versions very frequently 11:15:50 I was thinking half-formed thoughts of a webtiles implementation that ran a copy of crawl client-side for UI responsiveness 11:16:10 <|amethyst> aidanh: there's another problem with that 11:16:13 <|amethyst> aidanh: hidden information 11:16:51 <|amethyst> webtiles currently takes pains not to send the client any information the player wouldn't have 11:17:00 true 11:18:52 ...yeah, that's a tough one 11:19:25 well, I have enough stuff to be doing as it is, so not to worry 11:22:31 <|amethyst> if you ignored the possibility of cheating, you could just have the game entirely local, and upload log entries/morgues/bones to a server 11:23:54 that's what a lot of games do these days 11:24:16 Spectating is a big thing you lose with that approach, along with fidelity of scoring 11:24:27 But only a pretty small fraction of games get spectators 11:25:05 <|amethyst> I was kind of surprised when I played Wayward and discovered it was all client-side javascript 11:25:14 <|amethyst> it's not even hard to cheat, just ctrl-shift-I 11:25:17 I wonder how much it would affect dcss's popularity if we moved to something like that 11:25:24 heh, into developer tools? 11:25:28 <|amethyst> yep 11:25:31 <|amethyst> javascript console 11:25:36 the best kind of wizard mode... 11:25:44 you have to a be a javascript wizard to use it 11:27:00 if webtiles had a lot more functionality it would help 11:27:18 well, I guess things like webtiles playback doesn't require the game to be online 11:27:58 the chat interface is too primitive, but I don't think in-game chat is as important as it once was 11:28:53 we need to implement multiplayer dcss 11:28:57 why don't we collect some webtiles spectator metrics for a bit 11:29:30 I mean, we could, but you can tell by looking at lobby pages during normal usage hours 11:29:45 I think it does vary, for instance CWZ has a bunch of modification to the UI 11:29:53 they have a server-wide chat with a bunch of in-chat functionality 11:30:02 people can talk to other players from their own games 11:30:10 even without moving to the chat window 11:30:22 and send pictures from their current game and whatnot 11:30:47 it's done in pretty hacky ways but it shows how we could have a lot better experience if we had someone working on webtiles, which sadly we don't 11:49:00 crazy anti-cheat proposal: use the key input to permute the RNG, and generate maps / monsters with every player step 11:50:59 completely unworkable of course, and would probably lead to cheaters brute-forcing key combos that drop nice loot 11:51:03 <|amethyst> so turn all of Crawl into the Abyss? :) 11:51:31 hah, perfect 12:14:43 Unstable branch on crawl.akrasiac.org updated to: 0.22-a0-22-g34d3fd3 (34) 12:42:58 -!- amalloy_ is now known as amalloy 13:13:54 03gammafunk02 07* 0.22-a0-23-gce77710: Correct weapon offsets for the wight monster tile (gorglomux) 10(44 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/ce77710a1f0e 13:14:41 03gammafunk02 07[stone_soup-0.21] * 0.21-b1-9-g8067ad7: Correct weapon offsets for the wight monster tile (gorglomux) 10(45 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/8067ad7ce278 14:09:33 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-23-gce77710a1f (34) 15:49:39 03MarvinPA02 07* 0.22-a0-24-g8389209: Adjust messaging for emergency flight 10(3 hours ago, 1 file, 6+ 2-) 13https://github.com/crawl/crawl/commit/8389209ce07a 15:49:39 03MarvinPA02 07* 0.22-a0-25-g9c1766a: Remove Shatter from pan lord spell lists 10(3 hours ago, 1 file, 0+ 1-) 13https://github.com/crawl/crawl/commit/9c1766aa3124 15:49:39 03MarvinPA02 07* 0.22-a0-26-geb5ee87: Fix Lugonu Banish working on out-of-LOS enemies 10(72 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/eb5ee877fdaf 15:49:39 03MarvinPA02 07* 0.22-a0-27-g392ec66: Don't allow firing Draconian breaths out of LOS 10(68 minutes ago, 1 file, 21+ 10-) 13https://github.com/crawl/crawl/commit/392ec66432e2 15:49:39 03MarvinPA02 07* 0.22-a0-28-g083de83: Swap the ranges of Makhleb's Minor/Major destruction (edgefigaro) 10(64 minutes ago, 1 file, 8+ 10-) 13https://github.com/crawl/crawl/commit/083de83b393e 15:49:39 03MarvinPA02 07* 0.22-a0-29-gaaa5eb4: Remove another ability use of LOS_RADIUS 10(60 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/aaa5eb42c709 15:49:39 03MarvinPA02 07* 0.22-a0-30-g37babaa: Make Yredelemnul's Enslave Soul smite-targeted 10(35 minutes ago, 7 files, 26+ 52-) 13https://github.com/crawl/crawl/commit/37babaa309df 15:49:39 03MarvinPA02 07* 0.22-a0-31-g00266d7: More completely remove Delayed Fireball 10(24 minutes ago, 16 files, 5+ 151-) 13https://github.com/crawl/crawl/commit/00266d700076 15:50:11 03MarvinPA02 07[stone_soup-0.21] * 0.21-b1-10-g28fc545: Fix unidentified scarves being targetable by ?enchant armour 10(2 days ago, 1 file, 4+ 0-) 13https://github.com/crawl/crawl/commit/28fc545427ad 15:50:11 03MarvinPA02 07[stone_soup-0.21] * 0.21-b1-11-g33f5817: Adjust messaging for emergency flight 10(3 hours ago, 1 file, 6+ 2-) 13https://github.com/crawl/crawl/commit/33f58173a849 15:50:11 03MarvinPA02 07[stone_soup-0.21] * 0.21-b1-12-g633f79c: Remove Shatter from pan lord spell lists 10(3 hours ago, 1 file, 0+ 1-) 13https://github.com/crawl/crawl/commit/633f79ce96a5 15:50:11 03MarvinPA02 07[stone_soup-0.21] * 0.21-b1-13-g8af71c5: Fix Lugonu Banish working on out-of-LOS enemies 10(73 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/8af71c5d96f3 15:50:11 03MarvinPA02 07[stone_soup-0.21] * 0.21-b1-14-g846aace: Don't allow firing Draconian breaths out of LOS 10(69 minutes ago, 1 file, 21+ 10-) 13https://github.com/crawl/crawl/commit/846aace06a6f 15:53:08 i cherry-picked the shatter change since the damage/flight stuff had also already gone in 15:54:10 also i guess minor destruction still has messed up interactions with LOS now in 0.21, should have separated that out from the gameplay changes really 16:00:50 oh, nice 16:01:12 MarvinPA: mibe mentioned how acid is kind of silly on minor destruction 16:01:20 in that it's much stronger than all the others 16:01:25 I was going to look at that but never did 16:02:05 hm, i noticed that it has halved power compared to everything else already 16:02:31 yeah, I didn't actually look at it to see damage numbers or anything, maybe I can take a look after tourney 16:03:06 better take advantage of the secret tech while we can.... 16:03:19 are you playing this tournament, wheals? 16:03:34 worms mentioned he might be free for a clan 16:03:57 I'm still waiting for the clan invite from elliptic.... 16:04:00 i was planning to 16:04:10 have a clan already? 16:04:25 not yet 16:05:06 I can make a opposite-of-tryhard dev team clan 16:05:37 entry requirements are that you've made a flavorful commit in the last year 16:06:41 not sure I have 16:09:02 %git --author=wheals 16:09:02 07wheals02 * c6e9d756e6c7: Move some relevant information upwards. 10(2 weeks ago, 1 file, 4+ 3-) 13https://github.com/crawl/crawl/commit/c6e9d756e6c7 16:09:14 %git --author=wheals HEAD 16:09:14 Could not find commit --author=wheals HEAD (git returned 129) 16:09:22 only allows one arg 16:09:36 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-31-g00266d7000 (34) 16:10:42 ??cue 16:10:42 cue[1/4]: European Crawl server, located in Amsterdam, Netherlands. http://underhound.eu:8080/ or underhound.eu, port 23, username: terminal, key: http://crawl.develz.org/cao_key http://crawl.develz.org/cao_key.ppk See {putty} for Windows users. Runs 0.10-trunk (DCSS, Zot, Sprint, Tut). Formely known as CLAN. 16:10:46 ??cue[2 16:10:46 cue[2/4]: Hosted and maintained by TZer0 16:11:02 Now the deadliest of games begins 16:11:22 Can I contact all server admins to get the branch installed for tournament? 16:11:27 Tune in this Friday to find out! 16:11:47 0.10 trunk AND zotdef??? 16:11:55 almost too good to be true 16:12:06 maybe that should be our fallback 16:12:16 if branches don't get installed, to a 0.10 + zotdef tournament 16:12:23 s/to/do/ 16:12:41 cue should be ok, tzer0 does know about it and checks irc 16:13:03 I'll go ahead and message him on tavern I guess 16:13:56 oh, tzer0 is a forum admin, did not know this 16:19:43 !tell alexjurkiewicz I sent you a PM on tavern, but in case you see this first, reminder about setting up stone_soup-0.21 on CPO (logfile, milestones file, RC listing + access) before this friday 8pm UTC: http://dobrazupa.org/tournament/0.21/ 16:19:43 gammafunk: OK, I'll let alexjurkiewicz know. 16:20:09 it looks like ability wall jump only takes 1 turn and also lets you keep serpent's lash active indefinitely 16:20:29 oh, that's bad... 16:20:36 advil: ^ 16:22:06 am taking a quick look now in case it's easy to fix, anyway 16:22:52 i think wjc definitely still needs a bunch of work really, but maybe it's close enough to be okay in stable 16:26:12 hm 16:28:46 yeah, I just didn't do anything about this extra stuff in the main loop 16:30:43 the quickest (dumb) fix would be to make did_wall_jump a global variable so it can be set from the ability 16:30:50 though the timing might not work out 16:32:02 advil: fair warning, anyone who introduces a new mutable global is eligible for beheading imo 16:35:23 well advil is a hydra, so... 16:36:31 even better. who could say no to more advil 16:36:42 there's a lot to clean up if you want to actually go after globals 16:37:18 well, of course the obvious "solution" for many of them is to move them into player or something similar, which is not really any better 16:37:49 it's easy to spout "Best Practices" like i was re beheading, but not always so easy to do things right 16:38:10 that solution didn't work, so I guess I don't get beheaded today 16:38:34 yeah, actor/player/monster classes are just not well designed in terms of the whole OO methodology thing 16:38:44 the next most obvious solution is code duplication 16:38:50 not that I understand good OO methodology but I can tell that this isn't the way you do it 16:39:43 good OO design is like the inverse of pornography: you know it when you don't see it 16:43:22 oh no, walljump now tells you to edit your config in the ingame description... 16:44:24 an increasingly bad sign for the ability's design imo 16:44:45 I'd be all for removing the movement based version, but there was some opposition 16:44:57 movement-based version? 16:45:04 oh 16:45:08 nm I see what you mean 16:45:20 removing the movement version sounds very good to me, yeah 16:45:46 or making it not the default (and then I'd be fine with not including that in the help) 16:47:16 I do have a fix for this btw 16:51:32 !messages 16:51:33 (1/1) gammafunk said (1d 10h 44m 57s ago): The stone_soup-0.21 branch is in the repo. Please add 0.21 to CUE before the tournament this Friday 8pm UTC: http://dobrazupa.org/tournament/0.21/ 16:51:45 !tell gammafunk will do tomorrow. 16:51:46 TZer0: OK, I'll let gammafunk know. 16:51:56 TZer0: thanks! 16:51:57 gammafunk: You have 1 message. Use !messages to read it. 16:52:28 !seen Zibudo 16:52:29 I last saw ZiBuDo at Thu Dec 14 03:18:21 2017 UTC (2w 5d 18h 34m 8s ago) quitting, saying 'Ping timeout: 264 seconds'. 16:52:31 ??cjr 16:52:31 cjr[1/2]: https://crawl.jorgrun.rocks:8081/ Hosted in Montreal by Zibudo (admin@jorgrun.rocks) and Gramm. SSH login info: https://crawl.jorgrun.rocks/console.html. 16:53:17 Gramm: You around? I send zibudo an email about setting up 0.21 on cjr; he may just be busy, but not sure if you have the ability to set it up for tournament as well 16:55:49 ugh this code is all so fiddly 16:55:56 still haven't got the timing exactly matched 17:09:31 -!- Tickenest_ is now known as Tickenest 17:13:37 %git 17:13:37 07MarvinPA02 * 0.22-a0-31-g00266d7: More completely remove Delayed Fireball 10(2 hours ago, 16 files, 5+ 151-) 13https://github.com/crawl/crawl/commit/00266d700076 17:13:49 %git stone_soup-0.21 17:13:49 07MarvinPA02 * 0.21-b1-14-g846aace: Don't allow firing Draconian breaths out of LOS 10(3 hours ago, 1 file, 21+ 10-) 13https://github.com/crawl/crawl/commit/846aace06a6f 17:14:07 %git 0.21-b1~1 17:14:07 07gammafunk02 * 0.21-a0-643-g786e97d: Update the changelog through 0.21-a0-642-g5d013b21 10(3 days ago, 1 file, 28+ 2-) 13https://github.com/crawl/crawl/commit/786e97dd3667 17:16:43 re that dfireball change, what happens if someone saves with it active? 17:18:57 geekosaur: https://github.com/crawl/crawl/commit/00266d700076#diff-134a8114de41ab35f33c746461b4b0c3R2726 17:20:09 o.O then why was it left castable? that was the only reason I could think of for it to stick around 17:21:15 i don't understand that question. it is no longer castable 17:22:02 after mpa's change, yes 17:22:30 ...never mind, I don;t think we;'re communicating 17:23:56 before mpa's change, delayed fireball was castable if you already had it memorised, and functioned as normal 17:24:19 after the change, it is no longer castable, and is cancelled immediately if you load a file in which it was already active 17:40:16 03advil02 07* 0.22-a0-32-ga749362: Do post-move things for ability walljump (MarvinPA) 10(68 seconds ago, 6 files, 23+ 6-) 13https://github.com/crawl/crawl/commit/a749362bc302 17:41:08 03advil02 07[stone_soup-0.21] * 0.21-b1-15-gfba53cd: Do post-move things for ability walljump (MarvinPA) 10(2 minutes ago, 6 files, 23+ 6-) 13https://github.com/crawl/crawl/commit/fba53cd78765 17:42:24 I need to check some special cases still but that's enough for now 17:49:24 !source ability.cc:1633 17:49:24 https://github.com/crawl/crawl/blob/master/crawl-ref/source/ability.cc#L1633 17:49:52 why doesn't this switch use tal.food_cost? 17:50:12 s/switch/check 17:50:34 well I guess it would have to get the ability 17:51:11 but that seems fine 17:51:45 advil: even most hungerless abilities can't be used while starving 17:51:56 because...you can't concentrate while starving, or something? it seems silly to me too. just like you can't cast hungerless spells while starving 17:54:29 so that switch is there to list all the abilities that you can use even while starving, i think 18:09:39 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-32-ga749362bc3 (34) 18:18:10 Unstable branch on underhound.eu updated to: 0.22-a0-32-ga749362bc3 (34) 20:35:08 TIL microsoft provides free time-limited pre-packaged VMs of windows 10 for developers 20:38:35 uh has anyone seen/heard of this kind of graphical problem on win10? https://www.dropbox.com/s/nyfpqhdryrxsx5o/Screenshot%202018-01-02%2020.38.14.png?dl=0 20:38:49 yes 20:39:05 I used to get this whenever I ran tiles in a VM on win 8 20:39:11 ah 20:39:25 so it's VM-specific somehow, maybe? 20:39:29 but I recall other people having this problem and them being told it was a driver issue 20:39:33 no, definitely not only VM 20:39:55 but I did notice that it doesn't happen in my win10 VM 20:40:27 most tiles show up as white blocks, not sure what dictates which display and which don't 20:40:56 I recall monsters and walls being white blocks a lot 20:41:08 it never happened in wine for me, but it did in the win8 VM 20:41:13 yeah, seems like it 20:41:19 this is win10 in virtualbox 20:41:42 do you have any of the 3d graphics settings enabled? 20:42:34 actually mine as 2d and 3d accelleration disabled right now, but I don't usually run it that way; think I was testing something 20:42:46 hm, not sure 20:42:52 the numlock bug is not what I thought, it seems that numlock acts as caps lock or something 20:43:05 though it's a bit random 20:44:49 and it happens in console too 20:45:48 it works even to the point of shift+numpad movement disabling the effect 21:06:14 !lg * sp qazlal won ttyrec 21:06:15 No keyword 'ttyrec' 21:06:19 !lg * sp qazlal won -ttyrec 21:06:21 3. Yermak, XL27 SpHu, T:63566: http://crawl.xtahua.com/crawl/ttyrec/Yermak/ 2017-07-23.20:49:58.ttyrec.bz2 2017-07-23.21:34:35.ttyrec.bz2 2017-07-23.23:46:08.ttyrec.bz2 2017-07-24.19:28:05.ttyrec.bz2 2017-07-24.21:33:06.ttyrec.bz2 2017-07-24.22:32:49.ttyrec.bz2 21:07:01 -!- amalloy is now known as amalloy_ 21:22:00 -!- amalloy_ is now known as amalloy 21:51:09 advil: that graphics glitch looks like https://crawl.develz.org/mantis/view.php?id=11004 to me 21:52:27 and the numlock bug happens in console as well? that seems incompatible with an SDL bug 21:52:53 I think a change in SDL made the bug show up, but it has been in console longer (haven't tested that theory though) 21:53:53 and it definitely is a 64bit version of windows in the VM 21:55:21 it's pretty certain that for windows tiles it appeared when SDL was upgraded, there's no other interesting commits in that window (bisected using versions at http://crawl.develz.org/trunk/archive.html, which are built once per day if there are commits) 21:56:47 why would console builds be linked with SDL at all? 21:57:02 they aren't 21:57:30 it's about key message ordering 21:58:26 ah, so there were changes to that bundled with the contrib/sdl upgrade? 21:58:59 it appears that sometimes windows sends shift when numlock is on, I don't know exactly when. If this is right, then previously some combination of our key processing code + sdl suppressed/ignored the shift, and I suspect a change in SDL led to a different order somehow 21:59:13 console probably has had the bug longer 21:59:49 console & tiles have completely separate key processing paths, but the input would be the same for each 22:01:16 no they wouldn't. sdl gets much lower level key events than console 22:01:21 console gets characters 22:01:52 !source getch_ck 22:01:53 1/4. https://github.com/crawl/crawl/blob/master/crawl-ref/source/libgui.cc#L150 22:02:05 !source libw32c.cc:getch_ck 22:02:06 Can't find libw32c.cc:getch_ck. 22:02:21 !source libw32c.cc:772 22:02:22 https://github.com/crawl/crawl/blob/master/crawl-ref/source/libw32c.cc#L772 22:02:52 I'm sure there are characters in there somewhere, but I don't think "console gets characers" really does justice to it 22:03:01 the sdl layer translates window events into a console-like keycode stream 22:04:02 ugh. why. 22:04:30 tempted to say windows deserves the key handling bugs, if it's going to force low level event processing in *all* cases for a game designed for character input 22:05:47 does it do that for console though? that seems inconceivable 22:06:12 for sdl, sure, but that's what the tilesdl and windowmanager-sdl event translation is for 22:06:32 see the code advil linked 22:07:08 for windows console it is receiving keycodes + unicode chars, similar to what sdl receives 22:07:11 and if num lock is being handled wrong in both places, I would blame whatever is trying to munge raw events back into what the rest of crawl expects 22:07:11 oh, so windows console does have richer input events 22:07:35 I'm still not sure because I don't have a good way of doing windows builds, but if the description here is accurate, pressing a numpad key with numlock on could send all sorts of stuff (that example is with shift on as well): https://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/windows-7-cannot-send-shift-numpad-key-to/4f849321-7b65-4881-a80a-ee5dc4a0b5c0?auth=1 22:08:16 yes, I've commented on that here in the past 22:08:36 backward compatibility means that numlock-on sends a crapton of stuff 22:09:05 i'd be surprised if there's one place where that translation happens 22:09:24 (and so my "ugh. why." why would you choose to deal with that when standard input mechanisms handle it all for you?) 22:09:34 the reply from microsoft was helpful there... 22:13:53 !source vk_translate 22:13:54 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/libw32c.cc#L664 22:16:10 // now translate the key. Dammit. This is !@#$(*& garbage. 22:16:21 yeah, lot's of good @crawlcode candidates in there 22:16:35 poor greensnark had fun with all this 22:18:57 is there any way to programmatically disable numpad? 22:19:23 numlock you mean? 22:19:33 doh 22:19:38 yeah 22:19:41 maybe, if you know windows well, but that seems to be fairly tricky 22:20:03 I think ideally we would want to force it off 22:20:15 but I've come up with no good way to do that 22:20:28 also, some users report that the numpad doesn't fully work with numlock off?? 22:20:32 I don't know windows at all, but at least for sdl there's SDL_SetModState() 22:20:33 it seemed fine to me in the VM 22:20:40 that's just internal to SDL 22:20:52 doesn't affect what windows does with numlock, and doesn't affect the numlock light state 22:21:03 right, well that's out then 22:22:51 another question is why (in tiles at least) is the effect not consistent 22:23:26 really I need to build a debug version that just prints every key event 22:24:09 well, are the sdl events consistent? 22:25:05 no idea 22:25:08 to clarify, is the behaviour actually the same in both console and sdl? because from what I've heard it sounds like a windows input bug 22:25:22 I didn't test console very carefully yet 22:25:57 it was consistent as far as I noticed, didn't notice the inconsistencies until I was testing tiles 22:28:56 seems completely consistent in console 22:31:15 as in, the key duplication is happening in ReadConsoleInputW, and not in crawl? 22:42:03 After more testing: in console, numlock consistently acts like capslock (in that it causes shift movement for numpad keys). In tiles, this mostly happens, except occasionally with numlock on, numpad keys still trigger a single regular movement step 22:42:32 the console behavior does indeed predate the tiles behavior 22:43:21 (side-note: the 0.19.1 64 bit build still doesn't render right on my VM, so it's the same symptoms, but maybe a different problem) 22:43:23 that makes sense from the way numlock is emulated. (the keys are in fact sent with a shift) 22:46:04 the console behavior goes back a ways, I just tested it on 0.19.4 and it happens there 23:07:21 helpful: https://stackoverflow.com/questions/24822505/how-to-tell-if-shift-is-pressed-on-numpad-input-with-numlock-on-or-at-least-get 23:38:23 |amethyst, "it's not even hard to cheat, just ctrl-shift-I" 23:38:30 F12 is easier to type 23:44:54 Rast-: depends on your keyboard/OS 23:47:19 -!- Rast- is now known as rast 23:55:36 yeah, move to macos and do an 'intuitive cmd-shift-i' and watch mail.app open annoyingly