IRC logs for #openttd on OFTC at 2025-05-02
⏴ go to previous day
00:15:44 *** WormnestAndroid has quit IRC (Remote host closed the connection)
00:15:56 *** WormnestAndroid has joined #openttd
00:29:48 *** WormnestAndroid has quit IRC (Remote host closed the connection)
00:29:51 *** WormnestAndroid has joined #openttd
02:04:17 *** Wormnest has quit IRC (Quit: Leaving)
02:25:55 *** gnu_jj_ has joined #openttd
02:29:25 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
04:45:40 <DorpsGek> - Update: Translations from eints (by translators)
05:12:44 *** keikoz has quit IRC (Ping timeout: 480 seconds)
07:07:08 *** jfkuayue has joined #openttd
07:07:08 <jfkuayue> How to get a specific PR version of OpenTTD?
07:09:09 <peter1138> 1) you need to compile it. 2) git fetch origin pull/14144/head:pr14144; git switch pr14144;
07:10:00 <peter1138> And if you can't do that, that's also fine, just say so :)
08:14:02 *** kuka_lie has joined #openttd
08:25:11 <orudge> Hmm, somebody keeps e-mailing me asking to buy the domain openttd.com, for what I don't know. They're offering $1500 for it. :/
08:25:14 <orudge> It seems an odd thing to want
08:28:02 *** mindlesstux has joined #openttd
08:31:01 <kuhnovic> They'll be able to quickly recuperate that money with the phishing / malware they'll offer on it
08:31:21 *** Smedles has joined #openttd
08:34:52 <truebrain> Maybe they are making an Open Source version of Tower Defense 😛
08:49:42 *** ChanServ sets mode: +v tokai
08:50:38 <kuhnovic> I'm wondering.... why do we keep the freeform_edges setting around? It only applies to very old savegames (pre-0.7.x), and the user can't set it. Seems like an unneccesary source of additional code paths / bugs, especially because very few savegames will have it disabled (enabled is the default).
08:51:33 <peter1138> Because old savegames (including pre-OpenTTD) exist.
08:52:31 <peter1138> It changes the usable map size by 1 tile in each coordinate, so it's not simply ignorable.
08:53:58 <peter1138> It is disabled in the master title savegame.
08:54:15 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
08:55:16 <kuhnovic> Ugh, that is unfortunate
09:05:52 <peter1138> If non-powers-of-2 map sizes were allowed then we could just add the extra void tiles on to old maps.
09:06:25 <andythenorth> you're saying 768*768 is an ideal map size? 👀
09:06:41 <andythenorth> quest your side quest?
09:11:55 <Rubidium> just bump the map sizes by 1 order (will make someone happy and not at the same time), and then move those non-freeform maps south 1 tile
09:12:20 <Rubidium> and ofcourse loads and loads of MP_VOID tiles
09:14:04 <andythenorth> 768 * 768 playable area within a 1024 * 1024
09:14:16 <andythenorth> hmm....make the playable area GS controllable 😛
09:31:41 <truebrain> My head-to-head branch did such trickery 😛
09:33:35 <kuhnovic> That means we'll at least need support for 8K maps 😛
09:35:34 <peter1138> So anyway, yes, that's why it's a 'setting' in the first place.
09:35:52 <peter1138> It needs to exist for old games.
09:35:54 *** marchnex has joined #openttd
09:36:57 <peter1138> If we did want to support what andythenorth suggests, then it might be feasible to remove the thing and do MP_VOID tests everywhere needed instead.
09:41:58 <andythenorth> some games have a sort of 'unlock the map' progress mechanic, which is what the GS idea is
09:42:05 <andythenorth> there's probably a head-to-head play thing as well
09:42:30 <andythenorth> ha will the game crash / desync if a current tile is converted to MP_VOID? 😛
09:42:47 <andythenorth> Neverending Story GS 😛
09:44:15 <kuhnovic> Quite the rabbit hole this one 😛
09:44:44 *** marchnex has quit IRC (Ping timeout: 480 seconds)
09:49:37 <peter1138> You'd need synchronised partial map generation if you actually wanted to convert mp_void to real tiles.
09:49:46 <pickpacket> andythenorth: fog of war mechanic?
09:50:09 <pickpacket> Build roads and send out buses to scout for industries
09:53:40 <peter1138> Having it pre-generated would make things simpler, but also mean it would be easy to work around that mechanic.
09:54:03 <peter1138> (But also, it would need to be pre-generated if different players have different visibility)
09:57:19 <pickpacket> Making it as a scenario where each company already has, say, a bus station in a city to start from would be best
10:01:24 <peter1138> Would that fit in with your RTS question?
10:04:35 <peter1138> Hmm, per-player per-tile map visibility gets expensive.
10:05:28 <peter1138> Way way worse if you want partial visibility and "this is what it when last seen" state.
10:07:05 <Rubidium> just keep a bitmap or something of the tiles visible per company. That'd be much simpler
10:07:27 <pickpacket> peter1138: it definitely would 😂
10:07:55 <Rubidium> then the whole map can just run as normal, just what's shown to the user differs
10:08:40 <peter1138> Rubidium, 15 bits (assuming you didn't magically increase the company limit) per tile, though.
10:08:45 <peter1138> (Also, spectators...)
10:09:13 <Rubidium> if we accept that RVs/ships can go through the 'missing' parts
10:09:37 <pickpacket> peter1138: remembering what was last seen is something the client can keep track of. And spectators don't see shit 🤪
10:09:58 <peter1138> Although I suppose the pathfinder could avoid it.
10:10:06 <Rubidium> peter1138: 15 bits is better than having 15 map copies
10:10:22 <peter1138> (But then how do you discover...)
10:10:56 <pickpacket> What you currently see is of course calculated from your vehicles
10:11:10 <peter1138> Of course, the problem is this is very much GS-gameplay territory, except GS itself can't just do this.
10:12:29 <pickpacket> Honestly I don't think the game should support it either
10:26:49 <peter1138> But would it allow GS to do it?
10:29:23 *** exceptik has joined #openttd
10:29:23 <exceptik> Sounds like a call for a separate version
10:33:25 <peter1138> Nah. Have a `std::vector<CompanyMask> visibility_map;`, and let GS play with it, and viewport rendering honour it, if it's not empty.
10:33:57 <peter1138> Not used = barely an space wasted.
10:35:14 <LordAro> inb4 hacked clients that just display everything
10:38:17 <peter1138> Yeah, I alluded to that 40 minutes ago :)
10:42:16 <peter1138> Hmm, I wonder if it's possible to coalesce dirty blocks that takes window widgets into account.
10:42:45 <peter1138> Currently we merge nearby dirty blocks but only based on position.
10:51:01 <jfkuayue> How to build win64 version of openttd on linux?
10:51:17 <pickpacket> Does the server have an OpenMetrics endpoint or was that something I dreamt at some point?
10:51:21 <LordAro> jfkuayue: "you don't"
10:51:40 <jfkuayue> Win64 on windows failed
10:51:50 <jfkuayue> I installed WSL for this
10:52:10 <pickpacket> jfkuayue: how did it fail?
10:53:20 <jfkuayue> ```error: building lzo:x64-windows-static failed with: BUILD_FAILED```
10:53:32 <jfkuayue> something something I don't understand something
10:56:02 <_glx_> You should see more details in the logs
11:04:55 <peter1138> Hmm, I wonder if it's possible (maybe with StringConsumer) to make the textfile wrap concatenate lines in a paragraph.
11:07:47 <peter1138> Also is there an iterator that will start in the middle, then alternately take the next / prev / next / prev items...
11:08:34 <_jgr_> peter1138: On dirty blocks, I took the approach of tracking window/widget dirty states separately from viewport dirtyness. That makes it relatively straightforward to repaint individual widgets in one go without also doing parts of their neighbours.
11:08:35 <peter1138> Bonus if the initial midpoint can actually be not in the middle at all.
11:24:38 <andythenorth> map tile visibility could have a minimum block size
11:24:51 <andythenorth> there's no particular need for single tile granularity
11:25:17 <peter1138> Make it 3x3 tiles, just to be awkward.
11:25:56 <andythenorth> goes nicely with power of 2 map sizes? 😛
11:26:32 <xarick> look at the ship last year running cost
11:26:44 <xarick> and compare it to the last year in finance window
11:26:55 <peter1138> With the void tiles maps don't look like powers-of-2 anyway.
11:28:19 <xarick> transfers ruining moneys?
11:29:12 <xarick> could it be those transfers counting as costs involved?
11:33:19 <Rubidium> vehicle statistics look at the time the cargo leaves the vehicle, finance window when it arrives at the destination
11:38:33 *** WormnestAndroid has quit IRC (Remote host closed the connection)
11:38:44 *** WormnestAndroid has joined #openttd
11:55:41 * peter1138 slightly facepalms.
12:07:58 <LordAro> Rubidium: that feels like a bug
12:22:55 *** gelignite has joined #openttd
12:27:58 *** gelignite has quit IRC (Quit: Stay safe!)
12:31:03 *** greeter has joined #openttd
12:31:39 <Rubidium> I'd call it an optimisation
12:33:24 <Rubidium> and whatever you do, you can feel like it's buggy
12:36:08 <Rubidium> as the alternative is only increasing the operating cost of vehicles once final payment has been made. But then, those earlier vehicles might not exist anymore. Also, in large networks vehicles will remain without income for a (long) while causing lower ratings
12:37:16 <Rubidium> also note that you need to save which vehicles the cargo has been part of and how long it has been on those vehicles (time and distance)
12:37:17 <peter1138> Confused. Running cost isn't related to cargo payments.
12:37:45 <Rubidium> the operating profits or whatever they're called
12:38:44 <Rubidium> i.e. whatever is in 'profit_this_year' in Vehicle
12:41:42 <peter1138> Ah yes, it's all together when it comes to showing profit.
12:49:33 <_glx_> virtual in vehicle view, real in finance
12:51:52 <_glx_> and the real income for a trip can be less than the sum of transfers
13:14:53 <jfkuayue> now it is complaining zlib, and searching on internet, trying to implement every suggestion found, didn't work
13:16:29 <LordAro> random flailing is certainly one way to go about it
13:19:56 <_glx_> jfkuayue: really looks like incorrect vcpkg setup
13:20:59 <xarick> it just started raining
13:26:45 <peter1138> Anyone else able to test that change? :)
13:28:40 <_glx_> well I'll trigger a build, easier
13:50:09 <xarick> double headed engines should be able to take turns at a higher speed
13:51:43 *** tokai|noir has joined #openttd
13:51:43 *** ChanServ sets mode: +v tokai|noir
13:53:00 <goddess_ishtar> xarick: you can just implement that through the tilt bonus / curve_speed_mod properties
13:56:03 *** tokai has quit IRC (Ping timeout: 480 seconds)
14:55:10 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
14:58:40 *** Wormnest has joined #openttd
15:32:11 <xarick> i'm still building a bit too many trains
15:34:02 <xarick> can't come up with a good formula
15:36:16 <xarick> i start selling excessive trains once I build all 15, but i'd prefer to just get the ideal number that won't end me in selling
15:45:46 <_glx_> my usual way (as human) is start with 1 train, then add as needed
15:46:45 <_glx_> based on waiting cargo in the station
15:46:53 <goddess_ishtar> xarick: add a single train, wait a certain amount of time and measure throughput, then multiply the number of trains by how much you're under?
15:47:07 <_glx_> of course it never works for passengers at some point
15:47:48 <goddess_ishtar> you'd need a second check to see whether you're running too many trains down the line and need to expand
15:48:27 <goddess_ishtar> (to avoid oversaturating the network in case of a traffic jam, which causes the AI to buy more and more trains because the throughput keeps dropping)
16:03:53 <_zephyris> Choice of mono font is separated from choice of big/medium/small, right? So missing mono font glyphs won't cause fallback for all fonts?
16:28:37 <xarick> wish I could hide vehicles from competitors in the small map
16:37:18 *** Smedles has joined #openttd
17:03:09 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
17:11:09 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
17:11:17 *** WormnestAndroid has joined #openttd
17:18:58 *** ChanServ sets mode: +v tokai
17:23:30 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
17:43:57 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
17:44:05 *** WormnestAndroid has joined #openttd
17:51:13 *** WormnestAndroid has quit IRC (Read error: No route to host)
17:55:50 *** WormnestAndroid has joined #openttd
17:56:21 *** WormnestAndroid has quit IRC (Remote host closed the connection)
17:56:24 *** WormnestAndroid has joined #openttd
17:58:31 <xarick> just uncovered 2 bugs in town manager lol
18:29:05 <peter1138> Hmm, two iterators, one going back, one going forward. Alternate.
18:34:58 <peter1138> std::distance is too picky about constness :(
18:37:43 <peter1138> andythenorth, there, I answered.
18:38:19 <peter1138> Basically, if you make fonts bigger, you should expect text to take up more space.
18:38:40 <andythenorth> I don't think my minimap splits the columns that way
18:39:00 <andythenorth> oh maybe there's a fixed max col length, then it rolls over?
18:39:19 <peter1138> If you make it wider, it'll share over 4+ columns instead.
18:40:24 <peter1138> Also that better be a well-prepared MIDI that sounds natural, rather than timing-perfect MIDI score copied straight in :)
18:42:10 <peter1138> I have a copy in flac...
18:44:10 <jfkuayue> Okay, it is passing 7 mins successfully
19:00:57 <jfkuayue> entering into the last movement
19:02:49 <jfkuayue> If the 40-min midi is fine, then the bug would have been resolved, or?
19:26:59 <xarick> there was an earthquake in argentina?
19:34:25 <peter1138> Forget that, you changed the shape of the array.
19:35:01 <_zephyris> Very interesting... Mirrored mouse cursors and fast forward would be my immediate picks to add RTL polish. Anything else?
19:37:04 <peter1138> Should we remove special cases in OpenTTD and make the baseset do it...
19:37:16 <peter1138> (Would be nice, but breaks compatibility :/)
19:37:42 <peter1138> Music player buttons spring to mind.
19:41:50 <frosch123> The gui code can test the rtl-awareness. And choose sprites depending on that
19:44:09 <frosch123> It depends on whether you want to name the sprite "play" or "triangle right"
19:45:09 <peter1138> I mention music player because we already accomodated that.
19:45:25 <peter1138> But it's not as nice as solution as this.
19:48:32 <frosch123> I would keep the window resize buttons separate. It's a gui style decision which corners/edges allow resizing. Not necessarily a textdir decision
19:49:18 <peter1138[d]> Yes, in fact I had a patch somewhere that needed to use a left-resize button on even though the language is LTR 🙂
20:06:36 *** squirejames has joined #openttd
20:06:36 <squirejames> Reminds me, it does surprise me that (given the composer and their availability) no-one has made a UFo/TFTD music pack for OpenTTD
20:44:52 <peter1138> Hmm, story book maybe.
20:46:40 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:51:00 <peter1138> Fixed up the story book to use it as well.
20:52:37 <peter1138> std::byte, how modern :)
21:33:30 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:50:32 <xarick> hmm 50 trains on a 3400 route dist
21:50:44 <xarick> let's see if i like it
21:51:25 <alpapilus> xarick: I’ve had 60 on less.
21:52:05 <xarick> capacity for 657 trains without causing a deadlock
21:52:12 <xarick> but of course that's dumb
21:55:41 <xarick> meh, i don't think i like it
21:56:52 <xarick> 27 trains were built when the first one reached the other side
21:57:33 <xarick> gonna wait for the adjustment, see if it sells any
21:58:43 *** tokai|noir has joined #openttd
21:58:43 *** ChanServ sets mode: +v tokai|noir
22:00:15 <xarick> I got a method to detect trains moving at 0 km/h
22:01:01 <xarick> if it finds at least 4 at 0 km/h, then it starts selling
22:05:43 *** tokai has quit IRC (Ping timeout: 480 seconds)
22:08:41 <xarick> nice, no trains sold, and station cargo rating is stable
22:09:51 <xarick> seems like I hit the formula
22:32:03 *** kuka_lie has quit IRC (Remote host closed the connection)
22:56:44 *** debdog has quit IRC (Ping timeout: 480 seconds)
23:01:11 *** WormnestAndroid has quit IRC (Remote host closed the connection)
23:01:14 *** WormnestAndroid has joined #openttd
23:11:36 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:36:26 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
23:41:37 *** WormnestAndroid has joined #openttd
continue to next day ⏵