IRC logs for #openttd on OFTC at 2021-04-14
            
00:10:56 *** glx has quit IRC ()
01:22:56 *** WormnestAndroid has quit IRC (Remote host closed the connection)
01:23:11 *** WormnestAndroid has joined #openttd
01:26:13 *** spnda has quit IRC (Remote host closed the connection)
02:07:55 *** gnu_jj has joined #openttd
02:16:54 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
02:22:25 *** D-HUND has joined #openttd
02:25:44 *** debdog has quit IRC (Ping timeout: 480 seconds)
02:55:12 *** Wormnest has quit IRC (Quit: Leaving)
03:10:49 <DorpsGek> [OpenTTD/bananas-api] perezdidac updated pull request #85: Change: add upload-date to packet size validation https://git.io/JYQMM
03:44:46 *** Flygon has joined #openttd
04:02:35 *** didac has joined #openttd
04:40:22 *** snail_UES_ has quit IRC (Quit: snail_UES_)
06:10:44 *** didac has quit IRC (Remote host closed the connection)
06:26:06 *** erle- has joined #openttd
06:32:51 *** gelignite has joined #openttd
07:11:51 *** andythenorth has joined #openttd
07:12:13 <andythenorth> coffee time
07:12:21 <Xaroth> Tea time for me.
07:17:16 <peter1138> VS Code has this neat feature where you can type in the file list, and it will filter. However it doesn't search for files inside directory trees which are not expanded.
07:17:23 <peter1138> Maybe there's an option...
07:18:25 <DorpsGek> [OpenTTD/OpenTTD] telk5093 commented on issue #9035: No obvious way to change player name during multiplayer session https://git.io/JOmiO
07:25:43 * peter1138 ponders removing separate sprite/text scaling for the GUI.
07:27:18 *** HerzogDeXtEr has joined #openttd
07:30:15 <andythenorth> the split of UI size and font size?
07:30:21 <andythenorth> or an implementation thing?
07:30:44 <peter1138> The split.
07:31:21 <peter1138> GAH, sprites with offsets :(
07:32:54 <andythenorth> I missed when it was split, or the rationale :P
07:32:59 <andythenorth> there was probably a PR
07:33:46 <peter1138> Pretty sure it was pre-git.
07:35:24 <peter1138> github made all contributors equal (but some are more equal than others)
07:37:21 <peter1138> Okay that is fine with OpenGFX.
07:39:28 *** supermop_Home_ has quit IRC (Ping timeout: 480 seconds)
07:49:05 <peter1138> So if I open a build toolbar at 1x zoom, I can change zoom level and it all works. If I open it at 2x or 4x zoom, it won't go smaller that how it started.
07:49:50 <peter1138> Well, height anyway. Width works.
07:50:48 <peter1138> I wonder if there's a minimum I'm not resetting. Hmm.
07:52:25 *** sla_ro|master has joined #openttd
07:55:38 *** Gustavo6046 has quit IRC (Ping timeout: 480 seconds)
08:00:13 <peter1138> That 5 minutes went quick :(
08:00:45 <andythenorth> same
08:00:55 * andythenorth drawing Pacers
08:01:04 <andythenorth> crap train
08:07:49 <peter1138> I have closed vs code and opened vs code intead.
08:09:00 <peter1138> But my tummy is rumbling :(
08:09:36 <LordAro> speaking of, i need to go get some milk
08:10:14 <peter1138> I already ate. More coffee needed.
08:12:14 <andythenorth> coffee is food
08:17:39 <peter1138> Yeah but near zero calorie.
08:18:44 <andythenorth> all the feels though
08:18:53 * andythenorth should leave the channel, my boss needs me to work
08:19:29 *** andythenorth has left #openttd
08:21:07 <LordAro> isn't andy his own boss?
08:21:31 <LordAro> or maybe it's wife/child
08:26:44 *** FLHerne_ has joined #openttd
08:29:06 *** gelignite has quit IRC (Quit: Stay safe!)
08:35:45 *** FLHerne_ has quit IRC (Remote host closed the connection)
08:36:59 *** FLHerne_ has joined #openttd
08:48:33 *** Wuzzy has joined #openttd
08:50:33 *** FLHerne has joined #openttd
08:50:33 *** FLHerne_ has quit IRC (Read error: Connection reset by peer)
08:51:14 <Xaroth> Maybe his split personality?
09:14:30 *** FLHerne has quit IRC (Read error: Connection reset by peer)
09:30:51 <peter1138> Well, he still needs to work.
09:36:37 *** Wolf01 has joined #openttd
09:47:36 <TrueBrain> std::map have a weird "for" syntax .. but it feels like Python, so I am fine with it :P
09:52:07 <peter1138> Weirder than the range syntax for std::vector etc?
09:52:19 <TrueBrain> do I want to know what that syntax is? :D
09:52:40 <peter1138> Um :-)
09:53:50 <TrueBrain> or do you just mean the "for (auto &i : v)" ?
09:53:54 <peter1138> Yes.
09:53:58 <TrueBrain> (sorry, C++ lingo is far behind my current capabilities :P)
09:54:04 <TrueBrain> and yes, it is weirder
09:56:23 <TrueBrain> I like that in OpenTTD instead of using non-block connects, we use a thread around a blocked connect :D
09:56:26 <TrueBrain> it is far easier code :P
09:59:05 <peter1138> Yes but. Leads to accidental main-loop locking...
09:59:21 <TrueBrain> only if you have a weird network setup :P :P
10:08:46 <peter1138> :D
10:08:54 <peter1138> Also that's a bug in my chat history patch
10:09:06 <peter1138> I think I should be using auto &cmsg, not auto cmsg.
10:09:37 <peter1138> (As _chatmsg_list is not pointers)
10:09:48 <TrueBrain> sounds like a smart idea, yes :D
10:10:45 <TrueBrain> I spend a bit too much time trying to find a place to put code
10:10:50 <TrueBrain> rather than writing code, I have noticed
10:10:57 <peter1138> And scrolling the file list.
10:11:05 <TrueBrain> that too
10:11:28 <peter1138> That reminds me, I wonder if there's an option that'll include collapsed directories (when typing into the file list)
10:13:05 *** Samu has joined #openttd
10:13:48 *** Synck has joined #openttd
10:18:38 <peter1138> Funny how players still spam buoys everywhere.
10:24:02 <TrueBrain> so ... sometimes I work in Python, sometimes in C++ .. like .. I switch every 10 minutes currently or so
10:24:06 <TrueBrain> that leaves interesting problems
10:24:09 <TrueBrain> I change some C++ file
10:24:11 <TrueBrain> run the game
10:24:13 <TrueBrain> huh? nothing changed?
10:24:16 <TrueBrain> owh .. forgot to rebuild
10:24:16 <peter1138> :)
10:24:18 <TrueBrain> really annoying :D
10:31:12 <peter1138> With your network lobby stuff, will notjoshno say there's no point, you can just Google to find out how to setup port forwarding?
10:31:25 <TrueBrain> peter1138: yes
10:31:34 <TrueBrain> as making things easier for users is NOT our core business
10:32:03 <TrueBrain> hmm .. something is weird with the OpenTTD's network stack .. when a packet is too short, it starts returning 0s instead of errors, causing weird behaviour throughout the stack
10:32:20 <TrueBrain> it is very picky about receiving a correctly-sized packet
10:33:28 *** Synck has quit IRC (Remote host closed the connection)
10:37:40 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding (using STUN) https://git.io/JOk7C
10:37:45 <TrueBrain> there, you can now list your server as private or friends-only
10:38:03 <TrueBrain> needs a bit of work for dedicated servers, so people understand in which mode they are :P
10:45:56 *** Wolf01 has quit IRC (Read error: Connection reset by peer)
10:46:31 *** Wolf01 has joined #openttd
11:14:45 *** FLHerne has joined #openttd
11:28:32 *** EER has joined #openttd
11:29:54 *** snail_UES_ has joined #openttd
11:46:11 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #9025: Feature: Reveal chat history when chat message box is open. https://git.io/JOLU2
11:47:30 *** Ali42 has joined #openttd
11:47:38 <peter1138> Oh.
11:47:45 <peter1138> uint bool
11:48:48 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #9025: Feature: Reveal chat history when chat message box is open. https://git.io/JOsEe
11:49:03 <Ali42> Hey, is it possible to compile openTTD 1.11.0 for armhf (Raspberry pi)? I keep getting an undefined reference error.
11:49:35 *** FLHerne has quit IRC (Quit: There's a real world out here!)
11:50:48 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #9025: Feature: Reveal chat history when chat message box is open. https://git.io/JOLU2
11:51:48 <peter1138> ^ Now using auto &cmsg, and fixed uint/bool and not using auto...
11:52:12 <peter1138> Ali42, no, there's a fix since so you can compile master.
11:59:57 <LordAro> Ali42: https://github.com/OpenTTD/OpenTTD/pull/8924 this change, specifically
12:03:42 <Ali42> That's sick, nice one. Would a dedicated server compiled from master support 1.11.0 clients? I'm happy to cherry pick the change if not
12:04:12 <LordAro> no, you'd need to start from the 1.11.0 tag
12:04:20 <LordAro> (and then figure out how to fake the version)
12:04:42 *** Synck has joined #openttd
12:04:43 <Ali42> I believe.
12:12:51 *** glx has joined #openttd
12:12:51 *** ChanServ sets mode: +v glx
12:21:53 <peter1138> 1.11.1 when? :D
12:23:25 <LordAro> Soonᵀᴹ
12:23:27 <Xaroth> Isn't that a question we should be asking you, peter1138? :P
12:36:29 <TrueBrain> I wonder how much effort it is to remove the MTU limitation of Packet in OpenTTD
12:36:44 <TrueBrain> would make some code a lot easier to deal with
12:36:52 <TrueBrain> meh ... lets not try to do everything :D
12:37:31 <TrueBrain> how many NewGRFs can there be loaded in a single game?
12:37:40 <peter1138> Isn't that mostly because of UDP packets?
12:37:53 <TrueBrain> peter1138: yeah, which I now removed, so the l limit is now void
12:37:59 <TrueBrain> -l
12:38:00 <peter1138> Ah.
12:38:26 <TrueBrain> but okay, sending multiple packets at once isn't a problem for any TCP stack either
12:38:44 <peter1138> TCP stack will probably combine when it can.
12:38:48 <TrueBrain> it does
12:39:08 <peter1138> And you have to handle partial packets anyway.
12:39:18 <TrueBrain> yeah, so it is not that big of a deal
12:39:29 <TrueBrain> the thing I now only run into, is that a single server info blob is exceeding MTU
12:39:49 <TrueBrain> currently that is solved by some pretty complex code where NewGRF names are not send by default
12:39:59 <TrueBrain> but send if the client doesn't know the GRFID + md5sum
12:40:08 <TrueBrain> so extra packets
12:40:10 <DorpsGek> [OpenTTD/nml] 2TallTyler opened issue #201: Possible misnamed constant in global variable `map_type` https://git.io/JOsol
12:40:12 <TrueBrain> complex matching logic
12:40:19 <peter1138> If it's TCP then just always send it, yeah.
12:40:45 <peter1138> Not sure if backwards compatibility is necessary?
12:40:53 <TrueBrain> it isn't
12:41:30 <TrueBrain> that is to say, older clients will only see older servers
12:41:46 <TrueBrain> worst case, older client does a direct connect to a newer server
12:41:52 <TrueBrain> so I will have to make sure that is caught in time
12:41:56 <peter1138> Which wouldn't work anyway.
12:42:11 <TrueBrain> yeah, but revision check has to be done before any "possibly big" packet is being send, basically
12:43:00 <TrueBrain> but just sending the GRF names every join would make things so much easier
12:43:03 <TrueBrain> just a bit wasteful, I guess
12:43:12 <TrueBrain> max .. 63 NewGRFs I believe?
12:43:16 <TrueBrain> times .. euh .. 30 length names
12:43:19 <TrueBrain> so ... 2000 bytes waste
12:43:22 <TrueBrain> I mean .. not sure we survive
12:45:43 *** tokai has joined #openttd
12:45:43 *** ChanServ sets mode: +v tokai
12:45:47 <DorpsGek> [OpenTTD/nml] 2TallTyler commented on issue #196: Suspected integer underflow when switch returns a negative number https://git.io/JYJRU
12:52:38 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
12:55:52 <TrueBrain> isn't a square just a special type of rectangle? :P
13:05:41 <Xaroth> Getting rid of the MTU limitation would be neat for the admin port
13:05:41 <peter1138> Yes but given the context of this one... :)
13:28:56 *** spnda has joined #openttd
13:29:58 <peter1138> Okay, maybe time to charge up the fitbit...
13:34:51 *** nielsm has joined #openttd
13:35:21 <DorpsGek> [OpenTTD/nml] glx22 commented on issue #201: Possible misnamed constant in global variable `map_type` https://git.io/JOsol
13:37:26 <DorpsGek> [OpenTTD/team] nemesbala opened issue #192: [hu_HU] Translator access request https://git.io/JOsHz
13:37:56 <glx> main issue is we'll need to keep MAP_TYPE_RECTANGULAR anyway for compatibility with existing nml files
13:40:42 <peter1138> Do you though?
13:40:45 *** Synck has quit IRC (Remote host closed the connection)
13:41:29 <peter1138> Anything already compiled will carry on working, anybody updating something can just update that test.
13:42:13 <peter1138> In most cases I'd agree that keeping the original around makes sense, but in this case it's exactly the opposite of what is intended.
13:43:42 <glx> oh maybe deprecated flag can be added there (but this area doesn't support that yet I think)
13:45:40 <TrueBrain> okay, sending the GRF name over the wire always is a lot easier in many regards .. so I guess now I do have to "fix" MTU :)
13:51:03 <TrueBrain> I will have to do the math what that means for server listing, but .. I think we will be fine :)
13:51:34 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding (using STUN) https://git.io/JOk7C
13:53:31 <milek7> what with LAN discovery?
13:54:47 <DorpsGek> [OpenTTD/nml] spnda opened issue #202: extract_tables.feature_names_table does not include "TILE" https://git.io/JOsde
13:56:52 <TrueBrain> lol, it is funny, with the current MTU, the current packet can be completely full in the worst case
13:56:56 <TrueBrain> that is pretty nice :)
13:57:09 <TrueBrain> as in, 4 bytes left over
13:57:14 <TrueBrain> like someone planned it that way :D
14:00:47 <TrueBrain> damn, servers that do use NewGRFs use them real good
14:00:56 <TrueBrain> is there any request to raise the limit of active NewGRFs btw?
14:00:59 <peter1138> Loads.
14:01:11 <TrueBrain> any we want to comply with? :P
14:01:28 <peter1138> But JGR already supports it, and that is the only version worth playing, or something.
14:01:40 <peter1138> JGRPP I mean.
14:01:46 <TrueBrain> I wonder how he fixed that in multiplayer :P
14:02:04 <peter1138> Multiple UDP packets IIRC.
14:02:13 <TrueBrain> well, to the master-server, mostly
14:03:01 <peter1138> TBH, I dunno, I've never played it. And looking at the source is not conducive to much useful for vanilla :)
14:03:37 <TrueBrain> as long as my work doesn't break his horribly :P
14:03:48 <TrueBrain> ha, he sneaked in an extra flag to send extended information to clients from servers
14:03:48 <TrueBrain> nice
14:04:20 <TrueBrain> info.name = "=*=*= More than 62 GRFs in total =*=*=";
14:04:21 <TrueBrain> :D
14:04:32 <peter1138> Heh
14:04:52 <peter1138> If you're replacing the network protocol, then yeah, it'll break his horribly ;)
14:05:12 <TrueBrain> okay, our code suggests the 62 limit exists purely because of network
14:05:19 <TrueBrain> so I guess there is no reason to keep that limitation
14:05:27 <TrueBrain> well, 255 will be the new limitation, as .. byte
14:05:55 <TrueBrain> currently, every NewGRF is 20 bytes. With names, this becomes 54 bytes per NewGRF
14:06:02 <TrueBrain> euh, 52
14:06:06 <TrueBrain> math, hard
14:06:42 <TrueBrain> what I wonder .. currently when you query the server-list, you get all the (detailed) information send to you
14:06:47 <TrueBrain> including the exact NewGRFs etc
14:06:58 <TrueBrain> hmm .. no, nevermind, my own idea is stupid
14:07:04 <TrueBrain> I wanted to say: what if the client sends his NewGRFs
14:07:15 <TrueBrain> so the game coordinator can find servers that work for you
14:07:17 <glx> exact newgrf list is required for the colored dot ;)
14:07:21 <TrueBrain> but ... who knows how many local NewGRFs people have :P
14:07:48 <glx> I have too many newgrfs locally :P
14:08:12 <TrueBrain> just means that the serverlist will be, if I can estimate this looking at the current ...
14:08:29 <TrueBrain> 500KB
14:09:31 <TrueBrain> (currently it also takes 500KB, but by asking 500 servers 1KB .. in my PR it changes this by asking 500KB from the game coordinator)
14:11:07 <TrueBrain> @calc 0.09 / 1024 / 1024 * 500
14:11:07 <DorpsGek> TrueBrain: 4.291534423828125e-05
14:11:18 <TrueBrain> @calc 0.09 / 1024 / 1024 * 500 * 10000
14:11:18 <DorpsGek> TrueBrain: 0.4291534423828125
14:11:26 <TrueBrain> cost-wise, nothing worth mentioning :P
14:11:55 <TrueBrain> more performance-wise I am not 100% sure .. guess I will have to fake some data and figure that out
14:12:10 <Rubidium> the main reason for Packet/MTU is actually the UDP packet issue, for TCP it's not really needed. Although smaller packets allows you to send some things before others, like chat while downloading the map but that potential is probably untapped
14:12:36 <TrueBrain> Rubidium: we mentioned that a few times already yes :P
14:12:50 <TrueBrain> the main issue is that it is a fixed-size buffer atm
14:12:59 <TrueBrain> so changing it is not fully trivial
14:13:39 <TrueBrain> @calc 153 + 255 * (4 + 16 + 32)
14:13:39 <DorpsGek> TrueBrain: 13413
14:13:47 <TrueBrain> max size per server would be 13KB of data, lol
14:14:01 <peter1138> When you quit and restart VS Code, because C# intellisense stopped working, but it says code.exe no longer exists...
14:14:01 <Rubidium> true, potentially have a different implementation (subclass) for UDP packets that are limited to the MTU whether TCP packets can be larger
14:14:16 <TrueBrain> Rubidium: I remove (most) of the UDP
14:14:20 <TrueBrain> so it isn't an issue anymore :P
14:14:36 <Rubidium> but you don't remove all of it for local discovery
14:14:44 <TrueBrain> which is a 4 byte packet :D
14:14:49 <TrueBrain> we can runtime assert that :)
14:15:03 <TrueBrain> sorry, 6 bytes
14:16:07 <Rubidium> by the way, if you send all the servers in one big blob you can save a lot on the NewGRF info by just making a distinct list at the begin and only using indexes into that list per server. Then any NewGRF that is used over multiple servers uses way less network resources
14:16:27 <TrueBrain> that is not a bad idea
14:16:53 <TrueBrain> not sure how much bandwidth it truly saves .. strongly depends on how common setups are
14:17:23 <TrueBrain> the main thing I struggle with, is that we send all servers, no matter if you can play on them, no matter what
14:17:28 <TrueBrain> this is rather inefficient in many ways
14:17:33 <TrueBrain> I keep wondering if we can't do that smarter
14:18:10 <TrueBrain> similar, what frosch123 would really like, that you can search based on settings of a game
14:18:20 <TrueBrain> that all kinda begs for server-side filtering
14:18:50 <TrueBrain> can you change what NewGRFs are loaded on a running server?
14:19:14 <Rubidium> not without modifications to the current code (I hope)
14:19:24 <TrueBrain> no, you cannot
14:19:25 <glx> ok I found an easy way to add more deprecation warnings in nmlc
14:19:26 <TrueBrain> had to verify :D
14:19:52 <TrueBrain> so on server start-up we can tell the game coordinator a lot about the server, NewGRFs, settings etc
14:20:03 <TrueBrain> and the client lists based on a query
14:20:14 <TrueBrain> which normally is something like: this is my openttd-version
14:20:19 <TrueBrain> with options to query/search for the others?
14:20:20 <TrueBrain> I dunno ..
14:27:05 *** APTX has quit IRC (Quit: Farewell)
14:27:11 *** APTX has joined #openttd
14:31:21 <TrueBrain> funny, currently a master server listing is ~4KB of data per time you request it from the master-server
14:35:34 <TrueBrain> awh, LAN broadcasts don't work on WSL2 .. that is annoying
14:37:07 <milek7> eh, I would rather keep sending whole list (and optionally do client-side filtering)
14:37:17 <milek7> it is somewhat better to know 'ok, this server had different version' than 'yyh, why this server is missing from list?'
14:38:02 <TrueBrain> yeah, but finding "that one server" in a list of 500 is very user-friendly :P
14:38:05 <TrueBrain> +not
14:42:11 <spnda> still not sure wether having "class" and "class_name" in each roadstop item is a really good idea...
14:42:21 <peter1138> Some games have filters, and then spend ages redownloading the list when you change something.
14:42:49 <peter1138> Why would you need the name in each roadstop?
14:43:15 <TrueBrain> peter1138: that is as terrible :D
14:43:33 <TrueBrain> there has to be some clever middleground there .. not sure yet
14:43:39 *** Synck has joined #openttd
14:43:42 <peter1138> No so bad for us but I remember Rust takes ages, and have thousands of servers...
14:43:52 <spnda> peter1138: idk really, would otherwise have to need another feature or similar to define a single item class
14:44:14 <TrueBrain> peter1138: bit my scare is that if we allow anyone to just make a server, the amount of online servers boom even more, giving similar issues :)
14:44:25 <peter1138> If?
14:44:31 <TrueBrain> when :P
14:44:36 <milek7> > These first three pair of packets (thus six in total) must remain in this order for backward and forward compatibility between clients that are trying to join directly.
14:44:38 <TrueBrain> sorry, Dutch doesn't make a difference between those 2 words :)
14:44:40 <milek7> do we really care about that?
14:44:41 <peter1138> I mean, can't they currently?
14:45:00 <TrueBrain> peter1138: a lot of people cannot, no
14:45:12 <TrueBrain> or fail to do so
14:45:14 <TrueBrain> however you look at it :)
14:45:44 <peter1138> Why does food taste so good?
14:46:32 <TrueBrain> hmm .. doing this over HTTP and allowing gzip is tempting .. saves a lot of bytes :P
14:46:39 <TrueBrain> but okay .. bytes are not that important for this :)
14:48:37 <milek7> as in, whether incompatible client must be able to connect tcp and get lobby info
14:49:23 <milek7> I think that shouldn't happen almost at all, as it won't connect without previous discovery with proper version
14:50:28 <peter1138> TrueBrain, would it compress much at all?
14:50:52 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #9017: WIP: allow multiplayer without port forwarding (using STUN) https://git.io/JOk7C
14:50:54 <TrueBrain> peter1138: lots of text, so yeah
14:50:59 <DorpsGek> [OpenTTD/nml] glx22 opened pull request #203: Fix #201: rename MAP_TYPE_RECTANGULAR to MAP_TYPE_SQUARE https://git.io/JOGvm
14:51:34 *** Gustavo6046 has joined #openttd
14:52:18 <peter1138> I guess applying compression universally would be a bad thing for the savegame transfer.
14:52:38 <Wolf01> Why that glx? A square is just a particular rectangle
14:52:48 <TrueBrain> peter1138: I would think so too, but no measurements to support that gut-feeling :D
14:52:56 <TrueBrain> Wolf01: haha, I said the same :D :D
14:53:02 <glx> it is, but the spec says otherwise :)
14:53:13 <TrueBrain> but rectangle is really just wrong here :P
14:53:16 <peter1138> Wolf01, in this particular case, the flag is to say whether it is a square or a rectangle.
14:53:49 <Wolf01> Not that it could be anything else :P
14:54:11 <glx> the flag is square or not square
14:54:14 <TrueBrain> okay, I can reduce the amount of UDP sockets to 1, instead of the now two, but that is something for another day ..
14:54:20 <peter1138> Didn't someone suggest hexagonal tiles once...?
14:54:26 <TrueBrain> a new game, you say?
14:54:26 <Wolf01> Me
14:54:27 <TrueBrain> :D
14:55:11 <glx> with hexagone you can have nice curved rails :)
14:55:54 <Wolf01> I was looking at dorf romantik and the nice layouts you can make with it
14:56:00 <glx> and constant length for straigh rails in 3 different orientations
14:57:10 <glx> but town layout would be ugly
14:57:27 <peter1138> Hmm, Civilization only went hex from Civ 5. Thought it was ealier.
15:00:42 *** EER has quit IRC (Remote host closed the connection)
15:00:47 <TrueBrain> meh, the only reason I don't like the client sending its NewGRF list to the game coordinator, is that it basically means we can spy on what users have installed :P
15:00:50 <TrueBrain> that feels wrong
15:00:52 <TrueBrain> otherwise it is efficient
15:01:03 <Wolf01> <glx> but town layout would be ugly <- nah, I played steel panthers a lot of ages ago and it had nice town layouts
15:01:44 <Wolf01> Also you can rotate buildings in 6 directions :P
15:03:10 <milek7> why would game coordinator need *client* newgrf list?
15:05:45 <DorpsGek> [OpenTTD/OpenTTD] WimLeflere opened pull request #9038: Add test framework and some basic unit tests https://git.io/JOGUs
15:18:56 <glx> btw TrueBrain in my openttd.cfg I have last_newgrf_count = 1314
15:19:08 <TrueBrain> glx: :o lol, you are crazy :D
15:19:27 <peter1138> Yes, I would say, it's not very efficient.
15:19:37 <TrueBrain> ironically, that would still be better to have your client-side list send to the game coordinator than for every server to send his to you :)
15:20:08 <TrueBrain> but how long are your startup times, damn
15:20:14 <glx> too long
15:20:24 <glx> especially in debug builds
15:20:45 <TrueBrain> I wonder .. should a server be orange if you don't have the NewGRF but it is on BaNaNaS?
15:20:51 <TrueBrain> I mean, it is just a click away, isn't it?
15:21:02 <TrueBrain> it only really is an issue if the NewGRF is not on BaNaNaS
15:22:00 <peter1138> I was also thinking similar earlier.
15:22:19 <TrueBrain> when we introduce presets, I expect a lot more games to be using NewGRFs
15:22:39 <TrueBrain> so what I was thinking: the game coordinator doesn't really have to tell you what NewGRFs a server is using
15:22:46 <TrueBrain> just if it is using one you cannot download via BaNaNaS
15:22:46 <peter1138> IMHO, it's still a pain to set up NewGRFs on a server.
15:22:51 <TrueBrain> as then it should check if you have it or not
15:23:05 <TrueBrain> peter1138: how so?
15:23:23 <peter1138> Well, not as easy as setting up a single-player game with GUI, that's for sure.
15:23:34 <TrueBrain> I think presets are going to be a game changer there
15:23:52 <TrueBrain> you build a nice combination of settings + NewGRFs + AI + GS + ... in your client GUI
15:23:53 <TrueBrain> save it
15:23:57 <TrueBrain> send the blob to the server
15:23:59 <TrueBrain> and he does the rest
15:24:09 <peter1138> But yes, if you assume that if it's on Bananas then it can be installed, you don't need to transfer this data.
15:24:10 <TrueBrain> ala blueprints for Factorio
15:24:15 <peter1138> Just do it when you click on a server.
15:24:20 <TrueBrain> exactly
15:24:22 <glx> if server and client use the same OS it's not too hard to use client to generate newgrf config for server
15:24:29 <TrueBrain> saves a huge shitdown of bandwidth, but also processing speed :)
15:24:57 <TrueBrain> just means green dots mean something slightly different
15:25:12 <TrueBrain> I have to sit on this for a bit, but I think there somewhere is a solution
15:25:16 <glx> but usually paths may be different
15:29:17 <TrueBrain> funny enough, I think from a player perspective not making servers orange when you can download their NewGRFs is much more friendly, as it invites players easier to join those servers
15:29:20 <TrueBrain> and enjoy other content
15:29:33 *** gnu_jj has joined #openttd
15:30:16 <glx> yes green for correct version and easy to get missing grf seems the right thing
15:30:16 <TrueBrain> I also think Join should not be greyed out, but ask you: you are missing content, shall I download that for you?
15:31:32 *** Synck has quit IRC (Remote host closed the connection)
15:35:09 <TrueBrain> that means the average bytes per server drops from 1000 bytes to 160 bytes, for the server listing
15:35:12 <TrueBrain> that is .. a difference :P
15:35:42 <LordAro> just a bit
15:37:36 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
15:37:57 <TrueBrain> okay, enough of this for today ...
15:38:15 <TrueBrain> it will take a bit more time to finish this :D
15:38:35 <TrueBrain> have to C++17-ify some code too .. custom linked-lists are annoying to deal with :P
15:38:55 <TrueBrain> no clue yet how I am going to make this reviewable ..
15:39:16 <TrueBrain> either a lot of smaller PRs, or just one big one with 1 commit saying: DEAL WITH IT :P
15:40:31 <TrueBrain> hmm .. and I need to make a design for the Multiplayer GUI ingame
15:40:43 <TrueBrain> guess it should contain a "Change my nickname" button
15:40:53 <TrueBrain> which opens up let-me-fucking-google-that-for-you
15:40:58 <TrueBrain> and shows you the wiki page to do that in the console
15:41:22 <TrueBrain> too soon?
15:44:59 <Rubidium> I'm not quite comfortable with such a solution, I'd rather link it to the comment on github
15:47:00 <LordAro> lol
15:58:04 <TrueBrain> btw, Rubidium , can you believe the shitty window we made for the client list ingame is still there? :P
15:58:32 <TrueBrain> dates back to 2004 .. meant as "temporary so we have something" window :D
16:00:28 <DorpsGek> [OpenTTD/nml] LordAro approved pull request #203: Fix #201: rename MAP_TYPE_RECTANGULAR to MAP_TYPE_SQUARE https://git.io/JOGsK
16:03:19 <peter1138> :D
16:05:05 <glx> LordAro: tried to activate issue linking with the title rename ?
16:06:18 <LordAro> no, fixing whitespace :p
16:06:49 <LordAro> which may or may not fix that too
16:07:43 *** supermop_Home_ has joined #openttd
16:10:07 <DorpsGek> [OpenTTD/nml] glx22 closed issue #201: Possible misnamed constant in global variable `map_type` https://git.io/JOsol
16:10:10 <DorpsGek> [OpenTTD/nml] glx22 merged pull request #203: Fix #201: rename MAP_TYPE_RECTANGULAR to MAP_TYPE_SQUARE https://git.io/JOGvm
16:16:24 <Rubidium> TrueBrain: that might even be from before I started working on OpenTTD, but I can believe that
16:18:00 <TrueBrain> Most likely, but you changed more lines of code in that window then I have, so I can never remember :D
16:18:37 <glx> probably during the GUI rewrite
16:21:27 *** EER has joined #openttd
16:21:46 <Rubidium> or the c++ conversion?
16:33:57 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
16:40:26 *** andythenorth has joined #openttd
16:40:33 <andythenorth> is cat?
16:48:25 <Wolf01> No
16:50:36 <spnda> I cannot believe that my PATH variable in windows is too long
16:51:24 <Wolf01> Could you use other ENV variables inside PATH?
16:51:36 <glx> I though they removed the 255 limit
16:51:53 <spnda> I apparently surpassed the limit of 2047 characters
16:53:31 <glx> you can use junctions to have shorter path without actually moving stuff
16:54:15 *** Progman has joined #openttd
16:56:27 <Wolf01> SET SHORT=c:\very\long\path\which\is\used\in\PATH\variable -> %SHORT% should work in PATH
17:00:14 *** Wormnest has joined #openttd
17:01:29 <DorpsGek> [OpenTTD/OpenTTD] stormcone commented on pull request #9025: Feature: Reveal chat history when chat message box is open. https://git.io/JOGRi
17:02:58 *** frosch123 has joined #openttd
17:03:33 <TrueBrain> Someone doesn't know what iff means .. wait till he finds out it is all over the code :D
17:04:21 <TrueBrain> First time I too was: wtf :p
17:06:56 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #9025: Feature: Reveal chat history when chat message box is open. https://git.io/JOG0P
17:08:19 *** snail_UES_ is now known as Guest1421
17:08:29 *** snail_UES_ has joined #openttd
17:10:38 *** Guest1421 has quit IRC (Ping timeout: 480 seconds)
17:15:18 <frosch123> TrueBrain: "iff" is a perfectly normal word :) also, stop selling old versions of openttd on ebau
17:15:21 <frosch123> *ebay
17:20:50 <TrueBrain> I left the emails specially for you
17:20:57 <TrueBrain> It made me laugh so hard
17:21:51 <frosch123> i only looked at them by accidient, i wanted to mark them as junk, but misclicked, and then saw that it was actually ottd related
17:24:18 <TrueBrain> They are hilarious :)
17:24:38 <frosch123> i like the name
17:24:52 <frosch123> TTD probably means trains+trucks+dosh
17:26:23 <DorpsGek> [OpenTTD/team] frosch123 commented on issue #192: [hu_HU] Translator access request https://git.io/JOsHz
17:26:50 <DorpsGek> [OpenTTD/team] frosch123 commented on issue #191: [ta_IN] Translator access request https://git.io/JOm91
17:29:01 <frosch123> hmm, any good idea how to modify https://github.com/OpenTTD/team/blob/master/.github/ISSUE_TEMPLATE/translator_de_DE.md so it says something like "go away, we already have 15 translators"?
17:29:42 <DorpsGek> [OpenTTD/team] frosch123 commented on issue #190: [de_DE] Translator access request https://git.io/JOIXq
17:29:48 <DorpsGek> [OpenTTD/team] frosch123 commented on issue #189: [de_DE] Translator access request https://git.io/JOJp8
17:30:22 *** gelignite has joined #openttd
17:34:28 *** Synck has joined #openttd
17:37:54 <Rubidium> frosch123: is there some way to pass a note to the translators about a particular string?
17:38:14 <frosch123> translators have github teams
17:38:22 <frosch123> we tell them to use team discussions
17:38:24 <frosch123> some actually do
17:38:31 <Rubidium> if that's the case, then you could maybe steer them to that if they see a small mistake
17:39:09 <frosch123> ah, no, discussions are only for members
17:39:46 <frosch123> we do not have "bug reports" for translators, and i don't think we want them :p
17:40:19 <Rubidium> so the only way, as a casual user, to fix a spelling mistake is to become a translator?
17:41:53 <frosch123> yes, I think there have been about 3 PRs/issues, where people tried that, and were told to become translators instead
17:42:01 <Ali42> LordAro peter1138 thanks a lot guys, got an openttd server running 1.11.0 on my raspberry pi!
17:49:34 <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://git.io/JOGrL
17:49:35 <DorpsGek> - Update: Translations from eints (by translators)
17:50:34 <Rubidium> what's the best way to handle a class instance in a vector, where the constructor initializes a file handle and the destructor closes it? The vector itself is causing some interesting constructs and destructs by itself. Do I have to go the refcount way, or is there a better/easier way in our code?
17:52:16 <frosch123> you can make the class move-only
17:52:16 <Rubidium> what I would like is that at a clear() of the vector the destructors are called so the file handles get closes
17:53:48 <frosch123> in all cases, your class will need some state, whether the file is opened or not
17:54:07 <frosch123> if you do not have that state, you can add it by using std::unique_ptr or std::optional
17:54:26 <frosch123> if you have that state already, then implement a move-constructor, and declare the copy-constructor as deleted
17:55:06 <frosch123> https://github.com/frosch123/team/issues/new/choose <- does this look reasonable? or are we fine with infinite amounts of translators? :p
17:59:48 <TrueBrain> At least it is very clear :)
18:16:14 <peter1138> urgh, it was cold
18:16:33 <peter1138> so cold the old garmin's battery lasted less than an hour
18:19:11 <peter1138> #
18:22:58 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on issue #9035: No obvious way to change player name during multiplayer session https://git.io/JOmiO
18:30:31 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on pull request #9038: Add test framework and some basic unit tests https://git.io/JOGP1
18:37:29 *** Nickname has joined #openttd
18:37:40 *** Nickname is now known as Guest1430
18:37:57 *** Guest1430 has quit IRC ()
18:38:00 <TrueBrain> talking about Multiplayer UI .. I was thinking something like this: https://user-images.githubusercontent.com/1663690/114761778-3c0ff780-9d61-11eb-8a67-0f61bf983622.png
18:38:05 <TrueBrain> need to fix the styling, as it is rubbish
18:38:07 *** armoredpony has joined #openttd
18:38:19 <TrueBrain> but at top some basic information of the server you are on
18:38:26 <TrueBrain> followed by per company which clients are on them
18:38:33 <TrueBrain> and some icons or something to allow editing them
18:38:40 <TrueBrain> and kicking etc if you are the owner
18:38:43 <Wolf01> Looks cool
18:39:32 <TrueBrain> too bad I haven't loaded in icon in my little widget editor ..
18:41:34 *** armoredpony has quit IRC ()
18:42:47 <TrueBrain> would require some extra icons .. hmm .. or I can keep the drop-out list we have now
18:42:48 <TrueBrain> easier :P
18:42:58 <TrueBrain> I would need a chat-icon, kick-icon, ban-icon ..
18:43:17 <TrueBrain> clicking and getting a text-list is easier :)
18:44:20 *** jottyfan has joined #openttd
18:49:27 <TrueBrain> https://user-images.githubusercontent.com/1663690/114763249-e3415e80-9d62-11eb-9e7a-b448b3ad1058.png
18:49:31 <TrueBrain> bit busy with all those ...
18:49:59 <TrueBrain> how else to make clear you can click Player names ...
18:51:48 *** Ali42 has quit IRC (Ping timeout: 480 seconds)
18:58:52 *** Synck has quit IRC (Quit: Page closed)
19:00:54 <TrueBrain> https://user-images.githubusercontent.com/1663690/114764642-7cbd4000-9d64-11eb-907c-9ad4fb10de25.png
19:01:01 <TrueBrain> simpler .. company / players are buttons
19:01:30 <Xaroth> I like the last one
19:01:53 <TrueBrain> .E. and .D. are the edit icon and the dropdown icon
19:02:10 <TrueBrain> of course if you are not the server owner, those buttons are not there
19:02:31 <TrueBrain> NAT can be: Direct Connection, NAT, No connection possible
19:02:37 <TrueBrain> or something among those lines
19:02:42 <TrueBrain> the latter would be red
19:03:59 <TrueBrain> Company action would be: chat with everyone in company
19:04:06 <TrueBrain> and give money, I guess
19:04:22 <TrueBrain> you now give money to a player, by the UI .. which is a bit odd :P
19:04:31 <TrueBrain> s/player/client/, what-evah
19:05:15 *** EER has quit IRC (Remote host closed the connection)
19:07:54 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #9039: Fio rewrite https://git.io/JOGDX
19:08:40 <peter1138> Okay. Goats cheese & black pepper popcorn is... slightly odd.
19:09:37 <frosch123> TrueBrain: does it need to be a tree? do you want to implement drag/drop of players between companies and spectators?
19:10:10 <frosch123> for editability a list with dropdown or labels (depending on whether you are allowed to edit) would be more common
19:11:12 <TrueBrain> "for editability"?
19:11:14 <TrueBrain> what do you mean?
19:11:28 *** mihkel has joined #openttd
19:11:31 <frosch123> moving clients to another company
19:11:35 <mihkel> hi
19:11:44 <TrueBrain> I wasn't really on planning on adding support for that honest frosch123 :)
19:11:47 <frosch123> moving yourself to another company
19:12:02 <TrueBrain> it is a nice idea, but yet-another-thing I would have to implement :P
19:12:09 <TrueBrain> but my idea was to have this as a WWT_MATRIX
19:12:13 <frosch123> well, i did not bother reading the backlog, i only judged the image by itself :p
19:12:21 <TrueBrain> which is fine :)
19:12:29 <TrueBrain> but anyway, the only way this looks like a tree is because of some padding
19:12:38 <mihkel> hi, where i can get 1.10.3 version? :D
19:12:59 <DorpsGek> [OpenTTD/OpenTTD] spnda commented on pull request #9039: Fio rewrite https://git.io/JOGy0
19:13:02 <frosch123> mihkel: https://cdn.openttd.org/openttd-releases/
19:13:19 <TrueBrain> frosch123: "a list with dropdown or labels" <- also not sure what you mean with that
19:15:05 <frosch123> a table: one row per client, first column: client name; second column: client actions, private chat, kick; third column: company name with bus-sprite for company colour; fourth column: company actions
19:15:18 <mihkel> thanks guys
19:15:19 <TrueBrain> ah, yes, that I do not want
19:15:21 <frosch123> cells are labels or comboboxed depending on editability
19:15:24 <TrueBrain> the current window has something like that
19:15:30 <TrueBrain> I find it very unclear to see who is in what company
19:15:40 <TrueBrain> so yeah, the tree part is core to my design :D
19:15:40 <frosch123> for admin all cells are ediable
19:15:41 <frosch123> for regular joes only their own row
19:17:01 <TrueBrain> I my head the grouping per company is kinda mandatory :D
19:17:08 <frosch123> good :)
19:17:31 <TrueBrain> a column for actions is difficult I think .. we lack icons really
19:17:39 <TrueBrain> some clever ideas there?
19:17:48 <peter1138> andythenorth, cat... C++ Analysis Tool?
19:17:51 <frosch123> colored background are meh though. better add a colored icon, i think we have those in multiple places already
19:18:08 <TrueBrain> frosch123: fair point; a coloured bus works fine
19:18:08 *** mihkel has quit IRC (Quit: Page closed)
19:18:41 <TrueBrain> and to be somewhat consistent with other windows, maybe a dropdown icon at the end
19:18:43 <TrueBrain> instead of my ...
19:18:54 <TrueBrain> for the actions
19:19:11 <frosch123> all the company-related dropdowns in the main toolbar have this colored roundrect
19:19:46 <TrueBrain> yeah, that works too
19:19:50 <frosch123> livery gui has the busses
19:20:15 <TrueBrain> and a dot for selection
19:20:16 <peter1138> Tradition :D
19:20:19 <TrueBrain> lovely inconsistent :D
19:20:36 <frosch123> now i would expect chat buttons in the list
19:20:41 <frosch123> per client and per company for team chat
19:20:49 <frosch123> though no idea whether you can team-chat to another company
19:20:53 <TrueBrain> as I said, we don't have icons for that :P
19:21:02 <frosch123> just use text then?
19:21:03 <TrueBrain> a single client can talk to a company
19:21:04 <andythenorth> peter1138 yes
19:21:08 <frosch123> "Chat"
19:21:11 <TrueBrain> using text -> makes for large buttons
19:21:15 <TrueBrain> makes the window really bloaty
19:21:23 <TrueBrain> we have: Chat / Kick / Ban for admins
19:21:45 <frosch123> well, if the gui works, we can still add icons
19:21:53 <peter1138> https://fontawesome.com/icons?d=gallery&p=2&q=chat&m=free
19:22:00 <frosch123> you have a generic "edit name" icon now :)
19:22:01 <TrueBrain> but adding dropdown icons for every entry is really ... noisy too
19:22:04 <peter1138> ^ icon inspiration ;)
19:22:13 <TrueBrain> frosch123: yeah, edit name I was planning on stealing the one we have now :)
19:22:18 <TrueBrain> so .E. becomes that icon
19:22:22 <TrueBrain> .D. is the dropdown icon
19:24:06 *** Gustavo6046_ has joined #openttd
19:25:25 <TrueBrain> https://user-images.githubusercontent.com/1663690/114767437-e9860980-9d67-11eb-83a8-45b00ed3fc15.png
19:25:47 *** Gustavo6046 has quit IRC (Read error: Connection reset by peer)
19:25:47 *** Gustavo6046_ is now known as Gustavo6046
19:26:04 <TrueBrain> (can't do the rounded rectangle company colour thing, so I left the label coloured for now :P)
19:26:17 <frosch123> "join"?
19:26:30 <frosch123> "leave" company?
19:26:44 <TrueBrain> If "join", no need for "leave"
19:26:45 <frosch123> or shall peopole click company, get the company gui, and use the buttons there?
19:26:58 <andythenorth> we might have to do a button grid or something
19:27:00 <andythenorth> actions table
19:27:11 <TrueBrain> but yeah, with icons this looks way better
19:27:19 <andythenorth> ping me if there's a PR or WASM build, I'll stare at it :P
19:27:53 <frosch123> maybe it's smarter to only show buttons that are often used :p
19:28:01 <frosch123> "give money" is rare, isn't it?
19:28:16 <frosch123> "join" is only needed when you are spectator
19:28:17 <TrueBrain> https://user-images.githubusercontent.com/1663690/114767749-500b2780-9d68-11eb-9649-d051e9feff24.png
19:28:25 <frosch123> "leave" would be a single button on your current company
19:28:35 <TrueBrain> I think "join" on all companies makes most sense
19:28:38 <TrueBrain> including spectator
19:28:44 <TrueBrain> as "leaving" is weird
19:28:54 <DorpsGek> [OpenTTD/OpenTTD] arjanvlek commented on issue #8967: Game crash during startup https://git.io/JYAmd
19:29:02 <frosch123> ok, just a button, or like a radiobutton?
19:29:09 <TrueBrain> radiobutton?
19:29:14 <frosch123> current membership lowered
19:29:16 *** Beerbelott has joined #openttd
19:29:30 <TrueBrain> that
19:29:34 <TrueBrain> or disabled for current company
19:29:40 <TrueBrain> bit tomato tomato to me
19:29:42 <andythenorth> if there are a lot of actions then ... with dropdown menu
19:29:46 <DorpsGek> [OpenTTD/OpenTTD] WimLeflere updated pull request #9038: Add test framework and some basic unit tests https://git.io/JOGUs
19:29:59 <TrueBrain> maybe 1 button for "admin" stuff
19:30:06 <TrueBrain> to make Kick / Ban less accidental
19:30:10 <TrueBrain> which gives you a dropdown
19:30:13 <frosch123> andythenorth: there is one common action, "chat". the rest is whatever :p
19:30:27 <andythenorth> so hide it on a ... or cog wheel * or something
19:30:30 <TrueBrain> we can make that if you click the company label, the Company window opens
19:30:36 <TrueBrain> means we can remove Give money and Join, I guess
19:30:48 <glx> kick and ban in the dropdown should not be in first options
19:30:48 <frosch123> sounds good
19:31:54 <TrueBrain> still leaves the admin stuff .. hmm
19:32:22 <frosch123> add an expand button like in the "economy window"?
19:32:28 <frosch123> show/hide admin stuff
19:33:25 <TrueBrain> in the top right corner you mean?
19:33:37 <frosch123> though you cannot mass kick people anyway, so a dropdown also works
19:34:03 <Beerbelott> Hello, I gave a spin to openttd under valgrind to check if everything was alright, and it found a lot of non-unallocated memory at the end of the run. A lot of it points to the allocation made by stredup in IConsoleCmdRegister: https://github.com/OpenTTD/OpenTTD/blob/3b3412d561e043f8d4859cd973299f94e3810288/src/console.cpp#L252
19:34:40 <frosch123> TrueBrain: economy has the button in the title bar. face window has a button inside the window
19:34:44 <TrueBrain> https://user-images.githubusercontent.com/1663690/114768492-34ece780-9d69-11eb-9e52-0028e9c1d854.png
19:34:55 <TrueBrain> the first blob is when you normally open the window, the second company when you press Admin
19:35:21 <TrueBrain> "Unlock" -> Remove company password
19:35:27 <TrueBrain> maybe also a "Delete"
19:35:41 <TrueBrain> as I hate that I have to delete companies via the console :P
19:36:27 <frosch123> Beerbelott: patch it to use std::string :)
19:36:37 <TrueBrain> meh, many things I would like to add, so a dropdown is easiest ..
19:37:45 <frosch123> Beerbelott: those strings are allocated only once, and reachable at run-time. they only leak on exit. so fixing it in C is not worth the effort. changing it to std::string may have other benefits
19:37:49 <TrueBrain> https://user-images.githubusercontent.com/1663690/114768789-a2007d00-9d69-11eb-9f77-5c0c856f293e.png <- for admins
19:37:54 <TrueBrain> other players don't see the "Admin" button
19:38:00 <TrueBrain> gives a dropdown list of things you can do
19:39:09 <frosch123> is there a "streamer mode" for hiding the "invite code"? :)
19:40:13 <TrueBrain> haha, that is a very valid point to make :D
19:41:00 <TrueBrain> those blobs on top will be with a line around the server/client part btw
19:41:04 <Beerbelott> frosch123: Well I'd be versed into the challenge of fixing that C-style :P
19:41:05 <TrueBrain> but I cannot mock that atm :)
19:41:25 <TrueBrain> so something like this: https://user-images.githubusercontent.com/1663690/114769173-23580f80-9d6a-11eb-815c-2b12896c44c1.png
19:41:38 <Beerbelott> 'cause best practices, right?
19:41:46 <spnda> that admin button looks..... very bad
19:41:55 <TrueBrain> I cannot change text colour, so yeah
19:42:06 <spnda> why not make the window 1 few pixels wider
19:42:09 <spnda> and put the admin stuff right there?
19:42:36 <TrueBrain> I do not understand what you say, sorry
19:44:11 <frosch123> spnda: truebrain uses a mock-up engine. that is not the real gui, the real gui would use regular ottd-style padding and spacing
19:44:21 <spnda> ahh
19:44:25 <spnda> I remember something HTML based right?
19:44:45 <TrueBrain> a simple NWidget -> HTML renderer, yes
19:44:53 <TrueBrain> but this is not so much about where-is-my-pixel
19:44:58 <TrueBrain> more about where-is-my-text :)
19:45:12 <spnda> wasn't my point
19:45:13 <spnda> see discord
19:45:49 <TrueBrain> yeah, your point we talked about earlier; adding all the admin buttons are too many buttons, basically
19:45:59 <TrueBrain> (chatting in 2 places, w00p :P)
19:46:22 <spnda> Is the admin button opening another window?
19:46:27 <TrueBrain> a dropdown, I think
19:46:30 <spnda> Or is it gonna be a dropdown with all other options?
19:46:31 <TrueBrain> but yes, that is another window
19:46:34 <TrueBrain> :P
19:46:41 <TrueBrain> but it feels like a dropdown
19:46:51 <spnda> Because what one could do, is have a few options that would fit and then the rest squashed into the dropdown, possibly?
19:47:07 <TrueBrain> not sure that helps for the look and feel
19:47:18 <TrueBrain> as mentioned earlier, in the end, chat is the only button that is used "often"
19:47:21 <TrueBrain> all the other stuff is very rare
19:47:41 <TrueBrain> even Join didn't make the cut 10 minutes ago :D
19:48:17 *** iSoSyS has joined #openttd
19:48:20 <spnda> Yeah well with that system one could add a resize button and if the user resizes it to be fullscreen it won't be just completely gray
19:48:50 <TrueBrain> sounds like a lot of trouble for very little usage
19:50:19 <glx> Beerbelott: btw I think _iconsole_cmds could move away of custom manually managed linked list ;)
19:50:48 <frosch123> i always get invitations to ui/ux talks from qt, shall i forward them to someone? :p
19:51:01 <TrueBrain> I vote for Xaroth
19:51:25 <Xaroth> Is there alcohol involved?
19:51:27 <peter1138> Has all my Small* crap gone yet?
19:51:38 <Xaroth> because I'm not going to survive a UI/UX talk without a serious amount of alcohol
19:52:33 <frosch123> also, tech talks with only male speakers are made worse by having a single women talking about a non-tech topic
19:52:36 <frosch123> (imo)
19:53:14 <Beerbelott> glx: Yeah, like a list, either single ou double linked ;)
19:53:36 <glx> a vector should be enough looking at the usage
19:55:04 <TrueBrain> okay, I think I will keep it with my last version I showed for now, the multiplayer GUI .. tons of stuff we can add and change later on
19:55:11 <TrueBrain> but at least it would already be a huge improvement :P
19:55:42 <glx> oh a set could also work
19:55:56 <TrueBrain> tnx a bunch frosch123 :) Good input :)
19:56:31 <TrueBrain> and I love my mockup thingy .. so much quicker/easier
19:56:35 <peter1138> tech talks where the women are only asked to talk about women in tech, rather than their own subject...
19:57:28 *** erle- has quit IRC (Quit: Leaving)
19:57:56 <peter1138> Can we have it so that you can't create a company without a password?
19:58:26 <TrueBrain> yes please
19:58:29 <TrueBrain> we need a multiplayer TODO list
19:59:19 <frosch123> peter1138: https://github.com/OpenTTD/OpenTTD/discussions/8420
20:03:03 * frosch123 looks at discussions, sees a post with many gui mockups, guesses the author correctly
20:03:43 <nielsm> btw I'd appreciate if anyone would take a deep look at my Help Window PR, it should be ready for review now https://github.com/OpenTTD/OpenTTD/pull/7786
20:07:32 <glx> Beerbelott: I have an idea on how to do it so I may try myself
20:13:24 <peter1138> Hmm, SmallMap still exists.
20:15:28 <Beerbelott> glx: I'm def not a developer, so you'll probably be quicker and your output will be better. But I'm giving it a try :P
20:16:12 <glx> yeah even if it doesn't end up included, it's a good way to learn things
20:17:36 <DorpsGek> [OpenTTD/OpenTTD] frosch123 commented on discussion #9010: OpenTTD Summit Idea (seriously) https://git.io/JOTVX
20:17:45 <frosch123> heh, that is new
20:18:25 <TrueBrain> I thought you would like it :D
20:29:44 <peter1138> typedef SmallMap<uint32, std::pair<size_t, const void *> > FontTable
20:29:45 <peter1138> Nice
20:30:13 <peter1138> That is a std::vector<std::pair<uint32, std::pair<size_t, const void *>>> :D
20:31:11 <frosch123> i knew a c programmer who used "uint32_t foo[16];", when he was too lazy to define a struct, and just casted everything to ints, including 32bit pointers
20:31:24 <frosch123> recently i learnt, there are people using std::tuple in a similar way
20:31:28 <peter1138> ^ hi!
20:32:03 <peter1138> My issue with the SmallMap class...
20:32:17 <peter1138> ... we also have an in-game small map :D
20:34:39 *** gnu_jj has joined #openttd
20:43:34 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
20:52:24 *** Progman has quit IRC (Remote host closed the connection)
20:53:39 <TrueBrain> so fix it already!
20:53:58 <milek7> hmm, only 10 downloads of winxp build :P
20:54:52 <DorpsGek> [OpenTTD/OpenTTD] michicc commented on pull request #9039: Fio rewrite https://git.io/JOGAS
21:00:18 *** gelignite has quit IRC (Quit: Stay safe!)
21:08:16 *** FLHerne has joined #openttd
21:08:50 *** FLHerne is now known as Guest1438
21:11:03 *** frosch123 has quit IRC (Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn)
21:11:15 <peter1138> milek7, how dare we stop it :)
21:13:01 <DorpsGek> [OpenTTD/OpenTTD] nielsmh updated pull request #7924: Feature: Water tiles have a depth https://git.io/JvfWw
21:16:23 *** Samu has quit IRC (Quit: Leaving)
21:19:21 *** jottyfan has quit IRC (Quit: jottyfan)
21:21:50 <nielsm> the most annoying change for rebasing is that our own min<> and max<> functions were removed and everything needs to be changed to use std::min and std::max
21:23:14 <Eddi|zuHause> nielsm: at least you don't have to update through the c->c++ move :p
21:27:54 *** Guest1438 is now known as FLHerne
21:29:53 *** sla_ro|master has quit IRC ()
21:31:17 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:35:38 <nielsm> decided it's just easier to do an interactive rebase stopping at every revision to try to compile it, and fix any errors then
21:37:25 <peter1138> At least you can usually just fix with an explicit <uint> or <int>
21:37:57 <nielsm> nah it's that call sites change from "foo = max(a, b)" to "foo = std::max(a, b)"
21:38:06 <nielsm> yes it's a simple stupid fixc
21:38:13 <peter1138> Eddi|zuHause, I do miss (vaguely) the days of being able to compile (from clean) in 12 seconds...
21:38:42 <peter1138> git merge action :D
21:40:49 <TrueBrain> now it takes 12 seconds to generate the squirrel files alone :P
21:40:56 <TrueBrain> the days that we just committed those in the repo ...
21:40:58 <TrueBrain> :D
21:41:06 <Eddi|zuHause> i was at 5 minutes to compile last time
21:41:21 <Eddi|zuHause> because LTO was single-threaded
21:41:46 <Eddi|zuHause> but i found the option to multithread it
21:42:51 <peter1138> Hmm, well, looks like I have a Linux machine to play with now.
21:43:22 <peter1138> My workplace are downsizing their office (i.e. they don't need it any more now we're all working from home) so the old PC at work is now here, at least for the moment.
21:44:04 <peter1138> Obviously the 3 Raspberry Pis, the laptop, and the music-room-studio PC don't count.
21:44:17 <peter1138> Why do I have so many computers?
21:44:53 <LordAro> peter1138: can confirm, was/is cold
21:44:59 <nielsm> https://github.com/OpenTTD/OpenTTD/tree/master/src/script/api/ai why is this file left over?
21:45:50 <nielsm> is it one that can't be generated?
21:46:06 <peter1138> LordAro, your ride finished hours ago, have you been hiding in a pub instead? :D
21:46:34 <peter1138> THIS YEAR
21:46:35 <peter1138> 130 / 13,000 km
21:46:35 <DorpsGek> [OpenTTD/OpenTTD] nielsmh updated pull request #7924: Feature: Water tiles have a depth https://git.io/JvfWw
21:46:53 <peter1138> Cool, mid-April and I'm 1% into my target from 2019.
21:48:09 *** iSoSyS has quit IRC ()
21:51:18 <LordAro> peter1138: yes.
21:52:26 <LordAro> peter1138: also, similarly, i am currently ~1000mi behind my target
21:53:07 <peter1138> Main issue currently is saddle-soreness. I've gone soft...
21:53:28 <peter1138> I might try getting the old Brooks out, see if that helps.
21:54:03 <peter1138> A well broken in leather saddle should be good compared some modern composite type.
21:54:37 <peter1138> (A standard saddle, not *only* composite)
21:58:27 <Timberwolf> Making station buildings is slow going. https://i.imgur.com/R8xAJW8.png
22:01:51 <peter1138> Looks good though.
22:02:04 <peter1138> Does NML support it now?
22:02:39 <Timberwolf> Don't think so, all my stuff is NFO at least.
22:02:50 <peter1138> Ah, ok
22:02:51 <Timberwolf> Well, NFO generated by a very badly hard-coded Go program.
22:03:46 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on pull request #7924: Feature: Water tiles have a depth https://git.io/JOZJ1
22:08:41 <peter1138> Alright, how do I check out a PR again? :p
22:09:22 <nielsm> I always end up adding the author's fork as a remote, fetching that, and checking out the branch from there
22:09:29 <andythenorth> oof sleeping time
22:09:36 <FLHerne> Timberwolf: I think the hope was that you'd invent NML stations as part of this project, now we have to wait for the next person :p
22:09:46 <andythenorth> we what now?
22:10:04 <nielsm> (git remote add nielsmh https://github.com/nielsmh/OpenTTD.gif && git fetch nielsmh && git checkout -t nielsmh/deepwater)
22:10:24 <nielsm> also it's called .git and not .gif
22:10:25 <peter1138> vs code github plugin did it.
22:10:31 <nielsm> cheater
22:10:32 <LordAro> there is a way to checkout out a remote directly
22:10:39 <nielsm> I know there is
22:10:39 <LordAro> but i'd have to google it
22:10:44 <nielsm> and it involves a really weird path
22:11:02 <nielsm> that's not advertised anywhere except deep in some documentation that's impossible to find
22:11:04 <glx> <nielsm> is it one that can't be generated? <-- yes, it contains handcrafted stuff
22:11:20 <FLHerne> andythenorth: One day someone wanting to make a station set will decide to add NML support rather than their own custom thing?
22:11:39 <FLHerne> I suppose part of the problem is that NML isn't good enough, so you need the custom thing anyway
22:11:49 <FLHerne> to generate NML
22:11:57 <FLHerne> and then you might as well generate NFO really
22:12:00 <peter1138> Would normal (industry/house-tile-like) Action 3/2/1 support make it easier? :p
22:12:42 <peter1138> (I hope that's what spnda's gone for)
22:12:48 <glx> yeah main issue is station spec itself
22:12:57 <glx> it doesn't follow the rule
22:13:06 <peter1138> arrays and things, yes.
22:13:21 <peter1138> The station layouts are "okay"
22:13:26 <spnda> peter1138: I have calculated it in, but haven't exactly switched to the industry/industry-tile system.
22:13:30 <andythenorth> my station set is a bunch of GRM magic that yexo wrote :)
22:13:39 <peter1138> The station tile layouts are a pain, though.
22:13:50 <andythenorth> everything is templated, I just change things in CPP defines and cross my fingers
22:13:57 <andythenorth> no idea what the actual spec is :)
22:14:30 <peter1138> spnda, so station-spec style of definition, or just is it just sprite replacements?
22:15:07 <spnda> Right now it's basically sprite replacement, with some variables, cargo awareness and random bits
22:15:12 <peter1138> For newgrf docks I went with the "standard" system.
22:15:50 <peter1138> Sea floor erosion speed: Medium
22:16:34 <peter1138> nielsm, what's a smooth gradient? 1 depth for 1 tile?
22:16:50 <nielsm> peter1138 yes
22:17:26 <peter1138> Ooh, weird map gen
22:17:30 <nielsm> since I was too lazy to make a filter larger than 3x3
22:18:41 <andythenorth> goes it throw out FIRS? https://www.reddit.com/r/openttd/comments/mq789w/confusion_with_secondary_industries_in_firs/
22:18:43 <andythenorth> oof
22:19:02 <andythenorth> unplayable due to lack of detailed internal information
22:19:04 <nielsm> and yes I noticed TGP already did have depth on the tiles that become water, but the data was thrown out so just made it use it instead
22:19:51 <peter1138> How do I show depth?
22:20:10 <peter1138> Oh, I'm in RelWithDebInfo. Never mind.
22:20:12 <nielsm> there's links to GRF files somewhere in the discussion
22:20:23 <nielsm> or yes use a debug build
22:20:52 <nielsm> https://www.tt-forums.net/viewtopic.php?f=33&t=86559&start=20
22:21:00 <nielsm> there should be some GRFs there
22:21:09 <nielsm> and they should be loadable as static
22:21:22 *** azulcosta has joined #openttd
22:21:36 <azulcosta> hello
22:22:30 <nielsm> hello, I think most of us are on the way to bed
22:22:33 <peter1138> Hmm, assert in TileAdd
22:22:33 <azulcosta> while making a multiple unit train, with 16 vehicles, why do i need to put all power and all consist weight in the first vehicle ?
22:22:36 <nielsm> I certainly should have been an hour ago
22:22:56 <andythenorth> same
22:22:57 <andythenorth> oof
22:23:13 <azulcosta> i don't want to use double-headed, but insted divide the entire train power to it's motor vehicles....
22:23:20 <peter1138> assert(TileXY(x, y) == TILE_MASK(tile + add));
22:23:22 <peter1138> Hm.
22:23:59 <andythenorth> azulcosta this is a single vehicle?
22:24:05 <andythenorth> articulated?
22:24:09 <azulcosta> it's an EMU
22:24:17 <azulcosta> articulated, yep
22:24:18 <andythenorth> weight is per vehicle afaik
22:24:29 <peter1138> ConvertGroundTilesIntoWaterTiles() blew up.
22:25:00 <andythenorth> hmm grf spec says articulated parts weight should be 0
22:25:04 <andythenorth> that's a thing?
22:26:03 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:26:11 <azulcosta> well, i understand that, my question was to power value also...
22:26:47 <azulcosta> damn it... set to 0 too
22:27:01 <andythenorth> ok so articulated parts weight should be 0
22:27:06 <andythenorth> my code doesn't do that but eh
22:27:10 <andythenorth> seems fine
22:27:18 <azulcosta> and power also zero...
22:27:23 <andythenorth> yes
22:27:39 <azulcosta> ok, i'll live with that.. thanks
22:27:50 <azulcosta> cheers
22:28:08 <azulcosta> one last question
22:28:29 <azulcosta> is there any FIRS 32bpp pack on the way ?
22:28:34 <andythenorth> absolutely never
22:28:38 <andythenorth> nor extra zoom
22:28:45 <peter1138> They're all 32bpp on my screen.
22:28:59 <azulcosta> extra 4x zoom
22:29:19 <andythenorth> never happening
22:29:29 <azulcosta> ok. thanks
22:29:30 <peter1138> 4x zoom is good to see pixels
22:29:32 <andythenorth> 4x extra zoom is a big mistake, I blame peter1138 :)
22:29:41 <andythenorth> whose fault did we agree it was in the end?
22:29:42 <peter1138> Me too :(
22:29:43 <andythenorth> mine?
22:29:47 <andythenorth> pikka's?
22:29:54 <peter1138> The current version of EZ is, indeed, my fault.
22:29:59 <andythenorth> blame pikka, not here to defend
22:30:09 <nielsm> https://0x0.st/-ArF.jpg this does look kinda nice
22:30:38 <andythenorth> is that some shader tricks nielsm ?
22:30:42 <andythenorth> or painted sprites?
22:30:54 <peter1138> It's black ink on his screen.
22:31:03 * andythenorth considers 32bpp Horse, but using a 512 colour palette
22:31:03 *** gnu_jj has joined #openttd
22:31:04 <nielsm> just the opengfx water sprite edited to make 15 darker versions
22:31:18 <nielsm> so 32bpp without animation
22:31:33 <peter1138> andythenorth, 32bpp with a custom palette is a perfectly thing.
22:31:33 * andythenorth considers even a 256 colour palette, but a useful one
22:31:38 <andythenorth> perfectly thing
22:31:57 <peter1138> I wonder if dementia is calling.
22:32:03 <peter1138> perfectly acceptable thing.
22:32:12 <andythenorth> I think the first version was fine
22:32:20 <azulcosta> one last question
22:32:25 <peter1138> nielsm, well, my debug build crashes, so :(
22:32:26 <andythenorth> the pinks and the water cycle waste 25 palette indexes
22:32:37 <andythenorth> but how will I do water-carrying trains!
22:32:38 <andythenorth> ??
22:32:39 <azulcosta> is there any way we can get orange color, using company color mask ?
22:32:40 <spnda> but muh pinks
22:32:43 <nielsm> peter1138 I wonder how you manage that, I don't remember getting crashes like that at all
22:32:46 <nielsm> anyway, sleep
22:32:47 <nielsm> gn
22:32:52 <andythenorth> azulcosta ?
22:33:41 <azulcosta> it's sad we cannot have costumized true orange color in company colors, because the color pallette of the game
22:34:03 <andythenorth> looks orange to me :)
22:34:30 <peter1138> Tee Hee Hee
22:34:33 <peter1138> Guess what's coming...
22:34:40 <andythenorth> I can guess
22:37:12 <andythenorth> failing to sleep due to watching Gerald https://www.youtube.com/watch?v=sfKzHpsQkxo
22:37:18 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
22:38:04 <peter1138> https://fuzzle.org/~petern/ottd/colours.gif
22:38:07 *** WormnestAndroid has joined #openttd
22:38:09 <peter1138> Oh, that's dizzying
22:38:17 <peter1138> Last frame, damn./
22:38:34 <andythenorth> it's in time with the music on this YT video
22:38:44 <andythenorth> actually right on the beat
22:38:50 <andythenorth> how the fuck did you do that :o
22:39:09 <peter1138> Probably 1 second per frame, which will match 120 bpm, which is fairly common.
22:39:18 <peter1138> Well, 60 bpm
22:39:28 <peter1138> Actually it's less, maybe 1/2 second per frame
22:39:32 <peter1138> Which does match 120...
22:39:35 <andythenorth> and you've got 4/4
22:39:48 <peter1138> Beautiful.
22:39:49 <azulcosta> orange company color! oh dear! it's a miracle!
22:40:19 <peter1138> https://fuzzle.org/~petern/ottd/ez.png
22:40:24 <peter1138> Early version of extra zoom ;-)
22:40:48 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:40:51 *** snail_UES_ has quit IRC (Quit: snail_UES_)
22:40:58 <azulcosta> and black too!
22:41:16 <peter1138> https://fuzzle.org/~petern/ottd/pikka.png
22:41:29 <peter1138> I think that gif was from the more-cc patch.
22:41:37 <peter1138> But this one is from the rgb-cc patch.
22:41:53 <peter1138> Somehow I managed to pick dayglo orange.
22:42:14 <peter1138> Also that's from 8 years ago. Where has time gone?
22:42:38 <peter1138> I was still using 1x gui...
22:43:43 <spnda> *still uses 1x gui
22:44:11 <peter1138> For some, it's showing off about having a retina screen.
22:44:20 <peter1138> For me, it's just because my eyes are old...
22:44:36 <andythenorth> I like to be able to...see the game
22:44:48 <peter1138> I do, unless it's 32bpp.
22:45:02 <spnda> pro tip: don't use 32bpp or extra zoom
22:45:11 <andythenorth> double size UI ftw
22:45:32 <andythenorth> ok Pacers are done, sleeping time
22:45:37 <andythenorth> do it all again tomorrow
22:45:45 *** andythenorth has quit IRC (Quit: andythenorth)
22:46:27 <peter1138> spnda, that's not a pro-tip, that's gatekeeping.
22:46:46 <peter1138> 32bpp doesn't need to suck.
22:47:38 <spnda> no 32bpp doesn't, I've used it before aswell. Extra zoom sucks big time though, just doesn't fit into the game. But not here to start another discussion why and why not...
22:49:50 <Timberwolf> I believe the phrase is "I personally dislike"...
22:50:20 <spnda> probably something along those lines yes
22:50:25 <peter1138> I think this branch might as well just be rewritten.
22:51:24 <azulcosta> do not ever remove the 4x zoom
22:51:43 <azulcosta> i love-it and i'm making my vehicles all in that resolution 32bpp
22:54:39 *** natmac[m] has quit IRC ()
23:02:28 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
23:03:32 *** WormnestAndroid has joined #openttd
23:04:06 *** azulcosta has quit IRC (Quit: Page closed)
23:09:02 <peter1138> >>>>>>> 0e35d370e (Change: Add RGB presets)
23:09:07 <peter1138> Nooo
23:09:12 <peter1138> Successfully rebased and updated refs/heads/rgb.
23:09:17 <peter1138> It isn't going to compile, mind you.
23:14:54 <milek7> hmm, shoving encryption between NetworkGameSocketHandler and NetworkTCPSocketHandler isn't very clean either, as NetworkTCPSocketHandler already deals with Packets
23:15:28 <milek7> and as ciphertext needs to be encapsulated with extra data, this agains brings Packet MTU issues