IRC logs for #openttd on OFTC at 2025-06-14
โด go to previous day
01:04:17 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
01:04:18 *** WormnestAndroid has joined #openttd
01:19:40 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
01:19:43 *** WormnestAndroid has joined #openttd
01:19:46 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
01:19:48 *** WormnestAndroid has joined #openttd
01:19:50 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
01:19:51 *** WormnestAndroid has joined #openttd
02:21:18 *** WormnestAndroid has quit IRC (Remote host closed the connection)
02:21:20 *** WormnestAndroid has joined #openttd
02:38:34 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
03:12:04 *** Wormnest has quit IRC (Quit: Leaving)
04:20:45 *** WormnestAndroid has quit IRC (Remote host closed the connection)
04:20:48 *** WormnestAndroid has joined #openttd
04:32:35 *** ialokin has quit IRC (Ping timeout: 480 seconds)
04:51:47 *** ialokin has joined #openttd
04:59:38 *** ipravd has quit IRC (Quit: ipravd)
06:15:27 *** toktik is now known as Guest18128
06:15:45 *** Guest18128 has quit IRC (Remote host closed the connection)
06:24:58 <andythenorth> what if vehicles could have vehicles in?
06:25:10 <andythenorth> then a vehicle could have an articulated vehicle in it
06:25:40 <andythenorth> and that articulated vehicle could have multiple cargos
06:25:53 <andythenorth> "what if [nonsense]?" ๐
06:27:28 <wensimehrp> 216 โ var = difficulty.construction_cost
06:27:28 <wensimehrp> 217 โ type = SLE_UINT8
06:27:28 <wensimehrp> 218 โ from = SLV_97
06:27:28 <wensimehrp> 219 โ flags = SettingFlag::NewgameOnly, SettingFlag::SceneditToo, SettingFlag::GuiDropdown
06:27:31 <wensimehrp> 223 โ interval = 1
06:27:33 <wensimehrp> 224 โ str = STR_CONFIG_SETTING_CONSTRUCTION_COSTS
06:27:33 <wensimehrp> 225 โ strhelp = STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT
06:27:35 <wensimehrp> 226 โ strval = STR_SEA_LEVEL_LOW
06:27:35 <wensimehrp> 227 โ cat = SC_BASIC
06:27:37 <wensimehrp> Why is it using `STR_SEA_LEVEL_LOW` here/
07:35:23 <andythenorth> ok so #14357 provides a clean way to do multi-system vehicles
07:35:46 <andythenorth> it also provides vehicles an alternative way to do railtype label fallbacks, rather than the nml table
07:35:53 <andythenorth> wonder which is preferable?
07:37:48 <wensimehrp> WenSimEHRPviaGitHub: hmm I propose a badge filter with priority though
07:38:32 <wensimehrp> e.g. filter the country, then filter the company, then filter the propulsion, at each step of filtering it gets rid of irrelevant options
07:38:53 <wensimehrp> so if you pick japan first then you filter for companies you won't see MTR and Amtrak
07:40:56 <wensimehrp> maybe even something like "Propulsion is diesel OR electric", union conditions
07:42:39 <wensimehrp> the badge filter right now is already showing some irrelevant information.
07:42:39 <wensimehrp> There aren't any South African trains in the temperate scenario
08:28:06 *** mindlesstux has joined #openttd
09:13:57 <michi_cc> andythenorth: Kinda, but not the same. You can of course modify the new prop with Action 6, but it is still a fixed length list, so if both railtypes are available, the vehicle will be for both. So it is an AND while the railtype table fallback is an EITHER OR.
09:14:48 <andythenorth> I think that might be easier to reason about
09:17:37 <michi_cc> AND in the normal word sense, not the strict boolean logic sense.
09:20:08 <michi_cc> If you want to make a 3rd rail vehicle that will be available for ELRL in case no track set is loaded, the multi-tracktype prop will not really help you.
09:20:08 <michi_cc> Action 6 dicking around is if course possible, but the already available and test railtype table fallback will do it for you.
09:20:24 <michi_cc> OTOH, the new prop *is* usefull for a 3rd + catenary engine.
09:26:33 <andythenorth> ok so there's a niche equivalence case the new prop meets (use *any* of XYZ if available)
09:26:50 <andythenorth> but generally, if it's about fallbacks, use the established fallback
09:28:51 <michi_cc> Yes, the main use is providing multi-electrification or multi-gauge vehicles without needing to have a matching railtype for every combination, not replacing railtype fallbacks for set compatibility.
09:34:30 <andythenorth> and the labels in the prop 34 list will fallback along the RTT lines?
09:36:06 <michi_cc> Prop 34 lists indexes into the RTT, just like prop 05 does
09:36:51 <michi_cc> So just like for prop 05, a railtypes that are not defined are skipped, and if nothing remains, the vehicle will be unavailable.
11:03:41 <andythenorth> I am on my phone, but does the script API depend on train prop 05?
11:04:50 <michi_cc> A bit. There is a function to get the railtype of an engine type. In the PR the existing function will return the numerically first railtype and a new function will return all railtypes.
11:05:14 <michi_cc> If a script chooses by powered/compatible, it hsould just work.
11:07:01 <andythenorth> Canโt think of much else the PR needs except testing ๐
11:29:33 <peter1138[d]> wensimehrp: Yeah. That gets complicated fast so I went with Minimum Viable Product to start with.
11:29:58 <peter1138[d]> Vehicles carrying vehicles was something I mentioned before.
11:31:32 <peter1138[d]> Then you add VehicleType::Container, which can't move by itself, but can carry cargo and have a chain of vehicles.
11:32:03 <peter1138[d]> This gives you containerisation, and the vehicle ferries, and... moon on a stick...
11:32:11 <peter1138[d]> And it is most likely infeasible ๐
11:32:17 <peter1138[d]> Would definitely upset cargo-dist.
11:34:39 <peter1138[d]> Pretty sure it doesn't really add anything to gameplay.
11:34:54 <peter1138[d]> But, heh, visible working container yards, am i rite?
11:39:04 <andythenorth> "state machines"
11:58:31 <michi_cc> Yeah, Eddi seems to have vanished. Not seen on his Twitch channel for ~4 years either ๐ฆ
12:04:54 <peter1138[d]> Hmm, nice, simplified my font cache work. Next up, make it compile on Windows and Mac OS.
12:50:28 <peter1138[d]> Look, I just want to be able to pick a font size, and have the ascender + descender actually match that size... ๐ฎ
12:52:04 <peter1138[d]> OpenTTD charidee streams eh
12:54:19 *** WormnestAndroid has quit IRC (Remote host closed the connection)
12:54:34 *** WormnestAndroid has joined #openttd
12:55:59 <_glx_> peter1138[d]: good luck
13:02:15 <peter1138[d]> Linking with mingw is... somewhat slow.
13:05:52 <LordAro> and that's with the fast linker
13:06:12 <michi_cc> Word thinks this is the same font size:
13:06:15 <peter1138[d]> I don't think there is one.
13:06:25 <michi_cc> So I guess it really is an excercise in futility.
13:06:40 <LordAro> peter1138[d]: lld vs bfd is quite significant
13:06:55 *** dres_1025 has joined #openttd
13:06:55 <dres_1025> So, tram tracks can run over the top of roads and ground tiles. How difficult would it be to edit OpenTTD's code to allow said tram tracks to run over other objects, namely rails, trees and buildings? Following that, could a NewGRF Tramtype specify what the track is allowed to run over?
13:08:14 <_glx_> LordAro: that's why CI uses lld
13:08:22 <michi_cc> Very. Tram tracks don't run "over" anything, they are just a road map tile. And there can only be one tile โข๏ธ at the same spot.
13:09:22 <LordAro> _glx_: and it's *still* "somewhat slow"
13:10:20 <peter1138[d]> > lld is a generic driver.
13:10:20 <peter1138[d]> > Invoke ld.lld (Unix), ld64.lld (macOS), lld-link (Windows), wasm-ld (WebAssembly) instead
13:10:48 <_glx_> CI uses `mingw-w64-${{ inputs.arch }}-lld` package
13:11:08 <_glx_> and `-DCMAKE_CXX_FLAGS="-fuse-ld=lld"`
13:11:25 <_glx_> it also use ninja (faster than make)
13:11:58 <peter1138[d]> There's no `mingw-w64-.*-lld` package in my Debian.
13:12:14 <_glx_> I would guess that indeed
13:13:46 <peter1138[d]> Okay, well anyway, Arial still works... Hmm.
13:13:58 <peter1138[d]> Loading OpenTTD Sans still doesn't work, but that didn't work anyway.
13:14:21 <peter1138[d]> (I think `TryLoadFontFromFile()` uses an API that isn't meant to be used, or something)
13:14:40 <peter1138[d]> `static PFNGETFONTRESOURCEINFO GetFontResourceInfo = _gdi32.GetFunction("GetFontResourceInfoW");`
13:15:05 <michi_cc> > Try a nice little undocumented function first for getting the internal font name.
13:16:38 <peter1138[d]> DirectWrite is apparently the correct way.
13:17:17 <peter1138[d]> Hmm, `proton-caller` exists,
13:17:21 <peter1138[d]> Let's try that ๐
13:19:03 <peter1138[d]> Eh, does not work ๐ฆ
13:19:09 <michi_cc> DirectWrite is nice, as long as all you want is to get a fully rendered bitmap with your full text. If you want glyphs or layout info only, its almost useless.
13:20:22 <peter1138[d]> I figured as much.
13:21:16 <michi_cc> To not use the undoc function, either you need to parse the TTF yourself or the `Use the file name as the font face name, hoping it matches.` part applies.
13:21:18 <peter1138[d]> Although a rethink about how text is rendered may be nice, to allow things like sub-pixel positioning.
13:22:09 <peter1138[d]> We have a filename, with .ttf. But no path, IIRC.
13:22:17 <peter1138[d]> Oh, it does have a path.
13:22:29 <peter1138[d]> Hmm, maybe the path is just wrong here.
13:22:33 <michi_cc> For DirectWrite specifically, I wouldn't know a way to inject the sprite font or special sprite glyphs from the top of my head.
13:22:56 <peter1138[d]> My other thought was actually to go back to freetype and fontconfig on all platforms ๐
13:23:16 <peter1138[d]> Yeah, perhaps not.
13:23:51 <michi_cc> Yeah, Uniscribe requires using GDI fonts. And not using Uniscribe has a heap of depenencies again (same for OSX).
13:24:39 <peter1138[d]> It's all so weird ๐
13:25:11 <peter1138[d]> It's almost like their APIs were cobbled together over 40 years...
13:25:18 <michi_cc> Just use Electron for the platform-agnostic text rendering /s
13:25:32 <_glx_> IIRC Uniscribe has parts of ICU inside
13:26:37 <michi_cc> For Uniscribe I actually think not, but DirectWrite might use some if it. CoreText on OSX also uses ICU for some stuff internally, but wrapped enough that you don't hit the weired and crashy parts.
13:43:20 <peter1138[d]> /me ponders a better missing glyph search.
13:43:30 <peter1138[d]> Like I know what glyphs are missing.
13:43:50 <peter1138[d]> But currently the search requires a single font to have all of them.
13:44:47 <peter1138[d]> Possibly something like find a font with the largest compatibility, then search again for any remaining missing glyphs, and continue...
13:45:26 <peter1138[d]> Or get Zephyris to add CJK support hehehehe
13:53:39 <peter1138[d]> Carefully cropped the relevant line number ๐
13:56:41 <peter1138[d]> I don't have that revision.
13:57:12 <peter1138[d]> Let's update first ๐
14:01:29 <peter1138[d]> Works in my current revision, but that's before some API export changes.
14:38:39 <_glx_> Most likely one of the commit I just merged
14:39:10 <peter1138[d]> Yes, but I didn't want to do a Xarick ๐
14:40:32 <andythenorth> I may have made errors
14:40:33 <_glx_> Oh I know exactly what happens, I removed useless exported default constructors (usually they are for classes with only static members)
14:40:54 <_glx_> And have no reason to be instantiated
14:41:51 <_glx_> OpenTTD used to create a Script object for them, now squirrel says don't do that
14:43:02 <peter1138[d]> Hmm, this one is failing to instantiatea AIPriorityQueue, which does have non-static members.
14:43:23 <peter1138[d]> It doesn't have ::Constructor override, though.
14:44:22 <_glx_> Relying on default constructor is no longer possible indeed
14:45:11 <_glx_> Hmm export should be able to detect that
14:45:27 <_glx_> It knows static and non static functions
14:49:29 <andythenorth> so is "Metro" a valid candidate for a track type in the standardised scheme? Or better as a proprietary label?
14:49:34 <andythenorth> michi_cc: ^ ๐
14:49:57 <peter1138[d]> What defines metro?
14:50:15 <andythenorth> "not a normal train"
14:50:15 <talltyler> Scary question to ask around here ๐
14:50:36 <peter1138[d]> talltyler: Deliberately ๐
14:51:00 <peter1138[d]> So is the "not a normal train" defined by its rail type?
14:52:00 <andythenorth> there's an entirely viable way to do Metro within or without the standard scheme
14:52:06 <andythenorth> but it has People Problems
14:52:21 <andythenorth> specifically Foamer Problems
14:52:53 <peter1138[d]> Is it light-rail vs heavy-rail?
14:53:03 <peter1138[d]> Or is light-rail just trams?
14:53:22 <andythenorth> it's high density, medium speed
14:53:30 <talltyler> Depends on the player, but light rail is usually trams so they can drive on roads
14:53:40 <andythenorth> metro is very high pax capacity per tile
14:54:55 <peter1138[d]> Is the Metropolitan line a metro?
14:55:47 <andythenorth> all the way to Amersham
14:56:39 <peter1138[d]> Can normal trains run on a Metro, or is it just "not a normal train"?
14:56:47 <andythenorth> that's up to the railtype author
14:57:01 <andythenorth> it's not a vehicle set choice
14:57:30 <peter1138[d]> So metro is something different, but also not different.
14:58:15 <andythenorth> yes, you have it
14:58:20 <peter1138[d]> I mentioned Metropolitan Line because my local train into London, which is not a metro, shares the rail tracks with the underground trains.
14:58:30 <andythenorth> it does, but then again
14:58:47 <peter1138[d]> Which begs the question, what's the difference?
14:59:34 <andythenorth> as an actual list of differences?
14:59:41 <andythenorth> or in terms of cross-compatibility?
15:01:00 <peter1138[d]> Once the line gets closer to London, inside the M25, it has 4 parallel tracks. The non-underground trains only ever use one pair of them, but the underground trains can use both pairs.
15:01:14 *** Wormnest has joined #openttd
15:03:52 <andythenorth> seems the Chiltern trains use the tube network signalling
15:04:06 <andythenorth> they might have to be fitted with tube signal gear, dunno
15:04:25 <andythenorth> the outside conductor rail is 750v DC
15:04:41 <andythenorth> presumably the running rails are wired for current return
15:04:47 <talltyler> Yes, Chiltern trains have trip stops
15:04:52 <andythenorth> as the Chiltern units won't be 4th rail
15:05:09 <talltyler> Chiltern trains are also diesel
15:05:28 <peter1138[d]> So diesel is "powered on" metro tracks.
15:05:30 <andythenorth> there's also Tube services over national network lines to wimbledon
15:05:43 <andythenorth> but they must be 4th rail equipped
15:05:53 <andythenorth> ownership != rail type I guess ๐
15:07:40 <peter1138[d]> (Also it used to go to Verney Junction, and Brill (kinda), but that's prehistory...)
15:08:31 <peter1138[d]> Presumably the bottom of Brill, as it's a steep hill up to the tiny village...
15:10:41 <peter1138[d]> How would you do a metro in the game, anyway>
15:10:56 <peter1138[d]> Most towns are not very big. Presumably a conurbation would help.
15:11:19 <peter1138[d]> Maybe house-placer the cities to make them bigger ๐
15:12:24 <michi_cc> The best way to distinguish Metro in the Scheme would probably the axle load (loading gauge), but given that sets mostly don't use that, you'd have to use a non-standard letter in with an internal API contract.
15:15:00 <michi_cc> This is what'd do if stuff like the Metropolitan line sharing tracks should be possible. Otherwise if Metro is to be interpreted like e.g. the heavy rail Singapore MRT or something, it is just a special one-off railtype with no compatibility to other railtypes whatsoever.
15:18:23 <andythenorth> it's probably just a one off railtype
15:18:47 <andythenorth> there are foamer handbags about it, because in some countries "3rd rail = metro" and in other countries not
15:25:18 <brickblock19280> Axle load feels hard to use unless you add a new value. Currently there is no way of doing broad gauge metro other than BA*3 as MTRO is interpreted as standard gauge generally. A distinction between 3rd rail mainline and metro 3rd rail would also be very nice so they can be handled differently
15:26:06 <talltyler> Who would build a broad gauge metro?
15:26:30 <talltyler> (I live a few blocks away from one)
15:26:53 <brickblock19280> USSR also has a few
15:28:11 <peter1138[d]> Is it a distinction that needs to be made?
15:30:34 <brickblock19280> I think so since I'd like to treat them differently
15:32:18 <peter1138[d]> And much like my earlier questions, is it different from non-metro broad guage?
15:32:35 <andythenorth> looks compelling that these are private labels
15:32:44 <_jgr_> Basically everything in the ex-USSR is broad gauge, but otherwise it's not really different from the standard gauge equivalent
15:33:29 <andythenorth> "in soviet russia, broad guage watches you"
15:34:02 <brickblock19280> peter1138[d]: Idk about broad tbf but it is an issue for standard gauge
15:34:10 <peter1138[d]> What's the issue?
15:34:15 <michi_cc> > It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing.
15:34:15 <michi_cc> -> So if you want tight coupling and control over all aspects, use something else.
15:35:07 <peter1138[d]> It seems like the issue is that people want to force "metro" trains and "normal" trains to run on separate tracks, because that's how they are run in real life.
15:35:09 <andythenorth> within Russia "standard guage" is allegedly 1520mm, and 1435mm is "European gauge"
15:35:22 <andythenorth> such context problems ๐
15:38:26 <peter1138[d]> Isle of Wight use to run London Underground trains, or something.
15:38:43 <peter1138[d]> Not sure it was a metro though.
15:39:20 <peter1138[d]> I've been given a golden Toblerone.
15:39:26 <peter1138[d]> It's somewhat sweet.
15:40:15 <brickblock19280> They were rebuilt quite a bit from what I know I would not consider them metro vehicles
15:45:28 <notluke2578> peter1138[d]: still do
15:45:36 <notluke2578> albeit very modified
15:46:37 <brickblock19280> michiccviaGitHub: Road vehicles could have A and a removed from the standard as they are for amphibious vehicles
15:47:55 <brickblock19280> Also what does it mean that railtypes are compatible and why was it not added for roadtypes?
15:48:49 <michi_cc> No idea ๐คท I have been mostly ignoring NRT.
15:49:41 <andythenorth> I am very dubious that a roadtype standard scheme will work
15:49:48 <michi_cc> I still find the whole tram and road are totally different, oh, not, wait, there are exactly the same, or are they a bit confusing.
15:50:18 <andythenorth> whenever nml is extended I find the same ๐
15:50:24 <andythenorth> but they are what they are ๐
15:50:25 <talltyler> Amphibious trains when?
15:50:37 <talltyler> We need a frosch hovercraft patch
15:50:41 <andythenorth> "life is untidy" etc
15:50:47 <peter1138[d]> Yeah, sorry, I guess I fucked up with NRT when I finished it. Don't think anyone has much good to say about it.
15:51:17 <andythenorth> we can't both try and have 100% of the shame about it ๐
15:51:34 <andythenorth> there has to be finite amount of shame
15:52:01 <_jgr_> I don't see that there needs to be any shame TBH, change happens incrementally
15:52:21 <talltyler> People like to complain but forget to say nice things ๐
15:53:40 <andythenorth> NRT doesn't have compatible because powered covers it
15:53:55 <andythenorth> unpowered RVs don't exist
15:55:55 <peter1138[d]> Trains consists are manually composed, road vehicles are not.
15:58:15 <brickblock19280> andythenorth: There is one issue with the Terrain / Stability class in that a A class vehicle would be remapped to a B class if A is not available and you might not want 3 vehicles per surface. 14357 could solve this but then very few roads would be allowed to be built over each other even when vehicles are expected to cross without issue
15:59:27 <peter1138[d]> Road types are way more just cosmetic than rail types, I suppose.
15:59:49 <peter1138[d]> Speed limits being defined by a road type is odd ๐
16:00:23 <brickblock19280> Currently yes but it doesn't have to be
16:01:53 <andythenorth> peter1138[d]: something about towns
16:01:58 <andythenorth> and following the railtype spec
16:02:17 <peter1138[d]> This is irritating.
16:02:45 <brickblock19280> Dedicated bus roads are possible and special vehicles for motorway and dirt is pretty nice since it allows different paths for for the same route
16:03:37 <wensimehrp> peter1138[d]: Classic Noto ๐
16:04:22 <wensimehrp> Imo this should be the default behaviour actually
16:04:44 <peter1138[d]> Yeah, 1) I can't really think of heuristic for "font that supports the characters we need that also looks nice" and 2) the size differential again ๐ฎ
16:06:36 <peter1138[d]> Hmm, maybe I can simplify font caches by ordering them highest priority first, instead of last.
16:07:28 <peter1138[d]> (Doesn't affect anything about 1 or 2 though)
16:09:04 <Flygon> Me, an Australian, wondering why "Metro" and "Freight" trains can't just run on the same track :P
16:09:23 <Flygon> Shoutouts to the daily steel train through Flinders
16:10:17 <andythenorth> just making everything cross compatible ๐
16:10:33 <andythenorth> monorail <-> maglev <-> RAIL <-> ELRL
16:10:45 <andythenorth> all current problems disappear
16:10:48 <peter1138[d]> No, removing ELRL too.
16:10:54 <peter1138[d]> There's even an option for it.
16:11:49 <peter1138[d]> I don't think TTDP ever had rail type labels, but I could be wrong.
16:21:24 <andythenorth> maybe we should backport them to it
16:34:09 *** Flygon has quit IRC (Read error: Connection reset by peer)
16:46:24 <michi_cc> peter1138[d]: Me being confused doesn't mean anything has to be wrong with NRT, can be wrong with me just as well.
17:38:23 <andythenorth> how many railtypes are needed anyway? ๐
17:40:55 <andythenorth> Why is it even AC? ๐
17:41:01 <andythenorth> silly grf authors
17:43:12 <peter1138[d]> andythenorth: 16 was perfect.
17:43:42 <peter1138[d]> Enough for a bit of variety, but not so amy as to allow realism pedantry.
17:44:27 <andythenorth> goes it make a patchpack?
17:57:12 <peter1138[d]> Say it loud. Say it clear.
18:20:11 <peter1138[d]> wensimehrp: Yes, that would be the plan.
18:20:30 <peter1138[d]> Just... without everything having to change size because fonts are a fricking pain.
18:21:50 <peter1138[d]> Hmm, can I pick size by ascender instead of "pixels" which are scaled to "points" which is more like the "canvas size".
18:23:06 <peter1138[d]> I mean, possible a "trial and error" thing, but...
18:40:44 <peter1138[d]> This is illegal, right?
18:52:31 <peter1138[d]> It "works" but of course everything else is a bit too small now, with space taken up by an invisible ascender...
19:00:47 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
19:00:48 *** WormnestAndroid has joined #openttd
19:19:46 <_glx_> peter1138[d]: it has potential div by 0
19:20:30 <peter1138[d]> Sure, my dirty hack to see if it's possible doesn't check return values.
20:27:39 <peter1138[d]> Surprised it works as well as it does given its age.
20:33:40 <_glx_> I just tested, it works for me
20:38:20 *** cu-kai has quit IRC (Quit: Leaving for a bit.)
20:48:39 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
21:08:14 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
21:11:51 *** WormnestAndroid has joined #openttd
21:30:47 *** ipravd has quit IRC (Quit: ipravd)
22:01:38 *** tokai|noir has joined #openttd
22:01:38 *** ChanServ sets mode: +v tokai|noir
22:08:24 *** tokai has quit IRC (Ping timeout: 480 seconds)
22:13:11 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
22:18:56 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:24:56 *** Wormnest has joined #openttd
23:05:12 *** WormnestAndroid has joined #openttd
23:14:07 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
continue to next day โต