IRC logs for #openttd on OFTC at 2025-01-25
            
00:40:52 <DorpsGek> [OpenTTD/OpenTTD] michicc commented on pull request #13369: Codechange: use -fno-strict-enums instead of -fno-tree-vrp https://github.com/OpenTTD/OpenTTD/pull/13369#issuecomment-2613665199
00:47:47 <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #13375: [Crash]: Scenario Editor Does not work and it crashes the game. https://github.com/OpenTTD/OpenTTD/issues/13375
01:32:26 *** liquidsnake0123 has quit IRC (Quit: User went offline on Discord a while ago)
03:12:07 *** debdog has joined #openttd
03:15:39 *** D-HUND has quit IRC (Ping timeout: 480 seconds)
03:25:16 *** Wormnest has quit IRC (Quit: Leaving)
03:46:13 *** gnu_jj has joined #openttd
03:49:26 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
04:08:51 <DorpsGek> [OpenTTD/OpenTTD] thesamesam commented on pull request #13369: Codechange: use -fno-strict-enums instead of -fno-tree-vrp https://github.com/OpenTTD/OpenTTD/pull/13369#issuecomment-2613767867
04:42:52 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/5839ee3be3fe5ae5e1435241a7817b4955591c52
04:42:53 <DorpsGek> - Update: Translations from eints (by translators)
05:08:01 *** keikoz has joined #openttd
06:14:53 *** keikoz has quit IRC ()
06:22:01 *** keikoz has joined #openttd
06:47:01 *** Wolf01 has joined #openttd
07:24:24 <DorpsGek> [OpenTTD/OpenTTD] aquagnawt updated pull request #12989: Fix #12968, d20df82: Added back ability to create unremovable houses https://github.com/OpenTTD/OpenTTD/pull/12989
07:26:59 <DorpsGek> [OpenTTD/OpenTTD] aquagnawt commented on pull request #12989: Fix #12968, d20df82: Added back ability to create unremovable houses https://github.com/OpenTTD/OpenTTD/pull/12989#issuecomment-2613824316
07:45:28 *** Flygon has joined #openttd
08:23:01 *** akimoto has joined #openttd
08:32:14 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #13378: Codechange: add unit test against enum over optimisation https://github.com/OpenTTD/OpenTTD/pull/13378
08:38:24 *** Compu has joined #openttd
08:40:04 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #13369: Codechange: use -fno-strict-enums instead of -fno-tree-vrp https://github.com/OpenTTD/OpenTTD/pull/13369#issuecomment-2613844450
09:01:26 *** akimoto has quit IRC (Remote host closed the connection)
09:20:06 <DorpsGek> [OpenTTD/OpenTTD] MaybeOpenTTDEnjoyer commented on issue #13375: [Crash]: Scenario Editor Does not work and it crashes the game. https://github.com/OpenTTD/OpenTTD/issues/13375
09:20:32 <xarick> hi
09:30:35 <DorpsGek> [OpenTTD/OpenTTD] michicc approved pull request #13378: Codechange: add unit test against enum over optimisation https://github.com/OpenTTD/OpenTTD/pull/13378#pullrequestreview-2573979966
09:36:39 <DorpsGek> [OpenTTD/workflows] TrueBrain opened pull request #61: Fix: R2 doesn't support CRC32 validation yet, while "aws s3" demands it https://github.com/OpenTTD/workflows/pull/61
09:36:48 <truebrain> That took way longer than I would like to admit to figure out. Ugh.
09:37:01 <andythenorth> oof πŸ™‚
09:38:01 <DorpsGek> [OpenTTD/workflows] TrueBrain updated pull request #61: Fix: R2 doesn't support CRC32 validation yet, while "aws s3" demands it https://github.com/OpenTTD/workflows/pull/61
09:38:22 <DorpsGek> [OpenTTD/workflows] TrueBrain updated pull request #61: Fix: R2 doesn't support CRC32 validation yet, while "aws s3" demands it https://github.com/OpenTTD/workflows/pull/61
09:38:23 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
09:38:25 <truebrain> I could have done this correct the first time
09:38:28 <truebrain> but pushing 3 times is much more fun
09:39:28 <DorpsGek> [OpenTTD/workflows] TrueBrain merged pull request #61: Fix: R2 doesn't support CRC32 validation yet, while "aws s3" demands it https://github.com/OpenTTD/workflows/pull/61
09:41:04 <truebrain> owh, that didn't work .. wth .. lol
09:41:50 <andythenorth> have you had coffee yet? πŸ™‚
09:42:10 <truebrain> it worked during testing ...
09:42:14 <truebrain> well, isn't this annoying
09:45:11 <truebrain> owh, GitHub has a slightly older version of the CLI
09:45:21 <truebrain> and I guess it was buggy enough, that those commands don't actually work
09:45:31 <truebrain> why has this become such a mess 😦
09:46:28 *** Wolf01 has joined #openttd
09:48:26 <truebrain> now Cloudflare says: downgrade your AWS CLI. The issue is: AWS only distributes the latest version as binary. Can't find anywhere where I can download an older version. lol
09:49:18 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #13378: Codechange: add unit test against enum over optimisation https://github.com/OpenTTD/OpenTTD/pull/13378
09:49:58 <truebrain> lol, but I could guess the URL. So there is that.
09:56:07 <DorpsGek> [OpenTTD/workflows] TrueBrain opened pull request #62: Fix: R2 doesn't support CRC32 validation yet, while "aws s3" demands it (attempt #2) https://github.com/OpenTTD/workflows/pull/62
09:56:45 <truebrain> this time, it actually works πŸ˜›
09:57:56 <DorpsGek> [OpenTTD/workflows] TrueBrain updated pull request #62: Fix: R2 doesn't support CRC32 validation yet, while "aws s3" demands it (attempt #2) https://github.com/OpenTTD/workflows/pull/62
09:58:53 <DorpsGek> [OpenTTD/workflows] TrueBrain merged pull request #62: Fix: R2 doesn't support CRC32 validation yet, while "aws s3" demands it (attempt #2) https://github.com/OpenTTD/workflows/pull/62
10:20:54 <DorpsGek> [OpenTTD/OpenTTD] thesamesam updated pull request #13369: Codechange: use -fno-strict-enums instead of -fno-tree-vrp https://github.com/OpenTTD/OpenTTD/pull/13369
10:22:13 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #12989: Fix #12968, d20df82: Added back ability to create unremovable houses https://github.com/OpenTTD/OpenTTD/pull/12989#pullrequestreview-2573987712
10:24:03 *** HerzogDeXtEr has joined #openttd
10:26:56 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened pull request #13379: Codechange: Refactor AllocHeightMap to return void since it always returns true https://github.com/OpenTTD/OpenTTD/pull/13379
10:31:22 *** kuka_lie has joined #openttd
10:40:58 <DorpsGek> [OpenTTD/OpenTTD] thesamesam commented on pull request #13369: Codechange: use -fno-strict-enums instead of -fno-tree-vrp https://github.com/OpenTTD/OpenTTD/pull/13369#issuecomment-2613922168
10:47:25 <pickpacket> What happened here? I don't remember making blue tea trees πŸ€” https://lounge.warmedal.se/uploads/e87e89df96fc6db0/Drontfield%20Transport%2C%207th%20Jul%201952.png
11:47:00 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
12:25:21 <Rubidium> industry colour remap?
12:32:42 <pickpacket> Rubidium: I guess, but I don't understand it. I don't know how the night theme works. Weird that farms with other colour combinations aren't affected
12:33:12 <pickpacket> Would be cool to make the Tea Tea Deluxe NewGRF work with the night theme
12:34:34 <Rubidium> don't know the night theme, so I've got no clue about that
12:51:54 <andythenorth> `-0` valid concept or not?
12:53:29 <Rubidium> andythenorth: in IEEE754 it is ;)
12:53:43 <andythenorth> I think it's valid
12:53:48 <andythenorth> python does not
13:13:09 <pickpacket> Why would it be valid? Double counting a zero in a signed int?
13:20:43 <Rubidium> pickpacket: https://en.wikipedia.org/wiki/Ones%27_complement
13:40:55 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #12989: Fix #12968, d20df82: Added back ability to create unremovable houses https://github.com/OpenTTD/OpenTTD/pull/12989
13:40:58 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 closed issue #12968: [Bug]: #9833 removed the ability for newgrfs to create unremovable houses https://github.com/OpenTTD/OpenTTD/issues/12968
13:41:01 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 closed issue #12968: [Bug]: #9833 removed the ability for newgrfs to create unremovable houses https://github.com/OpenTTD/OpenTTD/issues/12968
13:44:28 *** kuka_lie has quit IRC (Quit: Lost terminal)
13:47:37 *** nielsm has joined #openttd
13:50:08 <truebrain> close it once, close it twice! πŸ™‚
13:54:12 <peter1138> That's happened a couple of times recently.
13:55:15 <peter1138> Does that enum thing mean we shouldn't be using them for 'weak' types?
13:55:42 <peter1138> Or is it ok because we disable it.
13:59:22 <truebrain> Just a weird GitHub buck where both the commit and ticket close a ticket. No clue why it acts like that .. you would think they would have fixed that by now πŸ˜›
14:00:36 <truebrain> buck? bug! Lol .. weird typo πŸ˜›
14:07:43 <Rubidium> peter1138: the undefined behaviour could be a reason not to use them, but... also any of the enums with flags are undefined behaviour. Take EngineDisplayFlags where the compile might replace the (x & y) == y with just x == y as it knows all the values of the enumeration
14:08:27 <peter1138> Oof.
14:09:31 <peter1138> So we'd need to replace a lotbof enums.
14:10:30 <Rubidium> what GCC 4.5 did was make `for (SignalVariant var = SIG_ELECTRIC; var <= SIG_SEMAPHORE; var = (SignalVariant)(var + 1))` an infinite loop, as all variants of the SignalVariant are less than or equal to SIG_SEMAPHORE
14:14:23 <peter1138> There is a type safe way thst can work, but it'll be a somewhat large change.
14:14:24 <Rubidium> technically we'd need to replace them yes, though practically none of the current compilers are over optimising this and they will likely not do so as that will create thousands of vulnerabilities
14:15:29 <peter1138> (For the bitmasks, not for the biunds checks.)
14:16:47 <_jgr_> The enum bitmasks seem like something that could be checked for in src/tests
14:18:23 <_jgr_> It is a bit disappointing that C++ makes "doing the right thing" so awkward/unergonomic at times
14:27:45 <truebrain> Porting OpenTTD to Zig when?
14:27:46 <truebrain> πŸ˜›
14:29:32 <truebrain> How lovely, on my Win11 machine I cannot open Display Settings nor Windows Updates anymore
14:29:37 <truebrain> very useful addition, or something
14:33:50 <peter1138> Ah, it's turned into Gnome - removing options that people use.
14:36:08 <truebrain> I don't think they are suppose to be gone
14:36:11 <truebrain> but yet they are πŸ˜„
14:40:12 <_glx_> admin policies ?
14:58:42 <truebrain> `The Windows Update diagnostic failed to run`
14:58:45 <truebrain> best error evah!
14:59:27 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #13380: Codechange: add unit test against over optimisation of enum-bitmasks https://github.com/OpenTTD/OpenTTD/pull/13380
15:01:48 <Rubidium> _jgr_: you meant something like #13380, right?
15:09:19 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #13369: Codechange: use -fno-strict-enums instead of -fno-tree-vrp https://github.com/OpenTTD/OpenTTD/pull/13369#pullrequestreview-2574033409
15:17:13 <_jgr_> Rubidium: Yes πŸ™‚
15:54:18 *** gelignite has joined #openttd
16:29:12 *** kuka_lie has joined #openttd
17:12:45 <xarick> can someone look into check online content being sluggish on windows?
17:13:16 <xarick> I remember testing it on linux with no slowdowns at all, very responsive
17:13:55 <xarick> i even thought it was normal, until I checked openttd on linux
17:24:48 <_zephyris> What do you mean?
17:25:22 <_zephyris> Opens and lists all content in under a second on my generic laptop
17:26:18 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381
17:27:13 <peter1138> Let's see if that builds...
17:29:17 <ahyangyi> peter1138: I think Gnome typically only hides the options people use, not remove them?
17:30:18 <ahyangyi> But on the other hand there aren't many options to start with...
18:03:21 <xarick> deprecated
18:05:21 <DorpsGek> [OpenTTD/OpenTTD] github-advanced-security[bot] commented on pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381#pullrequestreview-2574063008
18:05:51 <xarick> maybe I should make a video
18:06:44 <xarick> funny, now it's not being that sluggish
18:15:01 *** chilla55 has joined #openttd
18:15:25 *** chilla55 has quit IRC ()
18:20:35 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381
18:21:05 <peter1138> ahyangyi, yeah... there used to be.
18:22:46 *** gelignite has quit IRC (Ping timeout: 480 seconds)
18:25:24 *** gelignite has joined #openttd
18:26:34 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
18:39:06 <xarick> DepotCommand and DepotCommands
18:39:18 <xarick> not confusing at all
18:43:41 <DorpsGek> [OpenTTD/OpenTTD] LifWirser commented on issue #13359: [Bug]: CMake unnecessarily checks for xaudio2 on Linux https://github.com/OpenTTD/OpenTTD/issues/13359
18:43:54 <peter1138> Okay.
18:44:04 <peter1138> Could be DepotCommandFlag/Flags.
18:44:43 <LordAro> ...what
18:45:10 <xarick> it's only different by a character
18:45:44 <truebrain> I need a translator 😦
18:45:48 <peter1138> Yeah, none of that makes sense.
18:46:10 <LordAro> it's at best irrelevant
18:47:16 <xarick> DepotCommand / Mask, BitSet, something more descriptive I guess
18:47:25 <xarick> DepotCommandBitSet?
18:48:02 *** tokai|noir has joined #openttd
18:48:02 *** ChanServ sets mode: +v tokai|noir
18:49:45 <LordAro> https://imgur.com/a/nDSBJDf
18:51:44 <Rubidium> well... removing -flto will probably save a bit of memory in the linker, -Os might as well ;)
18:52:05 <LordAro> i was gonna say, release build will be using lto
18:54:03 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381
18:54:17 <Rubidium> xarick: be happy there isn't an Aircraft :D
18:54:21 <peter1138> Okay, done for DepotCommand the same that I did for Borders.
18:55:03 *** tokai has quit IRC (Ping timeout: 480 seconds)
18:55:45 <peter1138> Having `DepotCommandFlag` and `DepotCommandFlags` is clearer than just `DepotCommand` being a bitmask.
18:59:38 <xarick> wait, unbunch order flags not touched
19:01:35 <peter1138> Absolutely loads are untouched.
19:01:51 <peter1138> As the PR says, I only touched some of the `enum class` enums.
19:02:08 <peter1138> TBH, it's kind of a proof-of-concept.
19:02:26 <peter1138> It might be a bad idea.
19:08:32 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381#pullrequestreview-2574071726
19:08:57 <Rubidium> though... you got a serious case of side-quest again, right? ;)
19:09:41 <truebrain> isn't his life one big side-quest? πŸ˜„
19:22:12 <peter1138> Some of this was bugging me already, to be honest.
19:24:39 <peter1138> Especially in places where it's ambiguous if an enum is bit numbers (a.k.a. just a regular enum) or a bitmask.
19:28:54 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381#pullrequestreview-2574075440
19:44:50 <xarick> I have a multithreading question
19:45:58 <xarick> there is the Map array, and lets say one thread wants to set the desert zone of the same tile as the other
19:46:21 <xarick> so 2 threads try to write at the same location, what happens?
19:46:40 <_jgr_> Don't do that
19:47:06 <michi_cc> Random things happen and stuff will break six months later when nobody remembers anymore.
19:48:57 <xarick> hmm I was imagining RemoveDesertAroundRiver multithreaded
19:49:38 <_jgr_> xarick: Your trial and error approach is not suitable for thread-related work
19:51:34 <xarick> I am so tempted to test
19:52:15 <xarick> but I'm not sure about atomic operations
19:52:15 <truebrain> _jgr_: Remember that this is write-only channel for him πŸ™‚
19:52:22 <xarick> haha
19:52:26 <DorpsGek> [OpenTTD/wiki-data] James103 opened issue #43: Cloudflare blocks saving/previewing edits to `en/Manual/Command line` for security reasons https://github.com/OpenTTD/wiki-data/issues/43
19:52:40 <andythenorth> Are we still learning multithreading together? 🀣
19:53:01 <truebrain> didn't we fix that page last time?
19:54:07 <truebrain> `Command Injection - Common Attack Commands`
20:06:16 <DorpsGek> [OpenTTD/wiki-data] TrueBrain commented on issue #43: Cloudflare blocks saving/previewing edits to `en/Manual/Command line` for security reasons https://github.com/OpenTTD/wiki-data/issues/43
20:11:37 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381
20:12:16 <peter1138> Things like `TRACK_BIT_3WAY_NW = TRACK_BIT_Y | TRACK_BIT_UPPER | TRACK_BIT_LEFT` get a bit awkward to define with this :(
20:16:30 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381#pullrequestreview-2574080887
20:17:15 <Rubidium> by the way, can't you make the EnumBitSet constructor take 1 or more Enum values, so it'd become constexpr TrackDirs TrackBit3WayNW = TrackDirs(BitY, BitUpper, BitLeft)
20:19:32 <xarick> [RemoveRiverArtifacts st] 36183 us
20:19:32 <xarick> [RemoveRiverArtifacts mt] 4674 us
20:19:52 <xarick> disappointing results
20:20:58 <_glx_> there's one simple rule for threading, reading can be parallel, writing nees exclusive access
20:21:49 <_glx_> so no thread should be able to read/write when another one is writing
20:24:32 <andythenorth> peter1138[d]: think badges is done? πŸ˜›
20:24:34 <andythenorth> merge?
20:25:10 <xarick> DoClearSquare is I assume, safe, but ModifyDesertZoneAroundRiver(tile)... meh, it runs circular tile search which may overlap on a tile of another thread
20:25:22 <peter1138> Safe for what?
20:25:47 <peter1138> It's safe if you don't have any threads.
20:26:20 <xarick> <https://gist.github.com/SamuXarick/42fad3bb1b13288c834d5d6e9e681cbc>
20:26:59 <_glx_> if you don't do any terraforming it could be possible the split the map in blocks for different threads
20:27:41 <_glx_> but they might need to access tiles of other blocks on borders
20:28:38 <_glx_> anyway multithreading requires a lot of thinking before even starting implementation
20:28:41 <andythenorth> peter1138: what if I have 1 threads? πŸ‘€
20:30:15 <xarick> ow,... !IsWaterTile(other_tile) might be a problem too
20:30:33 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381
20:30:43 <peter1138> Badges?
20:30:48 <peter1138> Hmm, well.
20:31:15 <xarick> DoClearSquare(tile) might just happen to remove water on the "other_tile"
20:31:20 <andythenorth> if we merge it....then JGRPP can merge it
20:31:25 <andythenorth> then the grf authors will use it
20:32:14 <peter1138> IRC has much better ignore features than discord.
20:32:33 <andythenorth> Truebrain used to confuse /ignore with /kick quite a lot
20:32:36 <andythenorth> I found
20:32:50 <andythenorth> personal experience
20:44:17 <xarick> > [RemoveRiverArtifacts st] 33639 us [avg: 33639.0 us]
20:44:17 <xarick> > desert: 4094903; normal: 3618425; rainforest: 9063888; river: 178944
20:44:17 <xarick> >
20:44:17 <xarick> > [RemoveRiverArtifacts mt] 4895 us [avg: 4895.0 us]
20:44:17 <xarick> > desert: 4094903; normal: 3618425; rainforest: 9063888; river: 178944
20:44:45 <xarick> expected something different honestly
20:45:46 <andythenorth> because?
20:46:09 <xarick> there's tile overlapping
20:46:55 <xarick> between desert and normal
20:48:02 <Rubidium> that something doesn't happen, doesn't mean it can't happen. You might've been lucky
20:51:15 <xarick> converting desert to normal in a radius of 5
20:51:19 <xarick> hmm
20:51:42 <xarick> i wanted to trigger a case of "writing to the same location"
20:53:38 <xarick> when a conversion occurs it's always from desert to normal anyway, but... I dunno, is it normal nothing strange happens? not even a crash or lockup?
21:02:42 <Rubidium> xarick: https://clang.llvm.org/docs/ThreadSanitizer.html might help find cases
21:06:16 <_glx_> no real reason for crash in those map accesses
21:06:41 <_glx_> at worse unexpected results
21:08:39 <_glx_> like the example in https://en.cppreference.com/w/cpp/thread/shared_mutex should also work without mutexes, but you will get duplicates in the output most likely
21:11:40 <_glx_> "unsafe" when threading is often not about crashes, but mostly about data integrity
21:12:12 <_glx_> (which can lead to crashes for some data)
21:28:12 <peter1138> Bums, our list filtering code only supports one function. Hm.
21:28:55 <peter1138> I suppose logically the one function can do anything.
21:28:55 <_glx_> you want chained filters ?
21:30:18 <peter1138> Oh, the BuildVehicle stuff is a bit messy, it has the cargo filter function, but also filters by name separately.
21:30:25 <peter1138> (And already filters by badge names there.)
21:34:14 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:42:25 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #13376: Codechange: Use enum class for two enums in blitter-related code. https://github.com/OpenTTD/OpenTTD/pull/13376
21:46:42 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1332829026472951828/image.png?ex=6796ad42&is=67955bc2&hm=9d8402a6a67e80000bcfb1b2e0953c8ff034d118a5fc0529194fd0655a647556&
21:46:54 <peter1138> Well, badge-filter by drop down list.
21:46:59 <peter1138> Just need more configuration.
21:48:41 <andythenorth> oooo
21:49:02 <andythenorth> want a Horse grf?
21:49:20 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1332829686593749043/iron-horse.grf?ex=6796ade0&is=67955c60&hm=3df4ec1140c3127201be333e0fa616669721a7c53d86499564c969df5e5e47d5&
21:50:56 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381#pullrequestreview-2574091797
21:54:50 <peter1138> Oops :S
21:57:53 <peter1138> The template args makes things like BORDERFLAGS_ALL a lot nice to set up.
21:58:00 <xarick> CoPilot is giving me ideas
21:58:06 <xarick> tile_mutexes
21:58:16 <peter1138> Hmm
21:58:54 <Rubidium> peter1138: yes, it does... though not BorderFlags::All ;(
21:58:57 <andythenorth> hmm yes
21:59:06 <peter1138> Yeah, I don't think that's possible.
21:59:17 * andythenorth too tired to refactor Horse name text stack
21:59:57 <peter1138> Hm.
22:04:15 <peter1138> Seems to break other bits though :(
22:06:54 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1332834105896996915/image.png?ex=6796b1fd&is=6795607d&hm=8187ace73b4525881d5662c267c6bc09ce155e273783f73973f69a1b788cb5a9&
22:06:54 <andythenorth> no power suffixes eh (left side)
22:06:56 <andythenorth> better?
22:06:59 <andythenorth> but less traditional
22:07:11 <andythenorth> easier to read πŸ˜›
22:07:33 <belajalilija> Power suffixes are bad yes
22:07:44 <peter1138> It would be clearer if you had the icons as well.
22:09:25 <belajalilija> You will need sprites for voltage type though
22:09:39 <belajalilija> I’ve made some but they’re not intuitive
22:10:01 <peter1138> `e->display_flags | EngineDisplayFlag::Shaded` no longer works :(
22:10:10 <andythenorth> it's quite possible that AC vs DC is stupid πŸ™‚
22:10:16 <andythenorth> haven't tried it really
22:10:16 <peter1138> Voltage type is definitely a bad feature.
22:10:33 <belajalilija> It’s not one i like personally
22:10:37 <belajalilija> But it is in my set
22:10:38 <peter1138> But it's doable.
22:11:13 <belajalilija> My design for voltage relies on people running my set with SETS
22:11:30 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1332835267324805251/image.png?ex=6796b312&is=67956192&hm=b89fbdeab8e4db19477b63a7b3d6c009f666ab2a84285b9def0a832b2c29a973&
22:11:30 <andythenorth> ok so engines aren't pluralised on top level name
22:11:44 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1332835322513330206/image.png?ex=6796b31f&is=6795619f&hm=7eddca2680131da32f67886c09d85128690aba2a1f2714875db7133f87d4a75e&
22:11:44 <andythenorth> but wagons are
22:11:51 <belajalilija> As the colours next to the voltage sparks in my set correspond to the colours of the OHLE poles
22:12:03 <andythenorth> pluralising is more name string handling πŸ˜›
22:12:53 <peter1138> I bet different sets use different colours though.
22:12:53 <Rubidium> andythenorth: yeah, voltage and AC/DC is not really useful. What would you assign to https://en.wikipedia.org/wiki/PBKA ?
22:13:10 <peter1138> "Everything"
22:13:13 <belajalilija> peter1138: No idea, we used the xUSSR standard
22:13:15 <andythenorth> multivolatage πŸ˜›
22:13:34 <andythenorth> my planned European set is Alpine πŸ˜›
22:13:46 <andythenorth> so I AC vs DC is already the redux version πŸ˜›
22:14:11 <andythenorth> I didn't do 3 phase or weird French 3rd rail
22:14:47 <belajalilija> andythenorth: I’m glad that I’m not the only person to talk about plans but take ages to act on them :kek:
22:16:07 <peter1138> belajalilija, doesn't xUSSR have about 5 million different colours for ac vs dc, voltages, frequencies and phases?
22:17:36 <andythenorth> belajalilija: there's always more Horse to do
22:18:07 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1332836930089517167/image.png?ex=6796b49f&is=6795631f&hm=b7a2ce175ae3b66c2011ece1f508643081101d020497df8bc4cdfd3e83038e0d&
22:18:07 <andythenorth> hmm
22:18:20 <andythenorth> wonder how much compile time I could save
22:18:33 <andythenorth> they're all fancy advanced varact2s writing to the text stack also
22:18:40 <peter1138> Okay, so red spark is DC.
22:18:53 <peter1138> Brown spark is... also DC, but 1500V.
22:19:15 <peter1138> Double red and brown spark is DC 3kV and DC 1500V
22:19:24 <belajalilija> peter1138: We’re using 4
22:19:44 <belajalilija> https://cdn.discordapp.com/attachments/1008473233844097104/1332837338241568859/IMG_2292.png?ex=6796b500&is=67956380&hm=d6ea29644d30cb3698fda54628b54149b5065cea76bf8bd2ba2fe1b2675175fb&
22:19:44 <belajalilija> https://cdn.discordapp.com/attachments/1008473233844097104/1332837338769915974/IMG_2293.png?ex=6796b500&is=67956380&hm=9f718ca3f963165c58c3d82688b89b7f69a1ae5f2489d4180c43c447d6ded1f5&
22:19:47 <peter1138> Blue spark is AC.
22:19:56 <peter1138> Blue/Red is AC/DC
22:20:25 <peter1138> Oh, your icons are of course completely different :)
22:21:23 <belajalilija> https://cdn.discordapp.com/attachments/1008473233844097104/1332837751204216984/IMG_2294.png?ex=6796b562&is=679563e2&hm=d7661ae95d41b8831c43eaee9466286c2accd759a54dcd9e38d1989fd972e4ab&
22:21:26 <peter1138> Dark blue is AC 25kV
22:21:31 <peter1138> Well, xUSSR is a bit mad.
22:21:52 <belajalilija> peter1138: Mine work better for multi voltage
22:21:56 <peter1138> Dark blue an red, AC 25kV / DC 3kV
22:22:01 <peter1138> This is kinda mad.
22:22:14 <andythenorth> hmm can I make 'name' empty and just use a badge πŸ˜›
22:22:32 *** kuka_lie has quit IRC (Remote host closed the connection)
22:22:42 <belajalilija> belajalilija: The coloured bar is 12 pixles and we have 4 voltages
22:22:55 <belajalilija> So any combo can be represented
22:23:13 <peter1138> Right but it isn't really clear.
22:23:27 <belajalilija> Nah that’s what i said
22:23:34 <belajalilija> Voltage is optional though
22:23:40 <belajalilija> I won’t personally play with it
22:24:27 <belajalilija> It is a feature brickblock wanted and it didn’t hinder my vision for the set so i ran with it
22:24:51 <belajalilija> belajalilija: Ideally the poles would have more colour
22:24:55 <peter1138> Well.
22:25:15 <belajalilija> My colours are slightly different to improve contrast
22:25:36 <peter1138> Ideally we would have some default badges for this so that users are not left guessing, but the combinations are a bit mad.
22:26:08 <peter1138> And the colours xUSSR uses kinda conflict with the existing "standard" light blue for "electric"
22:26:27 <belajalilija> I don’t think there’s a reasonable way to get all that info into 12x16 or whatever
22:27:00 <belajalilija> I’ll gladly go along with whatever badges you come up for it though
22:28:15 <peter1138> Hmm, can I enable a variadic template but ensure only one type is present...
22:28:19 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:28:48 <belajalilija> https://tenor.com/view/jfk-clone-high-i-like-your-funny-words-magic-man-jack-black-gif-18659433
22:32:43 <peter1138> `constexpr EnumBitSet(std::initializer_list<const Tenum> values)`
22:32:57 <peter1138> Might work.
22:41:55 <peter1138> `constexpr EnumBitSet(Tstorage data) : data(data) {}` probably ought to be explicit.
22:42:37 <xarick> Trying dumb stuff... static std::unique_ptr<std::shared_mutex[]> tile_mutexes;
22:49:08 <xarick> std::unique_lock write_lock(Tile(tile).mutex());
22:49:08 <xarick> ugly so far
22:59:48 <DorpsGek> [OpenTTD/wiki-data] James103 closed issue #43: Cloudflare blocks saving/previewing edits to `en/Manual/Command line` for security reasons https://github.com/OpenTTD/wiki-data/issues/43
22:59:51 <DorpsGek> [OpenTTD/wiki-data] James103 commented on issue #43: Cloudflare blocks saving/previewing edits to `en/Manual/Command line` for security reasons https://github.com/OpenTTD/wiki-data/issues/43
22:59:57 <xarick> I'm getting unresolved external link
23:00:08 <xarick> erm symbol
23:11:07 <xarick> nope, i can't do it...
23:11:16 <xarick> unresolved external symbol
23:14:13 <xarick> <https://gist.github.com/SamuXarick/b31abec4965a20f5880ea5e7b5ed1f49>
23:17:17 <xarick> I have in Map::Allocate
23:17:17 <xarick> `Tile::tile_mutexes = std::make_unique<std::shared_mutex[]>(Map::size);`
23:18:11 <xarick> and in class Tile
23:18:11 <xarick> `static std::unique_ptr<std::shared_mutex[]> tile_mutexes;`
23:19:28 <xarick> ``` debug_inline std::shared_mutex &mutex()
23:19:28 <xarick> {
23:19:28 <xarick> return tile_mutexes[this->tile.base()];
23:19:28 <xarick> }```
23:20:23 <xarick> and in tile_map.h
23:20:23 <xarick> ```debug_inline std::shared_mutex &TileMutex(TileIndex tile)
23:20:23 <xarick> {
23:20:23 <xarick> return Tile(tile).mutex();
23:20:23 <xarick> }```
23:21:06 *** keikoz has quit IRC (Ping timeout: 480 seconds)
23:22:28 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13381: Codechange: Introduce and use EnumBitSet. https://github.com/OpenTTD/OpenTTD/pull/13381
23:22:37 <peter1138> Well, sleepy time.