IRC logs for #openttd on OFTC at 2025-12-26
β΄ go to previous day
00:21:31 *** MazyMan has joined #openttd
00:23:28 *** MazyMan has quit IRC (Remote host closed the connection)
01:01:49 *** ChanServ sets mode: +v tokai
01:09:05 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
02:26:47 *** toktik has quit IRC (Remote host closed the connection)
04:43:34 <DorpsGek> - Update: Translations from eints (by translators)
04:56:03 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
04:56:54 *** WormnestAndroid has joined #openttd
05:08:47 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
05:11:24 *** MinchinWeb[m] has joined #openttd
05:21:23 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
05:22:10 *** WormnestAndroid has joined #openttd
05:53:38 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
05:56:06 *** WormnestAndroid has joined #openttd
07:08:33 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
07:08:39 *** WormnestAndroid has joined #openttd
07:08:45 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
07:09:03 *** WormnestAndroid has joined #openttd
07:12:19 *** tokai has quit IRC (Quit: c('~' )o)
07:16:42 *** ChanServ sets mode: +v tokai
07:23:12 <rito12_51026> peter1138: Thanks, that explains a lot
07:40:37 *** tokai has quit IRC (Quit: c('~' )o)
08:03:47 *** Flygon has quit IRC (Remote host closed the connection)
08:34:40 <peter1138> I have wondered if ships could be allowed to move arbitrarily, as it's all just water. But the pathfinder would either really struggle... and need to be redesigned.
08:43:05 <mmtunligit> peter1138: I think the pathfinder is pretty much fine as is, itβs just very tight spaces where things can get weird
08:49:01 <ahyangyi> Would it help (as in, improve things without changing too much code) if ships use the road system instead?
08:53:14 *** ChanServ sets mode: +v tokai
08:58:57 <kuhnovic> peter1138: What do you mean by arbitrarily?
09:01:45 <_zephyris> Two ships next to each other on a time is meh
09:06:07 *** tranri has quit IRC (Quit: User went offline on Discord a while ago)
09:07:01 <peter1138> kuhnovic, anywhere within a tile :)
09:07:58 <peter1138> For pathfinding, which significant changes, that would bloat each tile's choices by * 256.
09:08:38 <peter1138> (Assuming the usual 16 subtile resolution, which also sucks at 4x)
09:10:00 <peter1138> In theory we could allow ships to switch from X to Y track when they're in the middle of a tile, but that would also be horrible to the pathfinder.
09:25:43 <kuhnovic> That would be a good way to bring back the performance issues π
09:26:29 <kuhnovic> peter1138: I think this wouldn't be so bad, it would mainly require significant changes to ShipController
09:27:41 <peter1138> I'm not sure it would help.
09:28:05 <kuhnovic> I tried to make ships do three point turns instead of reversing on the spot, but it quickly spiralled out of control.
09:40:59 <peter1138> If the ship was to stop directly on the tile edge instead of 1 sub-tile position in, you could perhaps allow it to jump to the diagonal ship piece. Technically it's not actually on the docking tile at that point, though.
09:42:28 <peter1138> Hm, it's 2 sub-tile positions in, at 14
09:43:09 <peter1138> Fiddling with stopping positions is a recipe for more weird behaviour though :)
09:43:43 <andythenorth> how will articulated ships rotate in place? π
09:48:03 <rito12_51026> Do planes also use rails like ships do?
09:49:36 <peter1138> No, they have no obstacles at all so they just go in straight lines.
09:50:08 <peter1138> They still only go on 45Β° directions though, not arbitrary.
09:52:38 <kuhnovic> Ships are allowed to reverse into trackdirs other than the reverse of the current trackdir, but only when they accidentally bump into something they can't traverse. This happens at the very last pixel within the tile, as the ship is about to leave that tile.
09:53:56 <peter1138> Ships did used to finish (un)loading, then continue *forward* to bump into the dock, before turning around.
09:54:52 <peter1138> And in old versions they docked closer to the dock as well, but only on the tile at the end of the dock, not next to it.
09:55:59 <peter1138> When I added the docking locations stuff, I did make it match that behaviour, but someone else changed it.
10:08:52 <ahyangyi> Probably much worse than just allowing ships to take arbitrary turns or whatever
10:09:40 <ahyangyi> And this is going to be my worst suggestion here this year
10:14:56 <andythenorth> there's still time yet
10:17:44 <peter1138> NewDocks doesn't affect any of that.
10:29:38 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
11:06:01 <ahyangyi> andythenorth: Yeah I'll try harder! π
12:02:56 <peter1138> Try, let's see if cases work.
12:05:44 <peter1138> Specifying a case on a raw string does not make sense, I believe.
12:05:49 <peter1138> Because it's already formatted...
12:07:46 <peter1138> I also have a feeling that translators aren't using cases consistently, as they don't know where strings are used.
12:09:11 <mmtunligit> Not every language even has letter cases, and the ones that do donβt necessarily use them the same as English
12:09:54 <peter1138> Right, where in English we just go "I need the cargo's name", in other language they need "I need the cargo's name in this context"
12:10:11 <peter1138> But we don't cater for that, because we (I) don't even think of it.
12:11:10 <peter1138> > Nouns end with the suffix -o. To make a word plural, the suffix -j is added to the -o. Without this suffix, a countable noun is understood to be singular. Direct objects take an accusative case suffix -n, which goes after any plural suffix; the resulting pluralized accusative sequence -ojn rhymes with English coin.
12:11:36 <mmtunligit> Translation and localization are hard, thereβs a reason most games outsource it to companies set up for that specific purpose
12:12:15 <peter1138> We outsource it to volunteers.
12:12:44 <mmtunligit> Oh I though we were talking upper/lower case
12:12:58 <peter1138> That's capitalisation.
12:13:11 <mmtunligit> Yeah I got confused
12:13:22 <peter1138> master: "Bezonas: Kaucukon, Kopra Erco, Ligno"
12:13:51 <peter1138> my (fixed) pr: "Bezonas: Kaucukon, Kupran Ercon, Lignon"
12:14:02 <peter1138> my (unfixed) pr: "Bezonas: Kaucuko, Kupra Erco, Ligno"
12:14:29 <peter1138> Of course... I have no idea which is actually correct, I never learnt Esperanto :)
12:14:46 <peter1138> But in master it's mixed, which seems likely to be wrong.
12:30:54 *** WormnestAndroid has quit IRC (Remote host closed the connection)
12:30:56 *** WormnestAndroid has joined #openttd
12:31:15 <peter1138> Latin works as it did before, so that's good.
12:32:02 <Borg> im my humble opinion. that whole localization effort is just waste of time...
12:32:09 <Borg> everyone should be able to read/write in English
12:33:03 <peter1138> Just as well nobody was asking you.
13:13:51 <Rubidium> interestingly Borg wasn't even able to write English but used a completely different language instead :D
13:26:17 *** gelignite has joined #openttd
13:46:28 <Borg> Rubidium: yeah. my english is not good indeed :)
13:50:23 <Rubidium> some people call those misspellings of English, others call it American ;)
13:52:07 <Borg> well, the point is.. learning basics of english arent that hard.. if I managed to do so... ;)
13:52:27 <Borg> but okey.. lets cut it... or peter1138 will get even more angry ;)
13:52:42 <Borg> I dont want to spoil anyone mood.. myself included
14:00:58 <peter1138> I'm not angry. I just think it's a ridiculous opinion.
14:01:36 <Borg> peter1138: wanna hear rationale for it?
14:09:39 <talltyler> I wonder how that was affecting town generation
14:09:46 <talltyler> Presumably fewer towns near water
14:27:07 <vldb1245> Hey guys. Can you tell me which files in github are stand for creating a menu?
14:28:17 <talltyler> What kind of menu? Most menu stuff is in `*_gui.cpp` files.
14:36:27 <vldb1245> The builder of menus
14:36:59 <vldb1245> There should be a code like menu constructor.
14:39:11 <peter1138> If you downloaded the code and have it open in your editor, then look for things like ShowDropDownList and ShowDropDownMenu.
15:31:08 *** Smedles has joined #openttd
15:31:44 <xarick> if i'm at the begin in an iterator, and i call --it, what is the expected behaviour? crash? don't move? redirect to end?
15:32:25 <xarick> in an std::map/set perspective
15:33:55 <peter1138> Rubidium, #14987 could do with another look. I tweaked the Esperanto translations slightly.
15:50:18 <talltyler> Updated changelog and announcement post for a release today, if people can stop finding bugs for five minutes π
16:18:08 *** Flygon has quit IRC (Read error: Connection reset by peer)
16:18:09 <peter1138> Perhaps too many, should it wait...
16:19:19 <talltyler> We'll have to do language updates for 15.1, might as well find any issues now and avoid a 15.2?
16:40:59 <peter1138> Hmm, was that quick, or was I brutalising the piano for longer than I realised...
16:53:57 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
17:01:15 *** MinchinWeb[m] has joined #openttd
17:11:55 <talltyler> Just need a website approval, then I can release π
17:23:12 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
17:26:54 *** MinchinWeb[m] has joined #openttd
17:37:32 <peter1138> Hmm, well, I don't really like it for some reason but I don't have any good ideas.
17:39:02 <talltyler> Which part? I can rewrite.
17:45:33 <peter1138> Dunno, that's the point :)
17:58:09 <peter1138> Well, provide half-tile rail (overlay) sprites for default railtypes, and all add-on rail types... and then...
18:03:06 <peter1138> Correct branch this time :)
18:04:48 <talltyler> Right, I'm going to run an errand while we wait for the release actions. I'll merge the website PR when I get home, unless someone beats me to it (feel free).
18:37:53 *** Superuser has joined #openttd
18:41:43 *** Superuser has quit IRC (Killed (NickServ (Too many failed password attempts.)))
18:41:54 *** Superuser has joined #openttd
18:51:22 *** Wormnest has joined #openttd
18:59:52 *** Superuser has quit IRC (Quit: WeeChat 4.8.1 - Please send me a message through MemoServ if I'm offline as I don't have a bouncer)
18:59:54 *** Superuser has joined #openttd
19:04:25 <talltyler> Discord, Steam, and TT-Forums done. I'll leave the rest to others. π
19:10:43 <michi_cc[d]> Reddit and X done.
19:14:55 *** Superuser has joined #openttd
19:20:19 *** reldred has joined #openttd
19:20:19 <reldred> peter1138: Ugh. Iβm gonna have to make more sprites for Pineapple landscape then.
19:33:27 *** Superuser has quit IRC (Quit: WeeChat 4.8.1 - Please send me a message through MemoServ if I'm offline as I don't have a bouncer)
19:44:55 <peter1138> That's why I get for copy & pasting the text.
19:46:09 <peter1138> Link is updated, whether your fediverse instance sees updates is another matter.
20:01:42 <Borg> peter1138: hmm looks not bad.. that yellow blue nicely contrast... it just needs coast tiles
20:25:57 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
20:28:02 *** MinchinWeb[m] has joined #openttd
21:09:20 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
21:10:24 *** MinchinWeb[m] has joined #openttd
21:27:38 <kuhnovic> Peter doing a Xarick? π
21:28:31 <peter1138> Only to get the biggest improvement ;)
21:30:31 <Rubidium> well... maybe the commit message is bad. It also makes it easier to understand what the function is doing
21:32:05 <peter1138> perlin isn't used for very much at the moment, only coastal noise, and it only calls the function twice for each side of the map. So 4096x4096 is needed to get 32,768 calls in total.
21:32:41 <peter1138> Whereas with my desert-noise branch, it may be called for every tile.
21:32:55 <peter1138> (It won't be, but still.)
21:33:27 <peter1138> I can change the commit message if you suggest something :)
21:37:12 <Rubidium> I'm just stating that it not only helps performance, but also readability (which performance improvements often don't do). Heck, even the binary will be smaller. :D
21:52:59 <kuhnovic> I'm just pulling your leg
22:00:33 <xarick> peter 1138 and 4096x4096 in the same sentence :)
22:01:25 <Borg> I dont remember I ever played on map larger than 512x512 myself
22:02:00 <Borg> but its good to have choices :)
22:02:21 <Borg> anyway! I played today quite a lot.. using my pf.nd_station_eol = true
22:02:26 <Borg> no anomalies! and no weird detours :)
22:02:37 <peter1138> The function is small enough that using TicToc on it for each iteration doesn't give accurate results, so I needed to call it a lot. And a larger map size is the easiest thing there.
22:03:03 <Borg> and no more RR signals to deny train to station when its not its current order :)
22:10:17 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
22:11:00 *** MinchinWeb[m] has joined #openttd
22:15:52 <rito12_51026> I've just tried to build master on my phone and it failed in ini.cpp. Probably forgot to install some libraries
22:20:09 <Rubidium> it doesn't look like it's using some external libraries except stdlib
22:21:26 <Borg> compiler problem? too old maybe?
22:29:15 <kuhnovic> peter1138: I've used NanoBench in the past. It's header only and pretty easy to set up. I used it for YAPF performance comparisons in the past. Highly recommended.
22:29:35 <kuhnovic> But for your case tictoc-ing a huge map is probably already good enough
22:29:56 <peter1138> I didn't care too much, just "is it faster?"
22:30:21 <peter1138> I figured twice as fast was a good enough excuse :)
22:33:53 <kuhnovic> Severe case of Xarickitis
22:37:48 <Borg> twice as fast is decent result..
22:38:03 <Borg> I actually cant remember when last time I spent time optimizing something for speed.
22:38:21 <Borg> most of time these days I optimize for byte code size.. due to bin patching ;)
22:44:07 <xarick> guys, I had a question
22:44:35 <xarick> if i'm at the begin in an iterator, and i call --it, what is the expected behaviour? crash? don't move? redirect to end?
22:44:47 <xarick> what's the "best practice" behaviour
22:45:16 <kuhnovic> Sounds like you need to look at rend instead of begin
22:45:50 <kuhnovic> But difficult without context
22:46:50 <xarick> what would std:πΊοΈ:iterator do
22:48:12 <peter1138> You can't move beyond the beginning of a container.
22:52:22 <xarick> mr copilot said... UB in release, assert in debug
22:54:43 <Borg> xarick: why not write a very simple .cpp program and test?
22:55:04 <Borg> oh look ;P 11 trash away C programs..
22:55:46 <_zephyris> peter1138: @peter1138 How were you thinking of doing the coast sprites? Just add a set of coast desert and coast desert transition tiles?
22:55:46 <kaji_kaede> xarick: give you an iterator for a std::map
22:56:11 <_zephyris> Same for snowy coast?
22:59:24 *** Wormnest has quit IRC (Quit: Leaving)
23:01:26 *** Borg has quit IRC (Quit: leaving)
23:02:53 <peter1138> Possibly extend the existing shore line action 5.
23:03:01 <peter1138> Except it would need all combinations.
23:04:53 <talltyler> Snowy coast would be smart to add or at least leave room for
23:20:12 <_zephyris> It's like my rock question
23:20:46 <xarick> woah, windows lets me rename files of executables which are currently running
23:22:28 <_zephyris> I'd treat desert like snow, for now
23:23:04 <_zephyris> From my naive newgrf/baseset pov that's how ground tiles work after all
23:23:18 <peter1138> Yeah. But it's not how it works internally.
23:25:00 <_glx_> xarick: most likely it was not the executable currently running
23:27:16 <_zephyris> I'm getting twitchy about combinatorial explosions too
23:28:24 <_zephyris> Would landscape grf devs like shore overlay/grass overlay?
23:29:26 <_zephyris> I need to have a look at how it works internally...
23:38:26 <xarick> seems to be schedulling the rename
23:38:56 <xarick> i see it with the new name, but it's not yet renamed under the hood
23:39:13 <xarick> or maybe ntfs got an upgrade
23:43:47 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
23:45:07 *** WormnestAndroid has joined #openttd
23:48:26 <xarick> im in a hurry, so the very unscientific quick run with all 4 running at the same time:
23:52:37 <peter1138> Yes, all running at the same time so they're fighting for scheduling time :)
23:55:03 <xarick> ValuateTests require fast forward...
23:55:46 <xarick> at normal 1x speed they're all (nearly) tied: 327, 325, 320, 320
23:57:44 <xarick> RemoveItem tests has those abnormal spikes coming from garbage collector...
23:58:42 <xarick> affect all 4 builds equally, so i suspect it's not ScriptList, but maybe PriorityQueue or array from squirrel itself
23:58:56 <xarick> I am using those structures
continue to next day β΅