00:28:43 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.21-a0-372-gd0ff781 (34) 01:20:40 Unstable branch on crawl.develz.org updated to: 0.21-a0-372-gd0ff781 (34) 02:00:22 Windows builds of master branch on crawl.develz.org updated to: 0.21-a0-372-gd0ff781 02:55:08 Monster database of master branch on crawl.develz.org updated to: 0.21-a0-372-gd0ff781 03:21:29 Unstable branch on crawl.beRotato.org updated to: 0.21-a0-372-gd0ff781 (34) 03:22:33 Is the gold_turn item in tile_layout_priority completely useless? As far as I can see, it increases the HUD height by one line, but I don't see any more text.. 03:39:02 I am under the (possibly mistaken) impression the functionality was removed but the entry was left so as to not completely break people's games through rc file incompatibility 03:42:32 Makes sense; is there any mechanism for warning the user about outdated config? 03:43:41 I'll remove what's left of the functionality and update the options guide then 03:46:00 for unix you get a message which will disappear as the game starts but come back when you exit it. this doesn't work on windows except in console mode because windows console is a bit weird, and it doesn't work at all for servers because the message gets erased too fast 04:00:50 What about using mpr or something like that? 04:04:14 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-369-g045f200: Remove useless visual separator 10(15 hours ago, 1 file, 5+ 13-) 13https://github.com/crawl/crawl/commit/045f20046539 04:04:14 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-370-gf60cf24: Ensure TabbedRegion is given enough height to render tab icons 10(60 minutes ago, 3 files, 14+ 3-) 13https://github.com/crawl/crawl/commit/f60cf2481fea 04:04:14 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-371-g52fd115: Remove dead code, update docs for tile_layout_priority 10(8 minutes ago, 4 files, 4+ 20-) 13https://github.com/crawl/crawl/commit/52fd1154bd01 05:51:33 -!- amalloy is now known as amalloy_ 05:53:46 -!- amalloy_ is now known as amalloy 06:41:45 -!- nosratheno_ is now known as nosratheno 13:23:55 Unstable branch on crawl.akrasiac.org updated to: 0.21-a0-372-gd0ff781 (34) 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-373-g02fdb0d: Add GL render clipping support for local tiles 10(4 days ago, 3 files, 18+ 0-) 13https://github.com/crawl/crawl/commit/02fdb0d27041 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-374-g2fda903: Fix sidebar monster/inv background flicker on resize 10(4 days ago, 4 files, 4+ 23-) 13https://github.com/crawl/crawl/commit/2fda90317f96 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-375-g8a7175e: Fix tiles minimap viewport indicator leaving the sidebar 10(4 days ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/8a7175ed40fd 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-376-g70398a4: Improve layout+spacing of tiles main dungeon view 10(4 days ago, 4 files, 38+ 7-) 13https://github.com/crawl/crawl/commit/70398a4624a6 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-377-g9c746a7: Fix a few tiles rendering glitches 10(2 days ago, 1 file, 24+ 6-) 13https://github.com/crawl/crawl/commit/9c746a7f6e35 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-378-g7b4f9c3: Clean unused code, add assertion 10(29 hours ago, 1 file, 1+ 9-) 13https://github.com/crawl/crawl/commit/7b4f9c3e87f0 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-379-g581a512: Fix menu rendering when window size is reduced 10(2 days ago, 2 files, 28+ 22-) 13https://github.com/crawl/crawl/commit/581a512b3834 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-380-gea4b691: Stop drawing current menu page after a MEL_TITLE entry 10(29 hours ago, 2 files, 19+ 10-) 13https://github.com/crawl/crawl/commit/ea4b691112d8 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-381-g5fb22d6: Remove useless visual separator 10(29 hours ago, 1 file, 5+ 13-) 13https://github.com/crawl/crawl/commit/5fb22d6c1880 17:39:43 03Aidan Holm02 07https://github.com/crawl/crawl/pull/620 * 0.21-a0-382-g1e22c19: Ensure TabbedRegion is given enough height to render tab icons 10(15 hours ago, 3 files, 14+ 3-) 13https://github.com/crawl/crawl/commit/1e22c190e9fb 17:39:43 ... and 4 more commits 17:50:39 commit storm 17:53:04 at least they're committed to it... 17:53:17 groan 18:03:12 Unstable branch on underhound.eu updated to: 0.21-a0-372-gd0ff781 (34) 18:29:22 reasons why hellcrawl is better than vanilla crawl #37: f9a9639 hellmonk New background: Torpor Knight. 18:32:36 reasons why hellcrawl is worse than vanilla crawl #37: f9a9639 hellmonk New background: Torpor Knight. 18:33:15 why have playable torpor knights when you could have playable torpor snails 18:33:18 !lg chequers chei won 18:33:19 No games for chequers (chei won). 18:33:24 gee, I'm not surprised 18:33:44 that's true, use a wand of enslavement on them 18:33:49 too bad you don't get the passive slow 18:36:48 i assume the global winrate for TK is 100% 18:37:03 obv 18:37:40 hrm 18:37:44 !lg . chei / won 18:37:45 2/8 games for gammafunk (chei): N=2/8 (25.00%) 18:37:49 !lg amalloy chei / won 18:37:50 7/15 games for amalloy (chei): N=7/15 (46.67%) 18:37:55 ok, that's good at least 18:38:06 as the only dev who likes chei (and who can win games of crawl) 18:38:08 !lg . s=god/won 18:38:09 65/418 games for amalloy: 7/8x Trog [87.50%], 7/15x Cheibriados [46.67%], 5/19x Okawaru [26.32%], 4/13x Ru [30.77%], 3/5x Gozag [60.00%], 3/4x Jiyva [75.00%], 3/18x Ashenzari [16.67%], 3/19x Lugonu [15.79%], 3/6x Fedhas [50.00%], 3/9x Makhleb [33.33%], 3/7x Zin [42.86%], 3/6x Vehumet [50.00%], 2/15x Qazlal [13.33%], 2/6x Dithmenos [33.33%], 2/2x Hepliaklqana [100.00%], 2/9x Kikubaaqudgha [22.22%],... 18:38:13 at least you represent a decent che winrate 18:38:31 !lg . s=god/won o=% 18:38:32 65/418 games for amalloy: 1/1x Beogh [100.00%], 2/2x Hepliaklqana [100.00%], 7/8x Trog [87.50%], 3/4x Jiyva [75.00%], 3/5x Gozag [60.00%], 3/6x Fedhas [50.00%], 1/2x Uskayaw [50.00%], 3/6x Vehumet [50.00%], 7/15x Cheibriados [46.67%], 3/7x Zin [42.86%], 2/6x Dithmenos [33.33%], 1/3x Pakellas [33.33%], 3/9x Makhleb [33.33%], 4/13x Ru [30.77%], 5/19x Okawaru [26.32%], 2/9x Kikubaaqudgha [22.22%], 1/... 18:38:41 the thing is 18:38:45 !lg amalloy chei s=crace 18:38:46 15 games for amalloy (chei): 3x Octopode, 3x Formicid, 2x Naga, Gargoyle, Deep Elf, Troll, Ghoul, Minotaur, Demonspawn, Vine Stalker 18:39:10 !lg amalloy chei s=crace / won o=% 18:39:11 that's a decent mix, still a lot of races with strong early game 18:39:11 7/15 games for amalloy (chei): 1/1x Vine Stalker [100.00%], 1/1x Deep Elf [100.00%], 1/1x Minotaur [100.00%], 2/3x Formicid [66.67%], 1/2x Naga [50.00%], 1/3x Octopode [33.33%], 0/1x Ghoul [0.00%], 0/1x Troll [0.00%], 0/1x Demonspawn [0.00%], 0/1x Gargoyle [0.00%] 18:39:39 good 0% tr of chei winrate 18:39:46 that was like my second online game 18:39:57 !lg . tr chei 18:39:58 1. hyperamalloy the Brawler (L16 TrVM of Cheibriados), slain by the 27-headed Lernaean hydra (kmap: swamp_old_school) on Swamp:4 on 2015-12-11 02:34:41, with 146402 points after 34494 turns and 2:52:33. 18:40:04 rip, i guess not 18:40:05 it was a hyper account! 18:40:12 i played Tr^Chei offline very early 18:40:20 My first chei game was ghee 18:40:33 and excellent character to teach you how awful chei is 18:40:53 i wonder why i let myself get killed by TLH 18:41:03 lerny deaths are kind of funny that way 18:41:04 i vaguely remember trying to empty some wands into him 18:41:24 !lg * cikiller=the_lernaean_hydra 18:41:26 1958. astranger the Fanfare of Bloodshed (L16 HOSu of Makhleb), slain by the 27-headed Lernaean hydra on Swamp:4 (grunt_swamp_rune_castle) on 2017-10-16 01:26:25, with 99535 points after 31054 turns and 3:36:34. 18:41:28 !lg . cikiller=the_lernaean_hydra 18:41:29 !lg . tr chei -tv 18:41:30 No games for gammafunk (cikiller=the_lernaean_hydra). 18:41:31 1. hyperamalloy, XL16 TrVM, T:34494 requested for FooTV: telnet://termcast.develz.org or http://termcast.develz.org. 18:41:38 oh I guess I haven't died to it save on speedruns 18:42:33 anyhow that change was dumb, because he's also removing AK, which is more interesting than TK (albeit not much more) 18:42:35 wow what awful play 19:39:06 03advil02 07* 0.21-a0-373-gcbc6281: Further tweak restart behavior and options (Zibokwe) 10(18 minutes ago, 12 files, 142+ 69-) 13https://github.com/crawl/crawl/commit/cbc62810bc49 19:39:16 working on game end/restart/startup stuff is a bit unnerving 19:39:38 hopefully I didn't completely screw anything up 19:40:24 hellmonk: good snail knight 19:40:28 hellmonk: release soon? 19:40:35 probably this weekend 19:41:58 😎 19:44:20 03advil02 07* 0.21-a0-374-gaf2b63a: Delete an obsolete comment that I missed 10(25 seconds ago, 1 file, 0+ 2-) 13https://github.com/crawl/crawl/commit/af2b63a13872 19:49:08 <|amethyst> advil: + return ret = ret && Options.restart_after_save; 19:49:43 <|amethyst> why both the "ret =" and the "return" when the next line is "return ret"? 19:49:43 ugh 19:49:43 that's just a typo 19:49:55 I guess it works by accident 19:50:13 hm, maybe leaving should have the same behavior as winning 19:50:13 <|amethyst> could just make that 19:50:38 you're going to do the || thing I had before I bet 19:50:44 <|amethyst> oh, I guess it's ugly ugly isn't it 19:50:59 <|amethyst> ah, maybe not so bad: 19:51:47 <|amethyst> never mind 19:51:51 heh 19:51:52 <|amethyst> it's even uglier with ?: 19:52:07 I thought this read more clearly than the one-line || version, basically 19:53:35 though I have this one bool calculation in there in startup.cc that makes me want to punch myself 19:54:24 <|amethyst> advil: can't you drop the && crawl_state.last_game_exit != GAME_EXIT_ABORT ? 19:54:34 <|amethyst> advil: since that would pass the || 19:55:22 <|amethyst> err, wouldn't pass 19:55:56 ah true 19:56:14 <|amethyst> putting that || into a function might help 19:56:43 <|amethyst> also the ( ) around the last && is unnecessary 19:56:50 <|amethyst> since && is associative 19:57:34 it went through several iterations with various negations & applications of demorgan's law, that's probably what happened there 20:00:15 <|amethyst> also, I'd consider making that an enum class, though that does mean you'd probably want to drop type from the name for conciseness 20:00:38 <|amethyst> enum class game_exit { unknown, won, ... }; then game_exit::unknown when you want to use it 20:01:53 <|amethyst> the main advantage is that it doesn't implicitly convert to integer 20:02:01 <|amethyst> but also less uppercase :) 20:02:14 I did briefly think about that, but didn't do it 20:02:26 <|amethyst> I'm slowly working on converting all the ones where we don't need to do arithmetic 20:02:33 I see 20:02:39 <|amethyst> so I'll get to it eventually if you don't, it just might be a few years :) 20:02:43 heh 20:04:06 btw I discovered one more thing NORETURN does 20:04:41 oh, nevermind 20:05:35 well now i'm curious what you thought 20:05:54 I thought it prevent warnings about fallthroughs, but I think we don't have those on at all 20:05:59 in switches 20:06:13 btw, will anyone be able to look over aidanh's nice Tiles PR? 20:06:27 I'm planning on looking over it, I've already glanced at the first parts 20:06:31 cool, thanks 20:06:40 haven't run any of it 20:06:52 I know...running Tiles feels so...wrong... 20:07:07 and I apparently decided to rewrite how crawl does restarts 20:07:15 nice 20:07:31 I added an option to force a map in mapstat/objstat as an aside when working on wizlab maps 20:07:31 startup is so incredibly complicated in this game 20:07:36 yes 20:08:12 I actually really don't like how crawl always exits you out of the program aggressively 20:08:19 like you can't really get back to the main menu in some situations 20:08:27 I think I fixed a bunch of that! 20:08:30 nice 20:08:42 all the cases where crawl used game_ended to exit out of a menu should now always restart 20:08:54 that'll be great 20:09:00 (except for dgl, and webtiles under certain situations) 20:09:16 quite the opposite of the 90s games dcss is suppose to be inspired by! 20:09:30 no "Are you sure you don't want to kill more demons for Makhleb?" prompt or anything 20:11:18 also I changed the default for restart_after_game to a version of true 20:11:26 where before it was false for console 20:20:45 Unstable branch on crawl.jorgrun.rocks updated to: 0.21-a0-374-gaf2b63a (34) 20:28:24 fwiw i have restart_after_game set to true for online play, but i like it false locally since i mostly just do quick wizmode testing of stuff 20:29:15 does that preserve your webtiles session I wonder 20:29:17 or iterative stuff when i'm changing the source and i want it to be quick to quit out and recompile a new version. obviously the stuff i like doesn't have to be the defaults, just i enjoy offering opinions 20:32:12 does it do anything online? 20:32:15 it shouldn't 20:33:14 both before and after my changes, having DGAMELAUNCH prevents it from being set in the rc 20:33:22 yeah, I think the default should be what players will expect, it's easy enough to override in an rc for us 20:34:27 well, what players will expect if they aren't used to the current quirky defaults 20:45:23 03advil02 07* 0.21-a0-375-g7cd14ec: Various cleanups, including enum classing the game exit type (|amethyst) 10(5 minutes ago, 12 files, 78+ 74-) 13https://github.com/crawl/crawl/commit/7cd14ec42818 21:00:29 advil: doesn't it? i thought online it closed the ssh connection after game end if you didn't specify otherwise 21:00:47 otoh i assume you have tested recently it and know better than i do 21:01:13 maybe that once happened? 21:01:14 if there's a non-dgl server it might do that 21:04:38 aidanh: one picky thing that someone will give you a hard time about sooner or later is the bracketing conventions, which have {} only ever on a line by themselves 21:04:48 [someone such as me, right now :)] 21:05:14 full description here: https://github.com/crawl/crawl/blob/master/crawl-ref/docs/develop/coding_conventions.txt , though that's a bit over-elaborate 21:06:11 amalloy, it umps you to the dgl menu, you only disconnect with 'q' there 21:07:04 but in so doing, it bypasses the game's main menu (which is why the dgl menu duplicates it, multiple times for each game variant and each supported version) 21:10:12 !source command.cc::809 21:10:13 Can't find command.cc::809. 21:10:16 !source command.cc:809 21:10:16 https://github.com/crawl/crawl/blob/master/crawl-ref/source/command.cc#L809 21:10:40 what is supposed to be going on with 'first' there? 21:11:01 (one of aidanh's commits cleans that up but I can't even figure out what the original code is doing) 21:13:24 maybe it ensures that at least one command_type is passed? 21:14:39 advil: i think so, yes 21:14:51 no, it's required for stdarg to work 21:15:24 oh. right. so you know what type the ...s will have? 21:15:30 on some architectures, the only way to reference arguments requires that you be able to refer to the first of them. which is what va_start is doing 21:15:53 no, i guess not that 21:16:22 on x86 va_start doesn;t so anything that couldn;t be done some other way. but there are architectures on which that's the only way to get to *any* of the stdarg/varargs parameters 21:16:54 *do anything 21:17:51 (also yes, in theory you could start that at desc instead, but that forces desc into the varargs part. which is a deoptimization on any platform that allows register passing) 21:18:04 I thought va_start was called with the last non-variable parameter? 21:18:45 how do you index from a register to the stack? 21:19:11 I have no idea I'm just reading some documentation :) 21:19:35 (also, uh, there are platforms where *stack* doesn;t work that way; stack is a relatively recent concept, see algol 60 and how it slipped recursion into the languagew) 21:20:49 on those platforms, varargs has to be done via some kind of descriptor block and you need a pointer to that block, so the parameter used by stdarg to reach that block necessarily resides in that block and not where the fixed parameters go 21:21:38 so yes, you don't necessarily *need* first, but it's cleaner and there are optimization considerations (varargs can be *much* slower than fixed) 21:27:21 hmm 21:27:28 I think the intent here is to ensure that there's at least one argument 21:28:47 if that was the intent, it is flawed. stdarg only *works* if there is at least one varargs parameter 21:29:51 because the anchor point you pass to va_start is itself forced to be varargs 21:30:22 I guess I'm a bit confused, isn't printf a counterexample? 21:30:39 also note printf --- whether there are any actual variable parameters is determined by the content of the format string. you *cannot* determine it by making it the anchor, nor by va_start / va_arg 21:31:22 in these functions it is supposed to be determined by hitting an argument that is a 0 21:31:30 as I already said, the only difference here between using desc vs. using first is whether you take a significant hit by pushing desc into the varargs block 21:31:34 so it always needs one 21:32:02 I know I'm very inexperienced with varargs but what you're saying is just not what the docs for say :) 21:32:08 because using itwith va_start forces it into the varargs block 21:32:35 no, cstdarg gives the viewpoint for a C/C++ programmer's use of it 21:33:00 I'm talking from a low level implementation view, because that is ultimately *why* it works the way it does 21:33:40 cstdarg doesn;t want to do that because doing so would limit implementation choices --- some of which I've mentioned 21:34:11 (and you need those choices because usually it's the cpu architecture that limits how you implement it) 21:34:43 <|amethyst> FR: change that so it doesn't use varargs 21:34:55 <|amethyst> you'd just need to add one set of {}s to the calls 21:34:56 this varargs thing it is doing is definitely bad 21:35:10 if you don't give a 0 somewhere in the sequence, who knows what it'll do 21:35:14 <|amethyst> C varargs is generally bad, yes 21:35:18 memory corruption I assume 21:35:24 <|amethyst> from a type-safety point of view 21:35:39 <|amethyst> probably not memory *corruption* since it just reads from them 21:35:45 <|amethyst> just a crash 21:35:52 ah right 21:36:13 I guess that's why whoever wrote this has a hard cap of 10 varargs 21:38:09 what aidanh noticed is that if the first argument to that function is 0, it still starts collecting varargs 21:38:35 yeh, the usual failure mode here is a call just keeps going until it hit unallocated memory and segfaults 21:38:39 the `first` argument, not the first argument 21:39:08 gotta love argument names like "first" 21:39:16 I guess if "first" is the first argument it's fine 21:40:09 <|amethyst> _add_insert_commands(column_composer &cols, int column, const string &desc, vector cmds, int space_to_colon) 21:40:45 <|amethyst> then you can also combine the two overloads since you can just put the optional space-to-colon number at the end after the list 21:40:55 <|amethyst> I guess there's probably something better than vector<> there 21:41:45 <|amethyst> I guess initializer_list 21:41:47 There's some other differences between those functions that don't make any obvious sense 21:42:21 one calls add_formatted, the other calls something else 21:43:16 <|amethyst> oh wow 21:43:39 <|amethyst> the first one (with the space_to_colon argument) doesn't put the first command onto the vector, but instead adds it last... 21:43:47 yeah 21:44:19 both will have this va bug, which should actually trigger a bunch 21:44:25 how do we even have a working help menu? 21:44:36 <|amethyst> ? 21:44:43 <|amethyst> when do we pass zero as the first command? 21:44:57 _add_insert_commands(cols, 0, " \\|/ \\|/", 0); 21:45:01 for example 21:45:09 <|amethyst> oh wow 21:45:12 <|amethyst> why is that even 21:45:24 ikr 21:45:27 <|amethyst> yeah, that's a potential problem 21:46:13 <|amethyst> it probably happens to work because one of those slots on the stack happens to be zero from the previous call 21:46:19 heh 21:46:36 it's possible aidanh did notice a crash from this, I couldn't tell from the commit message 21:48:42 <|amethyst> oh 21:48:49 <|amethyst> I see why the first argument is different 21:48:59 <|amethyst> that one gets stuck at the very beginning 21:49:06 <|amethyst> subsequent ones get pasted in for %s 21:49:21 <|amethyst> o 21:49:22 <|amethyst> r 21:49:24 <|amethyst> hm 21:50:21 <|amethyst> in the version with the extra argument only... 21:50:53 <|amethyst> that is extremely 21:51:20 <|amethyst> I don't feel like opening twitter, and it's hard to pick out just a few lines anyway 21:51:32 <|amethyst> but I think there's definitely some @crawlcode here 21:51:32 haha 21:51:50 this might be the most @crawlcode thing I've encountered 21:51:55 but yeah, hard to summarize 21:52:31 I think aidanh's fix would allow 0-length argument lists that would start va_args 21:52:45 I might just quick commit a different fix, unless you want to do the vector thing now 21:53:35 <|amethyst> *I* don't want to do the vector thing now, along with all the other refactoring that needs to happen 21:53:40 haha 21:53:42 exactly 21:53:43 <|amethyst> I want *someone* to do that now though :) 21:53:57 is qw available? 21:54:08 maybe elliptic could a code_plan 21:54:09 * geekosaur considers a comment about tech debt 21:54:14 <|amethyst> advil: which commit was that btw? 21:54:18 <|amethyst> advil: aidanh's fix 21:54:25 https://github.com/crawl/crawl/pull/620/commits/fdb80c3ddb85423d69267d13c5b048c359b4117a 21:54:40 that will fix the case I pasted earlier 21:55:09 all this is good, it's going to distract people from any irregularities in my forthcoming --force-map argument 21:55:11 but there's no independent way to know when to stop the varargs, so it would allow a call with none at all and start varargs 21:55:21 <|amethyst> that doesn't fix the other function though, since it does need to treat the first differentl 21:55:26 yeah 21:55:30 I will fix both 21:55:56 <|amethyst> changing it to take a vector is actually not too bad to do right now 21:56:02 <|amethyst> changing both of the functions 21:56:17 <|amethyst> I'm not sure if initializer_list can be used here, but if so that's better than vector 21:56:31 although the 0-length arg thing is actually no different than if the caller just doesn't terminate the sequence in a 0 21:56:59 I wonder if nargs was added at some point because this was crashing 21:57:14 <|amethyst> probably more as a defense against it 21:57:20 <|amethyst> proactively 21:58:10 <|amethyst> hm 21:58:14 whoa til that the help menu has a faq section 21:58:29 <|amethyst> why doesn't insert_commands take its vector by reference I wonder 21:59:56 the FAQ is pretty old 22:00:00 we updated it some time ago 22:01:18 |amethyst: are you doing the vector thing? 22:02:22 <|amethyst> yeah 22:02:47 ok, I won't commit anything 22:03:16 aidanh: this is a very good find, btw 22:06:27 <|amethyst> I'm keeping `first` separate for the version with space_to_colon 22:06:39 that code was so bad, neil couldn't let it continue to exist 22:06:41 <|amethyst> since it works differently and can't be omitted 22:06:58 <|amethyst> I'm tempted to move it ahead of the desc 22:07:06 <|amethyst> since it appears there 22:07:12 <|amethyst> I think I will, actually 22:07:47 hrm, this is not really related, but I wonder if in objstat_generate_stat() 22:07:53 if I really need an exception for Forest 22:08:05 I don't condition on the other branches that still have enum values 22:09:39 I guess it still exists in that live games might transfer with it 22:10:54 ??forest 22:10:54 forest[1/1]: Wood walls are unique to this branch. As the name tells, spriggans keep the verdant rune of Zot here. Don't try to get it unless you are _very_ careful, or you will die in 10 turns. Deprecated branch, no longer appears. 22:10:55 right, I don't do this for blade 22:11:06 which if it's valid to do for forest, it's valid to do for blade 22:11:11 probably I just don't need this condition 22:12:27 I need this iteration thing for somethign else, so I'll just clean it up and move it to a function 22:12:56 huh, just a little bit after the last major tag increase 22:13:13 <|amethyst> oh, is this all duplicated for hints??? 22:13:30 lol 22:13:53 I haven't yet dug into the blame for this file 22:14:24 aidanh really uncovered a rock with some good critters under it 22:15:26 jpeg huh 22:16:00 in 2010 22:16:17 is how long that varargs bug has been there 22:18:51 <|amethyst> well, at least C++11 didn't exist yet 22:20:08 yeah, I'm sure back then this would have been really annoying to do however you're doing it 22:21:08 <|amethyst> hm, in an old version of gcc, when compiling with no optimisation, I get a warning from exit_type_to_string 22:21:56 <|amethyst> because with -O0 it doesn't do enough flow analysis to know that those are all the possibilities 22:22:11 oh, that's annoying 22:22:15 well, I can add the default 22:22:25 <|amethyst> to avoid that, and also for safety in case someone does perversely cast an integer, I'd add return "eggplant"; at the end 22:22:26 this is with the enum class version? 22:22:32 <|amethyst> no, I didn't change that 22:22:42 I switched it to an enum class in a later commit 22:22:48 <|amethyst> I think it's better to have that as an extra return after the switch, rather than a default 22:23:23 <|amethyst> that way you *do* still get the analysis that tells you if you missed a branch, if you're compiling with enough optimisation for it to be able to do that 22:23:31 <|amethyst> s/missed/forgot/ 22:23:36 <|amethyst> hmm 22:24:34 <|amethyst> assuming a return at the end doesn't defeat that... 22:25:19 my compiler will check the switch for a default 22:26:29 <|amethyst> I mean that some compilers (with some options) will check a defaultless switch on an enum, and give you a warning if there's a missing case 22:26:42 yeah, that's what I meant 22:26:51 not sure why I wrote default 22:27:02 <|amethyst> hm 22:27:04 <|amethyst> oh 22:27:10 <|amethyst> I get an error in gcc 22:27:13 <|amethyst> from your changes 22:27:17 <|amethyst> but easy enough to fix 22:27:46 ah so does travis 22:30:05 <|amethyst> oh, wait, I wasn't even building without optimisation; I was using -Og 22:30:45 you are talking about the collision on game_exit in the exception class? 22:30:52 <|amethyst> yeah 22:31:01 <|amethyst> renaming it to exit_reason 22:31:20 <|amethyst> I guess just "reason" would probably be sufficient, but I already committed so nyah 22:31:28 ah ok 22:45:06 hmm did you commit and push? 22:45:19 <|amethyst> no, I didn't push yet 22:45:46 ok...just don't want my compile error hanging around too long :) 22:46:05 only reason travis isn't emailing me all is that one job is hung 22:46:10 *us all 22:54:16 <|amethyst> I kind of want to change this to return a const char * instead, but without messing with TilesFramework::send_exit_reason and write_message_escaped I guess there's no point 22:54:50 <|amethyst> I am going to make it static though, since it's not used outside of end.cc 23:06:59 03|amethyst02 07* 0.21-a0-376-gab89da6: Don't have a member with the same name as its type. 10(38 minutes ago, 2 files, 4+ 4-) 13https://github.com/crawl/crawl/commit/ab89da687e0f 23:06:59 03|amethyst02 07* 0.21-a0-377-g5e037d9: Take an argument by const reference. 10(49 minutes ago, 2 files, 2+ 2-) 13https://github.com/crawl/crawl/commit/5e037d904f15 23:06:59 03|amethyst02 07* 0.21-a0-378-g022a3cd: Fix an _add_insert_commands varargs overrun (aidanh, advil) 10(50 minutes ago, 1 file, 76+ 105-) 13https://github.com/crawl/crawl/commit/022a3cd6c2ec 23:06:59 03|amethyst02 07* 0.21-a0-379-gdf9fdda: Avoid a warning from gcc. 10(19 minutes ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/df9fdda5c3f3 23:06:59 03|amethyst02 07* 0.21-a0-380-gd65dc97: Staticalise a few functions. 10(11 minutes ago, 2 files, 9+ 8-) 13https://github.com/crawl/crawl/commit/d65dc97583ad