Config
Log for #openttd on 8th May 2021:
Times are UTC Toggle Colours
00:09:35  <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #9210: Fix #9209: Excessive time resizing highscore/news window when screen is too small. https://git.io/J39VX
00:11:28  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #9209: The victory screen newspaper slows the game down considerably https://git.io/J39zL
00:53:14  *** Progman has quit IRC
02:13:47  *** Wormnest has quit IRC
02:52:15  *** glx has quit IRC
02:54:03  *** D-HUND has joined #openttd
02:57:24  *** debdog has quit IRC
03:09:22  *** bruvvha has joined #openttd
03:10:06  <bruvvha> You know with all this digital badge bs thats a modern norm.... I think it'd be really amazing if someone came up with an exam and digital badge for OpenTTD Train Signalling. I totally would put that on my linkedin
03:14:23  *** Compu has joined #openttd
03:25:35  *** tokai has joined #openttd
03:25:35  *** ChanServ sets mode: +v tokai
03:28:11  *** tokai|noir has joined #openttd
03:28:11  *** ChanServ sets mode: +v tokai|noir
03:34:51  *** tokai has quit IRC
04:40:24  *** Flygon has joined #openttd
05:34:32  *** unbeatable101 has joined #openttd
05:39:34  *** unbeatable101 has quit IRC
06:03:04  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #9210: Fix #9209: Excessive time resizing highscore/news window when screen is too small. https://git.io/J3HuE
06:06:55  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #9205: Codechange: Make GetCurrentRect() conform to usual Rect bounds, and reuse it. https://git.io/J3HzJ
06:13:03  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #9206: Codechange: Slider widget used different range for drawing vs setting. https://git.io/J3Hgt
06:33:46  *** supermop_Home has quit IRC
06:37:17  *** Progman has joined #openttd
06:39:22  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #9211: Change: [Network] Change ChatMessage's message to std::string https://git.io/J3HwP
06:48:34  *** jottyfan has joined #openttd
06:57:27  *** andythenorth has joined #openttd
06:59:04  *** sla_ro|master has joined #openttd
07:17:21  <andythenorth> yo
07:17:35  <Rubidium> 'lo
07:19:55  <LordAro> o/
07:20:11  <LordAro> such rain
07:22:19  *** nielsm has joined #openttd
07:22:31  <andythenorth> such mouse
07:22:35  <andythenorth> in a mousetrap
07:25:01  <LordAro> is it deadmaus?
07:26:08  <andythenorth> humane trap
07:26:10  <andythenorth> so no
07:26:18  <andythenorth> looks like it's considering life choices though
07:26:27  <andythenorth> humane? mousane?
07:31:29  <LordAro> trouble with them is that you've now got to decide what to do with it
07:33:53  <andythenorth> well between them, our nearest neighbours have 7 cats
07:34:01  <andythenorth> who fight over our garden as territory
07:34:20  <andythenorth> 2 of the cats have abandoned home and live in our compost heap
07:34:29  <andythenorth> or I could take it to the park and let it go
07:41:28  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #9212: Change: support passing std::string directly to DEBUG https://git.io/J3HDE
07:42:43  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #9207: Fix: Use non-XDG directory for OpenTTD on Emscripten https://git.io/J3HD1
07:43:20  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #9207: Fix: Use non-XDG directory for OpenTTD on Emscripten https://git.io/J39WC
08:08:04  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #9208: Emscripten cannot persist all setting changes by design https://git.io/J394K
08:08:49  <TrueBrain> no clue why people think things are "by design" :P
08:10:18  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #9212: Change: support passing std::string directly to DEBUG https://git.io/J3HDE
08:11:07  <Rubidium> it's obvious that the person who made the Emscripten has designed everything perfectly and then implemented it ;)
08:11:35  <TrueBrain> I love that people have this illusion
08:12:24  <TrueBrain> but okay .. SetSettingsValue ideally should get a better wrapper, as now you have to use a string .. but that is something for another day
08:13:12  <Rubidium> I guess those people also abide by the idea of Intelligent Design
08:17:29  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #9211: Change: [Network] Change ChatMessage's message to std::string https://git.io/J3H7S
08:17:37  <TrueBrain> you can change the commit message during squashing if you like ^^
08:18:23  <DorpsGek> [OpenTTD/team] 112200369 opened issue #211: [en_AU] Translator access request https://git.io/J3H7h
08:19:45  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #9211: Change: [Network] Change ChatMessage's message to std::string https://git.io/J3HwP
08:19:49  <TrueBrain> Rubidium: you spotted the CI warnings with #9212?
08:20:15  <TrueBrain> glx, hurry up with your workflow fix :D :D :D
08:20:24  <TrueBrain> it worked, ship it :P :D
08:20:55  <DorpsGek> [OpenTTD/team] 112200369 commented on issue #211: [en_AU] Translator access request https://git.io/J3H7h
08:21:12  <LordAro> i am suspicious of that username
08:21:14  <TrueBrain> and another person that failed the read test ..
08:21:52  <LordAro> australian too...
08:22:11  <TrueBrain> well, strictly seen, he double failed
08:22:23  <TrueBrain> as not only did he not read for who the message was, but also what the message was
08:22:30  <LordAro> and that is not australian in the email body thst they received...
08:22:31  <Rubidium> TrueBrain: yeah, though it's only one warning... so much better than the previous attempt which just broke on anything not MSVC. And what I had to do to get it to build... I'm not so sure that's the way to go anymore. So I hope I can get some opinions on the limitation it adds (or removes)
08:22:36  <LordAro> /english
08:23:01  <TrueBrain> LordAro: euh .. yeah ... that is very odd
08:23:16  <TrueBrain> Rubidium: I did not know you could do this with templates, it does look pretty neat :)
08:23:32  <TrueBrain> but I leave it to C++ experts to give a real opinion :)
08:23:41  <TrueBrain> "looking neat" is not really a valid reason for anything code-wise :P
08:26:01  <Rubidium> TrueBrain: well, the point is that it sacrifices WARN_FORMAT. So the question is, what's more important. Not having to worry about WARN_FORMAT when you convert from C-string to std::string (on MSVC), or having something that attempts to check the parameters against the format
08:26:23  <TrueBrain> the latter saved us many many many many times
08:26:33  <TrueBrain> so yeah .. I understand your reluctance here
08:27:27  <LordAro> i know it's a much bigger change, but how about dropping the printf style entirely? DEBUG(misc, "some text ", intvar, " more text", strvar);
08:27:30  <LordAro> etc
08:28:14  <TrueBrain> removing all need for %s etc?
08:28:22  <Rubidium> yeah, I guess that's where it's going to head to
08:28:53  <TrueBrain> does that also allow you to print an enum, but instead it looks up the name instead of the value? :P :P
08:30:32  <Rubidium> if you provide the appropriate override it probably would
08:32:22  <Rubidium> the main problem with the bigger change... how would I ever get that approved? ;)
08:33:14  <TrueBrain> YOLO approve? :P
08:37:03  *** HerzogDeXtEr has joined #openttd
08:52:58  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #9204: Codechange: Be more selective when marking windows dirty https://git.io/J3SgI
08:53:59  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #9205: Codechange: Make GetCurrentRect() conform to usual Rect bounds, and reuse it. https://git.io/J393y
08:54:18  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #9206: Codechange: Slider widget used different range for drawing vs setting. https://git.io/J39sc
08:54:36  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #9210: Fix #9209: Excessive time resizing highscore/news window when screen is too small. https://git.io/J39VX
08:54:39  <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #9209: The victory screen newspaper slows the game down considerably https://git.io/J39zL
08:55:23  <TrueBrain> SPAM! :P
08:55:39  <TrueBrain> I see peter1138 wants to be in the stats too :) Very nice :)
08:56:29  <peter1138> Got a way to go to get near RB.
08:59:03  <LordAro> peter1138: did you see the other comment in #9209 ?
08:59:36  *** Samu has joined #openttd
08:59:38  <peter1138> Other comment?
09:00:16  <TrueBrain> he is imagining things I am afraid :P :D <3
09:00:38  <LordAro> oh, lol
09:00:42  <LordAro> thst was you
09:00:45  <LordAro> not the reporter
09:00:57  <TrueBrain> lolz :D
09:04:50  *** iSoSyS has joined #openttd
09:05:37  *** iSoSyS has quit IRC
09:08:27  *** andythenorth has quit IRC
09:09:10  <peter1138> It seems to be somewhat wet.
09:10:27  <peter1138> Hmm, #9203...
09:12:00  <Rubidium> TrueBrain: I learned some new C++. See line #7 in https://godbolt.org/z/83MeqfK7j
09:12:54  <Rubidium> well... learned is not the right word... I stumbled upon it trying to LA's idea to work
09:14:07  <TrueBrain> I don't even ... wuth?
09:14:08  <TrueBrain> no
09:14:10  <TrueBrain> :P
09:14:25  <LordAro> mm, fold expressions
09:14:27  <LordAro> great fun
09:15:17  <peter1138> Why not Debug("yikes", 1L << " " << 0.5 << " hi" << " bye")
09:15:36  <LordAro> might as well just use std::cout directly though :p
09:15:41  <peter1138> Ah
09:16:21  <Rubidium> LordAro: except, how are you going to redirect that over the network and split off desync debug stuff into a file
09:16:40  <peter1138> No, assuming Debug isn't a macro, that would always perform the formatting even if the message isn't ever displayed.
09:18:25  <TrueBrain> Could not connect to :0 (IPv?): Connection refused
09:18:27  <TrueBrain> oops
09:20:02  <TrueBrain> you can't get the peername of a socket that shows an error
09:20:02  <TrueBrain> hmm
09:20:06  <TrueBrain> that is a bit of an issue :D
09:20:23  *** virtualrandomnumber has joined #openttd
09:22:24  *** virtualrandomnumber has quit IRC
09:25:14  <TrueBrain> takes so much more bookkeeping to know the real IP otherwise, ugh ..
09:30:08  <Rubidium> https://godbolt.org/z/aazTo7ooY <- might be more palatable?
09:32:24  <Rubidium> I have been thinking about making a specialized stringstream of some sort that does the right thing, however... that makes it more likely to get conflicts between different threads in the output. Now it will have one line ready before going to the debug_print function
09:34:36  <_dp_> oh, lol, I was looking for a way to unpack args into stream just a few days ago
09:34:44  <_dp_> should've asked here I guess xDD
09:35:15  <Rubidium> _dp_: then your search-foo is failing you, as I just stumbled upon it searching
09:35:44  <_dp_> well, I didn't completely fail, I found a recursion trick
09:36:36  *** andythenorth has joined #openttd
09:37:08  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #9213: Fix f7e390bd: getpeername() doesn't work on closed sockets https://git.io/J3QUR
09:48:24  <LordAro> Rubidium: oh, well if redirecting is needed, just stringstream then
09:48:44  <LordAro> direct stringstream to std::cout, then network (as str) as appropriate
09:48:48  <LordAro> not quite as clean, but clean enough :p
09:51:00  <_dp_> btw :p https://pastebin.com/Qcv5hG3e
09:53:31  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #9213: Fix f7e390bd: getpeername() doesn't work on closed sockets https://git.io/J3Qky
09:55:41  <LordAro> _dp_: no std::format until C++20 :p
09:55:52  <LordAro> we could add fmt, but...
09:57:37  <peter1138> I did a nasty hack to make missing road types not cause a crash.
09:57:45  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #9213: Fix f7e390bd: getpeername() doesn't work on closed sockets https://git.io/J3QUR
09:57:47  <_dp_> I couldn't stand c++ formating any more
09:57:48  <peter1138> I suspect it would be better to abort loading the game though.
09:57:54  <_dp_> fmt makes formatting much easier
09:59:44  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding https://git.io/JOk7C
09:59:47  <DorpsGek> [OpenTTD/OpenTTD] LordAro updated pull request #9203: Change: Use gender-neutral pronouns https://git.io/J3SEv
09:59:58  <TrueBrain> okay, in theory this should now work with IPv6 too .. now I just need to make a test-setup to validate that :D
10:00:43  <DorpsGek> [OpenTTD/OpenTTD] LordAro updated pull request #9203: Change: Use gender-neutral pronouns https://git.io/J3SEv
10:00:48  <peter1138> ipv6 stun? hmm
10:00:54  <peter1138> I have ipv6 so...
10:01:02  <LordAro> test game? :D
10:01:18  <TrueBrain> well, there is a bit of work for me to do first, before I can test .. mainly, getting the GC to work on IPv6
10:01:26  <peter1138> ah
10:01:27  <TrueBrain> I don't have a test-box with IPv6 on a public routed IP :P
10:01:38  <peter1138> So about 10 minutes knowing you :D
10:01:41  <TrueBrain> so I need to poke some holes in several places ..
10:01:43  <TrueBrain> nah, first lunch
10:01:48  <TrueBrain> so it takes a bit longer :)
10:01:49  <TrueBrain> but tnx ;)
10:02:33  <DorpsGek> [OpenTTD/OpenTTD] LordAro merged pull request #9203: Change: Use gender-neutral pronouns https://git.io/J3SEv
10:02:50  <LordAro> (i squashed it, don't worry)
10:03:05  <peter1138> Hmm, actually although my home network has a /48, I only use one subnet to avoid having to be routed.
10:03:09  <peter1138> :-)
10:03:15  <LordAro> of course it does
10:03:23  <peter1138> It would be rude to reject it based on the commit messages.
10:03:25  <LordAro> because IPv4 exhaustion taught us nothing
10:03:36  <Rubidium> LordAro: oh boy, there still are more of those ;)
10:04:07  <peter1138> There are a lot more 2^48s than 2^32, but yes.
10:04:22  <peter1138> Really a /56 would be ample but ISPs be ISPs
10:04:27  <LordAro> src/script/api/script_waypointlist.hpp:  * @param vehicle_id The vehicle to get the list of waypoints he has in its orders from.
10:04:30  <LordAro> bleh.
10:04:46  <peter1138> Don't have to do everything in one commit.
10:04:53  <peter1138> How else are we going to catch up with Rb.
10:05:25  <LordAro> peter1138: the explanation given to me by some network engineers was that it's a trade off between (global) routing table size
10:05:30  <LordAro> but eh.
10:05:33  *** WormnestAndroid has quit IRC
10:05:47  *** WormnestAndroid has joined #openttd
10:05:56  <LordAro> something about the silicon needed for the really high level routers being super expensive too
10:06:52  <peter1138> At that level they are probably only dealing with /32s anyway.
10:07:26  <peter1138> I think they increased the default allocation from /32 to /29, at RIPE at least.
10:08:35  <LordAro> possibly
10:08:40  <LordAro> i'll have to ask again when they're online
10:08:42  <LordAro> https://github.com/OpenTTD/OpenTTD/pull/9081/files#diff-e88ddaad49e8d7421d92825f11a486bbee4238a5166639a1cbe3dea9bd2b8239R887-R892
10:08:48  <LordAro> anyone think of a good solution to this?
10:10:08  <peter1138> What's the problem?
10:10:22  <LordAro> year / {NUM} years being a "substring"
10:10:56  <Rubidium> LordAro: yes, support {NUM} within {P}, e.g. {P year "{NUM} years"}
10:10:57  <LordAro> there's a way of pluralising things, isn't there?
10:11:40  <LordAro> does that still work with the extra parameter?
10:11:43  <Rubidium> the alternative is {NUM} year{P "" s}, but then you will get "1 year", "2 years", etc.
10:11:55  <LordAro> that's not terrible
10:12:44  <peter1138> It goes up to 5005 years :D
10:12:46  <peter1138> ... 5000
10:12:50  <peter1138> Long term goals :D
10:13:15  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #9081: Feature: Configurable subsidy duration https://git.io/J3QtK
10:14:19  <Rubidium> Or just rewording the whole thing: "1 year subsidy awarded to {company}!{}{}{STRING} service from {STRING2} to {STRING2} will double rates"
10:16:13  *** andythenorth has quit IRC
10:28:07  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #9212: Change: support passing std::string directly to DEBUG https://git.io/J3QYj
10:36:42  <DorpsGek> [OpenTTD/OpenTTD] LordAro merged pull request #9202: Codechange: Don't save unused NewGRF override mappings. https://git.io/J3yTe
10:37:17  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #9039: Codechange: refactor File I/O slot functions to be object oriented and pass references instead of indices https://git.io/J3Q34
10:37:32  <Rubidium> hooray! ;)
10:37:50  <LordAro> i'm still not sure i totally understand why that variable needs to be static/global
10:37:53  <LordAro> but eh.
10:39:22  <Rubidium> it's effectively the file pointer to the base sound file (e.g. opensfx), from which it needs to read things. That should be released when changing sound set, but who's responsible for releasing it?
10:39:38  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #9039: Codechange: refactor File I/O slot functions to be object oriented and pass references instead of indices https://git.io/JOGDX
10:40:06  *** frosch123 has joined #openttd
10:40:51  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #9188: `autosave/netsave.sav` is not numbered (unlike regular `autosave/autosave#.sav`) https://git.io/J3guT
10:41:42  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #8870: Thread safety issues with _fio https://git.io/JqphB
10:41:45  <DorpsGek> [OpenTTD/OpenTTD] LordAro closed issue #8870: Thread safety issues with _fio https://git.io/JqphB
10:42:51  <Rubidium> 69 open PRs and 69 pages of PR... oh console_interal.h:32 ;)
10:43:30  * peter1138 rebases again
10:44:14  <DorpsGek> [OpenTTD/OpenTTD] Sgt-Nukem commented on issue #8112: Players report unauthorized clients joining passworded companies https://git.io/JfGhG
10:45:32  * peter1138 ponders a rework
10:48:43  <TrueBrain> LordAro: funny, I had the same reaction to #9188 :) Not the first time James creates a ticket about it .. seems he thinks they do something else than what they are build for
10:48:51  <TrueBrain> so it might also be a misconception on our part by now :P
10:49:18  <TrueBrain> guess we should either rename it to "emergency-netsave.sav", to highlight what we think it does
10:49:24  <TrueBrain> or make it more to what he thinks it does :)
10:49:42  <LordAro> ¯\_(ツ)_/¯
10:49:50  <LordAro> presumably wouldn't be particularly difficult to make it numbered
10:50:07  <frosch123> oof... east const... where did rb copy&paste that from :p
10:50:40  <LordAro> oh no
10:50:44  <TrueBrain> LordAro: we already have the code; but it also means it changes what we consider its functionality. Which is fine, but it might mean it needs a bit more than just numbering :)
10:50:51  <LordAro> mm
10:50:59  <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on issue #8112: Players report unauthorized clients joining passworded companies https://git.io/JfGhG
10:51:09  <TrueBrain> but it might also be that it is a niche he is having and nobody else :P So I am a bit on the fence about it :D
10:52:27  <Rubidium> frosch123: where did I sneak that in?
10:52:48  <TrueBrain> right, I was going to set up somewhere I can test IPv6 on .. eeeuuuuuuhhhhhhhhhhhhh
10:53:03  <frosch123> ToPrintfArgument(std::string const &value) noexcept
10:53:24  <TrueBrain> ideally it should be somewhere outside my own IPv6, so I can test my router too .. hmm
10:53:48  <frosch123> sorry, i did not yet bother digging out the password manager and 2fa device for login :p
10:54:53  <Rubidium> frosch123: Canada I guess; https://docs.microsoft.com/en-us/archive/msdn-magazine/2015/march/windows-with-c-using-printf-with-modern-c
10:55:39  <Rubidium> though that approach is effectively dead as it removes the compile time string format validation
10:56:22  <Rubidium> but I figured that out only after the CI ran it
10:56:54  <peter1138> "The currently selected base graphics set is missing 10 psirtes."
10:56:58  <peter1138> Uh, what have I done? :/
10:57:22  <peter1138> Apart from mistyped sprites.
10:57:30  <frosch123> ah, reading comments before diff :)
10:58:12  *** andythenorth has joined #openttd
10:58:24  <peter1138> He's back once again.
10:58:33  <andythenorth> probably immune now
10:58:40  <andythenorth> super
10:58:52  <peter1138> Glad mine isn't today, it's pissing down.
10:59:04  <andythenorth> such vaccine
10:59:07  <peter1138> "I'd rather get Covid than get wet"
10:59:28  <andythenorth> wife is doing them, but there were 3 lines, so I joined a different one
11:03:11  <peter1138> Mine is tomorrow. What's the betting I'll forget.
11:04:08  <TrueBrain> bah, this VPS has only Python 3.7 .. I need 3.8 .. ffs :P
11:04:10  <FLHerne> TrueBrain: Well, why are there multiple autosaves?
11:04:35  <peter1138> FLHerne, so that you can load a previous one.
11:04:40  <Rubidium> I'm betting there's a 100% chance there's a chance you forget
11:04:41  <FLHerne> Surely the original point of that is to have a backup in case the game crashes or you do something terrible and unrecoverable
11:05:02  <peter1138> No, auto saves are for when the player messes up, not for when the game messes up.
11:05:10  <peter1138> crash dump save is for when the game messes up
11:05:12  <FLHerne> You're supposed to save under a real name if you actually want to keep some state :p
11:05:38  <TrueBrain> and netsave for when the network messes up :)
11:06:20  <FLHerne> peter1138: It's kind of rare to mess up in such a way that you really need to go back 10 months or whatever it is
11:07:41  <FLHerne> James' first usecase sounds sane IMO
11:07:45  <FLHerne> "The server restarts and the client fails to reconnect to the server. The server restart causes the client to generate a netsave.sav, then the client failing to reconnect causes another disconnect which generates another netsave.sav which overwrites the first and useful version."
11:08:38  <FLHerne> Servers do restart, and some players do like to keep a copy of all their multiplayer games
11:09:11  <peter1138> Arguing to have mutliple netsaves is more useful than arguing to not have multiple autosaves ;)
11:09:27  <TrueBrain> and cue: so it might also be a misconception on our part by now :P
11:09:30  <FLHerne> Abolish all the saves!
11:09:49  <TrueBrain> honestly, I truly wonder how often autosaves are used .. we should add telemetry to the game
11:09:53  <TrueBrain> report to Google with metrics
11:09:55  <peter1138> lol
11:09:58  <TrueBrain> make it opt-out
11:10:03  <TrueBrain> I read that is doing really well these days
11:10:04  <FLHerne> OpenTTD should be like, say, Tetris
11:10:21  <TrueBrain> (for the record, that was all sarcastic, of course)
11:10:22  <peter1138> I think this is another one that isn't going to get old.
11:10:27  <FLHerne> You just keep playing until you have to quit, and the highscore depends how obsessively you played it
11:10:29  <TrueBrain> peter1138: :D
11:10:32  <peter1138> ALthough I've forgotten what the old one was :(
11:10:48  <TrueBrain> peter1138: next time, google that please
11:10:52  <TrueBrain> (sorry, I didn't forget :P)
11:11:23  <TrueBrain> wait, it should have been: what stupid you forgotten, you can just google that, pfffff
11:11:33  <peter1138> Oh yes.
11:11:55  <peter1138> That I forgot again is just the icing on the cake
11:12:59  * peter1138 rebuilds again. Good ol' bisects
11:13:13  <peter1138> Except I'm lazy so it's oldschool "pick a random commit"
11:14:29  <Rubidium> FLHerne: you know autosave counting starts at 0 every time you start the game, so... depending on whether you restarted the game, your first autosave of that game might be overwriting the last one of the previous one
11:14:55  <FLHerne> I didn't know that
11:15:28  <FLHerne> But then I normally play one or two games for years at a time, so I wouldn't :p
11:15:35  <FLHerne> That sounds like a bug really
11:16:43  <Rubidium> I'm talking about starting the game (OpenTTD), not a game (like the one you start twice a year, or do you play OpenTTD only twice a year)
11:18:07  <TrueBrain> if we are moving the netsave from emergency-save to something else, it might be worth the effort to just autosave client-side too on regular intervals
11:18:33  <TrueBrain> but as I mention, if we no longer consider it an emergency save, we might consider polishing it in general :) (also some function renaming :P)
11:19:38  <FLHerne> Ok, that also sounds like a bug
11:21:39  <TrueBrain> okay ... GC running on IPv6 .. now lets test!
11:22:16  <TrueBrain> absolutely no clue what it is going to do :)
11:22:29  <TrueBrain> "fatal error: charconv: No such file or directory"
11:22:30  <TrueBrain> joy
11:22:38  <LordAro> good start!
11:22:46  <TrueBrain> this is Ubuntu 18.04
11:22:51  <TrueBrain> guess we no longer support building on that :P
11:22:58  <TrueBrain> I blame Rubidium
11:23:17  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #9039: Codechange: refactor File I/O slot functions to be object oriented and pass references instead of indices https://git.io/J3Qlr
11:23:29  <andythenorth> so how about GS that is packaged with a grf, and only has limited set methods available, scoped to objects in that grf?
11:23:32  <peter1138> Meh, wrong place for it but Meh
11:23:41  <LordAro> TrueBrain: yes we do?
11:23:57  <TrueBrain> LordAro: given it no longer compiles on my Ubuntu 18.04, I think that means we don't :P
11:24:15  <Rubidium> charconv is C++17, so Ubuntu 18.04 does not provide a C++17 stdlib
11:24:29  <LordAro> hmm, it's still in the release workflow...
11:24:38  <TrueBrain> LordAro: but we haven't released "master" yet now have we? :)
11:24:44  <TrueBrain> pretty sure it breaks ;)
11:24:55  <LordAro> i didn't realised we'd actually broken it on 1804
11:25:04  <LordAro> 1.11 is still the same C++17, after all
11:25:06  <TrueBrain> none of us did, I would guess :)
11:25:32  <TrueBrain> let me try with backports on
11:26:11  <LordAro> TrueBrain: what py38 thing did you need, ooi?
11:26:23  <TrueBrain> LordAro: nottthhhinngggg ... "fixed" it for now ...
11:26:27  <TrueBrain> please do not login to bananas-1
11:26:35  <LordAro> oh no
11:26:40  <TrueBrain> I will clean it up, I promise :)
11:27:32  <Rubidium> TrueBrain: CXX=g++-8 might help you on Ubuntu (or something similar)
11:28:05  <TrueBrain> honestly, I am fine if we drop building the deb-files for 18.04 too .. the linux-generic should still work for anyone
11:28:05  <Rubidium> as the default is 7 which does not support this, whereas 8 which is also included in 18.04 should be able to support it
11:28:50  <TrueBrain> just my WSL1 (which has IPv6 support) is still running 18.04 :P
11:28:54  <TrueBrain> only reason I ran into this :D
11:29:46  <TrueBrain> and I/O on WSL1 is slow as fuck, so this is going to take a while .. ll
11:32:09  <peter1138> Fullscreen with HW accel and vsync on is... weird.
11:37:38  <TrueBrain> 18.04 with backports doesn't work for GCC7
11:38:35  <TrueBrain> GCC 8 is not installed by default .. so adding that to the workflow would be a joy if we want that :P
11:39:23  <andythenorth> hmm taking an iphone apart
11:39:27  <TrueBrain> (but I still have a hard time seeing the benefit on producing deb files honestly .. with the linux-generic we have now, it feels like we make Debian/Ubuntu more special than all the other flavours)
11:39:32  <andythenorth> turns out it's not made of magic inside an iphone
11:40:45  <TrueBrain> but, GCC8 does work, it seems
11:41:43  <LordAro> TrueBrain: debs are a lot nicer than just unpacking a tar archive, imo
11:41:54  <TrueBrain> sure, but why no rpm, ...
11:42:03  <LordAro> because no one's made any!
11:42:05  <TrueBrain> to me it still feels like this is something for distro maintainers
11:42:16  <peter1138> unpacking a tar achive is a lot nicer than just installing an rpm, imo
11:42:29  <LordAro> it would only be for distro maintainers if they updated everything
11:43:35  <peter1138> So, er, any idea how to find why these 10 sprites are now missing? :D
11:48:43  <LordAro> get Rubidium to fix it
11:48:49  <LordAro> :p
11:49:21  *** HerzogDeXtEr has quit IRC
11:50:32  <TrueBrain> (gdb) print c->status
11:50:32  <TrueBrain> Cannot access memory at address 0x55d3e6520000807b
11:50:32  <TrueBrain> hmm
11:51:25  <TrueBrain> a 20.04 server works, a 18.04 server does not
11:51:28  <TrueBrain> this will be very interesting :D
11:51:43  <LordAro> oho
11:51:47  <LordAro> valgrind time
11:52:06  <TrueBrain> first, time to check master
11:52:27  <TrueBrain> seems I created other valgrind warnings anyway with my last PR
11:53:04  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #9214: Cleanup: [Fluidsynth] Remove fluid_player_join https://git.io/J3QE0
12:01:12  <peter1138> Sounds like they have some design issues...
12:02:54  <TrueBrain> hmm .. how to kill a thread ..
12:03:24  <TrueBrain> you cannot via std::thread
12:03:25  <TrueBrain> lol
12:03:36  <Rubidium> not, because that has lots of weird repercussions
12:06:03  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #9215: Fix #fdc11a9: Missing sprite count determined on the wrong file https://git.io/J3QgI
12:06:18  <TrueBrain> what is that # doing for that hash? :P :D
12:06:22  <Rubidium> that should help peter1138 figuring out what's going wrong ;)
12:07:23  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #9215: Fix #fdc11a9: Missing sprite count determined on the wrong file https://git.io/J3QgI
12:07:24  <Rubidium> being pretty ;)
12:09:34  <TrueBrain> so .. I join the thread
12:09:36  <TrueBrain> and yet still ...
12:09:43  <TrueBrain> it reads memory inside the thread
12:09:45  <peter1138> Ooo
12:09:46  <TrueBrain> huh? This makes no sense :P
12:09:50  <TrueBrain> I must be doing something wrong :D
12:10:30  <Rubidium> first join the thread, then delete the connecter
12:10:41  <TrueBrain> you cannot join in the dtor?
12:10:43  <DorpsGek> [OpenTTD/BaNaNaS] frosch123 opened pull request #96: Change: migrate OpenTTD user Pikka to GitHub user PikkaBird https://git.io/J3QgA
12:11:02  <DorpsGek> [OpenTTD/BaNaNaS] TrueBrain approved pull request #96: Change: migrate OpenTTD user Pikka to GitHub user PikkaBird https://git.io/J3Qgj
12:11:04  <peter1138> Testing
12:11:38  <TrueBrain> I would assume the dtor is called before any variable is released
12:11:46  <DorpsGek> [OpenTTD/BaNaNaS] TrueBrain merged pull request #96: Change: migrate OpenTTD user Pikka to GitHub user PikkaBird https://git.io/J3QgA
12:11:46  <TrueBrain> but, assumptions
12:13:29  <peter1138> The fios changes touched enough files that switching back and forth causes what feels like a full recompile :D
12:13:44  <TrueBrain> yeah, joining before doesn't help
12:15:23  <DorpsGek> [OpenTTD/OpenTTD] frosch123 commented on pull request #9215: Fix fdc11a9: Missing sprite count determined on the wrong file https://git.io/J3Q2D
12:15:49  <TrueBrain> invalid writes are triggered during the joining of the thread .. hmm .. this must be something else ..
12:16:12  <andythenorth> cheese on toast, or macaroni cheese?
12:19:15  <frosch123> hmm, i read about a c++23 feature/proposal the other day. last night i noticed how i could use it in openttd, but then wondered about some details. now i cannot find the proposal again, and wonder whether i dreamt it as well :p
12:19:16  <DorpsGek> [OpenTTD/OpenTTD] PeterN approved pull request #9215: Fix fdc11a9: Missing sprite count determined on the wrong file https://git.io/J3Qa4
12:22:03  <TrueBrain> ooowwwhhh .... dtors can be triggered from other places too .. hmm ... that is rather unexpected ..
12:22:17  <TrueBrain> this code is a bit weird :P
12:22:25  <DorpsGek> [OpenTTD/OpenTTD] frosch123 approved pull request #9215: Fix fdc11a9: Missing sprite count determined on the wrong file https://git.io/J3QwL
12:22:29  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #9215: Fix fdc11a9: Missing sprite count determined on the wrong file https://git.io/J3Qwt
12:23:21  <Rubidium> andythenorth: macaroni cheese on toast?
12:23:30  <andythenorth> that is a strong idea
12:24:39  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #9215: Fix fdc11a9: Missing sprite count determined on the wrong file https://git.io/J3QgI
12:31:13  <peter1138> Okay, somehow I did something to my git and it's download the whole repo again :/
12:32:20  <peter1138> Receiving objects: 100% (202014/202014), 153.29 MiB | 7.10 MiB/s, done.
12:32:22  <peter1138> Kinda scary :p
12:33:59  *** tokai has joined #openttd
12:33:59  *** ChanServ sets mode: +v tokai
12:34:14  <Rubidium> TrueBrain: I think I know why the join in the destructor does not work. It first calls the desctructor of the sub class, so the connection string already gets destructed by the implicit ~TCPQueryConnecter before the ~TCPConnecter gets called
12:35:29  <TrueBrain> hmm .. I guess
12:36:06  <TrueBrain> guess it doesn't help I have 2 variables with the same name :D
12:37:18  <TrueBrain> well, I have a commit already to fix most of that, so I can do that too ..
12:38:26  <TrueBrain> hmmm .. now the dtor of the thread fails, also fun
12:39:57  <peter1138> Hmm, easiest fix for this is to squash and the split :(
12:40:58  *** tokai|noir has quit IRC
12:55:50  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #9187: Fix #9186: Fix incorrect bounding box height causing station sprite glitch. https://git.io/J3QXv
12:56:27  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #9216: Several network code related fixes (four for one special!) https://git.io/J3QXI
12:57:47  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9216: Several network code related fixes (four for one special!) https://git.io/J3QXI
12:58:36  <TrueBrain> right, that fixes those issues .. now for my 1804 / 2004 issues ..
12:59:42  <peter1138> Is 1804 an LTS release?
13:00:05  <TrueBrain> it is
13:00:16  <TrueBrain> but that is not why I am interested in it .. somehow a server can break a client
13:00:19  <TrueBrain> that is never a good thing :D
13:00:22  <peter1138> Ooo
13:00:31  <TrueBrain> with my STUN PR, mind you
13:00:35  <peter1138> Ah
13:05:58  <TrueBrain> yeah ... NetworkGameInfo seems somewhat damaged :D Lol
13:08:26  <TrueBrain> there we go \o/ okay .. now IPv6 ..
13:10:01  <TrueBrain> Failed to resolve DNS for <my IPv6 here>
13:10:02  <TrueBrain> hmm
13:11:31  <TrueBrain> haha, oops, this is my GC code :D
13:11:37  <TrueBrain> it is  matches an IPv4 with an IPv6
13:11:37  <TrueBrain> ll
13:11:39  <TrueBrain> lol
13:14:42  <DorpsGek> [OpenTTD/OpenTTD] embeddedt commented on issue #8112: Players report unauthorized clients joining passworded companies https://git.io/JfGhG
13:15:04  *** glx has joined #openttd
13:15:04  *** ChanServ sets mode: +v glx
13:17:53  <DorpsGek> [OpenTTD/OpenTTD] frosch123 approved pull request #9187: Fix #9186: Fix incorrect bounding box height causing station sprite glitch. https://git.io/J3QyH
13:19:55  <TrueBrain> ha, works through IPv6 firewalls too :D
13:19:58  <TrueBrain> sweet
13:20:03  <LordAro> TrueBrain: is #9216 even vaguely backportable?
13:20:11  <LordAro> or is it all new fixes?
13:20:18  <LordAro> all fixes for new things*
13:20:21  <TrueBrain> LordAro: I would stop backporting any of the network stuff
13:20:30  <LordAro> fair nuff
13:21:13  <TrueBrain> in general, I hope we did the last patch release, but that is just me hoping it doesn't take another 10 months before STUN lands mainstream :P
13:22:27  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding https://git.io/JOk7C
13:22:42  <peter1138> 1.12 when?
13:23:34  <TrueBrain> okay, 9017 should not work for IPv6 too .. let me change the GC to only allow IPv6
13:23:37  <TrueBrain> wanna test peter1138 ? :D
13:24:16  <DorpsGek> [OpenTTD/OpenTTD] embeddedt commented on issue #9208: Emscripten doesn't persist all setting changes https://git.io/J394K
13:24:23  <LordAro> andythenorth: i was gonna try tanks, but apparently i've not played it in so long that i've got to download 26G
13:24:30  <TrueBrain> revision-wise, I called the branch "stun-me"
13:24:35  <LordAro> which is probably going about 2 days
13:26:28  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #9208: Emscripten doesn't persist all setting changes https://git.io/J394K
13:27:35  <TrueBrain> anyone else who wants to join with an IPv6 connection, you are welcome to. Check out above PR under branch name "stun-me", Search Internet, join my server
13:28:07  <FLHerne> My ISP still doesn't support IPv6 at all :-(
13:28:36  <TrueBrain> normally not an issue, as most people with IPv6 are dual-stack anyway
13:28:46  <TrueBrain> but for testing, I disabled IPv4 support :P To ensure it is not cheating :D
13:29:23  <peter1138> Ok
13:30:00  <TrueBrain> if it is failing ,run the client with -dnet=5 btw, as that will show what it is trying :)
13:30:03  <TrueBrain> it is .. verbose :P
13:30:24  <TrueBrain> I think we need to add that it doesn't try to resolve IP addresses .. it is giving like 5 lines of logs extra because of it :P
13:30:53  <peter1138> Building
13:35:31  <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #9217: Add: [Actions] Check CI annotations to detect compile warnings https://git.io/J3Q7w
13:35:41  <frosch123> doesn't work for me. it tries to search servers via bananas :o
13:36:09  <frosch123> https://dpaste.org/K1mO <- when i press "search internet"
13:36:19  <glx> still #9017 ?
13:36:21  <TrueBrain> frosch123: I am "using" bananas-1.cdn for this
13:36:44  <TrueBrain> frosch123: that does look fine. It should result in 1 server being listed
13:37:03  <frosch123> no servers
13:37:08  <peter1138> Oh, it finished building. I should make it run :D
13:37:15  <TrueBrain> owh, hmm, not here either
13:37:20  <TrueBrain> that is odd .. eeeuuuhhh .. hmm
13:37:48  <TrueBrain> that was working a moment ago :o
13:37:49  <TrueBrain> lol
13:38:25  <glx> ok let's build a release version
13:38:54  <TrueBrain> frosch123: okay, it does work for me .. no clue why it wouldn't for you .. hmm
13:39:29  <TrueBrain> frosch123: that disconnect in your logs, is that near-instant after Search Internet?
13:39:43  <frosch123> yes, the whole log is instant
13:40:06  <frosch123> i created a new public server
13:40:13  <frosch123> console still gives a join-key
13:40:34  <TrueBrain> I can see yours fine
13:40:42  <TrueBrain> oddddddddd
13:40:46  <frosch123> yep, i see you
13:40:56  <TrueBrain> wrong password, yeah, you guys keep having random passwords :P
13:41:16  <peter1138> Nothing listed eh
13:41:18  <frosch123> it's whatever i used last :p
13:41:39  <TrueBrain> so there is a bug somewhere with server listing .. mostly interesting as I don't have it :D
13:41:56  <TrueBrain> peter1138: try invite code "mtW-cipedIg"
13:42:10  <TrueBrain> I really should fix those codes to be less weird
13:42:19  <peter1138> Server offline
13:42:37  <TrueBrain> what do the logs say?
13:43:25  <frosch123> b05JkQXEsjs  <- that's mine
13:43:59  <frosch123> we need a token generator that avoids ambiguous letters though :)
13:44:01  <TrueBrain> might be the server disconnecting you, or the client disconnecting .. don't know honestly :D
13:44:11  <TrueBrain> frosch123: yup .. I have one, just haven't installed it :P
13:45:20  <peter1138> https://gist.github.com/PeterN/3aacf86731bb15dbe9c80a12c81b8340
13:45:38  <TrueBrain> yeah, same issue, connection closed right after it is set up
13:45:42  <TrueBrain> and no longs why :D
13:45:44  <TrueBrain> logs
13:46:37  <TrueBrain> anyway, you should be able to setup a server peter1138
13:46:39  <TrueBrain> at least, frosch123 could
13:46:42  <TrueBrain> so maybe we can test that :D
13:46:55  <TrueBrain> owh, I see what is wrong
13:46:58  <TrueBrain> I am a peanut
13:47:02  <TrueBrain> please go to Start server
13:47:06  <TrueBrain> and change visibility into public
13:47:07  <TrueBrain> now try listing
13:47:40  <TrueBrain> when you are private, it disconnects you when you are a server
13:47:45  <TrueBrain> that "when you are a server" is missing :P
13:47:45  <peter1138> Started
13:47:51  <peter1138> oh, public
13:47:53  *** WormnestAndroid has quit IRC
13:47:58  <TrueBrain> private by default :D
13:48:05  <TrueBrain> but you can change that via the GUI :)
13:48:06  *** WormnestAndroid has joined #openttd
13:48:23  <peter1138> ok,
13:48:26  <peter1138> KESyDTEkLLg
13:48:54  <TrueBrain> wrong game password .. euh .. I have a password? :P
13:48:58  <frosch123> pff, tb is using a password as wel :p
13:49:48  <TrueBrain> so IPv6 works too, sweet :D
13:49:51  <peter1138> Friends-only... well if I had friends...
13:49:53  <glx> stupid MSVC, I converted to console and it decided to recreate the exe when I pressed F5
13:50:11  <TrueBrain> peter1138: I know right :(
13:50:35  <TrueBrain> well, this testing showed at least 1 bug already, that is a good thing :)
13:50:47  <peter1138> IPv6 eh? Such modern.
13:51:06  <TrueBrain> well, IPv6 without firewall configuration ... :D Still cannot believe this works ... it is so dirty
13:51:09  <TrueBrain> but what can I say ..
13:52:43  <TrueBrain> anyway, server password really should be added to the GUI
13:52:47  <TrueBrain> changing it was annoying :D
13:53:38  <TrueBrain> tnx for testing frosch123 / peter1138 ; happy IPv6 "just" works too :)
13:53:51  <TrueBrain> now I just need to finish some odd bits and pieces, and it should be good enough for a first version
13:53:54  <frosch123> happy my ipv6 worked today :p
13:54:32  <TrueBrain> "odd bits and end pieces" is more correct English, I guess
13:54:34  <TrueBrain> odds and ends
13:54:37  <TrueBrain> yeah, sounds more sane
13:55:14  <TrueBrain> right, off for a while; I will leave the game coordinator in IPv6-only mode if you want to test a bit more :)
14:14:33  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #9081: Feature: Configurable subsidy duration https://git.io/JOXcg
14:26:10  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #9217: Add: [Actions] Check CI annotations to detect compile warnings https://git.io/J37vH
14:30:49  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #9216: Several network code related fixes (four for one special!) https://git.io/J37fQ
14:36:18  *** jottyfan has quit IRC
14:37:04  *** jottyfan has joined #openttd
14:39:37  <LordAro> dbg: [net] Timeout while connecting to bananas-1.cdn.openttd.org:12122
14:39:39  <LordAro> :(
14:40:46  *** jottyfan has quit IRC
14:45:37  <frosch123> no ipv6?
14:46:07  <LordAro> barely ipv4
14:46:32  <glx> it's in ipv6 only mode
14:46:55  <DorpsGek> [OpenTTD/OpenTTD] unbeatable-101 opened issue #9218: Charts do not repect font size increases https://git.io/J37kw
14:47:25  <LordAro> hmm
14:47:27  <LordAro> got a crash
14:47:36  <LordAro> on the stun-me branch... but i was just in single payer
14:47:41  <LordAro> +l
14:52:47  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #9218: Charts do not repect font size increases https://git.io/J37kw
14:56:26  <DorpsGek> [OpenTTD/OpenTTD] unbeatable-101 commented on issue #9218: Charts do not repect font size increases https://git.io/J37kw
14:58:35  <andythenorth> such multiplayer game
15:02:45  *** jottyfan has joined #openttd
15:03:59  <DorpsGek> [OpenTTD/OpenTTD] embeddedt commented on issue #9208: Emscripten doesn't persist all setting changes https://git.io/J394K
15:09:13  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #9208: Emscripten doesn't persist all setting changes https://git.io/J394K
15:14:21  <TrueBrain> LordAro: that is not really useful information .. anything related to my work? backtrace? crash.dmp? :D :D :)
15:14:29  <LordAro> TrueBrain: i have no idea
15:14:34  <LordAro> i have not been able to reproduce it
15:14:42  <LordAro> windows, so crash.log is useless
15:14:49  <LordAro> seemed to be on autosave
15:15:19  <LordAro> (and mingw debug compiled, so presumably crash.dmp is unhelpful too?)
15:16:20  <glx> crash.dmp is valid only for the exact same build anyway
15:16:27  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #9208: Emscripten doesn't persist all setting changes https://git.io/J394K
15:16:28  <LordAro> mm
15:16:44  <TrueBrain> LordAro: too bad ..
15:16:49  <TrueBrain> any crash is one crash too many :)
15:16:57  <LordAro> indeed
15:17:03  <LordAro> i'm running it within gdb now
15:17:08  <LordAro> but nothing yet...
15:17:15  <TrueBrain> I looked into Sentry, but that was a bit more complicated than I would like
15:17:37  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on issue #9208: Emscripten doesn't persist all setting changes https://git.io/J394K
15:17:38  <TrueBrain> not Sentry itself, but the way to capture exceptions :P
15:18:53  <TrueBrain> I see Rb and I agree :P
15:21:23  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding https://git.io/JOk7C
15:21:26  <TrueBrain> fix the listing issue at least ^^ :)
15:21:32  <TrueBrain> and switched IPv4 back on for the GC
15:21:43  <Rubidium> TrueBrain: almost... I want to get rid of calling the "right" function, and just make assigning to the setting do the right thing by overriding that behaviour and thus making it impossible to do the illegal writes
15:22:04  <TrueBrain> Rubidium: tomato tomato, really :)
15:22:35  <TrueBrain> important bits is that the current code cheats, and any hack on top of that should be prevented :P
15:23:44  <TrueBrain> WARNING: ThreadSanitizer: heap-use-after-free (pid=16673)
15:23:47  <TrueBrain> guess I should fix that too ..
15:24:27  <TrueBrain> oops, that really is bad code .. lol
15:25:17  <TrueBrain> SUMMARY: ThreadSanitizer: signal-unsafe call inside of a signal
15:25:24  <TrueBrain> ctrl+c on Linux is still fun :P
15:26:01  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding https://git.io/JOk7C
15:26:14  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #9216: Several network code related fixes (four for one special!) https://git.io/J3QXI
15:27:11  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding https://git.io/JOk7C
15:27:12  <TrueBrain> that was the wrong order of commits .. lol ... I keep the CI busy :D
15:28:19  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #9217: Add: [Actions] Check CI annotations to detect compile warnings https://git.io/J37Gx
15:30:16  <glx> there's so much stuff in the json
15:30:32  *** Flygon has quit IRC
15:30:40  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #9217: Add: [Actions] Check CI annotations to detect compile warnings https://git.io/J37ZC
15:31:03  <TrueBrain> yeah, I was thinking something simple ..
15:31:20  <TrueBrain> it would also solve what LordAro reported, I guess
15:31:46  <TrueBrain> just a simple: "ERROR: N annotations found; please check and resolve the warnings", in better written English
15:32:09  <TrueBrain> or if you want to go all fancy, per target
15:32:44  <TrueBrain> but anything that gives an indication of "you suck" and "you made a single boo-boo", would go a long way :)
15:33:38  <TrueBrain> right, I should get dinner .. :D
15:35:15  <glx> https://api.github.com/repos/glx22/OpenTTD/check-suites/2678720641/check-runs <-- that's the full data :)
15:37:31  <TrueBrain> per entry, outputting output.title + output.summary
15:37:51  <TrueBrain> sounds like sufficient to me
15:38:04  <TrueBrain> you can just always output that, and do the exit code like now
15:38:13  <TrueBrain> the human will figure it out from there, I would think
15:38:54  <glx> yeah the hardest part is testing ;)
15:39:09  <TrueBrain> make a new workflow that only does this, with a hardcoded run-id?
15:39:26  <TrueBrain> but yeah, testing these kind of things is always tricky :)
15:39:34  <TrueBrain> at least you have the JSON blob, so you can test most locally :)
15:39:39  <TrueBrain> that is something!
15:39:51  <glx> true
15:39:55  *** Progman has quit IRC
15:53:12  *** jottyfan has joined #openttd
16:14:24  *** Progman has joined #openttd
16:14:34  *** HerzogDeXtEr has joined #openttd
16:27:36  *** WormnestAndroid has quit IRC
16:27:58  *** WormnestAndroid has joined #openttd
16:58:26  *** Wormnest has joined #openttd
17:01:54  *** jottyfan has joined #openttd
17:05:12  <peter1138> Such scaling.
17:06:49  <peter1138> Such broken tooltips.
17:07:18  *** Gustavo6046_ has joined #openttd
17:09:48  *** Gustavo6046 has quit IRC
17:09:48  *** Gustavo6046_ is now known as Gustavo6046
17:14:31  <peter1138> Such fixed tooltips.
17:41:00  <andythenorth> \o/
17:56:17  *** arikover has joined #openttd
18:05:36  <peter1138> Such concordes
18:16:05  <peter1138> Hmm. Changes to WWT_INSET, I wonder.
18:17:23  <peter1138> Yes, that seems to work betterer.
18:20:11  *** Guest2239 has quit IRC
18:21:23  *** Westie has joined #openttd
18:23:11  <DorpsGek> [OpenTTD/OpenTTD] kiwitreekor updated pull request #9161: Feature: NewGRF Bridges without overriding https://git.io/J3cPO
18:24:08  <DorpsGek> [OpenTTD/OpenTTD] kiwitreekor commented on pull request #9161: Feature: NewGRF Bridges without overriding https://git.io/J37Ng
18:24:45  <TrueBrain> that moment you write 100 lines of code and it compiles without error :p
18:24:47  <TrueBrain> that cannot be right
18:25:11  <peter1138> #if 0
18:25:15  <andythenorth> you compiled in the wrong repo
18:25:21  <andythenorth> git st -> no changes
18:29:17  <TrueBrain> its so weird to think that if I leave my server now open during testing, anyone can join it :P
18:29:21  <TrueBrain> sure is a new world
18:46:07  <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #9219: Fix: Apply unscaled padding to Viewport inside WWT_INSET. https://git.io/J37hk
18:54:08  *** gelignite has joined #openttd
18:57:19  <TrueBrain> w00p, managed to segfault both server and client at the same time
18:59:56  *** supermop_Home has joined #openttd
19:14:49  <TrueBrain> there we go, TURN works too :)
19:14:52  <TrueBrain> expensive .. but it works :P
19:17:23  <TrueBrain> found a nice way to keep bans on IP workable
19:17:34  <TrueBrain> and, we can distribute TURN servers in cheap places, like OVH VPSes
19:19:17  <frosch123> can you track clients getting banned from servers, and when they reach a threshold, auto ban them for all servers. maybe use google analytics?
19:23:41  <peter1138> Should I look at the forums?
19:25:42  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding https://git.io/JOk7C
19:25:59  <TrueBrain> there we go .. I disabled all other connect methods from GC for now
19:26:03  <TrueBrain> every connection is forced via TURN
19:26:32  <peter1138> How do you do TURN securely?
19:26:46  <TrueBrain> if anyone feels like testing, I would appreciate 1 or 2 people joining my server
19:27:08  <TrueBrain> peter1138: to answer somewhat seriously, TURN only forwards packets that decode like OpenTTD packets :)
19:27:17  <TrueBrain> in fact, it first reassembles them before forwarding them
19:27:48  <peter1138> Interesting.
19:28:18  <TrueBrain> and valid tickets are only assigned by the game-coordinator, so you cannot just blindly get a forward to a random other address :P
19:28:30  <peter1138> Exactly.
19:29:22  <TrueBrain> but what I did, instead of hardcoding the addresses of the TURN server
19:29:27  <TrueBrain> they are instead given from the game-coordinator
19:29:37  <TrueBrain> that should hopefully give us some freedom in where to locate them
19:29:46  <frosch123> i wonder whether to keep "private" distinct from "friends only"
19:29:59  <frosch123> there is a difference, but who would understand it?
19:30:11  <TrueBrain> the difference is kinda big: one is private, as in, no centralized connection
19:30:20  <TrueBrain> so no connection to the game coordinator
19:30:34  <TrueBrain> I am all up for better wording btw, but I can imagine people want this type of functionality in a game like OpenTTD
19:30:44  <frosch123> for players it means: "share ip" vs "share invite code"
19:30:45  <TrueBrain> (so private == single player)
19:31:08  <TrueBrain> well, private == single player + LAN, lol
19:31:11  <peter1138> Why would you do that?
19:31:24  <peter1138> Hm.
19:31:28  *** supermop_Home has quit IRC
19:31:41  <TrueBrain> as I kinda want private to revert to single player
19:31:47  <TrueBrain> and friends-only / public to multiplayer
19:31:49  <TrueBrain> automagic :)
19:32:28  <frosch123> is LAN tied to "private"?
19:32:30  <TrueBrain> well, I guess there should be LAN-only mode too
19:32:44  <frosch123> i thought you would find any server on LAN via local broadcast
19:32:59  <TrueBrain> friends-only and public ALSO works on LAN
19:33:19  <TrueBrain> basically, no matter what your mode is, LAN discovery works
19:33:43  *** Wormnest has quit IRC
19:33:47  <frosch123> but "add server via ip" also exists, and works for "private"
19:34:04  <TrueBrain> yeah, okay: LAN or direct port forwarding, lol
19:34:09  <TrueBrain> it is the same ofc, technically seen
19:34:53  <TrueBrain> FLHerne: you should only have a connection to 51.195.151.229 now
19:35:02  <TrueBrain> (Well, 2 connections, one on 12122 and one on 12120)
19:36:24  <frosch123> hmm, what if the "enter invite code" would also accept "ip:port". then regular joes do not need to know the difference. the server owner can decide whether to use the game coordinator or whether to use port forwarding
19:36:42  <TrueBrain> frosch123: sure, we basically did that internally already
19:36:50  <TrueBrain> invite codes internally have a + prefix
19:37:05  <TrueBrain> you can see that in the server listing too
19:37:16  <TrueBrain> might as well make it one button that accepts both serialization methods
19:37:57  <TrueBrain> anyway, so "private" means we don't help with setting up the networking. "friends-only" means we help, but don't list you public, and "public", well .. duh :)
19:38:01  <FLHerne> TrueBrain: That seems right
19:38:05  <FLHerne> 20:36:45.322510 IP bananas-1.cdn.openttd.org.12120 > perran.54480: Flags [P.], seq 5429:5440, ack 49, win 509, options [nop,nop,TS val 860093206 ecr 918936467], length 11
19:38:11  <FLHerne> ^ repeat many times
19:38:11  <TrueBrain> I have no clue if those words work, or we should have 2 settings etc .. but that is what I did now :P
19:38:14  <TrueBrain> FLHerne: nice :)
19:38:18  <TrueBrain> okay, so TURN works fine too
19:38:22  <TrueBrain> tnx!
19:38:40  <frosch123> when only the server needs to know the difference between private and friends-only, we can rename "private" to "do not track me", and display a message about required port forwarding
19:38:50  <FLHerne> I'm a bit surprised just how many packets I'm being sent
19:39:06  <TrueBrain> FLHerne: "continue to this frame" packet
19:39:08  <TrueBrain> 30 a second I believe
19:39:13  <TrueBrain> or 15, never really sure honestly
19:39:15  <FLHerne> It's several per second continuously, despite no-one doing anything
19:39:19  <FLHerne> Yeah, that would do it
19:39:23  <TrueBrain> lockstep :)
19:39:31  <FLHerne> Is that really necessary? It seems excessive :p
19:39:41  <TrueBrain> frosch123: "private" sounded better to me than "do not track", but yes, that is what it does, so ..
19:39:53  <TrueBrain> FLHerne: we do not do predictive gamestate
19:39:59  <TrueBrain> so yes, that is pretty much what makes the game tick
19:40:06  <TrueBrain> don't worry, the packets are < 20 bytes
19:40:19  <TrueBrain> @base 16 10 b
19:40:20  <DorpsGek> TrueBrain: 11
19:40:22  <TrueBrain> they are 11
19:40:24  <TrueBrain> + IP header, ofc
19:40:50  <FLHerne> Yes, it says 'length 11' in tcpdump
19:41:08  <TrueBrain> so in reality, it really is nothing :)
19:41:43  <TrueBrain> but this is what lockstep is .. 1 person constantly yelling to the rest to make a step forward :)
19:41:50  <TrueBrain> REALLY LOUD
19:42:53  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding https://git.io/JOk7C
19:43:00  <TrueBrain> lets make the CI happy now
19:44:01  <TrueBrain> frosch123: reason I picked "private" btw is because of "private window" in browsers :P I think "do not track" is too much in your face .. something in between those two might work better :)
19:44:21  *** WormnestAndroid has quit IRC
19:44:46  <TrueBrain> we can also name it "Local". As with any game, if you port-forward, local becomes global, but .. that really is a user issue, I could argue :)
19:45:02  <TrueBrain> I wonder what other games do
19:45:13  <peter1138> Steam SDK ;(
19:46:30  <FLHerne> Is port-forwarding still a thing with IPv6?
19:46:51  <FLHerne> Shouldn't be any need for NAT
19:46:51  <TrueBrain> Xbox calls it Local Play, Online Play with friends and Online Play through a list of game sessions
19:47:37  <peter1138> FLHerne, technically it could be done, but I don't think anything implements it because there's no point.
19:47:40  <TrueBrain> https://satisfactory.fandom.com/wiki/Multiplayer#Session_privacy
19:47:44  <TrueBrain> Friends Only and Private
19:47:54  <frosch123> ok, fair, convinced :)
19:48:10  <TrueBrain> but their "Private" is "Invite only"
19:48:10  <TrueBrain> lol
19:48:49  <TrueBrain> well, I agree that private is weird, as it suggests you cannot join it at all
19:48:56  <TrueBrain> so I think "Local" or something is better
19:50:06  <TrueBrain> well, one could argue that it is private, as you need to know the IP
19:50:15  <TrueBrain> meh :D
19:50:22  <frosch123> hmm, so when we have a social api... would we also have some "all your friends are invited"?
19:50:28  *** WormnestAndroid has joined #openttd
19:50:37  <TrueBrain> how do you mean?
19:51:39  <frosch123> like satisfactory: "keep the invite code secret to the server owner" vs "actively send the invite code to all your firends, so they can directly join without exchange of the invite code on other ways"
19:52:00  <TrueBrain> ah, yes, "friends-only" is designed for the social APIs
19:52:20  <TrueBrain> so on Steam if you click Join Game on a friend, and he is "friends-only" or higher, it will exchange the invite code
19:52:39  <TrueBrain> the manual entering of invite codes .. that is just a solution for the non-socials :D
19:52:41  <frosch123> so "public", "friends only", "invite only", "local"?
19:53:12  <TrueBrain> well, what Satisfactory does, from what I understand, is that the server can only invite people in
19:53:23  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #9219: Fix: Apply unscaled padding to Viewport inside WWT_INSET. https://git.io/J35mG
19:53:29  <TrueBrain> that I do not see often, honestly, in games
19:53:39  <TrueBrain> most games these days, if you are "friends-only", anyone on your friends-list can join
19:53:54  <TrueBrain> but sure, we can add a mode, if the social APIs happen, that this is not the case
19:54:19  <TrueBrain> but that is tight to the existence of social APIs :P Without those there is no difference between "friends-only" and "invite-only" , right?
19:54:30  <frosch123> yes, but then you would have to call the current mode "invite onyl"
19:54:41  <frosch123> or you have to change menaing later again
19:54:45  <TrueBrain> sure, I can work with that
19:55:50  <frosch123> btw. did you understand why the gog api docs are not public?
19:56:02  <TrueBrain> no? Are they?
19:56:18  <frosch123> the link they gave us requires login
19:56:26  <frosch123> i never did, so i do not know what is behind it
19:56:28  <TrueBrain> ah .. unexpected
19:56:37  <TrueBrain> login is in 1password if you really want to know :)
19:56:52  <TrueBrain> https://docs.gog.com/developer-portal/ <- but that just works for me
19:57:12  <TrueBrain> https://docs.gog.com/galaxyapi/ for the SDK
19:57:23  <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #9219: Fix: Apply unscaled padding to Viewport inside WWT_INSET. https://git.io/J35m1
19:57:47  <frosch123> ok, maybe the login is then for downloading the headers or something
19:57:48  <peter1138> The magic of pictures
19:59:33  <TrueBrain> would it be weird if I make the order: local, public, invite only, friends only?
19:59:41  <TrueBrain> otherwise later adding a setting would be really  hard :P
19:59:55  <frosch123> the gui order does not need to match the enum order
20:00:08  <TrueBrain> it does :(
20:00:12  <TrueBrain> they are mapped on each other
20:00:39  <frosch123> the config file uses strings
20:00:49  <frosch123> so, actually, where do your enum values matter?
20:00:53  <TrueBrain> huh?
20:00:54  <frosch123> are they sent over the network?
20:01:03  *** iSoSyS has joined #openttd
20:01:04  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #9219: Fix: Apply unscaled padding to Viewport inside WWT_INSET. https://git.io/J35YU
20:01:10  <TrueBrain> pretty sure we are not talking about the same thing now :D
20:01:20  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #9219: Fix: Apply unscaled padding to Viewport inside WWT_INSET. https://git.io/J37hk
20:01:30  <TrueBrain> https://github.com/OpenTTD/OpenTTD/pull/9017/commits/937bbef09d21660ddd65aafa7627718d4693245c shows the important bits
20:01:38  <TrueBrain> the config uses enum values
20:01:42  <TrueBrain> they are also sent over the network
20:01:49  <TrueBrain> and the dropdown uses the same order
20:02:01  <frosch123> ok, so you send it over the network
20:02:11  <TrueBrain> that is not my biggest problem, honestly
20:02:16  <TrueBrain> for that we have protocol revisions
20:02:32  <TrueBrain> but the config really does not store strings :P
20:02:37  <TrueBrain> do we have that for any config setting?
20:03:09  <TrueBrain> "sometimes", is the answer, it seems
20:03:16  *** andythenorth has quit IRC
20:03:17  <TrueBrain> how does that work ...
20:03:43  <frosch123> _OMANY and full =
20:04:07  <TrueBrain> as that is a whole lot more friendly than server_game_type = 1
20:04:12  <TrueBrain> server_game_type = invite-only
20:04:15  <TrueBrain> sounds better to me :)
20:04:40  <frosch123> changing the order in the dropdown menu is not much harder
20:04:57  <TrueBrain> it now is a one-on-one mapping, so some glue would be needed I guess
20:05:51  <frosch123> just use ShowDropDownList instead of ShowDropDownMenu
20:06:20  <frosch123> DropDownList manages pairs of string and "values"
20:06:39  *** Wormnest has joined #openttd
20:07:47  <TrueBrain> and with DParam you set the value? Or the index?
20:08:29  <frosch123> neither :p DParam is the stringid
20:08:42  <frosch123> it's not related to the order of things in the dropdown
20:08:43  <TrueBrain> hmm ...
20:09:27  <frosch123> to reorder the dropdown, you only need to change the ShowDropDownMenu call, the rest stays the same
20:09:45  <frosch123> sometimes we sort dropdown alphabetically
20:09:45  <TrueBrain> except there is this "selected" parameter :D
20:09:53  <frosch123> which means different order per language
20:10:13  <frosch123> TrueBrain: yes, but "selected" is not "position"
20:10:30  <TrueBrain> what is selected?
20:10:37  <frosch123> DropDownList is a list of pairs (StringId, enum value)
20:10:41  <TrueBrain> what it is not is not really helping me :P
20:11:02  <frosch123> you can sort the list whatever, you still get proper enum-values everywhere
20:11:16  <frosch123> so "selected" remains the enum-value
20:11:30  <TrueBrain> okay .. yeah, what is rather unclear about all these widgets
20:11:32  <TrueBrain> when to give what value
20:11:36  <TrueBrain> DParam is the StringID you say
20:11:38  <frosch123> and OnDropDownSelected (or what it's called) will also get the enum value
20:11:40  <TrueBrain> and selected is the enum-value
20:11:48  <TrueBrain> it most likely all makes sense, but it is not "obvious" :)
20:12:08  <frosch123> TrueBrain: "case WID_CL_SERVER_VISIBILITY" contains no "SetDParam"
20:12:34  <TrueBrain> other parts of the dropdown initialization do
20:12:37  <frosch123> no idea why you started with that
20:12:44  <TrueBrain> and just because you give me a fish, doesn't mean I don't want to learn to fish :)
20:12:56  <frosch123> brrr... fish
20:13:21  <frosch123> i do not live at the coast, i do not eat fish :p
20:13:47  <frosch123> you can keep all your crabs to yourself
20:14:58  <frosch123> anyway, the dropdown widget in the window is unrelated to the dropdown window with the list
20:15:10  <frosch123> sorting only matters to the list
20:15:32  <frosch123> and the only place that deals with the list, is ShowDropDownMenu
20:15:55  <TrueBrain> we will see if the words you spoke will match my expectations :P
20:20:39  <Timberwolf> Too much? :) https://i.imgur.com/whMduqH.mp4
20:20:53  <TrueBrain> what game are you playing? :P
20:21:25  <peter1138> Nice
20:21:58  <michi_cc> Timberwolf: Your ships itself look really good, but as there isn't any wake effect, they kinda look a bit too floaty.
20:22:00  <DorpsGek> [OpenTTD/OpenTTD] kloczek opened issue #9220: 1.11.2: test suite is failing https://git.io/J35st
20:22:25  <Timberwolf> Yes, I'm tempted to make some tooling to automate the wake effects.
20:22:48  <TrueBrain> awh, console doesn't understand OMANY
20:22:48  <TrueBrain> sad
20:23:12  <michi_cc> And the video really shows that with 60fps we need more and smaller motion updates :)
20:23:26  <TrueBrain> subpixels!!
20:24:04  <peter1138> Heh, regression test fails because no graphics installed...
20:24:22  <peter1138> michi_cc, yup... it's easy, just increase the subtile size ;)
20:24:57  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #9220: 1.11.2: test suite is failing https://git.io/J35st
20:28:25  <peter1138> patches be getting biggggggggggger
20:28:43  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #9220: 1.11.2: test suite is failing https://git.io/J35st
20:34:14  <TrueBrain> ugh, that "add server" has the previous content makes no sense what-so-ever
20:34:22  <TrueBrain> it is already in the list, the last content
20:34:28  <TrueBrain> and now I just need to delete what is there every time
20:38:43  <TrueBrain> ugh, SetDParamStr doesn't keep the std::string around .. that can be a bit annoying :D
20:38:43  <TrueBrain> lol
20:39:18  <DorpsGek> [OpenTTD/OpenTTD] kloczek opened issue #9221: 1.11.2: compile time warnings https://git.io/J35nE
20:40:11  <TrueBrain> and full recompiles every change is also annoying :)
20:43:50  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #9221: 1.11.2: compile time warnings https://git.io/J35nE
20:43:53  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed issue #9221: 1.11.2: compile time warnings https://git.io/J35nE
20:45:56  <Rubidium> TrueBrain: the same problem happens with the char* variant of SetDParamStr
20:46:10  <TrueBrain> Rubidium: sure, but that was more obvious that it wouldn't work :)
20:46:13  <TrueBrain> now it is hiding a bit more :P
20:46:20  <TrueBrain> so it took me a crash to find out :D
20:49:58  <TrueBrain> hmm .. showing a + conditionally is more annoying than I was hoping for :D
20:49:59  <TrueBrain> lol
20:50:52  *** iSoSyS has quit IRC
20:50:59  <frosch123> i was actually surprised that the invite codes were added to the list. but i guess it's easier to rejoin after you dropped
20:51:11  <TrueBrain> and I want to make them semi-persistent
20:51:15  <TrueBrain> still have to figure out how exactly
20:51:26  <TrueBrain> as it would be very annoying otherwise, I think :P
20:51:45  <TrueBrain> well, invite-only should be different every game, I guess
20:51:48  <TrueBrain> just public .. hmm
20:52:10  <frosch123> didn't you want to add a "rejoin last server" button?
20:52:21  <TrueBrain> yup
20:52:30  <frosch123> then you wouln't need to show the code in the list
20:52:42  <TrueBrain> we aren't there yet, not even close :)
20:52:44  <frosch123> and you only need to store one code in the config
20:52:52  <TrueBrain> currently, the bottom server
20:52:55  <TrueBrain> is your "last joined"
20:52:59  <TrueBrain> and it is always also added to the list
20:53:06  <TrueBrain> so .. yeah .. breaking the current UX is worse, I guestimated
20:56:18  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding https://git.io/JOk7C
20:56:24  <TrueBrain> okay .. GUI now shows "+<invitecode>" consistently
20:56:31  <TrueBrain> add server accepts both ip:port or +invitecode
20:56:40  <TrueBrain> "use invite code"  button is gone
20:57:03  <TrueBrain> and server-type dropdown shows local / invite-only / public (but enum is local / public / invite-only)
20:57:25  <frosch123> magic :)
20:57:43  *** Samu has quit IRC
20:57:53  <TrueBrain> well, was a bit more code than I would liked, but .. what-ever, it looks a lot better :)
20:58:14  <TrueBrain> anyway, frosch123 , I also kinda would like to allow "+reddit1" to be a valid invite code
20:58:59  <TrueBrain> initially I made all invite-codes non-sticky, as in, the next restart they were all gone, manually added or not .. but .. now I first need to build a decent game-coordinator to see what is possible and not :P
20:59:01  <TrueBrain> no clue yet :D
20:59:11  *** Wormnest has quit IRC
21:00:41  <frosch123> uff, so we will see "+bestserverever" and "+hard_no_town_authority_no_inflation_no_infracost"
21:00:41  <TrueBrain> (I am stealing this stuff from Discord btw .. their invite links are normally random, but if you register with them, you can get a flavoured one :P)
21:01:00  <TrueBrain> no, if we do it, it will be via some vetting system
21:01:11  <TrueBrain> as it would also require a cookie of some sorts
21:01:33  <TrueBrain> I just don't know if it is a good idea or not .. but I can imagine: they create a PR in some GitHub repo to request a code linked to a public IP:port
21:02:05  <frosch123> sounds like server packages on bananas :p
21:02:18  <TrueBrain> ha, that is a cheap solution :D
21:02:26  <frosch123> but stupid :p
21:02:40  <TrueBrain> but in my head, such codes should only be given to public servers
21:02:47  <TrueBrain> that also makes validation really easy
21:03:02  <TrueBrain> (otherwise someone can "steal" +reddit1 .. that would be bad :P)
21:03:28  <frosch123> are server names currently checked for uniqueness? i don't know :p
21:03:36  <TrueBrain> doubt it
21:04:08  <frosch123> i don't see the point in public server + invite code
21:04:19  <frosch123> sounds like a "verified server"
21:04:25  <TrueBrain> say, you joined reddit via the game listing
21:04:28  <TrueBrain> you liked what you saw
21:04:32  <TrueBrain> the server restarts
21:04:36  <TrueBrain> now it is no longer in your favorites
21:04:42  <TrueBrain> as the invite code is now invalid
21:04:52  <TrueBrain> that is the use-case I want to avoid
21:04:59  <TrueBrain> so they have to be sticky for sure
21:05:06  <TrueBrain> and my mind just drifted off to custom invite codes ..
21:05:11  <TrueBrain> but that is not for the first version ;)
21:07:52  <TrueBrain> in my head, a public server should keep the same invite code for as long as possible. For invite-only games it should be for the same savegame.
21:08:20  <TrueBrain> invite-only: I am playing together with you, you go to bed, next morning, you start the game again .. I just want to be able to join the last server and go
21:08:32  <TrueBrain> but if you start a new game .. that shouldn't be possible anymore
21:08:32  <frosch123> https://github.com/OpenTTD/OpenTTD/blob/master/src/viewport.cpp#L271 <- off, how does that work and not even trigger a warning?
21:08:47  <FLHerne> Apropos of nothing, can cargodist for passengers be made the default? It's better :p
21:09:09  <frosch123> TrueBrain: so you want "give my server a unique id to make it trackable" :p
21:09:27  <TrueBrain> and I want to send it to an analytics platform too if that is okay :P
21:09:29  <TrueBrain> no, you silly :)
21:09:46  <TrueBrain> but I do want to give some nice usability as long as we don't have social APIs working
21:11:49  <TrueBrain> in my head there is also a button next to invite-code to get a new one .. just in case someone posted it on your stream and now every dipshit is joining :D
21:14:53  <TrueBrain> either way .. just a few more bits and ends to fix for the PR ... after that, I need to write the GC .. that will be fun :P
21:15:30  <frosch123> i always read garbage collection :p
21:15:40  <TrueBrain> I know :D
21:16:04  <TrueBrain> I need to find a database that works for this kind of load .. that alone is an interesting problem
21:16:22  <frosch123> did you also know that c++11 defined some "basic support for garbage collection", but no compiler supported it ever
21:16:39  <TrueBrain> lolz
21:16:41  <TrueBrain> why ...
21:16:43  <TrueBrain> would they ...
21:16:44  <TrueBrain> do that?!
21:17:09  <frosch123> c++11 is just "all ideas from 98 to 11"
21:17:25  <frosch123> not everything that was popular in 99 was still popular in 11
21:23:05  <TrueBrain> hmm .. a scalable game coordinator really is going to be somewhat of a challenge :D
21:23:23  <TrueBrain> well, without blowing up our AWS bill, ofc
21:23:50  <frosch123> hmm, what makes it more expensive than the master server?
21:23:57  <TrueBrain> more complex logic
21:24:04  <TrueBrain> connects now don't go via the master server
21:24:19  <TrueBrain> and a connect is not simple. Lot of bookkeeping
21:24:28  <TrueBrain> (first try scenario A, try B, try C, ..)
21:24:33  <TrueBrain> and all async too ..
21:25:38  <TrueBrain> https://github.com/OpenTTD/OpenTTD/blob/eb88276b2c79183d2ca65d1f9b2d7914620529f9/src/network/network_coordinator.h#L19 <- that logic makes it more expensive :)
21:29:41  <TrueBrain> I did make the whole protocol reactive, as in: nothing has to do wait-loops to check if something changed
21:29:54  <TrueBrain> both the server/client as the GC only have to do an action if a packet is received
21:30:40  <TrueBrain> meh, problem for another day!
21:38:26  *** sla_ro|master has quit IRC
21:40:01  *** nielsm has quit IRC
21:46:51  *** Wormnest has joined #openttd
21:46:52  <peter1138> Is it me or is the refresh rate on the intro screen not full speed?
21:47:01  *** arikover has quit IRC
21:47:11  <peter1138> Vehicles are moving but juddery and skip.
21:48:12  <peter1138> If I move (and keep moving) the intro window it goes to normal speed.
21:49:05  <peter1138> Fine with HW accel off.
21:52:36  <FLHerne> Ok for me with 1.11.2
21:54:23  *** tokai|noir has joined #openttd
21:54:23  *** ChanServ sets mode: +v tokai|noir
21:55:40  <peter1138> I guess some hw accel / vsync / nvidia shenanigans.
22:01:16  *** tokai has quit IRC
22:04:22  <glx> https://github.com/glx22/OpenTTD/pull/13/checks?check_run_id=2536278079#step:4:44 <-- better ?
22:05:23  <TrueBrain> How does it selfreport? :D
22:05:48  <TrueBrain> Does that also means it van never be successful? :)
22:06:01  <TrueBrain> But yeah, looks pretty!
22:06:08  <glx> it does self report here because I'm using an old run
22:06:29  <glx> hardcoded test ;)
22:06:46  <TrueBrain> :D
22:10:24  <glx> pushing a real run
22:12:47  <glx> I need to use a harder solution because I didn't want to output uneeded fields in logs
22:19:29  <glx> https://github.com/glx22/OpenTTD/pull/13/checks?check_run_id=2536330687 <-- no self report :)
22:21:55  <DorpsGek> [OpenTTD/OpenTTD] glx22 updated pull request #9217: Add: [Actions] Check CI annotations to detect compile warnings https://git.io/J3Q7w
22:22:07  *** frosch123 has quit IRC
22:27:29  <DorpsGek> [OpenTTD/OpenTTD] glx22 updated pull request #9217: Add: [Actions] Check CI annotations to detect compile warnings https://git.io/J3Q7w
22:27:39  <glx> forgot to add the always()
22:28:50  *** gelignite has quit IRC
22:49:55  <DorpsGek> [OpenTTD/OpenTTD] glx22 updated pull request #9217: Add: [Actions] Check CI annotations to detect compile warnings https://git.io/J3Q7w
22:53:16  *** tokai|noir has quit IRC
22:54:49  *** tokai has joined #openttd
22:54:49  *** ChanServ sets mode: +v tokai
23:00:18  *** tokai|noir has joined #openttd
23:00:18  *** ChanServ sets mode: +v tokai|noir
23:05:13  *** tokai has quit IRC
23:06:25  *** tokai has joined #openttd
23:06:25  *** ChanServ sets mode: +v tokai
23:11:09  *** tokai|noir has quit IRC
23:18:36  <DorpsGek> [OpenTTD/OpenTTD] katafrakt opened pull request #9222: Fix to Polish town names generation https://git.io/J35K6
23:26:44  *** tokai has quit IRC
23:27:07  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #9222: Fix to Polish town names generation https://git.io/J35i5
23:34:33  *** tokai has joined #openttd
23:34:33  *** ChanServ sets mode: +v tokai
23:53:50  *** Progman has quit IRC

Powered by YARRSTE version: svn-trunk