Config
Log for #openttd on 4th February 2021:
Times are UTC Toggle Colours
00:03:26  *** glx has quit IRC
00:37:31  *** Taede has quit IRC
00:37:55  *** Execthts has quit IRC
00:38:02  *** ZirconiumX has quit IRC
00:38:20  *** michi_cc has quit IRC
00:38:24  *** michi_cc has joined #openttd
00:38:25  *** ChanServ sets mode: +v michi_cc
00:39:15  *** ZirconiumX has joined #openttd
00:39:20  *** Exec has joined #openttd
00:39:35  *** Taede has joined #openttd
00:46:49  *** iSoSyS has joined #openttd
00:47:15  *** jottyfan has joined #openttd
00:47:27  *** jottyfan has quit IRC
01:07:16  *** HerzogDeXtEr has quit IRC
01:24:25  *** gelignite has quit IRC
02:16:35  *** Flygon has joined #openttd
03:44:31  *** D-HUND has joined #openttd
03:47:52  *** debdog has quit IRC
04:01:43  <DorpsGek> [OpenTTD/OpenGFX] Wuzzy2 opened issue #50: Tram building menu has some slightly incorrect images https://git.io/JtztX
04:20:13  *** Wormnest has quit IRC
05:40:07  *** muffindrake has joined #openttd
05:44:08  *** muffindrake has quit IRC
05:48:21  *** HerzogDeXtEr has joined #openttd
06:18:59  *** Wuzzy has quit IRC
06:40:19  *** muffindrake has joined #openttd
07:15:37  *** tokai|noir has joined #openttd
07:15:37  *** ChanServ sets mode: +v tokai|noir
07:20:52  *** sla_ro|master has joined #openttd
07:22:31  *** tokai has quit IRC
07:23:41  *** tokai|noir has quit IRC
07:50:04  *** WormnestAndroid has quit IRC
07:50:17  *** WormnestAndroid has joined #openttd
08:15:38  *** andythenorth has joined #openttd
08:58:32  <DorpsGek> [OpenTTD/nml] matthijskooijman commented on pull request #182: Fix: regression failure with Pillow 8.1.0 https://git.io/JtzWq
08:59:15  *** Wolf01 has joined #openttd
10:11:42  <TrueBrain> https://steamcommunity.com/games/1536610/announcements/detail/3026951354699472729
10:11:57  <TrueBrain> required even more gfx .. 1920x620 image was already asked by Steam, but this image had to be 1920x622
10:12:01  <TrueBrain> so many gfx needed ..
10:15:51  <LordAro> get glx to do the gfx
10:16:49  <LordAro> go digging through the screenshot competition threads on the forum
10:16:54  <LordAro> that's where i got all the images for the website
10:17:07  *** andythenorth has quit IRC
10:18:51  <TrueBrain> the problem is not finding material LordAro :)
10:19:10  <TrueBrain> the problem is the endless stream of different resolutions :P
10:19:18  <LordAro> :)
10:19:59  <TrueBrain> Steam alone is already 16 different images
10:28:16  <_dp_> exchanging images for hype :p
10:29:57  *** gnu_jj has joined #openttd
10:33:24  <TrueBrain> lol, flatpak on WSL2 doesn't behave nicely :P
10:38:02  *** gnu_jj has quit IRC
10:54:37  *** tokai has joined #openttd
10:54:37  *** ChanServ sets mode: +v tokai
11:01:28  *** sla_ro|master has quit IRC
11:03:36  *** Samu has joined #openttd
11:05:19  <TrueBrain> LordAro: I am trying the deb-source thingy .. it works for some packages
11:05:20  <TrueBrain> not all
11:05:25  <TrueBrain> debhelper-compat issue :)
11:05:31  <TrueBrain> saaddddd
11:08:30  <LordAro> oh no
11:08:31  <TrueBrain> the Steam SDK runs debhelper 9, and we need 12 for some
11:08:48  <TrueBrain> I guess that is a bit more difficult to fix
11:11:30  <TrueBrain> the irony is when you google for "compile for older glibc", you find a blog post of someone I recognize :P
11:20:04  <DorpsGek> [OpenTTD/nml] glx22 commented on pull request #182: Fix: regression failure with Pillow 8.1.0 https://git.io/JtzEh
11:20:32  <LordAro> TrueBrain: oh no
11:21:32  <TrueBrain> it was a useful read :)
11:22:48  <LordAro> :)
11:22:59  <TrueBrain> I do not really see a way to produce a generic linux library without some runtime on top of it
11:23:07  <TrueBrain> I think I concluded this years ago already :P
11:23:11  <TrueBrain> not sure why I didn't remember that :)
11:23:26  <TrueBrain> many runtimes we can pick from, ranging from flatpak to the steam runtime
11:23:38  <TrueBrain> but .. I think if we want "generic" linux, we need to pick one
11:24:43  <TrueBrain> or the alternative is, make it mandatory that the user installs SDL himself, for example
11:24:57  <TrueBrain> but that can lead to subtle issues, ofc
11:25:55  <TrueBrain> there is a reason the world stopped shipping "generic" linux binaries :P
11:26:46  <TrueBrain> so I am sorry LordAro , but I am not going to look into this further :P I can PR the SteamRT to get a Linux version on Steam, but I am not going to invest any more time in making a "generic" linux build :)
11:27:13  <TrueBrain> if you have the time, please do feel free, ofc :)
11:27:14  *** roadt has joined #openttd
11:33:16  <TrueBrain> I do have to install a Linux VM and test if it works on a decent installed Steam before I PR .. hihi, that sounds like a good idea :P
12:01:46  *** HerzogDeXtEr1 has joined #openttd
12:07:42  *** HerzogDeXtEr has quit IRC
12:36:15  *** Speeder_ has quit IRC
12:47:29  <TrueBrain> hmm, however Factorio makes their linux binaries, it is not via the steam runtime :P
12:47:45  <TrueBrain> there is a glibc 2.17 usage :)
12:50:55  <LordAro> aha
12:57:33  <TrueBrain> hmm, with other games I see similar .. GLIBC_2.17  secure_getenv
12:57:36  <TrueBrain> the only 2.15+
12:57:54  <TrueBrain> we just use "getenv" :P
13:04:29  <TrueBrain> but okay, the Linux build works, except for music ... that is going through all files REALLY fast :P
13:05:07  <TrueBrain> missing soundfont, ofc
13:07:42  <TrueBrain> fluidsynth: warning: No preset found on channel 0 [bank=0 prog=1]
13:07:43  <TrueBrain> what does that mean?
13:09:29  <TrueBrain> ha, fixed it
13:21:27  *** tokai|noir has joined #openttd
13:21:27  *** ChanServ sets mode: +v tokai|noir
13:28:21  *** tokai has quit IRC
13:32:34  <TrueBrain> that moment strace segfaults
13:32:36  <TrueBrain> w00p :D
13:42:34  <TrueBrain> lol .. old "tar" had "gzip" paths hardcoded, but new "tar" uses /bin/sh ..
13:42:41  <TrueBrain> and .. my trickery doesn't allow executing of /bin/sh
13:42:43  <TrueBrain> hate :P
13:48:49  <TrueBrain> Steam Linux will be ~180MiB (without OpenGFX and friends) vs ~16MiB for the other platforms .. lol? :D
13:53:31  *** fnutt0 has joined #openttd
13:54:10  *** Gustavo6046_ has joined #openttd
13:58:43  *** Gustavo6046 has quit IRC
13:58:43  *** Gustavo6046_ is now known as Gustavo6046
13:59:08  *** murr4y has quit IRC
13:59:20  *** crem2 has joined #openttd
13:59:28  *** tonyfinn[m] has quit IRC
13:59:48  *** crem1 has quit IRC
13:59:58  *** fnutt has quit IRC
13:59:58  *** fnutt0 is now known as fnutt
14:00:18  *** greeter has quit IRC
14:03:56  <TrueBrain> anyone with Steam on Linux that wants to try out this build?
14:05:02  *** murr4y has joined #openttd
14:05:16  *** greeter has joined #openttd
14:10:18  <orudge> Hmm, it suggests it requires Ubuntu. I could install a VM I guess, but probably not got time for that right now.
14:10:57  <TrueBrain> Steam suggests that? Or what is suggesting that?
14:11:05  <TrueBrain> "it" is very undefined :D
14:11:10  *** tonyfinn[m] has joined #openttd
14:11:40  <TrueBrain> anyway, I rather have someone that is already using Steam on Linux :) I did install a VM myself and test it .. that is working ;)
14:11:51  <TrueBrain> I am more curious in real-world testers, honestly :)
14:14:07  <_dp_> I don't have steam but at least I have ubuntu xD
14:24:36  <_dp_> lol, when did I buy rimworld xD
14:24:43  <_dp_> I thought I only had mashinky there
14:24:51  <_dp_> but yeah, have steam now so can test
14:27:40  <TrueBrain> well, you never solved the riddle, so ... :P
14:28:14  <TrueBrain> see your PM
14:28:20  <TrueBrain> you have to switch to the "linux" branch
14:28:58  <_dp_> I new it was useless to me at that point :p
14:29:32  <_dp_> steam is weird xD https://i.imgur.com/TIfYD5O.png
14:29:45  *** sla_ro|master has joined #openttd
14:30:55  <TrueBrain> yeah, it kinda expects you to have friends you know :P
14:32:42  <_dp_> https://i.imgur.com/vhlLlyE.png
14:32:48  <_dp_> I pressed "play"
14:32:57  <TrueBrain> again, switch to "linux" branch please :)
14:33:31  <TrueBrain> under "Beta" in the game menu I believe
14:34:00  <_dp_> ah, ok, now to find "game menu" xD
14:34:29  <TrueBrain> right click OpenTTD
14:34:36  <Xaroth> right click the game in the library, hit properties
14:34:57  *** nielsm has joined #openttd
14:35:09  <TrueBrain> its called Betas there
14:35:13  <TrueBrain> Opt-in to "Linux" :)
14:35:23  <_dp_> not on right click but I think I found it...
14:35:46  <TrueBrain> at release, it will just install correctly btw :)
14:35:56  <TrueBrain> I just cannot push this to the default branch atm :)
14:37:28  <_dp_> yeah, runs fine now
14:37:33  <TrueBrain> sound too?
14:37:36  <TrueBrain> music?
14:37:38  <_dp_> baseset missing some sprites but I guess that's expected
14:37:43  <_dp_> oh, openttd has sound xD
14:37:52  <TrueBrain> shocker, I know :P
14:39:24  <_dp_> no sound but I need to check with the regular game how it should work xD
14:39:45  <_dp_> also steam version picks up my openttd folder so it's not a clean test rly
14:39:54  <TrueBrain> sound worked for me out of the box with Ubuntu 20.04, but .. yeah .. that was a clean installed VM :)
14:40:14  <TrueBrain> does both sound and music not work?
14:41:39  <TrueBrain> make sure you set the base music and base sound btw
14:41:44  <TrueBrain> Steam will preinstall them for you
14:41:51  <TrueBrain> but if you manually selected "No sound", it might win :P
14:41:58  <TrueBrain> dunno, honestly :)
14:42:27  <_dp_> yeah, I already noticed steam version has sound sets unlike the regular one
14:42:35  <_dp_> but neither seems to work
14:42:58  <TrueBrain> sound does work with your own build OpenTTD?
14:43:14  <_dp_> checking...
14:49:08  <_dp_> oh god
14:49:15  <_dp_> ok, I found some volume sliders in openttd itself xD
14:49:29  <_dp_> surprisingly now in steam both music and sound work
14:49:35  <_dp_> and my own build only sound
14:49:37  <TrueBrain> haha
14:49:41  <TrueBrain> yeah, music needs soundfonts
14:49:45  <TrueBrain> with Steam I prepackage it
14:51:11  <_dp_> f12 exits the game instead of making the screenshot as it claims on steam page
14:51:15  <_dp_> hardly surprising I guess
14:51:23  <TrueBrain> we do not integrate the Steam API
14:51:32  <TrueBrain> so weird that they make any claim like that :P
14:53:50  <TrueBrain> anyway, tnx _dp_
14:53:56  <TrueBrain> guess now I just need to make this PR pass review :P
14:57:54  <_dp_> It's super weird btw that you can only change volume if you start the game
15:08:07  <TrueBrain> LordAro: well, now I am finishing the steamrt .. I guess it doesn't need the steam runtime, it just needs a few binaries installed. So I guess we can call that generic linux? Install SDL, zlib and png on your host, and you can run OpenTTD? :)
15:08:28  <TrueBrain> it does need the old png btw, not the new :P
15:08:49  <LordAro> mm, that makes it mildly more complicated :p
15:08:54  <LordAro> not worth adding png to it?
15:09:08  <TrueBrain> isn't the old png shipped by every distro still?
15:09:21  <TrueBrain> but yeah, I can embed it
15:09:28  <LordAro> i'm not sure i'd rely on it
15:09:50  <TrueBrain> we have to rely on something :P
15:09:58  <TrueBrain> as before you know it, you are embedding X11 too :D
15:10:51  <TrueBrain> but okay, I am first going to finish this .. and that is hellish enough as it is :P
15:11:04  <TrueBrain> that the new tar needs 'sh' is annoying as fuck :P
15:18:36  <supermop_Home_> hi
15:19:17  *** andythenorth has joined #openttd
15:19:24  <andythenorth> My AWS bill arrived!
15:19:32  <andythenorth> monthly excitement
15:19:36  <supermop_Home_> yay
15:28:47  <Wolf01> supermop_Home_: how is with snow there?
15:30:21  <DorpsGek> [OpenTTD/OpenSFX] orudge approved pull request #12: Change: Relicense sounds edited by Pendrokar and zephyris to CC BY 3.0 https://git.io/JtzKd
15:30:49  <DorpsGek> [OpenTTD/OpenSFX] orudge merged pull request #12: Change: Relicense sounds edited by Pendrokar and zephyris to CC BY 3.0 https://git.io/JtuxN
15:32:21  <TrueBrain> you got to love CMake ... all LIBRARIES variables point to an so file .. except for SDL :P
15:36:17  <TrueBrain> "LZO_OS_FREESTANDING" is not defined, evaluates to 0 [-Wundef]
15:36:18  <TrueBrain> hmm
15:38:23  <andythenorth> AWS Bill.....40!
15:38:25  <andythenorth> OMFG
15:40:03  <supermop_Home_> Wolf01 well its melted a little
15:40:14  <supermop_Home_> i have not gone outside yet today
15:52:12  *** Flygon has quit IRC
15:53:57  <supermop_Home_> otherwise getting good use out of goretex shoes
15:55:44  <Wolf01> Ehe, but you should be used to snow there, maybe not this much
15:56:15  <supermop_Home_> its pretty nice
15:56:27  <supermop_Home_> we usually only get one big blizzard a year
15:56:43  <supermop_Home_> Monday was kind of fun walking around in it
15:56:56  <Wolf01> We might get one in some days
15:57:21  * andythenorth back to work
15:57:25  *** andythenorth has quit IRC
15:57:25  <supermop_Home_> it was more than a normal amount of snow, but not really more than a normal years blizzard
15:57:45  *** glx has joined #openttd
15:57:45  *** ChanServ sets mode: +v glx
15:57:46  <supermop_Home_> today looks pretty nice outside but I've been too busy to go out yet
15:58:03  <supermop_Home_> yesterday and today both bright and sunny
15:58:31  <supermop_Home_> they problem is the snow gets pretty gross after two days of cars driving on it
16:06:01  <TrueBrain> owh, icu lx is not being installed for Steam Linux .. eeeuuhhh ...  yet another problem for on the pile!
16:19:16  <TrueBrain> that moment you cannot update debhelper because it needs dpkg, and you cannot update dpkg because it needs debhelper
16:19:17  <TrueBrain> ugh
16:36:53  <Wolf01> Hmmm, I would like to watch a happy movie (not comic, just happy)... but then it will remember my shit, so it's better to watch a shitty movie... I need to find a balance
17:05:26  *** Gustavo6046 has quit IRC
17:07:27  <DorpsGek> [OpenTTD/OpenSFX] Wuzzy2 opened pull request #13: Re-edit some sounds to relicense them https://git.io/JtzX8
17:08:18  <DorpsGek> [OpenTTD/OpenSFX] Wuzzy2 commented on issue #9: Sound cleanup roadmap https://git.io/JtEwS
17:11:30  *** Wuzzy has joined #openttd
17:15:28  *** frosch123 has joined #openttd
17:44:44  *** Progman has joined #openttd
17:55:55  *** jottyfan has joined #openttd
17:57:21  *** jottyfan has quit IRC
18:00:21  <TrueBrain> LordAro: I fail to make this pretty .. I am now missing lx support for ICU, because I forgot to compile harfbuzz ... and ugh ..
18:00:30  <TrueBrain> I just want something else to take care of dependencies :P
18:00:35  <TrueBrain> this is not doable for us mere mortals
18:00:44  <TrueBrain> vcpkg doesn't work because ... too old
18:00:53  <TrueBrain> and deb approach fails because it is debhelper 9
18:00:57  <TrueBrain> any ideas?
18:01:09  <LordAro> :/
18:01:12  <LordAro> not really
18:01:25  <LordAro> no helpful results on google?
18:01:25  <TrueBrain> we just need a docker image with an old glibc and new everything else :)
18:01:32  <TrueBrain> difficult to google for :)
18:01:54  <TrueBrain> I considered setting ".symver" for everything, and just compile on a modern machine
18:01:59  <TrueBrain> but it requires patching our libraries too, to do that too :P
18:02:42  <LordAro> mm
18:03:00  <LordAro> python uses manylinux1/manylinux2010 centos images to build it's "wheel" packages
18:03:26  <LordAro> would still require building all the (up to date) libraries yourself though, of course
18:03:44  <TrueBrain> glibc 2.12, even older :P
18:03:52  <LordAro> might have better luck finding rpms though
18:04:13  <TrueBrain> mostly the problem with manylinux2010, is gcc 4.5.0
18:04:52  <TrueBrain> hmm, centos6 .. might .. have newer?
18:04:56  *** Gustavo6046 has joined #openttd
18:05:07  <LordAro> manylinux2010 is centos6
18:05:12  <LordAro> manylinux1 is centos5
18:05:27  <LordAro> (and manylinux2014 is centos7)
18:05:34  <TrueBrain> I was ignoring manylinux1, sorry :) Jumped to 2010 :P
18:08:04  <TrueBrain> let's see what is installed on this images ..
18:08:22  <TrueBrain> gcc 8, okay, that is at least something
18:09:05  <LordAro> that's plenty, i'd think :p
18:10:02  <TrueBrain> hmm .. SDL2 I can only find for CentOS 7
18:10:32  <frosch123> did we not yet delete icu lx?
18:10:49  <TrueBrain> CMake tries to detect it .. so I assumed it was used?
18:11:26  <TrueBrain> owh, even on my local install it fails to detect lx
18:11:31  <TrueBrain> I can compile without lx?
18:11:34  <frosch123> i guess it still works on old linux. but it's dead on debian
18:11:44  <LordAro> yeah, lx hasn't existed in icu for a while
18:11:47  <TrueBrain> do we lose any functionality because of it?
18:11:56  <LordAro> rtl support
18:12:10  <frosch123> yes, no tamil, hebrew, arabic.. on debian
18:12:12  <frosch123> *on linux
18:12:26  <frosch123> only latin, greek or russian letters
18:12:35  <frosch123> more complicated stuff fails
18:13:14  <TrueBrain> our official 18.04 build has lx, none of the other linux builds do
18:13:53  <frosch123> it exists for linux before 2019 or so
18:14:12  <TrueBrain> so basically, shipping a Steam version for Linux without lx isn't a real problem?
18:14:30  <frosch123> correct, no problem :)
18:15:08  <TrueBrain> hmm .. using manylinux2014 would simplify things, it seems
18:15:22  <TrueBrain> libc 2.17, so a bit more modern than the Steam Runtime, but not by much
18:17:17  <TrueBrain> 2012
18:17:25  <TrueBrain> I guess that is fair?
18:17:39  <TrueBrain> 2.15, which Steam Runtime uses, is from 2011
18:17:51  <LordAro> https://copr.fedorainfracloud.org/coprs/johnmh/sdl2/build/826098/
18:18:00  <LordAro> this appears to contain an SDL2 for EPEL6
18:18:10  <LordAro> which should work
18:18:12  <TrueBrain> a bit old
18:18:17  *** y2kboy23_ has quit IRC
18:18:18  *** Wormnest has joined #openttd
18:18:47  <TrueBrain> but I do not think finding all dependencies on all kind of different sites is going to be useful, honestly
18:18:50  <LordAro> yeah, you're definitely going to have to build it yourself to get an up to date version :p
18:19:20  <TrueBrain> well, the 2014 has the same version as ubuntu currently ships with
18:20:17  *** y2kboy23 has joined #openttd
18:22:00  <TrueBrain> CentOS 7 even has ICU 50.2 .. :o
18:23:57  <TrueBrain> the reason I like manylinux2014, is that GitHub Actions work in it
18:24:01  <TrueBrain> that ... simplifies things
18:25:07  <TrueBrain> and even has lx
18:25:22  *** y2kboy23 has quit IRC
18:25:44  <TrueBrain> was a good idea of you LordAro , manylinux :)
18:28:00  <TrueBrain> and we don't use any function from glibc 2.16 and 2.17
18:28:10  *** WormnestAndroid has quit IRC
18:28:14  *** tokai has joined #openttd
18:28:14  *** ChanServ sets mode: +v tokai
18:28:25  *** WormnestAndroid has joined #openttd
18:29:04  <TrueBrain> even the stdc++ should be fine
18:29:49  <TrueBrain> so I now only have to find clever code to collect the right libraries to pack :)
18:30:56  *** y2kboy23 has joined #openttd
18:31:05  *** gelignite has joined #openttd
18:35:11  *** tokai|noir has quit IRC
18:36:00  *** Progman has quit IRC
18:36:57  <TrueBrain> hmm ... no license files anywhere to find ... oh-oh
18:37:22  <TrueBrain> how to solve that on CentOS .. LordAro , you happen to know?
18:40:24  <LordAro> not offhand
18:42:54  <TrueBrain> it should be in /usr/share/doc, the rpm suggests .. but it remains empty :D
18:43:02  <TrueBrain> possibly a setting of the manylinux
18:45:41  <TrueBrain> no, also empty with plain centos docker image
18:48:23  <TrueBrain> tsflags=nodocs
18:49:28  <TrueBrain> there it is \o/
19:03:50  *** iSoSyS has joined #openttd
19:11:36  <TrueBrain> LordAro: can you help me, if you have some time .. one thing I never understood about generic linux, which maybe you can help with
19:11:41  <TrueBrain> most libraries just need libc
19:11:42  <TrueBrain> or libm
19:11:45  <TrueBrain> so that will be okay
19:11:52  <TrueBrain> but for example, libfreetype needs libbz2
19:11:58  <TrueBrain> can I assume that is just available?
19:12:01  <TrueBrain> where to draw the line?
19:12:35  <TrueBrain> especially fluidsynth is a bit of a beast ... it has stuff like libjack, libasound, libpulse, ...
19:14:16  <LordAro> it's a tricky line to draw indeed
19:14:34  <TrueBrain> fluidsynth for example needs a libreadline that ubuntu 20.04 doesn't have in a normal install
19:14:42  <TrueBrain> but that drags in libtinfo and liblash
19:15:55  <TrueBrain> (I have readline 5.2 and 8.0 installed, but the CentOS 7 fluidsynth wants 6.0 :D)
19:16:07  *** tokai|noir has joined #openttd
19:16:07  *** ChanServ sets mode: +v tokai|noir
19:16:31  <TrueBrain> so I am a bit scared, that this will result in many errors for Steam users if we put it up there
19:17:42  <TrueBrain> hmm .. my self-compile fluidsynth doesn't need readline at all
19:17:51  <FLHerne> TrueBrain: This really does sound like you're reinventing appimage
19:18:05  <TrueBrain> no, I am not; far from it in fact
19:18:13  <TrueBrain> today I spend most time reading up on how flatpak and appimage do stuff
19:18:14  <FLHerne> The appimage builder has a built-in list of which libs are assumed to be available
19:18:34  <TrueBrain> they both do something useful, but both do different things than what we want :)
19:18:43  <TrueBrain> all these platforms have a "runtime" on top of them
19:18:50  <TrueBrain> something they assume is either there, or you can install to ensure it is there
19:20:55  *** DasPoseidon has joined #openttd
19:22:33  <TrueBrain> okay ... fluidsynth 2.1.1 is used by Ubuntu, and  ... 1.1.6 by CentOS
19:22:40  <TrueBrain> that explains a bit why they are so different :D
19:22:56  *** tokai has quit IRC
19:25:23  *** andythenorth has joined #openttd
19:25:31  <DorpsGek> [OpenTTD/OpenSFX] Wuzzy2 updated pull request #13: Re-edit some sounds to relicense them https://git.io/JtzX8
19:26:43  *** Progman has joined #openttd
19:28:14  <DorpsGek> [OpenTTD/OpenSFX] Wuzzy2 updated pull request #13: Re-edit some sounds to relicense them https://git.io/JtzX8
19:28:56  <TrueBrain> yeah, without fluidsynth the dependencies are very contained and not really an issue
19:29:07  <TrueBrain> bz2 yes/no is not really worth a discussion at that point :)
19:29:14  <TrueBrain> fluidsynth is the biggest ... "what to do with this" :)
19:29:24  <TrueBrain> wasn't there another midi backend?
19:30:11  <frosch123> fluidsynth is the one that works :p
19:30:27  <DorpsGek> [OpenTTD/OpenSFX] Wuzzy2 commented on pull request #13: Re-edit some sounds to relicense them https://git.io/Jtzyh
19:31:13  <Wuzzy> One step further to nuking CC Sampling Plus!
19:32:40  <TrueBrain> I am very tempted to just say: you need "jack/asound/pulse/sndfile/dbus" installed to run OpenTTD
19:32:51  <TrueBrain> Steam has it in his runtime, so that is easy
19:33:40  <Wuzzy> is there an official manual on how to get music to work?
19:36:59  <Eddi|zuHause> a) nobody reads a manual. b) whose call is it to make it "official"?
19:37:27  <Eddi|zuHause> and c) who says that person actually knows how to do it?
19:38:40  <TrueBrain> Wuzzy: I would like to say: pressing the "Play" button doesn't need a manual. But it seems I am lacking a bit of context to what you are referring to honestly :) what OS, to start with?
19:39:18  <Eddi|zuHause> i agree. it should "just work (tm)"
19:39:52  <TrueBrain> follow-up questions would be: compiling yourself or using one of our binaries?
19:40:07  *** Wuzzy2 has joined #openttd
19:41:11  <TrueBrain> FLHerne: btw, are you sure AppImage works like you describe? From what I can gather, it copies all libraries, even libc, inside the package?
19:41:42  *** Wuzzy has quit IRC
19:44:10  <FLHerne> TrueBrain: Traditional AppImage doesn't
19:44:33  <TrueBrain> all AppImages I opened up, have libc embedded in them
19:44:38  <TrueBrain> not sure what you mean with "traditional"?
19:44:40  <FLHerne> This appimage-builder thing azubieta made works differently, but I don't understand it yet :p
19:46:05  <TrueBrain> when you just read flatpak documentation, you notice AppImage is lacking a bit on that front :D
19:46:17  <TrueBrain> it talks a lot about HOW to use it, not WHAT it is doing :P
19:46:20  <TrueBrain> flatpak balances that a bit more
19:46:21  <TrueBrain> which is nice
19:48:08  <FLHerne> e.g. the list here https://github.com/AppImage/pkg2appimage/blob/master/excludelist
19:48:34  <FLHerne> (I think AppImageKit has a similar list, but I didn't find it yet)
19:48:41  <TrueBrain> ah, pkg2appimage, yeah, I skipped that one. Tnx :)
19:49:10  <TrueBrain> they even assume harfbuzz? That is unusual :P
19:49:47  <TrueBrain> I like about all these solutions, that they all make different assumptions :D
19:50:06  <TrueBrain> funny, jack and asound are on that list, but pulse is not
19:51:41  <TrueBrain> okay, fluidsynth 2 is much more acceptable in dependencies
19:51:47  <FLHerne> https://docs.appimage.org/introduction/concepts.html links to that excludelist
19:53:15  <TrueBrain> so okay .. setting goals for myself: it should run on steamrt, it should compile easily with GHA, and if it can run for others outside Steam easily, that is a nice bonus
19:53:26  <TrueBrain> in other words: I am just going to assume jack, pulse, asound are installed :)
19:54:49  <TrueBrain> tnx FLHerne , that excludelist gives me a bit of confidence this is fine :)
19:55:39  <Eddi|zuHause> dunno what asound is, pulse is usually installed nowadays, but jack?
19:56:02  <TrueBrain> if my memory serves me correct, asound comes from alsa
19:56:11  <TrueBrain> but this has been long long long ago I did anything with that :P
19:57:08  *** Gustavo6046_ has joined #openttd
19:58:56  <Eddi|zuHause> if you can reasonably implement "any one of those will do", that should be fine. if you have to focus on one, probably use pulse.
19:59:12  <TrueBrain> owh, now I see what fluidsynth does
19:59:17  <TrueBrain> it detects on compile which are available
19:59:21  <TrueBrain> and compiles those in
19:59:26  <TrueBrain> so ... yeah ... lol?
20:00:38  *** Gustavo6046 has quit IRC
20:00:38  *** Gustavo6046_ is now known as Gustavo6046
20:01:00  <TrueBrain> I somehow would expect such libraries to do this dynamically :)
20:02:02  <TrueBrain> so no music you say? :P
20:04:24  <TrueBrain> it can also do audio via sdl2
20:04:29  <TrueBrain> hmm .. I need to test that :D
20:06:39  <TrueBrain> my reasoning goes: we do sound via SDL2, so if fluidsynth does music via SDL2, it either both works, or neither works
20:10:12  <glx> would be the "logic" solution
20:10:51  <TrueBrain> okay, that gives me a very nice and small set of libraries, excluding libc and friends
20:10:54  <glx> if it works with SDL2 then just use that
20:11:14  <glx> and ignore other backend
20:13:07  *** Gustavo6046_ has joined #openttd
20:13:29  *** Gustavo6046 has quit IRC
20:13:29  *** Gustavo6046_ is now known as Gustavo6046
20:16:31  *** iSoSyS has quit IRC
20:17:47  <TrueBrain> and it even works :D
20:18:44  <glx> nice
20:18:48  <glx> less deps
20:20:01  <glx> I didn't follow everything, but the idea is to have openttd exe next to a set of libraries so it can run on any system ?
20:20:29  <glx> or will it be static build ?
20:20:42  <TrueBrain> the first
20:20:53  <TrueBrain> we have found out over the years that static building is not really .. going anywhere :P
20:21:00  <TrueBrain> I believe you too digged into that from time to time :D
20:21:11  <TrueBrain> so no, we use rpath to add "lib" to the library search path
20:21:16  <TrueBrain> and build on a machine with a really old glibc
20:21:34  <TrueBrain> making openttd work for any linux machine that is less than 10 years old
20:21:46  <TrueBrain> with the lowest amount of assumptions of what is installed
20:22:03  <glx> well on windows we use static, but I guess dynamic could work too as vcpkg handles that more nicely
20:22:28  <glx> maybe I should test
20:23:21  <TrueBrain> the only request that has been made to me, is to include the license files for all libraries we embed
20:23:26  <TrueBrain> that is not as trivial as it sounds :D
20:24:55  <TrueBrain> and I contributed to OpenTTD's flatpack!
20:24:59  <TrueBrain> (it was creating a debug build :P)
20:25:05  <TrueBrain> flatpak .. not flatpack
20:26:08  <glx> well with vcpkg it seems "copyright" files are easy to locate
20:29:17  <TrueBrain> okay, using a CMake 3.15 function for this makes it really easy
20:29:53  <glx> I think for windows we used static builds because it was easier at that time, but with vcpkg it may be no needed
20:30:08  <glx> as vcpkg should auto copy the dll IIRC
20:39:46  <glx> hmm but for mingw it should still build static else it can't run "natively"
20:40:14  <glx> anyway mingw is not the primary target
20:44:22  <glx> oh seems vcpkg changed bootstrapping quite recently (it now just downloads a prebuilt vcpkg)
20:45:03  <glx> https://github.com/microsoft/vcpkg/commit/aa60b7efa56a83ead743718941d8b320ef4a05af <-- indeed, 2 hours ago
20:49:07  <TrueBrain> about time, tbfh
20:49:14  <glx> yeah
20:51:22  <TrueBrain> okay, I kinda want to bump the minimal CMake now :P
20:51:40  <glx> hehe
20:51:59  <TrueBrain> to 3.16
20:52:05  <TrueBrain> it introduces something I am going to use
20:52:09  <TrueBrain> as fuck no I am going to build that myself :P
20:52:35  <TrueBrain> 31MiB of libs I embed
20:52:42  <TrueBrain> 20 libs
20:52:44  <glx> oh our cmake should handle non static windows without change (static lib search is forced for mingw only already)
20:52:53  <glx> everything else rely on vcpkg
20:54:29  <glx> let's install a non required lib, just to see what it does exactly
20:55:03  <glx> I hope it won't copy unused stuff
20:58:17  <TrueBrain> openttd-20210202-mybranch-m5b3fe4ae27-linux-generic-amd64
20:58:34  <glx> seems promising :)
20:58:56  <TrueBrain> and a new option: -DOPTION_PACKAGE_DEPENDENCIES=ON
21:00:54  <glx> oh now I think I need to detect if /MD -> /MT stuff is required
21:01:19  <glx> I'll see at link step
21:07:46  <TrueBrain> okay .. time to see if GHA builds this as fine as I could build it locally :)
21:09:29  *** snail_UES_ is now known as Guest12289
21:09:29  *** snail_UES_ has joined #openttd
21:09:58  <orudge> [20:22:04] <glx> well on windows we use static, but I guess dynamic could work too as vcpkg handles that more nicely <-- dynamic is certainly not a problem on Windows (when I was attempting to put together a UWP build, only dynamic was supported, not static)
21:10:17  <orudge> but I'd still probably suggest we ship static binaries, as it would be smaller
21:10:24  <orudge> and on Mac it's less of a headache
21:10:28  <glx> vcpkg works well for that, in build dir I have exe and 4 dll now
21:10:52  <orudge> If we had multiple executables or libraries then dynamic might make more sense
21:14:44  <glx> I can easily compare sizes, I just added another configuration
21:15:50  <orudge> I suppose the one thing is that -windows uses the dynamic CRT, but then you need to also distribute or have users install the appropriate VC++ runtime
21:16:27  <glx> for now I still use /MT
21:17:07  *** HerzogDeXtEr1 has quit IRC
21:17:23  *** HerzogDeXtEr has joined #openttd
21:17:41  <TrueBrain> https://github.com/TrueBrain/OpenTTD/runs/1834198387?check_suite_focus=true <- all green ... okay ... lets see what happens if I upload it to Steam, I guess :)
21:18:28  <TrueBrain> tnx again LordAro , manylinux was a good suggestion/solution :D
21:18:35  <TrueBrain> I could in theory also use centos:7 as base
21:18:46  <TrueBrain> but manylinux has all build tools already installed .. == faster builds :P
21:18:54  <TrueBrain> but it might be better to use the centos as base ...
21:19:02  <TrueBrain> more in line with the other platforms, I guess
21:19:05  <glx> TrueBrain: btw using a more recent cmake will fix the IPO warning ;)
21:19:20  <glx> at least 3.9 is needed IIRC
21:19:37  <TrueBrain> glx: well, I now just added a check: if you enable that OPTION, you need CMake 3.16, otherwise it fatals
21:19:51  <TrueBrain> I have no clue what cmake version we have on all our targets, honestly :P
21:20:22  <glx> ah so still minimal 3.5 then
21:20:36  <TrueBrain> it was an easier solution, basically :P
21:21:09  <glx> dunno if it's easy to have a minimal per platform
21:22:20  <TrueBrain> we should first check what version of CMake we run the farm with
21:22:31  <TrueBrain> as users can easily upgrade CMake to what-ever those versions are
21:23:25  <TrueBrain> Windows is 3.19.3
21:23:30  <glx> vcpkg itself needs 3.19.2
21:23:40  *** tokai has joined #openttd
21:23:40  *** ChanServ sets mode: +v tokai
21:23:42  <glx> C:\vcpkg [master ≡]> vcpkg upgrade
21:23:42  <glx> A suitable version of cmake was not found (required v3.19.2). Downloading portable cmake v3.19.2...
21:24:18  <glx> but it's independant from the installed one of course
21:24:37  <TrueBrain> Ubuntu 18.04 is using 3.10
21:24:42  <TrueBrain> guess that is the lowest we have atm
21:25:36  <TrueBrain> next is 3.13 on debian:buster
21:25:47  <TrueBrain> so 3.16 for sure is too high :D
21:25:57  <glx> so 3.9 should be ok (at least to fix the IPO policy issue)
21:26:06  <TrueBrain> I think so, yes
21:26:24  <TrueBrain> bump it in a branch of your fork, and make a fake tag
21:26:34  <TrueBrain> the release run will tell you if we are correct :D
21:30:33  *** tokai|noir has quit IRC
21:33:16  <TrueBrain> _dp_: I just dropped an update to Steam .. would you mind testing again?
21:33:23  <TrueBrain> should be "generic-linux" in the start-up title
21:33:25  <_dp_> sure
21:34:39  <glx> TrueBrain: I just need to create a release of my branch ?
21:35:22  <TrueBrain> yeah
21:35:25  <TrueBrain> just give it a silly number
21:35:28  <TrueBrain> just make sure you do it on your fork :P
21:35:31  <TrueBrain> don't be like me :D
21:35:53  <_dp_> yeah, seems fine, downloaded ok, generic-linux, sound/music works
21:35:55  <_dp_> anything else to test?
21:36:01  <TrueBrain> _dp_: nope
21:36:03  <TrueBrain> that is all :D
21:36:05  <TrueBrain> thank you!
21:36:32  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #8641: Feature: [Actions / CMake] support for generic linux builds https://git.io/Jtzxl
21:36:39  <TrueBrain> that is a very small PR compared to the work that went into it :P
21:36:39  <glx> https://github.com/glx22/OpenTTD/actions/runs/538507135 <-- at least it started
21:39:33  <TrueBrain> LordAro: I gave up trying to add license files for each library .. it is one big mess when it comes to that. I also realised, when we do static builds, we don't do it either
21:39:40  <TrueBrain> but if you have any ideas how to do it, I have no problems adding it
21:48:20  <TrueBrain> glx: seems to be fine :)
21:48:30  <glx> yeah and warning is gone
21:48:49  <glx> I guess I can also remove the CMP test
21:49:28  <TrueBrain> tomorrow I am going to ask our translators to translate the Steam Store Page :)
21:49:37  <TrueBrain> haven't had a comment about the text in a few days, so I guess it is time :)
21:49:58  <TrueBrain> no clue yet how .. I think I just drop a line in every Translator Team that Steam supports, asking to translate in a reply
21:50:27  <TrueBrain> "mac"		"true"
21:50:27  <TrueBrain> "linux"		"true"
21:50:35  <TrueBrain> Steam store defined what targets are available like this ^^
21:50:38  <TrueBrain> and for windows ...
21:50:40  <TrueBrain> "win"		"1"
21:50:46  <TrueBrain> :D
21:50:49  <glx> lol
21:51:09  *** jottyfan has joined #openttd
21:51:19  <glx> hmm for windows you specified 64bit only or both are provided ?
21:51:38  <glx> (can't remember what's on the page)
21:52:20  <TrueBrain> Windows 10, 8, 7, Vista (32 Bit and 64 Bit)
21:52:22  <TrueBrain> I wrote
21:52:45  <TrueBrain> and I did not enable the "64 Bit only" checkbox
21:52:54  <glx> so you upload 32bit version
21:52:58  <TrueBrain> and I have a Win32 and Win64 depot
21:53:04  <TrueBrain> they are configured correctly
21:53:08  <TrueBrain> and they both have a different build
21:53:12  <TrueBrain> yeah, it seems I did this correctly :D
21:53:17  <TrueBrain> (had to check, I couldn't remember)
21:53:26  <glx> ah both, steam will show a start menu
21:53:38  <glx> well "menu"
21:53:40  <TrueBrain> it doesn't for me
21:53:44  <TrueBrain> I can configure that, I think
21:53:51  <TrueBrain> I haven't
21:54:34  *** Samu has quit IRC
21:59:00  <TrueBrain> yeah glx , it is really small compared to other games :D
21:59:05  <TrueBrain> and I included OpenGFX in there
21:59:09  <TrueBrain> :P
21:59:18  <glx> ok only one exe is installed
21:59:45  <TrueBrain> no clue how Steam does 32bit / 64bit, honestly
21:59:49  <TrueBrain> I just made it 2 different depots ..
21:59:58  <TrueBrain> lot of games do 32bit/64bit binaries in one depot, even windows+linux
22:00:04  <TrueBrain> and launch the right one based on that
22:00:10  <TrueBrain> but .. I don't understand that :P
22:00:22  <TrueBrain> you can script all of this, so .. it feels like they are just lazy
22:00:24  <orudge> That's the same architecture I have for the Windows Store app
22:00:31  <orudge> x86, x64, and I guess soon arm64
22:00:37  <orudge> It installs the right one, starts openttd.exe, simple
22:00:49  <TrueBrain> yeah .. on Steam I even put OpenGFX in its own depot
22:00:56  <orudge> with common stuff in a common .appx
22:00:57  <TrueBrain> so we can update that independant of the rest
22:01:01  <orudge> Yep
22:01:12  <TrueBrain> for linux there are more depots .. 1 for the executable, and 1 for soundfont :)
22:01:39  <glx> ok it's the 64bit
22:01:42  <TrueBrain> it is nice, those depots
22:01:48  <TrueBrain> just no clue how Steam does it :P
22:02:09  <glx> I don't have 32bit OS to check
22:02:40  <glx> except maybe an XP VM, but I don't think steam still supports that
22:02:43  *** jottyfan has quit IRC
22:04:16  <andythenorth> "Red Warning | Impact High | Eliminate render-blocking resources | Potential savings of 1,400 ms"
22:04:23  * andythenorth will not be fixing that tonight
22:04:32  <andythenorth> website performance :P
22:04:33  <TrueBrain> 1400ms?!
22:04:35  <TrueBrain> holy crap
22:04:54  <TrueBrain> yeah, and tomorrow is friday, so that is not a day to deploy, so why fix it tomorrow
22:04:58  <TrueBrain> monday you have to start up first
22:05:01  <TrueBrain> so tuesday earliest
22:06:08  *** frosch123 has quit IRC
22:06:55  <TrueBrain> 1700 wishlists
22:07:09  <TrueBrain> what I like about Steam, that you can see a bit more how many people play the game :)
22:08:34  <andythenorth> TrueBrain I could fix it Saturday? :P
22:08:45  <TrueBrain> nope
22:08:47  <TrueBrain> impossible
22:08:49  <TrueBrain> nt going to happen
22:15:07  *** Progman has quit IRC
22:15:07  <nielsm> so one of the next features should probably be support for other transport protocols for network games that "raw tcp"
22:15:31  <TrueBrain> like?
22:15:37  <nielsm> since using a different transport protocol could enable proxying multiplayer games through steam or discord matchmaking services
22:15:53  <nielsm> without players having to configure firewalls
22:16:03  <TrueBrain> what kind of protocol do they need?
22:16:37  <nielsm> I believe that at least discord, possibly also steam, supports you more or less proxying through their server farm
22:17:00  <TrueBrain> but that doesn't just work on TCP?
22:17:04  <TrueBrain> I should read up on these things :D
22:17:54  <nielsm> the problem most players have setting up ad-hoc multiplayer is that someone needs to act server, and for that they need to have a publicly routable IP address that can accept connections on some TCP port and reach the host computer
22:18:09  <nielsm> and that's horrible for most people to configure
22:19:15  <TrueBrain> well aware :)
22:19:24  <TrueBrain> we should just create a NAT punching service honestly
22:19:27  <TrueBrain> but .. we never did :)
22:19:28  <nielsm> so if a matchmaking service can offer a full proxy for all connections, by encapsulating our data with their library, players can get functional ad-hoc multiplayer with their friends, without having to mess with port forwarding, public ip addresses, or VPN setups
22:19:45  <TrueBrain> I am unaware that they offer proxying
22:19:47  <nielsm> TCP NAT punching is also a big hassle, and not guaranteed to work
22:19:54  <TrueBrain> I always assumed they assisted with NAT punching
22:20:01  <nielsm> I'm not entirely sure if steam does, but I think discord does
22:20:09  <TrueBrain> something to look at for sure
22:20:29  <TrueBrain> and if they only do NAT punching, we can offer that too :)
22:20:39  <nielsm> the other alternative would be what I've suggested a few times, but move away from TCP for game protocol entirely, since NAT punching is much easier with UDP
22:20:52  <nielsm> even if it means reimplementing a reliable transport protocol on top of it
22:21:04  <TrueBrain> I was about to say .. want to do a QUICy? :D
22:21:15  <nielsm> yea that's what I looked at
22:21:16  <supermop_Home_> i've never figured how to host a multiplayer game
22:21:19  <TrueBrain> implementing TCP on UDP is not uncommon btw
22:21:51  <nielsm> but all the libraries for QUIC I've looked at always seem like they're still experimental, or poorly documented, or in some "weird" language like Go or Rust
22:23:03  <milek7> we could use existing STUN/TURN servers
22:23:30  <milek7> http://www.stunprotocol.org/
22:23:35  <milek7> "UDP and TCP modes with either IPv4 or IPv6"
22:26:29  <glx> https://gist.github.com/glx22/85e64ea31ad456b8583fbc2ca7644ff3 <-- so yeah we'll stick to static build :)
22:26:49  <TrueBrain> nearly no difference, right?
22:27:04  <TrueBrain> but no, it is not worth it :)
22:27:09  <glx> dynamic uses a little more space
22:27:13  <nielsm> https://discord.com/developers/docs/game-sdk/networking
22:27:22  <TrueBrain> nielsm: "Our newest APIs relay packets through the Valve network by default" <- Steam
22:27:24  <glx> smaller exe, but dll size
22:27:42  <nielsm> same for discord yes, "Features P2P-like connections, but routed through Discord's high-end server infrastructure"
22:27:53  <TrueBrain> did not know they were doing that, honestly
22:28:03  <TrueBrain> I was wondering why it was so smooth these days, to join friends
22:28:05  <TrueBrain> like with Factorio etc
22:28:41  <nielsm> ofc going through either service means you can only play with friends on the same service, but if we can make the multiplayer host accept connections from many services that should be fine too actually
22:28:48  <TrueBrain> Valve did add some nice features there .. no MTU limit etc
22:29:00  <nielsm> so a multiplayer host could have clients via steam, discord, and direct tcp simultaneously
22:29:18  <TrueBrain> I am not sure that is a direction we should move to, but I like how you think :D
22:29:31  <TrueBrain> it is too bad we cannot pay the bill to do that ourselves, honestly :)
22:29:38  <TrueBrain> well, it wouldn't be -that- expensive
22:29:46  <nielsm> also a neat feature to have could be to convert a singleplayer game into multiplayer game "live"
22:29:54  <nielsm> like just invite a friend into your singleplayer world
22:30:07  <TrueBrain> many games do that ofc, always run a server, even if you are singleplayer
22:30:21  <nielsm> yeah, but singleplayer in ottd is a little different
22:30:23  <TrueBrain> just in OpenTTD that means duplicating the whole state, so forget about that :P
22:30:26  *** andythenorth has quit IRC
22:30:39  <TrueBrain> switching from SP to MP is just a matter of changing some state, I think
22:30:59  <TrueBrain> the game itself is fine, and doesn't need changing
22:30:59  <TrueBrain> hmm
22:31:06  <Timberwolf> Internet: "we'd like some more of the well-known multiple units". Timberwolf: https://i.imgur.com/oncah81.png
22:31:17  <TrueBrain> but yeah, modern games don't really make a distinction between SP and MP :)
22:31:35  <TrueBrain> Timberwolf: the wheels come through the fence :o
22:32:22  <milek7> or maybe use WebRTC? it could probably interop with web clients too
22:33:00  <TrueBrain> nielsm: my main issue with all these solutions really is cross-play .. I like that OpenTTD is free of all of that
22:33:18  <TrueBrain> if we would be Steam-only, that would allow for a lot of these nice features to be added quickly
22:33:22  <TrueBrain> but that is a pretty huge change :P
22:33:52  <TrueBrain> and having servers combine Discord and Steam and and and .. it becomes pretty heavy on the administrator of said server
22:33:56  <TrueBrain> bit sad, honestly
22:34:03  <nielsm> TrueBrain: that's why I'm saying that we should make sure that the game can accept connections from all protocols and mix-match clients from them in a single game
22:34:22  <TrueBrain> it is not only a technical issue, the server also needs to be joined in all of them :)
22:34:31  <nielsm> nah, if you're running a dedicated server it's a classic dedicated server
22:34:41  <nielsm> direct TCP connection, firewall setup required
22:34:48  <Timberwolf> It's a weird optical illusion, the fence and rail blend together, then the wheels look like they're in front of the fence even though that's really the rail.
22:35:16  <nielsm> the idea with steam/discord proxying is to enable easier ad-hoc multiplayer without setting up a dedicated server
22:35:26  <glx> the hardest part would be to convert running SP to server
22:35:33  <TrueBrain> nielsm: but if I want to play with someone on Discord and on Steam, I need to have both logged in, not?
22:36:02  <nielsm> sure, if you have some friends on steam and some on discord, you need to have both running and ottd have integration enabled for both of them
22:36:05  <TrueBrain> just to be clear btw, I am not disagreeing with you that it would be awesome :D
22:36:12  <nielsm> but it's not like you need to log into them from inside ottd
22:36:20  <TrueBrain> I wonder if you can have both active
22:36:27  <TrueBrain> don't they clash?
22:36:30  <nielsm> since the game just does some local IPC stuff via their libraries
22:36:38  <glx> rich presence stuff I guess
22:36:38  <nielsm> I don't think they do?
22:36:56  <TrueBrain> anyway, the list might be a bit lengthy .. Epic Gamelauncher, GoG, ... :D
22:37:00  <nielsm> converting SP game to multiplayer is basically saving, switching modes, and reloading...
22:37:12  <TrueBrain> I am not even sure SP -> MP needs saving and reloading :P
22:37:21  <nielsm> it'd be the safer way
22:37:49  <TrueBrain> we ditched "no-network" mode long ago
22:37:54  <nielsm> there is some difference in how ticks are executed at least, and there might be some differences in world initialisation even? I don't remember
22:38:02  <TrueBrain> so we could just start every game "as a server", just without advertising etc
22:38:16  <TrueBrain> basically removing SP
22:38:25  <glx> SP has endless mode
22:38:32  <glx> MP doesn't
22:38:45  <TrueBrain> well, there will be more of these tiny things
22:38:50  <TrueBrain> time to iron them out and make them equal ;)
22:38:58  <TrueBrain> I don't really see that as a blocker honestly :)
22:38:59  <_dp_> sp has cheats :p
22:38:59  <nielsm> first thing would be getting it working :P
22:39:10  <nielsm> and SP has fast-forward
22:39:16  <TrueBrain> we long talked about MP needing cheats too, honestly :)
22:39:28  <glx> some settings are modifiable only in SP mode, (or MP server)
22:39:45  <TrueBrain> there are things to iron out
22:39:47  <_dp_> TrueBrain, you talked I did :p
22:39:47  <glx> SP can change newgrf in game
22:39:58  <TrueBrain> but it would make things a lot more clean
22:40:06  <TrueBrain> as it is now sometimes a bit confusing, honestly
22:40:37  <TrueBrain> on one hand we have people adding stuff that is SP only
22:40:47  <TrueBrain> on the other hand you sometimes cannot do things in MP that are not logic why you cannot
22:41:00  <glx> but in theory SP could be MP with only local client connected
22:41:36  <TrueBrain> nielsm: I guess it is a question of: do we want to setup our own "friendlist" and relay etc, or do we want to use the integration with Discord / Steam / ... for it :)
22:42:10  *** tokai|noir has joined #openttd
22:42:10  *** ChanServ sets mode: +v tokai|noir
22:42:29  <glx> would be better to use existing "friendlist" system
22:42:46  <TrueBrain> there are many positive things on both sides, and as many negative on both :P
22:43:02  <TrueBrain> I don't like games that don't work with Steam, but that is because I use Steam for every coop game I own
22:43:06  <nielsm> at the very least, it would be very nice for players if they can open e.g. the steam overlay, select someone on their friendlist, and invite them to their game
22:43:26  <nielsm> even if they'd have to manually load it as a mulitiplayer game first
22:43:36  <TrueBrain> nielsm: that is a good point: there is no need for them to use the Steam network, but the initiation can be done via Steam
22:43:39  <TrueBrain> so both are possible
22:44:18  <TrueBrain> the last few months I mentioned a few times that the network protocol requires a new version .. we dropped the ball in a few places :P
22:44:28  <TrueBrain> so maybe that can go side-by-side
22:44:41  *** andythenorth has joined #openttd
22:44:43  <TrueBrain> network via Steam, network via Discord, network via direct
22:44:54  <TrueBrain> define an API between them
22:44:57  <TrueBrain> abstract it from the game
22:45:38  <nielsm> there's also a slight worry I have, which is running out of command ID's in the current network protocol, it might be an idea to at least expand the command ID from 8 to 16 bit
22:45:59  <TrueBrain> there are more of these small things
22:46:03  <TrueBrain> we designed a lot with the MTU in mind
22:46:05  <TrueBrain> which is hurting
22:46:32  <nielsm> and well, the command format is also pretty limiting with all the bitpacking required
22:46:33  <TrueBrain> back in the day, it was important to keep the MTU in mind .. these days it is bullshit :P
22:46:49  <TrueBrain> you used to be able to play this on a 8k baud modem
22:46:54  <TrueBrain> I do not think that is still a requirement :P
22:47:14  <_dp_> as much as I hate current protocol changing it sounds terrifying...
22:47:31  <TrueBrain> _dp_: mostly, it means not doing it ourselves
22:47:45  <TrueBrain> as in, we did the low-level layer, and every layer after
22:47:49  <TrueBrain> there are libraries for that these days :P
22:47:59  <TrueBrain> and yes, it will consume more bandwidth
22:48:13  <nielsm> nah we're talking about the game layer protocol here, on top of the transport protocol
22:48:39  <nielsm> changing the transport protocol from tcp/ip to some "virtual" protocol offered by steam/discord shouldn't be too bad
22:48:43  <TrueBrain> pretty sure it would make the code a lot more readable, if we use modern approaches :)
22:48:53  <nielsm> since we already support ipv4 and ipv6
22:48:56  *** tokai has quit IRC
22:49:08  <TrueBrain> there is already some abstraction in the code
22:49:08  <nielsm> but changing the game command protocol, that's something else
22:49:15  <TrueBrain> so plugging in Steam shouldn't be all that difficult
22:49:15  <nielsm> although it's still mostly neatly wrapped
22:50:26  <TrueBrain> there are other issues that need resolving .. like private servers are not really private :P
22:50:36  <TrueBrain> limits on name-fields that are silly, or sometimes lower than the ones ingame
22:50:43  <TrueBrain> max amount of GRFs you can have in a network packet
22:50:47  <TrueBrain> etc etc :P List is pretty long
22:51:03  <TrueBrain> and that is the level above TCP, but below the game commands
22:51:38  <milek7> that looks interesting: https://github.com/paullouisageneau/libdatachannel
22:51:39  <nielsm> I've slightly considered that maybe the entire protocol/command structure should be redefined as ProtoBuf or something similar
22:52:18  <nielsm> with a definition in some interface language which then compiles to some C++ headers with data structures that can be filled in, and accompanying code to serialise/deserialise it
22:53:13  <TrueBrain> protobuf, flatbuffers, cap'n proto
22:53:15  <TrueBrain> or .. just JSON
22:53:20  <TrueBrain> anything with a schema :)
22:53:22  <nielsm> and as a bonus it would mean that other languages that want to interact with the game (e.g. adminport) has a machine readable definition of things
22:53:47  *** HerzogDeXtEr has quit IRC
22:53:52  <TrueBrain> we don't have to be seekable, so protobuf is fine
22:54:41  <TrueBrain> (in many usecases, protobuf is not fine btw :P But people mostly find out after-the-fact :D)
22:54:49  *** andythenorth has quit IRC
22:55:01  <TrueBrain> I have seen too many "inspect" functions on protobuf packets for performance reasons :P
22:55:11  <TrueBrain> to pickle out a single value
22:55:15  <TrueBrain> much fun :D
22:55:24  <TrueBrain> but yes
22:55:37  <TrueBrain> so this is a bit what I mean with: the whole stack kinda is ready for an update
22:55:39  <TrueBrain> to be more in 2021
22:55:43  <TrueBrain> instead of 2007 :P
22:56:07  <TrueBrain> there are only, what, 30 different packet-types atm?
22:56:19  <TrueBrain> it is not like OpenTTD is complicated
22:56:57  <TrueBrain> but okay, subject of the night was Steam / Discord integration :D
22:57:10  <TrueBrain> guess you need to dust off your rich presence branch nielsm :P
22:57:29  <nielsm> yeah
22:57:37  <nielsm> and my build environment
22:58:37  <TrueBrain> sadly, my job queue is full with other things: automate Steam release, see if I can help out with automating Windows Store release, ask translators for help with Steam content, create repo for Steam/Microsoft Store graphics, create repo for title screen competition
22:58:39  <TrueBrain> pffff
22:58:46  <TrueBrain> I want to do fun stuff .. that list doesn't contain fun things
22:58:54  <_dp_> btw, there are some issues with client infos being created out of queue
22:59:08  <_dp_> like when client spectates immediately after sending a command
22:59:22  <TrueBrain> there are 1 or 2 commands that are not queued
22:59:30  <TrueBrain> with the idea: nobody would ever do NNN
22:59:34  <TrueBrain> see here .. we were wrong :P
22:59:58  <TrueBrain> I believe the whole COMPANY_CTRL is done instantly
23:00:16  <_dp_> nah, company_ctrl is queued
23:00:35  <_dp_> only clients aren't
23:00:47  <_dp_> if companies were out of queue it would be crashing left and right
23:00:59  <glx> COMPANY_CTRL is queued and it's an "issue" for AIs ;)
23:01:04  <TrueBrain> my memory is foggy; all I know we wrote something that skipped the queue, and we said in chat: someone could abuse this .. nah, what are the odds on that!
23:02:01  <TrueBrain> it is funny how these things have the tendency to catch up with you :P :P
23:03:10  <nielsm> okay bedtime
23:03:14  <TrueBrain> sleep well nielsm
23:03:15  <nielsm> gn
23:04:24  *** DasPoseidon has quit IRC
23:06:27  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #8641: Feature: [Actions / CMake] support for generic linux builds https://git.io/Jtge4
23:07:11  <TrueBrain> "oops"
23:07:12  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8641: Feature: [Actions / CMake] support for generic linux builds https://git.io/Jtzxl
23:08:33  <glx> else it looks good
23:08:42  <TrueBrain> sweet :D
23:08:49  <TrueBrain> I am pretty happy with this result
23:08:51  <glx> and quite simple
23:08:53  <TrueBrain> a lot cleaner than I expected
23:10:14  <TrueBrain> _dp_: btw, that that really happen often?
23:10:39  <_dp_> TrueBrain, client issues you mean? not rly
23:10:51  <_dp_> mostly happens when server does some admin port stuff
23:10:55  <_dp_> so timings are tight
23:11:09  <TrueBrain> yeah, I was about to say .. it has to be within a net_frame
23:11:13  <TrueBrain> which is not a lot of time
23:11:16  *** nielsm has quit IRC
23:13:22  <TrueBrain> owh, right, company move was not done via CommandCtrl
23:13:24  <TrueBrain> it has its own packet
23:13:26  <TrueBrain> it was much worse :P
23:14:24  <TrueBrain> so yeah .. you can queue 100 commands in a frame, and move to another company before anyone executed them :P
23:15:13  <TrueBrain> I know I have asked this before, but I cannot remember the answer .. why isn't this done via the Command system ..
23:15:45  <TrueBrain> I guess the Command system deals with companies, not clients? But we do add the client-id for some commands ..
23:17:10  <_dp_> I think "some" is just one and that was me doing an oopsie :]
23:20:46  <TrueBrain> lol ... BUILD_VEHICLE gets the client-id
23:20:51  <TrueBrain> but doesn't do anything with it
23:20:52  <TrueBrain> wuth? :P
23:21:29  <TrueBrain> so you could: sell a vehicle, switch to another company, build a vehicle, and it will recover the order of the other company, I think :D
23:21:46  <TrueBrain> ah, no, BUILD_VEHICLE does use it, it was hiding in my highlighter
23:22:23  <TrueBrain> glx: you like it enough for an approval btw? :P :D
23:22:39  <glx> I need to recheck it
23:22:53  <glx> I'm still cleaning 3.9 bump
23:23:01  <TrueBrain> I am very happy FluidSynth is only using SDL now
23:23:05  <TrueBrain> that really made a huge difference in dependencies
23:23:16  <TrueBrain> before it was also dragging in X11 etc
23:23:26  <glx> outch
23:23:38  <TrueBrain> really happy it is not
23:23:41  <TrueBrain> anymore
23:23:58  <_dp_> I wouldn't be surprised if there is some desync hiding in those order backups
23:24:02  <glx> like "basic" harfbuzz including glib2
23:24:06  <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on pull request #8638: Feature: [GS] Allow non-question type windows to have no buttons https://git.io/JtgUU
23:24:41  <TrueBrain> _dp_: me neither .. that code feels like a hack
23:24:45  <TrueBrain> so .. yeah ... :P
23:25:55  <_dp_> whole command system looks like one big hack it this point :p
23:26:26  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8638: Feature: [GS] Allow non-question type windows to have no buttons https://git.io/JtgUO
23:26:36  <TrueBrain> I really had to do that .. I mean .. I really had to
23:27:05  <TrueBrain> "look, here are 10 other products that do things completely different than you, so this one place that is inconsistent is doing it correct"
23:27:46  <_dp_> yeah, god bless smiles
23:27:51  <_dp_> coz I have no words...
23:28:37  <TrueBrain> you do have a warning to fix in that PR btw :)
23:29:04  <_dp_> oh
23:29:07  <_dp_> stupid tabs :/
23:29:15  <TrueBrain> "GSGoal::Question and GSGoal::QuestionClient no longer require to have any buttons except for the window type GSGoal.QT_QUESTION"
23:29:22  <TrueBrain> that is a brilliant sentence
23:29:32  <TrueBrain> Questions no longer needs any buttons except for Questions
23:29:32  <TrueBrain> :D
23:29:44  <TrueBrain> I would ALMOST suggest we need to rename the class now :P
23:29:59  <TrueBrain> it is nice how you see evolution here
23:30:24  <TrueBrain> initially it was meant for questions, owh let add colours, based on severity, owh, lets remove buttons .. THEY ARE NO LONGER QUESTIONS :P
23:30:44  <_dp_> yeah, I couldn't think of a way to put it any better
23:30:59  <TrueBrain> rename to GSGoal::Message
23:31:00  <TrueBrain> honestly
23:31:08  <TrueBrain> but I do not know if that is a good idea
23:31:12  <TrueBrain> but it is what it has become
23:31:25  <glx> yeah it's a MessageBox now
23:31:38  <glx> with different types
23:33:32  * _dp_ never used it with anything but "ok" button
23:35:37  <_dp_> idk, everything is wrong with the name there
23:35:50  <_dp_> like wtf is it even doing in GSGoal
23:36:22  <TrueBrain> evolution at play :)
23:36:37  <TrueBrain> wasn't this your idea to start with? :P
23:36:57  <_dp_> what idea? GSGoal::Question existed before me
23:37:03  <_dp_> and had nothing to do with goals :p
23:37:20  <TrueBrain> (svn r23731) -Add: add GSGoal::Question(), to ask a question to a(ll) company(ies). It can contain random text, and at most 3 buttons from a collection of 17
23:37:23  <TrueBrain> it was me :(
23:37:44  <TrueBrain> but yeah, it fitted in the idea of GSGoal at that moment in time :)
23:38:13  <TrueBrain> like: do you want to supply this town with this cargo
23:38:14  <TrueBrain> stuff like that
23:38:38  <TrueBrain> then you did this: Feature: Add GS method to question a single client (#6748)
23:40:03  <TrueBrain> (svn r23827) -Feature [FS#4992]: [NoGo] Allow to chose the goal question window's title from a (small) set of options
23:40:12  <TrueBrain> Rb is the reason it became weird :P
23:40:20  <TrueBrain> here it become a severity thingy :)
23:40:38  <TrueBrain> within 2 weeks after introduction
23:40:59  <glx> I guess it can be renamed with compatibility stuff
23:41:40  <TrueBrain> yup
23:41:59  <TrueBrain> so I send someone on Steam Community a message
23:42:01  <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on pull request #8638: Feature: [GS] Allow non-question type windows to have no buttons https://git.io/JtgTT
23:42:05  <TrueBrain> but ... no clue how to find it back
23:43:03  <TrueBrain> he has 0 clue what he is talking about, it seems
23:45:06  <TrueBrain> okay, funny, so this random Steam user says he wouldn't mind testing the Linux build
23:45:08  <TrueBrain> so I give him a key
23:45:12  <TrueBrain> he is  ... not a small player :P
23:45:54  <_dp_> whole goal ui is so awful that minor stuff like function names feels kinda irrelevant
23:46:03  <milek7> these linux-generic binaries are for download somewhere?
23:46:08  <TrueBrain> _dp_: it starts somewhere
23:46:13  <_dp_> question, message, who cares
23:46:17  <TrueBrain> milek7: once someone says "approved" and a nightly has happened, yes
23:46:27  <_dp_> you need two freaking screens of code to show goals in right order :/
23:46:41  <TrueBrain> _dp_: I am not sure it should be part of your PR, but for sure it becomes weird as you can see in the changelog now :D
23:47:16  <_dp_> yeah, that's a different pr for sure
23:48:18  <TrueBrain> okay, Steam forums are just a bit weird
23:48:33  <TrueBrain> when you know what user you send a PM, you can find it back, basically
23:50:58  *** Wolf01 has quit IRC

Powered by YARRSTE version: svn-trunk