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