Times are UTC Toggle Colours
00:12:32 *** HerzogDeXtEr has quit IRC 00:43:16 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened issue #12182: [Bug]: #11959 "easy/medium/hard" AI setting randomisation is being applied to GS configuration https://github.com/OpenTTD/OpenTTD/issues/12182 00:52:28 *** Leopold_ has quit IRC 00:57:46 *** Leopold_ has joined #openttd 01:01:06 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #12182: [Bug]: #11959 "easy/medium/hard" AI setting randomisation is being applied to GS configuration https://github.com/OpenTTD/OpenTTD/issues/12182 02:02:35 *** Flygon has quit IRC 02:45:53 *** Leopold___ has joined #openttd 02:46:03 *** Leopold_ has quit IRC 03:02:10 <DorpsGek> [OpenTTD/OpenTTD] AnthonyGithubCorner commented on pull request #12164: Add: Highlight in white all pieces of company owned infrastructure in the viewport https://github.com/OpenTTD/OpenTTD/pull/12164#issuecomment-1963235831 03:09:41 *** Leopold___ has quit IRC 03:10:45 *** Leopold has joined #openttd 03:28:10 *** Wormnest has quit IRC 03:52:56 *** D-HUND has joined #openttd 03:56:19 *** debdog has quit IRC 03:58:50 *** gnu_jj_ has joined #openttd 04:02:00 *** gnu_jj has quit IRC 04:24:26 *** D-HUND is now known as debdog 05:01:09 <ajmiles> Got the "undraw" functionality working so the chat message area can do its thing when drawing a dark transparent background behind the chat messages. Such a cursed feature! 05:07:20 *** keikoz has joined #openttd 05:13:13 <ajmiles> Tomorrow: Screenshots. And what should be the final function in the blitter that needs supporting CopyImageToBuffer 05:14:58 *** misterbungus has quit IRC 05:35:30 *** Leopold has quit IRC 05:35:31 *** Leopold has joined #openttd 05:39:25 *** Ox7C5 has joined #openttd 05:45:29 *** Leopold has quit IRC 05:49:40 *** Leopold has joined #openttd 05:55:10 *** Leopold has quit IRC 05:58:27 *** Leopold has joined #openttd 06:13:24 *** keikoz has quit IRC 06:36:41 *** herms has joined #openttd 07:13:21 <DorpsGek> [OpenTTD/survey-web] survey-summary[bot] pushed 1 commits to main https://github.com/OpenTTD/survey-web/commit/e94b9fe7405ce83ad5f16a82354652165e9fe4f1 07:13:22 <DorpsGek> - Add: summary for week 08 of 2024 (by OpenTTD Survey) 07:45:59 <andythenorth> wonder if there's a way to do code analysis on nml 07:46:35 <andythenorth> I want to know the largest switches (where 'largest' means branching to highest count of unique varact2 IDs) 07:47:07 <andythenorth> maybe nmlc could log this? 07:47:12 <merni> ajmiles: That feels very old-fashioned 07:47:42 <merni> the idea of "un-drawing" 08:04:08 *** Ox7C5 has quit IRC 08:13:07 <andythenorth> hmm, is it fine for the graphics chain to check about 7000 varact 2 every time it runs? (load a register value and compare it with vehicle ID) 08:13:09 <peter1138> > Game from 1995 08:13:49 <andythenorth> I need to reduce varact 2 ID consumption, so instead of trying to span directly to a varact 2 that might be very far away in the ID space, I can make a recursive switch on every vehicle, and just chain up through them 08:14:27 <andythenorth> basically a switch that says "this is not the switch you are looking for" most of the time 08:15:23 *** ahyangyi has joined #openttd 08:15:23 <ahyangyi> Can you solve the ID consumption problem by reordering things? 08:16:08 <andythenorth> that route has mostly been explored as far as it can 08:16:33 <andythenorth> the main consumer of varact 2 IDs is 'randomised vehicles' 08:17:12 <ahyangyi> Hmm, you could also duplicate some of these varact2s, which results in ligher varact2 consumption but bigger newgrfs 08:17:24 <andythenorth> and much slower compiles 08:18:01 <ahyangyi> yeah 08:18:09 <andythenorth> but it's a closing door anyway: duplicating the varact2s results in the same problem with 'randomised vehicles', but from a different direction 08:18:11 <ahyangyi> I just optimized my compile time from ~20min to ~6min 08:18:20 <andythenorth> ouch, that's insane 08:18:31 <andythenorth> any more than 30s and I can't work 08:19:53 <johnfranklin> What on earth is varaction 2? "switch" in NML? 08:20:43 <ahyangyi> yes 08:20:58 <andythenorth> so Horse 'randomised' vehicles have an action 3 / varact 2 that 08:20:58 <andythenorth> * picks a random other vehicle from a list of candidates 08:20:58 <andythenorth> * chains to that vehicles graphics varact 2 chain 08:20:58 <andythenorth> * has to span across all of the vehicles in the candidate list, and all *their* varact 2s 08:20:58 <andythenorth> * the compile tries to optimise by placing randomisation candidates adjacent to the randomised vehicles 08:21:00 <andythenorth> * vehicles can be randomisation candidates for multiple 'randomised' vehicles 08:21:54 <andythenorth> current Horse, these randomised vehicles consume about 40 unique varact 2 IDs (from a limit of 256) 08:23:34 <ahyangyi> Yeah, I feel paying that 40 IDs is the sanest solution 08:24:25 <andythenorth> I don't have that much capital 😛 08:24:29 <andythenorth> the ID limit is being hit 08:24:32 <ahyangyi> If I feel mad I might consider organizing the candidates in binary trees 08:25:00 <ahyangyi> And wish good luck that I don't break these delicate constructs in the next refactor 08:26:47 <ahyangyi> ( I'm under the impression that Horse tries to be as backwards compatible as possible? ) 08:30:13 <reldred> no he breaks save compat all the time 😛 08:30:41 <ahyangyi> Hmm, from a pure optimization (i.e. minimize maximum varact2 consumption) perspective, it seems not be a binary tree, but a tree where each i-th level node has (i+1) children; and still relies on assumptions about what candidate gets used in what randomised vehicle 08:30:44 <johnfranklin> I should move my fork collection to a single github repo 08:30:57 <johnfranklin> Is this a bad idea 08:31:10 <reldred> I keep everything in seperate repo's 08:31:35 <reldred> Makes it easier especially if my fork is of someone elses github project 08:31:59 <johnfranklin> Oh 08:32:12 <johnfranklin> Keep them separate 08:33:52 <LordAro> Why do you want to merge them? 08:34:26 <johnfranklin> I thought it would be convenient 08:34:46 <johnfranklin> And I have tons of unfinished craps 08:36:30 <andythenorth> ahyangyi: have you seen this? https://github.com/andythenorth/iron-horse/blob/main/src/roster.py#L107 08:37:43 <peter1138> var act 2 extended byte? 08:38:00 <andythenorth> goes it I broke the limits *again*? 😛 08:38:47 <peter1138> Also, slightly relatedly, is the 255 industry tile layouts per GRF a problem? 08:39:07 <andythenorth> FIRS hasn't hit it yet 08:39:10 <reldred> disturbs me very sprites 08:39:31 <ahyangyi> johnfranklin: Creating "organizations" might be a solution 08:39:45 <andythenorth> FIRS has used 185 tile layouts so far 08:39:59 <peter1138> <https://github.com/OpenTTD/OpenTTD/compare/master...PeterN:OpenTTD:act2id-extended-byte> 08:40:07 <peter1138> Still 70 off the limit then. 08:40:15 <andythenorth> in principle, tile layouts can be worked around 08:40:35 <andythenorth> already ~everybody reuses tiles that check position in industry layout 08:40:42 <peter1138> Yeah you can vary the layout by varactions. 08:40:47 <andythenorth> then also the industry ID could be checked 08:40:59 <andythenorth> 'one tile to rule them all' 08:41:18 <ahyangyi> Considering that the industry limit is even smaller, and the industry layout field has a rather small byte limit as well 08:41:19 <peter1138> What if to remove the limit is 1 line of code? 08:41:19 <andythenorth> it's only static props (animation stuff etc) that need a new layout 08:41:29 <andythenorth> goes it throw out LOC 08:42:23 <peter1138> What if the comment for the limit explicitly mentions "extending action3 with an extended byte later on"? 08:42:40 <andythenorth> these are the things I have seen before 😛 08:42:51 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1211594214241075200/image.png?ex=65eec40b&is=65dc4f0b&hm=e888ba95cca1c3eb2683d59f58ea2d84f944eb230e820b049f96c0954bcd25bc& 08:42:51 <andythenorth> oops, accidental HST 08:48:27 <ahyangyi> andythenorth: Yeah. My point is that, instead of: 08:48:27 <ahyangyi> <variation 1> 08:48:27 <ahyangyi> <variation 2> 08:48:27 <ahyangyi> <variation 3> 08:48:27 <ahyangyi> <variation 4> 08:48:27 <ahyangyi> <variation 5> 08:48:27 <ahyangyi> <varact 2> 08:48:29 <ahyangyi> (with a peak consumption of 5 IDs) 08:48:29 <ahyangyi> You could do: 08:48:31 <ahyangyi> <variation 1> 08:48:31 <ahyangyi> <variation 2> 08:48:33 <ahyangyi> <variation 3> 08:48:33 <ahyangyi> <varact 2> 08:48:35 <ahyangyi> <variation 4> 08:48:35 <ahyangyi> <variation 5> 08:48:37 <ahyangyi> <varact 2> 08:48:37 <ahyangyi> (with a peak consumption of 3 IDs) 08:51:02 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12183: Change: Throw out per-grf industry tile limit. https://github.com/OpenTTD/OpenTTD/pull/12183 08:51:43 <reldred> peter goes and throwed out limitation 08:52:42 <andythenorth> ahyangyi: yes, your layout is approximately the idea I had also 08:53:03 <andythenorth> it means that OpenTTD has to evaluate more each time the graphics are resolved 08:53:39 <andythenorth> I was going to do 08:53:39 <andythenorth> <variation 1> 08:53:39 <andythenorth> <varact 2> 08:53:39 <andythenorth> <variation 2> 08:53:39 <andythenorth> <varact 2> 08:53:40 <andythenorth> <variation 3> 08:53:40 <andythenorth> <varact 2> 08:53:42 <andythenorth> <variation 4> 08:53:42 <andythenorth> <varact 2> 08:53:44 <andythenorth> <variation 5> 08:53:44 <andythenorth> <varact 2> 08:53:53 <andythenorth> which means every vehicle gets a switch of this kind, but only one 08:53:59 <andythenorth> and all randomised candidates can reuse 08:54:27 <ahyangyi> yes, point is that the computational overhead of a fairly balanced tree is much smaller than a caterpillar-shaped tree, if it is ever a concern 08:54:28 <andythenorth> but it's insane in terms of graphics resolution 09:13:21 <peter1138> Well 09:13:33 <merni> Rope 09:38:50 <peter1138> Heh, also well... <https://stackoverflow.com/questions/77232798/return-pair-of-iterators-from-function> 09:41:10 *** Flygon has joined #openttd 09:56:59 <xarick> good morning, gentleperson 09:57:26 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211612983898275900/image.png?ex=65eed586&is=65dc6086&hm=d099606b059cb6ee53f2501916f650717ea72c559159f7e060d1edc2bb294a30& 09:57:26 <xarick> 2,67% 09:58:09 <kuhnovic> So this is the percentage of times the low level pathfinder deviates from the high level path right? 10:06:00 <kuhnovic> And IIRC you need a way to determine if a ship is going around in circles or not. Just an idea: in the ship controller logic (ship_cmd.cpp) keep track of the last 10 water regions that the ship has been in. If there any duplicates then that's a ship going in circles. However, this will trigger false positives when the ship has a short route (say, 2 regions). A way to avoid this would be to clear 10:06:00 <kuhnovic> the list-of-last-regions every time a ship docks. The easiest way I can think of is to do this when the checkShipReverse method is called, it seems to be called every time a ship is about to leave the station. 10:18:26 <peter1138> > the core devs refuse to let the settings just be inherited from the last game you played 10:18:29 <peter1138> Uh huh 10:18:58 <LordAro> yes, "refuse" 10:21:39 <xarick> a cache? I'm too noob for that 10:21:49 <reldred> It would be nice to be able to save the game settings like you can with grf loadouts. 10:22:14 <reldred> I'll make all sorts of tweaks during a running game and then forget what they are until the next game. 10:23:00 <peter1138> Yeah but we refuse to let that happen. 10:23:04 <peter1138> Or something. 10:23:45 <reldred> how rude 10:24:36 <peter1138> Settings presets would be nice, of course. 10:25:00 <peter1138> Although given the way the ini file works with different sections, and then presets also being sections, that could be... interesting. 10:25:36 <peter1138> I guess the `section.setting = value` format could work. 10:25:37 <LordAro> settings presets are the true replacements of difficulty settings, imo 10:25:52 <peter1138> Someone should implement that. 10:25:57 <peter1138> Then we can refuse it. 10:26:07 <LordAro> just wait until the next time truebrain is between jobs 10:27:16 <peter1138> He'll look at it for 5 minutes and then pop out a solution. 10:28:06 <reldred> Write it out to a seperate named file? Split newgrf presets out as well? Launch flag to pick a config file? Might be useful to server operators. 10:28:23 <reldred> But of course, you’d have to refuse it. 10:29:26 <peter1138> Like -c? 10:29:36 <peter1138> We should refuse that existing feature for sure 😄 10:30:11 <reldred> Oh how silly of me, ofcourse, yes, refuse that feature, remove from 14.0 10:36:56 <xarick> > [2024-02-26 10:36:12] dbg: [script:0] The savegame has an AI by the name 'DummyAI', version -1 which is no longer available. 10:36:56 <xarick> > [2024-02-26 10:36:12] dbg: [script:0] A random other AI will be loaded in its place. 10:36:56 <xarick> > [2024-02-26 10:36:12] dbg: [script:0] The savegame has an AI by the name 'DummyAI', version -1 which is no longer available. 10:36:56 <xarick> > [2024-02-26 10:36:12] dbg: [script:0] A random other AI will be loaded in its place. 10:36:56 <xarick> > [2024-02-26 10:36:23] dbg: [script:0] No suitable AI found, loading 'dummy' AI. 10:36:56 <xarick> > [2024-02-26 10:36:23] dbg: [script:0] No suitable AI found, loading 'dummy' AI. 10:36:56 <xarick> aha 10:49:54 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211626186443329596/image.png?ex=65eee1d1&is=65dc6cd1&hm=ef720da87f49896b42610e972f42b9cc72024ff4c07dc9d318a688b0c8ec8877& 10:49:54 <xarick> that's a lot of dumb vehicles, something's fishy... 10:50:20 <kuhnovic> xarick: You wrote your own depot-finding yapf implementation, but you are too noob for a cache? I'm not buying it 😛 10:51:54 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211626689998884896/image.png?ex=65eee249&is=65dc6d49&hm=cabc107c3fe6ab18951da7eb39560c58c727eb78a8abbc9b22144a064d9612f9& 10:52:10 <xarick> well, it's 2.83%, i guess that's believable then 10:52:24 <kuhnovic> Those vehicles aren't dumb btw, in fact they do the "smart" thing by deviating from the path suggested by the high level pathfinder. It's the high level pathfinder who did the dumb thing 😛 10:52:36 <andythenorth> peter1138: once again crowd-sourced therapy might seem applicable, player has persecution issues 10:54:46 <xarick> ok 10:55:26 <xarick> what if... the intermediate region is a dead end 10:55:37 <xarick> if that is hypothetically possible 10:56:53 <xarick> it follows the entire cache to the intermediate region? what exactly happens once there? 10:58:24 *** peter1139 has joined #openttd 11:00:36 <kuhnovic> A dead end means it's the final destination 11:00:51 <kuhnovic> Otherwise the high level PF wouldn't have handed it out 11:03:52 <xarick> in this example, it is rejecting the high lvl pf path, how it goes to region 5 11:04:04 <xarick> it takes the low lvl pf path instead 11:04:11 <xarick> hmm 11:04:34 <xarick> it's still pointing to 5? the entire cache? or 11:05:46 <kuhnovic> It's indeed still pointing to 5. WIth my changes, the low level PF essentially says "I'll ignore the suggested high level path, I found a better one". But it still must end up back on the high level path. 11:06:43 <kuhnovic> And I think 5 is the only region that's on the high level path, so indeed the entire path except for the tiles that are in 5 will be cached. 11:08:06 <andythenorth> ach it's cold, my fingers are colf 11:08:10 <andythenorth> can't even type see 11:08:43 <xarick> i worry about the center tile thing 11:09:20 <xarick> that could lead to a different patch label, wouldn't it? 11:10:00 <kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1211631246648807486/image.png?ex=65eee688&is=65dc7188&hm=b49577fc3e3a06f7d34eeea0110fbdd9ec9f27688b4af2671b7fa70fa1eb0381& 11:10:00 <kuhnovic> Here's an example of why taking shortcuts isn't "dumb". The suggested high level path is shown by the yellow numbers. You can see that it would clearly lead to a suboptimal path. The low level pathfinder picks a different path. The red part is the extra part that got cached after my fix in #12181. 11:10:01 <xarick> then again path would not be found in that case, very confusing 11:10:09 <merni> andythenorth: Use a heater! 11:11:05 <kuhnovic> Don't worry about the center tile thing. That's just some generic tile for the low level to aim for. It just needs to get to the last water region on the high level path. THe moment it reaches it then we're good. 11:11:39 <kuhnovic> The center tile doesn't have to be a valid water tile at all. 11:13:46 <kuhnovic> A better way to word it would be: the center tile is the tile to which the heuristic (the estimate) is calculated. And it's just an estimate, it's only there to nudge A* in the right direction. 11:14:48 <xarick> I see, it only cached 1 region 11:14:59 <xarick> then it picked up the high lvl pf again from 2 onwards? 11:15:09 <kuhnovic> Exactly 11:17:39 <kuhnovic> So it just takes a shortcut, but make sure it ends up back on the high level path. Before my changes it wouldn't cache the red part, which would cause the ship to do a PF run starting from the region with the depot in it. And that might lead to a completely different high level path. Not likely, but it can happen. And if you are _really_ unlucky, you'll get a high level path that sends you exactly 11:17:39 <kuhnovic> back to the direction you came from, and then the ships go in circles. 11:21:03 <xarick> in AAAHogEx savegame, the ships are caching the entire path until it enters region 53, 151, that's a much larger red line 11:21:17 <xarick> interesting 11:22:00 <xarick> they go via canal route on the right side 11:22:09 <kuhnovic> The savegame from the issue you mean? Yeah there they cache the path all the way to the last region. But the idea is the same: FU high level PF, I'm gonna take this shortcut! 11:22:42 <xarick> gotta do something for testing purposes, brb 11:22:59 <kuhnovic> Gotta do something for lunch purposes 11:23:02 <kuhnovic> Then back to actual work haha 11:23:47 <xarick> i wanna mess with that intermediate region a bit, see if it can make it fail or something, :p 11:26:45 <xarick> probably can't 11:37:52 <xarick> i can't seem to fool the low lvl pf :p 11:38:49 <kuhnovic> Do you want my patch for debug rendering? 11:39:06 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211638570255785984/image.png?ex=65eeed5a&is=65dc785a&hm=b9682847dc8f975eeaac4f51c1c9a7426087fd270cd33e6ef2ef8410eb53e94d& 11:39:06 <xarick> im opening a big sea to a dead end 11:39:19 <xarick> but it still takes the short canal route 11:39:29 <xarick> very smart 11:40:02 <xarick> yes, plese 11:40:07 <kuhnovic> A* makes things look kinda smart 😁 11:40:29 <kuhnovic> xarick: Need to dig it up from my pc, will do that soon. 11:43:06 <ahyangyi> xarick: Are DummyAI and 'dummy' AI the same? 11:43:19 <xarick> yes 11:45:15 <ahyangyi> Hmm, will I break things by uploading a fork of AAAHogEx, but named "DummyAI"? 11:47:00 <xarick> I uninstalled the AIs from my download folter 11:47:08 <xarick> that's why it switched to dummy ai 11:47:28 <xarick> but hmm... 11:47:44 <xarick> that's an interesting question 11:48:11 <xarick> fallback to a real AI instead of DummyAI 11:48:17 <xarick> not sure if that would work 11:53:33 <kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1211642206574870608/DEBUG_DRAWING_SHIP_PATHFINDER.diff?ex=65eef0bd&is=65dc7bbd&hm=0fde1e691731c78c6006ae7388ab1fd2f08de88872c72423543405a0fe96636c& 11:53:33 <kuhnovic> xarick: here you go. Warning: extremely janky. The debug drawing is reset every time the pathfinder is called, which means it works great with one ship, but will jump all over the place when you have multiple of them. 11:54:16 <xarick> wow 11:55:02 <kuhnovic> But at least you have the tools to do some basic debug drawing. Look in viewport_func.h for the functions, and water_regions.h contains a function to add an entire region patch to the debug drawing. 11:57:16 <xarick> 70000 ships might be a bad test 11:59:07 <xarick> hmm how to apply a diff... 11:59:15 <xarick> visual studio lacks this feature?= 12:00:06 <LordAro> visual studio is not a version control system 12:00:10 <LordAro> (well, directly) 12:01:19 <kuhnovic> https://stackoverflow.com/questions/2249852/how-to-apply-a-patch-generated-with-git-format-patch 12:02:20 <xarick> okay, command line it is 12:03:55 *** keikoz has joined #openttd 12:12:12 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211646900701499492/image.png?ex=65eef51c&is=65dc801c&hm=73a841f9ea110aa622b2985e4da3154b5c7d4dc32a337a3561680731c09bc9bd& 12:12:12 <xarick> hmm, why so smart... 12:12:41 <xarick> i see 12:12:52 <xarick> it's on a different label 12:12:56 <peter1138> That's a fun edge case. 12:13:15 <peter1138> High level pathfinder sees a very different cost, I guess. 12:13:40 <xarick> i wanted to fool the low lvl pf 12:13:47 <xarick> but seems that's not possibru 12:16:06 <peter1138> Add a cost for passing from one region to another? Sub-optimal paths... 12:18:36 <kuhnovic> The high level pathfinder doesn't look at the tile-level details, all it knows it whether it can go from one region to another. So to the high level PF both paths are equally good. The low level PF begs to differ. 12:19:12 <peter1138> I mean add a cost for crossing regions to the low level PF. 12:19:30 <peter1138> The high level path there is only 4 regions, but the low level path is 7 region.s 12:19:54 <peter1138> Not suggesting it's a good or anything like that, but could be interesting to try 🙂 12:20:55 <kuhnovic> That can backfire quite a bit. If you make a diagonal move and you just cut the corner, you've suddenly passed 2 regions, but only a couple of tiles 12:21:29 <johnfranklin> https://cdn.discordapp.com/attachments/1008473233844097104/1211649234043019284/image.png?ex=65eef748&is=65dc8248&hm=0a242c511e5cbed793ff0fdc62e3eac7ce7bab771eded715e16213757f70a175& 12:21:29 <johnfranklin> https://cdn.discordapp.com/attachments/1008473233844097104/1211649234319712326/DSB_B.png?ex=65eef748&is=65dc8248&hm=8996d69f4b9e096d725209648b5c737048d7e70e30c6a5ddbaa1a667b64d2b04& 12:21:29 <johnfranklin> Rate the voxel 12:22:14 <peter1138> kuhnovic: Not sure I follow. 12:22:32 <kuhnovic> Difficult to explain without an example, one moment 12:22:35 <peter1138> johnfranklin: Missing rounded corners. Logo isn't the same (not sure if it's meant to be) 12:23:19 <johnfranklin> I want to contribute to 2TT Danish Trains 12:24:06 <johnfranklin> They are 1x zoom and 8bpp, and according to the source, their voxels are not so "accurate" 12:24:19 <peter1138> Also, very plain and flat, no greebling or seams, and no shading. 12:27:47 <kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1211650822568546345/image.png?ex=65eef8c3&is=65dc83c3&hm=7cf66e05114f48376d0ef1c2e5f1758879a91cbd8cc8e939e3231a131202babe& 12:27:47 <kuhnovic> peter1138: Paint FTW. In this situation you'd add the penalty of crossing a region boundary twice, but the actual number of tiles traversed is small. 12:29:13 <kuhnovic> I don't want to dismiss your idea entirely, but in general penalties like that tend to correct some of the behavior, but also introduce additional weirdness in other cases. It can turn into whackamole quite quickly. 12:29:17 <peter1138> Right but the alternative also crossings boundaries twice? 12:29:39 <kuhnovic> Depends on what the alternative is 😉 12:30:52 <peter1138> And my view here is... maybe it isn't the most optimal path, but maybe it makes it match the highlevel PF a bit more. 12:31:20 <peter1138> And if the HL and LL PF match, then maybe the looping situation will be alleviated. Maybe. 12:31:29 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211651753297186897/image.png?ex=65eef9a1&is=65dc84a1&hm=5fc31cea1fb32b23e84e37ee6851ba2638728ac744aff286e779445f973f2cf3& 12:31:29 <xarick> I tried to force this, I fail 12:31:40 <peter1138> But yeah, I am just guessing, and only considered it an interesting thing to try 🙂 12:31:53 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #12180: Codefix: DrawEngineList does not accept EngineID. https://github.com/OpenTTD/OpenTTD/pull/12180#pullrequestreview-1900760689 12:31:56 <DorpsGek> [OpenTTD/OpenTTD] zephyris commented on pull request #12164: Add: Highlight in white all pieces of company owned infrastructure in the viewport https://github.com/OpenTTD/OpenTTD/pull/12164#issuecomment-1964040555 12:32:14 <kuhnovic> It is a good suggestion, it might resolve the issue indeed 12:33:02 <xarick> there's more to this path than it seems... 12:33:10 <xarick> i'll look at this better after lunch 12:33:13 <kuhnovic> In general I found that the easiest thing to do is just "let the LLPF to it's thing". If that means it deviates from the HL path then that's fine too, because the HL path doesn't take the details of the terrain into account. 12:36:15 <kuhnovic> xarick: I don't see why the HL PF would ever put that region on the path, since it doesn't lead to the (intermediate) goal. Keep in mind that the path is actually a vector of water region _patches_ , not just water regions. So it would traverse the region you marked with the red circle, but not the water patch within that region. You see that in the debug drawing: the canal is marked in black, 12:36:15 <kuhnovic> meaning it's part of the HL path. 12:36:35 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #12183: Change: Throw out per-grf industry tile limit. https://github.com/OpenTTD/OpenTTD/pull/12183#pullrequestreview-1900772346 12:49:28 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #12179: Codechange: replace "byte" with "uint8_t" in settings https://github.com/OpenTTD/OpenTTD/pull/12179#pullrequestreview-1900796678 12:49:31 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #12179: Codechange: replace "byte" with "uint8_t" in settings https://github.com/OpenTTD/OpenTTD/pull/12179 12:51:36 <kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1211656816283353179/image.png?ex=65eefe58&is=65dc8958&hm=721a8cdd1815a11f03e7d5592969a0cf89719ed82ab751cfaada2aabaf8cce34& 12:51:37 <kuhnovic> Just saw this on reddit, almost pissed myself 12:51:56 *** khanterwinters has joined #openttd 12:51:56 <khanterwinters> https://discord.gg/luvsex Best NSFW + giveaway nitro yearly all 13:16:04 <andythenorth> Lunch? 13:16:33 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1211663091352207412/IMG_7082.jpg?ex=65ef0430&is=65dc8f30&hm=17420740bf97e6c825f019e284b47a6b2c2266a400c1464ebbde8fdd4b686777& 13:17:07 <talltyler> Stop making me hungry! 13:19:47 *** Ox7C5 has joined #openttd 13:21:13 <peter1138> Great font. 13:21:57 <peter1138> Especially the O and the D. 13:23:21 <merni> Somehow it looks a bit like a departure board 13:23:46 <merni> Well, in small size anyway; the font gives it away 13:27:12 <_glx_> strange unit 13:27:21 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1211665808829190216/IMG_7083.jpg?ex=65ef06b8&is=65dc91b8&hm=8470ab6269bcf63e866452bb0c1214d838b119b204359d31846d38333334ba4c& 13:27:21 <andythenorth> Postscript 13:27:32 <peter1138> Andy is now poor. 13:29:39 <xarick> aha!!! I got it! 13:30:05 <xarick> I was fixated on the center tile 13:31:59 <xarick> turns out, that center tile is actually not where the low lvl pf actually pf's to, SetIntermediateDestination is medling with estimated costs by using that center tile, but it is still looking for a path to the real destination 13:32:04 *** xertov has joined #openttd 13:32:04 <xertov> hello guys is there anyone here who can help me with accessing translator files ? 13:32:13 <LordAro> andythenorth: yummy 13:32:32 <kuhnovic> xarick: Didn't I tell you exactly that a few hours ago 😛 ? 13:32:32 <xertov> i was accepted but i cant access the files ? idk i really want to help translating but im stuck now idk who to ask 13:32:43 <xarick> kuhnovic: yes, but I was blind at the time 13:33:23 <_glx_> xertov: log out then log in again ? 13:33:24 <LordAro> xertov: did you accept the subsequent invitation? 13:35:25 <_glx_> what's you github username and the requested language? (so I can check things) 13:36:11 <xertov> https://cdn.discordapp.com/attachments/1008473233844097104/1211668035883245629/image.png?ex=65ef08cb&is=65dc93cb&hm=fa4a613d6d84bd79aea7c1550f0debec6ea0193e7fee6b0cabc002202f3b5bf1& 13:37:07 <xertov> tbh im very new to open source stuff and i got an econ background not a programmer so really maybe im just slow to understand how this all works 13:37:23 <_glx_> ah yes expired invitation 13:37:27 <_glx_> let me resend it 13:38:12 <xertov> alright let me know when i should check it and where it ll go 13:38:19 <_glx_> you should get the invitation again 13:38:57 <_glx_> the "here" link in the screenshot 13:39:25 <xertov> ok i got it 13:39:44 <_glx_> now log off then log on from translator and it should be fine 13:40:14 <johnfranklin> British food is famous for its… awfulness. 13:40:17 <xertov> eints link right ? 13:41:42 <_glx_> <https://translator.openttd.org/> 13:42:07 <xertov> ok nice i ll go read the manual and hopefully it will work fine 13:42:19 <xertov> thanks dude 13:42:25 <peter1138> Urgh, std::span doesn't have const_iterator... silly. 13:45:52 <peter1138> Requires C++23 for that. 13:46:33 <xarick> `if (!path_found || node == nullptr) GetRandomFollowUpTrackdir(v, src_tile, trackdir, true);` 13:46:33 <xarick> this looks strange 13:47:03 <xarick> shouldn't it be `return GetRandomFollowUpTrackdir`... 13:47:42 <kuhnovic> peter1138: Story of my life. At work we still use C++ 11... 13:48:17 <_glx_> openttd switched to c++20 not to long ago 13:48:23 <kuhnovic> I know, and I love it 13:48:45 <_glx_> and it was not fun on CI side 🙂 13:48:57 <kuhnovic> Haha I can imagine! 13:52:49 <kuhnovic> xarick: That looks wrong indeed. I guess it now returns whatever the Trackdir equivalent of 0 is. 13:53:05 <xarick> no wonder it was working 🙂 13:53:11 <xarick> on my AI 13:54:52 <xarick> it returns something from pf.GetBestNode() 13:55:05 <xarick> the way I like 13:55:14 <xarick> but know it's gonna be fixed 😛 13:55:22 <kuhnovic> I did fix that a while ago. Or well, I tried 😛 13:55:27 <kuhnovic> So close 13:55:50 <kuhnovic> Are you going to create a PR ? 13:56:00 <xarick> erm... i prefer it broken 🙂 13:56:03 <xarick> heh 13:56:18 <kuhnovic> I don't 😛 13:57:05 <kuhnovic> It doesn't actually return anything useful now. Just TRACKDIR_X_NE I guess, assuming that one has value 0 13:58:49 <xarick> nah it loops parents till the first one for the trackdir 13:59:43 <xarick> unless node is really nullptr 13:59:54 <xarick> the that should actually crash openttd? 14:00:19 <xarick> or transform nullptr to 0? 14:01:59 <xarick> ah, it would probably crash here, if node is nullptr: `const WaterRegionPatchDesc end_water_patch = GetWaterRegionPatchInfo(node->GetTile());` 14:02:12 <xarick> seems that it was never nullptr so far 14:04:07 <peter1138> Function returning "auto" works, but is so dirty 😦 14:08:33 <xarick> doesn't look like it's even possible to have node being nullptr 14:08:40 <xarick> the origin tile is added 14:08:49 <xarick> as a start node 14:09:13 <xarick> Yapf().PfSetStartupNodes(); 14:14:00 <xarick> yep, confirmed 14:15:44 <andythenorth> well 14:15:53 <andythenorth> I should shard my switches eh 14:15:53 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211678024345329755/image.png?ex=65ef1218&is=65dc9d18&hm=681765582b11d1fa174b966af9b6c8ce1771b961ffbe179d1349956da7277f02& 14:15:53 <xarick> need that savegame where my ships become lost 14:15:59 <xarick> need to test this 14:25:05 <kuhnovic> xarick: Doesn't hurt to check either 14:25:59 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211680565795889243/image.png?ex=65ef1476&is=65dc9f76&hm=bf379744be47a2eb407511020e3e9a2f8ecfa20d327ea7d9286e4d38f0cb59d2& 14:25:59 <xarick> ship is lost 14:26:05 <xarick> but there's still 2 tracks 14:26:14 <xarick> node wasn't nullptr 14:29:00 <xarick> TRACKDIR_LEFT_N is the tile the ship is at 14:29:57 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211681563146850374/image.png?ex=65ef1564&is=65dca064&hm=0eacdca72a9b964c398d473f7fdb6495cd4099a8246313cf9aa18b53bb5b0ec4& 14:30:17 <xarick> he's gonna turn 90 degrees to the left 14:30:50 <xarick> what happens when it reaches the end 14:30:52 <xarick> lets see 14:31:19 <xarick> oh, it did a reverse call 14:31:34 <xarick> then the path was no longer lost 14:32:05 <xarick> let me block the ship entirely in 1 tile 14:33:25 <xarick> ChooseShipTrack isn't being called 14:33:40 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211682499030417438/image.png?ex=65ef1643&is=65dca143&hm=0d90c1b2c80bee52c224e94b5267d14bc5162b2dd67a85be8c01cb6bf88c454d& 14:33:51 <xarick> seems to be calling CheckShipReverse 14:34:49 <kuhnovic> The ship controller is quite an enigma 14:37:26 <xarick> woah, your CheckShipReverse is kinda... bugged 14:37:36 <xarick> didn't pay much attention to it till now 14:38:04 <xarick> if there is no path, you return false all the time 14:38:06 <xarick> 😦 14:39:00 <xarick> in that image, there is no path, so it returns false, meaning do not reverse, hmm... maybe that's okay... 14:39:53 <kuhnovic> CheckShipReverse is a bit strange yes. But it was already doing this before I added the regions. 14:40:09 <xarick> seems to handle invalid trackdir 14:40:19 <xarick> afterwards 14:40:32 <kuhnovic> It's essentially doing "try to find a path... no luck? Turn around an try again" 14:41:07 <xarick> forgive me, I guess it's fine afterall 14:41:39 <kuhnovic> Hehe, no worries. It took me a while to understand it. 14:43:09 <xarick> /* Find best path. */ 14:43:09 <xarick> if (!pf.FindPath(v)) return false; maybe it should also set INVALID_TRACKDIR before returning false? 14:43:41 <xarick> not sure... 14:44:04 <xarick> maybe it's fine, I'm still learning how this works 14:53:43 <xarick> ah, I'm starting to understand 14:58:53 <xarick> it's when a ship collides with terrain head on 14:59:13 <xarick> it wants to reverse 14:59:31 <xarick> but this reverse is special 14:59:36 <xarick> it's not a 180 degrees 15:00:22 <xarick> it can be from 90 to 180 15:00:27 <xarick> let me make a picture 15:04:13 <_glx_> yes the reverse tries possible exits 15:04:26 <_glx_> prevents deadlocks 15:05:29 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211690509232246784/image.png?ex=65ef1db9&is=65dca8b9&hm=bf63c6a69377f8842499667b4f5c91ca78bf762fe58530c071a0fa4f34233c73& 15:05:29 <xarick> imagine someone blocked a ship like this 15:05:55 <xarick> without the special reverse, it's stuck going left, 180 degrees, going right, 180 degrees, going left 15:06:15 <xarick> with the special reverse, it can unstuck from there 15:07:06 <xarick> it can move towards south, or towards southeast, not just east 15:07:39 <xarick> the highlevel pathfinder CheckShipReverse doesn't seem to care about this situation 😦 15:08:34 <xarick> hmm 15:08:41 <xarick> lets see what happens 15:10:14 *** Wormnest has joined #openttd 15:10:49 *** HerzogDeXtEr has joined #openttd 15:11:19 <xarick> I need a more drastic scenario where the highlvlpf actually fails 15:11:56 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211692129798062090/image.png?ex=65ef1f3b&is=65dcaa3b&hm=4a7c4b82e0a02a33048a82d32f77204cde3d399592943efdd0abf920d9717fae& 15:11:56 <xarick> should fail now 15:14:48 <xarick> dang, it's only doing 180 degrees 15:15:02 <xarick> glx, do you remember when you implemeted this feature? is it 13.4? 15:15:14 <xarick> cus if it is, it's not working there either 15:15:36 <_glx_> It's older than 13 I think 15:16:27 <_glx_> Anyway there's no path in this case 15:24:37 <kuhnovic> IIRC it's the shipController() function that does this. Somewhere in the giant tree of if statements 😛 15:28:09 <xarick> got a fix 15:28:44 <xarick> it's again related to path not found but yet there's still some tracks found 15:29:42 <xarick> let me look at what NPF do 15:30:56 <xarick> NPF also stuck to 180 degrees 15:37:05 <kuhnovic> Are you fixing an actual reproducable issue, or are you fixing something that you _think_ is an issue :P? 15:38:24 <xarick> fixing something I think is an issue 15:38:26 *** nielsm has joined #openttd 15:39:09 <merni> Why is it an issue that an unreachable buoy is unreachable? 15:40:31 <xarick> I'm solving the reversing options being stuck to only 180 degrees 15:40:37 <merni> And why is that an issue? 15:41:06 <merni> Also, could someone please review 12139? I am noticing the issue it fixes while playing now and it rather irritates me :p 15:41:19 <xarick> it's lost, but in a worse state than just lost 15:41:25 <xarick> it's actually stuck 15:41:49 <xarick> I wanna free it so it can continue to be lost, but not stuck 15:41:55 <merni> Why does that help? 15:42:02 <merni> If it's lost it's lost 15:54:17 <_glx_> lost and stuck is fine for me 15:55:01 <kuhnovic> Does it get unstuck it it's no longer lost (e.g. the destination can be reached) 15:55:19 <_glx_> if you press "skip" it will unstuck I think 15:56:05 <_glx_> and I guess it will too if you free the buoy 15:56:49 <_glx_> it's clearly not a regular situation 15:58:07 <_glx_> a stuck lost ship should also be easier to notice from player POV 16:04:39 <xertov> https://cdn.discordapp.com/attachments/1008473233844097104/1211705398634225724/image.png?ex=65ef2b97&is=65dcb697&hm=bf7e91fbbadfb63114fc23ecd6d7d547d08634340aa1236127a444f2b7242d19& 16:04:42 <xertov> is this how i should do it ? 16:05:22 <xertov> whatever is in {} i just leave it as it is right ? 16:07:14 <xarick> eww NPF ... different beast 16:07:29 <merni> xertov: Most of the time yes 16:12:39 <peter1138> Delete NPF when? 16:15:42 <_glx_> yeah all commands in <https://translator.openttd.org/static/docs/string_commands.html#pos-gamescript-string-commands> are required (the tool validates that anyway), and their order is important too (also validated) but it's possible to reorder if translation needs (examples in <https://translator.openttd.org/static/docs/strings.html#string-commands>) 16:16:00 <talltyler> Do we need to keep NPF around for savegame compatibility? 16:16:49 <_glx_> oh we can convert the setting (we did when removing OPF, not sure about the name) 16:18:19 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #12139: Fix #12134: Use correct error messages if clearing drive-through road stops fails https://github.com/OpenTTD/OpenTTD/pull/12139#pullrequestreview-1901244850 16:22:53 <xertov> _glx_: ok nice , now what about the error: string is missing ? 16:23:00 <xertov> am i doing smething wrong ? 16:23:03 <merni> > This incorrectly blocks a company with a poor local authority rating from removing a stop, without bulldozing the road. 16:23:03 <merni> Hm, does it? I need to test that 16:23:14 <merni> I thought this was only for using the bomb tool 16:23:19 <_glx_> xertov: just means it's not translated yet 16:23:36 <xertov> _glx_: oh i see , also does someone fact check the translations ? 16:23:41 <merni> No 16:23:54 <merni> Other translators can change them if they spot something wrong by chance 16:24:00 <merni> But there is no review or approval as such 16:24:16 <xertov> rip 16:24:17 <_glx_> you can check your work in nightly builds 16:24:36 <xertov> i ll be playing openttd with greek on then just in case i find something sus 16:24:59 <xarick> hmm, the NPF unstucking isn't that smart... 16:25:09 <xertov> although i am probably am the only greek person that will play openttd 16:25:27 <merni> Unlikely 16:25:29 <xertov> but translating a bit is a small price to pay for the new shipfinding mechanic 16:25:41 <merni> the fact that the greek langfile exists is proof that someone else did :p 16:26:35 <xertov> someone may have done it and used google translate idk 16:26:42 <xertov> or i guess they could really be greek 16:26:59 <merni> I think openttd has been around for longer than google translate, not sure of the age of the first greek translation though :p 16:27:15 <xertov> some words feel strange to translate 16:27:32 <xertov> https://cdn.discordapp.com/attachments/1008473233844097104/1211711157845360750/image.png?ex=65ef30f4&is=65dcbbf4&hm=65fdda4c5a687d806ff3bdd0a9284c9be7d30ee5f90c78999f0f8335d7a64f4c& 16:27:45 <xertov> it feels weird to translate status 16:27:59 <merni> You're not translating "status: missing" 16:28:06 <merni> That just means that string is missing in the language 16:28:16 <merni> You have to translate only the bold part 16:28:21 <xertov> oo ok right 16:28:40 <merni> Though there are probably instances of "status" in existing strings 16:28:57 <merni> It usually helps to see what other translators have done, to maintain consistency 16:29:58 <merni> merni: Hm, it does 16:29:59 <merni> Crap 16:30:39 <kuhnovic> The surveys definitely show a very strong preference for YAPF over NPF 😛 16:31:39 <_jgr_> NPF has no advantages ovr YAPF so it's somethign that you'll only see in old saves 16:31:47 <xertov> merni: how can i do that ? 16:31:50 <_glx_> YAPF is default anyway 16:32:24 <merni> xertov: There should be a list of similar strings at the bottom of the translation page 16:32:36 <merni> You can also see the list of all the strings 16:33:13 <xertov> https://cdn.discordapp.com/attachments/1008473233844097104/1211712585544499261/image.png?ex=65ef3248&is=65dcbd48&hm=25374584974803120e4497a68408cede66acd8462bfcf5cdfc47dbc74c49681a& 16:33:13 <xertov> merni: there is nothing here though 16:33:13 <xertov> and naaah how do i translate this ? 16:33:30 <merni> Lol what 16:33:44 <xertov> do i just put [{STRING}, {STRING}]? 16:34:05 <merni> I have no idea what that string is used for, probably yes 16:36:26 <xertov> ok i ll just do this everytime then 16:40:47 <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1211714489641214123/image.png?ex=65ef340e&is=65dcbf0e&hm=7b3ad71f29f5cfa68304953d920671aa5220c8f4ab8a1298ba3ddbe3b8aecd12& 16:40:47 <_glx_> it's used here 16:41:32 <merni> Well, it seems to be mathematical interval notation; does it even need to be translatable? 16:41:44 <_glx_> string names give some int on where it's used, but sometimes it's not easy to know where 16:42:22 <xertov> but it thought it doesnt matter what is used where 16:42:35 <xertov> im translating everything i get after all 16:42:55 <xertov> its just whenever i see something with just strings and nothing else should i just leave it or copy paste the string back 16:43:02 <_glx_> merni: don't forget RTL vs LTR, sometimes they need to change things 16:43:13 <merni> hm 16:44:09 <_glx_> and in this case different strings are possible, could be interval, or just a number, or just a string 16:45:07 <_glx_> depends on parameter info 16:48:47 <merni> merni: I could probably handle this with a `keep_road` param like stations have a `keep_rail` 16:49:03 <merni> Anyway I should probably finish the code-style stuff first 16:53:28 <_zephyris> merni: Oof, didn't realise that was the extent of the bug! 16:54:49 <xertov> should i correct others translations? 16:54:55 <xertov> or do i need permission 16:55:53 <wensimehrp> _glx_: I made it using the Unicode comma... Maybe I should consider changing it back 16:56:17 <merni> _zephyris: Well, no, that would just be a little more pleasing than keeping the check in the switch like it was 16:56:42 <_zephyris> wensimehrp: Stick to ascii when possible 🙂 Though, I guess if it's a CJK translation then not an issue 16:57:04 <merni> The fix is basically mostly in `CanRemoveRoadWithStop` 16:57:07 <peter1138> What is "the Unicode comma"? 16:57:26 <wensimehrp> Why cannot the world use a united language system... 16:57:26 <wensimehrp> , - ascii 16:57:26 <wensimehrp> ,- unicode, used in CJK languages 16:57:29 <_zephyris> Probably the fixed width 16:57:33 <_zephyris> This^ 16:57:36 <peter1138> Unicode covers ASCII, so the unicode for comma is U+002C. 16:57:46 <xarick> NPF can be removed but AyStar is still being used by river generation 16:57:47 <merni> wensimehrp: yeah, that's just a full-width comma 16:58:02 <merni> because CJK people want commas to take up the same square as a character 16:58:02 <wensimehrp> iirc full width commas are not in ascii 16:58:09 <merni> No, they aren't 16:58:09 <peter1138> Ah so you used a unicode full-width comma. Not a unicode comma. 16:58:22 <_zephyris> Well, if you're being _accurate_ yes 16:58:29 <_zephyris> But colloquially I understood! 16:58:36 <wensimehrp> You're right, I dropped the *full-width* there 16:58:44 <_zephyris> Hmm, RC-1 shows the Serbian translation problem for the es accent... 16:59:56 <peter1138> Serbian uses the combining accent, yes. 17:00:59 <peter1138> Maybe you updated the font to support that, U+0301 🙂 17:01:22 <xarick> wasn't there a PR open for removing NPF already? 17:01:23 <_zephyris> I've got the medium font with combing accents. 17:01:43 <_zephyris> It's just _a lot_ of leg work to set it all up - I'll hopefully get to the other fonts soon 17:02:10 <xarick> ah no, close enough <https://github.com/OpenTTD/OpenTTD/pull/10623> 17:02:31 <peter1138> Chuvash (whatever that is) uses Ҫ (U+04AA) which is also missing. 17:04:43 <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1211720514007994418/image.png?ex=65ef39ab&is=65dcc4ab&hm=9e48b29cd3e300cf52644c5a969fa91e2708bc0a861bef0b608dc731867a8b8d& 17:04:43 <_zephyris> peter1138: Really? Which translation is that? 17:05:09 <_zephyris> Should be done in the other fonts too... 17:05:33 <wensimehrp> merni: Languages are strange... 17:05:33 <wensimehrp> For example, Simplified Chinese (maybe Korean and Traditional Chinese also) requires spaces between numbers/non-CJK and CJK characters, but Japanese don't. 17:05:33 <wensimehrp> Japanese has half-width katakanas and the other two languages don't similar characters. 17:05:33 <wensimehrp> Traditional Chinese requires "traditional" punctuations while other CJK languages uses the more "western" punctuations. 17:05:33 <wensimehrp> All of those languages could be formatted from either left to right, from right to left, or from the top to the bottom. 17:06:24 <wensimehrp> Sometimes you will get results like this if you are using a CJK IME。To me,This is very annoying。 17:06:30 <peter1138> Ah it's missing from the small font, not the normal font. 17:06:44 <_zephyris> peter1138: Cool, that's a simpler fix 17:08:27 <_zephyris> Added that to the bug 17:26:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12183: Change: Throw out per-grf industry tile limit. https://github.com/OpenTTD/OpenTTD/pull/12183#issuecomment-1964707537 17:34:40 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211728051445043221/image.png?ex=65ef40b0&is=65dccbb0&hm=877f690398f634d598f779a7d5967bf0f2e7ef205bd0dde528af66fb75ce1225& 17:34:40 <xarick> 180 degrees testing 17:35:15 <xarick> all ships want to go to that buoy 17:35:39 <xarick> there is no path, but... should the ships unstuck? 17:35:45 <xarick> that is the question 17:36:05 <kuhnovic> Does it matter? 17:36:17 <xarick> I'm not sure 17:37:05 <kuhnovic> Stuck or not, they won't reach the destination. The user has to do something to change that. The moment that happens the ships will get unstuck and go to their destination (right?) 17:37:25 <xarick> yes, though NPF is a little bit... edgy 17:37:33 <xarick> YAPF seems fine 17:37:47 <kuhnovic> I would focus on YAPF 17:38:01 <DorpsGek> [OpenTTD/OpenTTD] agentw4b commented on discussion #10999: Company password saves? https://github.com/OpenTTD/OpenTTD/discussions/10999 17:40:24 <xarick> glx, found a problem 17:40:50 <xarick> all ships unstucked, except those 2, with NPF 17:40:56 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211729627916148787/image.png?ex=65ef4228&is=65dccd28&hm=7710b7090cdb20affe89e84bf3501ae12756258eac8142862865f8cf8ea26a22& 17:41:15 <xarick> let me test YAPF just for confirmation 17:41:55 <peter1138> NPF and YAPF are not expected to behave the same. 17:42:13 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211729952597217280/image.png?ex=65ef4275&is=65dccd75&hm=01213cac23f1a61a86d5b10d630f778ec11a0e0ce3d4fa295095a8fd337b357b& 17:42:13 <xarick> YAPF works 17:44:00 <xarick> oh I was testing 13.4 🙂 17:44:06 <xarick> well, let' see master 17:51:01 <xarick> works 17:51:06 <xarick> except NPF, same issue 17:52:01 <_glx_> just remove NPF then 🙂 17:52:10 <merni> yes 17:52:35 <merni> well, technically it is feature freeze, right 17:52:47 <merni> so would that be included for 14? 17:54:17 <merni> https://survey.openttd.org/summaries/2024/wk08#14.0-RC1-game.settings.pf.pathfinder_for_ships 99.9% people use yapf 17:54:30 <merni> 100% for trains, 99.7% for RV 17:54:49 *** gelignite has joined #openttd 18:01:23 <andythenorth> hmm definitely need to shard switches 😛 ` nmlc info: Concurrent spritegroups: 252/256 ("generated/iron-horse.nml", line 615545)` 18:01:35 <andythenorth> quite a busy work time though 18:03:02 *** michi_cc_ has joined #openttd 18:03:17 <_glx_> I hope your generator does "all results" then the switch to select results 18:03:51 <andythenorth> it might not in some cases 18:04:16 <andythenorth> sometimes it does some fancy stuff to try and fold down all similar results 18:04:26 <DorpsGek> [OpenTTD/OpenTTD] merni-ns updated pull request #12139: Fix #12134: Use correct error messages if clearing drive-through road stops fails https://github.com/OpenTTD/OpenTTD/pull/12139 18:05:06 <merni> Slightly different approach. 18:05:36 <andythenorth> this is an example of one I need to shard https://gist.githubusercontent.com/andythenorth/64225b3f9fec8d1744862bfa8443f8af/raw/0139159eaa4c14b564f2f8c8d50e218c7acbf2d9/gistfile1.txt 18:05:39 <_glx_> a way could be to have the last switch splitting on GB(id, 4, 4), then you have 16 switches on GB(id, 0, 4) 18:06:01 <andythenorth> ^^ the one in the gist, I can shard on variant ID 18:06:20 <andythenorth> generally I've tried to consolidate switches, as it's a faster compile 18:06:24 <andythenorth> but the limit is hit 😛 18:07:10 *** gelignite has quit IRC 18:07:10 *** HerzogDeXtEr has quit IRC 18:07:10 *** Ox7C5 has quit IRC 18:07:10 *** peter1139 has quit IRC 18:07:10 *** kuhnovic has quit IRC 18:07:10 *** _rei4122 has quit IRC 18:07:10 *** jinks has quit IRC 18:07:10 *** michi_cc has quit IRC 18:07:10 *** Deep3D has quit IRC 18:07:10 *** azubieta608226663 has quit IRC 18:07:10 *** Alkel_U3 has quit IRC 18:07:10 *** rain[m]1 has quit IRC 18:07:10 *** temeo[m] has quit IRC 18:07:10 *** audunm[m] has quit IRC 18:07:10 *** patricia[m]1 has quit IRC 18:07:10 *** playback2396[m] has quit IRC 18:07:10 *** yubvin[m] has quit IRC 18:07:10 *** einar[m] has quit IRC 18:07:10 *** calbasi[m]1 has quit IRC 18:07:10 *** jeeg[m] has quit IRC 18:07:10 *** cjmonagle[m] has quit IRC 18:07:10 *** karl[m]12 has quit IRC 18:07:10 *** Farrokh[m] has quit IRC 18:07:10 *** emilyd[m] has quit IRC 18:07:10 *** giords[m] has quit IRC 18:07:10 *** andythenorth[m] has quit IRC 18:07:10 *** nolep[m] has quit IRC 18:07:10 *** Timberwolf has quit IRC 18:07:10 *** KenjiE20 has quit IRC 18:07:10 *** Timberwo1f has joined #openttd 18:07:21 <peter1138> Update to GRFv9. 18:08:08 <DorpsGek> [OpenTTD/OpenTTD] merni-ns updated pull request #12139: Fix #12134: Use correct error messages if clearing drive-through road stops fails https://github.com/OpenTTD/OpenTTD/pull/12139 18:08:49 <merni> Okay. 18:08:52 <andythenorth> GRFv99 18:08:59 <andythenorth> 10x as good 18:09:22 <_glx_> and all `chronos_ss_doors_open_position_` are spritesets or other switches ? 18:11:01 *** gelignite has joined #openttd 18:11:01 *** HerzogDeXtEr has joined #openttd 18:11:01 *** Ox7C5 has joined #openttd 18:11:01 *** peter1139 has joined #openttd 18:11:01 *** kuhnovic has joined #openttd 18:11:01 *** _rei4122 has joined #openttd 18:11:01 *** jinks has joined #openttd 18:11:01 *** Deep3D has joined #openttd 18:11:01 *** azubieta608226663 has joined #openttd 18:11:01 *** rain[m]1 has joined #openttd 18:11:01 *** temeo[m] has joined #openttd 18:11:01 *** audunm[m] has joined #openttd 18:11:01 *** patricia[m]1 has joined #openttd 18:11:01 *** playback2396[m] has joined #openttd 18:11:01 *** yubvin[m] has joined #openttd 18:11:01 *** einar[m] has joined #openttd 18:11:01 *** calbasi[m]1 has joined #openttd 18:11:01 *** jeeg[m] has joined #openttd 18:11:01 *** cjmonagle[m] has joined #openttd 18:11:01 *** karl[m]12 has joined #openttd 18:11:01 *** Farrokh[m] has joined #openttd 18:11:01 *** emilyd[m] has joined #openttd 18:11:01 *** giords[m] has joined #openttd 18:11:01 *** andythenorth[m] has joined #openttd 18:11:01 *** nolep[m] has joined #openttd 18:11:01 *** KenjiE20 has joined #openttd 18:11:07 <andythenorth> direct references to spritesets 18:11:22 <_glx_> so they probably don't eat act2 IDs 18:11:53 <andythenorth> they shouldn't, but interestingly changing the contents of this switch was triggering the limit 18:12:01 <andythenorth> I need to re-test that to confirm though 18:12:31 <_glx_> oh they are spritgroups maybe 18:12:51 <_glx_> so counting in act2 18:12:53 <_jgr_> They need to use an action 2 ID otherwise there's no way to reference them from a varaction 2 18:13:01 <andythenorth> ` spriteset(chronos_ss_doors_closed_position_variant_0_base_livery_5, "generated/graphics/iron-horse/chronos.png") { 18:13:01 <andythenorth> spriteset_template_asymmetric_unreversed_8_8_unflipped(310,NOANIM) 18:13:01 <andythenorth> } 18:13:01 <andythenorth> ` 18:13:33 <_glx_> yeah that generates action1 and an action2 18:13:59 <_jgr_> Presumably you could get rid of a lot of these switches by just using register indexing instead? 18:14:03 <andythenorth> confirmed, increasing the number of variants handled by this switch triggers the limit 18:14:30 <andythenorth> _jgr_: possibly, what would that look like? 🙂 18:15:08 <DorpsGek> [OpenTTD/OpenTTD] merni-ns commented on pull request #12139: Fix #12134: Use correct error messages if clearing drive-through road stops fails https://github.com/OpenTTD/OpenTTD/pull/12139#pullrequestreview-1901668624 18:15:12 <_glx_> 310 depends on variant and livery ? 18:15:32 <andythenorth> and door state (loading in station or not) 18:15:54 <_glx_> maybe a template with these args then 18:16:13 <DorpsGek> [OpenTTD/OpenTTD] PeterN dismissed a review for pull request #12180: Codefix: DrawEngineList does not accept EngineID. https://github.com/OpenTTD/OpenTTD/pull/12180#pullrequestreview-1900760689 18:16:16 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12180: Codefix: DrawEngineList does not accept EngineID. https://github.com/OpenTTD/OpenTTD/pull/12180 18:16:18 *** geli has joined #openttd 18:17:09 <merni> Can the Emscripten CI and Preview be merged in some way? Seems rather a waste to have both 18:17:34 <andythenorth> _glx_: spriteset template? 🙂 18:17:39 *** jinks_ has joined #openttd 18:17:47 <_jgr_> andythenorth: Might be that that only works for objects and similar, looking again at it 18:17:51 *** HerzogDeXtEr1 has joined #openttd 18:18:02 *** azubieta608226663 has quit IRC 18:18:02 *** gelignite has quit IRC 18:18:02 *** jinks has quit IRC 18:18:02 *** jinks_ is now known as jinks 18:18:10 *** Alkel_U3 has joined #openttd 18:18:21 *** azubieta608226663 has joined #openttd 18:19:01 <_glx_> merni: preview is optional, so we like to see emscripten is not broken even without previews 18:19:11 *** Deep3D has quit IRC 18:19:17 *** Deep3D- has joined #openttd 18:19:25 <merni> But where preview does exist, can it build on top of emscripten in some way? 18:19:37 <_glx_> different workflows 18:19:40 <merni> I guess it's just more load on github's servers, doesn't really matter :p 18:20:33 <_glx_> and emscripten is not the worse, we also have MinGW 😉 18:20:40 <merni> true 18:21:34 <merni> Local Authority Attitude is still an advanced setting...? 18:22:02 *** jeeg[m] has quit IRC 18:22:37 *** HerzogDeXtEr has quit IRC 18:22:37 <merni> TallTylerviaGitHub: talltyler unbroke it :) 18:24:52 *** jeeg[m] has joined #openttd 18:29:59 <andythenorth> well I can just split the switch, although there is a balance where splitting them also breaches the ID limit 🙂 18:30:12 <andythenorth> because more IDs have to be spanned across the switches in-between 18:31:10 <_glx_> oh actually there are more broken strings in simpleton's city builder, many have an extra {STRING} to please the {STRING2} without actually feeding the {STRING} 18:36:15 <_glx_> well the split should be in the form "X results" "switch for them" "Y results" "switch for them" ... "switch for the switches" 18:38:13 <_glx_> each intermediate switches should be able to reuse IDs 18:38:20 <peter1138> So it was always broken but validation makes it known. 18:38:28 <_glx_> yup 18:46:30 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211746127448252477/image.png?ex=65ef5185&is=65dcdc85&hm=006fd1ff0019b58556ec275d5da4b569f28df17d485a79d2b54faae6968ba4fc& 18:46:30 <xarick> explain me something, how can there be more roadstops than stations? 18:46:45 <xarick> what am I missing :! 18:47:07 *** j_n has quit IRC 18:47:59 <xarick> this is a savegame from ChooChoo 18:48:15 <_glx_> <https://gist.github.com/glx22/f4151101213861e16d1ea524f4abf4b3> annoted with some <-- 18:48:59 <_glx_> xarick: one station can have many roadstops 18:49:15 <frosch123> lazy dorpsgek... i thought eints was late with committing, but dorpsgek just did not announce it 18:52:45 <xarick> ah, I see 18:53:59 <frosch123> Eddi|zuHause: since you are the only one reading german forums. i now defined "Zyklus" as translation for the no-dl "period". previous translators randomly used either "Quartal" or "Zeitraum", which both made no sense 18:55:13 <Eddi|zuHause> i haven't actually ever looked at that patch 18:55:53 <Eddi|zuHause> i'm sure people will complain about it :p 18:56:30 <frosch123> i never start ottd in german, most translations are weird. but this one just annoyed me too much :p 18:57:11 <frosch123> for example "Wanduhr-basierte Zeit" is just wtf 18:59:44 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #12171: [Bug]: trees and builds became transparant https://github.com/OpenTTD/OpenTTD/issues/12171 18:59:48 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #12171: [Bug]: trees and builds became transparant https://github.com/OpenTTD/OpenTTD/issues/12171 18:59:55 <xarick> wall clock based time? 19:10:04 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/149592e4dd27706053ba8cb999c11eee6243c579 19:10:05 <DorpsGek> - Update: Translations from eints (by translators) 19:13:36 <peter1138> Took its time 🙂 19:13:47 <andythenorth> would 64k action2 IDs be enough? 19:14:20 <peter1138> Would it? 19:15:59 <andythenorth> it has taken 1m LOC to hit the limit 😛 19:16:49 <andythenorth> it's 50 MB of nml, and the nml step takes 16 seconds to run 19:17:12 <andythenorth> I can't imagine anyone else having the patience to exceeed it 😛 19:17:16 <frosch123> you can hit it in 512 LOC, if you do it clever 19:17:30 <andythenorth> probably one line of python templating? 😛 19:17:55 <frosch123> probably NML should learn to reorder them 19:18:02 <frosch123> or we should switch to WASM 19:18:13 <frosch123> or hell freezes over 19:18:17 <frosch123> whatever happens faster 19:20:11 <Eddi|zuHause> andythenorth: if you raise the limit, people don't care about it anymore, and potentially reach it faster, then have no knowledgebase/tools left to avoid it. 19:20:36 <peter1138> If you raise the limit, does it need to be avoided? 19:22:40 <andythenorth> frosch123: how many temp storages do we have? 😛 19:22:46 *** Deep3D- is now known as Deep3D 19:22:57 *** Deep3D is now known as Deep3D- 19:23:00 <andythenorth> switches can select more switches, using a temp storage 19:23:12 <andythenorth> in fact one is enough eh 19:23:34 <andythenorth> ok so I could insert pseudo (routing) switches periodically to the file 19:23:34 <Eddi|zuHause> peter1138: not for a while. 19:23:45 <andythenorth> read a register 19:24:02 <andythenorth> register is dword? 19:24:10 <Eddi|zuHause> yes 19:24:22 <andythenorth> signed or unsigned? Probably doesn't matter 19:24:29 <andythenorth> ok 4294967295 switches then 😛 19:24:34 <_jgr_> It can be either 19:24:35 <Eddi|zuHause> but i don't think you can use register as a pointer to an action2 19:24:50 <andythenorth> challenge accepted 😛 19:24:54 <_jgr_> No, but you can use it as the argument to switch which fans out to those switches 19:25:21 <Eddi|zuHause> hm, ok. 19:25:42 <Eddi|zuHause> but i think a switch can only have 255 branches :p 19:25:51 <frosch123> andy invented int 22 19:26:04 <peter1138> Gate A20 19:26:13 <Eddi|zuHause> HIMEM 19:26:15 <frosch123> oh, bad memory, it's int 21 19:27:00 <peter1138> ExtendedByte ranges? 19:30:27 <andythenorth> DOS Extended Mode? 19:30:41 <peter1138> DJGRPP? 19:30:52 <andythenorth> "Kaboom" 19:33:15 <andythenorth> I think the largest single cause of varact2 ID exhaustion is 'randomised vehicles' 19:33:16 <frosch123> int21 may actually be a good fit for andy. define all procedures at start, add a dispatcher switch after them, which calls a function specified in some TEMP reg 19:33:29 <andythenorth> yes 19:34:29 <andythenorth> randomised vehicles should work with a "does X live here?" switch per vehicle 19:34:36 <andythenorth> then chain to same switch for next vehicle 19:35:20 <andythenorth> currently the varact2 ID consumption is roughly linear with the number of randomisable vehicles 19:36:50 <LordAro> so i've built my new computer 19:37:00 <peter1138> Whoop 19:37:02 <LordAro> it needs a second atx 12v cable 19:37:02 <xarick> 96 core cpu? 19:37:08 <LordAro> guess what i don't have 19:37:09 <peter1138> Oh 19:37:39 <frosch123> need a graphics card for the cold winter? 19:38:04 <LordAro> at least, the DRAM indicator light is illuminated, which i'm very much hoping is just due to the missing power cable 19:38:15 * andythenorth horrible IDs about putting action 1 etc together 19:38:22 <andythenorth> then switching into them by blocks of ID 19:38:31 <LordAro> amazon stocks suitable cables, luckily 19:39:21 <LordAro> (at least i had the foresight to buy a modular PSU 8 years ago) 19:39:24 <peter1138> Delivery by 10pm right? 19:39:42 <xarick> is 12170 poor? 19:39:53 <xarick> let me check 19:40:52 <LordAro> peter1138: alas, just tomorrow 19:41:01 <LordAro> i'll have to go into the office :( 19:41:24 <frosch123> you have an 8 year old PSU? 19:42:35 <LordAro> i do 19:43:20 <frosch123> hmm, i don't remember when mine blew up the last time 19:43:38 <LordAro> corsair is pretty solid 19:44:18 <LordAro> i've got a 7 year old seasonic in the server, they're even more solid 19:45:33 <frosch123> nevermind, i think it was 10 when it blew up 19:45:40 <frosch123> so you have still 2 years left 19:48:19 <xarick> hmm 19:48:20 <xarick> right 19:49:23 <LordAro> ha 19:51:40 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #12139: Fix #12134: Use correct error messages if clearing drive-through road stops fails https://github.com/OpenTTD/OpenTTD/pull/12139#pullrequestreview-1901851909 19:53:03 <talltyler> merni: Thanks, I found one code style nitpick but otherwise I tested it and it works. I’ll approve once you fix that last thing. 😄 20:02:40 <xarick> Radeon RX 7900 GRE, should I buy? 20:03:21 <xarick> gonna wait for prices first 20:04:25 <belajalilija> Yeah you’ll want the latest hardware to play OpenTTD 20:05:03 <xarick> I wonder how good will PoE 2 be 20:08:09 <xarick> I won't buy anything from Nvidia until they decide to use a non melting connector 20:08:59 <xarick> or until some of their partners uses PCIe 8pin connectors 20:09:03 <xarick> on the high end 20:11:59 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211767636950650880/image.png?ex=65ef658e&is=65dcf08e&hm=b9968af33273d00c39d132dab4409a9e7320a0135f92e407a3fe54ba0d38d3af& 20:12:02 <xarick> nope... 20:17:27 *** geli has quit IRC 20:18:07 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211769184753819719/image.png?ex=65ef66ff&is=65dcf1ff&hm=c977c17d06e66e8e3fffe24cb0210633999854db34d7c8fa6bd15d954570a7af& 20:18:07 <xarick> dang I wish I was rich 20:20:08 <xarick> gonna wait for PoE 2 release, then I'll decide 20:23:35 <_glx_> cheaper than nvidia 20:24:15 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211770727464837181/image.png?ex=65ef686f&is=65dcf36f&hm=726b0e54b41ce0ac9a2ad4fa3be925fc3db5143706600a129d9df7ca6ad8a6bf& 20:24:15 <xarick> this looks messy 20:26:27 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211771281477861456/image.png?ex=65ef68f3&is=65dcf3f3&hm=df999fdfd67df3c9d89b2c43ae02cf24589919d4990d6aeab2c1520f2243f6d6& 20:26:38 <xarick> automatic service 20:26:39 <xarick> is cool 20:28:22 <xarick> this needs a video 20:33:47 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211773127147917353/2024-02-26_20-30-35.mp4?ex=65ef6aab&is=65dcf5ab&hm=8d8bf23a33c773012d2f11f73c70ab605a145920a12f072a4e4815abb532f317& 20:36:29 <xarick> i wanna test my stuff with graphics 20:38:59 <kuhnovic> xarick: Is this #8022 rearing its ugly head again? 20:39:25 <xarick> yes 20:39:32 <xarick> again? i mean no 20:39:39 <xarick> it's without a fix 20:40:18 <_glx_> nice random selection of chunk 20:40:44 <_glx_> it seems to switch from one to another 20:41:09 <kuhnovic> But is it going for a service? 20:41:39 <xarick> yes, it wants to, but then becomes out of range 20:42:01 <xarick> you have a fix, I'm not testing the fix atm 20:43:08 <kuhnovic> Ok that makes sense. For I moment I was afraid it was the pathfinder's fault. 20:44:09 <_glx_> basically distance increases when following the river shape 20:44:28 <xarick> bird distance is bad 20:44:39 <_glx_> no it's fine, just suboptimal 20:44:54 <_glx_> but it's fast 🙂 20:46:21 <xarick> how do I draw tiles covered by a distance from the depot? I'm bad at drawing 20:46:44 <xarick> I wanted to showcase the range 20:47:33 <xarick> maybe I'll do it via GS 20:47:43 <xarick> place signs 21:03:16 <andythenorth> sharded one switch 21:03:32 <andythenorth> ID use fell from 252 to 209 21:03:46 <andythenorth> compile time increased by about 5s 21:03:59 <andythenorth> or 18% over base 21:04:13 <andythenorth> nml file size only 0.2 MB larger 21:05:07 <andythenorth> actually the compile times are not very stable, not enough runs 21:05:25 <andythenorth> "probably fine" 21:05:30 <peter1138> Hi 21:07:45 <andythenorth> was it lunch? 21:11:45 <peter1138> Well. 21:15:14 <xarick> i just tried to fullscreen... it failed 21:15:29 <xarick> i set 1920x1080, and it didn't let me 21:17:21 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1211784090127433828/Charningstone_Transport_1964-05-30.png?ex=65ef74e0&is=65dcffe0&hm=adff5f0cc39960c03b1fa84df63f18081ad3bb89ef2233c035592b19f7079a2d& 21:17:21 <xarick> anyways, here's something 21:17:40 <xarick> max bird distance where the depot is in range 21:20:18 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #12182: [Bug]: #11959 "easy/medium/hard" AI setting randomisation is being applied to GS configuration https://github.com/OpenTTD/OpenTTD/issues/12182 21:20:29 <truebrain> "works as expected" 😄 21:20:36 <kuhnovic> Clearly shows why the ship loses track of its depot 21:23:12 <_jgr_> truebrain: I found this all a bit confusing but I'm happy to just leave it if there isn't actually an issue 21:23:33 <truebrain> as I wrote, there is a difference between "works as intended" vs "works as wanted" 🙂 21:23:58 <truebrain> not being able to change deviation is just a bit weird 21:24:18 <truebrain> but I also wouldn't know how to put it in the interface, I have to admit 21:24:55 <truebrain> maybe the whole deviation is just a big mistake 🙂 The idea is nice .. but that is about as far as I am willing to go 😛 21:25:04 <_jgr_> kuhnovic: Seems like it needs some hysteresis added 21:26:16 <kuhnovic> I have a fix where the ship stops looking for a depot as soon as it has found one. But that's going to be problematic if the path suddenly gets blocked due to terraforming. 21:26:47 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed issue #9742: [Bug]: "Your PC is too slow to keep up with this server" (2/6 Authorizing) https://github.com/OpenTTD/OpenTTD/issues/9742 21:26:50 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #9742: [Bug]: "Your PC is too slow to keep up with this server" (2/6 Authorizing) https://github.com/OpenTTD/OpenTTD/issues/9742 21:27:24 <xarick> I also have a fix, but nobody likes mine 🙂 21:27:37 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed issue #8963: Black Bars during gameplay https://github.com/OpenTTD/OpenTTD/issues/8963 21:27:40 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #8963: Black Bars during gameplay https://github.com/OpenTTD/OpenTTD/issues/8963 21:27:53 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed issue #9483: [Bug]: music distorted on Raspberry Pi https://github.com/OpenTTD/OpenTTD/issues/9483 21:28:23 <_zephyris> 😤 21:28:35 <xarick> with my fix, in this specific example, not enough range to reach depot 21:28:42 <xarick> won't service 21:29:23 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1211787121237692426/image.png?ex=65ef77b3&is=65dd02b3&hm=c359f7b49a2aaeed48f55c518d2b8b603d830aabd60ac3b5ec8ce7263e0245d1& 21:29:24 <andythenorth> all is not well 😛 21:30:12 <xarick> how do i make yapf print stuff on the screen? it has some debug stuff 21:31:33 <andythenorth> could we make grfcodec faster? 😛 21:31:46 <andythenorth> multi-threaded realsprite encode maybe? 😛 21:33:04 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #12120: [Crash]: https://github.com/OpenTTD/OpenTTD/issues/12120 21:33:09 <kuhnovic> xarick: In my debug drawing patch there is a line in yapf.hpp or yapf_base.hpp that you can incomment, that adds some drawing. 21:34:00 <xarick> I see, gonna try adapt it to my stuff 21:40:41 <truebrain> meh; can't reproduce #12120, and I also can't find anywhere what exception it is that triggered 21:41:33 <_glx_> yeah this NOT_REACHED makes it hard 🙂 21:41:45 <truebrain> not really sure why it is there, I have to admit 😛 21:42:23 <_glx_> and we don't use that many exceptions (except in script code) 21:42:39 <_glx_> could be coming from fmt 21:42:47 <truebrain> the OS also throws exceptions, I guess 21:42:51 <_glx_> this lib also use exceptions 21:45:35 <truebrain> hmm .. there are non-default fonts used for the bootstrap 21:45:39 <truebrain> maybe that has something to do with it? 21:45:50 <truebrain> I can't even test that 😄 21:47:09 <_glx_> there's no sprite font in bootstrap anyway, so it relies on OS 21:47:29 <truebrain> yeah, but in this case a Japanese font is loaded 21:47:36 <truebrain> not sure how that influences bootstrap 21:48:09 <_glx_> bootstrap texts are translated 21:48:24 <truebrain> so in combination with `fmt`, that might cause an issue? 21:49:00 <_glx_> hard to guess 21:49:10 <_glx_> without knowing the exact crash location 21:49:22 <truebrain> I know right! 21:49:29 <truebrain> but I also don't have such fonts to test that out 21:49:31 <truebrain> do you? 21:50:31 <andythenorth> ` nmlc info: Concurrent spritegroups: 209/256 ("generated/iron-horse.nml", line 615978)` enough headroom? Or I optimise more switches? 😛 21:50:32 <SigHunter> is there a way to get budget window further back than current year +2? also vehicles more than last+current? 21:51:42 <_glx_> wondering if the 0KB png might be a hint too 21:51:52 <truebrain> and the weird crashdump filename 21:53:04 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #12184: Fix: initialize _switch_mode_time so crash-logs before first game have a realistic time https://github.com/OpenTTD/OpenTTD/pull/12184 21:53:12 <truebrain> did find an unrelated bug because of that crash 🙂 21:53:14 <truebrain> so there is that 🙂 21:55:36 <peter1138> Oh no, the R-word! 21:56:07 <truebrain> what triggered peter1138 😛 21:58:39 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #12175: [Crash]: Game error on Depot Actions https://github.com/OpenTTD/OpenTTD/issues/12175 22:00:01 <_glx_> hmm can't reproduce, I "removed" my openttd dir, put a basic cfg with just the langfile setting 22:00:32 <truebrain> meh 22:00:35 <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1211794969900355605/image.png?ex=65ef7f02&is=65dd0a02&hm=1a46e67d27698fd086f240aa469b60c7f5bd8fb8433d848ee67f6fcc5911a78b& 22:00:37 <truebrain> guess we can't resolve that ticket 22:00:42 <_glx_> that's the selected fonts 22:01:46 <_glx_> same font as in the report it seems 22:02:19 <truebrain> as for #12175, it sounds like the error to handle the error causes an error that causes an error .. in the crashlog we have code to prevent that, but this might be slightly before that or something 22:02:20 <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1211795411673808977/image.png?ex=65ef7f6c&is=65dd0a6c&hm=21e3dc33e985fed8254ad680be6255450f2e20d2654d87e7c538814defe09a6c& 22:02:43 <truebrain> I did not think of doing that _glx_ , as I just saw a font that I wouldn't know how to get running .. smart move there 😄 22:03:51 <xarick> kuhnovic: Can't draw any path with FindNearestDepot when it doesn't find any destination, because... 22:04:46 <xarick> the nodes returned are just 1 track in front of ship 22:04:50 <xarick> :p 22:05:26 <_glx_> indeed #12175 could depend on used language 22:05:53 <_glx_> but eints is supposed to validate 22:06:20 <truebrain> should / would / could 😄 22:06:32 <_glx_> could be somewhere in G or P though 22:06:45 <_glx_> maybe G 22:07:13 <truebrain> unless we can replicate it, pretty sure we won't be able to figure out what happens there 🙂 22:07:34 <_glx_> yeah the only know thing is the area in code 22:07:51 <truebrain> we can argue if we should have `assert` that deep in the string system, but .. *shrug* 22:08:00 <truebrain> won't be an issue with stable releases 😛 22:08:57 <_glx_> well if it fails on the first part of the assert it will definitely crash in stable 🙂 22:10:07 <truebrain> which creates a crashdump we can analyze! 😄 22:10:45 <_glx_> but assert should also create crashdump, it "aborts" when the window is closed 22:10:59 <_glx_> and that triggers the crash handler 22:11:10 <peter1138> > 3 files changed, 113 insertions(+), 127 deletions(-) 22:11:13 <peter1138> So much for a cleanup :S 22:11:20 <DorpsGek> [OpenTTD/OpenTTD] TheMowgliMan commented on issue #12182: [Bug]: #11959 "easy/medium/hard" AI setting randomisation is being applied to GS configuration https://github.com/OpenTTD/OpenTTD/issues/12182 22:11:23 <truebrain> 14 lines, calling that cleanup? 😄 22:11:49 <peter1138> I deduplicated some code, but also added... er, what are they... those comment things... 22:11:58 <truebrain> ieuw, comments! 22:22:46 <xarick> hmm, this thing is actually awesome 22:22:59 <xarick> I just identified a bug with FindNearestDepot 22:24:02 <xarick> I can't use the reverse trackdir 22:24:07 <xarick> ^_ 22:25:00 <xarick> it was going to be prone to the same problem 22:25:14 <xarick> the back and forth 22:29:08 *** Ox7C5 has quit IRC 22:41:56 *** keikoz has quit IRC 22:52:24 <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1211808010742145154/image.png?ex=65ef8b28&is=65dd1628&hm=a720247750df9437e852d386021bf5a2023b376b5d72904644122bcd692ba9cf& 22:52:24 <_glx_> should I allow that (current master just kills the script on circular reference or not enough parameters) 22:57:59 <_glx_> hmm and circular reference detection is just weird as it only checks the stringid 23:24:10 <_glx_> indeed circular reference detection doesn't work with changes in ScriptText done after its introduction 23:24:14 <truebrain> Killing it sends a better message to the author, but is less friendly to the player 😄 23:24:51 <_glx_> local text = GSText(GSText.STR_2); 23:24:51 <_glx_> text.AddParam(text); 23:24:51 <_glx_> GSStoryPage.New(GSCompany.COMPANY_INVALID, text); 23:25:25 <_glx_> doesn't even reach the detection because it crashes openttd before 🙂 23:25:52 <_glx_> yes it's silly and it was the reason for circular reference detection 23:35:57 *** nielsm has quit IRC 23:37:47 <xarick> there's a flaw with yapf where npf is actually superior 23:39:24 <xarick> a ship is moving inside a very narrow canal with no exit 23:39:39 <xarick> i order go to nearest depot 23:39:56 <xarick> and there's no path on yapf, but there's a path on npf 23:40:30 <xarick> it forces the ship into the side, and reverses 23:40:52 <xarick> maybe this behaviour could be ported from npf to yapf? 23:41:04 <_glx_> ok even in 13.4 it's undetected, openttd crashes (event viewer shows it), but there's no crash window 23:44:24 <xarick> nevermind... 23:44:36 *** tokai|noir has joined #openttd 23:44:36 *** ChanServ sets mode: +v tokai|noir 23:45:59 <xarick> i thought it would reverse 23:46:02 <xarick> just tested 23:47:03 <xarick> yapf is the one that does the turn into the side, not npf 23:48:52 <xarick> reverse at the end of line for ships? yes or no? 23:51:12 *** tokai has quit IRC