IRC logs for #openttd on OFTC at 2024-02-08
โด go to previous day
00:03:11 <xarick> 18 years for 2090, looks like this is the first time an AI can beat inflation
00:03:46 <xarick> but now, bed time, cyas goodnight
00:09:23 <_glx_> truebrain: well it fixes a previous commit in this case
00:10:55 <_glx_> but I changed it to Codechange
00:13:12 <_glx_> too bad github doesn't show what will be the commit after auto-merge is enabled
00:15:09 <truebrain> _glx_: I understand the reasoning ๐ I just learnt the consequence of that reasoning ๐
00:15:17 <truebrain> I do it myself too ๐
00:15:37 <truebrain> peter1138[d]: Honestly, not a bad idea
00:16:39 <peter1138[d]> All my ideas are bad.
00:17:15 <truebrain> That is clearly a false statement.
00:18:12 <_glx_> seems beta3 is a lot more stable than the first ones ๐
00:18:53 <peter1138[d]> Or the testers have fatigue ๐
00:18:56 <truebrain> The "days since last crash" is non-zero again ๐
00:21:05 <_glx_> it can still crash, but it needs a very specific setup
01:34:25 <j_n> I have some mixed thoughts about the replacing of share buying with hostile takeovers
01:34:49 <j_n> I guess it makes sense considering how exploitable the share system was
01:35:27 <j_n> but it still kind of icks me that I could be thanos snapped at any moment
01:37:28 <j_n> perhaps a setting to disable hostile takeovers (or even better, a drop down menu for choosing between nothing, share buying or takeovers)
01:40:00 <j_n> I hope I'm not in the wrong channel for this
01:54:42 *** Tirili has quit IRC (Quit: Leaving)
02:19:17 <FLHerne> j_n: right channel, but most devs are European timezone so it's 2am ;-)
02:19:58 <FLHerne> someone will probably reply when they wake up
02:35:04 <talltyler> Player companies cannot be taken over, just AIs
03:00:09 *** herms has quit IRC (Quit: bye)
03:13:51 *** Wormnest has quit IRC (Quit: Leaving)
03:18:54 *** D-HUND has quit IRC (Ping timeout: 480 seconds)
03:23:10 *** tokai has quit IRC (Quit: c('~' )o)
03:26:00 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
05:24:16 *** asymptotically2 has quit IRC (Write error: connection closed)
05:24:30 *** asymptotically2 has joined #openttd
05:38:14 <Eddi|zuHause> well, they can, if they go bankrupt
06:07:19 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
06:27:09 *** keikoz has quit IRC (Ping timeout: 480 seconds)
07:37:06 *** HerzogDeXtEr has joined #openttd
08:11:18 *** asymptotically2 has quit IRC (Remote host closed the connection)
08:11:51 *** asymptotically2 has joined #openttd
08:11:54 *** asymptotically2 has quit IRC (Remote host closed the connection)
08:12:33 *** asymptotically2 has joined #openttd
08:14:15 *** asymptotically2 has quit IRC (Remote host closed the connection)
08:20:22 *** asymptotically2 has joined #openttd
08:31:27 <truebrain> j_n: You can also just not click on "Hostile Takeover"? ๐ Not sure I understand the issue ๐
08:32:17 <truebrain> it is you, the human, that has to not click a button. I am wondering why a setting would be different? (an open question btw; trying to understand what it is that bothers you with this hostile takeover system)
08:34:26 <truebrain> and as mentioned above, but similar to how the share system works, you can only take over AIs. It doesn't work on player companies, similar how in the share system you couldn't buy the last 25% on a player company
08:34:48 *** emperorjake has joined #openttd
08:35:26 <truebrain> haha, too bad you can't delete what is relayed to IRC emperorjake ๐ ๐ ๐
08:35:43 <emperorjake> JGRPP's `offer_company_sale` command is super useful for situations where a player company has to buy another player company
08:35:54 <truebrain> PRs are welcome ๐
08:36:13 <emperorjake> yes I mistyped ๐
08:36:58 <truebrain> but it doesn't sound that is what j_n was looking for
08:37:22 <truebrain> I have a roof preventing me from noticing; no clue if there is rain.
08:38:02 <peter1138[d]> I am near a flat-roof porch...
08:38:10 <peter1138[d]> (It's not leaking, but I can hear it)
08:38:17 <emperorjake> I like the hostile takeover button, no more "company is not old enough to trade shares" crap
08:38:57 <truebrain> reading back, I think it is mostly a misconception that you can take over a player company, or a lack of restraint to not take over an AI company ๐
08:39:37 <truebrain> Changelog does mention it correctly; had to check ๐
08:47:59 <LordAro> truebrain: that was my reading of it too
08:53:36 *** wallabra has quit IRC (Quit: Bowserinator is wrong don't blame iczero)
09:07:40 <peter1138[d]> _zephyris: did you make a PR of thicker lines in the settings window, or was that a mockup?
09:07:59 <_zephyris> I've been playing with the code, but didn't make a PR
09:09:00 <_zephyris> Started with wider lines, got annoyed by the end of line bug, switched to rectangles, that made it harder to handle RTL languages, gradually switching back, got distracted
09:09:33 <peter1138[d]> Fair enough ๐
09:09:58 <_zephyris> It looks good though! I'm keen
09:10:29 <_zephyris> IIRC I found lack of RTL support for the vehicle variants/buy list too
09:11:25 *** wallabra has joined #openttd
09:11:27 <_zephyris> I noticed various other lines which should probably scale with bevels too - graph ticks and gridlines, border on cargo flow nodes, possibly some more...
09:15:19 <peter1138[d]> Also something about Iron Horse makes the purchase list more spaced out.
09:15:30 <peter1138[d]> Some sprites too tall perhaps.
09:19:10 <_zephyris> If you're going to take a look I think the refit/livery tree code is tidier and has correct RTL
09:28:04 <peter1138[d]> It needs to be reworked but different from refit.
09:29:00 *** thelounge345 has joined #openttd
09:29:56 <peter1138[d]> e.g. this case isn't handled properly.
09:34:17 *** wallabra has quit IRC (Quit: Bowserinator is wrong don't blame iczero)
09:57:44 <xarick> great! 2090 achieved! AAAHogEx passed the inflation test
09:58:10 *** wallabra has joined #openttd
10:04:05 *** wallabra has quit IRC (Quit: Bowserinator is wrong don't blame iczero)
10:13:34 *** wallabra has joined #openttd
10:29:13 <_zephyris> peter1138[d]: Huh, what's the issue there? I don't remember seeing that as an issue...
10:29:50 <peter1138[d]> The line stops when there's an expanded child open.
10:30:41 <_zephyris> Yeah, doesn't have any capacity for nested trees - I didn't even realise that was possible for refits
10:33:16 <peter1138[d]> It's not possible for refits.
10:42:56 <j_n> truebrain: I mean getting taken over by other companies
10:43:26 <truebrain> That is, and always has been, impossible
10:43:57 <j_n> I thought that was the entire point of the "hostile takeover" function???
10:43:59 <truebrain> unless you identify as an AI, ofc
10:44:28 <j_n> oh wait, this is AI only?
10:44:30 <truebrain> I don't know where you got that information from, but the way we phrased it is pretty clear imo. `Feature: Replace buying/selling company shares with hostile takeovers of AI companies`
10:45:31 <truebrain> as I said earlier, it has never been possible to buy the last 25% of a player company, and neither is hostile takeover available for a player company
10:45:51 <j_n> then what about player companies
10:45:51 <j_n> is the buying/selling share still present for them or is it just completely gone
11:20:11 <LordAro> worth trying a different font as well?
11:25:43 <peter1138[d]> No not really, font rendering hasn't changed, only check because there was a font update.
11:26:12 <LordAro> how about a custom font on 13.4 vs 14.0?
11:35:59 <_zephyris> Ouch. That's horrible.
11:36:22 <_zephyris> Clearly a font rendering issue, as the window bevels and sprites are perfect.
11:36:51 <_zephyris> It's like it's rendering it shifted by half a pixel in X and Y
11:54:30 <peter1138[d]> Not sure what andy's experience of it was, I think he uses at least 2x interface scaling though, which will render fine.
11:56:38 <peter1138[d]> CGContextSetAllowsAntialiasing(context.get(), use_aa);
11:56:38 <peter1138[d]> CGContextSetAllowsFontSubpixelPositioning(context.get(), use_aa);
11:56:38 <peter1138[d]> CGContextSetAllowsFontSubpixelQuantization(context.get(), !use_aa);
11:56:38 <peter1138[d]> CGContextSetShouldSmoothFonts(context.get(), false);
11:57:18 <peter1138[d]> Those are the options we set, we explicitly disable ShouldSmoothFonts, at least.
11:57:41 <peter1138[d]> FontSubpixelQuantization might be one to try tweakg?
12:01:48 <peter1138[d]> Oh, also possibly relevant...
12:02:02 <peter1138[d]> float offset = 0.5f; // CoreText uses 0.5 as pixel centers. We want pixel alignment.
12:02:02 <peter1138[d]> CGPoint pos{offset - bounds.origin.x, offset - bounds.origin.y};
12:02:02 <peter1138[d]> CTFontDrawGlyphs(this->font.get(), &glyph, &pos, 1, context.get());
12:12:58 *** thelounge345 has quit IRC (Ping timeout: 480 seconds)
12:20:43 <_zephyris> Looks very relevant
12:21:07 <_zephyris> left = problem, centre = expected, right = simulated 0.5px x/y offset
12:22:03 *** thelounge345 has joined #openttd
12:41:43 <peter1138[d]> Who's our MacOS developer today?
12:50:35 <_glx_> We don't have any, the only tests is the CI and some users
13:06:33 <Eddi|zuHause> don't MBPs develop themselves?
13:06:49 <LordAro> nono, MBPs host themselves
13:11:50 <peter1138[d]> Alright, unplugged the UPS as it tried to battery test and caused my routers to reset...
13:18:47 <Eddi|zuHause> wouldn't have happened with an MBP
13:21:44 <FLHerne> j_n: It was never possible to buy 100% of a player company's shares either
13:22:18 <FLHerne> oh, that did get covered, sorry
13:24:44 <xarick> how much minutes per year do I need to simulate the 13.4 simulation rate?
13:26:16 <peter1138[d]> You can't go back to 30ms per tick though.
13:29:26 <xarick> let's try 10080, see what happens
13:31:50 <peter1138[d]> MacOS touchbar crash?
13:33:41 <xarick> how long is a period? this is a bit... odd
13:34:46 <talltyler> Anybody want to proofread my blog post before I change the date for publication tomorrow?
13:35:51 <LordAro> talltyler: did you fix it so that it works? :p
13:36:49 <uhuame> How can I edit wiki? I click Edit Page button, and then Save page, But nothing happen, it deleted everything I had edited. or it has submit?
13:38:26 <LordAro> but i'm not seeing any edits since 5 days ago
13:38:40 <LordAro> something could be erroring somewhere
13:40:17 <xarick> no idea what's happening, but AAAHogEx is going bankrupt in this mode
13:53:21 <uhuame> ok, I had resolved, seem is cloudflare.com had blocked me
14:02:39 <truebrain> LordAro: There are very few edits on the wiki, so that is very normal ๐
14:10:30 <talltyler> LordAro: What needs fixing?
14:10:43 <LordAro> talltyler: dunno, lots of people on the reddit claiming unbunching doesn't work
14:11:20 <peter1138[d]> They should report on Github.
14:13:38 <talltyler> I asked both of the people to open issues with savegames
14:14:12 <peter1138[d]> That's not really lots. Not even many!
14:15:18 <truebrain> peter1138[d]: Ask the reporter. I think they made PRs before, so they should be able to test things
14:18:35 <talltyler> The information provided is not enough to diagnose a problem. And it works for me on beta3, so I didnโt break it since it was merged.
14:19:59 <talltyler> I suspect they are just not waiting long enough for vehicles to determine the real average travel time and spread themselves out. It takes a few cycles of all vehicles to settle down. (Which is intentional, to even out disruptions and new vehicles being added, and keep the algorithm simple)
14:20:34 <truebrain> maybe we can put somewhere that the vehicles are still in their training days
14:21:11 <truebrain> either way, neither of this should prevent us from publishing such blog, possibly creating an actual bug report we can look at ๐
14:21:19 <peter1138[d]> truebrain: Thing is I don't know what to try.
14:21:37 <truebrain> peter1138[d]: I think if you give them the snippets you shared here, they might be able to figure something out
14:31:05 <peter1138[d]> Urgh, I'm disliking that we didn't clamp tile bounding boxes to tiles.
14:48:00 <talltyler> _zephyris: Do you have an uncropped version of the bunched/unbunched comparison, for a Steam image?
14:55:23 *** Uriopass has joined #openttd
15:03:49 *** keikoz has quit IRC (Ping timeout: 480 seconds)
16:23:13 *** uhuame has quit IRC (Remote host closed the connection)
17:17:24 *** Wormnest has joined #openttd
17:33:19 <LordAro> https://godbolt.org/z/x749cWfqG fun c++ problem for you - how do you write the constructors such that it mimicks the compiler-generated constructors on the righthand side without resulting in invalid references?
17:39:22 <frosch123> doesn't matter. you do not pass the interview test in both cases
17:43:22 <LordAro> (i'm also genuinely interested in the answer, because i don't know it)
17:43:31 *** virtualrandomnumber has joined #openttd
17:43:37 <_jgr_> Both are incorrect, even if the second happens to work on this compiler
17:44:01 <LordAro> that does make a bit more sense
17:44:29 *** virtualrandomnumber has quit IRC ()
17:46:26 <frosch123> but that is no reason to actually use it
17:47:58 <frosch123> i.e. it is already invalid when using ( ) instead of { }
17:48:38 <frosch123> i guess it's needed in some constexpr cornercase. (just going by the "new in c++20")
17:49:43 <LordAro> if in doubt blame constexpr
17:52:11 <_jgr_> Maybe I'm a bit old school but I can't understand why you'd ever want to write code like that
17:53:23 <frosch123> you don't ๐ i encountered a very similar examples in a job interview, where a reference was passed to the constructor and stored in the object
17:53:37 <frosch123> the correct answer is "it breaks", and not "i can make it work in some cases"
17:54:24 <frosch123> it's a test whether you copy&paste types, references and pointers around without knowing what it means
17:56:46 <LordAro> so how would you have a "wrapper container" thing that ...references a vector or other object?
17:57:19 <frosch123> you don't avoid the copy. you allow a move
17:57:32 <LordAro> ah, so the wrapper object owns the object?
17:57:46 <LordAro> s/wrapper object/wrapper/
17:58:08 <frosch123> or you add "Wrapper(vector&&) = delete"
17:58:31 <frosch123> but don't expect that your wrapper extends the lifetime of some other object
18:00:03 <_jgr_> Giving the thing being wrapped it's own name in this case (making its lifetime obvious) would make what is actually happening clearer
18:00:59 <_jgr_> The rules around the lifetime of temporaries are so arcane that you're better off never relying on them at all
18:01:34 <frosch123> yep, that's also the conclusion of the talk above (iirc) ๐
18:16:05 <_glx_> ah yes, this commit bites us now in CopyOutDParam ๐
18:17:59 <_glx_> ah no, it's not this one
18:34:40 <DorpsGek> - Update: Translations from eints (by translators)
18:59:07 <andythenorth> peter1138[d]: is this deliberately overlapping objects? ๐
19:10:51 <frosch123> i had some thoughts about removing bounding boxes from newgrf: they would only be used to sort the sprites within a tile, and after that all sprites would be put in a BB defined by ottd
19:11:52 <frosch123> i am not sure whether ISR uses cross-tile bounding boxes for animated cranes or something
19:12:29 <_jgr_> On a totally unrelated front, I started looking at this again
19:12:50 <_jgr_> (Not everything can be blamed on NewGRF authors :P)
19:14:33 <frosch123> i don't blame them. BB just need to be defined together to work. individual addons defining their own just locks everyone into some historic-compatibility mess, like C/C++ ๐
19:15:39 <doppel_r_dwr> I love watching this channel because I don't understand anything or so
19:16:23 <truebrain> Most of us have that issue; even the ones talking ๐
19:22:36 <truebrain> Also for here, so far there have been two reports of people on Linux, specifically flatpak builds, where they do not see AV9, but do see AV8, in the content listing .. I have zero idea what is causing it, but when they try Ubuntu or official build, it all works
19:24:15 <frosch123> actually, more productive: i also had some thoughts about sandbox settings ๐ I kind of prefer adding more human/AI specific settings like the existing "AIs can build trains". so settings like "infinite money" or "magic bulldozer" would have three options: "disabled", "humans only", "humans and AIs"
19:24:56 <frosch123> would you agree on that. or are you all on the "AI must be allowd the same as humans" trains, and want to remove the "AIs can build trains" setting instead? :p
19:24:57 <truebrain> why not a forth: AIs only? ๐
19:25:37 <rau117> Yeah, maybe it would be just easier to have 2 separated switch-buttons โallow for playerโ / โallow for AIโ
19:25:41 <truebrain> the principle of "AI must be able to do what human can" is more about the API itself; it has not much to do what kind of game the player wants to play, in my opinion
19:25:55 <frosch123> also fine for me :p i think EU4 has difficulty settings like: "unfair advantages for humans", "fair", "unfair advantages for AIs"
19:26:00 <truebrain> so I myself have no issues with a dropdown like that ๐
19:29:55 <truebrain> The EU4 "fair" in our case can either be "magic bulldozer for all" or "magic bulldozer for none" ๐
19:37:20 <frosch123> yeah, it's a three way balance: what players can do, what ais can do, and what newgrfs can forbid :p
19:38:09 <frosch123> game mode: human plays, AI plays, NewGRF plays
19:44:59 <andythenorth> how about a GS API to decide that? ๐
19:45:09 <truebrain> I like a fourth: nobody plays!
19:45:15 <andythenorth> sometimes I do that
19:45:22 <andythenorth> I leave the game running by mistake
19:45:34 <truebrain> that is why the website is very slow sometimes
19:46:19 <andythenorth> [have to run AV mostly to avoid passing on windows viruses to 3rd parties]
19:53:44 <andythenorth> woah this was confusing to figure out ๐ฎ
19:53:59 <andythenorth> I've managed to parent a variant to a vehicle of a different railtype ๐
19:54:16 <andythenorth> that's a new bug I've added somehow
19:55:10 *** keikoz has quit IRC (Ping timeout: 480 seconds)
20:13:30 *** peter1138 has quit IRC (Ping timeout: 480 seconds)
20:19:16 <andythenorth> hmm not looking at that tonight, let's unsee it ๐
21:23:00 *** gelignite has joined #openttd
21:53:19 <peter1138[d]> Typical, my ups died this morning, and this evening the power went out....
21:53:31 <peter1138[d]> (due to a car crash)
21:57:05 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:04:46 *** gelignite has quit IRC (Quit: Stay safe!)
22:08:16 <peter1138[d]> frosch123: Objects regularly abuse bounding boxes. Several tiles worth.
22:18:16 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:53:29 <peter1138[d]> I notice CoreText uses incorrect ascender metrics still, too ๐ฆ
22:54:31 <andythenorth> peter1138[d]: A car crashed into your UPS? ๐ฎ
22:54:46 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:54:47 <peter1138[d]> There was a car crash that turned off the power to the area.
22:54:48 *** reldred has joined #openttd
22:55:48 <peter1138[d]> I have a UPS upstairs that keeps my ~~MBP~~ home server running, but I haven't yet got PoE running from there to the router/modem downstairs.
22:59:21 <peter1138[d]> Still, my fediverse instance was able to keep talking to itself :p
23:01:16 <peter1138[d]> Also my keyboard lot its firmware again ๐ฆ
23:02:51 <andythenorth> fixed my variants ๐
23:03:18 <peter1138[d]> That's an interesting edge case...
23:08:50 <andythenorth> was entirely a grf issue ๐
23:09:08 <andythenorth> "don't parent to the wrong vehicle"
23:14:59 <peter1138[d]> ยฃ650 quite a lot of money to spend just to test font rendering with Mac OS ๐
23:16:11 <peter1138[d]> (Also only 8GB in 2024, wtf...)
continue to next day โต