00:06:35 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.23-a0-819-g6debee6 (34) 00:07:59 gammafunk, not sure you were here earlier; the cloud gen PR is done/mergable, when someone gets a chance to take a look at it 00:27:52 -!- amalloy is now known as amalloy_ 00:28:45 03alexjurkiewicz02 {ebering} 07* 0.23-a0-820-g86364c1: Revise storm card (minmay, ebering) 10(6 weeks ago, 2 files, 67+ 20-) 13https://github.com/crawl/crawl/commit/86364c1113ef 00:32:02 woo! 00:32:23 Unstable branch on crawl.kelbi.org updated to: 0.23-a0-820-g86364c1113 (34) 00:36:07 why did you prevent explosions over deep water? 00:36:58 I ed 00:37:07 I did? 00:37:25 oh sorry, you didn't, I got confused reading the diff 00:39:55 looks great, thanks for cleaning that up 00:42:24 the vector constructor is "wrong", it passes a fixed size instead of allocating only what we need. ugh 00:43:13 is that change (from my naive single iteration) purely to prevent one square being targeted twice? Or is there another improvement 00:43:55 03ebering02 07* 0.23-a0-821-gecd3555: Don't allocate extra space for a vector 10(19 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/ecd3555ea1a8 00:44:12 it guarantees some explosions in corridors 00:44:26 and does a much better job of placing all 9 when in half-open spaces 00:45:18 AH. so items are only probabilistically added to the candidate list 00:46:13 so the radius iterator is doing a "resivoir search" which is a way to pick an element from a container of unknown size (in this case non-solid LOS_NO_TRANS cells far enough away) without building a separate list 00:46:57 walk the iterator keeping track of your position and your choice, at position i (one-indexed) replace your choice with probability 1/i 00:47:07 Unstable branch on crawl.kelbi.org updated to: 0.23-a0-821-gecd3555ea1 (34) 00:47:28 exercise: prove by induction this produces a uniform distribution 00:48:00 the vector is so that max_explosions such samples can be drawn independently in one pass over the iterator 00:48:01 proof: i remember seeing this algo somewhere else in the codebase done with a more explicit for loop, and it made sense then 00:48:21 proof by crawlcode, a daring technique 00:49:26 oh man, apparently pakellas isn't TAG_MAJOR_VERSIONed out, but now I've gotten halfway through compilation tagging it out as I find references so I might as well finish the job 00:49:37 testing this is such a pita too 00:49:38 rods out 01:04:13 alexjurkiewicz: you might want to post your diff; pak has had a couple passes over it to tag major various things out already 01:05:19 it can be a bit weird seeing what needs a tag or not; sometimes things can just be removed without a tag since no marshalling is involved and the relevant thing wouldn't even exist in a transferred pak game 01:10:44 !lm * pak alive_all alpha !cjr !cszo x=cdist(gid) 01:10:48 1320 milestones for * (pak alive_all alpha !cjr !cszo): cdist(game_key)=62 01:11:07 only 62 pak trunk games online 01:12:02 well like the GOD_PAKELLAS entry in god-type.h is not tagged 01:31:16 !source god-type.c 01:31:17 Can't find god-type.c. 01:31:18 !source god-type. 01:31:19 Can't find god-type. 01:31:20 !source god-type.h 01:31:21 https://github.com/crawl/crawl/blob/master/crawl-ref/source/god-type.h 01:31:25 fourth time is the charm 01:31:48 interesting 01:34:49 I think the only way pakellas is disabled currently is a function in religion.cc called dog_is_disabled or similar 01:36:49 Potion Petition ignores "no potion heal" 13https://crawl.develz.org/mantis/view.php?id=11839 by minmay 01:37:22 that's probably about disability for worship or something? 01:38:04 s/worship/starting worship/ 01:38:30 pak isn't disabled in terms of transfered games not being able to follow him, I think 01:39:28 yeah. That's right. But should be totally removed if TAG_MAJOR_VERSION is 35, I'm assuming 01:39:44 well, unless there's a desire to keep the code around for an impending rework 01:40:29 the enum for god-type? yeah absoutely that that should be TAG_MAJORed 01:40:58 the case in religion.cc:476 should have TAG_MAJOR 01:41:15 the case in religion.cc:558 can be outright removed 01:41:40 since PAK will return true for is_unavailable_god() 01:41:45 s/PAK/pak/ 01:42:06 likewise the similar instance below that in xp_pennance can be removed 01:42:24 those don't need TAG_MAJOR, just removal 01:42:37 hm so you aren't worried about Pak being somewhat broken for existing games? 01:43:08 and I guess religion.cc:657 needs TAG_MAJOR 01:43:38 well, when I tag majored stuff or removed stuff myself, I was careful to leave available what could be reasonable left available 01:43:52 some aspects had to be removed due to other changes I think 01:44:28 if by broken you mean too strong, I don't think that's especially a concern 01:45:05 as far as being broken in terms of being awful for the player, if we prevent the god from being worshiped at all even for current worshipers, well that's pretty awful for players too 01:45:21 we could try something like we did with LO and Dj and try converting them to another god, maybe 01:45:43 heh, what did Dj get converted to? 01:46:06 vine stalkers 01:46:16 -!- muffindrake2 is now known as muffindrake 01:46:36 %git f21519896d4 01:46:36 07advil02 * 0.20-a0-804-gf215198: Convert Djinni to Vine Stalkers on load 10(1 year, 11 months ago, 1 file, 23+ 3-) 13https://github.com/crawl/crawl/commit/f21519896d4b 01:46:50 woah! so recent! 01:57:00 might be good to remove at least device surge, it clutters up every evocable's code 01:59:08 it might be good to just think about doing a god conversion 02:00:02 would have to be to one that didn't have any species restrictions or much in the way of restrictions in general 07:39:53 03argonaut02 {gammafunk} 07* 0.23-a0-822-g7c2441a: The unrand demon trident "Rift" with distortion and extended reach 10(6 days ago, 7 files, 32+ 5-) 13https://github.com/crawl/crawl/commit/7c2441aab438 07:39:53 03gammafunk02 07* 0.23-a0-823-gefd6b3f: Implement reach support for the Rift unrand 10(25 hours ago, 1 file, 53+ 46-) 13https://github.com/crawl/crawl/commit/efd6b3f74fdd 07:39:53 03gammafunk02 07* 0.23-a0-824-g5f40c2e: Fix autofight for reach attacks 10(23 hours ago, 1 file, 6+ 3-) 13https://github.com/crawl/crawl/commit/5f40c2e70b21 07:39:53 03gammafunk02 07* 0.23-a0-825-g8c0a028: Update the description of the Rift unrand 10(22 hours ago, 1 file, 2+ 2-) 13https://github.com/crawl/crawl/commit/8c0a028ee015 08:06:17 Unstable branch on crawl.kelbi.org updated to: 0.23-a0-825-g8c0a028ee0 (34) 08:12:33 03gammafunk02 07* 0.23-a0-826-g52100fa: Generalize a check for reach attacks 10(2 minutes ago, 1 file, 1+ 3-) 13https://github.com/crawl/crawl/commit/52100fa3dcb0 08:17:05 Unstable branch on crawl.kelbi.org updated to: 0.23-a0-826-g52100fa3dc (34) 08:45:52 03gammafunk02 07* 0.23-a0-827-g53669af: Fixes for player doll tiles 10(17 minutes ago, 1 file, 6+ 4-) 13https://github.com/crawl/crawl/commit/53669af72b3b 09:12:52 Unstable branch on crawl.kelbi.org updated to: 0.23-a0-827-g53669af72b (34) 09:17:18 do explore traps work in temple? just got a mark there 09:50:18 03gammafunk02 07* 0.23-a0-828-g036b721: Fix a debug warning message 10(31 minutes ago, 1 file, 3+ 1-) 13https://github.com/crawl/crawl/commit/036b72105028 10:02:12 Unstable branch on crawl.kelbi.org updated to: 0.23-a0-828-g036b721050 (34) 11:43:55 -!- amalloy_ is now known as amalloy 12:02:59 The build was broken. (master - 036b721 #10935 : gammafunk): https://travis-ci.org/crawl/crawl/builds/482925360 12:09:34 lol that stack trace 12:09:35 oops! 12:16:12 !tell gammafunk instead of choosing a god to convert to from pakellas, what about just turning the player into like a super-monk? give them phantom piety equal to their current piety and let them pick their own best-fit god. it'd be a good opportunity to remove special-casing for JOB_MONK past character creating 12:16:13 amalloy: OK, I'll let gammafunk know. 12:22:56 that sounds almost too interesting 12:23:03 what do you mean? 12:23:42 secret pakellas upgrade god switch tech 12:24:26 not that there's a way to instantiate online without an existing char 12:26:26 Unstable branch on crawl.akrasiac.org updated to: 0.23-a0-828-g036b721 (34) 12:31:39 advil: best way to exploit is join the dev team, add an overpowered feature to the game, and park a bunch of characters based on it, waiting for the inevitable nerf 12:32:12 yeah, those LO/Dj investments definitely didn't pay off, maybe this will be the time 12:32:57 anyway if nobody thinks that's a crazy idea i think it'd be a fun way to get rid of the pakellas code and could give it a go myself 12:41:20 the only real abuse would be picking jivya way earlier than you normally could 12:41:27 but is that really abuse or just bad play 12:42:55 i think you misread my proposal. they get phantom piety, and go find an altar. when they convert, it becomes real piety 12:43:00 oh 12:43:40 my concern was more in jest anyway, since if it had been the way i imagined (pick a new god prompt) picking jivya early would just be silly 12:43:59 i like your idea 13:22:20 03Umer Shaikh02 07https://github.com/crawl/crawl/pull/954 * 0.23-a0-821-g7ace422: Unify exit paths from show_terrain view 10(19 hours ago, 1 file, 2+ 17-) 13https://github.com/crawl/crawl/commit/7ace4225c4ac 14:16:27 -!- aidanh_ is now known as aidanh 14:17:20 03amalloy02 07* 0.23-a0-829-ge13c4b7: Remove comment about creating homogenous hash tables 10(6 minutes ago, 1 file, 0+ 4-) 13https://github.com/crawl/crawl/commit/e13c4b7b4147 14:54:37 Unstable branch on crawl.kelbi.org updated to: 0.23-a0-829-ge13c4b7b41 (34) 16:42:53 is it standard practice to rebase working branches on top of master rather than merge? 16:43:52 floraline: i would say rebase is right more often than merge is, but it's largely down to personal taste 17:30:17 rebasing makes git blame and bisect easier 18:00:08 ng-setup.cc:463:5: error: use of undeclared identifier 'shopping_list' 18:00:11 shopping_list.refresh(); 18:00:13 ^ 18:00:26 in my quest to build crawl with TAG_MAJOR_VERSION = 35, this error is stumping me 18:00:39 wait. I figured it out. Thanks ##crawl-dev 18:12:26 rubber duck debugging at its finest? 18:13:36 i think shopping_list was undeclared but i'm not sure 19:10:33 alexjurkiewicz: thanks for embarking on this quest btw. it's a good goal 19:10:47 we should add a travis target for it 19:23:23 sadly that's not trivial, because of dc-items.txt and so on, which have comments like "delete the next two lines once TAG > 34" 19:23:43 you'd need to enhance the format of those files to support compiling current and next tag 19:34:27 yeah, there are a number of non-cc files like that 19:34:34 lua files in particular 19:34:37 and des files 19:36:34 it's possible to add support for a tag major statement to the dc-* files, but maybe we just need to use formatted comments and have a script capable of deleting TAGed sections? 19:36:42 possibly likewise for DES and lua files 19:53:56 yes, i see. it's too bad those files aren't suitable for just running the C preprocessor over 20:00:03 i was thinking maybe we could use m4 as our preprocessor but then it suddenly gets hard to just edit a .des file if you don't have a compilation environment 20:04:33 hey, I did it! crawl compiled with TAG 35 20:04:47 but now a DES compilation errors :D 20:16:23 wow, it really works 20:32:37 -!- amalloy is now known as amalloy_ 20:40:19 JOOI do you expect a bump to 35 or is this just preemptive caution? 21:07:16 -!- amalloy_ is now known as amalloy 21:09:58 we've been talking about doing it soon for ages 21:22:33 what's the benefit? 21:27:37 we can stop having a million awful ifdefs for code almost nobody uses 21:27:53 we can remove all the save-compat code 21:29:14 but isn't the whole point of all of that shit... save compatability? 21:29:26 yes 21:30:03 save compat is great, and after switching to major version 35 we'll start accumulating more save-compat code for minor versions 21:30:14 but it also has a cost, which is a more complicated codebase 21:30:57 the longer we maintain save compat, the worse the code gets. eventually there'll be a point where we cry uncle and say "code from before version X can no longer be loaded in any new versions" 21:40:30 we've taken save compat too far 21:43:31 is it actually in the way 21:44:03 yes 21:44:15 because from a conceptual perspective i totally agree, and don't think it's extremely important, but i also don't see how it's in the way 21:44:17 oh okay, then nevermind 21:45:14 try looking through occurances of getMinorVersion() 21:45:51 and "TAG_MAJOR_VERSION == 34" 21:46:07 there's no going back, we must be able to load saves from Linley Crawl! 21:47:00 I think part of the motivation of such rigorous save compat was less headache for server admins 21:47:11 which admittedly it's done a pretty good job of that 21:47:56 i'm only seeing 1327 TAG_MAJOR_VERSION == 34 21:48:06 A curious use of "only" 21:51:56 https://i.imgur.com/rs1Ks3d.png is there a reason this is done this way 21:52:25 if not, you could probably tidy up quite a bit just by moving all of this code to a single block at the bottom 21:52:30 and hiding it 21:53:00 by "you" i mean "for some reason i actually enjoy this kind of tidying up and would be down to do some of it" 21:54:15 oh, nevermind 21:54:24 i misread the top half of that image, that's not its own function 21:55:17 eh, it still kinda applies 21:55:36 feels like orb spider orbs are way easier to dodge than they used to be 21:56:09 is your character moving faster than normal? 21:56:26 regular formicid so never 21:57:15 twelwe: you've just leveled up, you should change your name to thirween or something 21:57:31 i`m gonna change it to one dozen 21:57:35 yeah, there are a decent amount of functions entirely wrapped in the major version 21:57:38 bakers dozen 22:20:33 also we appear to have over 200 minor versions right now, and save compat can't support more than 256 minor versions without bumping major version so we are going to be forced into it one day whether we like it or not 22:24:08 wait what 22:26:10 if i identify all but one potion, is the last potion automatically identified for me? 22:26:33 floraline: yes 22:28:43 k, stuff is actually above stuff that inherits it and you can't randomly move functions around. so much for that pipe dream 22:29:21 03Umer Shaikh02 {ebering} 07* 0.23-a0-830-g2495da7: Let ESC clear/toggle layers in show_terrain view (amalloy) 10(29 hours ago, 1 file, 15+ 1-) 13https://github.com/crawl/crawl/commit/2495da70caf7 22:29:21 03Umer Shaikh02 {ebering} 07* 0.23-a0-831-g5da158a: Unify exit paths from show_terrain view 10(29 hours ago, 1 file, 2+ 17-) 13https://github.com/crawl/crawl/commit/5da158aa5d78 22:29:34 switch__: there's only one byte allocated for each of major/minor version. and the code that detects whether a save file is compatible needs to work even across major version changes. so we can't change the meaning of those two bytes 22:30:08 switch__: here's a good example of save compat resulting in some gnarly code: https://github.com/crawl/crawl/blob/41f9eeb468ff6e11e5eb2e5ddf2f644b1805da2d/crawl-ref/source/mon-death.cc#L2312 22:30:41 to be fair that particular construction isn't in the main codebase, but i can't see a way to write it cleaner without duplication 22:30:48 i saw some worse stuff just now playing around in tags.cc; there are single-line if-defs with extra parameters to functions 22:31:24 i sort of discount tags.cc because it's specifically for save-compat, you won't go in there normally 22:31:29 malloy, gotcha. that kinda sucks. there's no way to wrap it or something? 22:32:02 But there's also sort of ugly hackery dealing with changing the game while keeping saves working. Especially with how much crawl relies on saving ENUMs as ints rather than some sort of symbolic representation 22:32:22 Unstable branch on crawl.kelbi.org updated to: 0.23-a0-831-g5da158aa5d (34) 22:32:36 i guess 256 is a lot of versions, lol 22:33:03 given you can load a DjDK in Forest and still expect the game to work I'd definitely say save compat has gone too far :D 22:34:07 switch__: we could always change our minds and say it's okay if an older version of crawl doesn't even recognise a newer version's save files, or crashes when it tries to read them, but that doesn't seem like a great plan 22:34:52 doesn't it already basically tell you you're out of luck? 22:34:52 but that's just an even worse way of breaking save compat 22:34:52 yes 22:35:05 but to allow more than 256 minor versions it couldn't even present your older games in the load menu 22:35:18 it would have to not know they exist at all 22:35:46 it would only be newer games from that point on, right? 22:35:49 not older 22:36:49 to be fair i wonder how many people ever open an old crawl with newer saves in the filesystem except devs 22:37:07 wouldn't it only affect older binaries with newer saves? 22:37:07 yeah 22:40:08 New branch created: pull/955 (22 commits) 13https://github.com/crawl/crawl/pull/955 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-822-gd89fe23: Ignore cquery cache 10(1 year ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/d89fe23b7842 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-823-g28d98eb: Tag an old ARM_SCARF 10(1 year ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/28d98eb75ac6 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-824-gff01a48: Fix up unrand compilation 10(1 year ago, 4 files, 17+ 7-) 13https://github.com/crawl/crawl/commit/ff01a48d9b15 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-825-ga294f44: Tag out RING_TELEPORT_CONTROL 10(1 year ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/a294f441fb7c 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-826-gccff2a5: Fix some TAG_MAJOR_VERSION daction oversights 10(1 year ago, 2 files, 6+ 3-) 13https://github.com/crawl/crawl/commit/ccff2a50975e 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-827-g32dbae4: Tag a AF_KLOWN reference 10(1 year ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/32dbae4041b9 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-828-g0605722: Tag an OBJ_RODS reference 10(1 year ago, 1 file, 4+ 1-) 13https://github.com/crawl/crawl/commit/060572262c8a 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-829-g679a188: Add missing Wu Jian altar 10(1 year ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/679a188d6304 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-830-ge1715ed: Add TAG > 34 default return (needs testing) 10(1 year ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/e1715ed59e30 22:40:09 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-831-g5a8e676: Tag a SPWPN_EVASION reference 10(1 year ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/5a8e6762eb53 22:40:09 ... and 12 more commits 22:40:12 oh shit, the PR going upppppp 22:40:31 *vomits blood* 22:41:03 there's an additional branch with changes to text files to actually allow TAG_MAJOR_VERSION = 35 compilation 22:41:47 why didn't you include those in the PR? 22:42:35 oh, because they actually break save compat 22:42:35 because I don't imagine devs want to break save compat immediately. The PR just fixes all current bugs for when they do 22:42:36 i see 22:42:39 yup 22:49:11 lol, the or conditional in the if statement, followed by an if-else for the two statements in the or 22:49:14 why 22:49:24 which file? sounds like half the code i touched 22:50:24 if ((you.get_mutation_level(MUT_NO_ARTIFICE) || player_under_penance(GOD_PAKELLAS))&& item.sub_type != MISC_ZIGGURAT) -> if (mut) {words} else {words} 22:51:05 is that more efficient? i'm not actually sure 22:51:19 i guess it makes sense why it was written that way 22:51:39 amalloy: solution, minor version 255 => real minor version is in a uint64 immediately following :D 22:52:53 brave of you to assume crawl will only require 10e18 revisions to achieve perfection 22:53:02 would you advocate just never bumping major version after that and doing things more in the style of what we did to djinn? 22:53:06 and lava orcs 22:53:18 I actually would rather bump major version 22:53:30 just actually do it more frequently? 22:55:08 my main reasoning is that at this point, any really ancient save will be "playable" but comically broken in all sorts of ways 22:55:33 advil: switching to u64 is an obvious workaround but breaks the chr section format 22:56:05 well 22:56:37 i guess it'd be fine. older versions of crawl won't care which subversions of that are compatible with each other 23:11:22 yo 23:11:38 what if crawl automatically downloaded the correct version from github and compiled it 23:11:57 instead of upgrading the version 23:13:03 multiple version in one binary support when 23:17:15 you've finally solved it 23:21:08 on OSX this would be easy, have crawl 0.22 and 0.23 in a fat binary and tell the user to boot into Classic Mac to play 0.22 23:22:30 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-844-gc2dbd90: Remove a XXX comment (amalloy) 10(5 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/c2dbd90190ac 23:22:30 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/955 * 0.23-a0-845-g3038a0d: Simplify (amalloy) 10(3 minutes ago, 1 file, 2+ 11-) 13https://github.com/crawl/crawl/commit/3038a0d1c591 23:50:58 runewalsh (L16 OpWz) ERROR in 'tags.cc' at line 4370: Invalid item: (quantity: 0) gold piece (D:14)