IRC logs for #openttd on OFTC at 2021-04-13
            
00:48:23 *** glx has quit IRC ()
01:59:51 *** HerzogDeXtEr has joined #openttd
02:02:26 *** didac has quit IRC (Remote host closed the connection)
02:07:37 *** supermop_Home has quit IRC (Ping timeout: 480 seconds)
02:11:11 *** Wormnest has quit IRC (Quit: Leaving)
02:16:04 *** didacp has joined #openttd
02:18:14 *** tokai|noir has joined #openttd
02:18:14 *** ChanServ sets mode: +v tokai|noir
02:23:16 *** D-HUND has joined #openttd
02:25:07 *** tokai has quit IRC (Ping timeout: 480 seconds)
02:26:33 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:39:45 *** Flygon has joined #openttd
04:10:43 *** snail_UES_ has quit IRC (Quit: snail_UES_)
05:29:34 *** tokai has joined #openttd
05:29:34 *** ChanServ sets mode: +v tokai
05:36:33 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
05:53:32 *** andythenorth has joined #openttd
05:53:51 <peter1138> o
05:57:02 <didacp> 0
05:59:03 <LordAro> O
06:00:13 <peter1138> 'clock
06:13:38 *** didacp has quit IRC (Remote host closed the connection)
06:21:33 *** sla_ro|master has joined #openttd
06:39:45 *** erle- has joined #openttd
07:04:55 <andythenorth> yo
07:05:15 <andythenorth> goes it add an air leg penalty to cdist? https://arstechnica.com/cars/2021/04/france-bans-air-travel-that-could-be-done-by-train-in-under-2-5-hours/
07:45:47 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened issue #9035: No obvious way to change player name during multiplayer session https://git.io/JOmiO
07:48:46 *** FLHerne has joined #openttd
08:01:46 *** erle- has quit IRC (Quit: Leaving)
08:02:26 <dih> hej hej
08:04:05 *** erle- has joined #openttd
08:11:29 <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #9031: Rivers going uphill are nearly impossible to distinguish from flat river https://git.io/JOq2J
08:20:49 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on issue #9031: Rivers going uphill are nearly impossible to distinguish from flat river https://git.io/JOq2J
08:33:20 *** WormnestAndroid has quit IRC (Remote host closed the connection)
08:33:33 *** WormnestAndroid has joined #openttd
08:35:30 <DorpsGek> [OpenTTD/OpenTTD] orudge commented on issue #8056: OpenTTD's Windows installer should be signed https://git.io/Jvbkk
08:35:42 *** andythenorth has quit IRC (Quit: andythenorth)
08:40:30 <DorpsGek> [OpenTTD/OpenTTD] Eddi-z commented on issue #9031: Rivers going uphill are nearly impossible to distinguish from flat river https://git.io/JOq2J
08:42:49 <DorpsGek> [OpenTTD/team] Saran-S-Menon opened issue #191: [ta_IN] Translator access request https://git.io/JOm91
08:52:49 <TrueBrain> ugh, having so many files in "src" makes navigating in VSCode often very annoying .. I have to scroll a lot to get to the few folders we have :P
08:54:18 *** Wolf01 has joined #openttd
08:56:25 <LordAro> are the folders not at the top like every other file browser ever?
08:56:27 <LordAro> but yes
08:58:01 <TrueBrain> they are
08:58:04 <TrueBrain> but if I am at the bottom
08:58:09 <TrueBrain> ... :D
08:58:17 <TrueBrain> https://www.tt-forums.net/viewtopic.php?p=1243653#p1243653 <- fucking gatekeepers
09:02:23 <TrueBrain> related to #9035, I cannot believe nobody redesigned the Client List over the years :P It is such a weird window that doesn't fit the game really :)
09:03:24 <Wolf01> \o/ OpenTTD updated on msstore too
09:03:26 *** tokai has quit IRC (Quit: c('~' )o)
09:03:37 <TrueBrain> Wolf01: yup .. turns out if you fix URLs, it actually works :P
09:03:51 <TrueBrain> stupid we didn't got an email about it, honestly
09:04:14 <TrueBrain> talking about emails, last nightly failed for stupid reasons not in our control
09:07:11 <LordAro> :(
09:07:43 <Wolf01> https://www.microsoft.com/store/productId/9P3FW12KF4D8 nice game, at least I like the graphics
09:07:58 *** tokai has joined #openttd
09:07:58 *** ChanServ sets mode: +v tokai
09:09:48 *** iSoSyS has joined #openttd
09:10:23 *** iSoSyS has quit IRC ()
09:10:41 <Timberwolf> Sun coming from the left? That'll never catch on.
09:19:29 <Wolf01> I was thinking about a section on the game options to tell where is the current base directory and maybe the ability to select the global or the game folder, and even set the current config as global or vice versa
09:19:52 <TrueBrain> what are you trying to solve?
09:20:24 <Wolf01> Confusion between different installations of OpenTTD
09:21:05 <Timberwolf> Oh, I have this - my portable installs (D:\Games\OpenTTD_dev and similar) pick up content from the Steam install, because they look in c:\users\blah\Documents\OpenTTD regardless.
09:21:24 <TrueBrain> all games ALWAYS look in Documents\OpenTTD too
09:21:29 <TrueBrain> (it is in addition too btw)
09:21:44 <Wolf01> I usually use global for stable versions, so steam and msstore, and game folder for the development ones
09:21:49 <LordAro> being able to properly work out where things are coming from would be beneficial
09:21:54 <Timberwolf> I "fixed" it by moving all the content files to the Steam install's folder, so there's no Documents folder for anyone.
09:21:57 <LordAro> an "open containing folder" button
09:23:50 <Wolf01> <Timberwolf> Oh, I have this - my portable installs (D:\Games\OpenTTD_dev and similar) pick up content from the Steam install, because they look in c:\users\blah\Documents\OpenTTD regardless. <- this changed? I used to have a portable install too, but it always worked fine, not sure now for dev versions
09:25:52 <Timberwolf> No idea, I never had any files in Documents\OpenTTD until Steam.
09:26:39 <TrueBrain> if you have an openttd.cfg next to your openttd.exe, it will write new files there, instead in the Documents\OpenTTD
09:27:02 <TrueBrain> Wolf01: maybe good to know, OpenTTD has more than just "local" and "global" folder. I believe it has 5 search paths it uses :)
09:32:11 <peter1138> TrueBrain, that appImage stuff points to a repo that is basically a GHA for creating the appImage.
09:32:45 <peter1138> I was also going to write a sarky reply but actually, if it's possible to integrate that then why not.
09:33:00 <TrueBrain> peter1138: we had some long talks about that
09:33:12 <TrueBrain> the author tried to merge the AppImage stuff in OpenTTD
09:33:25 <TrueBrain> but .. similar with flatpak and snap support: all of a sudden we have to maintain it
09:33:30 <TrueBrain> also have to deal with the support etc
09:33:33 <peter1138> There is that.
09:33:39 <TrueBrain> I think it is far better for us to let an external person deal with it
09:33:46 <peter1138> If it was already discussed, then fine :)
09:33:52 <TrueBrain> for example, the flatpak dude does a really good job listening to user-requests
09:34:11 <peter1138> The appImage build appears to be very Ubuntu-centric.
09:34:20 <TrueBrain> it is also only x86_64
09:34:28 <TrueBrain> all these "single file formats" are .... ugh
09:34:31 <TrueBrain> they are not there yet
09:34:36 <peter1138> And indeed it is actually build from the .deb file... d'oh
09:35:09 <TrueBrain> there is also the matter of the huge filesize in relation to our other download
09:35:46 <peter1138> I assume it works by bundling the shared libs, so yeah.
09:35:49 <TrueBrain> basically, AppImage / flatpak, they pick what soundfont you get
09:36:37 <TrueBrain> flatpak's sizes are not as big as appimage, but that is because flatpak just ships common binaries once
09:36:40 <TrueBrain> and make others depend on it
09:37:00 <TrueBrain> basically, how I see it: this is still an ongoing battle :P
09:37:27 *** EER has joined #openttd
09:38:23 <Eddi|zuHause> the way i see it, we should treat appimage/flatpak/whatever the same way we treat a distribution: let the maintainers manage it
09:38:43 <LordAro> ^
09:39:31 <peter1138> tbh, I was naïve and assumed the GHA would be building from source and all nice & tidy...
09:40:21 <TrueBrain> I am the same with Dockerfiles btw
09:40:31 <peter1138> LordAro, legs not dead this time, though they were feeling it on the last hill...
09:40:35 <TrueBrain> some people want us to add a Dockerfile in our source too, but it is far better imo to let others deal with it
09:40:38 <LordAro> peter1138: :)
09:45:08 <peter1138> In the client list, you get a menu (when you left click, of course!) that lets you "Speak to company"
09:45:23 <peter1138> Does that speak to the client's company, or your own?
09:45:43 <TrueBrain> I hope the first
09:45:53 <TrueBrain> we should rename it to "Speak to a manager" :D
09:46:17 <peter1138> Seems to be yes, that's good.
09:46:40 <EER> This reminds me that I haven't played proper multiplayer in over a decade
09:46:51 <TrueBrain> no worries, neither have we :P
09:47:04 <EER> not since WWOTTDGD/2 I think
09:47:14 <peter1138> I can also "Speak to company" when the client has no company (and even the server!) I wonder where that goes.
09:48:22 <TrueBrain> spectators, I would think
09:52:43 <TrueBrain> how ever I twist this, servers will need to have a persistent invite code I think .. otherwise this will be really frustrating for users: they join, say, reddit server
09:52:45 <TrueBrain> they play
09:52:48 <TrueBrain> the server restarts
09:52:53 <TrueBrain> now they have to find it back in the list
09:53:01 <TrueBrain> they cannot add it to their favorites
09:53:06 <TrueBrain> that sounds annoying
09:53:17 <TrueBrain> hmm .. hash the public ip + server name or something to deduce an invite code
09:53:39 <LordAro> seems reasonable
09:54:11 <TrueBrain> ideally we have some secret on a server he can use
09:54:16 <LordAro> assuming you can't get any collisions
09:54:18 <TrueBrain> but ... that makes portable builds annoying
09:54:27 <dih> wwottdgd? :-D
09:54:27 <LordAro> or at least, they're handled sanely
09:54:28 <dih> wow
09:54:40 <TrueBrain> LordAro: SHA1 collisions with only a-z .. not sure that is likely :) But yeah, it did crossed my mind too
09:55:00 <LordAro> ideally the invite code would be shorter than a SHA1 hash :p
09:55:13 <TrueBrain> copy/paste ftw
09:55:22 <LordAro> yeah, but it's still not very user friendly
09:55:33 <TrueBrain> no invite code is user friendly :P
09:55:48 <TrueBrain> but I doubt anyone ever typed Discord invite codes :) You just copy/paste :)
09:55:57 <LordAro> perhaps
09:56:03 <TrueBrain> but yeah, SHA1 might be a bit long anyway
09:56:12 <TrueBrain> the other approach I was considering, that servers can register somewhere
09:56:17 <TrueBrain> to get their own custom invite code
09:56:22 <TrueBrain> with a secret they have to enter in the server
09:56:47 <TrueBrain> so something like OPENTTD_MULTIPLAYER_COOKIE=abc OPENTTD_MULTIPLAYER_JOIN_KEY=reddit ./openttd -D
09:56:51 <TrueBrain> or what-ever
09:57:03 <dih> after sponsoring with 5 EUR ?
09:57:07 <TrueBrain> no
09:57:18 <TrueBrain> but it cannot be something that is stored in openttd.cfg, as people will copy/paste that, I think :D
09:57:25 <TrueBrain> maybe just another .cfg file just for this?
09:57:40 <LordAro> maybe should ask some existing server owners :p
09:57:55 <dih> what exactly are you wanting to accomplish?
09:58:19 <peter1138> 1080x1920 portrait is... not very good.
09:58:24 <TrueBrain> LordAro: I tried in the past, and it is pretty difficult to reach them .. we can reach 1, basically
09:58:36 <TrueBrain> which is a rather high bias :)
09:58:40 <LordAro> mm
09:59:23 <DorpsGek> [OpenTTD/OpenTTD] xelnod opened issue #9036: Game crashes while opening Towns directory on OS X, 1.11.0 Steam https://git.io/JOmpA
10:00:09 <TrueBrain> I will trucker on for now, but I already find this annoying, so I am sure it needs some resolving sooner or later :P But first, other shit to fix :D
10:00:27 <DorpsGek> [OpenTTD/OpenTTD] xelnod commented on issue #9036: Game crashes while opening Towns directory on OS X, 1.11.0 Steam https://git.io/JOmpA
10:01:10 <peter1138> Heh, I can sort by rating, but becuase I'm a spectator I have no rating, so it makes no odds.
10:01:23 <peter1138> And sort direction makes no difference either.
10:01:59 <dih> TrueBrain what if the master server holds that data?
10:02:01 <peter1138> That suggests it's either ignored, or there's no backup sorter.
10:02:13 <TrueBrain> dih: without a secret the server knows, that is not of much use
10:02:35 <peter1138> Isn't there an existing secret, already stored in the .cfg?
10:02:46 <TrueBrain> not that I know of
10:02:59 <TrueBrain> we used to do that .. people copied the cfgs ... many servers had the same unique id :P
10:03:02 *** Smedles has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
10:03:12 <peter1138> network_id
10:03:27 <peter1138> maybe that's just an old value that's left in my ancient config...
10:03:42 <peter1138> Nope, still referenced in the code.
10:03:57 <TrueBrain> never heard of it, so lets see what it does
10:04:08 <dih> register with master server, get a session cookie from there
10:04:09 <TrueBrain> hash of a random number + a fixed string
10:04:40 <TrueBrain> used for password hashing (?!)
10:06:45 *** Smedles has joined #openttd
10:07:04 <peter1138> Yeah. I always thought it was to do with master server regstration, but it turns out not to be :-)
10:07:50 <TrueBrain> added in 2007
10:07:51 <TrueBrain> lol
10:08:23 <TrueBrain> but yeah, that is only meant to prevent clear-text passwords on the wire
10:08:29 <TrueBrain> so it is okay if other servers use the same network-id
10:08:35 <TrueBrain> they don't have to be unique, in that sense
10:08:39 <TrueBrain> just better if they are
10:08:54 <TrueBrain> interesting find peter1138 , never knew :)
10:11:16 <dih> what if it is the client that authenticates against the master server and is given a session cookie - that session cookie is then passed from the client to the server they whish to connect to and the server can verify against master
10:11:37 <TrueBrain> sorry, I have no clue what problem you are solving :D
10:11:44 <dih> pffft
10:11:56 <TrueBrain> I am trying to see if we can find a way to know a server is a server
10:12:21 <dih> ah - that way round :-D
10:12:59 <dih> ssl certificate
10:13:05 * dih hides
10:14:29 <dih> and you run a CA
10:15:13 <TrueBrain> yeah, no :P
10:15:36 <dih> hehe
10:15:40 <TrueBrain> anyway, a problem for later, not now :) Lets first finish the rest of this
10:16:08 <dih> define rest and define this :-P
10:16:37 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding (using STUN) https://git.io/JOk7C
10:18:03 <dih> you could always again with registration have a user register ip:port and get a uniqe id for that which has to be placed in the config. and the id is only valid if it matches with the registered ip:port
10:23:45 *** erle- has quit IRC (Quit: Leaving)
10:40:08 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding (using STUN) https://git.io/JOk7C
10:46:44 <Wolf01> I have a nice router which is extremely STUN resistant if you want :P
10:47:37 <Wolf01> Because my provider blocked the voip port used by STUN and I'm not even able to use it for anything else, for example I can't play destiny 2 with it
10:57:30 *** nielsm has joined #openttd
11:00:34 <EER> dih: it's been a long while, at the time I was also playing a bit on coop and some other servers, but then I started working full time ;-)
11:04:08 *** spnda has joined #openttd
11:33:41 <milek7> TrueBrain: btw, what do you think about tcp encryption?
11:33:41 <milek7> ie. whether to use simple library like libhydrogen, or pull whole TLS (with openssl or something)
11:36:25 <milek7> https://github.com/OpenTTD/OpenTTD/commit/d3653710d35e44c63397601e67c31d2c10f9a0ae
11:37:58 <spnda> I think I found an issue with 8964, but not sure
11:38:00 <milek7> here it is implemented with libhydrogen, but I'm not sure about layering too
11:38:00 <milek7> in this I used existing packet system, and added special PACKET_CIPHERTEXT which encapsulates other encrypted packets
11:39:19 <milek7> but it might also be done by not touching existing packets and stacking another protocol below tcp_game
11:42:58 <peter1138> Yeah, that's a bad way to do it.
11:49:03 <peter1138> Encryption should always be the outer-most layer.
11:49:41 *** jeremy[m] has quit IRC (Quit: Client limit exceeded: 8192)
11:53:52 <milek7> one issue is that company-info query is now version independent, layering another protocol would break that
11:54:15 <milek7> though does this is used by anybody?
11:58:23 <peter1138> Unmanaged OpenTTD server is surprisingly full...
11:58:54 *** glx has joined #openttd
11:58:54 *** ChanServ sets mode: +v glx
12:11:02 <spnda> by convention, should I name local variables by camelCase or snake_case?
12:21:09 *** sauntheninja has joined #openttd
12:26:45 <glx> https://wiki.openttd.org/en/Development/Coding%20style
12:27:41 <spnda> I can never find that link... should bookmark it
12:45:20 *** tokai|noir has joined #openttd
12:45:20 *** ChanServ sets mode: +v tokai|noir
12:52:19 *** tokai has quit IRC (Ping timeout: 480 seconds)
12:57:40 *** snail_UES_ has joined #openttd
13:08:47 <TrueBrain> yippie, caused a double-free in the window system
13:08:51 <TrueBrain> no clue why, BUT I DID IT! :)
13:10:43 <TrueBrain> seems to be because I open a window from the OnQueryTextFinished
13:11:11 <TrueBrain> yeah ..
13:11:21 <LordAro> gj
13:11:39 <TrueBrain> well, more specific, if I close a window from it
13:16:40 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #9036: Game crashes while opening Towns directory on OS X, 1.11.0 Steam https://git.io/JOmpA
13:22:07 <TrueBrain> I find so many unrelated issues that are hard not to address
13:23:16 <glx> LordAro: weird part is the stack trace
13:23:32 <LordAro> OSX stacktraces have been meaningless for a while
13:23:42 <glx> ah wrong thread
13:26:45 <sauntheninja> hey i want to work on a beginner issue but no one has responsed to it?
13:28:50 *** D-HUND is now known as debdog
13:29:40 <LordAro> sauntheninja: i'll bite, which one?
13:30:46 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding (using STUN) https://git.io/JOk7C
13:32:09 *** erle- has joined #openttd
13:36:33 <glx> sauntheninja: #8252 ?
13:39:38 <glx> usually if code is the same in different location you can put it in a common function that will be called instead
13:52:29 <sauntheninja> https://github.com/OpenTTD/OpenTTD/issues/8252
13:55:16 <sauntheninja> ok thanks
13:55:43 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding (using STUN) https://git.io/JOk7C
13:55:50 *** sauntheninja has quit IRC (Quit: Page closed)
13:56:43 <TrueBrain> okay .. getting there
13:56:46 <TrueBrain> GUI is mostly done
13:56:55 <TrueBrain> totally transparent when STUN is used and not
13:57:05 <TrueBrain> so that is nice, I guess
13:57:21 <TrueBrain> about 10 TODOs left, and some features to add
13:57:29 <TrueBrain> slowly but steadily :)
13:57:33 *** y2kboy23_ has joined #openttd
14:00:48 *** HerzogDeXtEr1 has joined #openttd
14:01:19 *** gnu_jj has quit IRC (Remote host closed the connection)
14:01:40 *** Samu has joined #openttd
14:01:48 *** gnu_jj has joined #openttd
14:01:51 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding (using STUN) https://git.io/JOk7C
14:01:54 *** HerzogDeXtEr has quit IRC (Ping timeout: 480 seconds)
14:01:59 *** sauntheninja has joined #openttd
14:02:07 *** sauntheninja has quit IRC ()
14:02:23 *** y2kboy23 has quit IRC (Ping timeout: 480 seconds)
14:02:26 <TrueBrain> I now need to figure out a way to allow multiplayer without the game-coordinator (so by IP/port) to work as well
14:02:30 <TrueBrain> which is not completely trivial
14:04:45 <glx> maybe you can try normal connexion, and then game-coordinator if it failed
14:05:12 <TrueBrain> yeah, the main problem is in a dual-setup
14:05:24 <TrueBrain> what should it do if the server is also publishing itself to the game-coordinator
14:05:33 <TrueBrain> join-keys now win, basically
14:05:40 <TrueBrain> so I need to find a code-wise elegant way to solve that
14:06:29 <TrueBrain> servers basically have to be dualstack :D
14:06:35 <TrueBrain> the code is there .. just .. glueing it together .. meh :D
14:06:49 <TrueBrain> (as I think IP:port should win from join-keys)
14:09:11 <milek7> keep flag in master-server whether server is reachable directly?
14:10:11 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
14:12:19 <TrueBrain> owh, and in my PR servers no longer need to have their UDP port open, and they no longer will be sprayed with UDP packets for every client that hits Search Internet \o/ :D
14:12:38 <TrueBrain> especially that last one was the goal
14:18:23 <spnda> to this day, after countless hours in developing for #7955, I cannot wrap my head around Station, BaseStation etc.
14:19:00 <glx> BaseStation is the common part
14:20:11 <spnda> It is the common part from my understand aswell, but it's just really weird to see it having stuff like the StationSpecList as a property and the area of the train station etc.
14:21:06 <glx> then you have SpecialisedStation
14:23:05 <glx> to distinguish waypoints and stations
14:23:27 <glx> and StationSpec is used for both
14:24:49 <Rubidium> it mostly has to do with waypoints being (special) train stations in the NewGRF specification, so there is a superclass of everything that needs to be shared between a proper Station and a Waypoint for NewGRF purposes
14:25:53 <Eddi|zuHause> have we had a discussion about road waypoints recently?
14:26:19 <spnda> people requested that for me to add with #7955 and make them newgrf compatible out of the box
14:27:41 <spnda> so does RoadStop inherit BaseStation?
14:28:20 <peter1138> No, road stops are separate. Road stops belong to a station.
14:30:33 <DorpsGek> [OpenTTD/OpenTTD] xelnod commented on issue #9036: Game crashes while opening Towns directory on OS X, 1.11.0 Steam https://git.io/JOmpA
14:34:53 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
14:35:44 *** WormnestAndroid has joined #openttd
14:35:58 <glx> maybe split RoadStop in a similar way as Stations
14:37:25 <spnda> I'd be up for it after #7955 is merged (I hope it's not closed :D)
14:37:42 <DorpsGek> [OpenTTD/OpenTTD] auge8472 commented on issue #9031: Rivers going uphill are nearly impossible to distinguish from flat river https://git.io/JOq2J
14:37:53 <glx> or maybe no need to split, but add a template arg
14:38:31 <spnda> I feel like the Station classes can do a bit of reworking in general
14:39:32 <peter1138> stations are only split because waypoints behave differently. it's nothing to do with newgrf though.
14:40:31 <glx> but I think you may end to move some stuff from RoadStop to StationBase if they are used for stations and waypoints
14:40:45 <peter1138> Basically if you're dealing with 7955, I don't think you need to care about Station vs BaseStation
14:41:00 <peter1138> Unless you're also doing road waypoints.
14:41:19 <spnda> I'm trying to understand how they work and how the saveload code works in relation to it
14:42:04 <peter1138> One is subset of the other...
14:42:41 <Eddi|zuHause> spnda: if we're talking about the general design, you should organize your roadstations similar to airports
14:42:45 <glx> saveload code uses a list of fields
14:43:17 <spnda> Eddi|zuHause: Are you mentioning that in regard to have FEAT_ROADSTOP_TILE and FEAT_ROADSTOP seperately to get multi-tile stops?
14:43:29 <Eddi|zuHause> yes
14:44:00 <peter1138> Wait for the unspecified statemachine to be brought up...
14:44:12 <Eddi|zuHause> i was trying to avoid that topic. :p
14:44:13 <spnda> I'm still not sure if one *really* needs it, as usually single stops are totally sufficient but if we decide it is necessary, yes, that's what I wanted to do
14:47:03 <Eddi|zuHause> like i said yesterday. you don't have to implement it, but it should be prepared properly, or it'll all have to be ripped out again
14:47:23 <spnda> yes definitely
14:47:36 <peter1138> spnda, the saveload magic is that _waypoint_desc and _station_desc are separate, and have the magic SLE_ST_INCLUDE() macro that isn't used anywhere, which includes all the common parts.
14:47:43 <peter1138> *anywhere else
14:48:08 <Eddi|zuHause> the strictest requirements for proper preparation would be in the NewGRF specs, because those are notoriously difficult to be corrected
14:48:34 <spnda> peter1138: And that macro includes _base_station_desc, or what fields does it include?
14:48:36 <glx> if road waypoints are added later it would be easier to just use another newgrf feature
14:48:45 <spnda> yeah probably that
14:49:10 <glx> to not end up having the same situation as rail station and rail waypoints
14:49:18 <Eddi|zuHause> code can be changed. specs can only be amended
14:49:45 <glx> IIRC for rails it happenend because stations were abused as waypoints before waypoints were added
14:49:51 <peter1138> spnda, it includes that, yes.
14:50:11 <spnda> ok thx
14:50:12 <peter1138> spnda, station_sl.cpp:460 tells you what it includes
14:50:32 <glx> so newgrf station existed before waypoints
14:50:59 <spnda> oh right, VSCode just pointed me into oblivion for those macros... so I couldn't find exactly what meant what
14:51:12 <peter1138> Yeah, newgrf waypoints == stations becuase ttdpatch.
14:51:17 <spnda> SLE_ST_INCLUDE went to SLV_MAX_VERSION for whatever reason
14:51:49 <peter1138> Hah, it does. Weird.
14:52:18 <peter1138> saveload.h:510
14:52:26 *** FLHerne has quit IRC (Ping timeout: 480 seconds)
14:52:27 <peter1138> Oh, there's one for vehicles too :-)
14:52:51 <peter1138> Serialize to json, see how big the saves would be
14:54:05 <spnda> oh and the long loading times: See GTA V's recent loading time fix
14:54:21 <spnda> one small error and it took minutes to serialize some JSON file
14:55:01 <peter1138> Have they actually pushed that out to regular GTA V?
14:55:11 <spnda> Yeah they have, guy got 10K$ for it too
14:55:27 <peter1138> I heard they'd paid the developer, and that it was going to be used for something in the future, but that didn't specify also patched GTA V
15:02:25 *** supermop_Home_ has joined #openttd
15:08:13 *** y2kboy23_ has quit IRC (Quit: ZNC - https://znc.in)
15:08:51 *** EER has quit IRC (Remote host closed the connection)
15:09:01 <DorpsGek> [OpenTTD/OpenTTD] reldred commented on pull request #8480: Feature: Multitile depots https://git.io/JOY7X
15:09:36 *** y2kboy23 has joined #openttd
15:11:22 *** y2kboy23 has quit IRC ()
15:12:09 <milek7> c++ is weird
15:12:24 *** andythenorth has joined #openttd
15:13:48 <andythenorth> so pikka showed up in discord
15:14:12 <andythenorth> who else do we await?
15:14:14 <andythenorth> alberth?
15:14:26 <DorpsGek> [OpenTTD/OpenTTD] Milek7 opened pull request #9037: Fix: Add virtual destructor to link graph Path. https://git.io/JOYdm
15:14:58 *** y2kboy23 has joined #openttd
15:16:13 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #9037: Fix: Add virtual destructor to link graph Path. https://git.io/JOYdr
15:16:17 <DorpsGek> [OpenTTD/OpenTTD] notjoshno commented on issue #9035: No obvious way to change player name during multiplayer session https://git.io/JOmiO
15:16:58 <LordAro> get told, peter1138
15:17:10 *** jottyfan has joined #openttd
15:17:26 *** jottyfan has quit IRC ()
15:18:56 *** sla_ro|master has quit IRC ()
15:20:59 <reldred> andythenorth: he did? I do actually need to touch base with him.
15:21:14 <andythenorth> reldred he did, as DavidD
15:21:21 <andythenorth> in main openttd channel
15:21:23 <andythenorth> will be in logs
15:22:09 <reldred> Ahh neat
15:22:34 <spnda> DavidD? Can't find them
15:25:08 <reldred> They’re hiding down with the whitetext’s
15:25:23 <reldred> It’s late though, I’ll bother him tomorrow.
15:25:40 <spnda> Btw regarding saveload. Can I not just do ReadUint8() 2x to get the class id and the spec id, then assign the specs using those values?
15:25:43 <reldred> He’s half an hour ahead of me iirc
15:25:51 <spnda> Ah, reldred: Yeah, took a while to load all members
15:26:44 <reldred> I need to ask him about whether he’ll let me release/maintain the houses and landscape changes from the old old old pineapple set.
15:27:06 <reldred> I split them out into their own grf’s for my own use.
15:27:15 <spnda> reldred: Why not ask now, they are online and marked as online?
15:27:37 <spnda> and if not they'll get back tomorrow
15:27:59 <reldred> It’s an unreasonable hour of the day and if they do respond back immediately I should be in bed :P
15:28:13 <reldred> It’s a tomorrow problem :-)
15:28:23 <spnda> well then
15:28:41 <andythenorth> reldred he's in the channel now :)
15:28:53 <andythenorth> (discord)
15:29:45 <andythenorth> he / they /s
15:33:02 <spnda> is it cheating to have a SaveLoad description with just two values put into a std::pair and then later using those values in Load_ROADSTOP / Save_ROADSTOP?
15:34:27 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
15:42:27 *** jottyfan has joined #openttd
15:45:34 <peter1138> Hi
15:45:47 <peter1138> spnda, are the class id / spec id stored in the road stop?
15:54:30 <peter1138> Cool, my player name issue got downvoted.
15:54:49 <glx> and the comment is not nice
15:55:29 <peter1138> I probably shouldn't be used the issue tracker as a "remember this suggestion for later" but... that is a common usage for them :p
15:55:34 <peter1138> *using
15:57:00 <spnda> peter1138: No, in the RoadStopSpec struct, which then is part of RoadStop.
15:57:25 <peter1138> Hm. Why?
15:57:39 <spnda> Was the best solution that came to my mind.
15:57:48 <peter1138> RoadStop is all the data for a single road stop
15:58:28 <peter1138> StationSpecList is only a thing because rail station tiles don't have separate storage (well, apart from the map)
15:59:11 <spnda> Yeah, but NewGRFClass requires you to give it a struct, which in my case resulted in me making a RoadStopSpec class, as most if not all other features do.
15:59:24 <spnda> StationSpecList also has a StationSpec* spec in it
16:02:05 <peter1138> That's just a reference, it's not storage.
16:02:15 <peter1138> StationSpec comes from the NewGRF.
16:03:56 <peter1138> speclist is the saveload part, and that's only done that way because it's a separate array from the main station.
16:05:48 <peter1138> Right, bike or not.
16:06:21 <peter1138> Thinking I might try alternate days to start with though.
16:06:35 <peter1138> So I don't totally kill my legs.
16:16:39 *** Synck has joined #openttd
16:20:23 *** Synck has quit IRC (Remote host closed the connection)
16:25:59 *** Progman has joined #openttd
16:31:31 *** FLHerne has joined #openttd
16:34:03 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
16:34:40 *** WormnestAndroid has joined #openttd
16:45:18 *** FLHerne has quit IRC (Quit: There's a real world out here!)
16:45:27 *** FLHerne has joined #openttd
16:45:29 *** gelignite has joined #openttd
16:48:40 *** sla_ro|master has joined #openttd
16:49:21 *** Gubben has joined #openttd
17:02:07 <spnda> I'd really love some more comments around saveload. There's literally 0 comments in airport_sl.cpp
17:03:47 <nielsm> https://www.tt-forums.net/viewtopic.php?p=1243682#p1243682 <-- someone needs help with their bananas account
17:09:07 *** Compu has joined #openttd
17:09:16 *** Compu has quit IRC (Remote host closed the connection)
17:21:57 *** qwebirc11132 has joined #openttd
17:22:28 <Rubidium> spnda: that file does not much more than define some chunks to be put into the savegame (the last table) with the identifier of the chunk, the routine to call to save and load it, some things you'll likely not need (the nullptrs) and some data to describe how the data is saved / mark the last element in the array
17:23:16 <Rubidium> in the case of airports it is also only the NewGRF mapping/configuration, all other information about the airport (like location) is somewhere else
17:24:24 <spnda> Yeah, I understood that. Just clueless at to what the NewGRF mappings/configs actually do?
17:24:48 <spnda> Like why does saving/loading airports want to load/save those mappings, what do they contain etc.?
17:27:21 <Rubidium> oh, NewGRFs have their internal IDs for things, but OpenTTD uses its own 1 byte IDs (instead of storing by 4 byte GRFID and 1 byte NewGRF local ID). However, these IDs might change depending on the order NewGRFs are loaded and the likes, so the mapping should be saved
17:27:30 <peter1138> It's part of ensuring that the correct internal newgrf references are retained.
17:27:32 <peter1138> Yeah ^
17:28:06 <spnda> So as I am integrating my own newgrf feature, I guess I should also implement the same functions as industries/airports use?
17:28:12 <spnda> Save_NewGRFMapping etc.
17:29:30 <peter1138> For rail stations it was done differently, basically before all that infrastructure existed.
17:30:16 <peter1138> AfterLoadStations() handles the mapping from grfid and localidx, but it goes straight to the StationSpec reference instead of an intermediate id.
17:31:32 <peter1138> Put up a little piece of wood to shield my external thermometer from the Sun. It dropped from 18 to 12 deg C...
17:58:56 *** Synck has joined #openttd
18:11:29 <andythenorth> if you take it down, does the day get hotter?
18:11:51 <TrueBrain> so peter1138 is the one causing all this snow
18:12:04 <TrueBrain> please remove your piece of wood from between the sun and earth ktnx
18:19:35 <peter1138> Damn
18:20:50 *** HerzogDeXtEr1 has quit IRC (Read error: Connection reset by peer)
18:21:34 *** Gustavo6046 has quit IRC (Ping timeout: 480 seconds)
18:22:13 *** Gustavo6046 has joined #openttd
18:35:52 <Synck> The release build has all the asserts removed I guess? So no checks in the distributed game?
18:36:23 *** iSoSyS has joined #openttd
18:36:57 *** qwebirc11132 has quit IRC (Remote host closed the connection)
18:37:29 *** otetede has joined #openttd
18:37:59 <FLHerne> Synck: yes
18:45:50 *** Progman has quit IRC (Remote host closed the connection)
18:46:36 *** Progman has joined #openttd
18:47:14 <Synck> Is it project policy/style to not use exceptions?
18:47:43 <nielsm> lots of the code is not exception safe at all
18:48:00 <nielsm> lots of manual memory management and global state around
18:48:53 <DorpsGek> [OpenTTD/OpenTTD] michicc merged pull request #9037: Fix: Add virtual destructor to link graph Path. https://git.io/JOYdm
18:50:06 *** otetede has quit IRC (Quit: Nettalk6 - www.ntalk.de)
18:53:33 <Synck> is there interest in adding (unit)test? #7796 gave it a try but was abandoned waiting for cmake
18:53:51 <nielsm> yes
18:53:55 <Synck> with cmake and vcpkg it should be easy to add a test framework
18:53:59 <nielsm> there are lots of candidate code for testing
18:54:46 <Synck> I'll give it a try with catch2 framework
18:57:52 <Xaroth> I see nielsm volunteers for building unit tests.
18:59:52 *** urdh has quit IRC (Quit: Boom!)
19:02:02 <Synck> if I make changes to ci-build.yml, will they be used for the pull-request build?
19:04:20 *** urdh has joined #openttd
19:05:12 <Xaroth> I would hope not
19:05:35 <LordAro> yes
19:05:52 <LordAro> Xaroth: technically a security issue, yes, but not our infrastructure, so not our problem
19:06:05 <LordAro> and makes it an awful lot easier to test changes
19:09:05 <Synck> to test workflow changes, creating a PR is the easiest I guess? or can I try them locally or on my fork?
19:09:22 <glx> you can create a PR on your fork
19:09:37 <glx> should run CI
19:10:39 <glx> so you can force push a lot as you test things, without generating spam here ;)
19:12:06 <glx> that's our usual way when we modify workflows
19:13:25 <glx> and the only option to test workflows if they are not yet implemented in upstream
19:14:43 <Synck> great, I'll try to get a prototype running
19:16:28 <Synck> what does the current regression test do?
19:16:33 <peter1138> Hmm, can I tell VS Code what defines are set?
19:16:45 <TrueBrain> yup
19:16:51 <TrueBrain> no clue how anymore :D
19:17:24 <TrueBrain> .vscode/c_cpp_properties.json
19:17:30 <TrueBrain> is a JSON file, configurations -> defines
19:17:35 <glx> regression test runs an AI to check some functions
19:18:28 <glx> mainly to make sure a change in code doesn't modify expected behaviour
19:19:55 *** Synck has quit IRC (Remote host closed the connection)
19:20:27 *** Gubben has quit IRC (Quit: Page closed)
19:28:48 *** Gustavo6046 has quit IRC (Quit: ZNC 1.8.2 - https://znc.in)
19:29:11 *** Gustavo6046 has joined #openttd
19:58:00 <DorpsGek> [OpenTTD/OpenTTD] J0anJosep updated pull request #8480: Feature: Multitile depots https://git.io/JL5Hh
19:59:48 *** Gustavo6046_ has joined #openttd
20:00:10 *** Gustavo6046 has quit IRC (Read error: Connection reset by peer)
20:00:10 *** Gustavo6046_ is now known as Gustavo6046
20:01:53 <DorpsGek> [OpenTTD/OpenTTD] J0anJosep commented on pull request #8480: Feature: Multitile depots https://git.io/JOOKH
20:27:35 *** FLHerne has quit IRC (Remote host closed the connection)
20:32:11 *** FLHerne has joined #openttd
20:35:42 *** gnu_jj has joined #openttd
20:44:39 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
20:53:51 *** Samu has quit IRC (Quit: Leaving)
20:53:56 *** Synck has joined #openttd
21:09:41 <andythenorth> can python files be edited in github?
21:09:45 * andythenorth could just try
21:09:54 <andythenorth> considering web-based Iron Horse grf builder
21:10:37 <glx> they are text files so yes
21:11:09 <andythenorth> so fork, edit -> something builds it?
21:11:12 <andythenorth> o_O
21:12:12 *** Progman has quit IRC (Remote host closed the connection)
21:12:33 *** iSoSyS has quit IRC ()
21:13:56 <LordAro> if you turn that edit into a PR
21:14:02 <LordAro> or just edit & commit directly
21:14:57 *** Synck has quit IRC (Remote host closed the connection)
21:16:49 <andythenorth> discord user wanted to turn off wagons but keep engines
21:16:53 <andythenorth> no parameter for that
21:16:58 <andythenorth> but easy python
21:28:35 *** Wormnest has joined #openttd
21:47:17 *** gelignite has quit IRC (Quit: Stay safe!)
21:47:30 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:47:34 *** andythenorth has quit IRC (Quit: andythenorth)
21:53:19 *** FLHerne_ has joined #openttd
21:59:14 *** FLHerne has quit IRC (Ping timeout: 480 seconds)
22:04:53 <DorpsGek> [OpenTTD/OpenTTD] perezdidac commented on pull request #8749: WIP Feature: Setting to loop the same year forever https://git.io/JOO9y
22:05:40 <DorpsGek> [OpenTTD/OpenTTD] perezdidac commented on pull request #8749: WIP Feature: Setting to loop the same year forever https://git.io/JOO9d
22:07:03 <DorpsGek> [OpenTTD/OpenTTD] perezdidac commented on pull request #8749: WIP Feature: Setting to loop the same year forever https://git.io/JOO9x
22:09:02 *** erle- has quit IRC (Quit: Leaving)
22:11:14 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:21:44 *** jottyfan has quit IRC (Quit: jottyfan)
22:29:03 *** sla_ro|master has quit IRC ()
23:03:50 <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on pull request #9002: Change cargo age to have more effect on cargo payment. https://git.io/JOObe
23:28:04 *** Gustavo6046 has quit IRC (Ping timeout: 480 seconds)
23:30:41 *** FLHerne_ has quit IRC (Ping timeout: 480 seconds)
23:35:41 <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on issue #8101: (Streetcar) vehicles do not use all open stations/gates https://git.io/JfmVJ
23:37:56 *** Gustavo6046 has joined #openttd