IRC logs for #openttd on OFTC at 2024-10-07
            
00:44:10 *** felix has quit IRC (Read error: Connection reset by peer)
00:44:16 *** felix has joined #openttd
02:04:26 *** Wormnest has quit IRC (Quit: Leaving)
02:16:15 *** D-HUND has joined #openttd
02:19:49 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:02:26 *** gnu_jj has joined #openttd
03:05:34 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
03:09:41 *** D-HUND is now known as debdog
04:08:26 *** keikoz has joined #openttd
04:36:43 <DorpsGek> [OpenTTD/OpenTTD] YellowOnion commented on issue #12980: [Bug]: Timetables cannot be stopped once started. https://github.com/OpenTTD/OpenTTD/issues/12980
05:12:29 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:19:27 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
06:31:28 <DorpsGek> [OpenTTD/OpenTTD] PikkaBird commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
06:36:19 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
06:40:11 *** keikoz has joined #openttd
06:48:56 <DorpsGek> [OpenTTD/OpenTTD] PikkaBird commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
07:07:37 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
07:16:34 <DorpsGek> [OpenTTD/survey-web] survey-summary[bot] pushed 1 commits to main https://github.com/OpenTTD/survey-web/commit/2f9957a01e3213de14d9a13ca265f376e07155e1
07:16:35 <DorpsGek> - Add: summary for week 40 of 2024 (by OpenTTD Survey)
07:28:13 <DorpsGek> [OpenTTD/OpenTTD] PikkaBird commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
07:52:23 <LordAro> moin
07:52:52 <_pruple> boin
07:57:31 <LordAro> oh excellent, Lachy completed his lap
08:05:43 <johnfranklin> Coin
08:17:29 <peter1138> _pruple: I think you meant "cargo class system" when you wrote "cargo label system".
08:18:11 <_pruple> Almost certainly, yes
08:21:43 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
08:21:55 <peter1138> Ah shit, that was meant to be a reply to andy's comment :S
08:23:00 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
08:23:03 <peter1138> There. Sorry for spam.
08:26:06 <peter1138> Cargo class labels?
08:26:15 <peter1138> (Badges)
08:26:37 <_pruple> badges solve everything
08:33:26 <peter1138> Well...
08:33:28 <peter1138> Not quite.
08:41:19 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
08:41:36 <andythenorth[d]> no but cargo class badges 😛
08:41:45 <andythenorth[d]> I didn't want to derail the discussion
08:42:03 <andythenorth[d]> but I've got a bunch of vehicles for 'food and farm'
08:42:09 <andythenorth[d]> and another set for 'metals'
08:42:16 <andythenorth[d]> and another set for 'cargos that are long'
08:42:44 <andythenorth[d]> combinatorial classes aren't quite capturing them 😛
08:43:41 <andythenorth[d]> I get a cheat code because I wrote my own shared python lib to deal with this at one level of abstraction
08:43:53 <andythenorth[d]> but it's just many many lists of labels 😛
08:53:07 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
08:56:03 <xarick> hello
09:07:59 <xarick> I'm gonna take a deep look at estimate calculations
09:27:55 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
09:32:40 *** akimoto has joined #openttd
09:43:16 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
09:44:19 *** Flygon has quit IRC (Read error: Connection reset by peer)
10:04:23 <andythenorth[d]> wonder what my AWS will be after 10 GB of ingest / file replacement on S3
10:18:17 <DorpsGek> [OpenTTD/nml] LordAro commented on issue #332: Bug: `const` keyword not working https://github.com/OpenTTD/nml/issues/332
10:58:36 <peter1138> "Diagonal Roads" except for Minecraft rails... <https://modrinth.com/resourcepack/diagonal-rails/gallery>
11:02:47 <truebrain> ha, that is pretty nice tbh 😄
11:03:45 <LordAro> helps that they already move diagonally :p
11:06:22 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
11:12:05 <_pruple> yes, the current bits are a bit esoteric. I've certainly never used most of them
11:12:42 <_pruple> but I think it bears repeating that the point of cargo classes is the (relatively) graceful handling of cargos you don't know or care about
11:12:49 <_pruple> not the categorisation of cargos that you do
11:13:26 <andythenorth[d]> yes
11:13:55 <andythenorth[d]> and not the ability to OR/AND/XOR classes on vehicles to get specific results across multiple cargo grfs
11:14:32 <_pruple> no, you've got one property which is OR, and one which is NOT
11:15:25 <andythenorth[d]> oh, so in the docs `OR/AND NOT`
11:15:36 <andythenorth[d]> means `(OR), (AND NOT)`?
11:15:49 <andythenorth[d]> I have been misreading that forever
11:16:24 <andythenorth[d]> I keep looking for how I can refit something by class to `CC_BULK && CC_POWDER`
11:16:34 <andythenorth[d]> but I never found it
11:18:12 <_pruple> powder is only supposed to be used in conjunction with bulk, so just including powder "should" work
11:18:41 <_pruple> but yes, there's no way to *require* multiple classes for refittability
11:20:18 <andythenorth[d]> I'm not going to pretend I ever understood it
11:20:25 <andythenorth[d]> I only understood why it was hard to understand
11:20:40 <andythenorth[d]> 16 years of grf, and I still can't follow this https://newgrf-specs.tt-wiki.net/wiki/Action0/Vehicles/Trains#Cargo_classes_.2828.2C_29.29
11:20:57 <andythenorth[d]> I'm still at 'but why?'
11:21:04 <_pruple> prop 1d is obsolete
11:22:39 <_pruple> so it's simply if it matches any of the classes listed in 28 (includes), and none of the classes listed in 29 (excludes)
11:25:22 <andythenorth[d]> iirc, all my vehicle grfs set prop 29 to blank
11:26:35 *** tokai|noir has joined #openttd
11:26:35 *** ChanServ sets mode: +v tokai|noir
11:27:35 <andythenorth[d]> hmm
11:27:48 <andythenorth[d]> also well
11:33:34 *** tokai has quit IRC (Ping timeout: 480 seconds)
11:34:27 <peter1138> Nobody has complained about my default-cargo-table changes breaking everything yet.
11:34:56 <_pruple> perhaps it hasn't?
11:40:26 <peter1138> It's not in JGRPP yet so no doubt nobody is using it.
11:41:41 <andythenorth[d]> all of the above is true
11:41:53 <andythenorth[d]> was it lunch?
11:42:19 <andythenorth[d]> so
11:42:33 <peter1138> I just remembered Barrysworld.
11:42:45 <peter1138> No particular reason.
11:43:44 <andythenorth[d]> - would it be helpful to have `cargo-class-label`? For things like 'silo' for powderised things that flow under pressure.
11:43:44 <andythenorth[d]> - or should I just learn how to use the existing classes, which are probably perfect, and I probably just failed to understand 😛
11:44:01 <andythenorth[d]> definitely / probably /s
11:44:54 <peter1138> Yeah, classes plus include/exclude labels is "probably enough"?
11:45:36 <peter1138> Like, if you didn't know ir as OR then NOT... well...
11:46:11 <andythenorth[d]> I knew whenever it was last discussed, because I think I wrote some of the docs
11:46:22 <andythenorth[d]> but that was years ago, and I set up vehicle classes and never touched it since
11:47:37 <andythenorth[d]> "I have forgotten more than I know" yada yad
11:47:50 <andythenorth[d]> so how do I do ag covered hoppers?
11:48:06 <andythenorth[d]> wheat, maize, corn, beans, pulses, seeds etc
11:48:21 <andythenorth[d]> I can't see how to OR to those
11:48:32 <andythenorth[d]> they're bulk, covered, pourable, and clean
11:48:47 <andythenorth[d]> I can set all those on the cargo
11:48:55 <andythenorth[d]> but how do I set up my prop 28?
11:50:13 <peter1138> include Bulk exclude Dirty?
11:50:26 <_pruple> yes
11:50:46 <andythenorth[d]> so the advice to never use prop 29 is incorrect?
11:50:57 <peter1138> Who gave you that advice?
11:51:24 <_pruple> if you want them strictly limited to clean cargo, you could include clean and exclude [all the basic classes except bulk]
11:52:04 <_pruple> but be aware that that would mean with most industry sets, they won't be able to carry anything (except cargos you explicitly allow with 2C)
11:52:32 <andythenorth[d]> peter1138: I think it was me
11:52:57 <peter1138> Sounds like "I didn't understand it so made up a rule that it shouldn't be used"
11:53:28 <andythenorth[d]> no there was some genuine issue
11:53:41 <andythenorth[d]> it was back in coop days, autistic handbag fights
11:56:57 <_pruple> if you overuse prop 29, and an industry set overuses the classes, it might result in some cargos being untransportable, I guess.
11:57:12 <_pruple> if every wagon excludes *something*, and some cargo sets *every* class...
11:57:19 <andythenorth[d]> yeah so clay
11:57:26 <andythenorth[d]> clay is sheltered right?
11:57:51 <_pruple> bulk and sheltered (and dirty), I'd say
11:58:53 <andythenorth[d]> yeah no, I literally don't understand, I don't mean your words
11:58:58 <andythenorth[d]> I can't see how this would work
11:59:07 <andythenorth[d]> I have to hold a quadrant in my head
11:59:36 <andythenorth[d]> FIRS Author | Vehicle set Author
11:59:36 <andythenorth[d]> Other industry sets | Other vehicle sets
12:00:10 <andythenorth[d]> beyond my brain 😛
12:02:13 <_pruple> bulk and sheltered and dirty. If the vehicle set author knows/cares about clay, they have an explicit refit on the vehicle, job done.
12:02:13 <_pruple> If they don't, and they have a hopper that carries bulk, job done.
12:02:13 <_pruple> If they have multiple hoppers, they might have one with a cover and one without, the one without excludes sheltered, clay goes in the other one.
12:02:13 <_pruple> they might have one for grain, it excludes dirty, clay goes in the other one.
12:02:13 <_pruple> 🤷
12:04:09 <ahyangyi> if, whenever you exclude something in a vehicle, you also explicitly include the same thing in another vehicle, it would be fine?
12:04:18 <_pruple> can even use the classes for graphics, not just refittability. Cargo has CC_COVERED, use a tarp graphic, etc.
12:04:49 <_pruple> ahyangyi: no. you just need another vehicle that *doesn't* exclude it.
12:05:23 <ahyangyi> Sure, but unless you have a catch-all, class-based exclusion is exclusion as well
12:05:29 <andythenorth[d]> oh yeah that was it, changing classes is bad
12:05:31 <andythenorth[d]> I remember
12:06:26 <andythenorth[d]> as FIRS author, I'm supposed to know what all the historical legacy important big grfs have done
12:06:47 <andythenorth[d]> if I go using the 'extra' classes, they could lead to game-breaking behaviour
12:06:59 <andythenorth[d]> can I file that under 'old news'?
12:07:08 <_pruple> changing classes was bad with train prop 1D, because it was a XOR. that's why 1D has been deprecated in favour of 2C and 2D, which don't care about classes.
12:07:20 <andythenorth[d]> yeah, and it's not 2012 any more
12:08:15 <andythenorth[d]> I remember having some of the big train grfs open and playing 'guess the classes' with cargos
12:08:16 <peter1138> Not sure if NML supports 1D, if it does it should be flagged deprecated.
12:08:18 <ahyangyi> Makes me want to make an "alien industry" set
12:08:35 <ahyangyi> where water is a toxic gas, because aliens
12:08:43 <ahyangyi> and see how things break up (or don't)
12:08:55 <peter1138> Hmm looks like NML explicit sets 1D to 0 if you use 28/29.
12:09:07 <peter1138> So already handled in NML.
12:09:11 <andythenorth[d]> ok, so much as think `cargo-class-label` would be a good thing
12:09:15 <andythenorth[d]> it sounds like work
12:09:23 <andythenorth[d]> and I've implemented it myself via a shared lib
12:09:43 <andythenorth[d]> it would be nice to have 'grains, pulses, beans, seeds' as a list of labels
12:09:43 <ahyangyi> 😮
12:09:48 <ahyangyi> Road hog upgrade confirmed?
12:10:03 <andythenorth[d]> or 'finished and semi-finished metal products' as a list of labels
12:10:14 <andythenorth[d]> or 'metal things transported as coils' as a list of labels
12:10:19 <andythenorth[d]> etc
12:10:28 <ahyangyi> Oh, I thought you are going to rework that library
12:10:32 <andythenorth[d]> no
12:10:43 <andythenorth[d]> I maintain it though
12:10:44 <ahyangyi> Polar fox, right?
12:10:46 <andythenorth[d]> yes
12:10:58 <andythenorth[d]> so I'll just keep adding labels to that
12:11:02 <ahyangyi> Yeah
12:11:12 <andythenorth[d]> shame I can't make it read the FIRS cargos, then populate some of the lists directly
12:11:30 <andythenorth[d]> [I could, but it would be fragile automation]
12:14:00 <peter1138> You can use 28/29 to include/exclude explicit labels...
12:14:31 <peter1138> Class include/exclude and Label include/exclude are not mutually exclusive.
12:18:24 <peter1138> Err
12:18:29 <peter1138> Yeah
12:33:47 <andythenorth[d]> peter1138: yes, this is what I do, it works perfectly
12:34:05 <andythenorth[d]> and I have my own lists of labels in python to share across grfs
12:35:54 <andythenorth[d]> nah, that's not what I do
12:35:59 <andythenorth[d]> I use 2C/2D
12:36:26 <peter1138> I think that's what I meant 🙂
12:37:41 <andythenorth[d]> I am totally distracted by 'why?' exclude was ever wanted
12:38:01 <andythenorth[d]> it all smells of some Important train grfs for TTDP
12:38:30 <peter1138> Because it allows you to exclude cargos that you don't know about by class,
12:39:06 <andythenorth[d]> oh cement
12:39:07 <andythenorth[d]> I remember
12:43:04 <andythenorth[d]> maybe I should write some web service to produce a json structure of cargo-labels-by-abitrary-group
12:43:08 <andythenorth[d]> from FIRS
12:43:13 <andythenorth[d]> then authors could use it
12:44:14 *** keikoz has quit IRC (Ping timeout: 480 seconds)
13:02:43 <andythenorth[d]> 'all the cargo labels for covered hoppers'
13:02:52 <andythenorth[d]> 'all the cargo labels for food tankers'
13:06:04 <xarick> there is no TrackdirToDirection 😦
13:07:49 <kuhnovic> check TrackdirToExitDir
13:09:12 <xarick> alright
13:09:40 <xarick> I'm messing with estimates
13:10:57 <kuhnovic> I bet you are :p
13:37:32 <xarick> dang, I dont want diagdirs 😦
13:37:51 <xarick> i want directions, the 8 directions
13:39:45 <peter1138> Hmm. What's that at the end of track_func.h
13:40:06 <peter1138> Oh, it's a JGRPP addition, wrong window open 😄
13:40:56 <kuhnovic> But in general, track_func.h is your friend (I believe that's the file containing TrackdirToExitDir... I'm talking about that file 😛 )
13:56:58 <peter1138> tt-forums
13:57:05 <peter1138> Is a bit of a dead zone.
13:58:21 <peter1138> There are some stalwarts there who do not interact with irc, discord, or github at all.
14:00:59 <xarick> I found it!
14:01:00 <xarick> _trackdir_to_direction
14:01:05 <xarick> it's not in the place that should be
14:01:52 <andythenorth[d]> ach just had a horrible idea, of the regrettable sort
14:02:01 <peter1138> Make a proper function of it then.
14:02:08 <andythenorth[d]> cargos could have 'acts like', pointers to another cargo label
14:02:10 <peter1138> You used GPT *again*?
14:02:13 <andythenorth[d]> e.g. COKE -> COAL
14:02:24 <andythenorth[d]> no I didn't talk to GPT about this
14:02:32 <andythenorth[d]> usually it stops me on the horrible ideas
14:04:02 <andythenorth[d]> but maize, wheat, beans, oilseeds should all just work like grain as far as refit support
14:04:14 <andythenorth[d]> so they could all just have a pointer to GRAI for refit
14:04:58 <andythenorth[d]> there are nearly enough cargos in the core game to cover nearly all mappings 😛
14:06:45 <andythenorth[d]> there's no industrial powder like cement
14:07:26 <andythenorth[d]> there's no vehicles
14:08:41 <andythenorth[d]> https://newgrf-specs.tt-wiki.net/wiki/CargoTypes#Cargo_Labels
14:10:03 <andythenorth[d]> 'like grain' or 'like coal' is more intuitive to my small brain than combining and excluding classes
14:10:25 <peter1138> We've got fizzy drinks though.
14:16:36 *** nielsm has joined #openttd
14:27:57 <andythenorth[d]> Hmm beer is fizzy
14:33:28 <ahyangyi> `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246`
14:37:45 *** HerzogDeXtEr has joined #openttd
15:03:49 *** keikoz has joined #openttd
15:11:45 <peter1138> Maximum compatibility.
15:16:10 *** gelignite has joined #openttd
15:20:04 *** akimoto has quit IRC (Remote host closed the connection)
15:35:01 <DorpsGek> [OpenTTD/nml] glx22 commented on issue #332: Bug: `const` keyword not working https://github.com/OpenTTD/nml/issues/332
15:42:24 *** keikoz has quit IRC (Ping timeout: 480 seconds)
15:48:19 <andythenorth[d]> maybe I should see how many FIRS cargos map to original
15:55:53 <xarick> I can't solve this
15:56:12 <xarick> as much as I'd like to... I have to concede
16:02:46 *** keikoz has joined #openttd
16:03:43 <xarick> what was that commit from some years ago related to 90 degrees on ships which was increasing the number of nodes to an exponential degree.... I wonder if this would be it
16:04:35 <xarick> pre-Kuhnovic
16:04:49 <xarick> he didn't exist yet
16:08:06 <xarick> maybe even pre-2TallTyller
16:12:55 <xarick> ah, found it
16:22:09 <xarick> https://github.com/OpenTTD/OpenTTD/commit/7ca1793ec4d75c99de41dc27431c3b9c8353d7a1
16:22:21 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #12975: Defining bits 13 and 14 of cargo class as "potable / food / clean" and "non-potable / non-food / dirty", respectively. https://github.com/OpenTTD/OpenTTD/discussions/12975
16:24:19 <xarick> oh, it is already using Trackdir
16:31:52 <xarick> oops
16:31:55 <xarick> it's not
16:31:57 <xarick> CShipNodeListExitDir
16:32:20 <andythenorth[d]> `About the interaction with other properties take a look at the summary page about vehicle refitting.`
16:32:31 <andythenorth[d]> well https://newgrf-specs.tt-wiki.net/wiki/VehicleRefitting
16:32:40 <xarick> gonna try CShipNodeListTrackDir
16:34:04 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1292887673702187070/image.png?ex=67055efa&is=67040d7a&hm=fcc3acac9f9782b834e9095fd9bd3909eda0f4477f4a4e1d903f537ec087bc60&
16:34:04 <xarick> MISTERY SOLVED! (maybe)
16:36:57 <xarick> @glx can you re-revert <https://github.com/OpenTTD/OpenTTD/commit/11dece205c83b530d7ddaa1290efde04f4dfdeb9> solved my issue
16:37:33 <xarick> now that there's water regions, could it be reinstated?
16:42:01 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1292889685424869447/image.png?ex=670560d9&is=67040f59&hm=322780e99ff1fd44c09b19d8bc0a1402154561d8bb60ca1dcc6fab97d7087d34&
16:42:01 <xarick> this would be a better screenshot
16:42:19 <xarick> it finally knows the depot to the right is the better one
16:42:26 <xarick> as it should
16:43:20 <peter1138> Your pictures don't show anything useful.
16:43:54 <xarick> well, let me show you what it did yesterday
16:44:40 <xarick> https://discord.com/channels/142724111502802944/1008473233844097104/1292571977554591784
16:45:03 <peter1138> Is it not obvious that if you want to show a change in before, you should show a before and after pic?
16:47:02 <xarick> so basically I changed CShipNodeListExitDir to CShipNodeListTrackDir
16:48:21 <peter1138> Have you considered being a politician?
16:49:38 <xarick> gonna check how much of a permormance penalty it gets on the 70k ship game
16:50:02 <peter1138> Nobody cares about the performance of a 70,000 ship game that already isn't playable.
16:53:30 <xarick> in that case, revert ! 🙂
16:54:28 <peter1138> No.
16:54:36 <_glx_> I still don't understand what is the real issue
16:55:01 <andythenorth[d]> I think this is just the equivalent of me adding 997 wagons to Horse
16:55:04 <andythenorth[d]> there's no actual problem
16:55:07 <andythenorth[d]> it's just a hobby
16:56:06 <andythenorth[d]> ok classes
16:57:33 <andythenorth[d]> we can never set bit 9 (covered/sheltered) for the default grain, wheat, maize, sugar cargos, yes?
16:57:40 <andythenorth[d]> because classes can never change once set?
16:58:20 <_glx_> I expect those cargo to be covered
16:59:13 <peter1138> Those cargo types are NOT covered in the default vehicles.
16:59:30 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1292894081504252036/image.png?ex=670564f1&is=67041371&hm=9901f212bc396fdb7393925b8ef40d2cba7ef57b1a1fe4cae270233cf19096d1&
16:59:46 <xarick> the problem, as far as my limited understanding goes, is related to nodes already visited/searched being on the open list. with tile/trackdir, there's a better differenciator than tile/exitdir.
17:00:07 <LordAro> xarick: no, that's still a solution
17:00:11 <LordAro> what is the problem you are seeing
17:00:20 <LordAro> sorry, a "solution"
17:00:51 <andythenorth[d]> peter1138: yeah that 🙂
17:01:18 <xarick> I made tests comparing the costs and in some situations, it wasn't making sense, such as that sudden change of paths in the video
17:02:05 <xarick> then i ommited one depot, reran the tests and there it was, the costs were favourable to the depot on the right
17:02:45 <xarick> sometihng during the search must have already considered some tile/dir as "already tested"
17:03:31 <andythenorth[d]> but no!
17:03:31 <xarick> and it was maybe "already tested" with a cost that wasn't favourable with the 2 depots
17:03:35 <kuhnovic> Yeah so let's revert a perfectly good change, so that the LL PF evaluates 12 dirs per tile instead of 4. Just to solve your non-existing problem.
17:03:40 <kuhnovic> Yeah so let's revert a perfectly good change, so that the LL PF evaluates 12 dirs per tile instead of 4. Just to solve your non-existing problem.
17:03:40 <andythenorth[d]> wait, classes are about the cargo not the vehicle 😛
17:03:59 <andythenorth[d]> grain could still be covered?
17:05:32 <xarick> It was a change for when there were no water regions, as the pf was usually returning a lot of path not founds for a relatively short path search
17:06:09 <xarick> it was expanding too many search nodes
17:06:32 <xarick> but today, with those regions, you know... retry it?
17:06:38 <xarick> it's more accurate
17:06:47 <peter1138> That is not sound logic.
17:09:06 <LordAro> xarick: file an issue with the problem you have found (if you haven't already), with *zero* references to the code. Assume you're "just" a user
17:09:34 <LordAro> only once you have done that start making suggestions about possible causes and solution
17:09:37 <LordAro> s
17:13:08 <xarick> if i were just a user, this wouldn't likely be found
17:13:36 <LordAro> likely isn't (necessarily) important
17:13:52 <LordAro> if it's possible, you should be able to construct a *small* save file demonstrating the issue
17:13:54 <truebrain> Going around the bushes again are we? 🙂
17:13:59 <LordAro> none of this 70000 ships nonsense
17:14:06 <LordAro> truebrain: it's not changed in the past 10 years
17:14:29 <truebrain> we keep on trying 😄
17:15:01 <andythenorth[d]> 70k ships is normal player amount though?
17:15:04 <andythenorth[d]> every game
17:15:05 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1292898005921300490/image.png?ex=67056899&is=67041719&hm=ca6d98d30750975812f670bbdb63279d3e6ed6e4f05b20c075890295dfc809f0&
17:16:50 <kuhnovic> I think we need a new PR label. "70000 ship nightmare".
17:17:21 <truebrain> We have that! It is called "Close PR" 🙂
17:17:52 <truebrain> I remember back in the day where single-core machines were the norm
17:17:59 <truebrain> someone made a patch to use multiple cores
17:18:07 <truebrain> the problem? It was, let's say, 13% slower on a single core
17:18:13 <truebrain> but a lot faster on multi core
17:18:18 <truebrain> so the PR was denied
17:18:26 <truebrain> then it was like 3% slower on a single core
17:18:30 <truebrain> still .. "not worth it"
17:18:46 <truebrain> how times have changed ...
17:18:52 <truebrain> now we are talking about games with 70k ships 😛
17:19:03 <truebrain> (good story bro; I know right)
17:19:15 <LordAro> didn't have PRs back then :p
17:19:21 <truebrain> PR -> patch
17:19:23 <truebrain> you are right 😛
17:19:31 <LordAro> ^^
17:20:34 <peter1138> Well
17:20:47 <peter1138> If are you unlucky you got involved with mercurial...
17:20:53 <peter1138> What
17:20:59 <peter1138> If you were unlucky...
17:21:23 <truebrain> I loved hg 🙂
17:21:32 <truebrain> still has the better CLI
17:23:19 <andythenorth[d]> pff
17:23:30 <andythenorth[d]> I prefer shooting myself in the head with git
17:23:39 <andythenorth[d]> to mercurial nagging me about basic things
17:24:16 <LordAro> andythenorth[d]: lies
17:24:30 <LordAro> andythenorth[d]: you prefer asking ChatGPT how to shoot yourself in the head
17:24:49 <andythenorth[d]> this is accurate
17:25:21 <kuhnovic> I also really like mercurial. Especially in combination with tortoiseHg.
17:25:44 <LordAro> i liked mercurial
17:25:45 <truebrain> these days I am just happy the direction git-butler is going
17:25:48 <LordAro> especially the patch queues
17:25:52 <truebrain> hopefully that will bring some joy back into working with git 😛
17:25:59 <LordAro> what were they, mq or something?
17:26:08 <LordAro> now i heavily make use of rebase
17:26:11 <LordAro> coincidence?!
17:26:11 <truebrain> owh, the patch queues were awesome 😄
17:26:24 <truebrain> made it also easier to show others your work, back in the days github didn't exist
17:26:33 <LordAro> aye
17:26:41 <LordAro> especially with those massive pedants at OTTD
17:26:52 <truebrain> I know nothing!
17:31:58 <peter1138> I absolutely hated hg.
17:32:09 <peter1138> Dunno how, it just didn't click.
17:32:18 <truebrain> the CLI was too simple? 😛
17:32:52 <andythenorth[d]> it's like a nanny
17:33:11 <andythenorth[d]> I can't remember why I fell out with it, but branching was painful
17:33:33 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12969: Add: AppendStringInPlace() to append translated string ID into existing string. https://github.com/OpenTTD/OpenTTD/pull/12969#pullrequestreview-2352559674
17:34:51 * andythenorth[d] googled
17:35:04 <andythenorth[d]> yeah commits are immutably tied to branches in hg, according to the docs
17:35:12 <andythenorth[d]> git is mad, and dangerous, but much simpler
17:35:12 <xarick> impossible to replicate the issue in 14.1
17:35:41 <xarick> it has a different way to find nearest depot... doesn't even use the pf
17:37:12 <LordAro> using a nightly is fine
17:37:16 <xarick> the only thing I have for show is the ship going on a path that takes a 90 degrees turn, which is not the cheapest
17:37:27 <xarick> but no normal user would know that
17:38:03 <LordAro> normal users can do all sorts of strange things
17:38:13 <kuhnovic> andythenorth[d]: Branches in hg are indead a pain. At my company we used bookmarks, which are a bit more like branches in git. But it does feel a bit like an afterthought.
17:39:23 <kuhnovic> We switches to git now, I like it, but I really miss the hg mq patch queue. So much more powerful than git staging/stashes.
17:39:49 <peter1138> In git you just branch everything because branches are cheap.
17:40:21 <peter1138> An unmerged branch is effectively a patch queue right? 😄
17:40:31 <LordAro> ^
17:40:31 <kuhnovic> xarick: This I have noticed too, and that does seem to be related to the optimization commit you quoted.
17:41:20 <kuhnovic> peter1138: Does it feel reassuring if I say yes? 😛
17:41:26 <LordAro> peter1138: my main git checkout (which is spread over 4 worktrees) currently has 34 branches
17:41:34 <LordAro> at work*
17:41:47 <peter1138> ~/src/openttd$ git stash list | wc -l
17:41:47 <peter1138> 386
17:41:48 <LordAro> some of those have actually been pushed somewhere
17:41:49 <peter1138> Sure.
17:41:52 <LordAro> :D
17:42:06 <LordAro> only 20 stashes
17:42:12 <LordAro> i think most of those are useless though
17:42:25 <peter1138> /src/openttd$ git branch -l | wc -l
17:42:25 <peter1138> 414
17:42:26 <peter1138> Well.
17:42:30 <andythenorth[d]> it's really hard to break git
17:42:31 <LordAro> :D
17:42:46 <LordAro> peter1138: do you delete branches after they're merged?
17:42:47 <andythenorth[d]> anything is fixable if you sit through enough merge resolution
17:42:53 <peter1138> Yes.
17:42:56 <LordAro> nice.
17:43:16 <peter1138> Usually. Sometimes I forget if I auto-merge them.
17:43:23 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1292905125408673832/image.png?ex=67056f3a&is=67041dba&hm=95ff10540d7e8e197cb84c1c484dc5a26db2ad2f51f2088e5dcc48da72013c88&
17:43:23 <andythenorth[d]> 😛 FIRS
17:43:31 <kuhnovic> Your superhero name should be Peter Patch
17:43:36 <andythenorth[d]> there has been some manual cherry-picking out of dead ends ^^
17:43:38 <LordAro> andythenorth[d]: our lord and saviour, rebase --abort
17:43:43 <andythenorth[d]> indeed
17:44:04 <andythenorth[d]> I did a FIRS cherry-pick of about 200 commits I think for v5
17:45:30 <Rubidium> kuhnovic: don't forget his middle name is "I have a patch for that" ;)
17:52:08 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1292907329246986341/2024-10-07_18-51-02.mp4?ex=67057148&is=67041fc8&hm=111b633abf5ba801cc72cd47ea4e5130b39faf6b1b5362b64ea2b43d7e8d533a&
17:52:22 <xarick> hmm av1 unsupported by discord?
17:54:48 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1292907995897790474/2024-10-07_18-51-022.mp4?ex=670571e7&is=67042067&hm=6ef69c8ab9263fa979bdb68390f7a22b237929c17d908bca06098b55bf6cbf71&
17:54:48 <xarick> 14.1, ship doing the 90 degrees turn
17:54:54 <xarick> what a showcase
17:57:22 <talltyler> What's the problem? The ship goes to the depot I expect it to.
17:57:59 <xarick> without knowing the inner workings, no problem found.
17:58:22 <_glx_> yeah it goes to closest
17:59:22 <kuhnovic> The 90 degree turn at the end is technically unnecessary though. That is related to the node optimization thing Xarick quoted.
17:59:47 <talltyler> The turn is required to enter the depot, no?
18:00:04 <xarick> yes, but 2 45 turns are cheaper than 1 90 turn
18:00:14 <kuhnovic> Yes but it could have been two 45 deg turns, that would be more efficient
18:00:19 <xarick> it did not pick the cheapest path
18:00:40 <kuhnovic> Actually it did
18:01:00 <_glx_> it always pick the cheapest
18:01:10 <_glx_> that's how pf works
18:02:25 <kuhnovic> It only looks at exit dirs. The LEFT_N and Y_NW dirs have the same exit dir: NW
18:02:45 <andythenorth[d]> could we set bit 5 (piece goods) for FOOD?
18:03:28 <kuhnovic> So depending on which came first, the PF considered that tile+exitdir combination as already evaluated and ignored it. That's a consequence of the exit dir optimization.
18:03:53 <kuhnovic> (I have to verify that, but I'm 95% sure)
18:05:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12969: Add: AppendStringInPlace() to append translated string ID into existing string. https://github.com/OpenTTD/OpenTTD/pull/12969
18:06:06 *** Wolf01 has joined #openttd
18:17:41 <andythenorth[d]> bubbles are piece gods 🙂
18:40:36 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #12982: Codefix f481c9fc: Incorrect references to previous items in DumpTarget https://github.com/OpenTTD/OpenTTD/pull/12982
18:48:47 <peter1138> I have... no idea what that code is :p
18:49:08 <LordAro> oh hey, i broke something
18:50:04 <_jgr_> It's for debugging/dumping the pathfinder state
18:51:36 <peter1138> Isn't the usual way to debug pathfinder state to load up save with 70,000 ships and have no idea what anything is doing?
18:52:07 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #12982: Codefix f481c9fc: Incorrect references to previous items in DumpTarget https://github.com/OpenTTD/OpenTTD/pull/12982#pullrequestreview-2352700986
18:54:30 <xarick> there are 16 trackdirs, but 4 are road specific
18:54:33 <xarick> so 12
19:11:13 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1292927230019895408/Captura_de_ecra_2024-10-07_200955.png?ex=670583d1&is=67043251&hm=1d27f95f22985b667ecdf9cb9a4bccee5a6f46e9dd5b40f7c55fe13889f3c635&
19:11:13 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1292927230325948467/Captura_de_ecra_2024-10-07_200848.png?ex=670583d1&is=67043251&hm=02885113f094c838b88dc4c38d351922b41ec190803d7949ae470a62c15aad2d&
19:11:13 <xarick> I was right
19:12:44 <xarick> 90 degrees costs 2655, 45 degrees costs 2255
19:13:47 <xarick> CShipNodeListExitDir vs CShipNodeListTrackDir
19:18:40 <andythenorth[d]> could bubbles be industrial gas? 😛
19:18:46 <andythenorth[d]> we don't have a cargo class for that anyway
19:18:52 <andythenorth[d]> nor pressure discharge
19:18:59 <andythenorth[d]> nor cryo gas
19:19:07 <andythenorth[d]> nor drive on / drive off (vehicles)
19:26:57 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1292931187177951346/image.png?ex=67058780&is=67043600&hm=b8093846524c10ef14ac012c4337d0abca30de15d68164e5dd5aa981ccab1b71&
19:26:57 <xarick> wow, it hurts
19:29:31 <xarick> but no one uses 70k ships in a normal game 🙂
19:32:45 <kuhnovic> Turned off the exitdir optimization?
19:33:06 <xarick> yes, on master
19:34:33 <xarick> let me check what hlpf use
19:35:15 <xarick> oh, uses its own regions thingy
19:35:26 <xarick> water patches
19:36:19 <xarick> CYapfRegionPatchNodeKey
19:38:02 *** Flygon has joined #openttd
19:38:14 <andythenorth[d]> hmm, 20 years of grfs with lots of assumptions about cargo labels and classes
19:38:20 <andythenorth[d]> vs. the next 20 years
19:41:14 <xarick> 4096 * 4096 * 12 = 201 326 592 unique keys
19:41:34 <andythenorth[d]> this channel: two people monologue
19:42:55 <xarick> 256 * 256 * 256 = 16 777 216 unique water patches
19:53:22 <kuhnovic> It's not going to matter for the HL PF as it used a totally different mechanism. But for each LL PF you can get up to three times the number of nodes. And you will definitely see that in a 70K ship map haha.
20:01:56 <kuhnovic> We could turn that optimization off now, but the LL PF is generally the main contributor to the total ship PF computation time. So I think we'll be better off leaving it the way it is, even if it means ship take the occasional 90 degree turn.
20:21:59 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:23:49 <johnfranklin> andythenorth[d]: which two?
20:41:33 <andythenorth[d]> yes
20:59:21 <andythenorth[d]> best visual metaphor for LLMs https://youtube.com/shorts/YhJkBlFufZk?si=PWN2jt7paspzipFw
21:02:28 *** SigHunter has quit IRC ()
21:05:21 *** SigHunter has joined #openttd
21:08:38 *** tokai has joined #openttd
21:08:38 *** ChanServ sets mode: +v tokai
21:15:39 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
21:21:53 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:23:01 *** gelignite has quit IRC (Quit: Stay safe!)
21:28:17 <xarick> how do I insert a commit between two others via rebase?
21:28:44 <xarick> i mean to add a commit while editing
21:36:33 <peter1138> You can do that but you might be better off using another branch temporarily.
21:57:43 <_glx_> using interactive rebase it's possible to duplicate commit and edit the first one
21:57:55 <_glx_> but yeah branch first 🙂
22:07:28 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:14:00 <xarick> I got this
22:14:51 <xarick> time for bed
22:15:04 <xarick> My ugly stuff so far... <https://github.com/OpenTTD/OpenTTD/compare/master...SamuXarick:OpenTTD:find-nearest-depot-with-multiple-destinations?expand=1>
22:33:18 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:44:22 *** D-HUND has joined #openttd