IRC logs for #openttd on OFTC at 2024-04-08
        
        
        
            โด go to previous day
01:59:32  *** Wormnest has quit IRC (Quit: Leaving)
 
02:47:55  *** gnu_jj_ has joined #openttd
 
02:51:06  *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
 
02:56:20  *** debdog has quit IRC (Ping timeout: 480 seconds)
 
04:41:31  <DorpsGek>   - Update: Translations from eints (by translators)
 
05:49:01  *** keikoz has quit IRC (Ping timeout: 480 seconds)
 
06:08:20  *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
 
06:17:21  *** keikoz has quit IRC (Ping timeout: 480 seconds)
 
07:13:40  <DorpsGek>   - Add: summary for week 14 of 2024 (by OpenTTD Survey)
 
07:25:41  *** Ox7C5 has quit IRC (Ping timeout: 480 seconds)
 
08:59:04  <xarick> how do I catch these long spikes?
 
09:07:21  <peter1138> Yeah, it's not ideal is it.
 
09:19:57  <xarick> i think otvi is the worst offender currently in place
 
09:20:08  <xarick> need to find out what's causing these big stalls
 
09:20:19  <peter1138> "List all vehicles to get vehicle count" ๐
 
09:21:45  <xarick> i suspect something different honestly, this AI ain't strong enough to amass vehicles
 
09:24:55  <peter1138> List all vehicles does have to iterate ALL vehicles ๐
 
09:32:52  <xarick> typical, I load savegame and the stalls are gone ๐ฆ
 
09:38:10  <xarick> not that many vehicles
 
09:43:33  <xarick> "adapted list to this many tiles", let me search the code for this
 
09:47:56  <xarick> townTiles.Valuate(AITile.GetCargoAcceptance, cargoID, 1, 1, 4);
 
09:48:41  *** keoz has quit IRC (Remote host closed the connection)
 
09:48:48  <xarick> deliveryPoint = AITile.GetClosestTown(townTile);
 
09:48:59  <xarick> I remember GetClosestTown was utterly slow before kd-tree
 
09:50:47  <xarick> I wonder that SafeAddRectangle do
 
09:53:18  <xarick> list.AddRectangle(AIMap.GetTileIndex(x1, y1),AIMap.GetTileIndex(x2, y2));
 
09:53:39  <xarick> AddRectangle... i suspect this is slow
 
09:56:44  <peter1138> Basically this API is designed in a very wasteful way.
 
09:56:55  <peter1138> Make a huge like of TileIndexes, then valuate them.
 
09:57:10  <xarick> wants to deliver industry cargo to town, probably goods
 
09:57:26  *** keikoz has quit IRC (Ping timeout: 480 seconds)
 
09:57:37  <xarick> rectangle probably is a rectangle over the entire town, to find where it can accept goods
 
09:57:50  <peter1138> I think there probably needs to be a thought about how to do the things that AIs commonly want to do , but in a more efficient way.
 
09:58:05  <peter1138> And then deprecate and eventually remove the old stuff that is just a performance hog.
 
10:07:06  <peter1138> AddRectangle combined with Valuate at the same time might help but I dunno.
 
10:07:07  *** Ox7C5_ has quit IRC (Ping timeout: 480 seconds)
 
10:12:06  <peter1138> Why do 32" 1080p monitors exist?
 
10:22:03  <peter1138> Hmm, I wonder if there are any NewGRFs that rely on date_fract.
 
10:28:06  <xarick> is that 1 million tiles I am seeing?
 
10:28:29  <xarick> and it's constantly adjusting the rectangle with add.rectangle, removerectangle?
 
10:33:26  <xarick> not even 500 max ops is sufficient to slow it down ๐ฆ
 
10:34:17  <isosys> If I'm reading correctly the inclusion of the dependency breakpad requires that vcpkg is used, correct?
 
10:34:57  <reldred> I believe it's all vcpkg now yes
 
10:35:32  <LordAro> not that individual developers need that dependency
 
10:35:44  <LordAro> it's only desirable for actual releases
 
10:37:02  <reldred> Yeah come to think of it when I built on linux the other week it was pretty straight forward
 
