IRC logs for #openttd on OFTC at 2024-04-18
โด go to previous day
00:00:42 <peter1138> This is wrong still ๐
00:01:57 <peter1138> Let's get it right.
00:02:24 <peter1138> Just c_str() does the right thing.
00:03:23 <_glx_> _NODISCARD _STD wstring wstring() const { // copy the native path from this instance into a wstring
00:03:43 <_glx_> ``` _NODISCARD const value_type* c_str() const noexcept {
00:03:43 <_glx_> // return a NTCTS to the internally stored path in the native format
00:04:16 <peter1138> Yeah. All my headers are Linux versions ๐
00:06:38 <peter1138> Now, does it actually work on Windows, or is it just at the compiling stage?
00:07:39 <_glx_> the 3 versions were visually correct in load game window
00:08:07 <_glx_> and in newgrf config, and content download
00:08:38 <_glx_> I think that tests all cases
00:09:54 <_glx_> removing OS specific stuff is always good
00:22:09 <peter1138> Nice, just CodeQL, which will probably work out it's doing path operations on user input... ๐
00:27:36 <_glx_> if it find a code path from `-c` ๐
00:54:16 <peter1138> Incorporates latest changes but doesn't address the emscripten issue ๐ฆ
01:45:52 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
01:48:43 *** Wormnest has joined #openttd
02:02:42 *** herms has quit IRC (Quit: bye)
02:10:44 *** Wormnest has quit IRC (Quit: Leaving)
02:35:51 *** gnu_jj_ has joined #openttd
02:39:22 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
02:45:11 *** D-HUND has quit IRC (Ping timeout: 480 seconds)
04:40:33 <DorpsGek> - Update: Translations from eints (by translators)
06:33:29 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
07:57:05 <andythenorth> such flag shapes on the minimap
08:01:15 *** SigHunter has joined #openttd
08:17:46 *** orudge changes topic to "14.0 | Website: *.openttd.org (source: github, translator: translator, server list: servers, wiki: wiki) | Don't ask to ask, just ask | 'Latest' is not a valid version, 'Most recent' neither | English only"
08:42:03 <peter1138> I guess variants eh?
08:44:45 <peter1138> Does NML let you reuse action 2 chains between vehicles?
08:50:03 <andythenorth> this is how I run out of varact 2 IDs
08:58:13 <ahyangyi> andythenorth: I can imagine two adjacent wharfs get really angry ๐ข
09:01:31 <andythenorth> having to be careful not to accidentally make swastiks
09:01:48 <andythenorth> much as they're fine in India, not so much in Europe
09:23:02 *** Smedles has joined #openttd
09:34:12 <peter1138> andythenorth: But you only need to keep one action 2 chain for the shared parts (callbacks etc) for an engine, and then that ID can be reused for the next shared engine type...
09:35:04 <andythenorth> I ran out of simultaneous ๐
09:35:34 <andythenorth> I did โfixโ it by rearranging the vehicles order several times
09:41:29 <andythenorth> Most authors should not encounter this issue ๐
09:53:08 <ahyangyi> Admittedly when you construct complexy switches with python loops, running into the limit is quite common
09:53:45 <ahyangyi> like when I do my station, I said
09:57:16 <peter1138> What even was the intention with that.
10:12:11 <ahyangyi> A 16x16 station layout
10:20:53 <peter1138> What does that have to do with action 2 ID limits?
10:22:25 <ahyangyi> I wrote a switch that points to 256 other switches
10:23:23 <ahyangyi> Because that seemed the most straightforward thing to do
10:24:33 <peter1138> I see. So not property 0E which lets you define a static layout (but only with tiles 00-07 & 1)
10:27:13 <peter1138> Honestly we should just remove the 00-07 limit from property 0E.
10:28:43 <andythenorth> is that NotStations?
10:29:12 <peter1138> In SLV_72 we removed the global station gfx numbers in favour of per station type.
10:29:25 <peter1138> afterload.cpp:864 does the conversion.
10:29:40 <peter1138> That means that actually the whole byte is available, not just 00-07.
10:30:47 <peter1138> Then you can define a static layout much more easily, and it doesn't need to evaluate such complex callbacks for every render.
10:31:39 <ahyangyi> peter1138: And also callback 0x24?
10:32:00 <ahyangyi> I would much prefer static layouts to dynamic ones
10:32:25 <ahyangyi> Because the former is much more predictable to the user
10:33:53 <ahyangyi> (I do consider cb24 part of the "static layout" thing though)
10:34:53 <ahyangyi> coming up with switches to work with cb14 that works however the user modifies the station is very hard
10:34:56 <peter1138> Yes that creates a static layout.
10:35:13 <ahyangyi> not to mention that cb14 has no power over traversability
10:35:13 <andythenorth> anything I try to add here will only reveal how little I understand the station spec ๐
10:35:39 <peter1138> Hmm, good point, traversability is limited to 8 bits.
10:38:40 <peter1138> I guess that needs an extra property to define for up to 0-255 instead of just 0-7
10:42:44 <ahyangyi> Yeah, 0-255 instead of 0-7 would have made things much easier.
10:45:15 <andythenorth> forgive my ignorance, but what is a station 'layout'?
10:45:41 <peter1138> Which tile to use for each position in the station.
10:46:27 <peter1138> There are 4 layouts in the default station, bare platform, small station building, and then the two-part large canopy.
10:46:45 <peter1138> The station layout defines which tiles are placed where.
10:47:15 <peter1138> This is what makes for building nice stations easily, instead of having to pick each component and place individually, Which is a pain in the arse.
10:52:26 *** woobilicious has joined #openttd
10:52:26 <woobilicious> Umm, `src/window.cpp#L2780` & `src/main_gui.cpp#L437` don't seem to match, probably explains why I'm having a hard to getting in sane settings on a trackpad working lol
11:01:37 <_glx_> peter1138: And the property to define the layouts is not implemented in nml, only the callback for tile type
11:10:02 <peter1138> Though it is a complex one.
11:12:03 <_glx_> Yeah I decided the CB was simpler
11:12:32 <peter1138> I think one "issue" with NML is that it hides the fact that everything is numbers.
11:12:48 <peter1138> So authors forget/don't-realise that they can do calculations on anything.
11:13:16 <peter1138> Like trying to make a switch block to pick random colours when the calculation is super simple.
11:14:19 <peter1138> e.g. default station layouts are generated with a small algorithm for the selected station size.
11:14:36 <peter1138> No predefined selection of layouts for every single combination is needed.
11:17:02 <peter1138> Conversely, with NFO you are painfully aware that everything is a number ๐
11:22:25 <peter1138> Prop 0A actually allows more than 256 layouts. Hmm.
11:23:16 <peter1138> Oops, that was the wrong thing.
11:24:23 <peter1138> So anything > 255 would need CB 24, but who uses that many layouts in a single station?
11:33:59 <peter1138> `std::vector<std::vector<std::vector<uint8_t>>> layouts;` always lol ๐
11:42:51 <woobilicious> does openttd not use sdl2 on OSX/Windows? just Linux?
11:44:16 <peter1138> Anything non-OSX/Windows will be Allegro, SDL or SDL2.
11:44:25 <_glx_> No need for an extra lib on windows
11:45:22 <peter1138> Hmm, this ETS2 experimental update is very different. Wonder why they are still developing a 10+ year old game...
11:45:24 <woobilicious> Well 2d scrollwheel is only currently supported on MacOSX...so that would be a good case to use SDL2 on all platfroms.. lol
11:45:57 <peter1138> So that no platform supports it?
11:46:23 <woobilicious> SDL2 supports 2d scrolling, the SDL2 code just never acesses the .x coord lol
11:46:53 <_glx_> All OS should support it I think
11:47:39 <_glx_> Just no dev had a need for it
11:48:01 <woobilicious> No one plays on a laptop except me lol
11:48:46 <_glx_> I guess most just use a mouse because it's more practical
11:49:54 <woobilicious> Well android is PITA for all sorts of reasons lol
11:50:32 <woobilicious> looks like it shouldn't be too hard to add tbh.
11:50:49 <_jgr_> For users who don't have a mouse scrolling using the arrow keys is likely to be much less painful than trying to use a trackpad
11:51:16 <woobilicious> preciseX/Y won't work till SDL3 though.
11:52:53 <woobilicious> _jgr_: It's basically second nature to use the trackpad for 2d scrolling in a web browser or similar, untraining that habbit was painful, and some what of a barrier to entry for newbies.
11:56:15 <woobilicious> I might add MMB if I can be bothered...
11:57:03 <woobilicious> Also blerg the cocoa code doesn't have error difusion.
11:58:51 *** tateisukannanirase has joined #openttd
11:58:52 <tateisukannanirase> Hi everyone is there a technical reason why drive through road stops can't be placed under bridges?
12:11:58 <_zephyris> Yup, the game doesn't know how tall the graphics are (especially with NewGRF road stops) so it doesn't know if there would be graphics glitches.
12:12:34 <woobilicious> 2.5D strikes again?
12:14:10 <tateisukannanirase> thanks _zephyris ! unfortunate because it would be a nice way to use the space under bridges!
12:16:43 <peter1138> Actually with NewGRF road stops the spec includes bridge height.
12:17:49 <peter1138> Could be ported from JGRPP I guess.
12:18:15 <peter1138> Depends how we feel about bridges-over-more-things in general.
12:19:01 <woobilicious> well that was an easy addition...added 2d scrolling to SDL2...
12:19:03 <truebrain> peter1138: only do it for roadstops, just because it is funny ๐
12:19:40 <woobilicious> what is a bridges platonic nature but to bridge-over-things.
12:19:56 <peter1138> _zephyris: Honestly think we should move the font settings to let new defaults be used.
12:20:29 <peter1138> Complaining about fonts because your old config has some truetype set so you don't get to see the beautiful new built in font is... meh.
12:21:09 <peter1138> Yes, bridge-over-things, but to bridge-over-more-things? Now that's a scary prospect!
12:21:44 <peter1138> Also has scaled bevels off, so of course it's going to look bad.
12:22:04 <truebrain> glad to see how much Master Hellish understood the rename to Sandbox ๐
12:22:50 <_zephyris> lots of good in that vid
12:23:46 <peter1138> Nah, we should make the game we want, not what other people want ๐
12:24:14 <locosage> peter1138: just don't remove the GUI plz ๐
12:24:39 <peter1138> command-line openttd, yes.
12:26:38 <woobilicious> does scrollwheel still zoom in and out with it set to map scrolling for anyone else? it makes little sense as to why this hasn't been a bug report on MacOSX hmm, because it would zoom and scroll at the same time.
12:27:22 <peter1138> Because either 1) not many mac OS users play with these ancient settings 2) they think it's normal ๐
12:28:30 <woobilicious> well I assume I've fixed this bug then lol...now to test it on my laptop...maybe I'll add pinch zoom too.
12:29:49 <_zephyris> locosage: That's the long-term goal of gamescript, right?
12:30:46 <talltyler> peter1138: Bridges over stations is really useful ๐
12:31:52 <talltyler> Iโm playing a multiplayer xUSSR game where trains are 15+ tiles long and itโs a lifesaver to be able to bridge the super long stations needed
12:33:29 <woobilicious> Oh yeah I played around with using tunnels for something familiar once.
12:40:10 <emperorjake> woobilicious: On Mac, I set scrollwheel to scroll map, and then you can effortlessly flick around the map with the trackpad, and use pinch to zoom. You have to change the setting back when using a mouse though
12:41:34 <woobilicious> emperorjake: Does it not trigger a zoom even as well? if I set scroll map on my system and it still zooms.
12:42:49 <emperorjake> No, but I'm not on the latest version, lemme check
12:43:42 <merni> Scrollwheel to scroll map doesn't seem to work for me on windows
12:43:52 <woobilicious> ohh wait I think it disables zoom if the v_wheel != 0
12:44:19 <woobilicious> merni: it's only supported on MacOS atm.
12:44:50 <merni> well I assume it working on trackpads is only supported on macos
12:44:57 <merni> probably works fine with an actual scrollwheel
12:45:03 <woobilicious> should be easy enough to add for windows, on SDL2 it's only two lines of code.
12:45:20 <emperorjake> Strange, I just connected my mouse to my Mac and the scrollwheel zoomed for a few seconds before it started scrolling the map
12:45:44 <emperorjake> but otherwise the trackpad scrollimg behaviour still works perfectly in 14.0
12:46:46 <woobilicious> This code probably needs some refactoring, the MacOSX magnify event just does a ++ on wheel...lol
12:58:28 <peter1138> Yes, it's about 20 years old.
12:59:38 <ahyangyi> which is something we celebrate for! ๐
13:02:56 <woobilicious> it's also a little weird that it does `wheel++` in a loop instead of just `wheel += number_of_loops`;
13:20:06 <peter1138> A good PR will sort out weird things like that in separate commits.
13:20:18 <peter1138> (Assuming the code is staying)
13:21:03 <woobilicious> hmm good point I could check the commit that added the code...I wrote my SDL2 version to do the O(1) variant for now though.
13:22:22 <woobilicious> wonder how long this will take to compile on my crappy laptop.
13:40:43 <andythenorth> _zephyris: afaik the long-term goal of gamescript is to remove gamescript ๐
13:43:18 <andythenorth> woobilicious: we what now? ๐ฎ How do people scroll on non-Mac trackpads? ๐ฎ
13:43:33 <andythenorth> /me yet another school day
13:43:39 <woobilicious> LMB or arrow keys. lmao
13:44:15 <woobilicious> I'm writing a patch for SDL2 right now to fix it on atleast linux.
13:44:31 <andythenorth> I have a modifier key for drag-scroll
13:44:56 <woobilicious> goddam...desktop compile time is faster than the last 1% on my laptop lmao
13:46:44 <woobilicious> 2mins compile time on my desktop, 20mins and still running on my laptop.
13:47:21 <woobilicious> or perhaps my laptop OOM'd and froze up...
13:49:56 <woobilicious> gonna love having a Ryzen 7 with 8GB of RAM...*headdesk*
13:59:32 <peter1138> andythenorth: We use mice.,
13:59:58 <peter1138> Desktop trackpads were a thing for a while.
14:00:29 <peter1138> Apple Magic Trackpad ยฃ114.99. Nah.
14:16:39 <woobilicious> peter1138: do you use mouse in bed or just not play openttd in bed? lol
14:21:22 <woobilicious> holyshit my code works...just need to flip x axis.
14:22:11 <woobilicious> well the trackpad stuff works..not the pinch zoom.
14:25:29 <_jgr_> Trying to play in bad sounds like a good way to get a bad back
14:31:10 <woobilicious> lmao it only takes 4mins to compile on my laptop if keep everything in memory.
14:56:03 <peter1138> I remember when it took about 15 seconds to compile.
15:00:39 <woobilicious> and no doubt less than 8GB of RAM too.
15:01:04 <peter1138> Yup. A while ago, before there was any C++ of course.
15:02:40 <woobilicious> and zero optimization stages in the compiler lol
15:06:36 <peter1138> Hmm, so if I try updating the emscripten version, is there some rules to follow, or just try latest version...
15:07:02 <truebrain> try the latest, get annoyed that the patch fails, update the patch, get more annoyed how slow it is, slap it around a few times, and done!
15:07:17 <truebrain> you hope a newer emscripten version fixes your problems?
15:08:13 <peter1138> I guess not really emscripten itself but the C++ libraries. If that's different...
15:08:58 <truebrain> seems emscripten now accepts "contrib" ports, so we might be able to upstream liblzma
15:09:20 <peter1138> 2 weeks ago would've been perfect timing ๐
15:10:00 <truebrain> anyway, os/emscripten has a README telling you how to locally test, in case you hadn't find that yet
15:11:11 <truebrain> as s/docker/podman/g works too ๐
15:11:25 <truebrain> and otherwise, I can give it a look if you like
15:13:32 <truebrain> owh, we can make liblzma patch easier now at least. That might be worth doing ..
15:13:46 <peter1138> I do have a machine that has docker running on it.
15:13:56 <peter1138> But it's not my desktop dev machine.
15:19:28 <truebrain> I will see if I can update emscripten ๐
15:19:39 <truebrain> gives me an oppurtinity to check out their new ports system for liblzma ๐
15:21:53 *** Wormnest has joined #openttd
15:27:33 <truebrain> lol, the latest emscripten comes with a fre warning, that is spamming
15:28:06 <truebrain> `src/command_func.h:304:35: warning: cast from 'void (*)(Commands ...`
15:28:13 <truebrain> `converts to incompatible function type [-Wcast-function-type-mismatch]`
15:42:00 <truebrain> that PR will fail because of the amount of warnings. But there you can contribute peter1138 ๐
15:42:35 <peter1138> Heh, I'm not even sure a newer version will allow my fancy stuff ๐
15:42:47 <peter1138> But updating anyway is no bad thing.
15:42:47 <truebrain> it was a good idea to upgrade emscripten anyway ๐
15:44:00 <truebrain> I wonder if the warning is a correct warning, or just one of those "clang makes a mistake" warnings
15:44:10 <peter1138> Hmm, still tries to apply the patch.
15:44:56 <truebrain> it uses the workflow from master
15:45:02 <truebrain> so this won't work on a PR changing that ๐
15:45:06 <truebrain> I always forget ๐
15:45:29 <truebrain> so yeah, you will just have to trust me I tested this locally, and OpenTTD actually loads ๐
15:46:15 <truebrain> (this workflow needs some secrets to publish the results; and as such, it uses the workflow from master instead of the PR, to make sure nobody can do evil shit, and take over the world etc etc)
15:46:39 <truebrain> but the CI emscripten does build; so there is that ๐
15:46:55 <peter1138> So it builds, just with 5 million warnings...
15:47:04 <truebrain> which need to be fixed before I can merge ๐
15:48:01 <truebrain> I am just a bit confused why it warns about a `reinterpret_cast`, as it is meant not to be compatible .. I mean .. it is a `reinterpret_cast` ffs
15:50:09 <peter1138> He's removing my breaks ๐ฆ
15:50:15 <peter1138> I just have to keep on working.
15:50:17 <truebrain> no more backdoor for you!
15:50:58 <truebrain> `The function type void (*) (void) is special and matches everything, which
15:50:58 <truebrain> can be used to suppress this warning.`
15:51:42 <truebrain> so newer clang versions will also trigger this warning
15:52:12 <truebrain> some can be explained that we don't use the StrongType everywhere for TileIndex
15:52:15 <truebrain> but an uint instead
15:52:19 <truebrain> which indeed can be considered a bug
15:52:27 <truebrain> but some others I am unsure of
15:56:58 <truebrain> funny, CommandCallback is also defined to have `TileIndex` as 3rd param
15:57:08 <truebrain> but many Callbacks don't use it for a TileIndex ๐
15:58:56 <truebrain> the code that executes the callback indeed keeps that into account
16:01:18 <truebrain> `reinterpret_cast<CommandCallback *>(reinterpret_cast<void(*)()>`
16:01:23 <truebrain> we already fix it in another place
16:01:57 <peter1138> That's the generic "see this error? no you don't..." way
16:02:38 <truebrain> yeah, but why is it applied in one place and not in another, I wonder
16:02:54 <truebrain> as I assume it was done with the same intentions
16:03:25 <peter1138> Probably because the compiler only complained about one place.
16:06:39 <Rubidium> heh, what about "'Latest' is not a valid version,'Most recent' neither"? ;D
16:08:53 <truebrain> with that codefix, Emscripten upgrade will work just fine. So good ๐
16:09:34 *** HerzogDeXtEr has joined #openttd
16:29:11 <talltyler> Anyone care to click buttons on 12516?
16:42:16 <peter1138> talltyler: What's in it for me? I really fancy some chocolate about now...
16:45:28 <talltyler> peter1138: Iโll send some over via WonkaVision ๐
16:49:13 <peter1138> My face when my partner brings all the snacks home and I don't want any but shows me anyway: ๐ญ
16:49:13 <peter1138> My face when my partner has eaten then all and left none for me: ๐ญ
16:49:57 <_glx_> should we backport #12522 ?
16:52:02 <peter1138> Depends if we're going for bug-fix-only or not.
16:52:20 <peter1138> (But maybe you can consider it a bug...)
16:54:14 <talltyler> A true lose/lose scenario
16:57:08 <truebrain> I hope that was a reply to a bit earlier ๐
17:04:39 <truebrain> There we go, happy CI
17:05:01 <_glx_> some dubious ownership, but was already the case before
17:06:12 <peter1138> Ah, the build workflow stuff.
17:07:05 <_glx_> just means version string is `--g` but not very important for CI
17:23:45 <peter1138> So it all builds but we just can't test deployment until it's merged.
17:36:04 <truebrain> And I locally tested it actually works ๐
17:37:55 <truebrain> Now curious if it fixes your issue ๐
17:43:40 <truebrain> Testing preview too, just to be sure ๐
17:50:42 <_glx_> strange I can see it finds lzma in cmake log, but in build log it only mentions zlib, libpng and sdl2 ports
17:52:02 <truebrain> When you see it twice, it is when you have to worry ๐
17:53:51 <peter1138> It finds it a different way, right?
17:54:22 <truebrain> Cmake captures logs, so it is in one of the cmake log files (which we can't see on the CI)
17:55:20 <_glx_> in preview build I can see liblzma.a
17:56:36 <truebrain> And preview still works too, w00p
17:57:28 <_glx_> and it finds the AI I seem to have downloaded some time ago
18:27:42 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
19:34:37 <_glx_> had to fix some conflicts
19:36:24 <andythenorth> is there *anything* I can check to detect that a cleared coast tile will in fact shortly be a coast tile?
19:36:41 <andythenorth> I guess I could look at the adjacent tiles for water, and measure the slope?
19:37:11 <_glx_> I seem the remember this exact question
19:37:42 <andythenorth> I've asked it many times ๐
19:39:44 <peter1138> A coast that has been cleared is no longer a coast tile.
19:40:36 <_glx_> my guess is it's again about custom foundations ๐
19:42:53 <andythenorth> it's about locating port industries
19:43:03 <andythenorth> but I think it affected foundations too maybe
19:43:49 <andythenorth> nah the foundations are a different effect, and are an edge case
19:44:07 <andythenorth> not expecting those to work
19:44:27 <peter1138> Foundation Variants?
19:45:44 <_glx_> oh you put water line on your fondation ?
20:21:38 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:33:22 <andythenorth> the cleared coast effect is this
20:42:17 <peter1138> Okay, why are you looking for a coast tile there?
20:42:51 <peter1138> Aren't you just looking for a tile with a slope?
20:44:37 <FLHerne> then you could build wharfs on inland areas that happened to be at level 0
20:44:42 *** gelignite has joined #openttd
20:44:49 <FLHerne> of course that can only happen if someone terraformed it
20:44:57 <peter1138> I'm assuming the other tiles check for water, no?
20:45:48 <andythenorth> industry flag is built on water
20:47:39 <andythenorth> let's remove the water check from this coast tile
20:48:28 <andythenorth> nah, makes no difference
20:49:14 <andythenorth> maybe because prop 1A bit 2 is set
20:49:30 <andythenorth> does that flag force all tiles to be water
20:52:18 <andythenorth> flag is INDUSTRYBEH_BUILT_ONWATER in OpenTTD?
20:57:45 <peter1138> Do tile checks override that?
20:57:57 <peter1138> Or does it just consider coast tiles as water?
20:58:59 <andythenorth> the check in industry_cmd.cpp is....not for this time of night ๐
21:03:32 <peter1138> No overrides, it's just that coast tiles are water.
21:03:47 <peter1138> Cleared tiles that used to be coast tiles are not coast tiles, so are not water.
21:03:56 <peter1138> No amount of callback checking can work around that.
21:04:41 <peter1138> Industry is either on water or not on water, no in-between.
21:05:50 <andythenorth> saves me writing checks ๐
21:05:57 <peter1138> At this point we know which layout is going to be used.
21:06:13 <andythenorth> oh I could do that sprites-overlap tiles thing? ๐
21:06:16 <peter1138> So it might be possible to extend the spec to say which tiles should be land, which should be water, and which don't care?
21:06:30 <peter1138> No, I'd personally ban you from OpenTTD.
21:06:55 <andythenorth> can't see the problem, it only confuses where the tiles are
21:07:10 <andythenorth> and probably doesn't sprite sort reliably
21:07:46 <andythenorth> there's industry tile prop 0D bit 5 as well
21:08:08 <peter1138> Alternatively, and maybe simpler, maybe a flag that says "this is a water industry but at least one edge of this industry should be on land"
21:08:51 *** Smedles has joined #openttd
21:09:02 <peter1138> And then use callbacks on the edge tiles to work out where slopes are, etc...
21:09:16 *** Smedles has joined #openttd
21:09:18 <peter1138> That way seems like it's more likely to be able to build an industry.
21:09:44 <andythenorth> I remember this got changed several times already
21:09:50 <andythenorth> there were edge cases with river slopes
21:09:57 <andythenorth> which are sloped and water
21:10:21 <andythenorth> maybe I should read the commits
21:14:42 <truebrain> pffff, all those merges
21:16:28 *** Smedles has joined #openttd
21:17:18 <peter1138> But one less raw pointer ๐
21:17:32 <peter1138> Code is safe now, right?
21:19:21 *** Smedles has joined #openttd
21:25:25 *** gelignite has quit IRC (Quit: Stay safe!)
21:35:56 <_glx_> hmm I failed at conflict resolving it seems, let's redo it
21:36:47 <_glx_> or more PRs need the label
21:47:57 <peter1138> > note: 'unique_ptr' has been explicitly marked deleted here: unique_ptr(const unique_ptr&) = delete;
21:52:26 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:53:57 <peter1138> So `MyClass(MyClass &&) = default;` is enough...
21:55:26 <_glx_> solving the conflict I had in openttd.cpp makes me think about including 12129 and 12505
21:55:56 <peter1138> Dear Discord, please just make github links out of issue numbers, automatically ๐
21:56:19 <talltyler> Sounds like a task for a bot
21:56:56 <dwfreed> yeah, how does discord know you're referring to a github issue? and how would it know which repo issue you mean
21:57:37 <dwfreed> this is a perfect task for a bot, not discord itself
21:59:42 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:02:24 <peter1138> How does anything know anything? We just don't know.
22:02:47 *** reldred has joined #openttd
22:02:47 <reldred> I try not to know anything
22:05:09 <peter1138> You can choose to either take my throw-away joke comment as a throw-away joke comment, OR as a literal request, believing that I understand nothing about disconnected systems
22:07:22 <peter1138> I guess reserving a vector to "ensure" none of its contents ever get moved is a bad and unreliable idea...
22:08:58 <_glx_> looks like something which will probably silently break in a later change
22:10:08 <_glx_> like the SmallMap -> std::map unexepected desync
22:10:25 <peter1138> That? I was just testing you ๐
22:10:48 <_glx_> just needed a year to surface
22:11:02 <truebrain> yeah, you kinda failed that test, if I am being honest
22:11:24 <_glx_> and we had many beta and RC
22:11:39 <_glx_> (but nobody used them in MP it seems)
22:12:06 <truebrain> there have been plenty; but nobody reports that stuff ๐
22:14:38 <_glx_> we should crash clients on desync ๐
22:15:37 <truebrain> without massive assistance from a server owner, we can't trace them in most cases anyway
22:15:42 <truebrain> so not really much point ๐
22:16:21 <peter1138> _glx_: And the server.
22:16:25 <_glx_> yeah, that's the main issue, big servers only use stable
22:16:32 <peter1138> Really annoy everyone ๐
22:20:44 <truebrain> We already do that sufficiently ๐
22:21:37 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:26:56 <_jgr_> Desyncs have been a bit of a problem for me in the past, so I've done some tinkering on automating some of this without needing to involve the server operator or change the server configuration
22:28:01 <_jgr_> Might be of interest for upstreaming if problems persist
22:40:05 <peter1138> JGR is just as bad as me.
22:40:09 <peter1138> "I have a patch for that"
22:57:52 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
23:10:58 <truebrain> We have access to his patches ๐
23:30:09 *** Wormnest has joined #openttd
23:41:58 *** tokai|noir has joined #openttd
23:41:58 *** ChanServ sets mode: +v tokai|noir
23:48:53 *** tokai has quit IRC (Ping timeout: 480 seconds)
continue to next day โต