Config
Log for #openttd on 6th April 2021:
Times are UTC Toggle Colours
00:00:54  <FLHerne> Would be nice if you PRed the updated version at some point, of course
00:02:16  <andythenorth> so income cannot be varied
00:02:20  <andythenorth> cargo aging is junk
00:02:32  <spnda> FLHerne: It's not completely finalized, but yes that was my plan
00:02:33  <andythenorth> how about using loading speed as a dimension?
00:02:43  <andythenorth> capacity vs. loading speed for balance?
00:02:52  <FLHerne> UKRS does that with the metros
00:03:07  <FLHerne> They're slow, and relatively low-capacity per car
00:03:21  <FLHerne> But load and unload near-instantly, and accelerate fast
00:03:23  <andythenorth> speed vs. capacity is the single best balancing point
00:04:09  <FLHerne> So you can run lots of them through cramped urban stations
00:05:04  <andythenorth> I basically ran out of other dimensions
00:05:27  <andythenorth> I keep trying to figure out wheezes with run costs, but unless they're really really high, run cost is of no interest
00:05:44  <andythenorth> and if they're really high, playerbase can't make profit
00:06:29  <spnda> NML supports "" and '' strings, but not `` strings, right?
00:06:31  * andythenorth will undelete extra pax coaches if they can be figured out
00:06:47  <andythenorth> what about every luxury pax car adds 100hp to the train?
00:06:54  <andythenorth> and restaurant car adds 200hp?
00:06:58  *** Slash has joined #openttd
00:07:13  <FLHerne> spnda: right
00:07:22  <FLHerne> (do you expect that to do something special?)
00:07:49  <FLHerne> andythenorth: I don't see how that makes sense, tbh
00:08:08  <FLHerne> "can't make profit without caring about running cost" is a good thing
00:08:09  <spnda> the ``? It's just used as strings in JS for example, wondered if they were also in NML
00:08:17  <spnda> or as template strings in JS rather
00:08:50  <andythenorth> to put it another way, the only way to 'balance' a lux pax coach is to make the standard pax coach unusable
00:09:48  <andythenorth> [for certain circumstances]
00:10:27  <FLHerne> Restaurant cars decrease running cost by n%, but cost a fixed amount more?
00:10:37  <FLHerne> Then they make sense for long trains but not short ones
00:10:50  <FLHerne> Is that what they do?
00:10:52  <andythenorth> yes
00:10:57  <andythenorth> but it has been proven wrong
00:10:58  * FLHerne is bad at remembering things
00:11:36  <andythenorth> what other dimensions do trains have?
00:11:49  <andythenorth> power, speed, run cost, length, capacity, buy cost
00:11:54  <andythenorth> TE is meaningless
00:11:57  <FLHerne> How is it wrong?
00:12:23  <andythenorth> https://www.tt-forums.net/viewtopic.php?p=1242877#p1242877
00:12:27  <FLHerne> You already mentioned loading time
00:12:49  <andythenorth> I did :)
00:13:02  <FLHerne> That's not a fundamental wrongness, that's just implementation wrongness
00:13:09  <FLHerne> I think?
00:13:17  <andythenorth> I opened the savegame
00:13:31  <FLHerne> Prettiness :p
00:13:32  <andythenorth> it's so wildly different to how I play
00:13:39  <andythenorth> also I use FIRS
00:13:46  <andythenorth> and Mistakes Were Made
00:13:49  <FLHerne> Luxury cars are twice the price, but they look awesome
00:14:02  <andythenorth> FIRS sets an excessively high rate for pax payment compared to vanilla
00:14:07  <andythenorth> like twice the price
00:14:16  <andythenorth> for historical reasons that aren't well documented
00:14:56  <FLHerne> There's sharp-turning speed as used by tilting thingies, but that seems irrelevant for most things
00:14:56  <andythenorth> so any attempt to balance costs vs. income is dead in the water at this point
00:15:13  <andythenorth> tilting thingies feature is used by the pendolino
00:15:56  <andythenorth> I could just rename them Corridor Coach and Open Coach and level the capacity
00:16:02  <andythenorth> pure eye candy
00:16:19  <andythenorth> so candy
00:16:22  <andythenorth> for the eyes
00:16:40  <FLHerne> weight, cargo decay, loading gauge and axle load but needs trackset
00:16:48  <andythenorth> I considered railtype :P
00:16:54  <FLHerne> max/min train length?
00:17:14  <FLHerne> Vehicle length is obvious
00:17:28  <andythenorth> I also considered what child #1 said, which is that lux cars are express and go faster
00:17:34  <andythenorth> but then I need 3 kinds of engine speed
00:17:43  <andythenorth> and that's not just an eye candy choice
00:17:49  <FLHerne> But you could can have DMUs that have unbalancedly good specs, but can only be short so they don't scale well
00:17:51  <FLHerne> or something
00:17:57  <peter1138> Is it sleep time?
00:18:01  <andythenorth> well beyond
00:18:05  <peter1138> I think I have work tom... today.
00:18:07  <andythenorth> I am not working though so yolo
00:18:12  <FLHerne> two hours ago it was, now it seems hardly worth it
00:18:28  <peter1138> Oh but there's a Geoff Marshall video to watch.
00:18:45  <andythenorth> ok so Corridor Coach, and Open Coach, same capacity
00:18:54  <andythenorth> then Make Restaurant Cars Great Again
00:19:07  <andythenorth> that just leaves the problem of cargodist vs. autoreplace
00:19:40  <andythenorth> cargodist requires steeply increasing pax capacity per generation
00:20:02  <andythenorth> but that messes up non cargodist games, and makes autoreplace a shitshow on routes that aren't busy
00:20:43  <peter1138> I would stop trying to balance out different game modes that are inherently unbalanced due to the game itself.
00:20:51  <FLHerne> andythenorth: I *think* this save isn't how anyone plays the game :p
00:21:11  <andythenorth> FLHerne it has been expressly made to demonstrate the grf is broken, no?
00:21:25  <FLHerne> It looks to me like they've deliberately created a large flat map with infinite passenger supply, so they can test things statistically
00:21:26  <FLHerne> so that
00:21:39  <andythenorth> peter1138 I have "stopped" as in I stopped shipping the attempt to balance :)
00:21:50  <FLHerne> Given that no-one does play like this, I don't know if it matters :p
00:22:17  *** supermop_Home_ has quit IRC
00:23:19  <andythenorth> I wonder what happens if I give the lux cars cargo-aging of 0
00:23:23  <andythenorth> which disables aging
00:23:38  <andythenorth> and then leave everything else on the default value
00:24:02  <andythenorth> and then set the FIRS pax curve to maximum decay rate
00:24:14  * andythenorth is so hungry
00:24:18  <andythenorth> is it beyond eating time?
00:25:56  <FLHerne> never
00:27:41  * andythenorth eats crisps
00:33:02  <andythenorth> what does this save actually show?
00:33:45  <andythenorth> looking at the red, yellow, and white trains, I don't see what's broken?
00:35:52  <andythenorth> the green trains make no money because they use the standard pax coach
00:36:06  * FLHerne finally commits to sleep
00:36:49  <andythenorth> is it a trend?
00:37:20  <andythenorth> so Iron Horse is 'broken' on a 1024 tile long pax route
00:37:34  <andythenorth> using coaches that have age period set to 56 instead of 185
00:37:49  <andythenorth> with result that they don't make much money
00:38:39  <andythenorth> well no shit
00:44:46  *** FLHerne has quit IRC
00:46:30  * andythenorth has an idea
00:46:36  <andythenorth> see if it survives sleeping on it
00:46:37  *** andythenorth has quit IRC
01:12:33  <spnda> 031_aircraft.nml in the regression tests has stupid {} placement... its triggering me
01:31:45  *** spnda has quit IRC
01:34:58  <DorpsGek> [OpenTTD/OpenTTD] perezdidac updated pull request #8958: Feature: button to reset game settings to their default values https://git.io/JY7Yr
01:35:06  <DorpsGek> [OpenTTD/OpenTTD] perezdidac commented on pull request #8958: Feature: button to reset game settings to their default values https://git.io/JY7zE
01:41:41  <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #8959: Fix: [Network] State conditions for sending client info/quit packets https://git.io/JY7gc
02:35:53  <DorpsGek> [OpenTTD/team] yellowbigbird opened issue #184: [zh_CN] Translator access request https://git.io/JY76D
02:42:12  *** Wormnest has quit IRC
03:33:13  *** Flygon has joined #openttd
03:44:07  *** snail_UES_ has quit IRC
05:55:24  *** Flygon_ has joined #openttd
06:00:56  *** Flygon__ has joined #openttd
06:02:11  *** sla_ro|master has joined #openttd
06:02:14  *** Flygon has quit IRC
06:03:51  *** Flygon has joined #openttd
06:07:43  *** Flygon_ has quit IRC
06:09:43  *** Flygon__ has quit IRC
06:09:53  <DorpsGek> [OpenTTD/OpenTTD] jschadewald opened issue #8960: Game crashed while trying to get details on crashed plane https://git.io/JY5YT
06:18:32  <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #8960: Game crashed while trying to get details on crashed plane https://git.io/JY5YT
06:19:50  *** didac has quit IRC
06:26:38  *** nielsm has joined #openttd
06:30:39  *** andythenorth has joined #openttd
06:41:28  <andythenorth> yo
06:49:24  <reldred> ohayou gosaimasu
06:49:39  <reldred> I was thinking your up early but DST just ended here so
06:53:31  <andythenorth> I went to sleep at 02.30
06:53:36  <andythenorth> got up at 06.45
06:56:27  *** EER has joined #openttd
06:57:32  *** Wolf01 has joined #openttd
06:58:14  <reldred> Ooof
06:59:02  <reldred> Yeah I saw your conundrum last night, you really gotta stop letting dickwagon get to you man. Just design the set you want man, balance be damned :-)
07:07:40  *** keenriser has joined #openttd
07:07:49  *** keenriser has quit IRC
07:09:18  <SpComb> I'm so used to the game just not being balanced in terms of either late-game profit or cargodist pax demand vs capacity :P
07:11:21  <Wolf01> <reldred> Yeah I saw your conundrum last night, you really gotta stop letting dickwagon get to you man. Just design the set you want man, balance be damned :-) <- you really don't know andy, that is his reason of life :P
07:11:43  *** keenriser has joined #openttd
07:12:29  <SpComb> tell me, what's cargo aging/decay?
07:13:31  <andythenorth> you know the chart showing cargo payment rates?
07:13:34  <reldred> Wolf01: I know I know, I just don't like seeing people doubt themselves. He does good work :)
07:13:40  <andythenorth> and the payment declines over time?
07:14:09  <andythenorth> reldred the same obsession that means I actually finish and ship coherent sets...has a downside sometimes
07:14:26  <andythenorth> but also I'm pretty fed up with the newgrf spec also and that's showing through
07:14:36  *** EER has quit IRC
07:14:40  <andythenorth> poor choices made 10 years ago or more
07:14:44  <andythenorth> and we have to live with them
07:16:44  <SpComb> yes, the cargo payment decay curve makes sense... just momentarily confused, the choice of vehicle/wagon doesn't factor into that, does it?
07:18:20  <nielsm> I'm going to try to rewrite the discord integration I made using the MIT licensed discord-rpc library, if that works then I guess it can be shipped with OTTD out of the box?
07:18:35  <reldred> andythenorth: I know man I know, I just didn't like seeing LC get to you, I like seeing authors imaginations run wild and design the sets the way they want them to. If my style of gameplay doesn't work on their set then maybe I change my gameplay style, or I just use a different set. OpenTTD is such a broad platform that can be played in sooooooo many different ways.
07:19:25  <nielsm> "It sounds like this set is not designed for your playstyle. You are free to play with something else if you dislike this. Thank you."
07:21:00  <reldred> Or as I suggested on discord "lol fuck off"
07:22:40  <andythenorth> all LC does is prove that OpenTTD is broken in specific ways
07:22:50  <peter1138> Useful
07:22:53  <andythenorth> we know it's broken, but LC causes me to go and look why
07:23:03  <andythenorth> by digging through old forum threads etc
07:23:14  <andythenorth> the process is .... oof ... but nobody makes me do it
07:23:31  <andythenorth> I find interacting with LC ooof also and won't do it any more
07:23:35  <andythenorth> but this is self-inflicted
07:23:57  <andythenorth> for the map thing, it was ultimately useful
07:24:27  <andythenorth> for the Iron Horse thing, the actual fact LC uncovered was a bug / nml design issue
07:25:54  <andythenorth> which I will fix...when I know what the numbers should actually be
07:26:13  *** HerzogDeXtEr has joined #openttd
07:26:16  <andythenorth> gamed myself by testing with the bug in place, so the numbers are all off :)
07:26:40  <peter1138> Gah, should've gone Yamaha
07:26:46  <andythenorth> o_O
07:26:51  <andythenorth> you buying moped?
07:27:08  <andythenorth> SpComb vehicles can make the cargo decay faster or slower
07:27:26  <nielsm> peter1138: I'm listening to the TT music on a yamaha right now and it sounds pretty good, yes
07:27:43  <peter1138> That's closer
07:30:43  <andythenorth> have we seen? https://www.youtube.com/watch?v=xo-TmXPAmWo
07:34:10  <SpComb> interesting
07:34:47  <Wolf01> YT suggesting me "why mental health goes wrong and how to make sense of it"
07:35:01  <SpComb> meanwhile, I played some vanilla OpenTTD over the weekend, so I was trying to tell people that they shouldn't use the AsiaStar to haul cargo, but they didn't understand :P
07:35:29  <andythenorth> Wolf01 I think it's mixed up your recommendations with mine
07:35:33  <Wolf01> :D
07:36:01  <reldred> I never get those. As someone who has legit actually struggled the later half of 2020 and start of 2021 with mental health pretty fucking badly (Got dem happy pills now) you'd think YT would catch on and bend the reccomendations, but no, more goth and darkwave music. I'm okay with that tbh.
07:39:30  <andythenorth> Youtube knows me pretty well
07:39:35  <andythenorth> mostly shows things I like
07:39:46  <andythenorth> but now and then "Watch this conspiracy video"
07:39:53  <andythenorth> or random shit
07:40:24  <reldred> Lol, I don't get those. I've been getting some random engineering videos lately, X15 vid cropped up a day or two ago. But usually it's just music.
07:44:43  <andythenorth> I get the 'this song, broken down track by track by the producer'
07:44:46  <andythenorth> those are awesome
07:45:39  <reldred> heh, I get those for film making even though I really don't have any interest in them. Still get the reccos *eyeroll*
07:45:59  <andythenorth> the ones that show the mistakes in Blue Monday are good
07:46:17  <reldred> ooooh
07:46:26  <reldred> I mean I love New Order but still
07:47:53  <andythenorth> this is good https://nylon.net/ttd/new.htm
07:48:06  <andythenorth> "A new industry in the 1800s will be the STREET SWEEPER."
07:48:21  <andythenorth> ok let's turn up Blue Monday https://www.youtube.com/watch?v=FYH8DsU2WCk
07:48:26  <andythenorth> on my 5w laptop speakers :P
07:48:55  <reldred> I'm listening to some more modern stuff atm
07:49:08  <reldred> I'm fond of this artist: https://www.youtube.com/watch?v=e7Tc5Nk_n4M
07:49:38  <reldred> Darkwave is a distant descendent of New Wave so yeah.
07:50:00  <reldred> I still listen to a lot of 80's New Wave as well.
07:50:42  <andythenorth> pls explain DAG of new wave, dark wave, synth wave
07:50:54  <andythenorth> graphviz or go home
07:50:57  <reldred> DAG?
07:51:02  <andythenorth> directed graph
07:51:15  * andythenorth doesn't actually care
07:51:22  <reldred> LOL
07:51:25  <andythenorth> but there used to be neat diagrams in music magazines
07:51:29  <reldred> Good because I wasn't graphing shit
07:51:31  <andythenorth> explaining genres
07:51:33  <reldred> :P
07:56:58  <andythenorth> not a rickroll (Happy Mondays) https://www.youtube.com/watch?v=p5HhwecdCQw
07:58:14  *** EER has joined #openttd
08:04:09  <reldred> My client previews/embeds vids, I cannot be rickrolled 😎
08:04:17  <LordAro> up to 110 bugs :(
08:04:28  <andythenorth> local maxmia
08:04:31  <andythenorth> maxima *
08:04:35  <andythenorth> congrats to us
08:07:21  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #8960: Game crashed while trying to get details on crashed plane https://git.io/JY5YT
08:08:23  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #8949: Unable to abandon/quit https://git.io/JYS9b
08:08:26  <DorpsGek> [OpenTTD/OpenTTD] LordAro closed issue #8949: Unable to abandon/quit https://git.io/JYS9b
08:11:49  <peter1138> Oof. Playing TTD music in the background while working. There's definitely some bum-notes.
08:12:25  <andythenorth> why am I listening to Stone Roses?
08:12:28  <andythenorth> never really liked them much
08:12:31  <andythenorth> something different I guess
08:13:13  <TrueBrain> LordAro: surprising, how many people go: owh, a template, lets remove it completely and ignore it ..
08:13:24  <TrueBrain> I wonder if we can do anything about that
08:13:43  <LordAro> "if this template is not filled out properly, the issue may be closed without further comment"
08:13:59  <TrueBrain> and you think they will read that? :P
08:14:12  <LordAro> no, but it'll give an excuse to close it :p
08:14:25  <TrueBrain> :D
08:14:33  <TrueBrain> right, today, we punch NATs from C++
08:14:37  <TrueBrain> no clue how I am going to do this
08:15:09  <TrueBrain> and why is it still snowing ..
08:15:19  <TrueBrain> white christmas is the dream, not white easter
08:16:29  <andythenorth> so not snow here
08:16:35  <andythenorth> full on blue sky and sun
08:16:44  <andythenorth> I am going to stay in all day and not go near the windows!
08:16:51  <TrueBrain> I am looking at near horizontal snow here
08:16:54  <TrueBrain> not vertical, horizontal
08:16:54  <andythenorth> oof
08:17:17  <TrueBrain> I reseeded my grass last week
08:17:20  <TrueBrain> this is not helping :P
08:18:21  <orudge> Our daffodils are looking rather sad
08:18:36  <reldred> Lol, explains why a friend that neck of the woods was surprised at my photo I posted this morning that had bright blue skies 😂
08:18:45  <andythenorth> so today I will mostly be complaining that I stayed up too late
08:20:16  <TrueBrain> we expected nothing less of you, honestly
08:20:19  <TrueBrain> so the floor is yours
08:21:32  <andythenorth> sorry, too tired to complain
08:21:36  <andythenorth> did I mention?
08:23:01  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #8959: Fix: [Network] State conditions for sending client info/quit packets https://git.io/JY5w4
08:23:20  <TrueBrain> did not really review ^^, but I think we can trust it enough to just blindly approve it :)
08:23:42  <TrueBrain> "code looks good" :D
08:24:36  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8926: Fix #8922: Show vehicle window for single vehicle in shared order grouping https://git.io/JY5wM
08:25:00  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8926: Fix #8922: Show vehicle window for single vehicle in shared order grouping https://git.io/JY5wQ
08:25:52  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8951: Fix graphical issues with dragging measurement tooltips in the viewport https://git.io/JY5wh
08:26:10  <reldred> Was some exception with the sprite sorter or something a known issue in trunk or did multitile depots pr get broken again? Trying to decide whether I bother the patch author about that one or not.
08:26:19  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8955: Change: [CMake] Improve 'In-source build' error message https://git.io/JY5rf
08:26:33  <reldred> I do want to see that PR make some progress. I'm awfully fond of it.
08:27:14  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8953: Fix: Use FluidSynth default soundfont https://git.io/JY5rn
08:28:43  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8950: Make effect volume slider non-linear https://git.io/JY5ra
08:40:55  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8941: Fix: fix nullptr deletion in DeleteWindowById https://git.io/JY56J
08:43:55  *** FLHerne has joined #openttd
08:44:01  *** Gustavo6046 has quit IRC
08:45:27  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8894: Replace IConsolePrint*(F)( calls with specific console level calls https://git.io/JY56K
08:50:00  <DorpsGek> [OpenTTD/OpenTTD] LordAro updated pull request #8936: Add: Plural support for Romanian translations https://git.io/JYX84
08:50:40  <DorpsGek> [OpenTTD/eints] LordAro merged pull request #40: Add: plural form 14, used in Romanian. https://git.io/JYyzf
08:51:15  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8936: Add: Plural support for Romanian translations https://git.io/JY5i3
09:01:31  *** roadt_ has joined #openttd
09:02:51  *** roadt__ has quit IRC
09:03:17  <TrueBrain> okay, to make STUN work and not drain all our resources, we need to punch a hole over UDP and TCP :P
09:03:35  <TrueBrain> when a server is behind a NAT, we need a way to tell him to punch a hole to a new client .. so I need something persistent to the server
09:03:53  <TrueBrain> doing that over TCP is possible, but ... say we have on peak 10k active players, which all want their friends to be able to join
09:03:59  <TrueBrain> would require 10k active TCP connections :D
09:04:02  <TrueBrain> that might be a bit too much
09:05:21  <TrueBrain> so we can do that part over UDP
09:05:30  <TrueBrain> which requires a keep-alive signal every N seconds
09:05:43  <TrueBrain> which we can use to make servers update their info on the master-server side
09:06:39  <TrueBrain> this will be a non-trivial dance, that is for sure :D
09:07:40  <LordAro> how much can we offload to the server itself?
09:07:52  <LordAro> (rather than master-server)
09:07:56  <TrueBrain> I do not understand the question, sorry?
09:09:01  <LordAro> not that i understand any of this, but it seems like once the initial connection has been made everything else can be done client-server, rather than client-masterserver-server ?
09:09:11  <TrueBrain> no
09:09:15  <TrueBrain> STUN is about punching holes
09:09:19  <TrueBrain> a server that is behind a NAT
09:09:26  <TrueBrain> needs a STUN server for others to connect to
09:09:35  <TrueBrain> as it needs a way to exchange peer info with the other side
09:09:47  <TrueBrain> well, yes, depends on what you mean exactly
09:09:56  <TrueBrain> once a client<->server are connected, we have nothing to do with it anymore
09:10:02  <TrueBrain> my problem is to get them connected
09:10:16  <TrueBrain> every server that is behind a NAT needs some way of being told someone wants to join
09:10:43  <TrueBrain> so every server behind a NAT needs some persistent connection to our STUN server
09:10:45  <LordAro> right
09:10:48  <TrueBrain> if that makes sense :P
09:11:00  <LordAro> i think so :)
09:11:24  <TrueBrain> the problem is, how long a NAT tracks an UDP stream is a bit undefined
09:11:27  <TrueBrain> "at least several seconds" :P
09:11:35  <LordAro> how does factorio do it, ooi? they have a similar multiplayer model, iirc?
09:11:44  <TrueBrain> they use Steam Relay (SDR)
09:11:52  <LordAro> oh, they actually use the steam stuff
09:11:57  <TrueBrain> which is a cloak relay network with persistent connection to the Steam network
09:12:03  <TrueBrain> you can also run it outside of Steam
09:12:07  <TrueBrain> which uses normal TCP
09:12:11  <TrueBrain> from what I could figure out at least
09:12:16  <LordAro> i see
09:12:16  <TrueBrain> or UDP, I don't even know what they use :P
09:12:32  <TrueBrain> building our own relay is a bit expensive, but by far the easiest solution :)
09:12:41  <TrueBrain> 100% always working, basically :P
09:12:58  <TrueBrain> STUN for UDP is .. mostly .. working
09:13:06  <TrueBrain> STUN for TCP is .. less often but also commonly working
09:13:18  <TrueBrain> and STUN means client<->server traffic is direct after setup
09:14:38  <DorpsGek> [OpenTTD/OpenTTD] kneekoo commented on pull request #8936: Add: Plural support for Romanian translations https://git.io/JY51y
09:15:35  <TrueBrain> always lovely if you have to optimize to cost, not to best functionality :P
09:18:11  <milek7> well server could just keep tcp connection to master-server?
09:18:20  <TrueBrain> what is funny about a server using STUN, he never really has a listening server open .. it just opens long enough for a client to connect :D
09:18:35  <TrueBrain> milek7: that is what I said: 10k TCP connections .. that might be pushing a lot of things a bit :P
09:19:42  <milek7> honestly 10k doesn't seem much :P
09:19:50  <TrueBrain> 10k persistent TCP connections?
09:24:16  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8936: Add: Plural support for Romanian translations https://git.io/JY5Dt
09:24:40  <milek7> "In 1999 one of the busiest ftp sites, cdrom.com, actually handled 10000 clients simultaneously"
09:25:05  <milek7> and that was over 20 years ago ;p
09:25:23  <TrueBrain> there is a bit of a difference between handling HTTP requests and having 10k persistent TCP connections, but okay ..
09:25:38  <TrueBrain> the AWS bill alone would be through the roof
09:25:44  <DorpsGek> [OpenTTD/OpenTTD] nielsmh opened pull request #8961: Add: Larger size renderings of the logo/icon https://git.io/JY5D0
09:26:53  <milek7> why? 10000 simultaneous http is 10000 tcp after all
09:27:19  <LordAro> milek7: short lived != persistent
09:27:32  <Xaroth> and http has a bit more overhead than just tcp.
09:27:51  <milek7> LordAro: I'm not convinced there's any difference
09:28:05  <milek7> AWS bill will be insane of course, but what AWS isn't? :P
09:28:15  <milek7> *what on
09:29:46  * andythenorth naptime
09:29:57  <andythenorth> involuntary sleeping
09:30:08  <andythenorth> woke up now though
09:31:06  <TrueBrain> I hope you are not at work :P
09:31:11  <peter1138> Yay, what a mess up.
09:31:47  <andythenorth> TrueBrain sometimes I sleep at work
09:31:50  <andythenorth> known thing
09:31:53  <andythenorth> but yeah no
09:31:57  <andythenorth> "trending" https://www.tt-forums.net/viewtopic.php?p=1243382#p1243382
09:33:32  <SpComb> AWS NLB pricing is 100k active TCP connections per LCU, so it would depend on the EC2 backend side of things
09:33:52  <TrueBrain> SpComb: ALB is 3k active TCP connections per LCU :P
09:33:57  <TrueBrain> but you are right, NLB now also supports IPv6
09:34:02  <TrueBrain> so that becomes viable
09:34:08  <SpComb> ALB is HTTP-only
09:34:12  <TrueBrain> well aware
09:34:49  <TrueBrain> hmm .. but did they already fix outgoing IPv6 from ECS
09:34:55  <TrueBrain> hard to test ...
09:35:01  <peter1138> NLB?
09:35:06  <TrueBrain> Network Load Balancer
09:35:55  <TrueBrain> SpComb: my initial idea was to simply use HTTPS via a REST API, as that makes a lot of things a lot simpler
09:36:59  <milek7> sticking http into something that doesn't need it sure makes it simpler, suuure.. :D
09:37:08  <SpComb> with AWS Lambda function pushing each game-state tick into an SQS queue? :P
09:37:27  * SpComb has no idea what's being designed
09:37:40  <TrueBrain> SpComb: haha, no, although that would be interesting :D
09:38:54  <TrueBrain> SpComb: in short, we want to use STUN to allow people behind NATs to connect to each other to remove all the "open your firewall" issues people are having
09:39:17  <TrueBrain> there are two things that are needed for this: a "lobby" system, where people can find each other based on tickets
09:39:27  <TrueBrain> and a coordinator, that tells both sides to punch their NAT at a certain moment
09:39:44  <TrueBrain> so there is a lot of bookkeeping involved
09:39:46  <TrueBrain> like .. lots :P
09:40:08  <TrueBrain> and currently I am making the rounds: what is the non-expensive solution that doesn't take weeks to implement
09:40:45  <TrueBrain> for example, the current master-server uses DynamoDB; what would the cost do if we keep using that for such implementation
09:42:37  <TrueBrain> but the NLB is interesting .. we now run our "custom" NLB via 2 EC2 instances
09:42:54  <TrueBrain> as we needed IPv6 support
09:44:27  <TrueBrain> but I also cheated "pproxy" on there, as ECS couldn't query servers over IPv6 correctly :D
09:44:53  <TrueBrain> (mainly as ECS doesn't have IPv6 :P)
09:45:00  <LordAro> TrueBrain: seen https://steamcommunity.com/app/1536610/discussions/0/3076496088126186386/ ?
09:45:18  <TrueBrain> I did now :)
09:46:45  <TrueBrain> will forward the first 3 parts to 2TallTyler, as he did most of that work
09:50:13  <andythenorth> quite good feedback I thought
09:51:24  <TrueBrain> I gave him an award :)
09:53:50  <TrueBrain> hmm .... I guess we do have to support older OpenTTD versions for the master-server for a while, don't we? :P
09:54:02  <LordAro> forever, ideally
09:54:09  * andythenorth bad habit of refreshing steam pages currently
09:54:15  <andythenorth> like opposite of doom scrolling
09:54:51  <TrueBrain> what we could do, is use STUN for all servers, even if they do not have a NAT
09:54:58  <TrueBrain> that would mean servers no longer need to have their UDP port bound
09:55:16  <peter1138> IPv6 though
09:55:22  <TrueBrain> that in turn would mean the network flow becomes simpler (it is pretty complex atm)
09:55:29  <TrueBrain> doing a STUN on IPv6 has some use
09:55:33  <TrueBrain> mostly, it opens firewalls
09:55:37  <TrueBrain> in the same way it opens NATs
09:55:54  <peter1138> Hmm, well, that's nasty.
09:56:09  <TrueBrain> currently, a server announces itself via another port to tell the master-server it can be queried on the game port
09:56:10  <peter1138> Getting through NAT is fine, breaking through firewalls, not really.
09:56:20  <TrueBrain> the maser-server queries this, and tells back for the other port that it was successful
09:56:31  <TrueBrain> turns out, hosting that on a cloud provider is difficult :D (lot of coordination needed)
09:56:49  <TrueBrain> peter1138: how are things like UPnP different?
09:57:32  <peter1138> UPnP is a router feature that can be disabled/administered.
09:57:49  * andythenorth might be getting somewhere now https://github.com/andythenorth/iron-horse/commit/c956f2c0424d37d41e434f801c29146c8f03f329
09:57:53  <TrueBrain> its is basically the same as a websocket etc
09:58:02  <TrueBrain> STUN creates an outbound connection
09:58:04  <andythenorth> left a long commit msg for when future me declares I'm an idiot
09:58:05  <TrueBrain> which can also be used for inbound traffic
10:02:10  <peter1138> Hmm, -1 this morning, maybe I can have the heating on./
10:02:41  <peter1138> Oh, thermostat says it's 20, but my feet says it's freezing.
10:04:54  <andythenorth> https://www.wynsors.com/products/wynsors-claw-6163096?gclid=EAIaIQobChMI4v-Mjq_p7wIVRwWiAx249Q8KEAQYAyABEgJ7jvD_BwE&gclsrc=aw.ds
10:05:35  <TrueBrain> peter1138: anyway, doing a STUN on a public IP (either IPv4 or IPv6) has no effect; just always doing it makes the implementation a lot easier :)
10:05:59  <peter1138> kk
10:06:47  <TrueBrain> hmm .. dualstack might also become a bit cleaner
10:07:07  <TrueBrain> now the client has to pick one or the other
10:07:15  <TrueBrain> but we can now "autodetect" which are available, and try all
10:12:20  <SpComb> are we talking STUN and/or TURN both?
10:14:16  * LordAro doomscrolling negative reviews
10:14:26  <peter1138> Is it possible to use colours in the "say" console command?
10:14:37  <LordAro> https://steamcommunity.com/profiles/76561198012889292/recommended/1536610/ is a curious one, as they've now got 20 hours in it, 14 more since they reviewed
10:14:57  <LordAro> https://steamcommunity.com/profiles/76561198411932041/recommended/1536610/ no idea about this one, some sort of rendering issue?
10:15:12  <LordAro> or they've just put their game into Russian and just been very confused
10:16:48  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8961: Add: Larger size renderings of the logo/icon https://git.io/JY5dP
10:17:08  <SpComb> but some kind of just-works multiplayer server would be pretty important for steam players :I we played with some friends over the easter weekend, and getting a working server was a big pain point
10:17:22  <SpComb> playing on a random public server isn't really an option, you really do want to host your own
10:19:30  <andythenorth> LordAro it's like 98% positive or something
10:19:33  <andythenorth> insaneo
10:19:49  <LordAro> i suppose i should look through the positive reviews too
10:20:51  <peter1138> `Nah
10:20:55  <peter1138> Too many
10:21:22  <SpComb> https://steamcommunity.com/sharedfiles/filedetails/?id=2442896129 meme content for OpenTTD :P
10:21:48  <LordAro> they used the correct ship this time!
10:22:44  <LordAro> TrueBrain: https://steamcommunity.com/app/1536610/discussions/0/3076496088126217139/ also this one which you may like to weigh in on
10:22:57  <LordAro> i can't remember what the ultimate result of all the screen-tearing stuff was
10:22:58  <TrueBrain> SpComb: STUN first .. TURN maybe later :)
10:23:09  <TrueBrain> and yes, exactly that scenario is the one we want to fix :)
10:24:06  <peter1138> LordAro, yeah, I get tearing in full-screen mode.
10:24:45  <TrueBrain> LordAro: nothing for me to add there. He got tearing no matter what he does .. not sure if that is something we can fix :D
10:24:56  <TrueBrain> The suggestions made were spot-on
10:25:44  <TrueBrain> okay, switching to NLB + IPv6 ECS requires me to redo parts of the infra ... lets not do that
10:25:53  <nielsm> I think there is some GL extension that can be set to make PresentBuffers wait for vsync?
10:25:53  <peter1138> Having a vsync on/off option in the game might be useful, dunno.
10:25:54  <TrueBrain> but NLB does support Proxy Protocol v2, which is very nice
10:26:18  <TrueBrain> peter1138: it is what all the big-boy games have, so I guess there is something to that :)
10:26:34  <TrueBrain> you can now force vsync on with a video driver command I believe
10:26:39  <TrueBrain> -vwin32-openg:vsync ?
10:26:48  <TrueBrain> anyway, michi_cc 's department :P
10:26:49  <TrueBrain> :D :D
10:27:06  <TrueBrain> he knows far better about what the OpenGL driver does and doesn't do :)
10:30:20  <peter1138> Yeah, that's a bit low level for a player on Steam :D
10:30:37  <TrueBrain> you can at least test if it fixes the issue I guess? :D
10:30:49  <TrueBrain> don't most games enabled vsync when going fullscreen, and disable when leaving, or something?
10:30:56  <TrueBrain> I never pay attention to that, as who plays in full screen these days?
10:31:25  *** FLHerne has quit IRC
10:34:45  <DorpsGek> [OpenTTD/OpenTTD] zoltantamasvajda opened issue #8962: Build error on armhf architecture https://git.io/JY5Af
10:36:12  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #8962: Build error on armhf architecture https://git.io/JY5Af
10:36:15  <DorpsGek> [OpenTTD/OpenTTD] LordAro closed issue #8962: Build error on armhf architecture https://git.io/JY5Af
10:36:18  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #8962: Build error on armhf architecture https://git.io/JY5Af
10:36:19  <TrueBrain> damn you LordAro !
10:36:22  <TrueBrain> I WAS DOING THAT :)
10:36:23  <LordAro> bwhaha
10:37:06  <DorpsGek> [OpenTTD/OpenTTD] zoltantamasvajda commented on issue #8962: Build error on armhf architecture https://git.io/JY5Af
10:37:28  <TrueBrain> commented, but there is nothing there? :P
10:37:56  <milek7> compiler bug?
10:39:21  <LordAro> TrueBrain: GH web interface seems to be a bit slow today
10:39:32  <TrueBrain> you can say that again :)
10:39:35  <TrueBrain> strong caching? :P
10:43:26  <michi_cc> TrueBrain: What will your framerate limit code do if vsync slows it down?
10:43:47  <TrueBrain> michi_cc: last I checked, Paint() is delayed
10:44:04  <michi_cc> V-Sync off by default was really about fast-forward speed, but now that we have mostly decoupled that, we could probably just turn it on.
10:44:16  <TrueBrain> so that means drawing notices it misses its deadline, and will either try to catch up (and fail) or skip a frame
10:44:42  <TrueBrain> having vsync on with non-fullscreen also has some drawbacks if I remember correctly
10:45:17  <TrueBrain> easiest way to test: set refresh rate to 144, your display to 60, and enable vsync
10:45:22  <TrueBrain> and see what it does :D
10:45:33  <TrueBrain> I think video-performance time will be a high value .. at least, I hope so :D
10:47:06  <DorpsGek> [OpenTTD/OpenTTD] kneekoo commented on pull request #8936: Add: Plural support for Romanian translations https://git.io/JY5x2
10:47:15  <DorpsGek> [OpenTTD/OpenTTD] michicc approved pull request #8958: Feature: button to reset game settings to their default values https://git.io/JY5xV
10:47:48  <DorpsGek> [OpenTTD/OpenTTD] michicc merged pull request #8958: Feature: Button to reset game settings to their default values https://git.io/JY7Yr
10:47:56  <peter1138> Hmm, wonder how long it'll take before people realise I have asymmetric distribution turned on on my server.
10:49:50  <andythenorth> 99
10:50:35  <peter1138> Ok.
10:51:03  <peter1138> Doesn't take long to get 10+ players at the moment.
10:52:53  <milek7> TrueBrain: I wonder how that interacts with freesync displays
10:53:51  <michi_cc> TrueBrain: Video output time is high (already with 60 Hz), graphics frame rate is red, and FF speed is slightly reduced.
10:54:13  <TrueBrain> michi_cc: first two are completely expected
10:54:17  <peter1138> They still have vsync, it's just not limited to a fixed rate.
10:54:22  <TrueBrain> second is a bit surprising; it should be a bit faster, I would think :D
10:54:48  *** Gustavo6046 has joined #openttd
10:54:56  <TrueBrain> but the game does notice it is running at 60fps for graphics at that point right?
10:55:19  <TrueBrain> there is a real problem if people use no_threads with vsync btw :P That would just kill the game :D
10:55:21  <TrueBrain> just don't do that :P
10:55:27  <TrueBrain> no_threads is a debug command :D
10:55:28  <michi_cc> Yes, actual graphics frame rate is as expected.
10:55:38  <TrueBrain> sweet; well, that is surprisingly low effort :D
10:55:54  <michi_cc> With no vsync I hit my current 25x FF, with vsync I get 20-22x.
10:56:39  <TrueBrain> odd
10:56:49  <TrueBrain> the GameThread has more chance of hitting his mark
10:57:21  <TrueBrain> would need to debug that to see what is going on
10:59:50  <Wolf01> <Wolf01> YT suggesting me "why mental health goes wrong and how to make sense of it" <- I should get some drugs, but bad ones
11:04:04  <TrueBrain> hmm .. am I going to allow persistent server tokens, so people can have tokens like "reddit1" :P
11:04:13  <TrueBrain> means it also needs some cookie to proof you are the owner .. bah :D
11:04:17  <TrueBrain> guess not
11:04:20  <TrueBrain> too much effort, too little gain :D
11:04:27  <nielsm> nah the tokens should be meaningless
11:04:35  <TrueBrain> on the other hand, we could sell them :P :P
11:04:37  <nielsm> and not something the user normally sees at all
11:04:49  <peter1138> NFT?
11:05:32  <nielsm> in the shower I thought about selling a DLC that places a file in your steam ottd folder that causes the game to display a "thank you <steam username> for supporting ottd development" in the about box or on the main menu or something
11:05:40  <peter1138> Have they found the secret crypto miner embedded into the pathfinding and processing loops yet?
11:05:54  <peter1138> TTD ran on a 486, after all...
11:07:26  <DorpsGek> [OpenTTD/OpenTTD] btzy dismissed a review for pull request #8926: Fix #8922: Show vehicle window for single vehicle in shared order grouping https://git.io/JY5wM
11:07:29  <DorpsGek> [OpenTTD/OpenTTD] btzy updated pull request #8926: Fix #8922: Show vehicle window for single vehicle in shared order grouping https://git.io/JYoqP
11:07:48  <DorpsGek> [OpenTTD/OpenTTD] btzy commented on pull request #8926: Fix #8922: Show vehicle window for single vehicle in shared order grouping https://git.io/JYdeZ
11:07:53  <TrueBrain> nielsm: haha, that kinda works :p
11:08:39  <andythenorth> can I NFT Iron Horse?
11:08:52  <andythenorth> like an NFT for the edition with Restaurant Cars not removed
11:08:57  <andythenorth> limited 500 pieces
11:09:38  <andythenorth> Make NFTs Great Again
11:12:36  <peter1138> Cool, desync errors. That's nice.
11:12:39  <nielsm> non-fungible trains
11:12:45  <LordAro> oh no
11:12:46  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8926: Fix #8922: Show vehicle window for single vehicle in shared order grouping https://git.io/JYdvU
11:13:01  <peter1138> Yeah.
11:13:08  <peter1138> Two clients. Damn it.
11:14:10  <peter1138> Although interestingly it was the same IP for both. Hmmmmm.
11:14:56  <andythenorth> hmm ffwd button gets stuck in down state on mac sometimes
11:15:01  <andythenorth> no reliable repro thoughh
11:15:12  <andythenorth> tab a few times clears it
11:17:49  <Timberwolf> I got TTO running on a 386/20 once.
11:17:59  <Timberwolf> I'm not sure how playable it was.
11:18:17  <Timberwolf> At the age I did it, I had a tolerance for games running at around 8-10fps that I've since lost.
11:18:37  * andythenorth plays Warcraft 1 in Dosbox
11:18:51  <andythenorth> sound sample rate runs at about 50% when my mac throttles
11:18:52  <andythenorth> it's lolz
11:19:07  <andythenorth> 'y o u r  o r d e r s'
11:19:35  <Timberwolf> Correct output and silence modulated by a square wave?
11:21:51  <Timberwolf> Or half speed?
11:21:51  <peter1138> construction.max_tunnel_length ... hmm, can't change this during a multiplayer game. nice.
11:22:23  *** WormnestAndroid has quit IRC
11:22:52  <peter1138> No desync since. We'll see.
11:23:47  *** WormnestAndroid has joined #openttd
11:27:17  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8943: Volume controls in Game Options window https://git.io/JYdJP
11:28:49  <peter1138> ^ Possible to have a promiment "MUTE" button on the intro screen?
11:31:59  <peter1138> Timberwolf, ships and aircraft when?
11:36:15  <peter1138> With CDist, I suddenly fancy using shared infrastructure...
11:36:22  <Wolf01> Sell DLCs with starter packs, M, 3 trains with 5 wagons, 10 RVs
11:36:47  <Wolf01> 100 track pieces
11:37:32  <peter1138> purchase 200 landscaping operations
11:44:21  * andythenorth starts a new game
11:44:26  <andythenorth> 'newgame' 90 times
11:44:34  <andythenorth> trying to get lakes without FIRS ports in
11:44:40  <andythenorth> one day I fix that in grf
11:45:00  <andythenorth>  circular search of 4096 tiles, probably fine right?
11:45:42  * andythenorth has a code generator, not afraid to use it
11:50:36  *** blathijs has quit IRC
11:54:32  <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #8955: Change: [CMake] Improve 'In-source build' error message https://git.io/JY7fB
11:55:54  *** Flygon_ has joined #openttd
11:56:17  *** blathijs has joined #openttd
11:56:24  <Wolf01> BTW, did I miss an april fool or we decided to stop that year I almost broke internet?
12:00:59  <andythenorth> remove ships
12:02:15  <Timberwolf> peter1138: I'm trying to revisit stations, I keep failing at willpower and spending my computer time on Flight Simulator or BeamNG.drive.
12:02:43  *** Flygon has quit IRC
12:04:13  <Timberwolf> I hadn't thought about boats before.
12:04:34  <peter1138> Hmm, did my work to make station tiles graphics behave more like other tiles graphics get anywhere...
12:04:36  <Timberwolf> What did we agree on that, a boat set only needs Small Boat, Large Boat, and then in the 1960s you add Fast Boat?
12:04:51  <andythenorth> Hover Zellepins
12:05:12  <peter1138> Mixed cargo ships would be nice
12:05:23  <peter1138> Articulated ships...
12:05:40  <Timberwolf> I wonder how to make an ekranoplan a) work and b) not be hopelessly unbalanced.
12:05:42  <andythenorth> be good for mail / pax combo
12:05:49  <andythenorth> articulated barge trains
12:05:56  <andythenorth> niche cases I reckon though :D
12:06:11  <andythenorth> station-tile-as-objects though
12:06:16  <andythenorth> can I fund your Patreon?
12:06:29  <andythenorth> oh wait, that takes the fun out of it :D
12:06:34  <peter1138> Fund my new glasses. I'm running at 1x on 2560x1440...
12:06:35  <TrueBrain> or does it ..... :P
12:07:29  <peter1138> I think newgrf docks implemented industry-tile-type graphics for station tiles.
12:07:38  <andythenorth> whatever it was, it looked nice
12:09:22  <andythenorth> hmm how many players we have?
12:09:32  <TrueBrain> 12
12:09:34  <TrueBrain> 42?
12:09:40  <andythenorth> yes
12:09:46  <TrueBrain> rabbit
12:09:54  <andythenorth> if it was a business
12:10:23  <andythenorth> we'd have to do it bare bones at about £500k / year, or a bit bigger at £2.5m
12:10:34  <andythenorth> there's not much middle ground due to management bollocks
12:10:50  <andythenorth> how many players can we get for £10 / month? :P
12:10:59  <TrueBrain> at least 2
12:11:03  <TrueBrain> reading the Steam Discussions :P
12:11:14  <andythenorth> ok well it's > 0
12:11:33  <andythenorth> need about 5000 on repeating subscription
12:11:43  *** glx has joined #openttd
12:11:43  *** ChanServ sets mode: +v glx
12:11:54  <andythenorth> also depends how high our infra costs are as %
12:12:14  <andythenorth> we charge for infra and mods, not the original client
12:13:05  <TrueBrain> 	static const int MAX_PACKETS_TO_RECEIVE = 42; <- gems in our code :D
12:13:11  <TrueBrain> I know exactly who wrote that, and it wasn't me :D
12:13:50  <glx> rb ?
12:13:55  <TrueBrain> yuppp
12:35:21  *** supermop_Home_ has joined #openttd
12:35:23  <supermop_Home_> yo
12:46:56  <andythenorth> yo
12:52:08  <peter1138> no
12:52:48  <LordAro> on
12:52:56  <TrueBrain> off
12:55:36  <peter1138> Oh, I found a mug of tea in the kitchen.
12:55:49  <LordAro> how long has it been there?
12:56:05  <TrueBrain> it started in the living room
12:56:21  <planetmaker> moin. I just had a very good laugh at the issue label "missing intention". I guess it should be "missing indention"?
12:56:48  <TrueBrain> no .. it says the right thing :P
12:56:56  <TrueBrain> why would we label something that is missing indention?
12:56:58  *** snail_UES_ has joined #openttd
12:57:11  <TrueBrain> no clue what indention is btw :P
12:57:14  <TrueBrain> indentation?
12:57:24  <TrueBrain> ah, that is the same
12:57:26  <TrueBrain> so still no :D
12:57:48  <planetmaker> indentation yes
12:58:01  <TrueBrain> but no, intention is what it should read :)
12:58:14  <TrueBrain> https://www.merriam-webster.com/dictionary/intention <- this word :)
12:58:40  <planetmaker> I know what intention means... that's why I laughed :)
12:59:00  <TrueBrain> only kept for the most special of pull requests :)
12:59:24  <TrueBrain> was especially an issue when we did not have a Pull Request template yet
12:59:29  <planetmaker> ok, I see :) So basically "nice idea. But please try again :D"
12:59:42  <LordAro> "please explain yourself"
12:59:48  <TrueBrain> no, more: wtf is this doing and why on earth should we want this you did nothing to tell us why you would have this change approved :P
12:59:59  <TrueBrain> +like
13:00:02  <TrueBrain> what-ever, english is hard today :(
13:00:25  <planetmaker> ah. So you are missing an explanation for the necessity of the patch?
13:00:26  <TrueBrain> it was created for one single person, that is the worst part :D
13:00:35  <peter1138> Wasn't that specifically for S... ah...
13:00:39  <TrueBrain> peter1138: :D
13:00:55  <TrueBrain> planetmaker: yup. We now have that in the PR template
13:00:56  <peter1138> All these long complicated commits to do things, with no *reason* specified.
13:01:05  <TrueBrain> so we tell people to fill in the template, which is a bit nicer way of saying the same :P
13:01:27  <planetmaker> yeah, I like the template a lot
13:01:34  <peter1138> Bloody VS Code, nearly every time I switch branches it messes up intellisense.
13:02:04  <TrueBrain> but in December there were 100+ PRs of which most were old .. so I used these labels to sort out to "we should do something with this" vs the "yeah, whenever I can muster the energy"
13:03:48  <TrueBrain> okay .. took an hour to implement a STUN-like protocol in OpenTTD .. adding new network protocols in OpenTTD is a lot of copy/paste :P
13:03:56  <peter1138> Doesn't andy just close them all anyway?
13:03:57  <TrueBrain> now for a STUN-server ..
13:04:05  <andythenorth> peter1138 I stopped closing them
13:04:10  <TrueBrain> and after that: logic for a handshake so client/server knows when to do STUN requests .. ugh ..
13:04:13  <TrueBrain> complex shit :P
13:04:24  <andythenorth> last time I looked they were all really bona fide etc
13:04:29  <andythenorth> hire more devs!
13:04:34  <andythenorth> so we can make bugs faster
13:05:51  * andythenorth sleepy
13:06:08  <TrueBrain> tell us again why you are sleepy?
13:06:26  <andythenorth> stayed up late
13:06:30  <TrueBrain> interesting
13:06:32  <TrueBrain> tell me more
13:06:32  <andythenorth> got up early
13:06:42  <andythenorth> you were there for most of it TBH
13:06:48  <andythenorth> why do you need me to repeat it?
13:06:51  <TrueBrain> yet I am not sleepy
13:06:55  <TrueBrain> so .. hmm .. weird :P
13:06:57  <andythenorth> seems like a boring topic to keep mentioning
13:07:06  <andythenorth> :P
13:07:11  <TrueBrain> :D
13:07:16  <andythenorth> did you get up at 06.45?
13:07:23  <TrueBrain> close to that, but no, a bit later
13:07:25  <TrueBrain> like an hour
13:07:27  <TrueBrain> so that is the difference
13:07:28  <andythenorth> ouch
13:07:29  <TrueBrain> I see :P
13:07:45  <andythenorth> wife gets up at 05.30
13:08:08  <TrueBrain> see, that is the difference .. I opted-out of that feature
13:08:11  <TrueBrain> can't say I regret that :P
13:10:47  <TrueBrain> hmm .. our network protocol is LE? Lol?
13:11:09  <TrueBrain> which weirdo invented that
13:16:40  <glx> you ?
13:16:44  <TrueBrain> yes :(
13:17:36  <glx> BE or LE should work the same, as long it's not mixed
13:17:48  <LordAro> good check to make sure you're not assuming byte order :p
13:17:51  <TrueBrain> network order is normally BE
13:17:56  <TrueBrain> so it gives you mindfucks when you write software :P
13:18:09  <TrueBrain> its easily fixed .. just .. uncommon :)
13:18:22  <TrueBrain> and clearly an noob at the wheel :P
13:19:16  <michi_cc> But everything of important runs LE, so why bother with a BE network protocol? :)
13:19:24  <TrueBrain> haha :D
13:19:51  <glx> everything in openttd was LE (except macos at that time)
13:21:06  <michi_cc> Everything in personal computing is LE, and things like ARM that do have BE specified are run in LE mode for all relevant OSes.
13:21:38  <LordAro> which is M1?
13:21:45  <LordAro> presumably BE, since it's arm-based?
13:21:57  <LordAro> oh
13:22:00  * LordAro reads properly
13:22:11  <TrueBrain> wait, how do you get that upgrade?
13:22:17  <DorpsGek> [OpenTTD/team] GLgele opened issue #185: [zh_CN] Translator access request https://git.io/JYdl6
13:24:19  <TrueBrain> so someone just send us an ad via email on our abuse@ email address ...
13:27:10  <TrueBrain> @base 10 16 1234
13:27:10  <DorpsGek> TrueBrain: 4D2
13:29:05  <DorpsGek> [OpenTTD/team] LordAro commented on issue #185: [zh_CN] Translator access request https://git.io/JYdl6
13:33:21  <andythenorth> TrueBrain well it does say 'abuse' no?
13:33:26  <andythenorth> seems valid to abuse it
13:33:34  <TrueBrain> I disagree!
13:33:59  <andythenorth> dorpsek should count
13:34:05  <andythenorth> dorpsgek *
13:34:13  <TrueBrain> nahhh
13:34:59  <andythenorth> I disagreee
13:35:13  <TrueBrain> now what?
13:35:37  <peter1138> Running a server with a lot of water produces quite a different play-style...
13:43:10  <milek7> MIPS was typically BE
13:43:17  <milek7> did anybody ran ottd server on their router? :p
13:43:18  <LordAro> there's a joke somewhere about water cooling or pouring water on your server
13:44:05  <peter1138> Local rating, poor, 37%. And still 2400 passengers waiting for the one ship...
13:44:38  <TrueBrain> LordAro: I had the same :P But I failed to find a good one :D
13:44:55  <peter1138> We used to care about LE/BE due to MacOS at least.
13:48:23  <TrueBrain> hmm, ss_family that is neither AF_INET nor AF_INET6
13:48:24  <TrueBrain> oh-oh
13:49:58  *** Flygon__ has joined #openttd
13:53:00  <TrueBrain> 38064 <- that doesn't sound like a valid ss_family :D
13:53:49  <TrueBrain> ugh, stack variable that wasn't copied
13:53:52  <TrueBrain> C++ can be annoying
13:54:59  <TrueBrain> (read: I cannot program)
13:56:43  *** Flygon_ has quit IRC
14:03:04  <Timberwolf> peter1138: I love high water quantity maps!
14:06:47  <Timberwolf> I should try for a proper islands map once I'm done with Blue & Co.
14:13:53  <Eddi|zuHause> anyone else enjoying the very literal april weather?
14:14:15  <peter1138> :(
14:14:24  <peter1138> I wanted a bit warmer.
14:14:27  <Eddi|zuHause> where it's cycling through sunshine, rain, hail, snow, etc. in a 5 minutes interval
14:19:48  <Timberwolf> It's been fairly stable here. Cold enough to require additional dog admin though.
14:20:04  <Timberwolf> (Below about 8 degrees they need to wear coats for their walk)
14:20:55  <Eddi|zuHause> https://de.wiktionary.org/wiki/Aprilwetter <-- i wonder why there is no english translation for it
14:21:43  <glx> because it's their usual weather ;)
14:22:05  <LordAro> there was some snow earlier
14:22:27  <glx> I saw some snow here this morning
14:22:35  <glx> with bright sun
14:23:24  <Eddi|zuHause> i was trying to dry some laundry. but every time i remember to bring it back in, it was just as wet again...
14:30:53  *** Kitrana has quit IRC
14:41:41  *** Kitrana has joined #openttd
14:49:36  <peter1138> andythenorth, newgrf water?
14:53:36  <andythenorth> err
14:53:42  <andythenorth> sure?
14:53:49  <andythenorth> it does...what? :)
14:58:17  <TrueBrain> grrr, bind() before connect() doesn't do what I want it to ... what is wrong ... hmm
15:04:50  <peter1138> Timberwolf, of course, there are always people who build diagonal rails across the whole map...
15:06:05  <peter1138> What ever happened to deep water...
15:08:15  <Timberwolf> I played a flat map for a bit the other day, it felt wrong being able to build tracks and junctions wherever I wanted.
15:10:27  <Timberwolf> What was it andythenorth was saying about the real currency being tiles? :)
15:10:47  <andythenorth> @peter1138 there's a PR for deep water
15:10:49  <andythenorth> it got stuck
15:10:55  *** spnda has joined #openttd
15:14:10  <peter1138> Old I assume?
15:16:59  <milek7> https://github.com/OpenTTD/OpenTTD/pull/7924
15:17:11  <milek7> relatively not that old
15:19:18  <peter1138> I suppose now that 1.11 is out it's on the cards... nielsm? :D
15:20:16  <peter1138> Although the implementation is a bit odd.
15:20:46  <peter1138> Not sure why depth needs its own storage.
15:21:46  <nielsm> it would be boring if it just looked at distance to land and assumed an even gradient
15:22:13  <nielsm> this allows you to have a shallow coast area and then a sudden (steeper than 1:1) drop into deep ocean
15:22:39  <glx> can't rely on land height and height level ?
15:22:43  <peter1138> Don't we already have lots of height levels though?
15:23:00  <glx> *water height level
15:23:16  <nielsm> you mean use the tile height level to mean depth level? not really, since river and canal tiles are also water tiles
15:23:33  <nielsm> and rivers should also support depth
15:23:43  <peter1138> Hmm, I see.
15:24:08  <peter1138> So e.g. you could have water at level 5 but with depth 3.
15:24:16  <nielsm> besides, water tiles have lots of free bits
15:24:26  <andythenorth> I would have settled for 'deep' and not deep but eh
15:24:31  * andythenorth is not hard to please
15:24:32  <peter1138> andythenorth, wuss.
15:24:40  <andythenorth> yeah easy life for me
15:24:53  <Timberwolf> newgrf specs for ship draft?
15:24:53  <peter1138> Yeah, storing it separately from landscape level makes sense then.
15:25:08  <andythenorth> presumably this makes raising some seabed insanely expensive?
15:25:31  <peter1138> I hope so.
15:25:36  <andythenorth> lol if we placed transmitters on the ocean floor, it would be impossible to raise some areas
15:26:02  <peter1138> What about wind farms...
15:26:23  <Timberwolf> How does the depth get signalled to the user? Have we got something clever going on with shaders like that height-based tree one? (for 32bpp users, i.e. most of them)
15:26:40  <peter1138> height-based tree shader?!
15:26:52  <peter1138> I think I saw something about newgrf water and depth level.
15:26:56  <Timberwolf> I thought there was something added with trees to make slopes more defined.
15:27:02  <andythenorth> goes it silly features?
15:27:04  <Timberwolf> I could have hallucinated it, though.
15:27:17  <andythenorth> Timberwolf slope based tree planter
15:27:27  <andythenorth> grf trees would be .... more flexible
15:27:40  <nielsm> Timberwolf yes I made a hack that shades trees in 32bpp blitters, it actually got imported to citymania client
15:28:09  <DorpsGek> [OpenTTD/bananas-frontend-cli] erenes updated pull request #22: Fix: Use urllib to combine urls (#5) https://git.io/JYQbM
15:28:12  <nielsm> it's an ugly hack, will need lots of cleaning up before I want to make it a PR to master
15:28:38  <nielsm> although I don't know if dp did something with it before taking it
15:31:20  <peter1138> "I'm glad to hear that the cost of filling in the ocean is finally getting reasonable."
15:31:22  <andythenorth> Timberwolf goes it suburban coaches?
15:31:24  <peter1138> Promising.
15:31:38  <andythenorth> think I might have sorted out having variety + cdist shit
15:31:45  <andythenorth> oops swearing
15:31:46  <andythenorth> sorry
15:32:36  <nielsm> peter1138: also some screenshots here https://www.tt-forums.net/viewtopic.php?f=33&t=86559&start=20
15:33:22  <TrueBrain> argh, why does this work in Python, but is C++ giving me a hard time :P
15:33:23  <TrueBrain> ffs
15:33:40  <peter1138> Yeah, palette isn't great for deeper water, needs more darker shades.
15:33:47  <TrueBrain> mostly, the client is doing its job just fine, but the server has "Address already in use" for no good reason :(
15:34:57  <andythenorth> we have some spare palette :P
15:34:58  <DorpsGek> [OpenTTD/bananas-frontend-cli] erenes updated pull request #21: Fix: do not try to authenticate when requesting help (#4) https://git.io/JYQzj
15:35:14  <TrueBrain> YESSSSS :D Finalllyyy :)
15:35:16  * andythenorth considered just reducing the amount of white waves
15:36:00  <andythenorth> why is horizontal hail hitting my windows?
15:36:02  <andythenorth> it's April
15:37:05  <peter1138> Spare palette, let's make some RGB company colours...
15:39:55  <TrueBrain> okay, I can now play with myself from behind two NATs, without ever manually exchanging an IP or what-ever .. all it takes is a common token :)
15:40:15  *** gelignite has joined #openttd
15:40:22  <andythenorth> peter1138 3CC pls
15:40:28  <andythenorth> it's only one more column in the UI
15:40:28  <TrueBrain> there is a latency dependency which I have to figure out, but .. details
15:40:32  <andythenorth> we have spare pinks :P
15:40:55  <andythenorth> best part of livestream, frosch didn't warn me about the palette satire
15:40:57  <peter1138> Why 3cc?
15:41:10  <andythenorth> because wagons
15:41:15  <andythenorth> different colour to engines
15:41:17  <DorpsGek> [OpenTTD/bananas-frontend-cli] erenes commented on pull request #22: Fix: Use urllib to combine urls (#5) https://git.io/JYdS6
15:41:25  <peter1138> Yeah, the bit about all those spare entries never used...
15:41:49  <andythenorth> I use them for masks
15:41:54  <andythenorth> but sometimes I pick the wrong pink
15:42:07  <peter1138> Hmm, isn't that like just using a different colour scheme for wagons which you want to remove? :p
15:43:02  <peter1138> But yes, part of my patch is dynamic creation of palette remaps, to avoid needing 16 * 16 * 16 hardcoded remaps.
15:43:31  <peter1138> Or, indeed, 32*32*32 if I take more-cc further.
15:43:41  <peter1138> Although more-cc is stretching it.
15:44:05  <peter1138> Have we dropped 8bpp output support yet?
15:44:09  <andythenorth> I mostly use the groups livery thing you made
15:44:20  <peter1138> "we" god damn it you make me talk like I'm still involved :(
15:44:22  <andythenorth> but 'default' maps to default 2cc, not default for the weird group type
15:44:38  <andythenorth> group group group grou
15:44:40  <andythenorth> p
15:45:08  <andythenorth> what even do I call 'steam coach' UI livery thing
15:45:11  * andythenorth has no idea
15:45:16  <andythenorth> back to making trains
15:45:20  <peter1138> Call it "ripped out"
15:45:25  <andythenorth> WFM
15:45:30  <andythenorth> group liveries so much better
15:45:45  <andythenorth> bet nobody dares do it though
15:45:59  <andythenorth> have we consulted important non-contributing players?
15:46:12  <andythenorth> oh frosch did a poll, job done
15:46:29  <andythenorth> https://www.goodreads.com/quotes/40705-but-the-plans-were-on-display-on-display-i-eventually
15:47:42  <peter1138> Add the classes system onto "Freight Wagon"... CC_BULK etc
15:47:56  <peter1138> Or, indeed, not.
15:48:01  <peter1138> It's all Lakie's fault.
15:49:28  <peter1138> If you have deep water, then that gives you a nice thing for oil rigs to work with.
15:49:56  <peter1138> And also means building landmass out to the oil rig is no longer feasible
15:51:46  <glx> still doable, just more expensive I think
15:52:50  <peter1138> If it's really deep and the oil rig prevents raising the ocean floor then it could stop it a bit.
15:53:13  *** Wuzzy has joined #openttd
15:54:04  <nielsm> I should also update deepwater PR and then put the preview tag on it?
15:54:12  <peter1138> \o/
16:01:29  <peter1138> Oh, it's home time. Time to pack up, put on the lycra, and cycle 15 miles home, in the cold snow.
16:02:09  <peter1138> Well, it used to be. Now it's time to just sit here and close one VS Code and open another.
16:02:33  <LordAro> aw
16:03:44  <peter1138> Especially as it's 4 degrees out currently.
16:03:46  <DorpsGek> [OpenTTD/bananas-frontend-cli] glx22 commented on pull request #21: Fix: do not try to authenticate when requesting help (#4) https://git.io/JYd7j
16:04:07  *** Flygon__ has quit IRC
16:06:22  <DorpsGek> [OpenTTD/bananas-frontend-cli] LordAro commented on pull request #22: Fix: Use urllib to combine urls (#5) https://git.io/JYd5n
16:08:08  <peter1138> Okay, close and open is not the right order, it defaults to opening the last workspace...
16:08:19  <spnda> is this someone who actually uses bananas-frontend-cli? :o
16:13:23  <andythenorth> so was it stations-as-objects then? :)
16:13:35  <andythenorth> because nml hasn't stationed, and nobody wants to
16:13:40  <andythenorth> but objects would be easy ish
16:14:47  * andythenorth experiments with playing Blitz
16:14:52  <andythenorth> see which morons I get today
16:15:01  <andythenorth> yesterday was a run of 38-39% players
16:15:12  <andythenorth> a tank left afk for 100 battles gets 42%
16:15:21  <andythenorth> so 38% you have to be actively bad
16:15:40  *** Progman has joined #openttd
16:18:49  <DorpsGek> [OpenTTD/bananas-frontend-cli] Xaroth commented on pull request #22: Fix: Use urllib to combine urls (#5) https://git.io/JYdFi
16:36:58  <Wolf01> Poor andy :(
16:37:42  <Wolf01> Draw pixel tanks, like I do for my game
16:39:14  <LordAro> andythenorth: depends how new you are
16:44:59  <TrueBrain> I estimate he is like 16 years old
16:45:02  <TrueBrain> :P
16:45:35  <TrueBrain> right, lets see if my hole poking code also works on Windows
16:47:05  <TrueBrain> Client 2 made an error and has been disconnected. Reason: 'wrong revision'
16:47:08  <TrueBrain> awwwhhhhhh
16:48:01  <nielsm> do you have some code others can build?
16:48:33  <TrueBrain> I do, but currently it has a fixed ticket
16:48:46  <TrueBrain> and only allows 1 person in your server
16:48:47  <TrueBrain> :D
16:48:47  *** Wormnest has joined #openttd
16:49:43  <TrueBrain> hmm .. how to make a zip file on Windows .. gooood question
16:49:59  <TrueBrain> code is here btw: https://github.com/TrueBrain/OpenTTD/tree/stun-me
16:50:11  <TrueBrain> it is still in "this is hacky" phase
16:50:13  <TrueBrain> but it does work :D
16:50:27  <nielsm> consider making a console command for it
16:51:07  <TrueBrain> lol, "cpack" on my system is linked to Chocolatey
16:51:08  <TrueBrain> that is not useful
16:51:59  *** virtualrandomnumber has joined #openttd
16:52:14  *** virtualrandomnumber has quit IRC
16:55:24  <peter1138> andythenorth, no, no stations as objects, why would you do that?
16:55:43  <andythenorth> I don't know, it got suggested a few times
16:56:00  <peter1138> It doesn't even make sense
16:56:03  <peter1138> A station is a station
16:56:08  <peter1138> And object isn't a station
16:56:15  <TrueBrain> nielsm: console command for what?
16:56:27  <nielsm> for specifying game to join or whatever?
16:56:47  <nielsm> no idea if your limit is at the master server
16:57:05  <TrueBrain> when I say something is hacky, I mean it :D There is more than one thing to fix to make it usable in a bigger setting then my local setup :P :D
16:57:15  <TrueBrain> I added two globals just to influence Connect :D
16:57:20  <TrueBrain> I am good in writing ugly code :P
16:57:26  <TrueBrain> but, it works, so tomorrow we clean it up :)
16:57:45  <TrueBrain> and if you like, we can test it :)
16:58:46  <peter1138> Ooh, OpenTTD server consuming 13% CPU.
16:59:10  <peter1138> I guess 3.4 GHz Xeon is okay.
16:59:40  <peter1138> Beats my old 2.4 GHz P4-based Xeons...
17:00:15  <peter1138> six pee ems already
17:00:46  <nielsm> hmm how to name social plugins for discovery
17:03:21  <andythenorth> still
17:03:25  <peter1138> TrueBrain, build now...
17:03:34  <peter1138> +ing
17:03:37  <TrueBrain> :D
17:03:38  <andythenorth> vehicle payment multiplier
17:03:39  <andythenorth> thing
17:03:40  <andythenorth> could be
17:03:59  <andythenorth> restaurant car = 1.25 * multiplier for all vehicles in train
17:04:03  <andythenorth> such
17:04:09  <andythenorth> many pies
17:04:17  <TrueBrain> peter1138: when it is done building, start a multiplayer server from ingame and I will join :)
17:04:37  <peter1138> Just don't cheat and use IPv6.
17:05:16  <TrueBrain> the STUN server is IPv4 only, so it won't :)
17:05:32  <TrueBrain> which crashes because the SSH timed out .. lol .. I should fix the server to do SSH pings, I see :)
17:05:40  *** frosch123 has joined #openttd
17:06:14  <peter1138> "stun test peter1138"
17:06:27  <TrueBrain> hmm .. not getting through ..
17:07:00  <TrueBrain> can you restart the game?
17:07:11  <peter1138> "please allow udp and tcp packets to...."
17:07:19  <peter1138> advertising is failing, hm.
17:07:26  <TrueBrain> yeah, you can disable advertising
17:07:35  *** dd has joined #openttd
17:08:02  <peter1138> Restarted
17:08:35  <peter1138> received invalid packet type 0 from [::]:0
17:08:36  <peter1138> Hmm
17:08:47  <TrueBrain> yeah .. something is not routing correctly :(
17:09:06  <peter1138> Or my router sees past your sneakery and doesn't allow it.
17:09:14  <TrueBrain> that is very much possible
17:09:25  <TrueBrain> if any firewall validates the SYN sequence, it will be kicked out
17:09:30  <TrueBrain> so far, surprisingly many do not validate
17:09:36  <peter1138> Any external IPs I should snoop traffic on?
17:09:48  <TrueBrain> I did not make it follow any binds yet
17:09:51  <TrueBrain> so it just picks a random port :D
17:10:06  <TrueBrain> in the console it returns an IP pair
17:10:09  <TrueBrain> you can monitor on that
17:10:16  <peter1138> 62...
17:10:18  <peter1138> Ok
17:10:43  <TrueBrain> sadly, you do need to restart the server first
17:10:46  <TrueBrain> as it is a one-shot thing atm :D
17:11:06  <TrueBrain> (basically, when the server starts, it allows 1 STUN request :P)
17:11:28  <peter1138> Oh, it crashed.
17:11:40  <TrueBrain> and running with -dnet=1 might also help
17:11:57  <peter1138> CheckCallbacks()
17:11:59  <peter1138> delete cur
17:12:04  <TrueBrain> ah, that would be me
17:12:25  <TrueBrain> I indeed close a connection but do not remove the object
17:12:27  <TrueBrain> so .. oops :P
17:12:40  <TrueBrain> and that crashed the STUN server
17:12:42  <TrueBrain> also interesting :D
17:13:00  <TrueBrain> ah, closed-connection not handled properly
17:13:38  *** FLHerne has joined #openttd
17:13:43  <dd> Hello, I joined this game yesterday.   :)
17:13:48  <TrueBrain> I see traffic going to your machine, but no response
17:14:18  <TrueBrain> lets try it the other way around: I host, you join. You can do that by doing ./openttd -n 127.0.0.1 (or any IP really .. I just hacked into the -n handler)
17:15:29  <TrueBrain> guess this is asking for a tool to analyze someones local setup, just to probe it what works and what doesn't
17:15:55  *** dd has quit IRC
17:16:14  <peter1138> trying to find where the binary is :p
17:16:18  <TrueBrain> :D
17:16:23  <TrueBrain> HIDING! :P
17:16:31  <TrueBrain> Debug/openttd.exe :P
17:16:34  <TrueBrain> but what folder ...
17:16:45  <peter1138> got it
17:16:56  <peter1138> Okay
17:18:10  <peter1138> 1/6 connecting....
17:18:16  <TrueBrain> hmm
17:18:19  <TrueBrain> now I have an invalid packet type
17:18:20  <TrueBrain> wtf
17:18:23  <TrueBrain> what did I break ...
17:19:03  <peter1138> My packet sniffer statys 11/19 bytes both times. Hmm.
17:19:06  <peter1138> *says
17:19:18  <TrueBrain> something is weird, give me a moment to figure out what I did to break it :P
17:19:37  <peter1138> By both times I mean running as server and then client
17:19:40  <TrueBrain> is says it received a type=0 packet, and that it is unknown, but it really exists, and really is in that switch :D
17:20:43  <TrueBrain> ah, if Python terminates the connection too quick, this happens
17:21:04  <TrueBrain> pushed a new version to my branch
17:21:18  <peter1138> Having a packet sniffer on your router is handy, I say
17:21:31  <TrueBrain> you can filter out the 12121 packets btw
17:21:38  <TrueBrain> port 12121
17:21:44  <TrueBrain> that is out-of-band communication with the STUN server
17:22:11  <TrueBrain> k, after recompile, you can try joining my server again (so with -n 127.0.0.1)
17:22:17  <peter1138> There's not a lot of them
17:22:24  <TrueBrain> I copied the handler of the ContentServer, but it is weiirrrddd, that code
17:22:56  <TrueBrain> nah, it just send a packet to the STUN server, and he returns the public IP/port of the other side (me in this case) .. all it does :P
17:24:15  <glx> <TrueBrain> hmm .. how to make a zip file on Windows .. gooood question <-- right click, send to, and you should have an option to zip
17:24:26  <TrueBrain> glx: sorry, I meant via CMake
17:24:29  <peter1138> Okay, trying -n
17:24:31  <TrueBrain> as Windows put stuff in weird folders etc
17:24:39  <TrueBrain> hmm .. there was some traffic flowing
17:24:40  <peter1138> Revision does not match
17:24:41  <peter1138> eh
17:24:45  <TrueBrain> owh, oops
17:24:50  <glx> oh install 7zip then :)
17:24:53  <TrueBrain> my bad
17:24:56  <TrueBrain> now you host a server peter1138  :)
17:25:09  <TrueBrain> glx: no, I had to copy files from Debug folder, then the lang folder, etc etc
17:25:12  <TrueBrain> was manual work
17:25:13  <TrueBrain> was annoying :P
17:25:18  <TrueBrain> cpack is fucked up here :P
17:25:41  <peter1138> Binding
17:25:41  <glx> hmm cpack should just copy binary from build dir
17:25:52  <TrueBrain> glx: cpack is chocolatery here
17:25:54  <TrueBrain> no clue how that happened
17:26:01  <TrueBrain> peter1138: hmm .. seems it cannot punch a hole in your NAT, I think
17:26:04  <glx> path issues
17:26:32  <TrueBrain> peter1138: if you try -n 127.0.0.1 again? (I should have fixed revision now)
17:27:29  <glx> but yeah chocolatey using same tool name as cmake is quite stupid ;)
17:27:49  <peter1138> Started
17:27:57  <peter1138> received illegal packet type 0
17:27:58  <TrueBrain> peter1138: hmm .. any errors on your console?
17:28:00  *** jottyfan has joined #openttd
17:28:01  <TrueBrain> again?
17:28:17  *** Synck has joined #openttd
17:28:58  <TrueBrain> okay, modified the STUN server a bit to not close the socket directly after sending the last packet
17:29:05  <peter1138> And crashed again :D
17:29:09  <TrueBrain> I noticed :P
17:29:26  <TrueBrain> now you joined as client?
17:29:46  <peter1138> up-arrow command line was for client, so yeah
17:30:04  <TrueBrain> guess what I could do that it tries to poke a hole in either direction, and pick one that works
17:30:08  <peter1138> Ok, here goes
17:30:23  <TrueBrain> "The server didn't answer the request"
17:30:24  <TrueBrain> wuth?
17:30:39  <TrueBrain> never saw that error before :P
17:30:47  <TrueBrain> I love how explicit "the request" is :D
17:31:01  <peter1138> [tcp] listening on IPv4 port 192.168.1.19:64594
17:31:01  <peter1138> Hmm
17:31:08  <TrueBrain> okay, one more time :D
17:31:20  <TrueBrain> and that is a good sign, that log line btw
17:31:24  <TrueBrain> that is the dedicated host port :P
17:31:34  <peter1138> illegal packet again
17:31:37  <TrueBrain> ugh
17:31:44  <TrueBrain> I think latency is the issue here
17:32:02  <TrueBrain> but it might very well be that your NAT is more strict :)
17:32:20  <TrueBrain> the "correct" way of TCP NAT punching is predicting the next port the NAT is going to use
17:32:24  <TrueBrain> but that sounds really wrong to do
17:32:53  <TrueBrain> I have to figure out why it is showing illegal packet errors
17:33:02  <TrueBrain> well, at least you could see my awesome map :D
17:34:19  <peter1138> I've turned off the SIP ALG now
17:34:28  <peter1138> I don't think it'll have any effect because it's not SIP, but you never know.
17:34:39  <TrueBrain> start your server! :D
17:34:48  <peter1138> Crashed
17:34:50  <TrueBrain> haha
17:35:04  <TrueBrain> why do you get it crashing so easily :P
17:35:05  <peter1138> ok
17:35:06  <Synck> Great developer experience with OpenTTD, clone + install packages and go.
17:35:24  <peter1138> "could not connect IPv4 socket: No error"
17:35:25  <TrueBrain> Synck: we tried :)
17:35:26  <peter1138> Well :)
17:35:28  <TrueBrain> peter1138: nope :(
17:35:38  <milek7> if it's worth getting more datapoints, I could test with mine
17:35:42  <peter1138> Didn't think it would have any effect, but SIP ALGs can be weird.
17:35:55  <TrueBrain> I wonder why it gets an illegal packet from the STUN server
17:35:58  <TrueBrain> especially type 0
17:36:25  <peter1138> What layer is that type 0 ?
17:36:30  <TrueBrain> come to think of it .. type 0 goes TO the STUN server
17:36:37  <TrueBrain> it is from our protocol
17:36:46  <peter1138> Ok, so L7.
17:36:46  <TrueBrain> something is fishy about that error
17:36:50  <TrueBrain> yup
17:36:57  <TrueBrain> and it is on an normal TCP connection
17:37:00  <TrueBrain> just a normal outbound
17:37:04  <TrueBrain> not even the STUN part itself
17:37:59  <TrueBrain> okay, at least I broke it locally here too now :D So that is a good thing :)
17:38:39  <TrueBrain> "could not bind: Address already in use" .. hmm ..
17:38:43  <Synck> The contribution guide says to ask before starting e.g. refactoring code. Would adding some missing overrides to functions be a useful addition?
17:39:48  <TrueBrain> peter1138: k, tnx for testing. I have some more data to explore now :)
17:42:31  <DorpsGek> [OpenTTD/OpenTTD] nielsmh updated pull request #8952: Social rich presence plugins https://git.io/JYQJS
17:42:53  <peter1138> Synck, do you mean missing override keyword or something else?
17:43:30  <peter1138> If that, then yes. That's one thing that's easy to forget, I'm not sure there's a way to enforce that it must be present either :(
17:45:49  <TrueBrain> peter1138: okay, one more try for this evening .. I just pushed a new version :)
17:45:52  <TrueBrain> who knows ...
17:46:01  <Synck> Adding missing override keywords indeed.
17:46:31  <Synck> Does OpenTTD have any automated builds?
17:47:05  <TrueBrain> we have a CI for every Pull Request, and a nightly test build every night, which produces binaries available for download
17:47:51  <peter1138> Recompiling, as I'd just switched back to master :p
17:47:56  <TrueBrain> sorry :D
17:48:04  <peter1138> 6 cores is still slow...
17:48:14  <TrueBrain> I added REUSEADDR again .. I removed it as I thought it wasn't needed, but it seems it is needed after all
17:48:36  <peter1138> ok, server started
17:48:49  <TrueBrain> nope :(
17:49:09  <peter1138> Figures.
17:49:17  <TrueBrain> same error on your side?
17:49:30  *** Synck has quit IRC
17:49:32  <peter1138> Actually no error
17:49:38  <peter1138> Hmm, but I didn't run with -dnet 1
17:49:41  <TrueBrain> :D
17:50:06  <peter1138> Take 2
17:50:22  <peter1138> could not connect IPv4 socket: No error
17:50:28  <TrueBrain> that is normal
17:50:31  <peter1138> OK
17:50:34  <TrueBrain> that is a fake connect to punch the hole in your NAT :P
17:50:47  <TrueBrain> but nothing happens after
17:50:54  <TrueBrain> can you see if your NAT sends out a RST?
17:53:35  *** Synck has joined #openttd
17:53:41  <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://git.io/JYFI9
17:53:42  <DorpsGek>   - Update: Translations from eints (by translators)
17:53:47  <peter1138> Adding some packet logging
17:53:56  <peter1138> Whew, that's noisy :p
17:53:57  <TrueBrain> cool :)
17:54:21  <peter1138> Started
17:54:41  <peter1138> illegal packet type 0
17:54:50  <TrueBrain> again from tcp/stun?
17:55:04  <peter1138> Yeah
17:55:14  <TrueBrain> owhhhhhh
17:55:18  <TrueBrain> wait a minute .. hmm
17:55:27  <TrueBrain> I think the wrong socket picks up the data :D
17:56:05  <TrueBrain> that might explain it
17:56:12  <TrueBrain> basically, there are 2 sockets open on the same ip/port
17:56:17  <TrueBrain> and I guess you are on Windows?
17:56:24  <peter1138> Yes
17:56:52  <TrueBrain> I do close the socket before I create the next one
17:56:59  <TrueBrain> but I guess there is a short delay before it is really closed
17:57:01  <peter1138> And a crash :D
17:57:08  <TrueBrain> those 2 might be related :P
17:58:05  <TrueBrain> owh, yes, I do not cycle the object
17:58:07  <TrueBrain> so it remains valid
17:58:12  <TrueBrain> and I guess it is trying to read random memory
17:58:14  <TrueBrain> oops? :D
17:59:07  <TrueBrain> okay, I need to clean up this code first
17:59:13  <TrueBrain> the network has so many layers on top
17:59:19  <TrueBrain> it is sometimes a bit hard to see which is responsible for what
17:59:22  <TrueBrain> so, tomorrow :D
17:59:25  <TrueBrain> tnx again peter1138 :)
18:00:14  <andythenorth> seems we have quite a lot of WinXP users
18:00:23  <andythenorth> I used an emoji, all will be well
18:00:26  <TrueBrain> owh, derpiederp, I see for sure what goes wrong .. haha
18:02:33  <TrueBrain> I think I change the protocol a bit so there is no data received from the STUN server
18:02:40  <TrueBrain> also avoids things like resends etc
18:03:30  <TrueBrain> say, a packet from STUN server to client is received by not ACKd .. the client changes the socket to the game socket, TCP resends the STUN packet, and it is now received by the wrong socket
18:03:52  <peter1138> Yeah
18:04:44  <TrueBrain> but in order for that to work, I need to add the Game Coordinator (as replacement of the master-server). We need that anyway, so I guess we might as well
18:05:46  <peter1138> I wonder if there's some way to detect if STUN has worked? Otherwise we're still stuck with "My friends can't join my server"
18:06:07  <TrueBrain> yeah, that is what I would like the Game Coordinator to do
18:06:10  <TrueBrain> first try a direct connect
18:06:10  <peter1138> we again. fs.
18:06:16  <TrueBrain> if that fails, try STUN
18:06:26  <TrueBrain> if that fails, report a wiki page with things to fix it by
18:06:27  <TrueBrain> or something
18:06:48  <peter1138> Step 4: Get users to bug Valve to make a BSD-compatible API...
18:06:58  <peter1138> (license-wise)
18:07:02  <TrueBrain> well, I think we found a nice way for us to use their API
18:07:12  <TrueBrain> so over time, I hope to add: try SDK (Valve Relay network)
18:07:17  <TrueBrain> and: try TURN (as last resort)
18:07:32  <TrueBrain> 90% of the traffic should already been taken care of, so TURN should be cheap at that point
18:07:38  <peter1138> Any public STUN/TURN servers you could leech off? :p
18:07:44  <TrueBrain> STUN servers, yes
18:07:52  <TrueBrain> TURN servers .. not looked, I don't want to know :P
18:07:59  <TrueBrain> Google's STUN servers are public
18:09:12  <nielsm> TrueBrain: I've thought about that maybe a social plugin that supports joining friend games can set up a connection via whatever service and then relay it on a localhost socket it then instructs the game to connect to
18:09:31  <nielsm> that way there is definitely no tight/special coupling to the steam API or whatever else
18:09:52  <TrueBrain> creative idea, but to me it feels like "hiding" that we want to integrate with the Steam API
18:09:59  <nielsm> <TrueBrain> Google's STUN servers are public  <-- OH SHIT THEY ARE SELLING OUT TO GOOGLE THEY CONNECT TO GOOGLE SERVERS ALL THE TIME
18:10:14  <TrueBrain> personally, I would say: as long as we keep it optional and do it in a clean API way, I think we should just directly integrate with the SDK
18:10:20  <TrueBrain> so in the shim-fashion we talked about
18:10:45  <TrueBrain> and lets not make it more complicated than that :)
18:13:12  <TrueBrain> that is also why for me it would be ideal nielsm if your plugin system could also hook into the Steamworks SDK networking part
18:13:24  <TrueBrain> doesn't have to be done on day one, but if the possibility would be there, that would be nice
18:13:40  <TrueBrain> but again, my opinion :)
18:14:18  *** supermop_Home_ has quit IRC
18:14:24  <nielsm> well sure I can make an "extensibility point" where you just query the plugin for an interface named by string
18:14:53  <TrueBrain> I was more thinking that in the future we could add a networking API to it on our side
18:14:54  <nielsm> (interface being a struct of function pointers)
18:14:56  <TrueBrain> and make the shim talk to it
18:15:30  <nielsm> may as well make all the network protocols plugins then!!!
18:15:55  <TrueBrain> it is not the worst idea, just a lot of work :P
18:16:52  <TrueBrain> anyway, not something for now, possibly not even for 1.12
18:17:03  <TrueBrain> but if we have the possibility towards the future, would be nice
18:17:07  <nielsm> anyway the plugin api has a simple versioning scheme right now
18:17:16  <TrueBrain> cool :D
18:17:48  <nielsm> just passing an int to the init-function telling which version you expect, and the plugin must either return the interface matching that version, or reject it
18:18:24  <TrueBrain> sounds good
18:20:00  <nielsm> but maybe I should change it to something like, instead of naming it SocialInit(int api_version, struct *api, struct *callbacks), then name it OTTDPlugin(const char *interface, void *api)
18:20:37  <nielsm> and then you'd request "OTTDSocial4" or "OTTDNetwork2" interfaces or something
18:20:56  <TrueBrain> personally, that sounds a lot better, as that also removes the weirdness of having "Social" plugin doing networking :P
18:21:23  <TrueBrain> but frosch123 is our interface wizard, so maybe he has some good input here too :D (sorry frosch123 , but given you understand NewGRF, you might have some good ideas here :D)
18:22:50  *** EER has quit IRC
18:22:52  <TrueBrain> oeh, an email about a company that wants to "help" us with our installer
18:22:53  <TrueBrain> haha
18:23:26  *** EER has joined #openttd
18:24:38  <frosch123> newgrf may be pretty asocial :p
18:24:45  <DorpsGek> [OpenTTD/bananas-frontend-cli] TrueBrain commented on pull request #22: Fix: Use urllib to combine urls (#5) https://git.io/JYFYM
18:29:01  <DorpsGek> [OpenTTD/bananas-frontend-cli] erenes commented on pull request #22: Fix: Use urllib to combine urls (#5) https://git.io/JYFOB
18:29:49  <andythenorth> if newgrf was a social network, which social network would it be? :)
18:29:58  <Xaroth> Hyves.
18:30:21  <andythenorth> https://en.wikipedia.org/wiki/The_WELL
18:30:39  <DorpsGek> [OpenTTD/OpenTTD] LordAro closed issue #8922: NOT_REACHED() crash when selling shared vehicles https://git.io/JYw71
18:30:42  <DorpsGek> [OpenTTD/OpenTTD] LordAro merged pull request #8926: Fix #8922: Show vehicle window for single vehicle in shared order grouping https://git.io/JYoqP
18:31:18  <DorpsGek> [OpenTTD/OpenTTD] LordAro merged pull request #8950: Make effect volume slider non-linear https://git.io/JYHuH
18:31:57  <DorpsGek> [OpenTTD/OpenTTD] LordAro merged pull request #8959: Fix: [Network] State conditions for sending client info/quit packets https://git.io/JY7gc
18:33:47  <DorpsGek> [OpenTTD/bananas-frontend-cli] erenes updated pull request #20: Support developer authentication flow in bananas-cli https://git.io/JYQTb
18:34:49  <EER> Let's see if that makes the git-hooks happy ;-)
18:35:08  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8902: Feature: show upload date in the network content window https://git.io/JYF3s
18:36:00  <FLHerne> LordAro, glx: When I try to build grfcodec, `make install`/`ninja install` seems to not exist as a target?
18:36:19  <FLHerne> Reproducible, or am I doing something wrong?
18:36:19  <LordAro> probably not
18:36:33  <LordAro> i don't think the cmake build has any concept of install files
18:36:38  <LordAro> it's just not been set up for that
18:36:43  <LordAro> perhaps it could be, but eh
18:36:55  <LordAro> it's just a single executable, right?
18:37:23  <FLHerne> four
18:37:45  <LordAro> or that
18:38:20  <DorpsGek> [OpenTTD/bananas-server] LordAro commented on pull request #43: Add: pass upload date to OpenTTD client https://git.io/JYF3Q
18:39:42  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8948: Fix: Honor default soundfont for FluidSynth https://git.io/JYFsf
18:41:33  <FLHerne> It makes the PKGBUILD a bit untidy
18:41:42  <LordAro> probably
18:41:47  <LordAro> feel free to improve it :p
18:41:53  <LordAro> i've no idea about that bits of cmake, tbh
18:43:57  <nielsm> https://gist.github.com/nielsmh/8f7caa144f435189e9c392d267f73733  TrueBrain and anyone else interested in plugins
18:46:17  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8943: Volume controls in Game Options window https://git.io/JYFGT
18:47:05  <DorpsGek> [OpenTTD/BaNaNaS] frosch123 opened pull request #91: Change: migrate OpenTTD user thexa4 to GitHub user thexa4 https://git.io/JYFGY
18:48:57  <DorpsGek> [OpenTTD/bananas-frontend-cli] erenes updated pull request #20: Support developer authentication flow in bananas-cli https://git.io/JYQTb
18:49:20  <frosch123> we don't have a hindi translation yet
18:49:29  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8794: Feature: Show rail/road/tram NewGRF name in Land Area Information window https://git.io/JYFGr
18:51:24  <peter1138> Why do I have code here for NewGRF tunnels?
18:52:18  <TrueBrain> nielsm: sounds good to me. One has to wonder if it should return a vector or an array or something, that last function, but yeah
18:52:24  <TrueBrain> maybe add a few examples to the gist
18:52:28  <TrueBrain> just so people get what an interface is
18:52:35  <DorpsGek> [OpenTTD/bananas-frontend-cli] erenes updated pull request #21: Fix: do not try to authenticate when requesting help (#4) https://git.io/JYQzj
18:52:38  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8716: Fix #8713: Change OTTD2FS and FS2OTTD to return string objects https://git.io/JYFZv
18:53:02  <nielsm> TrueBrain refresh
18:53:16  *** blathijs has quit IRC
18:53:26  <peter1138> Urgh, rebasing old code... every file gets changed and then updated, mega recompile :(
18:53:51  <TrueBrain> nice
18:53:53  *** WormnestAndroid has quit IRC
18:54:09  <TrueBrain> nielsm: only odds ones are not the init() and shutdown() in Social, but details :D
18:54:36  <LordAro> not sure i like the pseudo-dynamic interface
18:55:00  <LordAro> why not just require to have all the functions defined ?
18:55:06  *** WormnestAndroid has joined #openttd
18:55:09  <LordAro> they can easily do nothing if not required
18:55:17  <peter1138> Does smallvector still exist?
18:55:21  <LordAro> no
18:55:46  <DorpsGek> [OpenTTD/OpenTTD] perezdidac commented on pull request #8902: Feature: show upload date in the network content window https://git.io/JYFZu
18:55:53  <DorpsGek> [OpenTTD/team] frosch123 commented on issue #183: [hi_IN] Translator access request https://git.io/JYSUg
18:56:08  *** blathijs has joined #openttd
18:56:40  <peter1138> Hm
18:57:14  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8902: Feature: show upload date in the network content window https://git.io/JYFZK
19:00:02  <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #8716: Fix #8713: Change OTTD2FS and FS2OTTD to return string objects https://git.io/JYFZA
19:00:16  <DorpsGek> [OpenTTD/BaNaNaS] TrueBrain approved pull request #91: Change: migrate OpenTTD user thexa4 to GitHub user thexa4 https://git.io/JYFne
19:00:19  <DorpsGek> [OpenTTD/BaNaNaS] TrueBrain merged pull request #91: Change: migrate OpenTTD user thexa4 to GitHub user thexa4 https://git.io/JYFGY
19:00:53  <frosch123> https://github.com/OpenTTD/team/issues/183 <- lol, now dorpsgek closed it :p
19:01:17  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8716: Fix #8713: Change OTTD2FS and FS2OTTD to return string objects https://git.io/JYFnG
19:02:01  *** Synck has quit IRC
19:02:29  <DorpsGek> [OpenTTD/team] frosch123 commented on issue #183: [hi_IN] Translator access request https://git.io/JYSUg
19:02:37  <DorpsGek> [OpenTTD/OpenTTD] ghisvail commented on pull request #8948: Fix: Honor default soundfont for FluidSynth https://git.io/JYFna
19:02:53  <LordAro> lol dorpsgek
19:03:42  <frosch123> no idea why we have no hindi translation yet
19:03:54  <frosch123> there are only like 300M speakers
19:04:54  <DorpsGek> [OpenTTD/OpenTTD] ghisvail commented on pull request #8948: Fix: Honor default soundfont for FluidSynth https://git.io/JYFnA
19:06:57  <frosch123> i'll leave it to LordAro and TrueBrain to decide, whether we want a translator with such stupid avatar
19:08:00  <TrueBrain> which one?
19:08:02  <FLHerne> Isn't it just one of those autogenerated ones?
19:08:09  <frosch123> TrueBrain: the only open one
19:08:29  <DorpsGek> [OpenTTD/OpenTTD] ghisvail updated pull request #8953: Fix: Use FluidSynth default soundfont https://git.io/JYQGl
19:08:29  <TrueBrain> I leave it to LordAro :P
19:08:30  <FLHerne> Oh, the other one
19:08:32  <LordAro> oh heavens
19:08:47  <DorpsGek> [OpenTTD/OpenTTD] ghisvail commented on pull request #8953: Fix: Use FluidSynth default soundfont https://git.io/JYFcE
19:10:50  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8953: Fix: Use FluidSynth default soundfont https://git.io/JYFcQ
19:11:12  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8948: Fix: Honor default soundfont for FluidSynth https://git.io/JYFc5
19:11:32  <TrueBrain> LordAro: going by discord it is a popular request, sort by upload .. but I am +0 on it .. don't really care either way
19:11:45  <TrueBrain> I rather see we add something to measure popularity, and sort by that :P
19:11:54  <LordAro> yeah
19:12:04  <LordAro> sorting by upload date alone has no purpose, imo
19:12:16  <frosch123> sorting by upload is like "what's new"
19:12:17  <LordAro> there's plenty of ancient things that are perfectly valid
19:12:28  <peter1138> Yes, What's New is useful, I think.
19:12:32  <frosch123> when you checked everything, and regulary recheck
19:12:33  <DorpsGek> [OpenTTD/OpenTTD] adamcirillo opened issue #8963: Black Bars during gameplay https://git.io/JYFCT
19:12:43  <LordAro> i suppose
19:13:05  <peter1138> I need to know andythenorth's latest unfinished masterpiece.
19:13:33  <LordAro> "It did not show up in the screen shoot not sure why"
19:13:40  <LordAro> dying monitor?
19:13:40  <peter1138> Useful
19:13:58  <nielsm> sounds like an issue with the video output on user's machine
19:15:07  <andythenorth> I did what now?
19:15:19  <peter1138> Might be a hardware issue, I reckon if they could send their GPU to use to check...
19:16:00  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #8963: Black Bars during gameplay https://git.io/JYFCT
19:17:42  <milek7> I think it might be worth checking with vsync
19:17:56  <andythenorth> so we agreed...newgrf payment multiplier for vehicles will be added yes? :)
19:18:18  <DorpsGek> [OpenTTD/OpenTTD] ghisvail commented on pull request #8953: Fix: Use FluidSynth default soundfont https://git.io/JYFCd
19:18:40  <DorpsGek> [OpenTTD/OpenTTD] adamcirillo commented on issue #8963: Black Bars during gameplay https://git.io/JYFCT
19:19:36  <glx> <FLHerne> LordAro, glx: When I try to build grfcodec, `make install`/`ninja install` seems to not exist as a target? <-- ah yes, I didn't implement this part
19:21:34  <peter1138> Hmm, Ctrl-S crashed.
19:21:37  <DorpsGek> [OpenTTD/bananas-frontend-cli] erenes commented on pull request #22: Fix: Use urllib to combine urls (#5) https://git.io/JYFWl
19:22:16  <peter1138> Oh, might be my patch
19:22:49  <FLHerne> glx: I can try to copy it from ottd or whatever at some point
19:24:05  <peter1138> Problem with more-cc... there's not much you can do with the palette.
19:25:16  <glx> FLHerne: I think you need at least "install(TARGETS grfid grfstrip nforenum grfcodec RUNTIME)"
19:26:14  <glx> or something like that
19:26:25  <glx> hardest part is the doc
19:29:19  <DorpsGek> [OpenTTD/bananas-frontend-cli] erenes updated pull request #22: Fix: Use urllib to combine urls (#5) https://git.io/JYQbM
19:33:23  *** heffer has quit IRC
19:36:30  *** heffer has joined #openttd
19:53:06  <DorpsGek> [OpenTTD/OpenTTD] adamcirillo commented on issue #8963: Black Bars during gameplay https://git.io/JYFCT
19:58:38  <LordAro> doesn't look very vsyncish
19:58:40  <DorpsGek> [OpenTTD/bananas-server] perezdidac commented on pull request #43: Add: pass upload date to OpenTTD client https://git.io/JYFRT
19:58:58  <TrueBrain> that looks like a broken something :D
20:00:04  *** iSoSyS has joined #openttd
20:00:23  *** jottyfan has quit IRC
20:02:24  <DorpsGek> [OpenTTD/OpenTTD] perezdidac commented on pull request #8902: Feature: show upload date in the network content window https://git.io/JYFRC
20:07:46  <peter1138> God damn that ugly big gui crap
20:12:17  *** frosch123 has quit IRC
20:12:57  *** EER has quit IRC
20:27:23  <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #8963: Black Bars during gameplay https://git.io/JYFCT
20:37:34  *** heffer_ has joined #openttd
20:43:13  *** heffer has quit IRC
20:45:33  <TrueBrain> LordAro: honestly, I think the idea of nielsm is a good one. There are Rich Presence plugins that never get whole parts of that plugin, like Networking. Discord won't have it, unlikely for Epic etc to have it. It does make it a bit more clear what a plugin does and doesn't
20:45:34  *** iSoSyS has quit IRC
20:45:53  *** heffer_ has quit IRC
20:45:54  <TrueBrain> it keeps things a bit more tailored for what-ever is presented by the overlay
20:46:17  <TrueBrain> CloudSaves is another of such interface
20:46:27  <TrueBrain> and I am sure I am forgetting ones :)
20:47:05  <TrueBrain> sure, you can make 1 single interface, but this feels more to the point .. one could even argue they should be separate shims, but that is hard with the globals things like Steamworks SDK have
20:47:10  <TrueBrain> just my 2 cents :D
20:48:08  <LordAro> idk, maybe? but OTTD isn't (or shouldn't be) interested in what the plugin provides
20:49:15  <TrueBrain> look at it a different way: those SDKs offers a lot of things totally unrelated. So unrelated, the documentation has them in different locations
20:49:25  <TrueBrain> but we cannot load them as separate plugins
20:49:30  <TrueBrain> so this mimicks that
20:50:04  <TrueBrain> (https://partner.steamgames.com/doc/sdk/api at the bottom "Steam Game Servers", their APIs for completely unrelated things)
20:50:09  <TrueBrain> owh, Achievements, how could I forgot .. :P
20:50:41  <TrueBrain> SDL does this too, basically, with their Audo / Video / Input :)
20:50:59  <LordAro> i get that
20:51:04  <LordAro> i'm talking about the struct interface thing
20:51:15  <TrueBrain> yeah, you want one big one, right?
20:51:19  <TrueBrain> instead of a chunked one?
20:51:25  <LordAro> no, the opposite
20:51:42  <LordAro> nielsm's plan currently is "give me a struct pointing to functions x, y & z"
20:51:46  <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #8956: Disasters: wrong location shown in factory/refinery destroyed message https://git.io/JY7L2
20:51:50  *** heffer has joined #openttd
20:52:00  <LordAro> whereas i think it should just be "plugins must provide functions x, y & z"
20:52:11  <TrueBrain> yeah, so you want them to define all
20:52:16  <LordAro> if function z is irrelevant, it can just be empty
20:52:16  <TrueBrain> right?
20:52:18  <LordAro> yeah
20:52:29  <TrueBrain> there are two things from what I can see
20:52:29  <LordAro> then OTTD doesn't need to care about null function pointers
20:52:36  <peter1138> Doesn't that make extending it later more difficult?
20:52:36  <LordAro> it will just fail to load it in the first place
20:52:38  <TrueBrain> 1) it will be a really long list :P And we need some kind of versioning
20:52:55  <TrueBrain> so having them all "just exist" makes changing anything really tricky, I think?
20:53:01  <TrueBrain> or we need to do @GLIBC stuff
20:53:07  <TrueBrain> not sure that works on Windows etc :D
20:53:28  <TrueBrain> but the other thing is, we also need a way to list "what plugins can supply networking", so people can enable/disable it etc
20:53:32  <nielsm> null function pointers are useful though, it's a way of saying "don't try asking me for this, I can't do it"
20:53:53  <LordAro> yeah, pros/cons
20:54:04  <LordAro> i hadn't really considered versioning
20:54:41  <TrueBrain> I honestly do not know if there are C++ ways to do versioning differently
20:54:50  <LordAro> not afaik
20:54:50  <TrueBrain> @GLIBC seems a useful approach, but .. shrug
20:55:03  <nielsm> "supply an identifier, receive a bag of function pointers" is basically the standard paradigm for doing plugins
20:55:12  <LordAro> @GLIBC is more of an artefact of the ELF standard, rather than a language :p
20:55:14  <DorpsGek> [OpenTTD/OpenTTD] rpwjanzen commented on pull request #8894: Replace IConsolePrint*(F)( calls with specific console level calls https://git.io/JYFzF
20:55:22  <TrueBrain> awwhh :(
20:55:53  <nielsm> and we can define a rule that interfaces should be designed such that a plugin must implement all or nothing
20:56:02  <LordAro> nielsm: it's just not how you (generally) do libraries though
20:56:05  <LordAro> it just feels... weird
20:56:41  <TrueBrain> if you consider it something you could statically link, I get what you mean, yes :)
20:56:47  <TrueBrain> but I guess it is not that :P
20:56:59  <TrueBrain> (we can never statically link them, btw, to be clear :D License shit ....)
20:57:25  *** FLHerne has quit IRC
20:57:39  *** FLHerne has joined #openttd
20:58:01  <TrueBrain> I don't know any C++ plugin system, so I do not know how common this is :D
20:58:30  <LordAro> me either
20:59:01  <peter1138> "Codechange: WIP"
20:59:11  <peter1138> I wonder why I did that instead of just, say, "WIP"...
20:59:23  <LordAro> incidentally, how are these social plugins planned to be distributed?
20:59:34  <TrueBrain> we have no clue yet :P
20:59:34  <nielsm> peter1138: local commit checker scripts?
20:59:42  <peter1138> Ah possibly
20:59:50  <LordAro> it occurred to me that distributing via bananas could work, as a separate content type
20:59:59  <TrueBrain> that was my suggestion a few days ago yes
21:00:00  <TrueBrain> BUT
21:00:06  <LordAro> though it would be the first case of being architecture specific
21:00:15  <TrueBrain> distributing binaries (as in, .so / .dll) via BaNaNaS feels icky
21:00:22  <TrueBrain> not just anyone should be able to upload them
21:00:30  *** andythenorth has quit IRC
21:00:36  <TrueBrain> arch-specific is rather easy to solve honestly :)
21:00:39  <LordAro> it'd be a special case, for sure
21:00:39  <nielsm> well, it looks like the discord RPC thing can work, and it's MIT, so it would allow full in-box distribution
21:01:13  <nielsm> they say the API is deprecated but haven't given any notice of removing support of it from their desktop client
21:01:23  <TrueBrain> what I was thinking, that that category can only be added via PRs to the BaNaNaS repo, to make sure nobody sneaks in weird binaries
21:01:39  <LordAro> that would work, sure
21:01:49  <peter1138> Oh jeez, newgrf docks compiled.
21:01:55  <LordAro> ship it!
21:01:59  <LordAro> </puns>
21:02:07  <TrueBrain> but it feels the cleanest to do it via BaNaNaS, as it gives people a choice
21:02:11  <TrueBrain> which I really like
21:02:11  <peter1138> Oh, I don't have the custom NewGRF for it :/
21:02:39  <LordAro> TrueBrain: and indeed not bundling things that people don't need/want
21:02:40  <nielsm> if I ever appear in a stream or something I will make sure to say "grf" in as many different ways as possible
21:02:42  <peter1138> Implement a plugin system via NewGRF
21:02:43  <TrueBrain> (as in, do I want to download this non-free yes/no)
21:03:23  <TrueBrain> we briefly looked at a FFI interface via Squirrel LordAro , to see if we can avoid shipping binaries :P
21:03:29  <TrueBrain> possible, but ........ ugh
21:03:55  <TrueBrain> what might be a good idea is to see if we can sign those binaries
21:04:01  <TrueBrain> and refuse to load plugins that are not signed by us
21:04:04  <peter1138> So much faff, curse you GPL
21:04:07  <LordAro> mm
21:05:30  <orudge> I know we had a discussion about it before, but if we wrote an MIT-licenced (let's say) plug-in that interfaces with the Steam API, and distribute that as a Steam depot that gets installed alongside OpenTTD, using this new interface, could you argue it's allowable? You could take the DLLs and stick them into a regular version of openttd, or replace the Steam openttd executable, for instance.
21:06:58  <Xaroth> Didn't TrueBrain include that in his gist writeup of it?
21:07:09  <orudge> Not sure, I have probably missed that :)
21:07:32  <TrueBrain> https://gist.github.com/TrueBrain/bccb44cf813cb556613dcb89889bd357
21:08:17  <TrueBrain> https://gist.github.com/TrueBrain/bccb44cf813cb556613dcb89889bd357#steam-depots to be exact
21:08:36  <TrueBrain> it is a very .. thin line to walk .. strictly seen we never distributed GPL with non-GPL
21:08:44  <TrueBrain> no Dutch judge will agree with you
21:08:54  <TrueBrain> but more likely US judges will :P
21:10:02  <TrueBrain> LordAro: one of the things that was mentioned for BaNaNaS downloads, that you want to avoid someone copying in a "bad" DLL in their plugin folder, that makes that computer into a coin miner
21:10:18  <TrueBrain> but we could SHA256 check every plugin on disk against a known-good list, I guess
21:10:54  <TrueBrain> and warn a user about it possibly being a horrible plugin if not on that list :)
21:10:59  <LordAro> possible?
21:11:00  <orudge> You also have to deal with 32-bit/64-bit/ARM64 versions of Windows, all sorts of fun with potential versions of C++ libraries on Linux, macOS code signing
21:11:10  <orudge> I would very much avoid distributing binaries via Bananas if possible :P
21:11:25  <LordAro> so make plugins be checked against online checksums every time it loads, rather than just on download/update?
21:11:27  <TrueBrain> orudge: what ever way of distribution we do, we have to deal with that anyway
21:11:28  <orudge> (anything distributed and loaded via Bananas on macOS would I think need to be signed)
21:11:31  <TrueBrain> that is the fact of it being binaries :)
21:11:46  <TrueBrain> LordAro: yeah, and a built-in list for fallback or something .. dunno
21:12:03  <LordAro> but ultimately... orudge is right
21:12:16  <orudge> TrueBrain: but there's a difference between us providing a single zip full of binaries that have been compiled together, versus a random user who may have compiled OpenTTD in who knows what way, trying to then link in prebuilt binaries
21:12:20  <orudge> on windows this is usually fine
21:12:24  <orudge> On other OSes, there can be a world of pain
21:12:34  <orudge> in my experience :P
21:12:35  <LordAro> we can build our plugins to be as compatible as possible, but ultimately there's always going to be an OS that we don't support
21:12:38  <TrueBrain> orudge: I do not follow, sorry
21:12:43  <TrueBrain> "single zip full of binaries"?
21:12:51  <TrueBrain> we cannot distribute OpenTTD together with, say, a Steam shim
21:12:56  <orudge> OK, not literally
21:12:59  <TrueBrain> those have to be distributed apart
21:13:01  <orudge> but Steam for instance
21:13:20  <orudge> we would presumably build them in a controlled manner
21:13:57  <orudge> For Discord, etc, then yes, perhaps this is less applicable
21:14:11  <peter1138> How does the Steam overlay hook into everything? I guess that isn't... linking...
21:14:12  <TrueBrain> you say words, but I have a hard time following, sorry :D
21:14:44  <TrueBrain> it seems you are really thinking about this orudge , and I really try to follow, but I am missing critical pieces it seems :)
21:15:01  <nielsm> is it possible on steam to supply a free DLC that causes it to add the steam integration code? something that's obvious and easy to reach for users, but also makes a very clear "the user actively chose to get this" button
21:15:07  <orudge> TrueBrain: I am thinking/rethinking it through myself to be fair :P
21:15:09  <michi_cc> peter1138: By not asking a lawyer :D At least on Windows it is an injected DLL, which per FSF is probably bad bad bad bad.
21:15:13  <TrueBrain> orudge: :D
21:15:22  <LordAro> as long as the interface is explicitly C (rather than C++), there should be no issues
21:15:32  <LordAro> libstdc++ ABI issues can get in the way
21:15:48  <LordAro> but yeah, distributing a binary via bananas to get full compatibility is going to be tricky
21:16:01  <TrueBrain> LordAro: we are limited by how compatible the DLL is we have to ship too
21:16:03  <orudge> TrueBrain: perhaps too many experiences with people offering a "generic Linux" binary (not necessarily OpenTTD :P) that turns out to require a glibc version distributed with RHEL 5 or something
21:16:08  <TrueBrain> the SteamSDK DLL has a limit to what it supports
21:16:10  <TrueBrain> all we have to do is match that
21:16:28  <michi_cc> OTOH, the overlay is in-memory on runtime only, so GPL probably doesn't apply as nobody is distributing anything.
21:16:30  <TrueBrain> we cannot be "more" compatible than the DLL :)
21:17:15  <LordAro> orudge: glibc is *always* fowards & backwards compatible, so "require an old glibc version" is not an issue
21:17:17  <TrueBrain> orudge: yeah; and I think that is the biggest difference here. We are integrating with an already existing library that is at least runs on all machines supported by the platform we build for (lol, that sentence is weird :P)
21:17:18  <orudge> but anyway, for Steam, given OpenTTD Distribution Ltd is the company distributing it technically, the director of that company is willing to take the risk of distributing a depot containing a Steam plug-in DLL that implemented the OpenTTD plug-in interface
21:17:37  <TrueBrain> orudge: good to hear :D
21:17:39  <orudge> LordAro: maybe not glibc then, but something along those lines
21:17:59  * orudge waits for the rush of OS/2 social presence plug-ins...
21:18:01  <TrueBrain> so something like ARM support is not needed for Steam
21:18:04  <TrueBrain> as .. it doesn't exist
21:18:04  <orudge> Mm
21:18:10  <orudge> ... yet ;)
21:18:15  <LordAro> the reverse however, someone running OTTD on RHEL5 (selfcompiled or whatever) might have issues with the distributed social-plugin, and we need a good way of detecting that beforehand
21:18:22  <TrueBrain> when it does, we know the exact conditions in what we have to distribute our shim + the library :)
21:18:50  <TrueBrain> LordAro: if Steam runs on RHEL5, and we make sure the library has the same dependencies, that is not an issue, is there?
21:18:59  <michi_cc> A zero-cost DLC might actually not be that bad of an idea, because then it is absolutely clear that main OpenTTD is not distributed concurrently with any Steam plugin.
21:19:05  <LordAro> TrueBrain: exactly
21:19:12  <LordAro> (presumably it's Ubuntu12.04)
21:19:23  <TrueBrain> so if someone builds OpenTTD for WinXP
21:19:26  <TrueBrain> he is not going to get a Steam plugin
21:19:30  <TrueBrain> that is simply not going to happen :P
21:19:41  <LordAro> the tricky bit is determining that beyond "linux" and "x64" before downloading and attempting to use it
21:19:57  <TrueBrain> I wonder what Steamworks does in those cases
21:20:01  <michi_cc> I would assume a Steam plugin only makes sense if actually running via Steam.
21:20:28  <TrueBrain> but BaNaNaS or not
21:20:38  <TrueBrain> there will be a user, that downloads the shim + dll from the website
21:20:41  <TrueBrain> puts it in his plugin folder
21:20:45  <TrueBrain> and complains it is not working on WinXP
21:21:03  <TrueBrain> so it is not a BaNaNaS issue, just a very generic issue, I guess?
21:21:04  <orudge> I don't think Steam has worked on XP for some years now though
21:21:10  <orudge> but yes
21:21:15  <orudge> there'll still be somebody complaining about it ;)
21:21:17  *** Progman has quit IRC
21:21:19  <TrueBrain> well, what LordAro says is right, it would crash
21:21:20  <LordAro> there's also all sorts of fun regarding DLL loading, especially with chaining things together
21:21:21  <TrueBrain> that is bad
21:21:31  <peter1138> I kinda think if you have to come up with these schemes to circumvent, then perhaps it just shouldn't be done.
21:21:35  <TrueBrain> but that would mean we cannot do plugins :D
21:21:58  <orudge> This is now where you spawn a separate executable to load the plug-ins, and write an IPC interface between openttd.exe and openttd_plugin_loader.exe...
21:22:13  <TrueBrain> the separate executable would crash
21:22:15  <orudge> or you just accept that it might not work occasionally
21:22:15  <TrueBrain> someone would complain
21:22:19  <TrueBrain> it is just moving the issue, not solving it :)
21:22:22  <orudge> Well quite
21:22:39  <TrueBrain> and I agree, I doubt there is a way to detect all edgecases :P
21:22:39  <LordAro> what would crash?
21:22:55  <TrueBrain> who are you asking in relation to what LordAro ? :)
21:23:13  <LordAro> dlopen/dlsym would fail, and then we would display a suitable error message
21:23:20  <LordAro> well, both
21:23:27  <TrueBrain> say, there is an opcode in there the CPU doesn't support
21:23:28  <TrueBrain> boom
21:23:49  <TrueBrain> if we make a binary plugin system, someone is going to run into that, sooner or later :P
21:23:59  <TrueBrain> question is, I guess: do we care :)
21:24:20  <TrueBrain> (a typical, does the 99% has to suffer because of the 1%)
21:24:25  <LordAro> so... what were the issues with the squirrel FFI? :p
21:24:33  <TrueBrain> FFI has the exact same issue :)
21:24:44  <TrueBrain> in the end, it binds to the Steamworks DLL
21:24:56  <LordAro> true
21:25:22  <TrueBrain> I just wonder if it is really a problem
21:25:34  <michi_cc> Isn't that what try/catch and signal handlers where invented for? :D
21:25:44  *** sla_ro|master has quit IRC
21:25:46  <TrueBrain> can they catch invalid opcodes?
21:26:02  <TrueBrain> but yeah, we can always fork and run the plugin in the fork :P
21:26:43  <TrueBrain> so with extra effort, we can guard against it crashing OpenTTD, I guess
21:27:06  <michi_cc> On Windows, I think yes. Invalid opcode is an SEH exception that can be translated to a C++ exception.
21:27:19  <nielsm> uh steam also has a way to show a license agreement to the user first time they launch, right? could we do that? "OpenTTD is available under the terms of the GPL version 2 or later license, however the version installed via Steam contains code copyright Valve Software which is not available under an open license. Do you accept to run this combination?"
21:27:47  <TrueBrain> 2 different topics, I think?
21:27:58  <TrueBrain> 1 is: do we want binary plugins as someone might find a combination that crashes and burns
21:28:05  <TrueBrain> the other is how we can distribute it?
21:28:41  <LordAro> correct
21:28:47  <TrueBrain> as for distribution, I am really not worried about the Steam distribution itself. There are so many options and possibilities there
21:28:53  <michi_cc> nielsm: A zero-cost DLC is IMHO better for that. Not distributed at the same time and definitely a user choice, not a distributor choice.
21:28:56  <LordAro> michi_cc: some googling suggests that it works with MSVC, but only in debug mode
21:28:56  <TrueBrain> OpenGFX and friends are shipped nicely too :)
21:29:06  <nielsm> hmm dynamic libraries can also export symbols that are not actually callable functions but just e.g. a string pointer
21:29:28  <michi_cc> LordAro: Why would _set_se_translator not work in Release though?
21:29:39  <nielsm> if the plugin library has to export a string describing its build environment, which openttd can then compare to its own, maybe it can be verified before any code is run?
21:29:56  <LordAro> michi_cc: https://stackoverflow.com/questions/457577/catching-access-violation-exceptions ¯\_(ツ)_/¯
21:30:24  <TrueBrain> nielsm: haha, that is the most guarded solution yet, I think .. "you can only run libraries compiled with the exact same compiler as openttd itself is" :D
21:30:53  <nielsm> TrueBrain well yeah... it can maybe be handled in some more flexible way
21:30:59  <michi_cc> LordAro: _set_se_translator will solve that, as long as you accept non-portable, OS specific code.
21:30:59  <TrueBrain> still, as a reminder, we cannot compile the Steamworks DLL. But I doubt anyone not running Steam is going to copy that file in his plugin folder and complain if it doesn't do exactly what he wants
21:31:19  <nielsm> but the basic idea of exporting a symbol that's not code which the host process can verify first
21:31:47  <TrueBrain> tldr; having binaries other than our main binary is shit :P
21:32:20  <LordAro> quite
21:32:25  <peter1138> https://github.com/SteamRE/open-steamworks
21:32:26  <peter1138> Who knows
21:32:40  <TrueBrain> peter1138: lol @ last commit timestamp :D
21:32:47  <nielsm> 5 years ago
21:32:47  <peter1138> Yes
21:32:55  <LordAro> also quite likely to get you kicked off steam quite quickly
21:33:05  <TrueBrain> well, if we go the FFI route, we could argue that the glue can never crash .. at worst, the DLL we load crashes .. but we should be able to contain that and only make the plugin crash, I guess
21:33:37  <TrueBrain> dunno .. licenses suck ..
21:33:59  <peter1138> Just get that exception clause agreed and link directly...
21:34:13  <TrueBrain> that does solve a lot of issues, yes :)
21:34:34  <LordAro> (but not actually link, because then we'd need multiple binaries)
21:34:41  <LordAro> but... urgh
21:34:43  <TrueBrain> we have GitHub workflow for that
21:34:54  <LordAro> dlopen pls
21:35:17  <TrueBrain> I don't disagree, but that does mean we have to accept there will be combinations that cause weird effects :D
21:35:24  <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on issue #8963: Black Bars during gameplay https://git.io/JYFCT
21:37:02  <LordAro> sure
21:37:13  <LordAro> but regardless, that takes us back round to the original argument
21:37:23  <LordAro> and i still don't feel that changing the licence is a reasonable solution
21:37:26  <TrueBrain> circles? We? Here? NEVAH! :) Do tell :)
21:37:31  <TrueBrain> what argument you refer to?
21:37:48  <TrueBrain> nielsm: in case you didn't know btw, https://github.com/Warzone2100/warzone2100/blob/276b1e4ec7c38b9114e3bc013aef8f09e70692d3/src/integrations/wzdiscordrpc.cpp
21:38:01  <LordAro> i don't feel the exception clause a feasible/good solution
21:38:09  <TrueBrain> nah, we shouldn't do that
21:38:31  <TrueBrain> the idea of a plugin system is best, I think. We just have to consider "what if the plugin crashes"
21:38:35  <TrueBrain> and find a neat way to solve that
21:38:43  <TrueBrain> in my opinion :)
21:39:08  <TrueBrain> lets figure out distribution when we have a plugin system, tbh
21:40:16  <peter1138> God aBase is depressing isn't it...
21:40:37  <LordAro> i might be misremembering, but i think there is a way of statically linking a dynamic library, through some horrific binary fiddling, so we could *theoretically* just have a single plugin file that also includes the steamworks library
21:40:45  <LordAro> but i am not advocating that in the slightest
21:41:00  <LordAro> but i have seen it (or something very like it) done
21:41:09  <LordAro> peter1138: it's like zbase, but with some gui icons!
21:41:15  <TrueBrain> I once wrote eDLL, which made a DLL into lazy binding .. you can do some NASTY shit :P
21:41:18  <LordAro> seriously, why have we not merged them yet?
21:42:09  <peter1138> And dumb sprite offsets all over the place.
21:42:28  <LordAro> and so many people just use it by default
21:42:35  <LordAro> it looks so bad!
21:42:41  <peter1138> And no animated water
21:42:44  <TrueBrain> 32bpp and EZ, yes
21:43:48  <TrueBrain> just too bad Steam doesn't have some API you can use to talk to the client
21:43:53  <TrueBrain> that would be so much easier :D
21:44:00  <TrueBrain> as in, HTTP API or what-ever
21:44:02  <TrueBrain> gRPC for all I care
21:44:07  <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on pull request #8716: Fix #8713: Change OTTD2FS and FS2OTTD to return string objects https://git.io/JYFV0
21:44:27  <LordAro> indeed
21:44:58  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8716: Fix #8713: Change OTTD2FS and FS2OTTD to return string objects https://git.io/JYFVg
21:45:04  <TrueBrain> but, we can always make an "openttd" that is free and one that is non-free :)
21:45:11  <TrueBrain> we wouldn't be the first to take that approach :P
21:46:41  <LordAro> rewrite it in rust!
21:46:46  * LordAro is slapped
21:47:32  <TrueBrain> I haven't written anything in Rust in a while ..
21:47:36  <TrueBrain> was pretty nice
21:47:42  <nielsm> your rust is... rusty?
21:47:46  <TrueBrain> :P
21:48:20  <LordAro> so i guess the answer for friday is "due to licensing restrictions it's pretty difficult. we're looking into possibilities but have no eta on anything"
21:48:41  <TrueBrain> LordAro: if they ask, I am going to spend 10 minutes explaining the shitshow this is :P
21:48:45  <TrueBrain> they will regret asking :D
21:48:51  <DorpsGek> [OpenTTD/OpenTTD-git-hooks] PeterN closed pull request #9: Change: Allow multiple #<issue>s without additional prefixes. https://git.io/JYFVS
21:49:01  <LordAro> i'd start writing the speech now :p
21:49:05  <LordAro> they are absolutely going to ask
21:49:13  <TrueBrain> I will prepare some slides, k? :D
21:49:42  <TrueBrain> btw, I like the idea of distributing the Steam plugin via DLC. Not that I think it is needed, we can just also "just" distribute it. But just because it gives a fun platform to show how insane license issues can become when platforms don't have free-licensed alternatives for their integration :D
21:49:50  <TrueBrain> but it might also give a huge blowback .. so yeah .. there is that :P
21:51:14  <TrueBrain> LordAro: fun thing, there are 4 parts to Steam integration: social-part (the plugin stuff), achievements (wtf, how do you do that with a sandbox game?!), cloudsaves (just needs doing) and workshop (FUCK no)
21:51:31  <LordAro> indeed
21:51:38  <LordAro> achievements are also a "nah", imo
21:51:40  <peter1138> Some games give you an achievement just for starting the thing...
21:51:42  <TrueBrain> so yeah, I will make a slide :P Just so I can rant, okay? :D
21:52:06  <TrueBrain> there are 2 things for me with achievements and OpenTTD: 1) we cannot have a "secret", so anyone can claim all achievements in seconds
21:52:20  <TrueBrain> 2) wtf? achievements in OpenTTD? Are you mental? I know you need a goal .. but come one .. wth? :P
21:52:25  <LordAro> but if we do, one for starting the game, and one for finishing the game with 1000 points
21:52:30  <LordAro> difficult to even cheat to that one
21:52:39  <TrueBrain> one for reaching FF of 10000x
21:52:43  <LordAro> (other than source modifications, of course)
21:52:58  <TrueBrain> one for finding the online content menu :P
21:53:27  <peter1138> Achievements for using the original data
21:53:39  <TrueBrain> and just to fuck with people, impossible scenarios
21:53:58  <TrueBrain> like "A ship just crashed into a train"
21:54:15  <FLHerne> Achievement for using the original data without pirating it
21:54:24  <peter1138> See, a few seconds and we already have some achievements...
21:54:26  <TrueBrain> "Generate a map with the highest peak at 255"
21:54:28  <FLHerne> (god knows how)
21:54:40  <TrueBrain> Generate a 4kx4k map in 1 second
21:54:44  <peter1138> FLHerne, checks if you insert the CDROM :D
21:54:45  <FLHerne> I think it would effectively just be an encouragement to pirate it otherwise
21:55:09  <TrueBrain> "Enter the sixth word on the 5th page of the manual"
21:55:11  <FLHerne> People like to get All The Achievements, and buying a CD is hassle
21:55:28  <FLHerne> Someone would put it on the wiki
21:55:50  <TrueBrain> next question will be Trading Cards
21:56:08  <FLHerne> TrueBrain: There's that bloody stupid hovercraft patch
21:56:22  <TrueBrain> "run JGRPP via Steam"
21:56:23  <LordAro> FLHerne: lies and slander
21:56:41  *** gelignite has quit IRC
21:56:44  <TrueBrain> "Install 2 NewGRF that are not compatible with each other"
21:56:46  <Xaroth> heh, manual-based DRM, those were the golden days
21:56:57  <peter1138> Just found a pile of old CDROMs, but not TTD :(
21:57:03  <nielsm> classic goal would be servicing oil rigs by train ofc
21:57:12  <TrueBrain> "just found", how the fuck do you "just find" a pile of CDROMs?
21:57:15  <LordAro> pretty sure mine is on the shelf
21:57:19  <peter1138> US Robotics 56k modem. Why did that even have a CD?
21:57:22  <FLHerne> "Upload a picture of yourself holding the original CDROM"?
21:57:28  <dwfreed> peter1138: drivers
21:57:36  <TrueBrain> FLHerne: who is going to screen those? :D
21:57:40  <FLHerne> you
21:57:40  <TrueBrain> crowdsourcing?
21:57:42  <peter1138> What drivers?
21:57:58  <dwfreed> granted, it's an MC97 compatible, so it should just work
21:58:06  <FLHerne> Machine Learning Cloud AI
21:58:09  <Xaroth> win98 needed drivers for some networking features
21:58:13  <peter1138> It's a serial modem.
21:58:17  <TrueBrain> "Start a map with an AI and lose"
21:58:30  <dwfreed> config software?
21:58:36  <TrueBrain> Achievement: "enable inflation"
21:58:44  <peter1138> Ooh Indycar Racing
21:58:48  <dwfreed> or an init string generator
21:59:00  <dwfreed> good ol' AT commands
21:59:07  <Xaroth> Achievement: disable inflation within 15 minutes of enabling it
21:59:16  <TrueBrain> how did we get from plugins to Steam to freaking 56k6 modems? :P
21:59:19  <TrueBrain> this channel is supah weird
21:59:23  <peter1138> Ultimate Doom on CD :D
21:59:29  <peter1138> I was looking for my TTD CD :D
21:59:30  <LordAro> surely: "Keep breakdowns enabled longer than 15 minutes"
21:59:35  <TrueBrain> LordAro: :D
21:59:37  <milek7> "change all settings from default value"
21:59:55  <TrueBrain> "change all settings from default value, including the hidden ones"
22:00:07  <Xaroth> Achievement: play with max_station_spread set to 2
22:00:16  <TrueBrain> now you are being serious, that is not fun Xaroth
22:00:17  <TrueBrain> :P
22:00:41  <TrueBrain> nah, creating some decent Achievements is not really difficult for OpenTTD
22:00:51  <TrueBrain> we could, if we really wanted to
22:01:00  <TrueBrain> just ... "it requires someone implementing it" :P
22:01:09  <FLHerne> "Convince andythenorth that one of his features is good and worth keeping"
22:01:19  <TrueBrain> FLHerne: evil :D
22:01:23  <peter1138> FLHerne, impossible achievements are no fun
22:01:32  <TrueBrain> "Find at least 1 bug in FIRS and report it to the author" :P
22:01:41  <FLHerne> "Have a patch committed to OpenTTD"?
22:01:50  <TrueBrain> oof
22:01:51  <TrueBrain> that burns
22:02:15  <FLHerne> I guess that thing a few months ago is cautionary
22:02:19  <Xaroth> the amount of "Fix: Typo" PRs after that achievment
22:02:32  <TrueBrain> Hactoberfest all over again
22:03:53  <nielsm> achievement: ghost train (have a train cross through itself)
22:04:49  <FLHerne> Now that one's sane
22:04:58  <LordAro> nielsm: i feel like if we could detect that, we wouldn't allow it :p
22:05:42  <TrueBrain> makes achievements .. considers win-condition a bug .. fixes bug ..
22:05:45  <TrueBrain> sounds like us :D
22:06:51  <TrueBrain> maybe tomorrow I should make a tiny tool which people can use to test of this way of NAT punching works for them
22:06:58  <TrueBrain> just so we can gather some stats how often it would work
22:07:54  <TrueBrain> well, that is just a too sane of an idea for this late .. night
22:11:44  *** WormnestAndroid has quit IRC
22:12:35  *** nielsm has quit IRC
22:12:46  *** WormnestAndroid has joined #openttd
22:14:53  <Timberwolf> "Have 4096 people waiting at a bus stop" or is that getting dangerously sensible?
22:15:29  <Timberwolf> "My eyes: mix 1x, 2x and 4x newgrfs in the same game and zoom in all the way"
22:15:30  <Xaroth> only 4k?
22:15:51  <Xaroth> 36656 sounds more challenging :P
22:16:25  *** Wolf01 has quit IRC
22:19:14  <Timberwolf> Should have an achievement for cheating called "a disgrace that will be remembered for eternity" for old times' sake.
22:19:40  <peter1138> Oh, should I resurrect #7441?
22:19:48  <peter1138> It's only from 2 years ago :/
22:25:18  <FLHerne> Timberwolf: Have more passengers waiting on your stations than the population of the map
22:25:29  <FLHerne> It's easy to do for towns
22:41:40  <spnda> oh no just found a weird bug with fullscreen
22:41:47  <spnda> will open a issue shortly
22:43:06  <spnda> ok now it doesn't happen??
22:43:07  <spnda> weird
22:43:33  <spnda> well if anyone wants to try and reproduce it: Click fullscreen at a low res like 1280x768, then change it to something higher as 1920x1080.
22:44:10  <spnda> The window won't resize but the screen will render at the new resolution
22:48:41  *** FLHerne has quit IRC
23:24:44  *** HerzogDeXtEr has quit IRC
23:25:57  <peter1138> Generating code
23:36:50  <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #7441: Feature: Per-group wagon removal flag https://git.io/fjkJl
23:40:08  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #7441: Feature: Per-group wagon removal flag https://git.io/JYFD8
23:43:46  <peter1138> Hmm, why does my own-built OpenTTD crash when I try to make a screenshot...
23:43:59  <peter1138> Hmmmmmmm
23:44:33  <peter1138> It's the same weird error I get when the content downloader tries to save a file too...
23:44:39  <peter1138> Suspicious...
23:45:13  <peter1138> STACK_BUFFER_OVERRUN. uh.
23:46:06  <peter1138> Both times the error occurs in vcpkg compiled parts, libpng and zlib respectively.
23:49:33  <TrueBrain> There is a ticket with more people having the same issue
23:49:51  <TrueBrain> I myself can also not make screenshot with a debug build
23:50:39  <TrueBrain> https://github.com/OpenTTD/OpenTTD/issues/8814
23:52:11  <peter1138> Hmm, this is release with debug info
23:53:19  *** glx has quit IRC
23:53:23  <peter1138> That both libpng and zlib fail when dealing with files is... suspicous.

Powered by YARRSTE version: svn-trunk