IRC logs for #openttd on OFTC at 2024-01-04
            
00:02:07 <truebrain> peter1138[d]: Attach gdb and find out! But it didn't hang for me ๐Ÿ™‚
00:07:59 <peter1138[d]> I did but it was waiting on a mutex ๐Ÿ™‚
00:08:37 <peter1138[d]> Hmm, there's a bug in the framerate window for scripts -- when the game is pause they stay stuck on the last value instead of going to 0.
00:08:38 <peter1138[d]> Hmm
00:12:01 <peter1138[d]> Maybe that's by design.
00:12:25 <peter1138[d]> But other lines disappear when the game is pause.
00:14:39 <truebrain> peter1138[d]: What mutex? ๐Ÿ˜„
00:22:56 <peter1138[d]> _http_thread.join()
00:24:21 <peter1138[d]> Threads so confusing, especially with mutexes. Never know what is waiting on what ๐Ÿ™‚
00:26:10 <peter1138[d]> this->queue_cv.wait(lock)
00:30:11 <peter1138[d]> Hmm, possible related to transmit network survey, but I dunno.
00:32:16 <_jgr_> WaitTillEmpty should check _http_thread_exit as well, and setting that should signal the CV
00:35:55 <_jgr_> As otherwise the thread exit signal is only checked at the start of the loop in the thread, so queuing more stuff in the thread races with the main thread not doing any more dequeing before setting the exit signal
00:36:10 *** Wormnest has joined #openttd
01:15:43 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #11680: Fix: HTTP thread exit when using libcurl https://github.com/OpenTTD/OpenTTD/pull/11680
01:28:47 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
01:56:57 *** Wormnest has joined #openttd
02:03:20 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #11681: Allow STRING/STRINGN parameter subspans to read all remaining available parameters in GS mode https://github.com/OpenTTD/OpenTTD/pull/11681
02:26:08 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192292853569826906/image.png?ex=65a88c40&is=65961740&hm=52efdba74f5dd917181400e5fcfdb57c5bc88db52665a467b2f3453f8b9dd11a&
02:26:08 <emperorjake> I did a thing, and it's working! ๐Ÿ˜ƒ
02:27:56 <reldred> Dem some fucky sprite extents though, sprite sorter is having some trouble.
02:28:12 <reldred> But nice work! Saves me having to write it ๐Ÿ˜›
02:30:15 <emperorjake> talltyler: what do you think of this?
02:36:11 <talltyler> I like it
02:36:30 <talltyler> Is the usecase subway trains or long freight trains? (Through load)
02:37:13 <emperorjake> Yep, can be either of those
02:37:25 <emperorjake> or loading long trains in curved track if space is tight
02:44:30 <talltyler> We could upstream actual through loading for that ๐Ÿ˜‰
02:54:50 <emperorjake> Through load is limited to freight trains though, this is ostensibly more flexible
02:55:13 <wensimehrp> when would the next nightly build be released? The last one was like two weeks ago
02:55:38 <wensimehrp> I need to check the translations
03:05:01 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake opened pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
03:06:51 <emperorjake> I wanna be sure if the way I coded it is ok first. I tried another way without the `else if` but it crashed ๐Ÿ™‚
03:35:46 <DorpsGek> [OpenTTD/OpenTTD] github-advanced-security[bot] commented on pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#pullrequestreview-1803384163
03:49:32 *** Wormnest has quit IRC (Quit: Leaving)
03:54:27 *** D-HUND has joined #openttd
03:54:41 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#pullrequestreview-1803388864
03:57:39 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:59:42 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11678: Codechange: coding style fixes https://github.com/OpenTTD/OpenTTD/pull/11678#pullrequestreview-1803398157
04:01:59 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake commented on pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#pullrequestreview-1803399703
04:05:26 *** Flygon has joined #openttd
04:05:42 *** D-HUND is now known as debdog
04:27:23 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake updated pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
04:31:23 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake commented on pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#issuecomment-1876296690
04:41:26 *** Flygon has quit IRC (Read error: Connection reset by peer)
04:44:20 *** Flygon has joined #openttd
05:35:00 <DorpsGek> [OpenTTD/OpenTTD] ldpl commented on pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#issuecomment-1876352999
05:36:34 <merni> wensimehrp: Afaik they are supposed to be released every day if there have been any changes... so truebrain nightlies broken again? :p
05:39:09 *** keikoz has joined #openttd
05:48:59 <merni> Hm, they are getting stored in https://cdn.openttd.org/openttd-nightlies/ but not shown on the website
05:53:14 <DorpsGek> [OpenTTD/website] merni-ns opened issue #281: Nightlies failing to be published since 31.12 https://github.com/OpenTTD/website/issues/281
05:54:57 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake commented on pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#issuecomment-1876399485
06:00:54 <DorpsGek> [OpenTTD/OpenTTD] ldpl commented on pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#issuecomment-1876411863
06:21:05 <emperorjake> wensimehrp: I'm getting the latest nightly on Steam (20240102)
07:27:41 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake commented on pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#issuecomment-1876595684
07:31:35 *** tokai|noir has joined #openttd
07:31:35 *** ChanServ sets mode: +v tokai|noir
07:34:44 *** Azusa has joined #openttd
07:34:44 <Azusa> What do you mean by cheats not being accessible in multiplayer? You can just use `settingsaccess` to access cheata, just like you would for enabling magic bulldozer in a multiplayer game and also for changing settings normally
07:38:25 *** tokai has quit IRC (Ping timeout: 480 seconds)
08:05:20 <_jgr_> Azusa: That is only in my branch
08:06:21 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #11680: Fix: HTTP thread exit when using libcurl https://github.com/OpenTTD/OpenTTD/pull/11680#pullrequestreview-1803671070
08:09:42 <truebrain> Nice work _jgr_ ! Mutexes remain complex ..... and this became too complex for my taste, but I think we almost got all issues now ๐Ÿ™‚
08:14:46 <truebrain> merni: Publishing the website fails. All packages are pinned, but somehow Ruby manages to fail on dependencies .. awesome ๐Ÿ˜„
08:29:30 <DorpsGek> [OpenTTD/website] TrueBrain opened pull request #282: Upgrade: bump all versions to latest https://github.com/OpenTTD/website/pull/282
08:32:12 *** tokai|noir has quit IRC (Quit: c('~' )o)
08:32:58 <DorpsGek> [OpenTTD/website] TrueBrain merged pull request #282: Upgrade: bump all versions to latest https://github.com/OpenTTD/website/pull/282
08:33:14 <DorpsGek> [OpenTTD/website] TrueBrain closed issue #281: Nightlies failing to be published since 31.12.2023 https://github.com/OpenTTD/website/issues/281
08:33:17 <DorpsGek> [OpenTTD/website] TrueBrain commented on issue #281: Nightlies failing to be published since 31.12.2023 https://github.com/OpenTTD/website/issues/281
08:34:40 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1192385598225391626/image.png?ex=65a8e2a0&is=65966da0&hm=7e77140ba527be79098c809f1a7d3f4c8f84178e76143e8674d2239bb398c557&
08:34:40 <truebrain> pretty as ever
08:35:31 <DorpsGek> [OpenTTD/website] LordAro commented on pull request #282: Upgrade: bump all versions to latest https://github.com/OpenTTD/website/pull/282#issuecomment-1876704086
08:36:02 <truebrain> LordAro: I hope you don't expect me to give an answer to that question? ๐Ÿ˜’
08:37:30 <truebrain> feel free to dig in https://github.com/OpenTTD/website/actions/runs/7401622387 why it exactly failed ๐Ÿ™‚
08:38:07 <truebrain> but knowing Ruby, they did something incredibly dumb and old code doesn't work with a newer version of Ruby, despite the major still being the same
08:41:41 <LordAro> ah, ruby 3.3
08:41:55 <LordAro> i think i did see some incompatible things in there
08:42:07 <truebrain> it is so stupid of them ... we have semver for a reason
08:42:13 <truebrain> but no, increasing that first number is SCARY
08:42:23 <truebrain> so we just fuck around with people, as that is more enjoyable ๐Ÿ˜›
08:43:31 <LordAro> you can blame python for that :p
08:43:35 <LordAro> among othere
08:43:37 <LordAro> s
08:43:45 <truebrain> Python is always backwards compatible in the major series
08:43:49 <truebrain> so they are doing semver just fine
08:44:10 <truebrain> heck, I can still use the old `yield` method to make coroutines if I like ๐Ÿ˜›
08:44:25 <LordAro> well that's demonstratably false
08:44:41 <LordAro> there's been plenty of things deprecated and removed within the 3.x versions
08:44:57 <truebrain> okay, that is fair, they use a N-version deprecation
08:45:05 <truebrain> even that is FAR better than what Ruby does ๐Ÿ˜›
08:45:15 <LordAro> https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ standard library updates, probably one of those (logger is in the stack trace?)
08:45:22 <truebrain> yes
08:46:02 <truebrain> I just gave up on Ruby ... this happened so many times already
08:46:28 <LordAro> should've used a container with a specific ruby version :p
08:46:43 <truebrain> ugh
08:46:44 <truebrain> ๐Ÿ˜›
08:47:00 <truebrain> and while I am in a bad mood already, let's upgrade all our software to the latest (the dependencies, that is)
08:47:50 <locosage> Azusa: this just shows that JGR had to write a bunch of new code simply to allow settings that were put in cheats to match the usability of normal settings
08:48:37 <truebrain> talking about versions, I should upgrade our software from Python 3.7 to something newer
08:48:42 <truebrain> 3.12? Or do I wait for 3.13?
08:50:31 <truebrain> and hopefully we are right back on IRC ๐Ÿ™‚
08:52:42 <LordAro> haven't gone anywhere
08:52:42 *** frosch123 has quit IRC (Read error: Connection reset by peer)
08:52:42 *** osswix has quit IRC (Read error: Connection reset by peer)
08:52:42 *** Azusa has quit IRC (Read error: Connection reset by peer)
08:52:42 *** ahyangyi has quit IRC (Read error: Connection reset by peer)
08:52:42 *** nightingale33 has quit IRC (Read error: Connection reset by peer)
08:52:42 *** androxarev has quit IRC (Read error: Connection reset by peer)
08:52:42 *** kuhnovic has quit IRC (Read error: Connection reset by peer)
08:52:42 *** rau117 has quit IRC (Read error: Connection reset by peer)
08:52:42 *** greenmotivations has quit IRC (Read error: Connection reset by peer)
08:52:42 *** nanapipirara has quit IRC (Read error: Connection reset by peer)
08:52:42 *** schnitzelpfanne has quit IRC (Read error: Connection reset by peer)
08:52:42 *** toast_not_found has quit IRC (Read error: Connection reset by peer)
08:52:42 *** SZ7M3K has quit IRC (Read error: Connection reset by peer)
08:52:42 *** reldred has quit IRC (Read error: Connection reset by peer)
08:52:42 *** sinas128 has quit IRC (Read error: Connection reset by peer)
08:52:42 *** alfagamma7 has quit IRC (Read error: Connection reset by peer)
08:52:42 *** lamarr has quit IRC (Read error: Connection reset by peer)
08:52:42 *** admeliora has quit IRC (Read error: Connection reset by peer)
08:52:42 *** wpiwpi has quit IRC (Read error: Connection reset by peer)
08:52:42 *** emperorjake has quit IRC (Read error: Connection reset by peer)
08:52:42 *** bigyihsuan has quit IRC (Read error: Connection reset by peer)
08:52:42 *** jfs has quit IRC (Read error: Connection reset by peer)
08:52:42 *** goddess_ishtar has quit IRC (Read error: Connection reset by peer)
08:52:42 *** belajalilija has quit IRC (Read error: Connection reset by peer)
08:52:42 *** wensimehrp has quit IRC (Read error: Connection reset by peer)
08:52:42 *** pandonaut has quit IRC (Read error: Connection reset by peer)
08:52:42 *** j0anjosep has quit IRC (Read error: Connection reset by peer)
08:52:42 *** kale91 has quit IRC (Read error: Connection reset by peer)
08:52:42 *** michi_cc[d] has quit IRC (Read error: Connection reset by peer)
08:52:42 *** locosage has quit IRC (Read error: Connection reset by peer)
08:52:42 *** johnfranklin has quit IRC (Read error: Connection reset by peer)
08:52:42 *** merni has quit IRC (Read error: Connection reset by peer)
08:52:42 *** truebrain has quit IRC (Read error: Connection reset by peer)
08:52:42 *** talltyler has quit IRC (Read error: Connection reset by peer)
08:52:42 *** _glx_ has quit IRC (Read error: Connection reset by peer)
08:52:42 *** peter1138[d] has quit IRC (Read error: Connection reset by peer)
08:52:42 *** _jgr_ has quit IRC (Read error: Connection reset by peer)
08:52:42 *** xarick has quit IRC (Read error: Connection reset by peer)
08:52:42 *** andythenorth has quit IRC (Read error: Connection reset by peer)
08:52:42 *** _zephyris has quit IRC (Read error: Connection reset by peer)
08:52:42 *** brickblock19280 has quit IRC (Write error: connection closed)
08:52:42 *** georgevb has quit IRC (Write error: connection closed)
08:52:42 *** DorpsGek_vi has quit IRC (Write error: connection closed)
08:52:50 <LordAro> oh wait, there you go
08:52:52 *** DorpsGek_vi has joined #openttd
08:53:23 <LordAro> literally the same second i say "you haven't gone anywhere"
08:53:28 *** truebrain has joined #openttd
08:53:28 <truebrain> ๐Ÿ˜„
08:53:45 <truebrain> happy to see it also worked ๐Ÿ˜›
08:53:48 <truebrain> there was little guarantee ๐Ÿ˜„
08:54:06 <LordAro> lol
08:54:26 <truebrain> the BaNaNaS frontend I can at least test before I deploy .. flask update, so I was a bit scared
08:54:29 <truebrain> but it seems to work fine
08:55:48 <truebrain> also time for DorpsGek to go away for a bit
08:56:13 <truebrain> anyway, LordAro, you any suggestions on the Python version to upgrade to?
08:57:30 <DorpsGek> [OpenTTD/eints] TrueBrain commented on pull request #160: Update to Bootstrap 5.3.1 and interface refresh https://github.com/OpenTTD/eints/pull/160#issuecomment-1876730478
08:58:21 *** DorpsGek has joined #openttd
08:58:21 *** ChanServ sets mode: +o DorpsGek
09:02:03 <DorpsGek> [OpenTTD/survey-web] TrueBrain opened pull request #12: Upgrade: bump all versions to latest https://github.com/OpenTTD/survey-web/pull/12
09:03:27 <truebrain> these monthly grouped dependabot updates are so much easier to deal with
09:03:53 <DorpsGek> [OpenTTD/survey-web] TrueBrain merged pull request #12: Upgrade: bump all versions to latest https://github.com/OpenTTD/survey-web/pull/12
09:05:06 <LordAro> truebrain: i think you know the answer to that one :p
09:05:17 <truebrain> I do?
09:05:26 <LordAro> i'll get to it /eventually/
09:05:33 <truebrain> owh, that question
09:05:43 <truebrain> sorry, on IRC I asked you another question, so that was confusing ๐Ÿ˜›
09:06:10 <LordAro> ooh, yes
09:06:13 <LordAro> missed that :p
09:06:48 <LordAro> i don't think there's any particular need to wait for 3.13
09:07:00 <truebrain> I was thinking maybe the JIT stuff they plan?
09:07:09 <LordAro> i don't think that'll be turned on by default
09:07:17 <truebrain> good point
09:07:28 <LordAro> there's various GIL things too, but doesn't (shouldn't?) affect us
09:07:43 <LordAro> (i daresay my python layer at work will be hellish to update... again)
09:07:47 <truebrain> not directly; it does give opportunities, but that is all
09:07:54 <LordAro> aye
09:08:46 <truebrain> I do not understand `npm update` at all ๐Ÿ˜ฆ
09:09:35 <LordAro> needs more yarn
09:09:40 <LordAro> or pnpm(?)
09:09:56 <truebrain> I doubt they would do it differently ๐Ÿ™‚
09:10:20 <LordAro> faster though
09:11:18 *** Azusa has joined #openttd
09:11:18 <Azusa> Right
09:11:20 <Azusa> Thanks
09:12:33 <Azusa> I guess you would need to change it in single player first then load the save in multiplayer? Does that still work?
09:13:18 <DorpsGek> [OpenTTD/survey-web] TrueBrain opened pull request #13: Upgrade: bump all versions to latest (part 2) https://github.com/OpenTTD/survey-web/pull/13
09:14:01 <truebrain> time to redeploy our multiplayer services .. causes some minor downtime ofc
09:14:20 <DorpsGek> [OpenTTD/survey-web] TrueBrain merged pull request #13: Upgrade: bump all versions to latest (part 2) https://github.com/OpenTTD/survey-web/pull/13
09:15:41 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
09:15:44 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#issuecomment-1876755452
09:15:46 <truebrain> _jgr_: in other news, JGRPP seems to trigger enough survey-results that I can finally do some datamining ๐Ÿ™‚
09:15:48 <DorpsGek> [OpenTTD/OpenTTD] PeterN reopened pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
09:15:53 *** peter1138[d] has joined #openttd
09:15:53 <peter1138[d]> ...
09:16:10 *** keikoz has quit IRC (Ping timeout: 480 seconds)
09:16:20 <peter1138[d]> Sorry. Somehow mouse moved as I was clicking on Comment...
09:16:28 <truebrain> a twitch!
09:16:34 <peter1138[d]> And it doesn't ask for confirmation ๐Ÿ˜ฆ
09:16:40 <peter1138[d]> It basically was, yes :/
09:17:49 <truebrain> lol, cheat vs config debate; you got to love it ๐Ÿ™‚
09:18:20 <truebrain> money, company, date .. I get those are cheats. The rest is all up for debate ๐Ÿ˜›
09:18:54 <Azusa> These are small things that I take for granted, :D
09:19:25 <truebrain> this is not the place for such conversation *trololololol*
09:20:03 <peter1138[d]> We don't have conversations, we just impose our will.
09:20:11 <peter1138[d]> It's a plague.
09:20:29 *** locosage has joined #openttd
09:20:29 <locosage> imo, all non-active cheats should just be moved to settings
09:20:29 <Azusa> So what did you have for your dinner last night?
09:20:33 <truebrain> I was making a suggestion of a completely non-OpenTTD related subject ๐Ÿ˜›
09:20:55 <truebrain> one could say, NSFW ๐Ÿ˜›
09:21:37 <locosage> the most cheaty thing in the game is not only not in cheats, it has a dedicated menu button for the ease of access xD
09:21:43 <truebrain> meh, the longer I work with GitHub, the less I like forks .. so much workflow things are so much easier without a fork ..
09:21:46 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1192397454205800498/Screenshot_from_2024-01-04_14-50-44.png?ex=65a8edaa&is=659678aa&hm=09cb82d80becb4c9285f558993ef230b008da18e3c1035815d2b8a05d39511f4&
09:21:49 <peter1138[d]> Hmm, can I not use a lambda function in place of a traditional function pointer style... or do I just have the signature wrong...
09:22:16 <peter1138[d]> Build while paused, yup. Let's move it to cheats ๐Ÿ˜‰
09:22:23 <truebrain> peter1138[d]: I happen to have done that recently with the social plugins .. it "just worked"
09:22:33 <peter1138[d]> Okay, so the signature is wrong.
09:22:55 <truebrain> CoPilot wrote it for me
09:24:00 <peter1138[d]> `Vehicle *VehicleFromPosProc(Vehicle *v, void *data);` -> `[&v](Vehicle *target, void *data) -> Vehicle * { dostuff(); return nullptr; }`
09:24:21 <truebrain> oeh, with a capture
09:24:24 <truebrain> that I do not know
09:24:51 <peter1138[d]> I could use the data pointer for that I guess.
09:25:13 <truebrain> a lambda with a capture is some darn black magic to me, how the compiler actually deals with that ๐Ÿ˜›
09:25:28 <truebrain> no clue if that is the reason your statement fails ๐Ÿ™‚
09:25:37 <peter1138[d]> Yes, it is.
09:26:01 <locosage> peter1138[d]: won't help, pause hotkey is just as powerful as build on pause
09:26:14 <peter1138[d]> Suspending your computer is cheating too ๐Ÿ˜„
09:26:24 <truebrain> LordAro: I am kinda forced to upgrade to 3.10+ now, as botocore doesn't want urllib > 2 before that ๐Ÿ˜›
09:26:24 *** _jgr_ has joined #openttd
09:26:24 <_jgr_> truebrain: It's basically a struct with an operator() method, so it can't be cast to a function pointer
09:26:27 <peter1138[d]> And that doesn't get recorded. We need to hook into suspend/resume.
09:26:36 *** xarick has joined #openttd
09:26:36 <xarick> How do I use TICC TOCC around returns?
09:26:40 <truebrain> _jgr_: ah! Tnx ๐Ÿ™‚ That really helps for the concept ๐Ÿ™‚
09:26:52 <peter1138[d]> xarick: Carefully.
09:26:52 <locosage> peter1138[d]: well, at least that's external factor
09:27:11 <truebrain> F1 key is also external
09:27:45 <_jgr_> I generally do more of my construction while paused than with the game running
09:29:33 <peter1138[d]> xarick: /me ponders lambda vs fp performance. Maybe I should TICC/TOCC it ๐Ÿ™‚
09:29:42 <peter1138[d]> That was not meant to be a reply. Oops.
09:30:05 <truebrain> I reasoned: if the compiler can make a fp out of my lambda, it must be identical in performance ๐Ÿ˜›
09:30:15 <truebrain> as I could only see that happening when it made the lambda an actual function
09:30:24 <truebrain> but .. never actually measured it ๐Ÿ˜› It just made sense in my head ๐Ÿ˜„
09:30:57 <peter1138[d]> Yes, probably.
09:31:07 <truebrain> that moment you have so many updates in a single dependabot PR, it gets cut off ... lovely ๐Ÿ˜„
09:31:09 <peter1138[d]> I wonder about with data pointer vs capture.
09:31:20 <truebrain> just half-way through it stops telling me what the changelog is of the udpate ๐Ÿ˜„
09:31:27 <peter1138[d]> void *data works but is a bit nasty in C++ ๐Ÿ™‚
09:35:13 *** andythenorth has joined #openttd
09:35:13 <andythenorth> Horse compile is about 30 seconds
09:35:17 <andythenorth> should I buy an M3 mac?
09:35:49 <truebrain> E_CORRELATION_NOT_FOUND
09:36:56 <andythenorth> 30% faster
09:37:00 <andythenorth> hmm
09:37:14 <andythenorth> 21 second compile?
09:37:28 <andythenorth> that's quite an assumption about real world performance ๐Ÿ˜›
09:39:14 <truebrain> really?
09:41:29 <DorpsGek> [OpenTTD/workflows] TrueBrain opened pull request #40: Add: [Dependabot] create a monthly PR to bump all dependencies https://github.com/OpenTTD/workflows/pull/40
09:43:06 <DorpsGek> [OpenTTD/workflows] TrueBrain merged pull request #40: Add: [Dependabot] create a monthly PR to bump all dependencies https://github.com/OpenTTD/workflows/pull/40
09:44:36 <peter1138[d]> Hmm, now the game hung at 99% of scanning newgrfs... ๐Ÿ˜ฎ
09:45:20 <peter1138[d]> Yay, infinite loop ๐Ÿ˜„
09:46:13 <andythenorth> probably FIRS
09:46:38 <truebrain> Impressive peter1138[d] .. finding actual bugs, every day of the week ๐Ÿ˜„
09:46:45 <DorpsGek> [OpenTTD/workflows] TrueBrain opened pull request #42: Add: [CI] Validate that the CDN requirements.txt can actually be installed https://github.com/OpenTTD/workflows/pull/42
09:46:49 <andythenorth> "FIRS showed an error, then my font corrupted" actual error not on reddit
09:46:58 <peter1138[d]> It would be more impressive if it wasn't the code I'd just changed...
09:48:20 <DorpsGek> [OpenTTD/workflows] TrueBrain updated pull request #42: Add: [CI] Validate that the CDN requirements.txt can actually be installed https://github.com/OpenTTD/workflows/pull/42
09:48:34 <truebrain> owh, I also should add a dependabot to upgrade all workflows automatically ... ugh ... maintenance work .. so boring ..
09:49:18 <DorpsGek> [OpenTTD/workflows] TrueBrain merged pull request #42: Add: [CI] Validate that the CDN requirements.txt can actually be installed https://github.com/OpenTTD/workflows/pull/42
09:52:33 <peter1138[d]> locosage: Might be PRable?
09:53:04 <peter1138[d]> The "marked" thing is dumb... nobody is looking!
09:53:29 <truebrain> we went from "game" to "sandbox" somewhere along the way ๐Ÿ™‚
09:55:29 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1192405935222702099/image.png?ex=65a8f590&is=65968090&hm=cc6a267968e0af991668fe2e45a371d7cfc8fb6a99fb46248a94bb79a5579b8e&
09:55:33 <andythenorth> money: cheat
09:55:44 *** rau117 has joined #openttd
09:55:44 <rau117> Speaking of cheats. Maybe return โ€œlarge aircraft don't crash on small runwayโ€ to the settings?
09:55:56 <andythenorth> tunnel crossing, jetplanes, production values, station ratings: all settings
09:56:09 <andythenorth> map height: WTF? It doesn't even do anything?
09:56:19 <truebrain> the station ratings one could argue is in fact a cheat ๐Ÿ˜›
09:56:29 <truebrain> as you are cheating a value in there ๐Ÿ˜„
09:56:39 *** reldred has joined #openttd
09:56:39 <reldred> I'd love for instance a mode for the cash bottom right corner to just show current operating profit, both for your situations where you're just sandboxing it, and also when money Ceases To Be A Problem
09:56:47 <truebrain> a setting would be: enable/disable station rating ๐Ÿ™‚
09:56:47 <andythenorth> magic bulldozer should just be ctrl-click ๐Ÿ˜›
09:57:01 <rau117> ctrl+click is diagonal selection
09:57:11 <peter1138[d]> Ctrl-alt-delete-shift-click
09:57:17 *** emperorjake has joined #openttd
09:57:17 <emperorjake> Magic bulldozer could be a setting, I have it on all the time
09:57:17 <andythenorth> double click
09:57:19 <peter1138[d]> (Estimate the cost of rebooting)
09:57:20 <truebrain> peter1138[d]: with your left pinky
09:57:46 <rau117> emperorjake: It will be extremely dangerous for multiplayer.
09:58:12 <emperorjake> I only play with trustworthy people ๐Ÿ˜›
09:58:21 <truebrain> so I am not invited ๐Ÿ˜ฆ
09:58:31 <andythenorth> I don't get the argument 'could be dangerous for multiplayer'
09:58:40 <rau117> rau117: And in a single-player game, itโ€™s much better to have it in a quick-disable form so as not to destroy something important. The cheat window is very good for this, much more convenient than going into the settings, looking for something and disabling it.
09:58:46 <reldred> stop playing random lobbies with dickheads lmao
09:58:58 <peter1138[d]> Okay, let's forget I said anything.
09:59:13 <truebrain> peter1138[d]: I am trying!!! ๐Ÿ˜›
09:59:15 <emperorjake> rau117: Port over JGRPP's "you are about to destroy something important" message then
09:59:48 <truebrain> andythenorth: that is a good question: what is it doing there? ๐Ÿ˜›
09:59:54 <truebrain> if you find out you wanted to build higher?
10:00:18 <rau117> emperorjake: yes... but the importance of the object being removed is determined by the game code, not your preferences.
10:00:21 <reldred> truebrain: Didn't you set it to ignore that on the new mapgen anyway? I thought we discussed this before.
10:00:39 <truebrain> like I know what I ate yesterday
10:00:40 <truebrain> ๐Ÿ˜›
10:00:52 <reldred> Valid
10:01:15 <truebrain> I do remember the terrain generator wants to know a max height
10:01:19 <truebrain> just no clue how that would relate to that cheat ๐Ÿ˜„
10:01:24 <rau117> reldred: This is not a solution to the problem. Private servers too.
10:02:00 <locosage> rau117: it depends on the server. citymania has magic bulldozen for example
10:02:13 <emperorjake> As do the JGR servers here
10:02:15 <andythenorth> it's just weird, the idea that a setting is dangerous
10:02:18 <locosage> it just has other ways to deal with issues that it brings
10:02:36 <andythenorth> electricity in my house is 'dangerous', just don't let it out of the wires
10:02:43 <reldred> andythenorth: Settings don't kill people. Guns do.
10:02:50 <andythenorth> mug
10:02:50 <truebrain> why is there a restriction in how high you can build ... does anyone actually care?
10:02:51 <locosage> peter1138[d]: yeah, I was thinking of doing that
10:02:51 <andythenorth> t-shirt
10:02:57 <andythenorth> mousemat
10:03:07 <locosage> locosage: unless you want to beat me to it ;)
10:03:08 <reldred> truebrain: I know there was griefing concerns
10:03:14 <locosage> I'm not exactly hurrying here xD
10:03:19 <reldred> but again, don't play with shitters, yadda yadda
10:03:26 <peter1138[d]> Nice, I found a way to make Wentbourne run fast.
10:03:32 <andythenorth> M3 mac? ๐Ÿ˜›
10:03:35 <truebrain> peter1138[d]: define "fast" ? ๐Ÿ˜„
10:03:37 <peter1138[d]> Pause all road vehicles ๐Ÿ˜„
10:03:52 <rau117> andythenorth: Yes... the same can be said about block signals. They are not dangerous, you just need to know how to use them.
10:03:52 <rau117> *But they were still hidden from newcomers.*
10:04:10 <reldred> oh nobody cares about block signals god damn
10:04:18 <locosage> put signals in cheats! xD
10:04:20 <truebrain> wow dude .... digging some old graves?
10:04:22 <reldred> it's not 2004 anymore
10:04:24 <truebrain> that kinda ends the conversation I guess
10:04:45 <rau117> reldred: Well, why write this if โ€œyou donโ€™t care about thisโ€?
10:05:02 <emperorjake> It always comes back to the block signals, I didn't even bring them up this time ๐Ÿ™„
10:05:10 <andythenorth> it's lol
10:05:13 <andythenorth> is this irc?
10:05:17 <andythenorth> can there be kban?
10:05:28 <truebrain> haha, auto-ban ๐Ÿ˜„
10:05:35 <peter1138[d]> 15ms gameloop with everything stopped, lols.
10:05:41 <andythenorth> make it 12ms
10:05:55 <peter1138[d]> I'd need an M3 Mac for that.
10:06:08 <andythenorth> is it 30% faster?
10:06:16 <truebrain> I need a Mac
10:06:18 <truebrain> ๐Ÿ˜›
10:06:59 <rau117> rau117: Just as an example. If something is considered โ€œdifficult, dangerous or uselessโ€ it shouldnโ€™t be hidden just because. There will definitely be those who will like it.
10:07:33 <andythenorth> what's the age limit on discord anyway?
10:07:39 <truebrain> I am still puzzled by this max-height thingy ๐Ÿ™‚
10:07:40 <peter1138[d]> truebrain: buy one with OpenTTD funds.
10:07:52 <truebrain> peter1138[d]: pretty sure I am already draining the funds in other ways ๐Ÿ˜›
10:07:57 <peter1138[d]> What is the max-height thing?
10:08:07 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1192409117080424529/image.png?ex=65a8f887&is=65968387&hm=10af3a634d2c05e4014371e0ddbdc22f15ce467343e6a84acb1c21cc6baf7e84&
10:08:08 <andythenorth> cheat
10:08:10 <truebrain> andythenorth: screenshot for visibility
10:08:18 <andythenorth> it's weird AF
10:08:28 <truebrain> like, would anyone actually notice if we just remove max-height? ๐Ÿ˜„
10:08:31 <peter1138[d]> Why is it a cheat...
10:08:39 <peter1138[d]> Max-height should just affect terrain generaetion.
10:08:47 <andythenorth> dare I suggest....what does commit history say? ๐Ÿ˜›
10:08:57 <andythenorth> is there a 28 page forum thread about it?
10:09:09 <andythenorth> is it buried in the tangled history of TGP somewhere?
10:09:10 <truebrain> peter1138[d]: I assumed it would already; but it doesn't. It also restricts how high you can build ๐Ÿ™‚
10:09:12 <xarick> `static bool DisasterTick_Ufo(DisasterVehicle *v)
10:09:12 <xarick> {
10:09:12 <xarick> TICC();
10:09:12 <xarick> bool ret = DisasterTick_Ufo_Real(v);
10:09:12 <xarick> TOCC("DisasterTick_Ufo", 1);
10:09:14 <xarick> }`
10:09:14 <xarick> Is this going to be a valid measurement?
10:09:15 <rau117> rau117: *It's one thing for signals to only pose a "danger" to the user. *
10:09:15 <rau117> Magical dynamite can harm anyone on the server. Especially if there is no password on the server.
10:09:19 <andythenorth> oh it's probably in that 100 page MHL thread?
10:09:29 <peter1138[d]> xarick: no
10:09:30 <andythenorth> how do I add Rau to ignore in discord?
10:09:44 <xarick> oh, return ret missing, but u get the idea
10:09:52 <andythenorth> oh block?
10:09:59 <reldred> https://cdn.discordapp.com/attachments/1008473233844097104/1192409583893884928/image.png?ex=65a8f8f6&is=659683f6&hm=ba1a86cedd1029715b83745d0cc143d367228ff041139aece3374db46d62bec6&
10:09:59 <reldred> andythenorth: right click the profile pic:
10:10:01 <truebrain> about the station rating .. I am guessing the intended behaviour of the "100%" is to just have no station rating, right?
10:10:02 <andythenorth> thanks
10:10:08 <andythenorth> done
10:10:17 <peter1138[d]> andythenorth: don't do you. You just get endless "message from blocked user"
10:10:30 <xarick> oh snap, return ret actually doesn't work
10:10:35 <truebrain> peter1138[d]: really?!
10:10:42 <truebrain> well, that is one poor way to implement that ๐Ÿ˜„
10:10:44 <andythenorth> truebrain: oh yes I see
10:10:54 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1192409816036028456/image.png?ex=65a8f92e&is=6596842e&hm=08ce9ee52975199624ab11903394f96fb4819d578a1fa27e04e5399410969bb5&
10:10:57 <andythenorth> ok, how do we kick?
10:10:58 <truebrain> telling you there is something there, but not telling you what ๐Ÿ˜„
10:11:31 <truebrain> right ... deploying the wiki .. and that ends the round of: upgrade all software to latest dependencies for this month/quarter
10:11:48 <locosage> tbf silently removing messages isn't a perfect solution either as you still see what other people reply to them
10:12:13 <peter1138[d]> That's easy, just ignore everyone who replies. Soon it will be peaceful.
10:12:15 <andythenorth> yeah, I think kban is the proven solution?
10:12:42 <reldred> andythenorth: I'm a fan of another approach: cyberbullying
10:12:46 <truebrain> owh ... I redeployed the wiki .. that invalidates all images ... the cache will be busy again ๐Ÿ˜›
10:12:56 <locosage> peter1138[d]: or you can just ignore whatever the person you don't want to listen to says
10:13:00 <andythenorth> reldred: don't think I can subscribe to that newsletter ๐Ÿ˜›
10:13:02 <truebrain> I should fix that it doesn't invalidate all images ... #effort
10:13:20 <reldred> andythenorth: yeah people keep telling me I'm not allowed to do that anymore ๐Ÿ˜ข
10:13:34 <andythenorth> you're not
10:13:41 <andythenorth> it's punching down
10:13:54 <reldred> gone are the days of me being a straight up belligerent to people on #tycoon
10:14:22 <locosage> I don't use blocking in chats where I care about conversation at all
10:14:36 <truebrain> I used to have another method for that ... just kick people from IRC when they are being a dick. But I was not allowed to do that anymore either ๐Ÿ˜›
10:14:45 <locosage> if the whole chat is just a wall of nonsense, sure, blocking some of it doesn't matter xD
10:14:47 <truebrain> my "you are a dick" did n ot always align with others ๐Ÿ˜›
10:15:19 <reldred> Just delegate all decision making to me, I am the Haver of Correct Opinions afterall
10:15:21 <reldred> *ducks*
10:15:26 <peter1138[d]> Nothing got better by moving to Discord.
10:15:34 <truebrain> we got images!
10:15:41 <peter1138[d]> (Except replies, reactions, images, links...)
10:15:58 <truebrain> okay .... so Nomad did a change to their software, and now our nodes have 0 MHz available
10:16:02 <truebrain> they said they fixed it
10:16:04 <truebrain> they didn't ๐Ÿ˜›
10:16:09 <rau117> reldred: And you started a mess off topic because of the slightest mention of block signals. It's just that you have an unhealthy hatred for them. Simply ignoring it would do more good.
10:16:15 <reldred> Discord for me is just convenient because it's where every other community I deal with is. Yes I know that's also a shocking indictment of the current state of the internet...
10:16:17 <reldred> ๐Ÿ˜ข
10:16:20 <peter1138[d]> Cool, I borrowed a Xarick changed and went from 3403ยตs to 1ยตs.
10:16:39 <truebrain> for an action once a day? ๐Ÿ˜›
10:16:44 <peter1138[d]> Less ๐Ÿ™‚
10:16:51 <truebrain> stats without context is like ... well, Xarick, yes ๐Ÿ™‚
10:16:58 <reldred> There we go, you gotta be nice to him now ๐Ÿ˜›
10:17:02 <peter1138[d]> It's very Xarick.
10:17:45 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1192411538800267286/image.png?ex=65a8fac8&is=659685c8&hm=4905e6fe765053fc443129fce4eef5218fa64ee87445f289296d8234fdfed1b8&
10:17:45 <truebrain> I kinda disagree with the 0% utilization .. I argue it is at 100%!
10:18:01 <peter1138[d]> What the shit is that?
10:18:09 <truebrain> our Nomad cluster, their latest version
10:18:15 <truebrain> reporting our nodes have 0 MHz available
10:18:40 <reldred> God I hate that, % free instead of % used
10:18:50 <peter1138[d]> I see. Nothing is available. I think you crashed the universe with that division by zero.
10:18:52 <reldred> A tonne of vsphere's metrics it exports are all % free
10:18:59 <reldred> and I hate it
10:19:15 <truebrain> the worst part is .. they used to have the ability to just overwrite that value ... but that has been dropped, it seems, or something
10:19:22 <truebrain> how am I going to restore from this .. let's find out ..
10:20:00 <peter1138[d]> Now the benefits are rolling in. I spawned a small ufo every day, and now it's saving 4ms every 2 seconds!
10:20:10 <truebrain> w00p!
10:20:12 <truebrain> you go girl!
10:20:36 <peter1138[d]> Thanks
10:20:42 <truebrain> you are welcome!
10:21:15 <emperorjake> rau117: Why are you making a deal out of this? The server admin would still be able to disable magic bulldozer. Nothing would change except where the button is
10:21:16 <reldred> alright, settle down, I think you've both girbossed this enough
10:22:09 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1192412648759890020/Screenshot_from_2024-01-04_15-51-33.png?ex=65a8fbd1&is=659686d1&hm=d7a63869fb3d9baa2dfcc2ae1133459b37b91eef3e013f9c499eac7d9afa0e25&
10:22:20 <truebrain> oops, lost all my credentials for infra deployments ... I now need to find back 5 tokens .. "fun" ๐Ÿ˜„
10:22:23 <peter1138[d]> That often?
10:22:43 <peter1138[d]> "Disasters: off" is surely a default ๐Ÿ˜„
10:23:19 <locosage> it's just a meme, any similarity with reality is pure coincidence ;p
10:25:44 <peter1138[d]> Can I use Xarick's group vehicle cache to update the group vehicle cache?
10:26:13 <reldred> With a plucky attitude you can do anything peter1138, I believe in you.
10:26:55 <_jgr_> The only disaster related optimisations which make a useful difference are the ones where you cache the fact that there are 0 of them in the game
10:27:11 <_jgr_> So you needn't bother checking for them
10:27:18 <locosage> peter1138[d]: may need one more vehicle cache in between for extra safety :p
10:27:32 <peter1138[d]> I think you mean extra performance.
10:28:42 <reldred> I always thought the Lemat was going to be a meme gun in grand theft horse because OMG IT WAS IN WESTWORLD but nine rounds of ball and a shot of buckshot is really really handy to have in the same revolver
10:29:11 <rau117> emperorjake: This is about griefing and beginners. I'm almost sure that newbies are not able to use admin rights properly. Creating a server is much easier than managing it. An unlucky griefer can simply destroy everything on the server.
10:29:11 <rau117> *Another question is whether beginners will be able to get to the settings to turn on the magical bulldozer. *
10:30:32 <peter1138[d]> You're arguing that it's dangerous because beginners will leave the setting on... and then that they won't be able to find it to turn it on?
10:30:33 *** merni has joined #openttd
10:30:33 <merni> reldred: Would it make sense to have a cheat/setting that allows you to spend money (buy, build etc) even when your money is negative?
10:31:03 <andythenorth> isn't the goal with caches to add enough of them
10:31:15 <andythenorth> so that updating the caches eliminates all the time saved by caching?
10:31:17 <merni> That way you can "ignore money" without having to cheat it once in a while but still see if you are really making a profit
10:31:23 <reldred> merni: neither is exclusive of each other
10:31:32 <merni> No, just had an idea
10:31:49 <peter1138[d]> Sanbox mode (where money doesn't matter) should be a setting, not a cheat.
10:32:09 <peter1138[d]> (Giving yourself money in non-sandbox mode is still a cheat though)
10:32:14 <merni> Sure, I'm not getting into the argument on that :p
10:32:28 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1192415242634936432/Screenshot_from_2024-01-04_16-02-16.png?ex=65a8fe3b&is=6596893b&hm=9882df029f911e968eca62f84dcd9d21b3836f339b326b88db9c1e68629b0a29&
10:32:28 <locosage> peter1138[d]:
10:32:36 <peter1138[d]> jeje
10:32:40 <reldred> Yeah I would still like to easily see operating profit even in sandbox mode though. Cities Skylines does that.
10:32:50 <rau117> peter1138[d]: I just always prefer the most negative option. If the player somehow got to the magical bultozer setting...
10:32:51 <peter1138[d]> Anyway, it's 10:30. I am meant to be working since 9, oops.
10:32:58 <peter1138[d]> Guess I am working late tonight.
10:33:01 <xarick> ๐Ÿ™‚
10:33:13 <truebrain> peter1138[d]: oops .. good luck ๐Ÿ™‚
10:34:29 <rau117> rau117: And so, probably the best solution would be to require a password for the server if the magical bulldozer setting is enabled.
10:34:29 <rau117> (and letโ€™s say somewhere in openttd.cfg hide the ability to enable magical bulldozer without a server password)
10:35:00 <xarick> I cant TICC TOCC disaster vehicle
10:35:09 <xarick> screw it
10:35:16 <truebrain> I hate API keys that don't show "last used" on their website .. so hard to see which key I was using and which I was not ๐Ÿ˜›
10:35:45 <locosage> peter1138[d]: I was thinking of sandbox mode when increasing the max loan but apparently it doesn't quite work like that because of the interest
10:35:45 <merni> rau117: This is such a non-sequitur... if some multiplayer admin wants to make a server with settings that will make griefing easy, that's on them
10:36:31 <locosage> but if paired with 0 interest rate setting it can
10:36:35 <andythenorth> peter1138[d]: I am talking to GPT, for work
10:36:52 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1192416352825262170/image.png?ex=65a8ff44&is=65968a44&hm=6bcb420130f7b559eb5bf71ac53c1faca34e8fd27f9faf5cb0e6f752dcac31c8&
10:36:52 <andythenorth> this is dull in discord eh
10:36:58 <andythenorth> do I also block everyone who replies?
10:37:15 <merni> That would be sad
10:37:20 *** alfagamma7 has joined #openttd
10:37:20 <alfagamma7> Such replies
10:37:23 <peter1138[d]> xarick: bool result; TICC(); result = whatever; TOCC(); return result;
10:37:24 <rau117> merni: Well, yes. And they will be able to go to openttd.cfg and enable this setting.
10:37:24 <rau117> And simple, โ€œnot very knowledgeableโ€ players will be forced to set a password on their server โ€œjust for friendsโ€ in order to be able to use the magical bulldozer.
10:38:12 <merni> Players who want a server just for friends should have a pw anyway... there are any number of methods of griefing other than magic bulldozer
10:38:21 <_jgr_> If a server is "just for friends" you absolutely should password it anyway
10:38:40 <truebrain> _jgr_: better: set it to "Invite only"!
10:38:59 <merni> And it seems they do as there are very few public servers that are intended as "just for friends"... if you look at the public server list almost all of them are intentionally open ones
10:39:15 <locosage> how many "invite only" servers are there btw?
10:39:51 <rau117> merni: But you can only cancel the effect of the magic bulldozer by reloading the save. Removing a griefer company is much easier than returning a developed 1.2k coal mine.
10:40:11 <locosage> locosage: I have some doubts it's used widely but no way to check
10:40:11 <xarick> peter1138[d]: ah, thanks, so that's how it's done!
10:40:14 <andythenorth> let's continue the long tradition of OpenTTD community gatekeeping any fucking change "because multiplayer" ๐Ÿ™‚
10:40:23 <andythenorth> it's a fine tradition, and does not harm the project at all eh
10:40:46 <truebrain> passive agressive comments neither, right? ๐Ÿ˜‰
10:41:13 <locosage> andythenorth: don't confuse "because mp" with "because Rau" :p
10:42:17 <reldred> truebrain: I say we become actively agressive
10:42:54 <peter1138[d]> Like a plague.
10:43:05 <andythenorth> I'm English, this is naked aggression in GB English
10:43:09 <andythenorth> ๐Ÿ˜›
10:43:13 <peter1138[d]> (I'm waiting for $work CI to do stuff)
10:43:18 <truebrain> okay ... I think I have finally managed myself to give access to infra deployments again .. pff .. rightfully not easy to setup, but pfffff
10:43:31 <reldred> oh no who gave him prod
10:43:33 <andythenorth> if I was being passive aggressive I'd have said "quite nice"
10:44:50 <rau117> andythenorth: I'm not completely against a magical bulldoser as setting. I'd just like to make it a little safer.
10:44:50 <rau117> In any case, you can just load a save with the cheat enabled, it will work in multiplayerโ€ฆ if I remember it correctly
10:44:50 <rau117> *oh, you wonโ€™t see this anyway*
10:45:06 <xarick> hmm, another problem, how do I get around the returns for TICC TOCC Depot::~Depot()?
10:45:29 <peter1138[d]> You don't.
10:45:31 <locosage> rau117: you can see in citymania client, it opens cheat window in mp for that exact reason
10:45:31 <truebrain> `error: Preview failed: Exception calling application: [Errno 2] No such file or directory: 'nomad'` ... oh-oh .. what did they change that broke my shit ๐Ÿ˜ฆ
10:46:48 <emperorjake> rau117: JGRPP already has ways to turn on cheats in multiplayer. It's completely safe because it's behind the settings_access password
10:46:49 <andythenorth> trying to teach GPT about sarcasm
10:48:53 <andythenorth> GPT understands sarcasm conceptually, but not in practice
10:49:13 <andythenorth> nor does it understand when I'm answering it sarcastically
10:49:39 <xarick> void ret;
10:49:39 <xarick> ret = this->Depot_Real(); doesn't work
10:51:02 <_jgr_> It seems a bit odd to me to answer sarcastically to a machine that not even other machines would consider sentient in any way
10:51:35 <peter1138[d]> andythenorth: You can stop at 'nor does it understand'
10:51:54 <andythenorth> it's really quite good at some tasks recently, although GPT 4 is molasses slow
10:51:57 <xarick> oh, I got it! This works
10:51:57 <xarick> `Depot::~Depot()
10:51:57 <xarick> {
10:51:58 <xarick> TICC();
10:51:58 <xarick> this->Depot_Real();
10:51:58 <xarick> TOCC("Depot::~Depot", 1);
10:51:58 <xarick> }`
10:51:59 <andythenorth> maybe it needs optimised ๐Ÿ™‚
10:52:38 <peter1138[d]> It needs cache ๐Ÿ™‚
10:52:41 <andythenorth> _jgr_: I'm treating it as a linguistic game, not an intelligence. It should be able to find a vector space that corresponds with sarcasm
10:52:51 <andythenorth> maybe the training data lacks the nuances for that
10:53:16 <peter1138[d]> "Temporal8's Real Industries 32bpp Beta" causing problems in JGRPP, surely not...!
10:53:58 <peter1138[d]> Will a Mac M3 speed up my CI?
10:54:13 <peter1138[d]> I think it's running on an i5, heh.
10:59:13 <andythenorth> it won't if you're building a windows app ๐Ÿ˜›
11:00:08 <andythenorth> how much is a Mac now?
11:00:23 <truebrain> hmm .. why do I get `SSLV3_ALERT_BAD_RECORD_MAC` from this proxy .. lol?
11:00:35 <peter1138[d]> Are you MitMing yourself?
11:00:45 <truebrain> that I am, yes
11:00:58 <peter1138[d]> Kinky.
11:01:03 <truebrain> I retried, and it worked .. what-ever
11:03:35 *** keikoz has joined #openttd
11:05:34 <truebrain> time to see if I managed to fix the MHz issue ....
11:07:19 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1192424013197213707/image.png?ex=65a90666&is=65969166&hm=f7e0c2166d734726d564ffd5a5101581da7f4ce328b13030a81de49e769d1492&
11:07:19 <truebrain> isn't that just better?
11:10:48 <truebrain> and now something else is not working anymore within Nomad .. lol?
11:13:23 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11678: Codechange: coding style fixes https://github.com/OpenTTD/OpenTTD/pull/11678#pullrequestreview-1803954585
11:13:44 <truebrain> owh, a known bug they fixed yesterday
11:13:49 <truebrain> that exists for at least a few weeks already
11:13:51 <truebrain> oof
11:15:04 <truebrain> it seems that if I upgrade the whole cluster, it should be fine .. but do I dare?
11:21:08 <LordAro> ha
11:21:15 <peter1138[d]> Backups?
11:21:29 <truebrain> there is no actual state on the cluster
11:25:36 <truebrain> okay .. having 1 server-node of the newer version seemed to be enough ... and everything "seems" to work
11:25:41 <truebrain> time to roll over the rest, I guess
11:28:22 <truebrain> well, here goes nothing ๐Ÿ˜›
11:29:07 <peter1138[d]> ๐Ÿคž
11:29:54 *** DorpsGek has joined #openttd
11:29:54 *** ChanServ sets mode: +o DorpsGek
11:30:42 *** emperorjake has quit IRC (Remote host closed the connection)
11:30:42 *** alfagamma7 has quit IRC (Remote host closed the connection)
11:30:42 *** andythenorth has quit IRC (Remote host closed the connection)
11:30:42 *** xarick has quit IRC (Remote host closed the connection)
11:30:42 *** reldred has quit IRC (Remote host closed the connection)
11:30:42 *** rau117 has quit IRC (Remote host closed the connection)
11:30:42 *** locosage has quit IRC (Remote host closed the connection)
11:30:42 *** merni has quit IRC (Remote host closed the connection)
11:30:42 *** truebrain has quit IRC (Remote host closed the connection)
11:30:42 *** peter1138[d] has quit IRC (Remote host closed the connection)
11:30:42 *** _jgr_ has quit IRC (Remote host closed the connection)
11:30:42 *** Azusa has quit IRC (Remote host closed the connection)
11:30:42 *** DorpsGek_vi has quit IRC (Remote host closed the connection)
11:30:53 *** DorpsGek_vi has joined #openttd
11:30:58 *** reldred has joined #openttd
11:30:58 <reldred> nek minnit
11:31:02 *** truebrain has joined #openttd
11:31:02 <truebrain> right, we should be back on IRC too ๐Ÿ™‚
11:32:00 <truebrain> all services report green ..
11:32:20 <truebrain> server-list is already repopulated ๐Ÿ™‚
11:32:35 <reldred> sigh, I've gotta rebuild so much shite the other 'senior engineer' did at work
11:32:35 <truebrain> that happens so scary fast ๐Ÿ™‚
11:33:14 <truebrain> it should distribute jobs evenly over the nodes ... we now have 15 / 15 / 20 allocations over 3 nodes
11:33:17 <truebrain> that is not a fair distribution!
11:33:32 <reldred> he has an irrational fear of basic industry concepts/technologies, and his idea of redundancy was not infact creating any redundancies, but creating six seperate critical failure points.
11:33:52 <truebrain> lol
11:33:54 <reldred> so now I have to learn storage
11:33:58 <reldred> i don't want to learn storage
11:34:06 <reldred> i'm a network person
11:34:08 <reldred> not storage
11:34:24 <reldred> but he's 'retiring' and his busted ass shit is gonna break on my watch
11:35:42 <reldred> and he was supposed to be teaching someone else how to look after his horizon environment but so far it's not looking good so I'm gonna have to learn that as well...
11:35:46 <truebrain> awh, one of the nodes doesn't want to do a clean shutdown .. owh well
11:36:23 <truebrain> owh, right, downscaling had to be done in steps .. 6 -> 5 -> 3
11:36:34 <truebrain> as otherwise it thinks it is in split-brain ๐Ÿ˜„
11:38:12 <truebrain> Sentry is nice .. I got 6 copies of the fact redis was unavailable ๐Ÿ˜›
11:38:18 *** herms has joined #openttd
11:40:17 *** peter1138[d] has joined #openttd
11:40:17 <peter1138[d]> Power-of-optical-fibre ๐Ÿ˜ฎ
11:40:27 <truebrain> ... scary?
11:42:00 <peter1138[d]> > Typically 600 mW of electrical power can be supplied by converting 1.5W (CW) of optical input power
11:42:15 <truebrain> 50+% loss
11:42:19 <truebrain> but still .. scary ๐Ÿ˜›
11:42:27 <peter1138[d]> >๏ฎ Fully isolated Power over Fiber (PoF) solution that
11:42:27 <peter1138[d]> efficiently converts optical power to electrical power
11:42:35 <reldred> peter1138[d]: god that stuff scares the crap out of me ๐Ÿ˜ญ๐Ÿ˜ญ๐Ÿ˜ญ
11:42:40 <reldred> my eyeballs
11:42:42 <peter1138[d]> "efficiently" doing some heavy lifting there.
11:42:43 <truebrain> "efficiently" ๐Ÿ˜„
11:43:52 <reldred> efficiently ruining some network techs whole career
11:44:35 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1192433394978656336/image.png?ex=65a90f23&is=65969a23&hm=99128b80ee3c02a120e76e1f2ad7f9a891733a086f0d75af65a77105b02351a5&
11:44:35 <truebrain> cluster running nicely again
11:45:07 <reldred> wossat cluster for anyway?
11:45:12 <truebrain> OpenTTD
11:45:28 <reldred> nah technology stack
11:45:29 <peter1138[d]> reldred: These devices don't do networking, it's just power delivery.
11:46:07 <truebrain> https://github.com/OpenTTD/infra <- our stack
11:46:40 <peter1138[d]> A big cluster to run on andy's MBP.
11:46:52 <truebrain> yeah, it is now 5 MBPs ๐Ÿ˜›
11:47:06 <reldred> truebrain: nah more meant was it container cluster, hypervisor cluster, what container type, yadda yadda ๐Ÿ˜›
11:47:16 <truebrain> see that repo ๐Ÿ˜›
11:47:49 <truebrain> or https://www.openttd.org/news/2023/07/09/infra-migration
11:48:00 <truebrain> or https://www.openttd.org/news/2023/07/08/our-infrastructure
11:48:05 <reldred> pulumi, never eard of it ๐Ÿ˜›
11:48:34 <reldred> god and so much python, scary
11:48:44 *** emperorjake has joined #openttd
11:48:44 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192434434964725830/image.png?ex=65a9101b&is=65969b1b&hm=2d10951fe36d3b5917931b564652a3c5020a69062a401b6d8b5845c6569106a6&
11:48:44 <emperorjake> I've made it a setting now
11:48:56 <reldred> (my crowning achievement at the moment is a production swarm cluster, go easy on me)
11:49:06 <truebrain> docker swarm?
11:49:07 <truebrain> oof
11:49:11 *** talltyler has joined #openttd
11:49:11 <talltyler> emperorjake: My mind has been changed, I like the setting ๐Ÿ™‚
11:49:12 <reldred> (but considering I normally do networking lol)
11:49:19 <talltyler> That said, maybe Limitations is a better place?
11:49:28 <talltyler> (I could be convinced otherwise ๐Ÿ™‚ )
11:49:30 <reldred> Goes it throw out limitation?
11:49:37 <emperorjake> should I make a new PR or modify the existing one?
11:49:44 <truebrain> modify
11:50:04 <truebrain> oeh, forgot lunch; needs fixing
11:50:18 <reldred> truebrain: eh, mostly came about as a requirement to run a lot of already dockerized things
11:50:36 <reldred> grafana, metabase, zabbix, some other crap I've forgotten
11:51:00 <peter1138[d]> docker... for when you want to run stuff that you have no idea how it works...
11:51:46 <emperorjake> talltyler: Limitations seems to be more related to stuff you can (or can't) build
11:51:52 <reldred> My preference is build everything by hand in LXD but in this instance everything I was deploying was already very much docker orientated.
11:55:02 <reldred> that said, on the grafana docker instances 2nd birthday it finally got moved to the production swarm cluster and it's behaving nicely. zabbix has been running for about 12mo without a hitch, metabase shit itself but that was more my fault.
11:55:28 <reldred> and the survey webapp I made seems to be behaving itself
11:57:33 <LordAro> we've been looking at moving to zabbix at work
11:57:41 <LordAro> our icinga1 instance is creaking somewhat
11:57:51 <reldred> we were on prtg before, absolute trash
11:58:06 <LordAro> (as it doesn't exist past ubuntu 18.04, and has largely been scrubbed from the internet at this point)
11:58:11 <reldred> my main requirement was that whatever we swapped to had to plug into grafana directly.
11:59:28 <reldred> since that's our main visibility platform, I've got four big tellies on the wall that cover everything from running project stats, helpdesk ticketing and trends, server monitoring, network monitoring,
12:00:09 <LordAro> nice
12:00:16 <reldred> I'd just started in dec '21 at this joint and they had the tellies but nobody had figured out how to build wallboards, by christmas I had metrics up on the board
12:00:37 <reldred> then it took the next year to slowly unfuck what having zero visibility does to a helpdesk/IT team
12:01:04 *** asymptotically2 has quit IRC (Remote host closed the connection)
12:01:12 *** asymptotically2 has joined #openttd
12:01:36 <reldred> went from customers ringing us wanting to know why we weren't fixing their shit that had been down all day (nobody noticed and nobody was looking at the tickets) to us calling customers to let them know the nature of an outage and what we were doing *before they realised shit was broken*
12:02:13 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler opened pull request #11683: Change: Reorganize Settings menu items https://github.com/OpenTTD/OpenTTD/pull/11683
12:02:19 *** _jgr_ has joined #openttd
12:02:19 <_jgr_> My main problem with docker is that dockerfiles are invariably absolute crap
12:02:39 <_jgr_> Get some random image, apt-get random stuff at uncontrolled versions, etc
12:03:44 <reldred> so yeah, we've got snmp into zabbix with a bunch of our customers having dedicated probes setup in their networks for local collection, a bunch more doing snmp directly to us, vsphere collection for a few different major deployments, and looking at expanding it to all customer servers be they windows or linux to replace kaseya vsa which we want gone by end of march
12:04:18 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #11678: Codechange: coding style fixes https://github.com/OpenTTD/OpenTTD/pull/11678#pullrequestreview-1804030974
12:04:38 <reldred> *and I only found out earlier this month that the storage/hypervisor/backups guy wasn't backing up any of my swarm cluster*
12:04:57 <reldred> I've dealt with that now though since he's in retirement mode...
12:05:05 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #11677: Doc: indicate a bit better that mass-change PRs for translations are possible https://github.com/OpenTTD/OpenTTD/pull/11677#pullrequestreview-1804032121
12:08:26 <truebrain> YouTube was like: you watch this movie in 144p!
12:08:32 <truebrain> Not a typo... 144 ...
12:08:40 <truebrain> Didn't know that resolution still existed
12:09:16 <_jgr_> Some people watch youtube as picture in picture on their phones
12:10:47 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #11676: Codechange: Build station and depot vehicle lists from shared order lists. https://github.com/OpenTTD/OpenTTD/pull/11676#pullrequestreview-1804039932
12:19:18 *** merni has joined #openttd
12:19:18 <merni> TallTylerviaGitHub: Settings GUI has "pages"? Or did you mean categories?
12:20:22 <merni> Or are the categories called pages internally for some weird reaosn?
12:22:16 <talltyler> The categories are called pages
12:22:29 <talltyler> Each collapsable section is a page
12:23:40 <talltyler> You don't even want to know what the setting names and categories are called internally, it's super inconsistent and dated ๐Ÿ˜›
12:25:45 *** xarick has joined #openttd
12:25:45 <xarick> help! How do I TICC TOCC this function? <https://github.com/OpenTTD/OpenTTD/blob/master/src/train_gui.cpp#L29>
12:27:44 <xarick> it's a weird one
12:28:08 <xarick> some variables aren't there
12:39:04 <truebrain> right, what was I going to do ... ah, right, MacOS and plugins ...
12:41:03 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #11677: Doc: indicate a bit better that mass-change PRs for translations are possible https://github.com/OpenTTD/OpenTTD/pull/11677
12:41:28 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #11680: Fix: HTTP thread exit when using libcurl https://github.com/OpenTTD/OpenTTD/pull/11680
12:43:54 <emperorjake> I'm a bit stuck, how do I remove all the changes in my PR and add new ones (change from cheat to setting)?
12:44:17 <truebrain> depends on what you have .. are your new changes in a new branch?
12:44:19 <truebrain> or a new commit?
12:44:22 <truebrain> or what are we talking about here?
12:44:26 <emperorjake> They're in a separate branch
12:44:36 <truebrain> so easiest is to just overwrite your old branch, and push that
12:44:48 <truebrain> `git branch -B <name of old branch>` from your new branch
12:45:02 <truebrain> `-b` makes a new branch, and `-B` makes a new branch overwriting if it already exists. So use `-B` with care
12:46:28 <emperorjake> Tried it, it doesn't recognise `-B`
12:46:42 <truebrain> oops, `git checkout -B <name of old branch>`
12:46:44 <truebrain> my bad
12:47:38 <emperorjake> Ah thanks
12:47:57 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake updated pull request #11682: Feature: cheat to remove loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
12:48:35 <truebrain> and ofc fix the title / motivation / description ๐Ÿ™‚
12:49:28 <truebrain> ugh, not having access to a MacOS prompt is annoying; trying to decypher if/how one could sign a dylib, but ... hard to figure out ๐Ÿ˜„
12:51:55 <truebrain> it seems it is just `codesign -s <identity> libdiscord-social.dylib` ... let's find out!
12:52:56 <emperorjake> I have to do a similar command to get MacOS from pestering me about JGRPP accessing my documents folder
12:53:48 <truebrain> sadly, it costs 100 dollar a year or so to fix that issue for JGRPP
12:56:01 <peter1138[d]> I've never had to pay $100 a year to run my own software on my own computer ๐Ÿ˜ฎ
12:56:28 <truebrain> Windows is even more expensive
12:57:53 <truebrain> guess we should release before the certificate expires, just so we can release ๐Ÿ˜„
12:58:47 <peter1138[d]> hah
12:58:58 <peter1138[d]> Don't sign it, fight the system.
12:59:09 <truebrain> yeah ... we did that before we signed
12:59:11 <truebrain> didn't end well ๐Ÿ˜›
12:59:46 <truebrain> can't we use Apple's code signing for Windows too ? ๐Ÿ˜„
13:01:22 <truebrain> emperorjake: willing to do some more MacOS testing? ๐Ÿ˜„
13:01:22 <truebrain> https://cdn.openttd.org/openttd-branches/pr11628/20231231-pr11628-gaca37abc7b/ has precompiled MacOS binary with the plugin system loaded; these binaries are signed.
13:01:22 <truebrain> Additionally, at https://github.com/TrueBrain/OpenTTD-social-discord/releases/tag/v1.4.0 I now published a MacOS plugin that is signed by the same key. Can you check if this now "just loads" or whether you still get annoying popups?
13:01:22 <truebrain> It really is a shot in the dark if this is the way to go, so be prepared for anything ๐Ÿ˜„
13:04:31 <emperorjake> I'll give it a go ๐Ÿ™‚
13:04:44 <truebrain> thanks ๐Ÿ™‚
13:11:08 *** flogeza has joined #openttd
13:11:08 <flogeza> Would it be possible to make an add-on in which, when you sell/replace locomotives/wagons, they appear in the depots under a separate used tab/window, so that other companies would be able to buy them cheaper? e.g.: I will replace 4 locomotives on 2 trains, which 4 will be available at half price to the other companies
13:11:51 <flogeza> could be a help on the jgr servers
13:13:09 <peter1138[d]> It would be possible.
13:13:17 <peter1138[d]> But I'm assuming that's not quite what you meant.
13:13:40 *** alfagamma7 has joined #openttd
13:13:40 <alfagamma7> So a wet leasing side business thing in openttd?
13:13:54 <alfagamma7> Or buying second hand rolling stock?
13:14:06 <alfagamma7> That would be a good idea yes
13:15:00 <truebrain> we have no shortage of good ideas; people to actually implement them however ......
13:15:13 <alfagamma7> True
13:15:19 <truebrain> so if you feel up for it, this is the development channel after all, give it a go!
13:15:39 <emperorjake> truebrain: Hm, doesn't seem to be working. What's that command to see if it loaded the plugin again?
13:15:47 <truebrain> `-d misc=1`
13:15:56 <truebrain> or there is a GUI now under Game Options
13:16:44 <flogeza> Yeah second hand locos basically for poorer or late joining companies
13:18:16 <alfagamma7> I think it's not a bad idea but would require some more volunteers
13:18:37 <alfagamma7> flogeza: Basically anything second hand
13:18:37 <emperorjake> I've always liked this idea too
13:18:53 <alfagamma7> buses,trucks, rolling stock, planes, ships
13:18:56 <alfagamma7> like irl
13:19:06 *** locosage has joined #openttd
13:19:06 <locosage> a bit of a problem is, second hand loco is no different from a fresh one
13:19:06 <truebrain> emperorjake: owh, I renamed the folder btw, `social_integration` it is called now
13:19:23 <flogeza> locosage: only the price
13:19:31 <alfagamma7> locosage: So that's how game logic works hmm
13:20:00 <alfagamma7> I think buying older models at a later date can pass off as second hand
13:20:13 <emperorjake> truebrain: Ohh that's why it wasn't finding it
13:20:17 <locosage> I guess it could keep the age for the station rating to make at least some disadvantage for second hand
13:20:24 <truebrain> emperorjake: yeah, sorry ... should have mentioned that ๐Ÿ˜›
13:20:35 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192457553209208922/image.png?ex=65a925a3&is=6596b0a3&hm=16e37422767a14645bc9a1c95f5fde0c308339acaa46101f2f9d895068494cd8&
13:20:35 <emperorjake> there's your answer I guess ๐Ÿ™„
13:20:44 <truebrain> meh
13:20:49 <truebrain> can you check if it is signed?
13:21:08 <alfagamma7> locosage: Also reliability
13:21:19 <truebrain> `codesign -v libdiscord-social.dylib`
13:21:43 <peter1138[d]> unowned vehicles... GS created road traffic...
13:21:50 <locosage> alfagamma7: reliability is a model thing iirc, individual reliability resets with servicing
13:22:12 <alfagamma7> Older stuff usually has poorer reliability
13:22:26 <locosage> peter1138[d]: and neutral stations
13:22:37 <alfagamma7> Also road signals
13:22:48 <alfagamma7> and sidings logic
13:23:00 <alfagamma7> good ideas, but tough to implement
13:24:57 <peter1138[d]> bad features.
13:25:07 <truebrain> emperorjake: also, in your Security & Privacy, it should tell why it was blocked. Something like `because it is not from an identified developer`
13:25:29 <alfagamma7> peter1138[d]: That depends on one's point of view
13:26:01 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192458918585176134/image.png?ex=65a926e9&is=6596b1e9&hm=07912eb56a2c544fb036432b92c21484268e78d78e8b40e5842f418dda16dedf&
13:26:01 <emperorjake> truebrain:
13:26:45 <emperorjake> truebrain: Yes, that's what it says
13:26:55 <truebrain> okay .... not sure how to read that codesign output
13:27:00 <truebrain> there is a signature in there
13:27:08 <truebrain> but .... yeah, that is about as far as I get ๐Ÿ˜›
13:27:39 <truebrain> I just don't know how this shit works ๐Ÿ˜›
13:28:29 <truebrain> emperorjake: just to confirm, `xattr -d com.apple.quarantine <dylibs>` does resolve the problem, and makes it all work?
13:29:47 <truebrain> hmm .. maybe I didn't sign all architectures .. there is this lovely `--all-architectures` ...
13:30:26 <emperorjake> truebrain: That did fix it
13:30:40 <truebrain> well, it is not really a "fix", but yeah, it tells me the signature didn't work ๐Ÿ™‚
13:33:18 <truebrain> and GitHub Cache is failing on me, so retries take 4 minutes longer than I would like .. but I am backing a new library, see if this approach works ๐Ÿ™‚
13:34:04 <truebrain> in the meantime I also managed to sign the Windows libraries \o/
13:38:59 <truebrain> emperorjake: https://github.com/TrueBrain/OpenTTD-social-discord/releases/tag/v1.4.5
13:38:59 <truebrain> How about these libraries, do they "just work"? (and if not, what does `codesign` say this time?)
13:41:38 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192462850535469067/image.png?ex=65a92a92&is=6596b592&hm=1940de1d4ad48695c06c7b1a5b1a88c4f2df452983617e86f23cc82896d848b0&
13:41:38 <emperorjake> Nope, didn't work
13:42:09 <truebrain> well ... I dunno ๐Ÿ˜›
13:42:45 <truebrain> I have no clue how to manually check why that signature isn't working ... hmm
13:43:49 <truebrain> `codesign --verify --verbose <dylib>` should simply return whether it is valid or not
13:44:27 <truebrain> the other one searching tells me: `spctl --assess --verbose <dylib>`
13:44:46 <truebrain> I only care about libdiscord-social btw; we also sign the other, but if one works, the other should too ๐Ÿ™‚
13:45:16 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192463762570084434/image.png?ex=65a92b6b&is=6596b66b&hm=9e4be2bcf4de9c1b074a44e0d5dc6a8651fa58b7bd66ad289c0d8c58403bdaef&
13:45:40 <truebrain> okay ... so the signatures are valid ... so why are you getting that popup?!
13:45:56 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192463933148233818/image.png?ex=65a92b94&is=6596b694&hm=4ac3f87bc317c216d871fdecde5100dcd5959a5bc5a33e5c9928b23877325bea&
13:45:56 <emperorjake> Interesting
13:46:10 <truebrain> you forgot the `--verbose` ๐Ÿ™‚
13:46:39 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192464113616564315/image.png?ex=65a92bbf&is=6596b6bf&hm=d052f159a4dfadd61ec31aca2e327e3f07e1c6e219624a471a4352da40b13172&
13:46:39 <emperorjake> Ah
13:46:48 <truebrain> notarize ....
13:46:56 <truebrain> but I cannot notarize a dylib, from what I understand
13:47:18 <truebrain> tnx; that at least is an error I can search for ๐Ÿ˜„
13:47:39 <peter1138[d]> That sounds like the developer ID needs to be notarised, not the dylib. Whatever that means.
13:48:12 <truebrain> it most likely means I need to make a package out of this, that you need to install
13:48:15 <truebrain> as I can notarize a package
13:48:41 <truebrain> this btw is about how the file gets on the system, and nothing else/more
13:48:46 <truebrain> which is an odd problem to solve ๐Ÿ˜›
13:50:47 <merni> what a crazy mess
13:51:13 <merni> is it possible to put openttd on mac app store? or does apple still not like gpl software
13:51:31 <merni> or does mac app store also require signing
13:52:06 <truebrain> this has nothing to do with OpenTTD. OpenTTD itself is working fine ๐Ÿ™‚
13:52:27 <merni> meh, I mean the library
13:52:41 <merni> I guess it's not an app
13:52:43 <truebrain> emperorjake: seems like I have to make a pkg where you have to drag the file to the right location, you know, those installer thingies .. I just have absolutely no clue how to go about that ๐Ÿ™‚
13:53:08 <alfagamma7> So an Appimage?
13:53:21 <emperorjake> a .dmg file?
13:53:34 <truebrain> no, a .dmg file you double click to launch
13:53:35 <emperorjake> OpenTTD already comes in one of those
13:53:36 <truebrain> I think
13:53:38 <truebrain> a .pkg ๐Ÿ˜›
13:54:15 <emperorjake> Nah, if you download a .dmg you mount it and drag the contents to the applications folder
13:54:31 <truebrain> see, this happens if you don't have access to a mac ๐Ÿ˜›
13:54:47 <truebrain> the main issue is, the folder to drag to .. from what I remember it tells you which folder you should drag it to, not?
13:55:03 <merni> Use donation funds to buy an old mac :p
13:56:23 <merni> or https://www.makeuseof.com/tag/macos-windows-10-virtual-machine/ ?
13:57:19 <truebrain> emperorjake: I can create a dmg without issues; but do you think that would be clear enough to the end-user what to do with that next? Or can we make it clear enough you think?
13:58:20 <emperorjake> Lots of dmgs have a shortcut inside them so you just have to drag it there so it gets to the right folder
13:58:37 <truebrain> but ... where do we have to point that shortcut to, is what I am wondering about ๐Ÿ˜„
13:58:52 <truebrain> or even, how to make that shortcut ๐Ÿ˜›
13:59:37 <emperorjake> presumably it could point to ~/Documents/OpenTTD/social_integration which would work in most cases
13:59:48 <truebrain> okay, that is good
13:59:53 <truebrain> now, how to make such shortcut ๐Ÿ˜„
14:00:10 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192467515092246528/image.png?ex=65a92eea&is=6596b9ea&hm=2638baf6aecd43148c164e4ed4f64ccaa19b7688ed91c93ca3f2d198f570b4a4&
14:00:10 <emperorjake> The OpenTTD dmg already has one
14:00:32 <truebrain> that is most likely `CFBundlePackageType` being of type `APPL`
14:02:05 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#pullrequestreview-1804201827
14:08:08 <truebrain> did some copy/pasting from OpenTTD .. let's see how this `dmg` looks ๐Ÿ™‚
14:08:21 <truebrain> still not notarized, but that is the next step ๐Ÿ™‚
14:10:32 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake updated pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
14:11:12 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake updated pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
14:11:22 <truebrain> maybe the bundle name `OpenTTD's Social Integration Plugin for Discord` is going to be an issue
14:11:26 <truebrain> but what to name it otherwise ... ๐Ÿ˜„
14:12:50 <talltyler> emperorjake: You'll want to `git pull` those remote changes, fix the setting name, and once it builds, squash and force-push ๐Ÿ™‚
14:13:48 <talltyler> Not sure if you've squashed before, but you can do an interactive rebase with `git rebase -i head~5` (where 5 is the number of commits to look back), and then change `pick` to `fixup` on any of the commits you want to squash into the commit above
14:14:14 <talltyler> `fixup` is like `squash` but without making you edit the commit name each time
14:16:17 <xarick> loading speed penalty?
14:16:34 <xarick> isn't there a setting for that already?
14:17:12 <emperorjake> No, that's why I added one ๐Ÿ˜‰
14:17:48 <xarick> I remember the old loading behaviour, it would insta 100% load, no gradual loading
14:18:34 <xarick> let me find the name
14:18:58 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192472246120349706/image.png?ex=65a93352&is=6596be52&hm=f2ca950b81c24ac037deb39ba3105cc746e0a63b5135b188b0b1989dd496bedc&
14:19:07 <talltyler> Not the same thing
14:19:35 <emperorjake> That isn't even in the GUI anymore, no reason to ever turn it off
14:21:00 <truebrain> I do not understand how the CMake of OpenTTD works with MacOS ๐Ÿ˜›
14:21:03 <peter1138[d]> Allegedly.
14:21:06 <truebrain> it references a folder I don't see where it should exist
14:21:17 <peter1138[d]> cmake pack?
14:21:20 <truebrain> yeah
14:21:23 <truebrain> it is like magic
14:21:44 <truebrain> `fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/../MacOS/openttd\" \"\" \"\")`
14:22:07 <peter1138[d]> Maybe it exists in the bundle that's being made.
14:22:13 <peter1138[d]> I dunno.
14:22:25 <truebrain> so I did a `find` after the install
14:22:30 <truebrain> and I don't see this `MacOS` folder ๐Ÿ˜›
14:22:55 <truebrain> oowhhh, called `dSYM`
14:22:57 <truebrain> as ... logic?
14:23:18 <truebrain> owh, no
14:23:21 <truebrain> that is from my symbol extractor
14:23:43 <peter1138[d]> `"path": "OpenTTD.app/Contents/MacOS/openttd"` < related?
14:24:12 <truebrain> yes
14:24:32 <peter1138[d]> I only understand `!OpenTTD` ๐Ÿ™‚
14:24:44 <truebrain> okay, so MacOS is the folder for the application binary
14:24:50 <truebrain> as I have libraries, it is in `Resources`
14:24:53 <truebrain> I am fine with that ..
14:24:55 <peter1138[d]> Archimedes / RISC OS applications ;D
14:25:08 <truebrain> still not really sure how this is going to work out, but let's make a dmg, and go from there ๐Ÿ™‚
14:26:17 <peter1138[d]> If you had a Mac it would be easier to test.
14:26:29 <truebrain> 100%
14:27:29 <truebrain> okay, I think I have most .. now for the Applications shortcut
14:27:32 <truebrain> it seems CMake creates that
14:32:32 <truebrain> seems rather hardcoded
14:32:46 <truebrain> emperorjake: how does a .zip work versus a .dmg?
14:33:27 <emperorjake> Not sure, except that zips get extracted and dmgs get mounted
14:37:06 <xarick> wow, just wow... windows explorer doesn't let me click on folders
14:37:11 <xarick> good job microsoft
14:37:41 <truebrain> okay ... another attempt. Notarizing is enabled .. let's see ..
14:38:28 <xarick> it fixed by itself by reopening windows explorer
14:38:41 <xarick> file explorer*
14:40:46 <truebrain> https://github.com/Kitware/CMake/blob/31dead97edb03d568c2e66d88422fa3a7806a253/Packaging/CMakeDMGSetup.scpt#L33
14:40:46 <truebrain> I think this is where it does the Applications symlink
14:42:43 <truebrain> and https://github.com/Kitware/CMake/blob/31dead97edb03d568c2e66d88422fa3a7806a253/Source/CPack/cmCPackDragNDropGenerator.cxx#L326
14:42:45 <truebrain> very hardcoded
14:42:46 <truebrain> very sad
14:44:45 <truebrain> pretty sure I can make my own link, but it won't be moved to a nice position .. hmm
14:45:43 <truebrain> lolz, there is just a "sleep 5" in that first script .. lol
14:54:03 <peter1138[d]> Does rdtsc give anything useful these days? Seems very variable...
14:54:05 *** nielsm has joined #openttd
14:54:31 <peter1138[d]> i.e. I'd expect the same number of instructions when its doing the same thing...
14:54:58 <peter1138[d]> (I know, very naรฏve)
14:55:03 <truebrain> rdtsc only does time, not instructions
14:55:09 <truebrain> there are opcodes to count instructions these days
14:56:07 <peter1138[d]> processor timestamp. doh.
14:56:17 <xarick> holey moley
14:56:23 <xarick> it's fast!
14:56:38 <truebrain> the savegame CPU used analysis btw uses instructions, not time
14:56:43 <truebrain> to remove any of the variability that comes with time
14:56:57 <truebrain> works relatively well, except that instructions also kinda depend on some internal CPU thingies ๐Ÿ™‚
14:57:03 <truebrain> (caches, branch-prediction, etc etc)
14:57:08 <peter1138[d]> *nod*
14:59:25 <peter1138[d]> Is that a function of time?
14:59:32 <peter1138[d]> (i.e. not built in to OpenTTD)
14:59:44 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192482505673154691/image.png?ex=65a93ce0&is=6596c7e0&hm=179a2e4247281faa96f463fdf4c1a72154231b84ee5b7915530685c0e6c51e32&
15:01:12 <truebrain> peter1138[d]: is what a function of time? *puzzled*
15:01:29 <peter1138[d]> That counts the instructions.
15:01:36 <peter1138[d]> `/usr/bin/time -o memory -f "%M" perf stat -x\; -o cpu.csv -r5 ./openttd -X -c config/openttd.cfg -x -snull -mnull -vnull:ticks=${ticks} -g ${map}`
15:01:44 <truebrain> yeah, I use `perf` for that
15:02:00 <peter1138[d]> Oh! time is calling perf is calling OpenTTD.
15:02:06 <truebrain> yes ๐Ÿ™‚
15:02:13 <truebrain> and it is GNUTime, it is just to capture max-RSS
15:02:23 <truebrain> so not "time"
15:02:35 <truebrain> I don't track actual time spend on the simulation
15:02:46 <truebrain> actual -> wallclock
15:02:47 <truebrain> ๐Ÿ™‚
15:02:58 <truebrain> okay ... notarizing fails, "Record not found"
15:03:17 <truebrain> and as logging in to the Apple account is linked to orudge's 2FA .... time for an email!
15:04:23 <peter1138[d]> Oh dear.
15:05:51 <truebrain> owh, also via email
15:05:52 <truebrain> let's try
15:06:30 <truebrain> haha, now he has a 2FA code via SMS ๐Ÿ˜›
15:09:00 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake updated pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
15:11:04 <truebrain> I am trying to discover if I can inject something somewhere to execute my own commands before the dmg is built, but that is tricky
15:14:40 <truebrain> emperorjake: not notarized, so you run into the same issue, but I uploaded a dmg here: https://github.com/TrueBrain/OpenTTD-social-discord/releases/tag/v1.4.13
15:15:14 <truebrain> if we ignore that the shortcut is to Applications, if you would move the libdiscord-social.app into the `social_integration` folder, does it then work?
15:16:51 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake updated pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
15:17:29 <emperorjake> talltyler: Thanks, I think I did that right ๐Ÿ˜…
15:22:53 <talltyler> Looks good to me!
15:22:58 <peter1138[d]> Me: Doesn't remember doing much over the past 2.5 weeks (it's christmas)
15:23:27 <peter1138[d]> Also me: Prepares release change log with bullet-list of 20 items (some multiple merges)
15:23:58 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #11678: Codechange: coding style fixes https://github.com/OpenTTD/OpenTTD/pull/11678
15:24:06 <emperorjake> truebrain: I can't get it to run at all, can't even verify it manually
15:24:32 <talltyler> Can I give you my project manager hat now? Or is it a Real Job release changelog?
15:24:35 <truebrain> no, it wouldn't verify; but if you drag&drop the folder from the DMG to the `social_integration`, does OpenTTD at least see the dylib? (with `-d misc=1`)
15:24:44 <peter1138[d]> Real Job, sorry!
15:25:15 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#pullrequestreview-1804400622
15:26:08 <truebrain> hmm ... we can't make a shortcut in the dmg, as `~` isn't valid, and it resolves it .. which makes that kinda pointless ๐Ÿ˜„
15:26:09 <emperorjake> truebrain: Yes, it does show up there and in the options menu
15:26:20 <truebrain> okay, good; I am guessing with a very long path?
15:26:34 <truebrain> `OpenTTD-discord-social.app/Contents/Resources/libdiscord-social.dylib` or something?
15:26:58 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192489356938727524/image.png?ex=65a94342&is=6596ce42&hm=45cda4f43d8a3b5901da9821162ab77761dd84a3e08b583e24fb748813764b97&
15:27:32 <truebrain> yeah, okay, fine; I take that
15:27:40 <truebrain> now if we can notarize it, it might, just might, work
15:27:46 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11681: Allow STRING/STRINGN parameter subspans to read all remaining available parameters in GS mode https://github.com/OpenTTD/OpenTTD/pull/11681#pullrequestreview-1804405425
15:27:48 <truebrain> tnx for the testing etc ๐Ÿ™‚
15:28:01 <emperorjake> No problem ๐Ÿ‘
15:28:45 <talltyler> emperorjake: This would be a separate PR, but are you up for changing the stop location when the train doesnโ€™t fit in the station? (As has been discussed in your linked Discord discussion and the JGRPP issue)
15:30:00 <emperorjake> I'll take a look at it, seems a bit more complex though ๐Ÿ™‚
15:30:35 <talltyler> Oh definitely, but youโ€™re a pro now ๐Ÿ˜„
15:31:02 <Rubidium> sorry talltyler...
15:31:11 <talltyler> (It seems to be in train_cmd.cpp)
15:32:22 <talltyler> Rubidium: What for? ๐Ÿ™‚
15:32:31 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#issuecomment-1877294479
15:32:51 <talltyler> Oh, there it is ๐Ÿ™‚
15:33:45 <_jgr_> talltyler: That is a more complicated change, because you'll need to adjust load/unload/etc code as well.
15:33:48 <truebrain> emperorjake: `Drag "OpenTTD-discord-social.app" into "social_integration" folder under OpenTTD in your Documents folder.` is that an accurate description?
15:34:51 <_jgr_> The current code gets the station from the tile of the front vehicle
15:37:31 <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#issuecomment-1877304526
15:43:10 <xarick> wow, I got some measurable gains in performance in a place I didn't expect much
15:43:22 <xarick> FreeUnitIDGenerator
15:45:16 <xarick> makes me wonder if it's working correctly
15:45:55 <talltyler> Ha, thanks JGR, thought I was going crazy ๐Ÿ™‚
15:45:55 <DorpsGek> [OpenTTD/OpenTTD] EmperorJake commented on pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682#issuecomment-1877318898
15:47:20 <emperorjake> well now I have a savegame that can never be opened again because I overwrote the original cheat version of the PR ๐Ÿ˜…
15:47:41 <truebrain> doh
15:47:48 <truebrain> if you really really want to open that savegame, there are ways
15:48:00 <LordAro> dark magic
15:48:06 <emperorjake> It's ok, it was just a test map
15:49:29 <xarick> <https://github.com/SamuXarick/OpenTTD/commit/e9f286f1a58aae486f58d62f90486333ebe2ac75> seems correct
15:49:44 <truebrain> emperorjake: one last time today ... https://github.com/TrueBrain/OpenTTD-social-discord/releases/tag/v1.4.16 .. does that correctly show an `Install.txt` when you open the dmg?
15:50:29 <emperorjake> Yep ๐Ÿ™‚
15:50:36 <truebrain> instructions also clear and correct?
15:51:02 <emperorjake> I found it perfectly understandable
15:51:07 <truebrain> awesome; tnx!
15:51:15 <truebrain> 3 hours of work .. and what do we got? Not much more ๐Ÿ˜›
15:51:27 <truebrain> next week orudge and I will pick up notarizing .. and then it should "just work" ๐Ÿ™‚
15:52:27 <_jgr_> talltyler: There are also likely to be some issues with order management, pathfinding and such. You will need some extra states.
15:52:51 <talltyler> If you happen to make such a change to benefit your players, Iโ€™d be happy to review it for vanilla ๐Ÿ™‚
15:53:05 <emperorjake> I figured there would be things like that
15:53:21 <talltyler> (Iโ€™m also happy to work with Jake, of course)
15:53:42 <talltyler> But it might be a bit much for either of us
15:53:43 <emperorjake> https://cdn.discordapp.com/attachments/1008473233844097104/1192496090537283654/image.png?ex=65a94987&is=6596d487&hm=bc71d35beeb7c4184ddaabe2e215a1ef68117bfcef7a569202d32bd10d2583e9&
15:53:43 <emperorjake> In the meantime, here's a use case for my PR, now to do a bridge that looks like a station ๐Ÿ˜‰
15:54:22 <talltyler> I guess with the current stop locations, just put the left-hand platform on the far side of the bridge
15:54:47 <emperorjake> Yes, that's why I used DPRK stations because it has waypoints for the near end
15:54:50 <talltyler> And use a waypoint for the fake platform on the near side
15:54:57 <talltyler> Exactly
15:55:29 <talltyler> Oh right, are the bottom tracks real stations?
15:55:36 <merni> Why can't you use platforms for both ends? Do trains stop at the first set of platforms instead of going all the way?
15:55:40 <talltyler> We donโ€™t have bridges over stations in vanilla ๐Ÿ˜ฆ
15:55:49 <talltyler> merni: Correct
15:56:08 <emperorjake> talltyler: Yes, but it could be faked in a similar way with the overlap tiles
15:56:29 <merni> ah. I used that behaviour once to hold two trains in a "single" (split) platform but I thought it only did that with "near end"
15:57:37 <_jgr_> For the case of platform parts split by a bridge you could probably automatically skip the near part
15:57:53 <talltyler> Or a tunnel
15:57:54 <emperorjake> The proposed behaviour would make this possible (I spoofed this with JGRPP through load) https://discord.com/channels/142724111502802944/919788785217179738/1077570387036094556
15:59:15 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #11682: Feature: Setting to disable loading speed penalty for trains at short platforms https://github.com/OpenTTD/OpenTTD/pull/11682
15:59:27 <emperorjake> also quast65 will be very happy
15:59:28 <talltyler> _jgr_: Hmm, that is intriguing. Just check if the next tile is a tunnel/bridge head, get the other end tile, and check if the next tile is also a stationโ€ฆ
15:59:49 <talltyler> Congrats emperorjake on your first PR merged! ๐Ÿ˜„
15:59:58 <emperorjake> Merged already! That was fast ๐Ÿคฉ
16:00:14 <talltyler> reldred: can shut up now ๐Ÿ˜› ๐Ÿ˜›
16:03:26 <emperorjake> Fake diagonal platforms could be done too
16:04:07 <emperorjake> anyway, time for sleeo ๐Ÿ™‚
16:04:23 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192498771288936569/image.png?ex=65a94c06&is=6596d706&hm=908cc7b6c1f89720fdff90276286611aa86a3d2f47c9e050a1e937c874f47058&
16:04:23 <xarick> wow, finally measurable gains
16:07:16 <xarick> FreeUnitIDGenerator contributed the most for the mass built 70000
16:10:56 <xarick> what's contributing for Deleting 35000 groups?
16:15:40 <xarick> at the microscope, there is a regression for the one about "Created 35000 groups..."
16:15:50 <xarick> minor, but it's there
16:16:20 <xarick> 3 seconds > 3 seconds, test is too short to make a difference, or just too fast
16:21:05 <xarick> "Deleted 35000 groups..." - CmdRemoveAllVehiclesGroup contributes to the massive gain
16:21:10 <xarick> buty
16:21:29 <xarick> GroupStatistics::CountVehicle regresses, expected
16:21:45 <xarick> it's doing the add/remove from the vector
16:21:51 <xarick> which the original didn't have
16:22:19 <xarick> I'm happy
16:24:04 <xarick> the "Mass sold 70000" is also a regression, it's GroupStatistics::CountVehicle all over it
16:24:16 *** Wormnest has joined #openttd
16:24:19 <xarick> but insufficient to make a measurable dent
16:30:24 <xarick> you merged a .DS_Store file by mistake
16:31:04 <xarick> <https://github.com/OpenTTD/OpenTTD/commit/6522351a1f66d45eea213560b820d7ad09538d45>
16:31:43 *** gelignite has joined #openttd
16:32:03 <xarick> https://github.com/OpenTTD/OpenTTD/blob/master/.DS_Store
16:33:52 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler opened pull request #11684: Cleanup: Remove DS_Store added in #11682 https://github.com/OpenTTD/OpenTTD/pull/11684
16:33:57 <talltyler> Oops
16:34:39 <talltyler> `Binary file not shown` makes it hard to see when reviewing, we all missed it ๐Ÿ˜„
16:34:56 <LordAro> D:
16:37:58 <_jgr_> That seems like something that should be covered by a .gitignore
16:38:07 <peter1138[d]> That's client-side.
16:41:02 <LordAro> all very well saying that, but it got in
16:41:37 <LordAro> dunno if we can ban files from being pushed entirely?
16:41:38 <LordAro> gitlab can
16:42:19 <peter1138[d]> commit checker can catch it of course.
16:42:32 <LordAro> it could
16:43:44 <Rubidium> if it's in .gitignore at least the `git add` command will reject unless you do `git add -f`
16:44:25 <LordAro> we've always said OS/editor specific stuff should be in a global ignore
16:46:14 <Rubidium> why's .vs in there then?
16:47:18 <LordAro> generated by VS during build?
16:47:30 <LordAro> not strictly an editor thing
16:47:38 <LordAro> i dunno though
16:48:40 <_jgr_> I suppose there are a lot more developers using visual studio and MSVC than using macs
16:53:44 <truebrain> And let's not make checks etc for something that happened now once since ... years? Decades? ๐Ÿ˜„
16:54:09 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #11684: Cleanup: Remove DS_Store added in #11682 https://github.com/OpenTTD/OpenTTD/pull/11684#pullrequestreview-1804608609
16:58:08 <LordAro> truebrain: that's not a sufficient amount of panicking
16:58:29 <truebrain> Yeah, sorry, my fault
17:00:57 <truebrain> I once started a job where a deployment was 20 pages long procedure, because it contained a check for everything that once went wrong ... Needless to say a deployment took days to perform .. I threw away that book and went about it a bit more ... pragmatic ๐Ÿ˜› we went from 1 deployment a month tops to a new deployment every day
17:02:20 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler merged pull request #11684: Cleanup: Remove DS_Store added in #11682 https://github.com/OpenTTD/OpenTTD/pull/11684
17:05:21 <LordAro> truebrain: nice
17:05:26 <Rubidium> can't find any reference when quickly scanning the logs (cleanup or remove), though I stopped around r15k
17:05:43 <truebrain> Lol
17:05:54 <peter1138[d]> Deployment issues become rarer automation.
17:06:19 <peter1138[d]> When I was manually copying files and sudoing to restart... urgh :p
17:06:19 <truebrain> And when deployments are done more often, it is just another deployment
17:06:19 <LordAro> we're continuously fighting the QA team about things that they manually check that are already automated
17:06:33 <peter1138[d]> Yeah, much less scary with smaller changes.
17:06:44 <LordAro> "you do not need to check this, if it was an issue the deployment would've failed and you never would've got here"
17:07:03 <truebrain> Trust is hard to get and easy to lose
17:07:13 <LordAro> indeed
17:11:57 *** gelignite has quit IRC (Quit: Stay safe!)
17:13:01 <xarick> I wish AIs could multithread
17:13:21 <xarick> each AI run in its thread or something
17:13:44 <xarick> wouldn't solve much in the long run ๐Ÿ˜
17:16:47 <Rubidium> I wish game ticks could multithread
17:17:17 <xarick> predict the future tick?
17:17:47 <peter1138[d]> Maybe groups could cache game ticks
17:18:35 <Rubidium> xarick: no, running all the tick different loops in parallel (growing towns, moving vehicle, etc.)
17:18:37 <truebrain> Plan / act system would be helpful ๐Ÿ™‚
17:18:44 <peter1138[d]> I found a way to improve timing. Remove TIC[C]/TOC[C]. All code now takes no time.
17:19:07 <xarick> 2 game states running in the background, one represents what the user sees if he did no action, the other plays the future?
17:19:15 <truebrain> Someone started on that with Vehicles, but we start a lot of things ๐Ÿ˜„
17:19:22 <locosage> peter1138[d]: that's what I did in cmclient ;p
17:20:13 <xarick> and the future could be multi-threaded, meh
17:20:22 <xarick> probably not
17:20:40 <LordAro> xarick: https://en.wikipedia.org/wiki/Branch_predictor
17:20:56 <_jgr_> Multi-threading is quite difficult as there's so much global state and so many invariants to maintain
17:22:01 <truebrain> AIs are suspended when they try to mutate the state. So I guess in theory they can run in parallel, just when they execute the action might fail when they didn't expect it
17:22:34 <truebrain> But doing that now most likely kills all current AIs ๐Ÿ˜›
17:23:03 <peter1138[d]> Can't that happen anyway if they are suspended between making decisions and then acting upon them?
17:23:19 <truebrain> Most don't take that into account either
17:23:28 <truebrain> But yeah, fair point
17:24:16 <peter1138[d]> But who cares enough about AI to care about AI performance...
17:24:31 <truebrain> So far the counter reads 1
17:25:43 <xarick> what about andythenorth
17:26:08 <truebrain> Hmm .. many surveys results .. now to think how to process them ๐Ÿ˜„
17:26:37 <peter1138[d]> Put them in the bin, we don't care what players want!
17:26:38 <truebrain> So many possibilities ๐Ÿ˜„
17:27:32 <truebrain> I wonder what the costs would be to put them in a database and allow queries by anyone ๐Ÿ˜›
17:28:03 <Rubidium> well, I guess the first question would be... what's the median number of (active) AIs
17:28:10 <truebrain> Haha
17:28:17 <merni> lol
17:28:36 <merni> Also, how many people have enabled block signals :p
17:28:45 <peter1138[d]> 1
17:29:02 <truebrain> Just don't
17:29:02 <merni> peter1138[d]: I was thinking 0 myself
17:29:06 <peter1138[d]> But they don't use them, they just enable them on principle.
17:29:16 <truebrain> Lol
17:29:26 <xarick> the future is AI
17:29:43 <truebrain> Don't think we track what kind of signals are build
17:29:49 <merni> But openttd has only NoAI and hence is not future
17:29:51 <xarick> or AI is the future, whatever... I am hoping for an influx of AI authors
17:29:51 <truebrain> Might be worth adding ๐Ÿ˜›
17:29:59 <xarick> due to the AI craze going on now
17:30:02 <merni> truebrain: But the setting to display block signals or not should be tracked right?
17:30:10 <truebrain> Yes
17:30:18 <merni> xarick: generative AI is in no way applicable to OpenTTD
17:30:33 <merni> and personally I think AI is a misnomer for generative AI
17:30:39 <_jgr_> xarick: There recent AI hype hasn't made the OpenTTD AIs any better
17:30:52 <truebrain> Comparing LLMs with OpenTTD AI is not a good comparison ..
17:32:09 <xarick> someone will make an AI generate AIs for OpenTTD
17:32:45 <FLHerne> merni: that's probably an overstatement
17:33:16 <merni> ๐Ÿคท
17:33:31 <merni> maybe it's applicable in writing grf docs? :p
17:34:21 <truebrain> Would a vector database be a good storage solution.. hmm
17:34:23 <FLHerne> it's not directly applicable to OpenTTD AIs, but I can imagine it being made to, say, downscale Blender renders into pixel art better than current algorithms
17:34:30 <locosage> merni: that's my whole plan for grf-py docs xD
17:34:32 <FLHerne> (currently automating it just looks bad)
17:34:42 <xarick> strange, AAAHogEx got a cpu valuator crash, that didn't use to happen
17:34:48 <locosage> coz if chatgpt ain gonna write them no one will I suspect xD
17:35:07 <FLHerne> or generate plausible alternate views of buildings so we can finally have map rotation :p
17:41:48 <peter1138[d]> Make each tile run on its own thread.
17:42:08 <peter1138[d]> Massively Multithreaded Multiplayer Online Game
17:43:07 <xarick> OpenMTTD
17:44:11 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11681: Allow STRING/STRINGN parameter subspans to read all remaining available parameters in GS mode https://github.com/OpenTTD/OpenTTD/pull/11681#issuecomment-1877513287
17:45:07 <peter1138[d]> Github why defer loading approved status ๐Ÿ˜ฎ
17:45:37 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11681: Allow STRING/STRINGN parameter subspans to read all remaining available parameters in GS mode https://github.com/OpenTTD/OpenTTD/pull/11681
17:48:29 *** jlx__ has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
17:48:31 <peter1138[d]> I guess there's no need to exclude game_script from the debug message of #11673 now.
17:49:37 *** jlx__ has joined #openttd
17:53:36 <xarick> I'm listening to melancholic music
17:54:20 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192526445029888010/image.png?ex=65a965cc&is=6596f0cc&hm=5f1ce3e223616749ae9a9d11eff135522e1697a4030af9581355a8d3ad265c20&
17:54:50 <merni> I am getting a lot of lang errors like ```
17:54:50 <merni> /home/user/ttd/OpenTTD/src/lang/gaelic.txt:4288: info: String name 'STR_TIMETABLE_DAYS' does not exist in master file
17:54:50 <merni> /home/user/ttd/OpenTTD/src/lang/gaelic.txt:4289: info: String name 'STR_TIMETABLE_TICKS' does not exist in master file
17:54:50 <merni> /home/user/ttd/OpenTTD/src/lang/gaelic.txt:4298: info: String name 'STR_TIMETABLE_STATUS_START_AT' does not exist in master file
17:54:50 <merni> /home/user/ttd/OpenTTD/src/lang/gaelic.txt:4300: info: String name 'STR_TIMETABLE_STARTING_DATE' does not exist in master file
17:54:52 <merni> /home/user/ttd/OpenTTD/src/lang/gaelic.txt:4301: info: String name 'STR_TIMETABLE_STARTING_DATE_TOOLTIP' does not exist in master file ```
17:54:52 <merni> (repeated for each language) while building master. Is this to be expected?
17:55:09 <LordAro> for another hour or so, yes
17:55:17 <merni> Also a lot of ```
17:55:17 <merni> libpng warning: iCCP: cHRM chunk does not match sRGB
17:55:17 <merni> libpng warning: iCCP: known incorrect sRGB profile```
17:55:20 <LordAro> eints will clean up shortly
17:55:38 <merni> what happened to eints?
17:57:10 <peter1138[d]> Are you on current master? STR_TIMETABLE_DAYS doesn't exist anymore.
17:57:25 <merni> I did `git pull` about half an hour ago, so I hope so
17:58:21 <xarick> 2TallTyler is very optimistic
17:58:33 <xarick> everything seems set to release for 14.0
17:59:24 <peter1138[d]> merni: what does `git status` say?
17:59:45 *** andythenorth has joined #openttd
17:59:45 <andythenorth> wow you lot were busy
17:59:55 <andythenorth> I only stepped away to do my actual job for the day, so much chat
18:00:25 <peter1138[d]> Those strings were removed on 11th Dec.
18:00:34 <peter1138[d]> So I think LordAro was on automatic mode :p
18:00:50 <merni> peter1138[d]: ```
18:00:50 <merni> On branch master
18:00:50 <merni> Your branch is up to date with 'origin/master'.
18:00:50 <merni> And some things about "changes not staged for commit" relating to things I'm working on
18:01:12 <merni> Oh do I need to update my fork in GitHub as well
18:01:26 <peter1138[d]> If your origin is your fork, yes.
18:01:32 <merni> I'd guess it is
18:01:58 <peter1138[d]> You can add the main repo as another remote, though.,
18:02:19 <peter1138[d]> I have `upstream https://github.com/OpenTTD/OpenTTD.git`
18:03:15 <merni> Yep, updating my fork in github appears to have fixed the lang warnings
18:03:26 <merni> The libpng ones are still there
18:03:32 <peter1138[d]> Nearly a month out of date, not surprising.
18:03:43 <peter1138[d]> The png one is nothing to worry about.
18:05:25 <merni> peter1138[d]: I'm surprised it wasn't more considering how rarely I do work on openttd code lol
18:09:18 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673
18:23:25 <merni> why is build while paused off by default?
18:25:59 <truebrain> putting us in the defence, huh? ๐Ÿ˜›
18:26:14 <truebrain> might be better to argument why it should be on by default ๐Ÿ˜‰
18:26:27 *** wensimehrp has joined #openttd
18:26:27 <wensimehrp> https://cdn.discordapp.com/attachments/1008473233844097104/1192534524245053461/image.png?ex=65a96d52&is=6596f852&hm=5cd137ff08bb93814816e8b7f44babae0130e8194f7c53b382d20daded7809c9&
18:26:27 <wensimehrp> I have a question about this string
18:27:03 <wensimehrp> Does the "monopoly" in the base means economical monopoly, or just monopoly, like the board game?
18:28:15 <wensimehrp> the zh_tw translation means "Transport Tycoon", and zh_cn means "monopoly on transport"
18:28:32 <merni> truebrain: Because in single player there is no real reason to restrict yourself from building while paused (allows you to plan things better), and in multiplayer the setting can be set accordingly by the server owner
18:28:33 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on pull request #11676: Codechange: Build station and depot vehicle lists from shared order lists. https://github.com/OpenTTD/OpenTTD/pull/11676#pullrequestreview-1804756025
18:28:50 <wensimehrp> wensimehrp: STR_NEWS_EXCLUSIVE_RIGHTS_TITLE
18:28:54 <truebrain> merni: no mention of why the default should be one or the other ๐Ÿ˜‰
18:29:07 <truebrain> but in general, the defaults are to give a game; if you want to make it a sandbox, you have to flip some switches
18:29:38 <merni> Does this really matter in making it a "game", though?
18:29:52 <truebrain> again, defence question ๐Ÿ™‚
18:30:02 <merni> is it less of a game without building while paused?
18:30:11 <truebrain> if you continue that questioning, you end up with: why are we?
18:30:15 <Rubidium> wensimehrp: it's the title for "Local authority of {TOWN} signs contract with {STRING} for one year of exclusive transport rights!" So effectively the company has an economical monopoly on the town
18:30:16 <truebrain> what is the meaning of life? ๐Ÿ™‚
18:30:34 <LordAro> peter1138[d]: probably
18:30:52 <wensimehrp> Rubidium: so it's the zh_tw string that is wrong am I correct?
18:30:57 <locosage> merni: playing with pause certainly makes it a different game
18:31:01 <locosage> much worse one if you ask me :p
18:31:28 <_jgr_> If you're doing multiplayer for citymania, presumably the game is never paused anyway?
18:31:32 <Rubidium> wensimehrp: as in, only the mentioned company is allowed to pick up passengers/cargo. So yes, the zh_tw version seems wrong
18:32:38 <merni> truebrain: That is something I do ask myself once in a while so makes sense :P
18:32:59 <merni> When it happens I just go forget about it and have a beer/chocolate/whatever
18:32:59 <locosage> _jgr_: well, ofc, playing any type of a goal game with pausing is just ridiculous imo
18:33:05 <locosage> for sandbox it's ofc not an issue
18:33:44 <truebrain> merni: basically, such settings are just "preference", and what type of game you enjoy
18:33:51 <truebrain> what ever default you pick, there will be people against
18:34:00 <merni> Right
18:34:16 <andythenorth> truebrain: the correct question is "what is clocks?"
18:34:19 <merni> only reason I asked is because I was surprised when playing on a new install in WSL
18:34:34 <truebrain> If you are used to playing in a certain way, there will be many surprises
18:34:41 <truebrain> some people cannot believe cargodist is not enabled by default
18:34:48 <truebrain> another one of those settings ๐Ÿ™‚
18:34:54 <merni> openttd on WSL is also slow as molasses for me so getting to the right setting and changing it was a bit of a pain :p
18:35:00 <Rubidium> yeah, we should introduce "career mode" and "sandbox" in which the only difference are some settings like build while paused, magic bulldozer, and so on :D
18:35:10 <merni> "sandbox" should delete money
18:35:18 <FLHerne> then remove all the individual settings
18:35:18 <truebrain> Rubidium: you joke, but I did consider adding a mode like that, yes ๐Ÿ™‚
18:35:21 <merni> or at least allow you to get into infinite debt
18:35:25 <_jgr_> Rubidium: Now you have 2x as many arguments about settings ๐Ÿ˜›
18:35:27 <FLHerne> everyone can stop worrying about them
18:35:28 <truebrain> but I found out that a generic "preset" system would be better ๐Ÿ™‚
18:35:46 <truebrain> which I still haven't found time to actually build ๐Ÿ˜ฆ
18:35:50 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11676: Codechange: Build station and depot vehicle lists from shared order lists. https://github.com/OpenTTD/OpenTTD/pull/11676#pullrequestreview-1804765862
18:35:50 <Rubidium> _jgr_: it would be nice if they build me a bike shed :)
18:35:52 <andythenorth> https://youtu.be/NvpbW7JRu0Q?si=mTZ3tq3Ey9plLGfG&t=27
18:36:13 <truebrain> merni: anyway, with 14.0 comes a survey system, which will put to rest a lot of these "what should be the default" conversations
18:36:29 <andythenorth> yes, we can answer them with "sorry we need to gather more data" ๐Ÿ˜„
18:36:31 <merni> yay
18:36:32 *** virtualrandomnumber has joined #openttd
18:36:49 *** gelignite has joined #openttd
18:38:53 <locosage> truebrain: yes, we'll be able to smoothly transition to conversations on how to interpret that data ๐Ÿ˜œ
18:39:55 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/c44faf4eea7d18a50ba84890b7ca818c70e7d11a
18:39:56 <DorpsGek> - Update: Translations from eints (by translators)
18:40:36 *** _glx_ has joined #openttd
18:40:36 <_glx_> merni: those are because you have grfcodec
18:41:57 <xarick> automated crash report upload
18:42:24 <locosage> andythenorth: I just listened the first phase and it's wrong :p
18:42:58 <andythenorth> what is clocks?
18:43:23 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1804777969
18:45:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1804781858
18:45:52 <peter1138[d]> andythenorth: A Coldplay song.
18:46:30 <andythenorth> must be time to grf now?
18:47:29 <talltyler> TGV?
18:48:23 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1804786733
18:53:33 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192541346418933811/image.png?ex=65a973ad&is=6596fead&hm=544d6b0fc247ce5f61746a9bd22bcf762b1fb3532f933b3fcdacfcb9633e8fca&
18:53:59 <xarick> master vs pr 11676 vs group vehicle list
18:57:38 <xarick> I almost didn't remember I had setup the coronas to use shared orders
19:00:23 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192543067052441721/image.png?ex=65a97547&is=65970047&hm=7eb38853b15ee168f3478bb001f5291542cc5863ec407f797d165656ea0b343a&
19:00:23 <xarick> at the critical phase:
19:00:32 <xarick> there's improvements, I'm happy
19:03:45 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1804807513
19:05:04 *** virtualrandomnumber has quit IRC (Quit: virtualrandomnumber)
19:07:33 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673
19:08:06 *** virtualrandomnumber has joined #openttd
19:08:42 <peter1138[d]> xarick: yes, it's not a performance as your way, but it also doesn't need to maintain an extra cache.
19:11:03 *** Wolf01 has joined #openttd
19:16:36 <peter1138[d]> lol i inverted the nullptr check ๐Ÿ˜„
19:17:56 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673
19:26:10 <truebrain> always going against the current ๐Ÿ˜›
19:30:15 *** virtualrandomnumber has quit IRC (Quit: virtualrandomnumber)
19:30:18 <peter1138[d]> Always
19:30:22 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1804844587
19:34:49 <peter1138[d]> Okay what do we do about the things that everyone is requesting that we keep ignoring?
19:36:50 <peter1138[d]> (I'm aware that everyone is not actually requesting things, because they prefer to make comments that everyone knows about the request which was never made)
19:37:13 <truebrain> realise you can't make a game for -everyone- ๐Ÿ™‚
19:38:39 <xarick> i had a weird idea
19:39:19 <xarick> take the main VehiclePool, and segment it somehow
19:40:10 <xarick> preserve x amount of vehicles for indexes a to b for company 1 with veh type T
19:40:38 <xarick> have the ::Iterate stuff work by starting from the index reserved for a company
19:40:47 <xarick> and end at the last index reserved
19:41:02 <xarick> do that for every company and veh type
19:41:12 <_jgr_> What happens when one company buys out another?
19:41:28 <xarick> I see, that complicates things
19:41:48 <xarick> there would have to be a restructure of indexes
19:41:55 <xarick> and it may not fit ๐Ÿ˜ฆ
19:44:11 <peter1138[d]> You are right. It's definitely a weird idea.
19:44:59 <xarick> i thought, if the issue is because iterating a big pool takes time, what would it be like if it was arranged
19:46:10 <truebrain> you look at the problem too narrow; in general terms, iterating the big pool is ideal
19:46:19 <truebrain> as we are often iterating the whole pool
19:47:32 <xarick> you could do that too, the idea was to have multiple defined begin() / ends
19:48:09 <xarick> but every vehicle would still be in the same pool, no repetition
19:48:16 <truebrain> just with big holes in it?
19:48:19 <xarick> yes
19:48:26 <truebrain> which you magically skip?
19:48:38 <truebrain> performance is a tricky thing .. make one end faster, make the other end slow
19:50:35 <_jgr_> If you did want to segment the vehicle pool in some way, it'd make much more sense to do that by vehicle type rather than company
19:50:57 <xarick> i was thinking doing by both
19:51:07 <xarick> 1 million is big enough, I think
19:53:06 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192556330616098936/image.png?ex=65a981a1&is=65970ca1&hm=9e570f1f5b84487badd251d3cdf71878df4928fb54a6bdaae6d1945ab03ef540&
19:53:06 <xarick> vehicles per company
19:54:02 <truebrain> you can't make something that is fast for all types of access and not consume a gazillion memory; there is always a balance and a trade-off
19:54:19 <truebrain> you can't make it fast to AND iterate over all vehicles AND iterate per company AND iterate per vehicle type, and be friendly to the memory
19:54:31 <truebrain> that is simply not how that works .. you need to pick one .. and if you are lucky you can pick two
19:54:44 <truebrain> but, try it out, go nuts, find out how these things actually work (and how they don't work)
19:55:21 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192556897870549104/image.png?ex=65a98229&is=65970d29&hm=95f76648ade2084b3e187da6e2837b009e4e0dd5034aa227bbc1bb5c9b475db2&
19:55:21 <xarick> maybe with bitwise operators hmm...
19:56:27 <xarick> I actually wanted to try, just not sure how to
19:58:00 <xarick> maybe trains need a bit more vehicles than the rest, have a bigger pool for them
19:58:07 <xarick> ships needs the least
19:58:59 <Rubidium> ships need the most! They're the bestest
20:00:42 <peter1138[d]> So, NewPoolArray... `std::vector<std::unique_ptr<Aircraft>> _aircraft_pool;`
20:01:33 <talltyler> Donโ€™t we have iterators for different vehicle types already? Or do those just abstract away the filtering?
20:01:42 <_glx_> For fun use the index in the vector as vehicle id
20:02:25 <_glx_> We have templated iterators, but in the end they read the whole pool
20:02:33 <peter1138[d]> They just filter, yes.
20:03:13 <truebrain> `std::vector<std::vector<std::vector<Aircraft>> _pool` is more what he is talking about ๐Ÿ˜›
20:03:20 <truebrain> owh, and another vector to make lookup by id possible ๐Ÿ˜›
20:03:48 <_glx_> Yeah 3 iterating loops
20:03:53 <_glx_> Sounds fine
20:05:21 <reldred> talltyler: Fake news ๐Ÿ˜›
20:05:56 <peter1138[d]> Just store vehicles in the group statistics.
20:05:58 <peter1138[d]> No other pool.
20:05:59 <reldred> Something something chyna
20:06:45 <xarick> the problem with groups, they don't store free wagons, articulated,
20:08:22 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11676: Codechange: Build station and depot vehicle lists from shared order lists. https://github.com/OpenTTD/OpenTTD/pull/11676#issuecomment-1877695270
20:11:39 <xarick> oh, are you suggesting to make each company itself have their own pool of vehicles? store vehicles on them, instead of how it is now?
20:11:54 <xarick> move from VehiclePool to somewhere in Company?
20:12:10 *** Flygon has quit IRC (Read error: Connection reset by peer)
20:13:18 <xarick> instead of what I am trying, which is duplicating their existance
20:13:27 <xarick> they'll be only in 1 place
20:13:44 <LordAro> peter1138[d] was very much being sarcastic
20:14:06 <LordAro> just to save you a rabbit hole of thought
20:14:17 *** rau117 has joined #openttd
20:14:17 <rau117> Speaking of magical dynamite... Is it possible to allow the removal of your company's statue without magical dynamite?
20:14:17 <rau117> The statue is the strangest structure in the game. It seems to be a statue of your company, which is built for your money, but the location is chosen (conditionally) randomly and it can only be destroyed by magical dymanite or deleting the company.
20:14:17 <rau117> It's even more frustrating to accidentally place a statue right on the city's central tile without having a chance to remove it or load the game.
20:14:25 *** jfs has joined #openttd
20:14:25 <jfs> no, just have five indexes ("caches") to the primary vehicle pool, one index for road vehicle heads, one index for train heads, one index for ship heads, one index for aircraft heads, and one index for "special vehicles" (effect and disaster)
20:15:05 <jfs> each of those will have at most around 75-80k entries in them, something any modern cpu can eat for a snack and still be hungry
20:16:45 <LordAro> rau117: perhaps it's a bug that it can be placed on the central tile?
20:17:13 <jfs> you _could_ also then do the SQL database index strategy of having additional fields indexes, for example have each of the main vehicle type indexes contain the vehicle id and the owning company, then you can very quickly iterate such a vector (that would be 4 or 8 bytes per entry) to visit all relevant vehicles
20:17:42 <jfs> of course if you make a more complex index like that then you suddenly have the additional task of maintaining it
20:18:02 <locosage> having a statue on a central tile isn't that much of an issue, town can still grow from any other 12 tiles
20:18:15 <jfs> but since vehicles seldomly change owner, that could probably be handled by a complete clear-and-rebuild of the index in the few situations where that does happen
20:18:41 *** gelignite has quit IRC (Quit: Stay safe!)
20:19:30 <jfs> rau117: it's way more fun in Transport Tycoon, where you can build as many company statues in a town as you can afford, eventually replacing the entire town centre with statues only
20:20:26 <LordAro> locosage: i did think it sounds weird
20:20:41 <LordAro> sounded weird that that was even a problem*
20:22:33 <LordAro> has anyone actually done any profiling to check that iterating the vehicle pools is even a problem?
20:23:29 <rau117> LordAro: The problem is rather the inability to remove the statue using *simple* methods.
20:23:47 <LordAro> rau117: i'm not denying that
20:23:58 <LordAro> i'm questioning why "the central tile" is a big deal
20:23:59 <truebrain> enable magic buldoze by default?
20:24:20 <locosage> LordAro: I know #7247 was a very noticeable issue on some systems and that can easily be fixed with cache per type
20:24:35 <_jgr_> LordAro: I've only really found it to be an issue in a few specialised cases
20:25:21 <xarick> let me check 7247
20:25:54 <rau117> truebrain: But this will not solve the problem on public servers. Allowing magical dynamite = creating anarchy.
20:25:54 <rau117> The easiest way is to just allow the statue to be removed.
20:25:55 <_jgr_> In particular, CallVehicleTicks, but that's in large because of the performance hit of the timing, not the iteration itself
20:26:46 <_jgr_> In general if iterating the vehicle pool is too slow it's better to find it way to not have to do it all, if possible
20:26:54 <truebrain> yes, magic buldoze on MP where it is allowed to remove stuff from the competitors! Now that I would play ๐Ÿ˜„
20:28:36 <locosage> hm, if statue can be removed that may allow for an easy way of wrecking towns without pissing authorities xD
20:28:52 <reldred> And while weโ€™re at it letโ€™s just remove block signals from the game entirely. Letโ€™s just straight up give some people brain aneurysms
20:31:02 <locosage> truebrain: you missed your chance on citymania when I didn't notice that town range checks bugged out :p
20:32:15 <xarick> wow, for some reason for (const Order *order = v->Orders()) { doesn't work on 11676
20:32:20 <xarick> ๐Ÿ˜
20:33:09 <xarick> oh, right...
20:33:14 <xarick> it's not =, it's :
20:34:57 *** virtualrandomnumber has joined #openttd
20:35:24 <rau117> reldred: Some players actively use them, and if you donโ€™t respect this part of the players, itโ€™s better to remain silent. Just hide the block signals if you hate it that much.
20:37:22 *** virtualrandomnumber has quit IRC ()
20:38:00 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192567632453439548/image.png?ex=65a98c28&is=65971728&hm=4e9528d1e11a958aee4528ebc180d0b59946d687f30867e62d8acd4cbbd29c4d&
20:38:00 <xarick> confirmed, it's slower, sorry peter, my bad
20:38:44 <rau117> locosage: From a small test on a โ€œspiralโ€ road pattern, it turned out that the blocked city center simply prohibits the city from growing by other roads. The city is still growing, but along a single road.
20:39:13 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on pull request #11676: Codechange: Build station and depot vehicle lists from shared order lists. https://github.com/OpenTTD/OpenTTD/pull/11676#pullrequestreview-1804940481
20:39:15 <locosage> then you just did it wrong
20:39:27 <locosage> you need to spiral from the tile it's growing
20:40:48 <locosage> I guess, it's trickier since you need to know how to find that tile
20:41:27 <locosage> but it's a very niche issue
20:42:16 <locosage> random towns that can have houses on central tiles also have road layouts that function regardless
20:44:26 <LordAro> reldred: such bait
20:45:33 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1192569531260993596/Screenshot_from_2024-01-05_02-15-18.png?ex=65a98ded&is=659718ed&hm=daaa2e212f58766f47eb6063f9ba4650287c8735ad2ccf8e2114df7d724a7f27&
20:45:33 <locosage> rau117: grows just fine
20:45:42 <rau117> reldred: Yeah, by provoking me into arguments you are only showing yourself in a bad light.
20:45:42 <rau117> And also this can be considered a violation of server rules.
20:47:10 <andythenorth> did the 12 year olds take over whilst I wasn't looking?
20:47:19 <andythenorth> how unfortunate
20:48:05 <LordAro> andythenorth: can't get them to go to bed
20:48:16 <andythenorth> well it's not that late eh
20:48:24 <andythenorth> * depending on timezone
20:50:17 <rau117> https://cdn.discordapp.com/attachments/1008473233844097104/1192570720920817684/image.png?ex=65a98f08&is=65971a08&hm=8033cb29246722be4719676b1ad0a893783da229cbf1292f8d5a4b9618c1918a&
20:50:17 <rau117> locosage: 3x3, scenario editor expancion, not so fine (=
20:50:17 <rau117> (although in a real game it will most likely be different)
20:51:02 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673
20:52:45 <locosage> rau117: you need to put a new center in the right place, if it starts not from center your probabilities will be messed up
20:53:18 <locosage> though for 3x3 it should probably make no difference regardles and that's just se weirdness
20:55:35 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1192572058228510882/Screenshot_from_2024-01-05_02-25-10.png?ex=65a99047&is=65971b47&hm=77b508a6c7c08c152fed44692e2a13248054a9cda68efc86d600f3a980a87a78&
20:55:35 <locosage> locosage: actually, I think I messed that up here, this should be the right placement
20:55:46 <locosage> after center next tile is x-1, y
20:56:27 <locosage> then x, y + 1 and so on in circle
21:00:49 *** belajalilija has joined #openttd
21:00:49 <belajalilija> I wonder who lives in that town
21:26:36 <peter1138[d]> It is quite dubious looking, to be honest.
21:28:36 <belajalilija> Indeed
21:28:43 <locosage> welcome to openttd :p
21:28:50 <locosage> that's how best layouts look like in this game
21:31:26 <_jgr_> Eh, I'm happy to not bother maximising that particular metric over everything else
21:34:10 <locosage> well, it's only really relevant in city-builder games
21:34:48 <locosage> and tbf layout like this would be even better <https://citymania.org/tools/townsim/layouts/10>
21:34:55 <locosage> but it's such a bother to build...
21:45:03 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11685: Fix: Pass townnameparts as parameter when testing townname based companyname. https://github.com/OpenTTD/OpenTTD/pull/11685
21:50:51 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11685: Fix: Pass townnameparts as parameter when testing townname based companyname. https://github.com/OpenTTD/OpenTTD/pull/11685#pullrequestreview-1805025496
21:54:00 <xarick> nice fix
21:54:26 <xarick> must be what happened to me last week
21:54:44 <xarick> a random crash trying to display company name
21:54:51 <xarick> from newspaper
21:55:35 <_glx_> unrelated, this function is on company creation
21:55:38 <peter1138[d]> Probably not ๐Ÿ™‚
21:56:03 <xarick> let me search the screenshot, I think I posted it
21:56:17 <_glx_> and it was not crashing before a recent commit ๐Ÿ™‚
21:56:44 <_glx_> and still should not crash, just random behaviour
21:56:55 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192587489945333852/Captura_de_ecra_2023-12-30_212005.png?ex=65a99ea6&is=659729a6&hm=81a3d05f7a4593cb06385737485a85a9c88a2fec60e1523fca19ff0b5733111f&
21:56:55 <xarick> here it is,
21:59:11 <xarick> from 30-12-2023
21:59:40 <_glx_> yes, but the fix is not related
22:00:14 <xarick> same symptoms... company name is involved
22:00:18 <xarick> hmm
22:07:57 <DorpsGek> [OpenTTD/OpenTTD] anatolyeltsov updated pull request #10541: Feature: Industry production graph https://github.com/OpenTTD/OpenTTD/pull/10541
22:09:19 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1192590613212827678/image.png?ex=65a9a18f&is=65972c8f&hm=d5be4bed0b2537dba45f6bd31f1699a99c09b9b655fc00c7295e910cfb652899&
22:09:19 <andythenorth> I didn't give up
22:09:24 <peter1138[d]> Hmm, I think I know what that is.
22:09:37 <peter1138[d]> It is only very vaguely related.
22:11:03 <_glx_> the crash you got seems to be related to param 4 (only 0 to 3 are set for this news message, but shouldn't be a problem)
22:11:34 <peter1138[d]> It is a problem if SetDParamStr(4, ...) was used previously, and the pointer is no longer valid.
22:11:44 <_glx_> unless some "garbage" is in params yes
22:12:02 <peter1138[d]> I can fix this in a nicer way ๐Ÿ™‚
22:20:13 <andythenorth> any way to store python **kwargs in an instance attribute, then get them back later and pass them as function param?
22:20:29 <andythenorth> `cloned_consist.add_unit(type(cloned_consist.units[0]), cloned_consist.units[0].kwargs_for_optional_consist_cloning_later)`
22:20:43 <andythenorth> isn't parsed as a list of kwargs
22:20:51 <andythenorth> list comprehension maybe?
22:20:59 <_glx_> hmm yeah `const char *` in params can be problematic
22:21:16 <LordAro> andythenorth: probably?
22:21:36 <LordAro> some amount of ** in the right places
22:24:30 <LordAro> **kwargs in a function signature collects all the named args together, and **kwargs anywhere else expands them
22:24:36 <LordAro> just a dict otherwise
22:26:15 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192594871299608586/image.png?ex=65a9a586&is=65973086&hm=63d4eaa5830aee495f4b8753bf3d78c5239b13716c38fe27406aa7f40255bc4a&
22:26:15 <xarick> Adapting that `orderlist->GetFirstOrder(); order != nullptr; order = order->next` from 11676 to the equivalent for my group-vehicle-list branch `v->GetFirstOrder(); order != nullptr; order = order->next`, very nice results:
22:26:32 <andythenorth> might have it working
22:28:02 <xarick> how did you discover it was faster?
22:28:05 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:29:35 <peter1138[d]> What do you mean?
22:30:05 <xarick> writing more text to iterate orders
22:30:30 <xarick> it's originally v->Orders()
22:31:11 <truebrain> yesterday we received ~150 surveys from the nightlies and 350 from JGRPP
22:31:13 <truebrain> DATA!
22:32:29 <peter1138[d]> Writing more text?
22:32:40 <peter1138[d]> So confused.
22:33:47 <xarick> from:
22:33:47 <xarick> `for (const Order *order : v->Orders()) {`
22:33:47 <xarick> to:
22:33:47 <xarick> `for (const Order *order = v->GetFirstOrder(); order != nullptr; order = order->next) {`
22:33:48 <xarick> is faster
22:33:54 <_glx_> truebrain: all from the same player ?
22:34:05 <truebrain> haha, unlikely, but that I am about to find out
22:34:11 <peter1138[d]> Oh... you know the length of 'text' does not matter?
22:34:16 <peter1138[d]> It's the code that matters.
22:34:20 <_glx_> with all the ticc/tocc runs
22:35:12 <peter1138[d]> The other thing is it's not `v->GetFirstOrder()`, it's `orderlist->GetFirstOrder()`
22:35:39 <truebrain> _glx_: only 17 times the same savegame got transmitted (on a single day) ๐Ÿ˜„
22:35:42 <xarick> yes, in your PR, but it also improved mine
22:35:49 <peter1138[d]> However, I did not benchmark the difference between `v->Orders()` and `orderlist->GetFirstOrder()`
22:36:12 <xarick> oh, I thought you were aware. Turns out it's faster
22:36:22 <peter1138[d]> In my PR I am looping through the orders in the orderlist.
22:37:00 <_glx_> there's probably some overhead with v->Orders(), but should be unnoticable in normal use
22:38:13 <peter1138[d]> xarick: my comment of "you tell me?" was because you questioned if a different way is faster. Instead of... just testing it ๐Ÿ™‚
22:38:18 <truebrain> `Orders shared by vehicles only need to be tested once instead of for each vehicle sharing them.
22:38:18 <truebrain> Vehicle tests only need to be performed on the first shared vehicle instead of all.`
22:38:18 <truebrain> Doesn't that say the same twice, but worded differently btw? ๐Ÿ˜„
22:38:24 <_glx_> IterateWrapper Orders() so yeah some overhead
22:38:26 <peter1138[d]> (Now you have tested it, I guess)
22:39:04 <peter1138[d]> truebrain: no, testing orders (e.g. destination) is not the same as testing vehicles (e.g. ownership, type)
22:40:02 <truebrain> it still feels like it says the same ๐Ÿ˜› But okay .. it just made me giggle, long sentence, brain hurts ๐Ÿ˜„
22:40:03 <peter1138[d]> I guess it kind of the same :p
22:41:07 <peter1138[d]> Hmm, can I copy StringParameters over _global_string_parameters...
22:41:17 <_glx_> hmm I can spot some not super safe stuff in OrderIterator
22:41:35 <truebrain> with these kind of for-loops, I am always reminded why I enjoy `continue` over an if-cascade ๐Ÿ˜›
22:41:55 <peter1138[d]> truebrain: I do too... I don't know why I didn't ๐Ÿ˜„
22:41:56 <_glx_> ah no it's fine
22:42:18 <peter1138[d]> But I have to rewrite it anyway for Rubidium's comment, so that will happen ๐Ÿ™‚
22:42:26 <truebrain> this just also begs for some abstraction .. too bad there are two if-statements on different levels in there .. I wonder how far you can get with constexpr with that .. I will not try ๐Ÿ˜›
22:42:43 <_glx_> end()++ should not happen
22:43:52 <truebrain> all that because I still have no clue how to efficiently parse all this survey data in a way I can do with it what I want ๐Ÿ˜„
22:44:34 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:45:29 <_glx_> a lot of data
22:45:35 <truebrain> as we don't actually know what user the survey transmitted, what I want to do, is count how many wallclock time a certain setting is used
22:45:44 <truebrain> that, I think, gives the most fair representation of what is going on
22:45:54 <truebrain> also means that if a player plays the game for 7 weeks
22:46:05 <truebrain> it is also encounted for (instead of counted once, it is counted for those 7 weeks)
22:46:25 <truebrain> but that means that per setting I need to count how long that value was there
22:46:36 <truebrain> which makes it a bit tricky for a sane database design
22:46:44 <truebrain> other than one huge table with all settings and their possible values
22:47:07 <truebrain> and ofc you kinda also want to see changes over time, I am guessing, per version of the game
22:47:13 <truebrain> yet another dimension ๐Ÿ˜›
22:48:22 <truebrain> haha, random survey result here: ticks: 0, seconds: 2146
22:48:31 <truebrain> so someone is sitting in this game, paused ๐Ÿ™‚
22:48:58 <_glx_> "build on pause" active ?
22:49:15 <truebrain> doubtful; no infra created
22:49:42 <truebrain> and no, not a network game
22:50:30 <_glx_> yeah could have been a server with no active player (but you ruled that out)
22:50:50 <truebrain> `"signal": 0,`
22:50:57 <truebrain> so tempted to split that into PBS / blocked signals ๐Ÿ™‚
22:55:43 <DorpsGek> [OpenTTD/team] DimaMdv opened issue #473: [uk_UA] Translator access request https://github.com/OpenTTD/team/issues/473
22:58:34 <DorpsGek> [OpenTTD/team] glx22 commented on issue #473: [uk_UA] Translator access request https://github.com/OpenTTD/team/issues/473
22:59:12 <locosage> truebrain: might have been me
22:59:14 <truebrain> hmm ... okay, Cloudflare D1 (an SQLite database managed by Cloudflare) would be somewhat expensive for this. Too bad, it is also a very practical solution ๐Ÿ™‚
22:59:45 <_jgr_> I expect a lot of people leave the game in the background paused when doing something else rather than exiting and starting it again
22:59:51 <_jgr_> I know I do that a lot
22:59:54 <locosage> I'm running master 24/7 for testing bonkygfx so it's mostly paused
23:00:09 <truebrain> _jgr_: yeah .. that is why I also track the ticks
23:00:45 <truebrain> I should also have added the autosave timer .. that one continues when you build while paused ๐Ÿ˜›
23:01:02 <locosage> though do master surveys even count?
23:01:42 <locosage> if it's self-built
23:02:03 <truebrain> I guess however we slice it, it is never completely "fair" .. there are always these cases where we either under-represent or over-represent information
23:02:10 <truebrain> but hopefully in the big numbers that will even out
23:02:22 <truebrain> it is not meant to be an exact science ofc; just an indication
23:03:22 <_glx_> self built doesn't have survey key
23:03:42 <truebrain> okay ... I have an idea how to make something sensible out of this, mostly by using GitHub Actions to do the heavy lifting ๐Ÿ™‚
23:03:54 <truebrain> just means I really need to create a script that keeps those awake for more than 60 days ๐Ÿ˜›
23:04:29 <_glx_> and not rely on me noticing they are disabled ?
23:04:40 <truebrain> or me
23:04:43 <truebrain> or a bug report
23:04:46 <truebrain> ๐Ÿ˜›
23:05:41 <truebrain> every day, fetch the results of the day before, gzip them, store them for safe-keeping (saves a LOT of storage). Every week, analyze the week before. Report per `revision`, each key, their values, and how much seconds and ticks they were active. Store this as JSON in a "result" branch on the repository. Create a simple frontend that fetches the JSON and puts it in a table to click through
23:07:04 <truebrain> maybe over time aggregate it again over a month and over a year
23:07:12 <truebrain> but that can be done based on those JSONs, as no actual information is lost
23:07:29 <truebrain> something to put together tomorrow ๐Ÿ™‚
23:09:16 <locosage> truebrain: can count player actions (commands) in addition to ticks/seconds
23:10:43 <_glx_> hmm that's not in the survey result
23:10:57 <_glx_> openttd doesn't count that
23:10:58 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11685: Fix: Pass townnameparts as parameter when testing townname based companyname. https://github.com/OpenTTD/OpenTTD/pull/11685
23:12:34 <_jgr_> Commands might be useful so long as GS/script commands were separated out or not included
23:12:52 <locosage> ofc
23:13:01 <truebrain> Hmm, I kinda also want to keep track of: if this setting was set, these other 12 were also set
23:13:11 <truebrain> But that really requires a vector database
23:13:48 <truebrain> Weight of a vector can be the time played, I guess ..
23:13:53 <_glx_> non default values may be important too
23:14:10 <_glx_> but not easy
23:14:31 <truebrain> _glx_: Deliberately that is not stored, as we can just look that up if we want to know: what isn't default ๐Ÿ™‚
23:14:51 <truebrain> We know the exact version after all ๐Ÿ™‚
23:15:35 <_glx_> I know it's not stored ๐Ÿ™‚
23:15:53 <truebrain> Okay, let's start small, and grow from there .. so many options ๐Ÿ˜„
23:26:36 *** keikoz has quit IRC (Ping timeout: 480 seconds)
23:38:12 *** Tirili has joined #openttd
23:46:52 <peter1138[d]> Start big, end small.
23:53:14 <Rubidium> peter1138: freed char*s for SetDParamStr shouldn't generally be an issue for another string, as the parameter should be overwritten. For GameScripts I can imagine that you reset the whole StringParameters after formatting, and if it happens outside of GS strings that sounds like a missing SetDParam(Str) somewhere.
23:55:17 <Rubidium> that is assuming that the char* stays alive until the actual GetString has been done, and if you can't really guarantee that: SetDParamStr(x, std::string(char*)) of std::move if it is a string
23:57:23 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #11667: [Crash]: https://github.com/OpenTTD/OpenTTD/issues/11667
23:58:30 <_glx_> Rubidium: it is when copying to backup
23:58:59 <_glx_> from _global_string_params