IRC logs for #openttd on OFTC at 2023-06-20
⏴ go to previous day
00:01:28 <glx[d]> ShowBuildRailToolbar() checks _local_company, but ValParamRailtype() tests _current_company
02:23:16 *** k-man has quit IRC (Ping timeout: 480 seconds)
02:23:16 *** k-man_ is now known as k-man
02:44:47 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:19:58 *** D-HUND is now known as debdog
03:29:58 *** k-man__ has joined #openttd
03:35:42 *** k-man has quit IRC (Ping timeout: 480 seconds)
03:35:42 *** k-man__ is now known as k-man
03:37:11 *** k-man_ has quit IRC (Ping timeout: 480 seconds)
03:51:40 *** argoneus has quit IRC (Quit: Ping timeout (120 seconds))
03:51:45 *** argoneus has joined #openttd
04:04:21 <pickpacket> As I noted last night OpenGFX has two different png files with AsiaStar sprites. You know what? They don't look the same :D
04:15:31 *** tokai|noir has joined #openttd
04:15:31 *** ChanServ sets mode: +v tokai|noir
04:22:42 *** tokai has quit IRC (Ping timeout: 480 seconds)
04:32:10 <pickpacket> Yay! I got all the sprites aligned properly! :D
04:33:13 <debdog> Sprite! – better than Coke
04:35:32 <pickpacket> two part engine = *eight* sprites to align
05:09:03 *** m1cr0m4n has joined #openttd
05:09:18 *** m1cr0man has quit IRC (Ping timeout: 480 seconds)
05:15:33 <pickpacket> I might finish this NewGRF today, with any luck
05:16:07 <pickpacket> I've decided to call it "AsiaStar Redux" and the new models will be "AsiaStar 2k" and "AsiaStar X"
05:26:27 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:24:46 <petern> Sucks that OpenGFX has wrong alignment for vehicle sprites.
06:33:00 <TallTyler> We just need Someone (tm) to fix it
06:33:35 <petern> Yup. I seem to remember I looked at the templates once but didn't get very far.
07:15:35 <andythenorth> JGR: Iron Horse 3.1.0 requires OpenTTD >= 13.1 (due to name callback), does Bananas apply the same constraint to JGRPP?
07:15:47 * andythenorth has no picture of how this works :P
07:19:56 <EmperorJake> JGRPP reports itself as 13.0, therefore IH3 is unavailable there
07:20:17 <EmperorJake> I just used the steam nightly to download it instead
07:38:26 <zephyris> petern: I think I've got that fixed in OpenGFX2
07:42:47 <petern> Nice. I'm guessing at some point it seemed like a good idea to do the offsets as they are, but it kinda broke compatibility with things 🙂
07:45:08 <zephyris> Fingers crossed I got it right though! I did back calculate from the original sprites to make a template...
07:45:51 <petern> Are you doing extra zoom stuff as well?
07:46:03 <petern> If so you have the added difficulty of 31 != 127
07:48:00 <zephyris> Yeah, well at least an extra zoom option. Priority is a better normal zoom set, which is pretty much done.
07:48:32 <zephyris> I suspect there will be a lot of 'off by one' errors in the zoom sensitive templates.
08:08:45 <JGR> andythenorth: It's not the callback per se that is the problem, it's the use of train property 31 "extra callback flags"
08:09:19 <petern> Yes. But you're making a NewGRF so you can use the vertical offset control to fix it.
08:09:39 <JGR> Ideally NML would be able to to put an action 7 round it
08:09:43 <pickpacket> I mean... I've adapted all my sprite alignments for trains and carriages to match the OpenGFX ones and it never looked wrong to me. If the OpenGFX sprites are misaligned I don't know how to handle that in my NewGRFs 🤔
08:10:11 <JGR> I will bump the advertised vanilla version for my branch in the next release
08:10:13 <pickpacket> how *should* the alignments look?
08:10:45 <JGR> Usually there aren't any notable GRF changes in stable point releases
08:13:23 <petern> Well, original graphics on the left, OpenGFX on the right.
08:17:49 <zephyris> pickpacket: Easiest to copy original graphics sprite sizes and offsets. Otherwise, a strategy is to check them compared to the original graphics. Eg. code a rail wagon and get it pulled by an original engine. Or, set up a queue of original and new road vehicles. Check it all looks tidy
08:18:31 <petern> zephyris: for many players, OpenGFX is now "original" 🙂
08:18:57 <petern> (Yes, I realised I used the same term)
08:19:05 <zephyris> Hah, true. That's why I want to imrpove it!
08:20:28 <CK2347> I don't know about others but I like opengfx more than the original graphics
08:23:59 <petern> Whoever flagged the original change for backport... I dunno 😉
08:24:13 <LordAro> CK2347: there's very much a dividing line of "those who started out playing TTD (or early OTTD)" vs "those who started playing OTTD from 1.0
08:24:22 <zephyris> CK2347: Very flattering, but as the guy who drew huge chunks of OpenGFX I disagree!
08:27:04 <CK2347> I never had access to original graphics so opengfx is pretty much what I have seen
08:27:23 <CK2347> Yeah just iterating aro's point
08:28:02 <CK2347> I will try this out then
08:29:17 <petern> LordAro, with this bug it highlights to me that maybe we need to be more careful about when GUI things happen.
08:30:13 <petern> This one is called from inside StateGameLoop, where _current_company is forced to be OWNER_NONE for multiplayer compatibility.
08:31:11 <petern> 11044 is a workaround, imho, as even if the action is unintended, it should still have been successful.
08:31:42 <petern> Workaround is not the right word. It is correct, but hides the underlying issue by just avoiding it.
08:33:21 <petern> I'm not sure if the issue is opening windows when _current_company != _local_company, or maybe the issue is the rail tool bar window assuming that _current_company == _local_company.
08:35:20 <zephyris> CK2347: There are bugs... And thing's I'd still like to improve (particularly docks!)... but it works.
08:38:23 <petern> The fault might just lie with ShowBuildRailToolbar using ValParamRailType() when it's originally meant to be called to validate command parameters.
08:54:31 <TrueBrain> I had more thoughts about the shittyness called eints dependencies 😛
08:54:45 <TrueBrain> embedding bottle in the same folder as the rest of the source is just ... not the best choice 🙂
08:55:04 <LordAro> does it still use tabs for indentation? :p
08:58:30 <TrueBrain> and yeah, I also realised that we now select settings and folders in the GitHub workflow .. we should move them to a pyproject.toml or something, so locally you can just run `black` too, without worrying about anything
08:58:37 <TrueBrain> but .. let's first get things migrated, before making things pretty 😄
08:59:12 <petern> Okay, 1) fucking flies in my house, wtf... 2) why do they LAND ON MY MONITORS
08:59:22 <LordAro> nice glowy warm thing
09:06:35 <pickpacket> zephyris: I'll have to try it. Just like CK2347 I don't have access to original graphics.
09:07:08 <pickpacket> When I've fixed sprite alignment it looks right everywhere but the menu, though.
09:09:53 <LordAro> zephyris: ooh, this is very nice
09:10:04 <LordAro> probably because it's much more reminiscent of the OG graphics :D
09:12:48 <TrueBrain> owh, right, eints is one of those places that still requires a PAT into the organisation, for reading teams .. that is solved by now, and it could be done another way .. but .. brr, something something "time"
09:23:38 <TrueBrain> lol .. permission problems pushing new images to the container registry ... what is it this time ...
09:29:43 <zephyris> LordAro: It's reminiscent of good graphics 😜 The town buildings are a prominent change, but really the main change is contrast. It's really obvious if you take a screenshot and make it black and white.
09:38:22 *** Gadg8eer[m] has joined #openttd
09:38:22 <Gadg8eer[m]> @Zephyris Looks good so far. There's a white bar on the Metropolitan airport though.
09:38:36 <Gadg8eer[m]> I'm using JGRPP 0.54.2
09:38:42 <LordAro> Gadg8eer[m]: it's literally "0.1 alpha" :p
09:39:04 <Gadg8eer[m]> LordAro: Fair enough! ^_^
09:39:33 <petern> As it's in GitHub now, that's a good place to report issues
09:39:50 <zephyris> Gadg8eer[m]: Bug reports _always_ welcome!
09:39:54 <petern> Means they don't get lost in the immediacy of realtime chat.
09:40:13 <Gadg8eer[m]> Ah. Alright, I'm on it.
09:43:54 <pickpacket> but but but... my new AsiaStar trains don't match that set! My goods wagons for tea are a bit different from those goods wagons too. But your wagons look *nice*
09:44:02 <pickpacket> contrast makes a big difference
09:44:19 <LordAro> aah, i accidentally selected abase
09:44:34 <TrueBrain> please don't do that again
09:44:57 <Rubidium_> LordAro: please undownload that :D
09:47:29 <TrueBrain> okay ... eints works in preview .. that was surprisingly less work than I was anticipating .. 😄
10:06:34 <TrueBrain> meh; ran out of memory in the cluster .. so time to double the memory 🙂
10:07:27 <TrueBrain> cluster memory always goes from: "will it fit?" to "this fits easily" in a single step .. AWS EC2s double in memory every step you go upwards 😛
10:08:24 *** DorpsGek has joined #openttd
10:08:24 *** ChanServ sets mode: +o DorpsGek
10:12:59 <petern> Urgh, game servers that eat 100% CPU when just sat there with no players.
10:19:23 <zephyris> Gadg8eer[m]: Fixed. Good bug report 🙂
10:19:33 *** gelignite has joined #openttd
10:22:16 <Gadg8eer[m]> zephyris: Thanks!
10:35:12 <orudge> TrueBrain: Have re-accepted the Apple licence agreement, so tonight's nightly should work
10:35:44 <TrueBrain> Didn't even know it failed, but good, appreciated 🙂
10:37:59 <Gadg8eer[m]> I know you guys might not care much after how much trouble, but I was going to send this apology/request to Owen Rudge to see if I could get unbanned from TT-Forums... Let's just say I was "under the influence" for 6 years straight (2017-2023) because of my quack of a psychiatrist and only got that fixed within the last few months... (full message at <https://matrix.org/_matrix/media/v3/download/matrix.org/wBWCsBltxNrjXYMFOKxhGlyT>)
10:38:12 <Gadg8eer[m]> * much trouble I caused, but
10:39:12 <Gadg8eer[m]> The point is that Owen banned me from the forums just for insisting Erato tell me something that I was RIGHT to question.
10:39:53 <petern> That's not really how asking for "forgiveness" works, to be honest.
10:39:54 <Gadg8eer[m]> For everything else, however, all I can say is that you all shouldn't have had to put up with any of it.
10:40:17 <orudge> I think you were banned from the forums because, ultimately, everybody was fed up with all the drama. But I don't know that this is exactly the best place to discuss it.
10:40:40 <petern> I don't know anything about this, but yes, this doesn't seem like the place.
10:41:02 <Gadg8eer[m]> I'm not asking for forgiveness, however. I'm asking for a chance to prove that my f-ed up meds were the reason for the drama. But I'll shut up now.
10:41:43 <Gadg8eer[m]> Aside from that, I literally can't code without the forums.
10:44:46 <Gadg8eer[m]> I'll just send the email tomorrow. Now for something completely different...
10:46:04 * orudge wonders if the penny will drop
10:49:04 <Gadg8eer[m]> ...that's about it. Good night.
10:49:36 <Gadg8eer[m]> s/TracktypeLabels/Standardized_Roadtype_Scheme/
11:18:03 <TrueBrain> right, time to switch over eints to the new infra; and as this needs some syncing of data, the translator will be unavailable for a few minutes. Let's see if anyone notices 😄
11:25:32 <TrueBrain> k, all back online again .. seems to have worked out just fine 🙂
11:25:41 <TrueBrain> now time to fix the workflows 😄
11:26:17 <Gadg8eer[m]> TrueBrain: 7 minutes? I just finished brushing my teeth in that time, that was fast.
11:28:41 <petern> TrueBrain undervalues himself because everything he does takes about 5 minutes.
11:29:19 <TrueBrain> I said "few minutes" .. 😛
11:30:03 <TrueBrain> hmm, seems we need to switch to GitHub's ruleset for branch protections .. let's see how they actually work
11:37:29 <TrueBrain> awh, you can define rulesets orginization-wide, but you need Enterprise to actually activate them .. as that would mean you can just make a single ruleset to apply to all repositories, and not have to do the same thing for every .. (rulesets == branch protections)
11:38:02 <petern> I understand saving features for paying customers.
11:41:52 <petern> Hmm, the commit graph of my local mirror of OpenTTD is a bit weird.
11:42:05 <TrueBrain> `E_TOO_MANY_BRANCHES`?
11:42:29 <petern> It only includes the release branches
11:42:43 <petern> But it does include commits of PRs somehow.
11:43:36 <petern> And those pull links don't go anywhere.
11:44:29 *** gelignite has quit IRC (Quit: Stay safe!)
11:44:58 <TrueBrain> there is a `pull/<id>/head` ref on GitHub that points to every PR
11:45:02 <TrueBrain> maybe it is seeing those? Dunno
11:47:05 <petern> Ah, it's possible to set up as an external issue tracker.
11:47:39 <petern> It is probably seeing them, but it doesn't show it.
11:48:30 <petern> Anyway, no real need to have this, just thought I'd try it 🙂
11:48:57 <TrueBrain> I never understood the use of commit graphs in git; lot of old colleagues always used them, but I never understood for what
11:49:54 <TrueBrain> a 5 month old PR hiding in this repository .. lol
11:50:46 <Eddi|zuHause> 5 months means it's well-tested.
12:24:46 <TrueBrain> lol ... so syncing with eints is a bit problematic .. as we never actually did a proper job there on how we send HTTP calls back and forth .. and now Cloudflare is, rightfully: this smells fishy
12:24:52 <TrueBrain> and denies the access 😄
12:33:08 <petern> I dunno, I tend to look at commit graph in VS Code mainly to see my own branches and how far behind they are.
12:33:14 <petern> But just listing branches is probably enough.
12:39:26 <TrueBrain> okay, we use a multipart/form-data with no actual form-data in it ... and Cloudflare is having none of it 😛
12:46:32 <Eddi|zuHause> so you first have to fix eints?
12:47:17 <TrueBrain> nah, I just added an exception to Cloudflare; but over time, we really need to tackle these quirks with eints .. it has many more 🙂
12:58:50 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
13:22:10 <TrueBrain> @glx (and others): I am migrating Branch Protection rules on GitHub to Rulesets. They are basically the same, but an App can bypass everything with Rulesets, not with Branch Protections 🙂 And eints push needs to bypass everything 😛
13:36:05 <TrueBrain> I need an actual review on ^^, as a second pair of eyes on it would really help 🙂
13:36:36 <TrueBrain> it is also running, to check if it actually works 😄
13:38:20 <TrueBrain> okay, eints commit worked, but it is not reported on Discord .. hmm
13:41:33 <TrueBrain> this change also means admins can no longer force a pull-request in 😛 Well, not without extra effort, at least 🙂
13:48:34 *** Extrems has quit IRC (Ping timeout: 480 seconds)
14:06:55 *** keikoz has quit IRC (Ping timeout: 480 seconds)
14:28:08 <TrueBrain> hmm ... eints commits still don't show up ... that is odd
14:32:51 <TrueBrain> I wonder if it is YAML being a bitch .. hmmm
14:34:52 <TrueBrain> worst part, not the first time ..... we had the same issue with dependabot in the other repos 😛
14:34:57 <TrueBrain> so I should have known ....
14:39:00 *** Extrems has joined #openttd
15:07:34 <pickpacket> I don't like the X... I like the 2K, because it's just a small but very noticeable change from the original
15:08:35 <pickpacket> Of course I used the original from *one* of the AsiaStar sprites in OpenGFX, which is longer and nicer than the one OpenGFX actually uses
15:08:50 <pickpacket> jfs-: I'm calling it AsiaStar Redux so far
15:09:09 <pickpacket> but... I'm not happy about the X... Not sure what to do with it, though
15:09:18 <jfs-> an idea to make it more visually distinct would be to add "fins" up the pantograph for the highest speed version, at least some Shinkansen models do that presumably to improve aerodynamics
15:10:01 <pickpacket> hmm. That's an idea.
15:10:34 <pickpacket> I was thinking putting a lightning on the side of it, but if livery matches the lightning colour it'll just blend in
15:12:54 <pickpacket> not sure how to do that from all the different perspectives 😅
15:19:15 <EmperorJake> You could look at how JP+ Shinkansen does it
15:40:13 *** HerzogDeXtEr has joined #openttd
15:40:27 <pickpacket> Not sure I want to care about livery, tbh
15:40:32 <LordAro> TallTyler: what is #11040 waiting on exactly?
15:40:46 <LordAro> we can fix the commit message on merge if needed
15:51:59 <jfs-> could I ask someone to look at #7786 soon? I'm quite sure it's feature complete now, only has one outstanding question about locating the documentation files on non-windows systems, and I'm not sure how to approach that best.
15:51:59 <jfs-> I can't really follow the installer/packager logic to figure out where the files actually get placed, if anywhere at all
16:51:11 *** tokai|noir has quit IRC (Quit: c('~' )o)
16:54:09 *** gelignite has joined #openttd
16:54:16 <DorpsGek> - Update: Translations from eints (by translators)
16:55:34 <glx[d]> using printf and secrets
16:55:43 <TrueBrain> yeah, was existing code
16:55:51 <TrueBrain> no clue why it was a printf
16:56:00 <glx[d]> at least it goes in a file
16:56:16 <TrueBrain> many things about eints are weird, when it comes to administration part 🙂
16:56:31 <TrueBrain> but I have been wondering if we can write a new eints based on Cloudflare D1 .. that would be fun 😛
16:56:44 <TrueBrain> frosch will like it .. D1 is just sqlite 🙂
16:57:17 <glx[d]> frosch started some cleaning locally IIRC
16:57:39 <TrueBrain> yeah, he was looking into making the storage backend into sqlite
16:57:49 <TrueBrain> the current storage backend is a bit silly .. and a bit big 😛
16:58:44 <TrueBrain> but eints ... the scripts to get things in and out of it, are 1500+ lines of code ..
16:59:03 <glx[d]> I like the move from checkout everything then push everything to checkout then push one at a time
16:59:24 <TrueBrain> yeah, a lot easier to see what is going on too .. and using GitHub Apps to push, instead of PAT \o/
17:02:27 <TrueBrain> tomorrow or so I hope to pick up the rest of those workflows in there .. I realised a good way to make sure we never have to resume the workflows anymore 😛
17:03:08 <TrueBrain> as I think I will make the cdn-generator output in another branch the whole structure of the CDN and all the index files etc
17:03:12 <TrueBrain> so every night that will change 🙂
17:03:22 <glx[d]> if I followed all the PRs, running eints is now aware of {COLOUR}
17:04:04 <glx[d]> though I could just check the docs in translator site
17:04:26 <TrueBrain> 🙂 At least everything is now in production; so if it isn't working, it requires a code-change 😛
17:05:14 <TrueBrain> and I guess eints schedule should still kick in today, so we can see if that also works on a schedule 🙂 It should, but .. yeah .. who knows 😄
17:07:50 <glx[d]> but it should be fine this time
17:08:23 <glx[d]> things were changed in the right order
17:09:08 <TrueBrain> 22 services are running on the new cluster .. 5 left to migrate (all multiplayer-related)
17:29:53 *** Eddi|zuHause has quit IRC (Remote host closed the connection)
17:33:52 *** Eddi|zuHause has joined #openttd
17:45:55 <TallTyler> LordAro: Yeah, just that
17:48:19 <jfs-> glx22viaGitHub: I'm getting a compile error after #10687 was merged
17:48:19 <jfs-> C:\Users\nielsm\Dev\OpenTTD\src\strings.cpp(1628): error C2660: 'StringParameters::GetInt32': function does not take 1 arguments
17:48:19 <jfs-> C:\Users\nielsm\Dev\OpenTTD\src\strings_internal.h(91): note: see declaration of 'StringParameters::GetInt32'
17:48:19 <jfs-> C:\Users\nielsm\Dev\OpenTTD\src\strings.cpp(1628): note: while trying to match the argument list '(StringControlCode)'
17:48:59 *** Eddi|zuHause has quit IRC (Remote host closed the connection)
17:49:04 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
17:51:43 *** HerzogDeXtEr has joined #openttd
17:55:26 *** Eddi|zuHause has joined #openttd
17:58:34 <glx[d]> the change happened between approve and merge
18:06:51 <Rubidium_> oh fun... my PR gets built on top of HEAD@master even when you did not use that revision. No wonder I couldn't figure out why it compiled for me and everything failed at the CI side of things
18:07:21 <Rubidium_> glx[d]: are you able to make a PR for that?
18:10:58 <petern> Is libsdl statically linked with the generic binaries?
18:12:02 <TrueBrain> no, it collects all libraries and puts them in the `lib/` folder
18:12:46 <petern> I only have libfluidsynth, libglib, libgomp, libgthread and libpcre under lib/
18:13:23 <TrueBrain> which most likely means it doesn't pick up on things like alsa, pulseaudio, etc
18:13:31 <TrueBrain> I remember SDL does something different when done static vs dynamic
18:14:00 <TrueBrain> so possibly we should not install the static version of sdl .. either way, need a test-machine to work on that 😛
18:18:48 <TrueBrain> I know who wrote that comment .. I will now sit in the corner over here okay? 🙂
18:39:04 <DorpsGek> - Update: Translations from eints (by translators)
18:40:55 <TrueBrain> look mom, it works! 🙂
18:41:10 <TrueBrain> including people actually able to make changes 😄
18:48:51 <petern> Hmm, how does a build failure get through the CI? 😄
18:49:30 <michi_cc[d]> More importantly, why did regression_stationlist fail for one single target?
18:50:13 <TrueBrain> petern: 2 merges without conflicts 🙂
18:50:26 <TrueBrain> we could enforce that you can only merge PRs if they are rebased, but boy ... then we really have to kick out mingw 😛
18:51:12 <TrueBrain> (given it now happened once ... I doubt that is worth the many times we profited of not doing that :P)
18:52:33 <TrueBrain> it is just really unlucky 😛
18:52:34 <LordAro> gitlab has a thing called merge trains
18:52:45 <LordAro> it's quite good for this sort of situation
18:52:46 <TrueBrain> what are the odds, is a better way of putting it 😛
18:53:06 <TrueBrain> LordAro: called Merge Queue in OpenTTD
18:54:35 <TrueBrain> but for that too, I would argue, that MingW (and CodeQL) are a terrible target to have 😛
18:55:10 <TrueBrain> for paid customers it is easier btw .. as there you just pay for the GitHub Runner usage, meaning there is a much higher cap on how many jobs can run at the same time 🙂
18:55:29 <TrueBrain> it really is a "we don't want to pay for this" issue 😄
18:55:51 <TrueBrain> but yeah, merge queues/trains are nice solutions for busy branches 🙂
18:56:45 <TrueBrain> on a side-note, means the nightly will fail again; this time for a different reason 😛
18:57:05 <JGR> For MinGW, running it as a cross-compile on a Liunux runner would probably be less painfully slow than running it via MSYS on Windows
18:57:08 <petern> I need to experiment with gitea runners, and perhaps migrate away from woodpecker-ci.
18:57:29 <TrueBrain> JGR: sounds like something LordAro should experiment with! 😄
18:57:35 <petern> Yeah but there's no particular reason to build that other than the compiler is picky, right?
18:57:53 <petern> Or does it offer something that the Windows build doesn't?
18:58:09 <TrueBrain> no, mingw is just a terrible patch on gcc, failing for the weirdest reasons
18:58:44 <LordAro> we're not interested in the output, so cross compiling isn't all that useful
18:59:00 <LordAro> we want the actual compiler
18:59:27 <TrueBrain> make it go quicker!
18:59:48 <TrueBrain> install WSL and let's be done with this! 😛
19:01:22 <TrueBrain> CodeQL also isn't any better btw; but at least he tells more often when things are wrong 😄
19:01:58 <TrueBrain> anyway, all joking aside, shit happens, things broke, Rb fixed it, no need to change anything imo 🙂
19:02:27 <glx[d]> vcpkg failures are annoying too
19:03:00 <TrueBrain> still, vcpkg is one of the best things that happened to us 😄
19:03:05 <TrueBrain> remember the openttd-useful.zip? 😛
19:03:32 <glx[d]> yes but there's a bug in previous release, and it's used in current images
19:03:34 <TrueBrain> Pepperidge Farm remembers
19:03:45 <TrueBrain> glx[d]: that is indeed annoying
19:04:07 <glx[d]> randow crash when PID are reused
19:04:22 <TrueBrain> how did the w and m got twisted there? 😛
19:04:34 <TrueBrain> does azerty has them close? 😛
19:04:54 <TrueBrain> couldn't resist, sorry 😛
19:05:01 <glx[d]> not even on the same hand
19:05:15 <TrueBrain> I have the best moments when my hands are one to the left or to the right
19:05:19 <TrueBrain> and you type a whole sentence
19:05:26 <TrueBrain> and then go like: hoooowwwww....?!
19:06:10 <Rubidium_> TrueBrain: you must be using Dvorak
19:06:39 <TrueBrain> me? I was not the one confusing letters here 🙂
19:06:58 <Rubidium_> oh sorry, glx must be using Dvorak :D
19:07:35 <glx[d]> no it's azerty, and brain doing weird stuff
19:36:14 <andythenorth> should we do some kind of special autoreplace for variants?
19:36:28 <andythenorth> that only shows the variant as rebuild / repaint options
19:36:43 <andythenorth> it's an problem-less idea
19:36:57 <petern> That sounds unlike how xUSSR uses variants.
19:37:15 <andythenorth> we could have some special callback 😛
19:37:19 <andythenorth> for repaint cost
19:37:22 <andythenorth> and keep all the stats
19:46:37 <petern> It's actually 95t, but the engine is in two parts, so 95 * 2 is 190t.
19:56:51 <pickpacket> so... uhm... When I set the power to 8,500 hp, why does it show as 8,618 hp in the game?
19:58:47 <pickpacket> also I set running_cost_base to RUNNING_COST_ELECTRIC and it shows as £0...
20:02:55 <glx[d]> pickpacket: rounding somewhere
20:03:26 <pickpacket> glx[d]: for the power, probably. But the running cost?
20:04:57 *** gelignite has quit IRC (Quit: Stay safe!)
20:06:15 <andythenorth> imperial vs SI or something?
20:06:57 <glx[d]> you also set running_cost_factor ?
20:10:23 <pickpacket> glx[d]: I hadn't! Thanks!
20:15:33 <Eddi|zuHause> there's "imperial hp" and "metric hp"
20:15:41 <Eddi|zuHause> they are different
20:18:05 <pickpacket> andythenorth: metric. Always metric
20:18:39 <pickpacket> though to be fair "horse power" is a pretty weird unit either way
20:19:03 <Eddi|zuHause> not weirder than a lot of other units
20:20:30 <pickpacket> weird in the sense that not all horses are equally strong, much as not all thumbs are an inch
20:20:56 <pickpacket> and yes, there are a lot of weird units out there :D
20:21:52 <pickpacket> going to sort some files and write a README sometime in the next few days. Then this NewGRF is ready for release :)
20:31:36 <petern> pickpacket: metric vs imperial HP, yes
20:31:52 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:32:22 <glx[d]> but without more precision
20:33:00 <Eddi|zuHause> in all likelyhood those are imperial hp
20:33:50 <petern> Imperial actually, sorry 🙂
20:34:00 <petern> I had the other one selected and got confused :p
20:56:02 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
21:27:17 <Eddi|zuHause> sometimes you find a purely decorative feature, and think "wow, now i have to go through the whole map and apply that EVERYWHERE" :p
21:28:16 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:38:24 <petern> Yes, but you mean source code instead of map 😉
21:42:13 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:02:31 <TrueBrain> I still can't believe how weird Go is .. so much implicit and magic .. I just ... I am happy with C++ and Python 😛
22:09:26 <pickpacket> TrueBrain: Go is... yeah, Go is.
22:09:40 <pickpacket> I don't get what's so great about it
22:10:21 <TrueBrain> no, it is a "me" problem
22:10:59 <JGR> If you're trying to write, say, web/REST servers, it is easy to be very productive
22:11:25 <JGR> Stuff "just works" out of the box
22:11:34 <TrueBrain> many othe rlanguages have that too 😛
22:11:46 <TrueBrain> what I am having issues with grasping, is how to actually read code
22:11:57 <TrueBrain> things are so implicit, where it comes from, etc
22:12:02 <TrueBrain> especially in large codebases
22:12:57 <JGR> Go is more verbose/explicit than comparable languages
22:14:20 <JGR> My main gripe with it is that it could do with more abstractions (and some RAII semantics), rather than having less implicit things
22:14:52 <TrueBrain> they just picked a weird hybrid between untyped vs typed, and it makes it tricky to get going in a codebase
22:15:02 <TrueBrain> like .. a struct is an object, but members can be defined as you go
22:15:21 <TrueBrain> there seems to be a coding convention that if a function starts with an upper-case, it is a member
22:15:26 <TrueBrain> but I am not sure yet 😛
22:16:09 <TrueBrain> it is a clever idea
22:16:30 <TrueBrain> just at least Python called a similar functionality `match`
22:17:14 <TrueBrain> (a switch is literally an if-else cascade; you can do `a > 0` in cases, for example)
22:17:53 <glx[d]> it is an if-else cascade in many languages 😉
22:17:54 <TrueBrain> what surprised me, is that you don't get warnings if you don't define a field in a struct .. it just keeps it zero .. I made some errors with it 😄
22:18:09 <TrueBrain> in most languages you can only handle a field .. like `switch (a) ..`
22:18:16 <TrueBrain> but here it is just an if-else 😛
22:18:18 *** Gadg8eer[m] has quit IRC (Ping timeout: 480 seconds)
22:18:42 *** wallabra[m] has quit IRC (Ping timeout: 480 seconds)
22:18:46 <JGR> Having struct fields left uninitialised by default in C is a bit of a footgun
22:19:32 <JGR> As for member functions, the declaration syntax is different
22:20:26 <JGR> Rather than `this`, the name of the pointer to the object is part of the function declaration
22:20:50 <JGR> The casing thing is to do with visibility
22:21:20 <TrueBrain> Rust, in my opinion, really does this the best, with its Trait-system
22:21:34 <TrueBrain> although there too, you sometimes have to search to find where the fuck something is defined 😄
22:23:31 <JGR> In Go you don't have to declare what interfaces you're implementing, it's implicit, which can make finding things a pain
22:23:52 <JGR> For all it's verbosity Java style is easier to follow on that
22:24:16 <TrueBrain> yeah, they really wanted to reduce duplication, so it seems
22:24:26 <TrueBrain> but it doesn't actually help when you don't know the code that well 🙂
22:24:41 <TrueBrain> this codebase I am looking at, has like 10 different `Config` structs
22:24:51 <TrueBrain> so you need to check the imports to know which Config they are talking about
22:25:00 <TrueBrain> it is a language that really needs a good IDE 🙂
22:27:40 <JGR> I tend to go for longer unambiguous names
22:28:00 <JGR> Bytes are cheap these days monitors aren't 80 chars wide anymore 😛
22:28:11 <TrueBrain> haha, I totally agree 🙂
22:28:46 <TrueBrain> anyway, a language like Go reminds me why I kinda hate Python (but do everything with it) .. Python has no information what something is
22:28:56 <TrueBrain> but because you know you are on your own, you tend to develop different
22:29:11 <TrueBrain> well, ofc Python added types now too, but too little too late tbfh 😛
22:35:29 <dwfreed> and python's "static" typing is not enforced by the interpreter
22:35:29 *** Gadg8eer[m] has joined #openttd
22:37:51 *** wallabra[m] has joined #openttd
23:14:57 <glx[d]> windows and macos use native API
23:15:12 <pickpacket> I guess we'll have to switch over to SDL3 eventually then
23:15:35 <glx[d]> but we still have SDL1.2 too
23:17:45 <glx[d]> the nice thing is we don't really care about the video driver, it's just a driver 🙂
23:21:00 <glx[d]> it just needs to implement the expected interface
continue to next day ⏵