IRC logs for #openttd on OFTC at 2022-12-21
β΄ go to previous day
00:07:56 <JGR> Not everyone thinks in the same way
00:08:21 <JGR> You need to make allowances for some people
00:08:28 <LordAro> i'm not quite sure what's being complained about
00:08:33 <LordAro> at least one of them seems like a bug?
00:09:16 <petern> Zorg's is fine, just the assumption that something is deliberately worse is annoying.
00:10:03 <petern> And of course I don't care about the other guy, shame about the clutter though.
00:11:09 <glx[d]> funny no AI/GS managed to trigger it sooner
00:11:22 <LordAro> glx[d]: worth adding to regression?
00:12:24 <glx[d]> good idea, let's touch regression π
00:22:34 *** Wormnest has quit IRC (Quit: Leaving)
00:28:15 <petern> Oh right, we do have an OpenGL sprite rendering system. For the mouse cursor π
00:29:42 <LordAro> petern: so what do you reckon is the issue oz is having? (while continuing to not care about oz himself)
00:30:08 <petern> A self-entitled hissy fit?
00:32:44 <JGR> I'll survive, don't worry about that π
00:37:26 *** sla_ro|master has quit IRC ()
00:38:20 <glx[d]> of course 122 files to recompile as the fix is in a header
00:44:58 <glx[d]> 1: 9298: - BuildVehicle(): 1048575
00:44:58 <glx[d]> 1: 9298: + Assertion failed: tile < MapSize(), file D:\developpement\GitHub\glx22\OpenTTD\src\tile_map.h, line 98'
00:45:11 <glx[d]> regression seems to trigger fine
00:46:03 <petern> 1.75x looks a bit shit, frankly ;D
00:46:28 <petern> (I already had the variable font scale patch,
00:48:34 *** ChanServ changes topic to "12.2 | Website: *.openttd.org (source: github, translator: translator, server list: servers, wiki: wiki) | Don't ask to ask, just ask | 'Latest' is not a valid version, 'Most recent' neither | English only"
00:48:41 <glx[d]> if only it was easier to configure TTF
00:48:57 <glx[d]> but as we are multi OS
00:50:26 <glx[d]> a first step could be just a text input to manually enter font name
00:50:49 <JGR> The distribution of users across platforms is not a particularly uniform one
00:52:46 <JGR> Implementing something nice for the "main platform" would probably be of more net benefit than something very basic on every platform
00:53:23 <glx[d]> very basic would still be helpful for other platforms
00:55:03 <petern> There was a patch years ago...
00:55:29 <glx[d]> and very basic with a button to call the OS font picker if available could also work
00:55:31 <JGR> At least on Windows, I'm sure that there's a standard font picker window/widget, if memory serves
00:56:45 <glx[d]> I remember the patch, it was implementing a font picker inside openttd
01:05:00 <petern> Or just ship Liberation fonts as default π
01:46:12 <glx[d]> /me likes the reopen icon
01:47:15 <glx[d]> stupid bots overloading /me
03:00:39 <TallTyler> petern: Oops all cursor
03:49:04 *** debdog has quit IRC (Ping timeout: 480 seconds)
05:03:47 *** Extrems` has joined #openttd
05:04:06 *** Extrems has quit IRC (Remote host closed the connection)
05:04:06 *** Extrems` is now known as Extrems
06:21:09 *** D-HUND is now known as debdog
07:17:18 <petern> Maybe I should work on the font size sliders after all ..
07:27:53 *** sla_ro|master has joined #openttd
08:37:29 * andythenorth wonders if variants will work with the split buy menu in JGRPP.... :P
09:26:56 <LordAro> "i use ttdlx graphics"
09:27:15 <LordAro> looks very like ogfx to me
09:27:28 <andythenorth> hmm we need an XKCD
09:27:33 <LordAro> not that that should stop them testing regardless
09:27:49 <andythenorth> the 'workflow' one is only half the story, and is really about esoteric corner cases
09:28:21 <andythenorth> /me not talking about ttdlx graphics π
09:28:51 <andythenorth> -> no progress -> parts of user base get restive + lack of contributors
09:29:17 <andythenorth> -> progress -> inevitably some things break -> parts of user base get all angry about stability -> drama demotivates contributors
09:29:36 <petern> It's TTD but without gridlines.
09:30:03 <andythenorth> we need more gridlines, not fewer π
09:30:44 <petern> I'm not sure what it has to do with anything though π
09:31:13 <andythenorth> can always ask, Rob is in the discord
09:31:23 <andythenorth> /me drawing mail vans
09:32:50 <andythenorth> I guess these generic swooshes are just a template in the vinyl printing software at this point
09:33:18 <andythenorth> prefer the Orion one, more swooshy
09:43:12 <andythenorth> no Eddi anywhere? or 'no"Eddi, don't do that"
09:53:04 <wyndbain> andythenorth: high speed and its a 319
09:53:25 <wyndbain> no is that the weird diesel one?
09:54:33 <andythenorth> it's possibly tri-mode, not sure
10:12:10 <petern> andythenorth: The latter
10:14:38 <petern> Hmm, so do we end up with 2 ways to get road stop graphics?
10:15:34 <andythenorth> 2 is better than 1
10:18:59 <reldred> petern: Hmm? I mean mine are only on GitHub for the moment. Iβd imagine if it gets implemented in OpenTTD proper that JGR would backport it, and then the JGR grfβs (all NML I believe) just need a recompile.
10:21:51 <andythenorth> there's a different PR for base set roadstop sprites
10:26:10 <andythenorth> I could do better fancy bits, but eh
10:28:33 <Pruple> being able to change base set graphics is "better" than newroadstops imo, from a grf author's point of view at least. and I don't think they conflict
10:29:06 <Pruple> for similar reasons it would be nice to be able to get rid of/replace the default train station
10:30:11 <Pruple> newroadstops requires the cooperation of the player, roadtype-specific road stops do not π
10:30:55 <petern> I like your prototype artwork π
10:32:09 <petern> It is test-case perfect, unlike "test-cases" in the past which have been "guess which engine the author was talking about" and guess which is the correct different sprite it's meant to be drawing from the very similar one it is drawing instead.
10:35:55 <andythenorth> I blame branches and PRs
10:43:54 <reldred> Pruple: Agreed. NRT changes the base sprites, new road stops provides *additional*
10:44:08 <reldred> I donβt see anything wrong with this
10:45:16 <reldred> An NRT set author may then decide to add all of their alternate road stops as newroadstops as well,
10:45:30 <andythenorth> 4 more mail van variants to draw π
10:45:57 <reldred> In rail we already have different default stations for rail and maglev
10:46:17 <reldred> So itβs not too far outside the existing game norms
10:46:48 <Pruple> no. and like I said, different rail/road/tramtypes can already have different depot graphics π
10:51:08 <kamnet> Ooh, if we get NewRoadStops implemented, could we do NewDepots next? π
10:52:31 <andythenorth> I'm not -1 to NewDepots, but what's the appeal? π
10:53:02 <TallTyler> Multi-tile depots would be much improved by NewDepots, but weβre not quite there yet on those
10:53:28 <reldred> Multitile depots π©
10:53:48 <TallTyler> Weβre waiting on the author now
10:53:57 <TallTyler> I reviewed it and there are things to fix
10:54:05 <reldred> I got a pay rise at work, who do I have to bribe to fix it up and merge it
10:55:06 <andythenorth> "money don't matter tonight"
10:55:08 <TallTyler> Original author maybe? I also want it so no bribe needed for review and eventual approval π
10:55:10 <kamnet> andythenorth: Some authors make really questionable choices about what depots should look like, so it woould be niccee to just pik what graphic style you like for the depot.
10:55:32 <andythenorth> I don't use railtypes etc so eh
10:55:45 <andythenorth> in my small world
10:55:58 <kamnet> And maybe I want a "unified" depot with different rail/bust/truck depots but I want them all to look like the same building
10:56:49 <reldred> That reminds me I was going to do train stations with matching sprites to fridaemons warehouses I coded as road stops
10:57:00 <reldred> Should learn NML stations at some point eh?
10:57:04 <kamnet> It's probably a 1% issue, but it feels like it might not be a difficult thing to given the advancements devs are making
10:57:20 <TallTyler> Giving players the ability to override NewGRF author choices means very little if youβre also the NewGRF author π
10:57:29 <andythenorth> the big grey one is bad
10:57:53 <kamnet> Really? That one immediately jumped out at me as being preferrable to my style
10:57:57 <reldred> Lies, theyβre all beautiful in their own special way
10:58:46 <TallTyler> The big grey one would tile nicely
11:03:23 <kamnet> And having a depot with matching objects would effectively eliminate the beautiful nightmare of using object overlays in weird ways, like with Supermop's Modular Locomotive Sheds
11:05:13 <kamnet> Heck, with creative use of depots, objects, waypoints and station graphics, you could make some interesting curved depots. π
11:05:32 <andythenorth> I deliberately drew depots as untilable
11:05:46 <andythenorth> not to prevent it, but because they look better with the gap around
11:05:58 <andythenorth> if they fill the whole tile it's kind of ugly
11:06:12 <reldred> Yes yes we all know you like your 1 tile overflow depots, smdh
11:06:29 <reldred> <- believes in tiling depot supremacy
11:06:48 <andythenorth> curious if there's a way to do both
11:07:37 <kamnet> andythenorth: Two track types - regular ballast with untiled depots, and wide/full-tile ballast with full-tile depots. π
11:07:58 <kamnet> Something to make everybody angry!
11:08:02 <andythenorth> these would make adequate depot sprites
11:08:12 <andythenorth> they tile, but there are half-tile versions
11:08:22 <andythenorth> and they only tile in one direction, not 2
11:08:45 <andythenorth> solid mass buildings look bad in TTD
11:09:20 <kamnet> Andy is just trying to preserve our culture and heritage.
11:09:51 *** nielsm has quit IRC (Ping timeout: 480 seconds)
11:10:08 <reldred> Tbh lengthways tiling with width ways not tiling is OK, Iβd like some visual element to span the width somewhere, a bit like overpasses on stations do
11:10:49 *** Flygon_ has joined #openttd
11:11:03 <andythenorth> 2 more mail vans to draw
11:12:08 *** Flygon has quit IRC (Ping timeout: 480 seconds)
11:12:55 <andythenorth> clearly we needed 4 liveries for every mail railcar
11:26:36 <andythenorth> I mean....so many other things I could do
11:26:41 <andythenorth> draw unfinished FIRS industries
11:40:08 <petern> We have unleashed a beat
11:48:15 <andythenorth> the beat goes on
11:51:07 <petern> Hmm, wonder if I should try cycling tonight.
11:51:15 <petern> Might've forgotten how to.
12:10:41 <kamnet> So am I. I've been awake 3 hours now, and I sacrificed my health for a York Peppermint Patty that spiked my blood sugar purty good
12:12:25 <andythenorth> so should I release new Horse? π
12:17:19 <petern> `$@%="04513773264"` What a statement.
12:20:16 <petern> Floating point maths on a 6502 is not fast π
12:24:44 <andythenorth> new 2050 screen for OpenTTD
12:26:46 <andythenorth> I guess Horse now has a lot of new bugs
12:32:46 <petern> Slightly incompatible I guess
12:48:25 <petern> Hmm, I should fix this viewport zooming bug I guess.
12:49:55 <petern> It's actually caused by the hi-dpi change that preceeded variable interface scaling, but scaling makes it much easier to trigger.
13:01:06 <LordAro> petern: valid perl i think
13:01:45 <petern> Almost anything is, but that's BBC BASIC π
13:19:43 <andythenorth> still got the virus
13:21:32 <kamnet> The OpenTTD virus? Yeah that's for life
13:25:52 <andythenorth> the other virus π
13:31:44 <andythenorth> hmmm....forcing variant order in buy menu to match spritesheet order
13:31:50 <andythenorth> when I change my mind about order π
13:32:06 <andythenorth> time for a mapping π
13:33:19 <petern> It should still be sorted.
13:34:05 <petern> Although it's sorted by the parent initially
13:34:06 <andythenorth> it is, this is Horse side things π
13:34:32 <andythenorth> discord needs a special font colour for 'grf problems'
14:38:52 <wyndbain> what's the new server command to download all avalible newgrf's
14:39:37 <wyndbain> i could just be a brainlet however i canno't find it anywhere
14:41:30 *** sla_ro|master has quit IRC ()
14:43:23 <dP> it was removed to stop people from downloading all the junk and increasing hosting costs for the content server
14:43:29 <dP> just pick what you actually need
14:44:13 <wyndbain> the main issue i'm having is the server not detecting files downloaded
14:44:32 *** WormnestAndroid has quit IRC (Remote host closed the connection)
14:44:38 <LordAro> are they a few specific files? there's an open issue about that somewhere
14:45:37 <dP> content select takes the id that content state shows, not grfid
14:45:44 <dP> and, yes, it's very confusing
14:46:11 <petern> Hmm, how I can make the ini file support floats?
14:47:01 <petern> Download by GRFID might be useful tho
14:47:24 <petern> Probably reasons for it not to be there
14:47:26 <wyndbain> so what command would i need?
14:47:45 <wyndbain> there is another issue
14:48:11 <dP> `content state <some_part_of_grf_name>`
14:48:11 <dP> `content select <whatever_id_that_shown>`
14:48:16 <dP> at least that's how I do it
14:48:44 <dP> also content update before that and content download to download it
14:49:12 <wyndbain> the other issue i was having was the server not detecting installed files even tho they were in the directory
14:50:10 <wyndbain> so that file i showed *swedish houses as objects* wasnt being detected by the server even though it was in the directory
14:50:24 <wyndbain> this was installed on my own pc and it worked
14:50:52 <dP> well, afict, it's either wrong directory or you didn't restart the server
14:52:32 <dP> petern: maybe because grfid is the same for all versions
14:55:46 <wyndbain> I'm still thinking there is an issue here but i'll check rq
14:59:48 <andythenorth> these units all look too similar in buy menu π
15:00:41 <andythenorth> fortunately this can be...
15:00:59 <andythenorth> snowplough variants though?
15:01:52 <petern> how will you prevent the snowplough from being flipped?
15:02:10 <andythenorth> I am sure there are solutions π
15:02:28 <andythenorth> I wish I understood one line graphics drawing
15:02:37 <andythenorth> it's just advanced Logo, yes?
15:02:43 <andythenorth> go 1, turn 3, go 10
15:03:52 *** supermop_toil_ has joined #openttd
15:03:55 <andythenorth> oh an artefact π
15:05:35 <petern> Yes, I think because it switches to MODE 4 via VDU commands, so BASIC doesn't know.
15:06:24 <petern> It's not really line graphics drawing.
15:06:52 *** supermop_toil has quit IRC (Ping timeout: 480 seconds)
15:07:00 <petern> It's defined two text characters, one \ and / (but filling the whole 8x8 area) and then the looping is randomly printing either one forever.
15:08:23 <petern> It's a neat effect though
15:08:52 <petern> Which patched OpenTTD client has the extra window decorations?
15:10:21 <petern> It added a vague texture to the bottom of all windows.
15:12:01 <petern> So I guess Android, but they tried getting to into vanilla π
15:12:12 <TallTyler> andythenorth: Serious question, since units arenβt your thing and you drew them as coaches with cabs, what about adopting Gwydβs unit sprites to differentiate some eras better?
15:12:54 <andythenorth> coaches with cabs is pretty much the winning state
15:12:59 <TallTyler> And snowplows should be flippable so you can put one backwards on the rear of the train (maybe thatβs a North American thing). Leave it to the player to not put the front one backwards. π
15:13:37 <TallTyler> Coaches with cabs have so much less character than your other engine sprites, but obviously up to you π
15:13:40 <andythenorth> snowploughs sort themselves out
15:14:15 <petern> With 10262 you can flip them π
15:14:35 <andythenorth> not sure what I did there
15:14:40 <andythenorth> I guess they just handle flip
15:15:25 <petern> The family and the fishing net?
15:15:58 <petern> Cue bug reports "it shouldn't be allowed"
15:16:42 <TallTyler> Players always want freedom to do whatever they want except when they want more rules to keep them from doing whatever they want
15:17:59 <TallTyler> We need a patch that lets players write their own rules for themselves and connects to a shock collar via Bluetooth for when they break a rule they set
15:18:17 <TallTyler> Better than doing it in-game because nobody will ever agree about how to enforce rules
15:18:45 <petern> I solved "floats" by using strings π
15:21:44 <dP> TallTyler: that's one of few things gs can probably do xD
15:21:49 <dP> just needs bluetooth patch
15:22:31 <Gwyd> TallTyler: A lot of mine are coaches with cabs lol
15:22:54 *** WormnestAndroid has joined #openttd
15:22:58 <Gwyd> I fear this variants business will break my compatibility with horse again so I might not try keep up any more
15:23:56 <andythenorth> I can't think of a quick way you could detect engine IDs for variants
15:24:03 <andythenorth> except if the actual Horse compile is used
15:24:32 <andythenorth> standardised scheme
15:24:36 <petern> scrap variants, being engine labels.
15:24:55 <andythenorth> can't remember if var 61 can read props of another vehicle? or just vars?
15:24:58 * andythenorth assumes just vars
15:25:23 <andythenorth> reading the engine group might be a thing
15:25:35 <petern> Doesn't appear to be limited.
15:26:30 <petern> ``` if (parameter == 0x5F) {
15:26:30 <petern> /* This seems to be the only variable that makes sense to access via var 61, but is not handled by VehicleGetVariable */
15:26:30 <petern> return (u->random_bits << 8) | u->waiting_triggers;
15:26:30 <petern> return VehicleGetVariable(u, object, parameter, GetRegister(0x10E), available);
15:30:11 <andythenorth> no I have nothing to add π
15:30:22 <andythenorth> lack of a variant group var has zero effect on me, not sure about others
15:30:34 <andythenorth> I guess they can ask
15:31:17 <petern> Problem is you have to test for engine ID and variant group.
15:38:39 <petern> When you allow font sizes to be changed in-game and use a giant small font π
15:43:49 <Gwyd> petern: Tbf I already do a rather complex test for reversedness of a vehicle
15:44:28 <JustANortherner> TallTyler: But but.... units are just coaches with cabs
15:45:41 <Gwyd> There are degrees of coach with cab
15:46:19 <Gwyd> At one end of the scale you get 307s and 411s while at the other you get 700s and 801s
15:49:52 <JustANortherner> What about the 153 level of coach with cab?
15:50:07 <JustANortherner> Where there isn't actually room for one cab and they still add one anyway
15:54:47 <andythenorth> does it even have a seat?
16:01:15 *** Flygon__ has joined #openttd
16:08:36 *** Flygon_ has quit IRC (Ping timeout: 480 seconds)
17:19:37 *** gelignite has joined #openttd
17:21:29 <petern> Yes of course `std::stof` throws exceptions :/
17:22:21 <petern> We use `std::stoi` elsewhere and it looks like that is protected by `std::regex`.
17:42:52 <LordAro> any particular reason to avoid exceptions?
17:50:56 <petern> Means I need to handle it π
18:02:27 *** wallabra has quit IRC (Ping timeout: 480 seconds)
18:10:01 *** wallabra has joined #openttd
18:13:19 *** Flygon__ has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
18:19:54 *** sla_ro|master has joined #openttd
18:25:42 <andythenorth> docs aren't finding the correct rows in spritesheet π
20:37:59 <petern> Hmm, I wonder if I need to shop.
20:56:03 *** Wormnest has joined #openttd
21:11:13 *** gelignite has quit IRC (Quit: Stay safe!)
21:25:29 <petern> Much of OpenTTD's GUI assumes the text is rendered at the top of the, so 10273 makes Windows truetype rendering match. But it's... different, and feels cramped. And probably doesn't match the others.
21:31:36 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:33:52 <petern> Well I can't play Take Five. Nor Linus & Lucy.
21:34:57 <petern> Hmm, FS_SMALL is odd to handle because it's normally 6 pixels high, but has no descender, and also has a 1 pixel gap at the top.
21:36:55 <petern> Adding 1 scaled pixel seems to help. But I notice that otmAscent is aligned with the top of the capital J there. The lowercase k and b rise above it.
21:38:31 <petern> Might be some other metrics which help.
22:08:21 <LordAro> sounds like using new metric but adding some amount to the line height might be a solution?
22:08:54 <LordAro> that said, fonts must have a "line height" measurement somewhere? css line-height is relative to something...
22:18:45 <andythenorth> black is possibly biased against python ternaries π
22:18:54 <andythenorth> it makes a readable one-line structure completely nonsense
22:19:07 <andythenorth> and tends to imply 'replace this with if/else
22:19:42 <petern> LordAro, yeah, that's basically what we have always used.
22:20:04 <petern> Although it's always been a bit wonky for us.
22:24:15 <petern> I've got a gui to set font size π
22:24:37 <petern> Needs the options window to be split into tabs tho
22:25:00 <petern> Saves needing to slap a gui in for 13
22:25:14 <glx[d]> for now the command only prints (but it accepts an arg)
22:25:36 <andythenorth> tabs would help prevent the options window running off the bottom of the screen π
22:26:07 <andythenorth> so would scroll alternatively π
22:26:37 <petern> Or just limit interface scale to an appropriate value somehow
22:26:37 <andythenorth> we don't talk about 'options' vs. 'settings', right?
22:26:51 <petern> I did think with tabs you could put settings on as a tab
22:26:53 <andythenorth> yes, limit the interface to only what you know will fit, always
22:26:57 <petern> But the colours are are different.
22:26:57 <andythenorth> for all my screens
22:27:12 <andythenorth> for variable amounts of content
22:27:24 <andythenorth> my moron tolerance has nosedived again π
22:27:29 <andythenorth> some days I love people, all people
22:28:04 <petern> Funny thing actually is that 10272 doesn't address 10151 at all lol. Never mind.
22:28:13 <petern> 10151 is about the height, 10272 only fixes the width π
22:28:32 <andythenorth> just the wrong rows still, so asymmetric nonsense
22:28:49 <andythenorth> there are a number of places in my code labelled 'kludge, just make it compile'
22:28:55 <andythenorth> and this is where they combine π
22:29:08 <andythenorth> ran out of JFDI road
22:29:17 <petern> I was trying to make something work, and ended up using f2 to rename a load of variables instead
22:29:25 <petern> Because using "i" is short and doesn't mean much.
22:29:35 <andythenorth> i is the best variable
22:29:44 *** Olionkey has joined #openttd
22:30:02 <petern> If it was numeric, I wouldn't mind. But it's an object in a foreach...
22:30:03 <Olionkey> if we are are talking for loops
22:30:15 <andythenorth> x is the best, because it then conflates with x in cartesian co-ordinates
22:30:38 <andythenorth> it's a shame we don't have half-letters
22:30:51 <andythenorth> some programmers would definitely use them
22:30:57 <andythenorth> for optimisation
22:31:08 <Olionkey> or because it is hard to name variables
22:31:27 <Olionkey> There is an esoteric language that uses emojis are its language
22:31:28 <andythenorth> I bet you there's a blog post or stack overflow testing which unicode chars are most optimised for javascript performance
22:31:32 <glx[d]> it's hard to name anything
22:31:46 <glx[d]> even function names can be hard
22:31:52 <Olionkey> thats why i,j,k is the standard
22:32:43 <andythenorth> hmm I think I have more code (and more complicated code) to generate the docs, than the grf
22:32:54 <andythenorth> I have to reimplement things like dual-head π
22:33:01 <andythenorth> to get example sprites
22:33:07 <andythenorth> and sprite layers
22:33:31 <andythenorth> remember grf2html?
22:44:23 <dP> I just accidentally found a quote from openttd wiki used as an example in online dictionary
22:44:31 <dP> it also failed to translate it properly xD
22:45:51 <petern> Okay, some fonts have weird metrics with otmAscent/Descent.
22:47:57 <dP> dP: was actually trying to find any example of grf2html output in the wild
22:48:54 <dP> can't be arsed to run it myself :p
22:50:03 <petern> If I could toggle sprite on/off it would still fit better with the left.
22:50:49 <petern> We also need a "clean up saves made to debug things" function π
22:56:42 <JGR> You can create new subdirectories in the save directory to keep them organised
23:00:02 <andythenorth> dP: I've got a decompile of egrvts saved here
23:07:03 <dP> could probably use it to debug grf-py
23:07:21 <dP> python output doesn't have hyperlinks for va2 chains xD
23:12:22 *** sla_ro|master has quit IRC ()
23:24:25 *** nielsm has quit IRC (Ping timeout: 480 seconds)
23:40:31 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
23:41:52 <andythenorth> apart from the blue livery is in the wrong place
23:45:08 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
23:46:15 *** WormnestAndroid has joined #openttd
23:59:55 <petern> I'm going to bed before midnight
continue to next day β΅