10:37:14  <reldred> just used distro packages for deps
 
10:37:40  <peter1138> I build without breakpad, yeah.
 
10:37:50  <peter1138> It's an optional dependency.
 
10:38:35  <LordAro> it'd be nice if we could avoid the scary cmake warning
 
10:38:40  <isosys> Sure, it builds just fine without it (just a warning), but seems a good inclusion for those that publish patchpacks.
 
10:39:37  <xarick> oh, this rectangle is not even over a town, this rectangle is a rectangle starting from the location of the industry producing goods, and an arbitrary 600 radius away from the industry hoping to find a location which accepts goods
 
10:39:55  <LordAro> isosys: not really, unless you're planning on implementing your own crash reporting system
 
10:41:06  <peter1138> xarick: ah, so as a player you'd find a town then see if it accepts, but this just... searches the map almost randomly...
 
10:41:49  <isosys> LordAro: Doesn't it create a crashlog/minidump file like windows?
 
10:42:09  <xarick> the max radius and min radius shrinks until it gets less than 150000 tiles in the list
 
10:42:36  <xarick> but while doing that, it's constantly adding and removing tiles from the list, that's horribly unoptimized
 
10:43:13  <xarick> isn't there a math formula to add and remove area?
 
10:44:08  <peter1138> Seems like if you know 150000 is your limit, you can just hard code a min & max that matches that...
 
10:44:50  <peter1138> outerx * outery - innerx * innery = tiles covered.
 
10:45:18  <xarick> there's a caveat though
 
10:45:29  <peter1138> Sure, I don't know what the script is doing ๐
 
10:45:32  <xarick> SafeAddRectangle, it accounts for map edges
 
10:46:13  <peter1138> 150,000 limit is all of the map on a normal size game.
 
10:53:24  <xarick> SafeAddRectangle is used all over Otvi
 
10:57:43  <xarick> I could add tiles 1 by 1
 
10:58:00  <xarick> but there's still removerectangle ๐ฆ
 
10:58:21  <xarick> didn't wanna make big changes here ๐ฆ
 
10:59:01  <xarick> it's used in 24 places in the code, can't be risking making it broke
 
10:59:52  <peter1138> andythenorth: Salad or not?
 
11:05:40  <peter1138> Ordered something for 99.99 and the website took VAT off and added it back on. Final value 100.00 ๐ฎ
 
11:07:52  <peter1138> Hmm, Cotswolds trip next Saturday. Do I want to get knackered riding an additional 75 miles to and from the start...
 
11:08:10  <peter1138> (Combined total, about 38 each way)
 
11:08:27  <LordAro> that sounds like something i would do
 
11:08:37  <LordAro> but 75 is quite a lot regardless
 
11:08:48  <peter1138> The ride itself is 68 miles.
 
11:11:12  <peter1138> The train takes longer than riding there.
 
