IRC logs for #openttd on OFTC at 2018-06-06
⏴ go to previous day
00:07:20 *** berndj-blackout is now known as berndj
01:05:48 *** JacobD88 has joined #openttd
02:53:18 *** rocky1138 has joined #openttd
03:23:11 *** Wolololol has joined #openttd
03:34:13 * LANJesus turns from red to blue
03:44:30 *** Thedarkb-X40 has joined #openttd
04:52:51 *** muffindrake2 has joined #openttd
05:03:35 *** ToffeeYogurtPots_ has joined #openttd
05:05:33 *** ToffeeYogurtPots has quit IRC
06:11:14 *** chomwitt has joined #openttd
08:12:41 *** andythenorth has joined #openttd
08:31:20 *** HeyCitizen has joined #openttd
08:33:29 *** HeyCitizen_ has joined #openttd
09:00:01 <peter1138> hehe, home via pub. 21m moving time, 4 hours total :p
09:00:46 <peter1138> Fortunately I leave work a bit too early to consider stopping at pubs.
09:03:55 *** sla_ro|master has joined #openttd
09:04:14 *** ToBeFree has joined #openttd
09:05:52 <andythenorth> ha ha commits :)
10:05:14 *** andythenorth has joined #openttd
10:16:43 <peter1138> Hmm, Conquest Reforged looks interesting.
10:16:53 <peter1138> Also way too many added blocks.
11:06:02 *** andythenorth has joined #openttd
12:20:44 <LordAro> peter1138: pretty sure that's the fastest PR yet
12:21:45 <andythenorth> is someone data mining stats? o_O
12:21:50 <andythenorth> we could have a league table
12:21:56 <andythenorth> meta-game in the meta-game :P
12:29:05 <peter1138> LordAro, was thinking that :)
12:29:42 <peter1138> LordAro, it was simple enough I didn't need to do any testing... and the CI makes sure it compiles so no worries there.
12:29:45 <andythenorth> patchpack by a good author > cherrypick improvements > stronger core
12:29:58 <andythenorth> stronger core > more better patchpacks
12:30:42 <peter1138> Now it can't be built. What?
12:31:58 <peter1138> "Notifies GitHub of the status of a Pull Request"
12:32:43 <peter1138> I don't think I touched any of that!
12:33:14 <LordAro> looks like it all compiled anyway..
12:33:31 <peter1138> Oh those warnings are there anyway. Hmm.
12:34:10 <LordAro> did you merge before the CI completed?
12:34:22 <LordAro> if the error is it trying to notify on a merged PR
12:34:32 <peter1138> Is that possible? o_O
12:35:46 <peter1138> If it's possible. Hmm.
12:35:59 <peter1138> TrueBrain, i broke it ;(
12:43:27 <peter1138> 11:20 < LordAro> peter1138: pretty sure that's the fastest PR yet
12:43:56 <LordAro> clearly it's MS breaking things
12:44:14 <peter1138> Must be, github isn't even loading for me now.
12:44:18 <peter1138> Maybe I've been permabanned.
12:49:25 <peter1138> "The connection to github.com was interrupted while the page was loading." :)
13:05:28 *** andythenorth has joined #openttd
13:16:05 *** chomwitt has joined #openttd
13:20:07 <peter1138> dbg: [grf] Base music set song missing from CAT file: gm-tto.cat/0
13:23:24 <peter1138> Strava says I'm 1527 miles behind pace :(
13:23:28 <peter1138> Don't think I'll catch that up.
13:25:51 <peter1138> Need more than a week for that.
13:26:09 <LordAro> peter1138: pace compared to what?
13:26:30 <peter1138> This year I did much more MTB riding.
13:26:44 <peter1138> Distance isn't everything :)
13:27:54 <LordAro> i'm on 1.3k miles this year
13:28:04 <LordAro> ehich i'm guessing is a long way behind you :p
13:28:54 <peter1138> Not much, I'm on 1947.
13:29:20 <andythenorth> I reckon I've done at least 100 miles this year
13:31:26 <peter1138> I did 8000 in 2016, but only 6900 in 2017.
13:32:27 <LordAro> my all time is only 6k :p
13:33:35 <LordAro> need to get my bike serviced, i'm just shy of 2k on it, with original tyres & chainset
13:43:21 <peter1138> My road bike did 6000 on just 2 chains.
13:43:40 <andythenorth> mine is probably 2k on original tyres and chain
13:43:56 <peter1138> Parts wear but if they're still working I don't see the point of replacing them.
13:44:07 <andythenorth> tyres are slammed because of cobbles, they have cracks all round
13:45:13 <peter1138> If the tyres are cracked that just means they're old, nothing to do with holes.
13:46:42 <andythenorth> but in our office we liked to blame the cobbles
13:47:11 <LordAro> peter1138: thry're starting to not :p
13:47:43 <LordAro> chain is definitely stretching, hanger is bent, and i can't get the dereileur alignment right anyway
13:47:43 <peter1138> Well, at 2k just a new chain should suffice.
14:40:41 <LordAro> peter1138: you fixed it \o/
14:42:20 <Eddi|zuHause> i technically have a bike i got as a kid in 1991-ish
14:42:36 <Eddi|zuHause> i don't think that is usable
14:47:00 <andythenorth> ^ 1991 ish my boke
14:47:22 <Eddi|zuHause> well, mine was probably a lot cheaper :p
14:47:22 <andythenorth> in retrospect it was crap, but I loved it at the time
14:50:22 <andythenorth> which was also crap, but I didn't know it at the time
15:04:00 <Eddi|zuHause> if i were looking for a new bike, how would i find one that isn't crap?
15:04:35 <Eddi|zuHause> (also, let's keep it below 4 digits)
15:11:54 <peter1138> You'd need to research the frame and components
15:13:12 <LordAro> find nearest cycle shop, go talk to them
15:16:26 <LordAro> peter1138: i'd probably say it's not worth worrying about individual components if your bike is below 4 digits
15:16:41 <LordAro> premature optimisation and all that
15:17:54 <Eddi|zuHause> well, it'd be weird if my bike was more expensive than my car?
15:18:00 *** Thedarkb-X40 has joined #openttd
15:18:33 <peter1138> Eddi|zuHause, not really.
15:19:28 <peter1138> I think my 18 year old car is probably worth less than my MTB.
15:21:26 <Eddi|zuHause> peter1138: it would be way better if they were writing the kernel in modern languages that don't need specs
15:23:15 <peter1138> andythenorth, you know, livery overrides also remove wagon speed limits?
15:24:35 <peter1138> andythenorth, this may not be known and isn't visible in the build vehicle gui.
15:24:47 <andythenorth> what are 'livery overrides'? :P
15:25:01 <peter1138> Very important part of the newgrf spec.
15:25:18 <andythenorth> I never figured out how to use them
15:25:22 <Eddi|zuHause> if you were making a grf 10 years ago...
15:25:24 <andythenorth> they seem super-complicated tbh
15:25:50 <peter1138> if ((rvi_u->railveh_type != RAILVEH_WAGON || _settings_game.vehicle.wagon_speed_limits) && !UsesWagonOverride(u))
15:25:53 <Eddi|zuHause> it's not really complicated
15:26:02 <peter1138> ^ if condition just before checking the wagon speed limit.
15:26:06 <Eddi|zuHause> it's just the quickest hack available
15:26:18 <Eddi|zuHause> before wagons had all sorts of varaction2 capabilities
15:26:19 <peter1138> Heavily used by DBSetXL.
15:26:29 <peter1138> And probably UKRS, etc.
15:26:41 <peter1138> Maybe NARS, I never played that that much to tell though.
15:26:44 <Eddi|zuHause> dbsetxl is now what? 13 years ago?
15:27:19 <peter1138> Just as well we're not Apple, else it would never work.
15:27:56 <Eddi|zuHause> wagon override is how the dbset gets away with just having a 160km/h wagon, but some engines go 200km/h or more
15:48:38 *** Mahjong1 has joined #openttd
16:20:08 *** Alberth has joined #openttd
16:20:08 *** ChanServ sets mode: +o Alberth
16:21:11 *** henry is now known as m3henry
16:22:03 *** TheHawk has joined #openttd
16:31:28 <m3henry> With the move to GitHub, are we any closer to being able to compile C++11/14/17 for all targets?
16:34:48 <Eddi|zuHause> i don't think those things are related
16:34:50 <peter1138> Are the two related?
16:35:10 <m3henry> I was reading through the logs of the past few days
16:35:23 <m3henry> and saw some mentions of CI
16:35:43 <Alberth> how is that related to the programming language you use?
16:36:45 <m3henry> Because I recall the reason C++11 isn't currently accepted to OpenTTD code is that the Build Server isn't up to date
16:37:01 <m3henry> And mentions of CI indicate to me that this may have been replaced
16:37:32 <peter1138> Who says it's not accepted?
16:40:01 <m3henry> I suppose I'm remembering incorrectly then
16:41:55 <m3henry> So pull requests are the preferred method of submission these days I assume?
16:42:58 <LordAro> technically speaking yes, the new compile farm was unrelated to moving to github
16:43:06 <LordAro> in practice, it was done at the same time
17:06:16 <Alberth> I think pull requests are the only accepted form :)
17:06:44 <andythenorth> can the topic include how many PRs open, how many closed last 30 days? o_O
17:07:20 *** TheMask96 has joined #openttd
17:10:33 *** tokai|noir has joined #openttd
17:10:33 *** ChanServ sets mode: +v tokai|noir
17:29:55 <nielsm> I'm constantly weirded out by how clicking "exit" on the main menu somehow triggers a but of extra DLL loads on windows
17:30:42 <nielsm> only really visible after various system files have been updated and the symbol cache for those needs to download new PDB files
17:30:46 <peter1138> dbg: [grf] Base music set song missing from CAT file: gm-tto.cat/0
17:30:52 <peter1138> Is that message necessary every time?
17:32:15 <nielsm> ought to raise that to level 1
17:32:49 <peter1138> Does it need a message?
17:33:39 *** supermop_work has joined #openttd
17:34:34 <peter1138> There's no missing files message from missing graphics or sound basesets.
17:39:58 <nielsm> yeah it shouldn't complain if the CAT file is missing entirely, only if you specify an index into it that doesn't exist
17:40:16 <nielsm> I'll make a fix for that
17:46:04 *** Wormnest has joined #openttd
17:56:11 <peter1138> m3henry, we have commit-message style rules that need to be followed.
18:11:11 <m3henry> Looks like doing a force push updates the pull request
18:11:31 <andythenorth> it's the recommended technique
18:11:56 <nielsm> yep get used to rebasing and force pushing when working on this
18:12:10 <m3henry> I've only ever used git send-email for open source collaborating
18:12:53 <andythenorth> force push is definitely not conventional everywhere :)
18:14:01 <m3henry> I do wish that git pull defaulted to either --no-ff or --rebase rather than merging
18:14:18 <m3henry> I know it can be aliased
18:14:28 *** synchris has joined #openttd
18:14:36 <m3henry> But it's just a pain when I forget to set it up
18:17:06 <m3henry> Yeah I just read that
18:23:34 <nielsm> michi_cc I'm going to need your help with the new dmusic driver :) re. this branch https://github.com/nielsmh/OpenTTD/tree/ttdw-music-fixups - the dmusic driver's preload prevents mostly-smooth looping on the title screen as far as I can tell, the calculated timeout in dmusic.cpp:745 seems to make it just skip past the end-of-song override check
18:28:35 <LordAro> m3henry: pretty sure there some config you can set somewhere...
18:30:37 <m3henry> or pull.rebase = true
18:31:22 <m3henry> I was merely grumbling at poor defaults :3
18:37:54 <andythenorth> waiting for builds to complete :P
18:37:58 <andythenorth> hope I didn't break them
18:40:34 *** Stimrol has joined #openttd
18:43:28 <peter1138> Why does git on Windows do this to me?
18:43:58 <peter1138> git status tells me a file is modified, git diff tells me not.
18:44:45 <LordAro> you've added autocrlf to your config, i hope?
18:51:16 *** m3henry has joined #openttd
18:52:04 <andythenorth> peter1138: something else comes by and touches metadata? o_O
18:52:11 <andythenorth> or you're holding it wrong? o_O
18:52:41 <andythenorth> "hodling it wrong" :P
18:55:30 *** gelignite has joined #openttd
18:55:31 <peter1138> m3henry, hmm, any way to make the helper functions be in a template class that can be used instead of std::vector directly? I wonder if that is more desirable than standalone functions.
18:57:33 <LordAro> template <typename T> class Vector : std::vector<T> {...} sort of thing?
18:58:11 <peter1138> Something like that?
18:58:39 <LordAro> ideally you wouldn't need nearly as many of those helper functions, i think
18:58:43 <peter1138> Seems a bit strange to have these standalone functions. Not very C++ like :-)
18:59:32 <peter1138> I think Find() doesn't need to exist.
18:59:54 <LordAro> mm, i'd have no issues with std::find being scattered throughout the code
18:59:56 <peter1138> Hmm, I see, other stuff uses them.
19:04:18 *** Progman has joined #openttd
19:09:15 <LordAro> or, if (std::find(list->keycodes.begin(), list->keycodes.end(), [keycode, global_only](uint16 k){return k == static_cast<uint16>(keycode | WKC_GLOBAL_HOTKEY) || (!global_only && k == keycode); }) != list->keycodes.end()) { return list->num };
19:09:36 <peter1138> It's a little verbose.
19:10:37 <LordAro> only one pass through each list though
19:12:14 *** sla_ro|master has joined #openttd
19:14:40 * Rubidium wonders is push_back is still copying data
19:16:56 <Alberth> you'd hope compilers would know about that by now
19:17:41 <Rubidium> well, the copying behaviour was AFAIR the whole reason to not go with it, but that might've changed (not sure though)
19:18:47 <Alberth> emplace_back is also c++11
19:23:01 *** Thedarkb has joined #openttd
19:24:40 <m3henry> I was aiming to keep the existing names that SmallVector had, to ease transition
19:27:36 <m3henry> Rubidium: push back() can do copy or a move: Appends the given element value to the end of the container. (1) The new element is initialized as a copy of value. (2) value is moved into the new element.
19:27:57 <Alberth> keeping existing semantics is more valuable than keeping a name, probably
19:29:33 <Alberth> ie Append was needed to get emplace_back behavior before that was standardised
19:30:14 <m3henry> well if plain vector would be preferred, than I could do that instead
19:31:41 <Alberth> eventually you'd end with a plain vector, wouldn't you?
19:32:40 <Alberth> so eventually names are going to change?
19:33:34 <Alberth> what transition is difficult by doing that directly?
19:35:49 *** m3henry-roaming has joined #openttd
19:36:03 <Alberth> did someone write a nice git gui tool yet?
19:36:18 <Alberth> for browsing history mostly
19:36:21 *** m3henry-roaming has quit IRC
19:36:50 <Alberth> thg was good, but all git gui things are crap
19:37:16 <LANJesus> i've had decent luck with the git extension for VS. i've also used sourcetree
19:37:22 *** m3neryroaming has joined #openttd
19:37:33 <Alberth> well, yeah, for linux
19:37:41 <Wolf01> Alberth: let's see if now MS could do something :P
19:38:14 <Alberth> no doubt they can if you use their linux interface at windows? :p
19:39:28 *** qwebirc_m3henry has joined #openttd
19:41:18 *** qwebirc_m3henry has quit IRC
19:43:28 <peter1138> I use gitg for browsing.
19:43:56 <peter1138> Although I preferred older versions as they showed every stash in a simple way too.
19:45:21 <peter1138> Hmm, probably time to go out.
19:45:25 <LANJesus> have you tried smartgit?
19:46:01 <peter1138> There's also github's desktop client.
19:46:26 <peter1138> LANJesus, "purchase"? What is this crazy talk?
19:46:30 <LANJesus> if smartgit sucks, try giteye or gitk
19:55:39 *** andythenorth has joined #openttd
20:03:30 <peter1138> Time to leave, andythenorth's here.
20:03:35 <Alberth> looks that way at least
20:04:00 <Alberth> open wagons with barrels?
20:04:18 <Alberth> at least you can see it loading :)
20:04:19 <andythenorth> I was thinking about Blitz but eh :)
20:05:59 <andythenorth> as addictions go, it's more satisfying than spider solitaire :P
20:08:57 *** frosch123 has joined #openttd
20:11:06 <m3henry> Alberth: I find this good for viewing history: `git log --decorate --oneline --graph --summary -s --all`
20:12:23 <Alberth> m3henry: I have log -20 --graph --pretty=oneline --abbrev-commit --decorate --date=relative
20:13:29 <Alberth> but that doesn't come close to a gui tool
20:14:12 <m3henry> I suppose it comes down to how much time you spend in CLI as to preferences
20:14:30 <Alberth> especially one with search facilities and browsing in files of old versions with blame information
20:15:18 <Alberth> just looking through history to find how a change was introduced is just horrible at command-line
20:15:47 <Alberth> line x of file y is broken, how did that happen?
20:16:10 <Alberth> especially in the context where files were refactored etc
20:16:14 <m3henry> I love using bisect for things like that
20:16:21 <LANJesus> Alberth: i'm guessing the web interface is garbage for that?
20:17:03 <Alberth> all git tools suck, I tried everything with git gui in the package manager
20:17:27 <Alberth> gitg is the least bad, but you can't even search for changes
20:17:50 <andythenorth> and don't try to do anything complicated ever :P
20:17:57 <andythenorth> I rely on bitbucket / github a lot
20:18:02 <Alberth> m3henry: not broken in the sense that you can test it simply
20:18:42 <Alberth> you have to look at the line or the section of code to see what happened
20:19:08 <Alberth> so you need to step back through the change history of that section of code
20:19:32 <Alberth> and skip file/function moves, variable renames, etc
20:25:16 <nielsm> "blame" is generally okay to trace back when something changed? if you know the file and line
20:29:58 <Alberth> yeah, but that repeatedly, and check what line to verify each step, as code may have moved
20:30:17 <Alberth> including to other files :)
20:30:32 <TrueBrain> peter1138: rarely, but sometimes, a job fails for no clear reason
20:30:35 <TrueBrain> seems this was one of them
20:30:56 <Alberth> unlucky throw of the dice
20:32:16 <TrueBrain> and because 2 new commits have been on master, I also cannot retrigger it :D
20:32:36 <Wolf01> I tried to use the client integrated on VS, but it misses something... sometimes it breaks and you need to get the cli to do a reset (the gui seem to not be able to reset --hard successfully)
20:35:05 <Alberth> it's just this advanced search stuff that I need a gui for, I use the command-line for everything else
20:35:18 *** HerzogDeXtEr has joined #openttd
20:36:02 <Alberth> and looking through diffs by clicking is also nice, don't need that often though
20:38:28 <Wolf01> That's shitty enough :(
20:39:16 <Wolf01> I was really used to TortoiseSVN and I thought I would be happy with TortoiseGit.. but no
20:39:45 <Alberth> indeed tortoisegit doesn't come close
20:40:07 <Alberth> ah, the myth that text-files are platform independent :)
20:40:54 <Wolf01> They are, just always use LF
20:41:32 <Wolf01> And don't use notepad, ok, the unfixed one :P
20:41:57 <Alberth> yeah, I switched to wordpad decades ago :)
20:42:46 <Wolf01> My boss is still fighting against the accented chars on the newsletter, he seem to not be able to fix the templates he uses, and I shown him how to do it many times
20:43:20 <Alberth> maybe show him how to save a template :p
20:43:53 <Wolf01> Maybe is the stupid editor he uses which still write or encode in ansi
20:44:07 <andythenorth> doesn't MailChimp take care unicode issues?
20:44:19 <andythenorth> I've never had problems with it
20:46:11 <Wolf01> Nah, we have html files to load on our crm, and that works well if you provide html files which agree between the encoding used to save it and the encoding specified in the html header
20:47:28 <Wolf01> BTW, /me -> python... monty
20:47:38 <nielsm> ahh FINALLY got that theme to loop properly again
20:48:49 <andythenorth> hmm spider solitaire is winning
20:49:00 <andythenorth> even when I undo a lot :P
21:00:41 <Alberth> spider is a difficult game
21:01:14 <Eddi|zuHause> it took me a lot of time to learn it
21:02:39 <andythenorth> if I undo enough, I win
21:07:55 <Eddi|zuHause> why did the "melody of the mouse" just pop up in my head for no reason?
21:16:28 <Eddi|zuHause> not entirely sure how these two are related?
21:18:11 <Eddi|zuHause> well, they're probably around the same age
21:30:41 <Wolf01> No monty python... parents can't read subtitles :|
21:33:23 <Alberth> is that even translatable? I would think translating monty python is less than trivial
21:33:45 <Wolf01> You can get most of the jokes
21:35:12 *** Cthulhux has joined #openttd
21:37:10 <michi_cc> Windows breakage incoming... :p
21:38:31 <LordAro> but how will we know?
21:40:23 <michi_cc> Know what? That it has come in or that it has broken?
21:40:48 <michi_cc> The first by joining #openttd.notice, the second by TB getting nightlies running again.
21:41:01 <LordAro> which is clearly the only way we could know that something is broken
21:42:50 <Wolf01> Meh, I wanted to play cities skylines... I need to download it first :(
21:45:27 <Eddi|zuHause> Alberth: monty python did a show in german
21:46:50 <Eddi|zuHause> also, all the monty python stuff was dubbed into german, as far as i know
21:50:13 <Wolf01> Were dubbed in italian too, but netflix only has original audio with subs
22:16:42 *** Thedarkb has joined #openttd
22:30:30 <m3henry> Gah, emplace_back() doesn't return a reference to the constructed element until C++17
22:47:39 *** Guest4850 has joined #openttd
22:48:39 <m3henry> So I have two approaches to providing same functionality as before
22:50:04 <m3henry> The approach taken previously, having free functions, which does change semantics from member calls, but is more consistent with modern C++
22:50:58 <m3henry> Or having a templated container adapter, which provides the functionality as member functions
22:51:47 <m3henry> <template typename T> struct VectorAdapter : T { ... additional public methods };
22:51:59 <LordAro> personally i'd try to avoid doing anything extra if at all possible
22:52:00 <m3henry> Which would keep current semantics intact
22:52:14 <m3henry> And only require type changes on the most part
22:52:27 <LordAro> requires a bit more "look at what the code is actually doing", but i think it'd make it better overall
22:52:38 <Alberth> in the current implementation you need the reference to fill the value
22:52:50 <Alberth> it may not be used much otherwise
22:53:16 <m3henry> Well you can't find something without the object you want to find in
22:53:25 <m3henry> (or an iterator pair)
22:53:35 <nielsm> are you trying to reinvent boost's intrusive containers?
22:53:54 <Alberth> it's at the end, right?
22:54:26 <Alberth> first entry of the reverse iterator, eg
22:54:30 <LordAro> emplace_back(foo) + .back() ?
22:54:53 <Alberth> but I'd guess you don't need that reference often, if at all
22:54:59 <m3henry> emplace_back() returns void until C++14
22:55:13 <m3henry> it returns T& from C++17
22:55:21 <LordAro> back() returns a reference
22:55:47 <nielsm> I (ab)used SmallVector as a variably-sized buffer in my midifile code, that usage is definitely not suited to be converted to std::vector
22:56:37 <nielsm> or well it _could_ but it'd be awkward
22:56:47 <m3henry> What do you mean though
22:57:05 <LordAro> for the vast majority of uses smallvec -> stdvector is a near one-to-one conversion
22:58:48 <nielsm> really std::string would probably be a better replacement in this particular use
22:59:02 <nielsm> or maybe std::basic_string<byte>
22:59:57 <nielsm> it's chunks of raw byte-stream data
23:02:30 * LordAro notes src/misc/array.hpp
23:02:35 <m3henry> I don't see why a resizable contiguous container is inferior to a resizable contiguous container, std::vector certainly has a better reallocation stregy for expansion
23:02:37 <LordAro> i don't think i've ever seen this before
23:04:18 <m3henry> Looks like a vector of fixed sized blocks
23:09:08 <peter1138> Ooo, software update for my Garmin
23:09:36 <LordAro> peter1138: i'm very close to pressing the "buy" button for a bryton
23:10:20 <peter1138> Do it, it's way nicer than sticking a phone on your bike.
23:16:55 <m3henry> Then the question comes, what to do about case of similar methods
23:17:35 <m3henry> So Adapter::Assign() is provided by std::vector::assign()
23:17:46 <peter1138> LordAro, don't forget your cadence and heart rate monitor for some stats you probably won't ever need but hey, stats!
23:18:17 <m3henry> But would either require a forwarding function, or a code to use the new name of assign()
23:21:18 <m3henry> So avoiding code changes by having member functions wouldn't be avoided if the new name is used
23:22:44 <peter1138> LordAro, I want power meters but they're so expensive :(
23:26:39 <LordAro> peter1138: i pressed the buy button
23:26:48 <LordAro> ...and also bought a bottle of whiskey and 2 CDs
23:26:59 <peter1138> Welcome to the club.
23:27:24 <LordAro> the cycle computer, or the whiskey? :p
23:28:17 <LordAro> (Bryton 530T & Jameson Caskmates Irish whiskey)
23:28:45 *** andythenorth has left #openttd
23:30:36 <peter1138> I'd celebrate with a glass of Glenlivet but it's a school night.
continue to next day ⏵