11:12:50  <peter1138> (And it's 3 trains)
 
11:16:16  <peter1138> 70 minutes waiting for changes.
 
11:16:35  <peter1138> Also 2 bike spaces available, reservation required.
 
11:17:58  <xarick> ```    if (AIMap.IsValidTile(t1) && AIMap.IsValidTile(t2)) {
 
11:17:58  <xarick> for (local x = x1; x <= x2; x++) {
 
11:17:58  <xarick> for (local y = y1; y <= y2; y++) {
 
11:17:58  <xarick> list.AddTile(AIMap.GetTileIndex(x, y));
 
11:18:15  <xarick> probably makes it less spiky
 
11:18:33  <xarick> but... much slower in thinking too
 
11:18:48  <peter1138> Slower but spread out.
 
11:19:39  <xarick> probably gonna be tooooo slow but let's test
 
11:21:54  <merni> bicycles in openttd when
 
11:30:57  <xarick> this AI is so spiky all over the place ๐ฆ
 
11:36:13  <_glx_> But you allow a lot more than the default 10k opcodes
 
11:37:18  <_glx_> Number of opcodes per tick is the main issue
 
11:43:26  <truebrain> LordAro: The "scary" warning is there for breakpad exactly for this case; patchpacks should really compile with it, if they want to receive any useful crash dumps ๐ so it should be scary ๐
 
11:44:21  <truebrain> isosys: Ignore LordAro here; patchpacks are advised to have breakpad, so any crash reports can be analysed ๐ just be sure to keep the debug symbols around!
 
11:56:32  <isosys> truebrain: Thanks! I will read more about breakpad later, but do you recommend any change that makes obvious that a crash report originated from a patchpack and not from an official release?
 
11:57:01  <truebrain> no, in the crash.json file is what version is comes from
 
11:57:10  <truebrain> including exact version, even the git hash
 
11:57:14  <truebrain> at least, when that is not altered ๐
 
11:58:16  <_glx_> Because we can only read dumps from our own builds
 
11:58:41  <truebrain> no, that statement is too vague. You can only analyze crash dumps for which you have the symbols available
 
11:58:48  <truebrain> for builds we produce, we keep them on a symbols server
 
11:58:58  <truebrain> a patchpack can do that in many other ways too, like attaching them to a GitHub release
 
11:59:48  <_glx_> Like we used to do with msvc PDB before break pad and symbol server
 
12:12:18  <xarick> let's try 10k opcodes and medium
 
12:14:12  <xarick> the defaults are kinda.... conservative in my opinion
 
12:23:45  <xarick> my code doesn't account for script speed ๐ฆ
 
12:26:05  *** VE1LEB has quit IRC (Remote host closed the connection)
 
12:47:03  <andythenorth> peter1138: might have scrambled eggs
 
12:55:24  <peter1138> /me makes a note not to let someone know to fix their NewGRF again.
 
13:11:38  <_glx_> that bit math is simple, & 15 gets the last 4 bits so value between 0-15, & 7 for 3 bits (0-7), &3 for 2 bits (0-3), &1 is one bit (0-1) and &0 is useless
 
13:12:29  <_glx_> 0x1111, 0x111, 0x11, 0x1, 0x0
 
13:13:47  <xarick> game script is not a competitor ๐ฆ
 
13:14:12  <xarick> it has a different frame counting
 
13:18:03  <_zephyris> peter1138: Did you get any further with the font gamma correction? I think a 1x scale anti-aliased screenshot would be helpful to compare to the readability of the original sprite font.
 
13:26:09  <xarick> holy crap it's slow, look at the dates
 
13:26:35  <xarick> but it's at a constant 1 ms
 
13:32:42  <_glx_> you can try 15K as there's some room in total game loop
 
13:40:37  <peter1138> "AI uses too much CPU, woe!" sets appropriate limit "AI doesn't use much CPU, woe!"
 
13:40:55  <peter1138> _zephyris: Not done much with it.
 
13:41:21  <xarick> it's an act of balance ๐ฆ
 
13:45:15  <xarick> ```const uint speed = this->elem == PFE_GAMESCRIPT ? 1 : 1 << (4 - GetGameSettings().difficulty.competitor_speed);
 
13:45:15  <xarick> if (avg * active_scripts > MILLISECONDS_PER_TICK * speed) {
 
13:45:22  <xarick> testing my new variable ๐
 
13:53:30  <peter1138> Hmm, weird, console isn't working properly for me :S
 
13:53:51  <peter1138> Maybe we broke something ๐
 
13:55:41  <peter1138> `Microsoft Connect Test`
 
13:56:04  <LordAro> i am extremely confused
 
13:57:02  <LordAro> 90.244.156.146 & 90.244.156.147 ?
 
13:57:26  <peter1138> 23.73.137.235 & 23.73.138.194
 
13:57:45  <LordAro> looks like there are lots of variants
 
13:57:52  <peter1138> If I ask 8.8.8.8 I get 96.17.178.196/184
 
13:58:11  <peter1138> 1.1.1.1 returns 104.86.110/241/217
 
13:58:28  <peter1138> So I guess that's normal, but the one you get is... wrong.
 
13:59:37  <LordAro> i'm getting 96.17.178.196/209 when connected to a vpn
 
14:00:54  <LordAro> and that's still returning the redirect
 
14:10:54  <xarick> 10000 opcodes at medium speed is equivalent to
 
14:11:08  <xarick> 40000 opcodes at very fast
 
14:12:56  <xarick> 40000 opcodes at very slow
 
14:14:58  <xarick> 250k at very fast is equivalent to 1m at medium
 
14:24:18  *** matusguy has joined #openttd
 
14:44:46  *** Wormnest has joined #openttd
 
14:51:39  <Rubidium> darn C-style casts again! :(
 
14:57:50  <peter1138> What is special about r25493?
 
14:58:24  <peter1138> Some old patchpack with day length, I guess.
 
14:58:45  <peter1138> "true day length" uh...
 
15:11:33  *** iSoSySt has joined #openttd
 
15:26:42  <LordAro> so i'm being MITM'd somewhere
 
15:27:11  <LordAro> https works as expected (except for certificate mismatches)
 
15:27:23  <peter1138> I did wonder about the http ๐
 
15:27:47  <LordAro> well that's how Windows does it
 
15:34:07  <xarick> AI 9 had a spike, bam immediately 500 ops
 
15:35:10  <xarick> AI 6 with 57k ops is processing the rectangle slightly "faster"
 
15:35:54  <xarick> I'm probably reverting the change
 
15:36:16  <xarick> I didn't want to be involved in fixing more scripts ๐ฆ
 
15:36:50  <_glx_> nobody asked you to fix them ๐
 
15:46:07  <truebrain> LordAro: Isn't that URL used to detect WiFi portals?
 
15:59:02  *** j_n has quit IRC (Quit: User went offline on Discord a while ago)
 
16:08:22  <peter1138> Updated the assert and did the other casts for good measure.
 
16:18:08  <Rubidium> ... and there went the CI's cache :(
 
16:18:54  <_glx_> oh no they released new images
 
16:27:41  *** ChanServ sets mode: +v tokai
 
16:29:26  *** HerzogDeXtEr has joined #openttd
 
16:30:28  <truebrain> Explains the http part ๐
 
16:31:59  *** gelignite has joined #openttd
 
16:38:49  <peter1138> Well, I guess that forum post is right now :p
 
16:44:41  *** tokai|noir has joined #openttd
 
16:44:41  *** ChanServ sets mode: +v tokai|noir
 
16:47:07  *** berndj-blackout has quit IRC (Read error: Connection reset by peer)
 
16:47:07  *** gnu_jj_ has quit IRC (Read error: Connection reset by peer)
 
16:50:51  *** nielsm has quit IRC (Ping timeout: 480 seconds)
 
16:51:31  *** tokai has quit IRC (Ping timeout: 480 seconds)
 
16:59:38  <andythenorth> I wasn't paying attention
 
16:59:55  <peter1138> You missed the minute slice from 12:32 to 12:33
 
17:12:22  <truebrain> Completely broken, lol
 
17:12:35  <truebrain> I was wondering what those cables were doing hanging out
 
17:12:49  <Rubidium> looks like that #12454 builds after a rerun of the failed jobs. So... is there a lottery for getting the old runner?
 
17:13:18  <truebrain> New images are rolled out slowly
 
17:13:47  <LordAro> it's starting to look like we might have to build it ourselves
 
17:14:09  <truebrain> Building the library was never the issue
 
17:14:23  <truebrain> Rb worded it nicely in his blog post ๐
 
17:15:26  <truebrain> Lol, that kinda building ourselves. No tnx ๐
 
17:15:46  <truebrain> Decoder is relative easy btw. The encoder .. less so ๐
 
17:15:58  *** APTX has quit IRC (Remote host closed the connection)
 
17:16:29  <LordAro> presumably it's only the generic build that has any real issue being built
 
17:16:34  <truebrain> As Facebook wouldn't hide a backdoor in that, would they? ๐
 
17:16:59  <LordAro> oh, derp, windows too
 
17:25:58  <frosch123> oh, we need anolog signals, with continous states between red and green
 
17:28:23  <peter1138> (size_t)clicked - (size_t)topleft
 
17:28:29  <peter1138> clicked and topleft as void *.
 
17:28:58  <andythenorth> we need faster signals
 
17:30:21  <frosch123> intptr_t would probably be more appropiate
 
17:31:01  <_glx_> passing an int via a void* without being a pointer should not be done on first place
 
17:31:37  <frosch123> it's a position in the screenbuffer
 
17:32:12  <frosch123> i guess it could be char* or uint8_t*
 
17:32:31  <peter1138> Yeah, I was wondering that.
 
17:33:02  <peter1138> But also, does it not depend in the blitter bit-depth...
 
17:33:34  <peter1138> Hmm, no, because the divisions on the same line sort that out.
 
17:33:41  <frosch123> that is taken care off by "pitch"
 
17:33:57  <peter1138> GetScreenDepth() / 8 actually.
 
17:34:00  <andythenorth> maybe red PBS should be yellow, would that be faster?
 
17:34:47  <frosch123> if you really don't like the pointer comparision, you can also add the reverse of MoveTo
 
17:35:12  <peter1138> No, it's the C-casts I don't like ๐
 
17:35:16  <frosch123> compute global screencord from local DrawPixelInfo
 
17:35:48  <talltyler> andythenorth: I had a go at importing the old yellow path signals patch, with the aim of iteratively rewriting it. I got it to compile, but it crashes trying to load the main menu so Iโm not quite there yet. ๐
 
17:36:10  <frosch123> poor C casts, they have served well for 60 years. and now they are thrown out because of ageism
 
17:36:17  <peter1138> The old yellow path signals path? You mean the Hackykid one?
 
17:36:29  <peter1138> Thrown out because they allow things to compile which shouldn't ๐
 
17:36:30  <truebrain> talltyler: remove opntitle.dat, solves that issue I am sure ๐
 
17:36:57  <talltyler> Oh yeah, I could try that
 
17:36:59  <frosch123> i thought jgrpp has pbs presignals aka yellow signals?
 
17:38:01  <talltyler> JGRPP does it with realistic braking, not exactly sure how that all works
 
17:38:22  <talltyler> But the basic idea is to reserve two blocks ahead instead of just one
 
17:38:40  <peter1138> I guess not Hackykid's PBS, as that is way too ancient to get going.
 
17:38:41  <frosch123> ah, it improved on the yellow signals
 
17:38:59  <talltyler> And if a train sees a yellow signal, slow down so it doesnโt catch up to the train in front where it would have to make a full stop at a red signal
 
17:40:09  <peter1138> I think you're best off reading the existing patches, work out what they do, then rewrite it in code that actually makes sense...
 
17:40:22  <peter1138> Because trying to apply an existing patch and fix it up is usually messy.
 
17:40:33  <talltyler> Yes, that is how I will need to about it whenever I pick it up next ๐
 
17:42:06  <talltyler> It was posted to the forum as a patch file and the easiest way to read it was apply it to existing code so I can read the diff in git gui
 
17:42:13  <talltyler> Donโt question my silly workflow choices ๐
 
17:42:30  <peter1138> You can just read the diff...
 
17:45:24  <truebrain> meh; I forgot GitHub stores caches per branch. So even if I could "fix" the vcpkg cache for a branch, it wouldn't be available to "main"
 
17:45:45  <truebrain> (I thought to just inject the xz in the cache for the CI; but that isn't working ๐ )
 
17:47:14  <talltyler> Yeah, but a diff with an outdated version of OpenTTD doesnโt help me much ๐
 
17:48:03  *** brickblock19280 has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** tateisukannanirase has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** locosage has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** lemuria0685 has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** andythenorth has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** _glx_ has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** frosch123 has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** temeo[m] has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** einar[m] has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** karl[m]12 has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** cjmonagle[m] has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:03  *** Farrokh[m] has quit IRC (charon.oftc.net helix.oftc.net)
 
17:48:18  *** frosch123 has joined #openttd
 
17:48:28  *** lemuria0685 has joined #openttd
 
17:48:46  *** brickblock19280 has joined #openttd
 
17:48:46  *** tateisukannanirase has joined #openttd
 
17:48:46  *** locosage has joined #openttd
 
17:48:46  *** andythenorth has joined #openttd
 
17:48:46  *** temeo[m] has joined #openttd
 
17:48:46  *** einar[m] has joined #openttd
 
17:48:46  *** karl[m]12 has joined #openttd
 
17:48:46  *** cjmonagle[m] has joined #openttd
 
17:48:46  *** Farrokh[m] has joined #openttd
 
17:49:18  *** karl[m]12 has quit IRC (Ping timeout: 481 seconds)
 
17:50:23  <truebrain> frosch123: tell that to the AIs!
 
17:50:39  <frosch123> the example you showed earlier was a pointer-to-integer cast. where do we use integer-to-pointer?
 
17:51:15  <frosch123> err, ok, i won't look :p
 
17:51:36  <peter1138> Actually not even that old, pre SLV_141.
 
17:52:15  <peter1138> By "old saveloader" I would mean TTO/TTD.
 
17:52:35  <frosch123> oh, right all our poolindexes are store like that
 
17:53:00  <frosch123> first pass stores integer in pointer, second pass replaces integer with pointer to poolitem
 
17:59:04  *** karl[m]12 has joined #openttd
 
18:12:35  <peter1138> Yeah, the pointers don't exist while it's loading...
 
18:14:12  <LordAro> i suppose it could be a union/variant
 
18:22:42  <peter1138> "two fields" sounds simple, but it's just a simple pointer in the object that references it.
 
18:24:01  <peter1138> I guess you could avoid the casts by faking pointers, but what's the point ๐
 
18:27:08  <LordAro> peter1138: most of those casts just make me question the code that requires it
 
18:28:00  <peter1138> Lots of them are due to comparing a signed integer against a size_t
 
18:28:39  <peter1138> See, that's the problem with a global approach...
 
18:47:47  <frosch123> did you try to enable ``-Wold-style-cast``? it may trigger on 3rdparty and other stuff though
 
18:58:00  <peter1138> Hehe, another patch to delete ๐
 
18:58:19  <peter1138> But you left cargo_suffix as a pointer.
 
19:01:50  <LordAro> that is also a weird function
 
19:04:47  <LordAro> i'm having trouble working out why it does things with firstcargo
 
19:04:55  <LordAro> it looks like it puts it on the end of the string?
 
19:05:55  <Rubidium> the first cargo is formatter differently from the other cargoes
 
19:05:59  <LordAro> and then if there's no cargo at all it just returns nothing? or maybe just the prefix string
 
19:07:27  <Rubidium> I'm not trying to learn the magic of NewGRF. I'm trying to get rid of the lengthof macros
 
19:08:10  <LordAro> one could argue that lazy refactoring is worse than no refactoring at all :>
 
19:08:21  <LordAro> ( lazy refactoring is basically all i do )
 
19:09:00  <Rubidium> yes, lets leave cpp_lengthof in while doing other refactors and get bitten by it not doing what you expect it to do (like with lengthof)
 
19:11:12  <LordAro> but the existing code isn't going anywhere, and peter1138's slower "actually make things better" approach seems better in the long term
 
19:11:36  <peter1138> That's just one function...
 
19:12:11  <michi_cc> talltyler: Oh, "I have a patch for that, too" โข๏ธ  ๐
 
19:12:11  <michi_cc> Outdated like heck ๐
 
19:12:22  <peter1138> My approach is clearly too slow because there are things I have patches for that are now obsolete ๐
 
19:12:51  <peter1138> You have one for CargoDest too, right?
 
19:13:48  <michi_cc> Yes, and that one is only on hold, and not abandoned ๐
 
19:14:00  <michi_cc> New map first, though ๐
 
19:15:38  <Rubidium> LordAro: in the long term you definitely have a point, but my point is rooted in the fact that two-thirds of the "lengthof-is-not-what-you-expect-it-to-be" issues are due to the "actually make things better" approach. So, I rather remove the troublesome macro sooner so we do not introduce more bugs while making things better the slower way
 
19:16:37  <peter1138> LordAro, if you want something to fix, the desync cache comparer is pretty broken ๐
 
19:16:57  <peter1138> You might want to install WSL though...
 
19:18:43  <LordAro> i guess my (admittedly silly) thinking is that once these questionable constructs are converted to something "better", they'll be harder to find and improve further
 
19:21:21  <Rubidium> it's mostly the different between 'grep lengthof' vs 'grep std::size'
 
19:26:29  <peter1138> There's also an element of "don't let the person working on little bits hold onto them and forget to make PRs"...
 
19:31:55  <talltyler> michi_cc: I will try yours too ๐
 
19:32:33  <locosage> hm, why is cmake complaining about duplicate file names now? didn't do that with 13.4
 
19:33:07  <peter1138> ^ originally written in Jun 2023 as part of another patch.
 
19:35:07  <_glx_> locosage: check added because xcode
 
19:37:07  <locosage> ffs, first it was visual studio with this dumb issue, now xcode
 
19:37:23  <frosch123> lordaro: there are no outparams in that method
 
19:37:27  <frosch123> they are all in/out
 
19:38:23  <frosch123> did someone replace lordaro with an ai?
 
19:38:55  *** gelignite has quit IRC (Ping timeout: 480 seconds)
 
19:39:09  <locosage> _glx_: how do I disable it though? I don't need xcode support
 
19:39:22  <peter1138> Just rename your files...
 
19:39:53  <locosage> renaming files is dumb
 
19:40:00  <locosage> it's like uninventing directories
 
19:41:06  <LordAro> peter1138: now the alignment is broken :p
 
19:42:24  <LordAro> i like out params to be obvious
 
19:42:29  <_glx_> renaming is the only option when the building tool ignores the directories
 
19:42:31  <LordAro> which unfortunately means using pointers
 
19:43:06  <locosage> luckily I don't need it to build on anything but linux
 
19:43:19  <locosage> and cmclient already has unique filenames because of visual studio
 
19:43:38  <peter1138> We're not using C any more.
 
19:43:41  <_glx_> visual studio doesn't care as long as they are in different folders
 
19:43:58  <locosage> old versions cared for some reason
 
19:44:18  <LordAro> i feel like i'm trying to prioritise readability over safety
 
19:44:23  <LordAro> which may or may not be a good thing
 
19:44:36  <peter1138> My coding environment tells me it's a non-const reference.
 
19:45:22  <peter1138> I then can easily look at the comments that appear in a pop up, and it (now) tells me it's an in,out parameter.
 
19:46:00  <peter1138> If it was just one return parameter, then yes, returning that would make sense.
 
19:46:11  <peter1138> These are all in,out with defaults provided that can be overridden.
 
19:46:37  <peter1138> Taking all those those as in parameters and spitting them out again via return is not exactly tidy.
 
19:47:47  <peter1138> If I was still using vim, I admit I'd have to go jumping through hoops to find this out.
 
19:52:24  <truebrain> how is it that the youngest among us is holding on to the oldest tech ... IRC, MSYS, vim ... the list is getting long ๐ ๐ ๐
 
19:53:11  <peter1138> CMake generates bloat don't forget ๐
 
19:54:12  <_jgr_> As long as it's not autoconf, it's fine ๐
 
19:54:41  <_glx_> autoconf, when configure takes 10 times as long as compile
 
19:55:24  <peter1138> (The one where you store the build system, a python blob, in your repo for everyone to run...)
 
19:55:42  <peter1138> IIRC, it's also a binary.
 
19:58:30  *** keoz has quit IRC (Ping timeout: 480 seconds)
 
20:21:05  <peter1138> Ah whoops, it was an old patch, I forgot to double check it after merging changes.
 
20:23:54  *** Wormnest_ has joined #openttd
 
20:23:54  *** Wormnest has quit IRC (Read error: Connection reset by peer)
 
20:30:35  <andythenorth> hmm, could we do articulated ships for multiple holds, without preventing multiple ships in future?
 
20:31:02  <andythenorth> what if length 0 was possible?
 
20:33:20  *** wensimehrp has joined #openttd
 
20:33:20  <wensimehrp> talltyler: Signals works quite differently in different railway systems, i.e. some follows the G-Y-YY-R pattern, others follow the G-YY-Y-R pattern. I think you might need to change the logic by a bit.
 
20:36:23  <truebrain> it might surprise you, but not everything in the game is meant to be realistic ๐
 
20:36:31  <truebrain> sometimes having a feature is better than not having it at all ๐
 
20:38:22  <andythenorth> we just need signals that are faster ๐
 
20:38:33  <truebrain> hmm .. I am trying to figure out when which line in translations are translated last .. but the language files got renamed .. so a simple "git blame" fails ๐
 
20:38:34  <andythenorth> current ones are always red
 
20:40:06  <xarick> wow, windows 11 extracts .tar files natively now
 
20:40:12  <xarick> it's about time microsoft
 
20:41:19  <truebrain> `error: Utf8Error { valid_up_to: 118124, error_len: Some(1) } }`
 
20:41:29  <truebrain> invalid UTF-8? Really? This will be fun ๐
 
20:44:01  <peter1138> Right, there should be no padding changes.
 
20:44:04  <peter1138> That's for another PR ๐
 
20:47:28  <LordAro> truebrain: i learned it from you dad!
 
20:47:40  <truebrain> yeah, that is not the flex you think it is ๐
 
20:48:08  <LordAro> i'm pretty sure it's referencing something
 
20:48:17  <LordAro> but i don't actually know what
 
20:58:58  *** Smedles has joined #openttd
 
21:05:17  <truebrain> yippie, my endless amount of "git blame" works, and I can construct a sensible JSON based on our language files ๐ (one where cases are not a hack ๐ )
 
21:07:03  <truebrain> analyzing a single translation file takes only 1 minute .. most of that is "git blame" being slow ๐
 
21:07:33  <truebrain> our translation files are mutated so often, that a "git blame" isn't a quick operation anymore ๐
 
21:10:39  *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
 
21:17:32  <wensimehrp> A simple graphics replacement grf could fix this, hmm
 
21:41:43  <truebrain> did peter break it again?
 
21:45:09  <_glx_> ```        "/home/arikover/Self-Compile/OpenTTD/OpenTTD/build-master/openttd(_Z22UpdateViewportPositionP6Windowj+0x57) [0x557cf8c3c6a7]",
 
21:45:09  <_glx_> "/home/arikover/Self-Compile/OpenTTD/OpenTTD/build-master/openttd(_Z13UpdateWindowsv+0x1a9) [0x557cf8c653c9]",
 
21:45:09  <_glx_> "/home/arikover/Self-Compile/OpenTTD/OpenTTD/build-master/openttd(_ZN11VideoDriver4TickEv+0x238) [0x557cf87ca9a8]",
 
21:45:09  <_glx_> "/home/arikover/Self-Compile/OpenTTD/OpenTTD/build-master/openttd(_ZN20VideoDriver_SDL_Base8MainLoopEv+0x2e) [0x557cf87bba5e]",
 
21:45:09  <_glx_> "/home/arikover/Self-Compile/OpenTTD/OpenTTD/build-master/openttd(_Z12openttd_mainiPPc+0x1a51) [0x557cf8a5f391]",
 
21:45:11  <_glx_> ``` seems very indirectly related to news changes, but hey it's possible ๐
 
21:59:24  <michi_cc> truebrain: Get old, get lazy, probably ๐
 
22:03:00  *** keikoz has quit IRC (Ping timeout: 480 seconds)
 
22:05:10  *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
 
22:06:40  <truebrain> is it in the news too?
 
22:16:54  <peter1138> DeleteNewsItem is totally wrong. Pom-te-pom.
 
22:30:25  <peter1138> But then, working vs broken...
 
22:30:59  <truebrain> groundbreaking concept, tbh ๐
 
22:38:31  <peter1138> Okay, how to benchmark yapf...
 
22:38:41  <peter1138> Performance and repeatability...
 
22:49:52  *** matusguy has quit IRC (Remote host closed the connection)
 
23:04:15  <peter1138> Shame that `std::as_bytes` uses `std::byte` instead the more sane `uint8_t`...
 
23:13:10  <_glx_> but you can't do math with `std::byte` (a good thing I think)
 
23:18:47  <michi_cc> peter1138: I think the point of that is that `std::byte` has special aliasing rules that the normal types don't have.
 
23:49:35  *** ChanServ sets mode: +v tokai
 
23:56:28  *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
 
23:57:01  *** Wormnest_ has quit IRC (Ping timeout: 480 seconds)
 
continue to next day โต