IRC logs for #openttd on OFTC at 2024-03-18
            
01:48:32 *** tokai|noir has joined #openttd
01:48:32 *** ChanServ sets mode: +v tokai|noir
01:55:21 *** tokai has quit IRC (Ping timeout: 480 seconds)
02:24:40 *** Wormnest has quit IRC (Quit: Leaving)
03:29:29 *** D-HUND has joined #openttd
03:33:11 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:01:59 *** HerzogDeXtEr1 has joined #openttd
04:08:11 *** HerzogDeXtEr has quit IRC (Ping timeout: 480 seconds)
04:40:43 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/ec3c8d346277a8c7044f5963cfe488edfd9ef23a
04:40:44 <DorpsGek> - Update: Translations from eints (by translators)
05:00:03 *** keikoz has joined #openttd
05:54:40 *** Ox7C5 has joined #openttd
06:23:03 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
06:38:26 *** nielsm has joined #openttd
06:46:31 *** nielsm has quit IRC (Ping timeout: 480 seconds)
07:12:37 <DorpsGek> [OpenTTD/survey-web] survey-summary[bot] pushed 1 commits to main https://github.com/OpenTTD/survey-web/commit/caf1c1f7b1ed36165f7fbcab2991b1638dc0d532
07:12:38 <DorpsGek> - Add: summary for week 11 of 2024 (by OpenTTD Survey)
07:34:05 <peter1138> Well
07:34:35 <andythenorth> I know
07:34:40 <andythenorth> Monday is here again
07:34:49 <andythenorth> it's not my least favourite day either
07:35:32 <reldred> Today wasn't too painful
07:52:44 <peter1138> I did a patch for PSA.
08:01:11 <LordAro> oof.
08:01:27 <peter1138> But 1KB of storage seems excessive.
08:02:07 <peter1138> Although it's only allocated if used.
08:03:15 <andythenorth> I want to say that 'a few bits would be enough'
08:03:21 <andythenorth> but they never are eh ๐Ÿ˜
08:03:33 <peter1138> `struct PersistentStorage : PersistentStorageArray<int32_t, 256>, PersistentStoragePool::PoolItem<&_persistent_storage_pool> {`
08:03:41 <peter1138> Yes, the problem is it was designed as a fixed size.
08:03:43 <andythenorth> the cases I have would all work as static props
08:03:57 <peter1138> 256 slots = 1KiB.
08:04:01 <andythenorth> there is a case that gets repeated - optimising the performance of complex varact 2 by caching them in the grf
08:04:14 <andythenorth> but I'm not sure grf should be managing OpenTTD performance
08:04:17 <andythenorth> especially grf authors ๐Ÿ˜›
08:05:04 <peter1138> LordAro, well done there
08:05:16 <andythenorth> the current user bits *nearly* work for almost every case I find, they're just a stupid interface
08:05:42 <peter1138> If it's wagon attach callback, don't care about cost.
08:05:56 <andythenorth> I "just" want a way to get arbitrary metadata / taxonomy items from other vehicles in the consist, individually, or across sequences of vehicle
08:06:09 <andythenorth> currently I loop a lot of IDs in varact 2 to do that
08:06:47 <peter1138> Metadata Labels?
08:06:53 <andythenorth> with a scheme
08:07:00 <andythenorth> but they would actually work somewhat ๐Ÿ˜›
08:07:05 <andythenorth> if it was list though...
08:07:13 <peter1138> I'm not sure what info you use, so I can't think of an example.
08:07:23 <andythenorth> examples
08:07:27 *** ahyangyi has joined #openttd
08:07:27 <ahyangyi> andythenorth: How ๐Ÿ˜ฎ
08:07:28 <andythenorth> will follow
08:07:34 <ahyangyi> How can I cache anything in a grf?
08:07:37 <andythenorth> you can't
08:07:47 <ahyangyi> That's the best part
08:07:49 <andythenorth> that's why sometimes persistent storage is asked for
08:08:05 <andythenorth> but authors shouldn't be trying to optimise OpenTTD performance this way
08:08:21 <andythenorth> it's never going to work well sustainably
08:08:40 <peter1138> Arguably, authors should be trying to optimise NewGRF performance, though.
08:08:58 <ahyangyi> Yeah I thought persistent storage is for... saving values that simply can't be recomputed
08:08:59 <peter1138> And if that means proposing extensions to help...
08:09:10 <ahyangyi> instead of just saving the time to do recomuptation
08:09:18 <andythenorth> yes, just caching wouldn't be the first thing to reach for in content, due to invalidations etc
08:09:46 <peter1138> Problem with saying that NewGRFs shouldn't do that, is that the game cannot know whether something needs to be recomputed or if the last value is fine. Only the NewGRF knows that.
08:10:17 <peter1138> Of course, if the computation is quick, it doesn't matter.
08:10:22 <andythenorth> yes, I'm not anti-caching, just think it's the 2nd not 1st approach ๐Ÿ™‚
08:10:53 <ahyangyi> caching could be implemented in other ways
08:11:01 <peter1138> > I have a thing where brake vans adapt to the lead engine of the consist
08:11:11 <peter1138> What does this do?
08:11:17 <peter1138> (End result, not computation)
08:12:25 <peter1138> Hmm, annoyingly for variables which take a parameter that parameter is only 1 byte :/
08:12:28 <drludde> Can you play openttd on a pentium with 512mb ram?
08:12:58 <peter1138> "Maybe"
08:13:20 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1219196931927179324/image.png?ex=660a6ca0&is=65f7f7a0&hm=ae6a87a5a04f6a7af5dad4742de527c632e791a856e7990649dd23e86c103c38&
08:13:20 <andythenorth> peter1138: there a range of brake van sprites available. Some engines (including their variants) get a special brake van sprite, the rest get a default sprite
08:13:30 <andythenorth> trains 6 and 10 have 'special' sprite, trains 7 and 8 have default
08:13:53 <drludde> perhaps upgrade all text to look nicer on 4k screens
08:14:01 <drludde> or is that too slow with software rendering?
08:14:04 <andythenorth> without giving implementation, you can imagine a huge vehicle ID checking switch driving that ^^
08:14:14 <peter1138> Not on Windows because the OS requirement itself is too much.
08:14:47 <peter1138> We have added a scalable truetype font but... andy just likes the old look ๐Ÿ™‚
08:15:42 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1219197525924511795/image.png?ex=660a6d2d&is=65f7f82d&hm=3ca76c48c635387a4feed93125681f0a3d8d039546347fd47162e5a4c5c6d37a&
08:15:42 <andythenorth> the restaurant car case: every pax vehicle in the consist checks the count of restaurant cars are in the consist every time callback 36 runs
08:17:16 <peter1138> andythenorth: This particular case might just be a job for, uh, variants?
08:17:32 <andythenorth> maybe, it has been asked for before
08:17:52 <andythenorth> I just like the random-but-rules
08:18:27 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1219198218840178719/image.png?ex=660a6dd2&is=65f7f8d2&hm=4aa377179585dc2a380e93fe91ae295bb11027f78c7e27e3f9dda255e7ffb0c8&
08:18:27 <andythenorth> this magical appearance changing requires walking the consist counting sequences of IDs (2 railcar engine IDs, 2 trailer IDs)
08:18:56 <andythenorth> ^ that's the one with the comedy loop unroll
08:19:06 <andythenorth> 128 vehicles either direction, counting up to 16 IDs
08:19:43 <andythenorth> hmm, it's almost like a var for 'parent group is N' would reduce some of this
08:20:00 <peter1138> Also you can also do that with wagon overrides. This moves the complexity of the check from varactions to OpenTTD, which already caches the result.
08:21:08 <andythenorth> I've always been encouraged to not use wagon overrides, but they do seem to do the brake van thing
08:22:33 <andythenorth> "livery override" eh https://newgrf-specs.tt-wiki.net/wiki/NML:Item#Livery_override
08:22:45 <peter1138> For CB36, I think every result is already cached?
08:23:39 <andythenorth> quite probably ๐Ÿ™‚
08:23:47 *** HerzogDeXtEr1 has quit IRC (Read error: Connection reset by peer)
08:25:06 <peter1138> If you wanted to run OpenTTD on a 512MB Pentium on Linux... you'd still have issues because you need a compiler with good C++20 support. And a modern-enough Linux is going to run like pants with that much memory these days. Such is progress ๐Ÿ˜ฆ
08:26:40 <ahyangyi> I feel with all the embedded devices around, modern Linux should be OK with 512MB memory. But I dunno, perhaps I should try running OpenTTD on my RISC-V development board?
08:26:49 <andythenorth> so how much memory would author-extensible class props (action 0) use? ๐Ÿ˜›
08:26:50 <ahyangyi> and serve bananas if I can
08:27:12 <peter1138> Depends how many you use.
08:27:53 <andythenorth> kaboom
08:29:05 <peter1138> Once running, with 32bpp and 4x zoom disabled, OpenTTD is 77MiB resident, so it should be fine. That's a 64 bit build too, which uses more memory.
08:29:17 <peter1138> Still way more than it used to be mind you.
08:30:54 <drludde> openttd runs well on a raspberry pi, performance wise?
08:30:59 <peter1138> Oh, 71MiB if I disable the truetype font, which isn't exactly necessary at 1x zoom ๐Ÿ™‚
08:31:24 <ahyangyi> Nice
08:31:26 <peter1138> A pi should be fine for normal size maps with normal limits.
08:33:21 <peter1138> I have a pain-au-chocolat to eat for breakfast but... hmm.
08:33:40 <_zephyris> Various forms say yes but a bit stuttery at higher res. Haven't tried it myself though, just want to at some point!
08:34:14 <_zephyris> Get it on my retropi system for the little boy to play with
08:35:21 <peter1138> Disabling 32bpp and 4x zoom reduces sprite cache requirement by ~128x alone, but of course the sprite cache isn't everything.
08:36:08 <peter1138> Many players only consider 4kx4k maps these days, which is ridiculous to me.
08:36:57 <drludde> anyone worked on mods for more advanced production/supply chains like railway empire 2
08:37:07 <peter1138> Map alone is 200MiB.
08:37:24 <ahyangyi> Hmm, time to upload my 16k map to bananas..
08:37:31 <drludde> and more shorter, mission style plays
08:38:24 <peter1138> Yeah, there are some very complex industry/cargo chains. And there are some gamescripts that add shorter challenges.
08:38:35 <peter1138> e.g. 7 years to achieve some goals.
08:39:29 <peter1138> I wonder how that 7 years works with wallclock mode ๐Ÿ˜„
08:39:42 <drludde> cities could have resource demands that increase the more it grows
08:39:56 <drludde> and new resource types needed the more it grows
08:40:30 <ahyangyi> sounds like RVG (renewed village growth)?
08:40:41 <drludde> i played railway empire 2, it was very fun
08:41:25 <drludde> but then their railway system seems messed up cause trains in a route always seem to use the same platform
08:43:04 <andythenorth> peter1138: it's probably just broken currently, based on what I found with FIRS GS
08:43:37 <andythenorth> stuff and things with dates ๐Ÿ™‚
08:45:38 <peter1138> I don't know if it's still the case but with simutrans you had to order each train to use a specific platform.
08:46:19 <drludde> anyone added subways to openttd yet? ๐Ÿ™‚ like sim city 2000
08:46:57 <drludde> perhaps not too useful between cities
08:48:42 <peter1138> It's a long-wanted feature.
08:48:52 <peter1138> There was an attempt over a decade ago.
08:49:33 <peter1138> Sadly, long before we switched to git.
08:49:44 <drludde> ok
08:50:45 <peter1138> Authors have now developed the tactic of making object tiles that hide the tracks by overlapping them. Which is... urgh to me ๐Ÿ˜„
08:51:11 <drludde> i guess it would be a massive effort if you were to support stations and signals as well. it would be like a parallel universe.
08:51:41 <drludde> perhaps you could represent the 'underworld' it by making the world map 2x as wide, and showing the left half as the overworld and right half as the underworld
08:53:22 <peter1138> Very wasteful, especially when players demand multiple layers ๐Ÿ™‚
09:02:58 <ahyangyi> Especially considering that we can already build multiple stacking tunnels in OpenTTD ๐Ÿ˜›
09:03:12 <ahyangyi> two layers are definitely not enough
09:05:50 <_zephyris> I know subways are popular for model railway builders... but it feels like total cheating to me!
09:06:15 <_zephyris> OpenTTD is a tile laying game... fitting as much function using a fixed grid into a small space.
09:06:34 <_zephyris> Subways 'cheat' all of that...
09:07:06 <johnfranklin> There was a Russian Patch Pack of OpenTTD supporting underground
09:07:13 <_zephyris> [but, I'm the kind of person who likes running a small map, max density industries and towns, and trying to get everything connected]
09:08:45 <kamnet> peter1138: It's not the best, but it's the best we get until somebody gives us proper z-layers.
09:09:58 <peter1138> Somebodyโ„ข
09:17:09 <andythenorth> _zephyris: layers, but you only get 2 ๐Ÿ˜›
09:17:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on discussion #12282: OpenTTD 14 Title Screen Competition https://github.com/OpenTTD/OpenTTD/discussions/12282
09:18:13 <andythenorth> which Doom engine variant had partial z-layer support? was it Heretic?
09:18:26 <peter1138> None of them.
09:19:35 <peter1138> The Build engine could do something that look like it using portals.
09:20:13 <andythenorth> Heretic has a z height thing for monster melee attacks it seems
09:21:41 <peter1138> Doom has z height for various things, but not everything that it should :/
09:22:07 <peter1138> Some engines add that in, but then it's no longer Doom for me.
09:22:28 <peter1138> Jumping over enemies at the bottom of a ledge that you can't see over...
09:23:41 <andythenorth> fancy tunnel portals and bridgeheads would probably solve most subway / metro needs ๐Ÿ˜›
09:24:33 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1219214852627894272/metro.png?ex=660a7d50&is=65f80850&hm=e3c71ab429434f46ba8e6b1086c7d2dd410d1b773f8a36b6ff3b2ccf20358a92&
09:24:33 <andythenorth> it's the space needed for signals etc that make them a bit silly
09:44:49 <locosage> andythenorth: imagine what 2 layers of objects can do ๐Ÿ˜…
09:51:30 <peter1138> Overlap like all hell.
09:55:46 <xarick> hi
09:56:09 <kamnet> locosage: Animated rain and snow all over
10:10:47 *** Ox7C5 has quit IRC ()
10:10:59 *** Ox7C5 has joined #openttd
10:27:38 <andythenorth> so we add one subterranean layer
10:27:59 <andythenorth> but then all buildings get immovable foundations which aren't player-buildable tiles
10:28:10 <andythenorth> think that should improve the game
10:37:06 <_zephyris> I do like the idea of more support (like for objects) for bridges crossing house/industry/stations, with the object/house/instrutry staton having a height value.
10:37:54 <_zephyris> Similar but for tunnel depth is IMO a genuine gameplay enhancement.
10:38:43 <_zephyris> Combining better tools for building undergound with more restrictions for tunneling under object/house/industry/stations is a good balance. One makes things easier, one makes it harder.
10:38:53 <peter1138> I probably have a patch for that, but then again it's probably also already done in JGRPP.
10:39:27 <_zephyris> Well, if it it, it's an excellent backport candidate!
10:40:49 <xarick> oops, I was just checking these buttons
10:41:16 <peter1138> That's the old version without the filled middle.
10:41:42 <peter1138> Hmm, also the version in our media folder.
10:42:03 <peter1138> Guess Zephyris did not PR this ๐Ÿ˜„
10:43:04 <ahyangyi> I know jgrpp has support for station height
10:43:16 <ahyangyi> Does it have object/house/industry height though?
10:43:24 <_zephyris> peter1138: Lol, nope, can do
10:43:47 <reldred> ahyangyi: it uses the existing custom bounding boxes that newstations has iirc
10:44:08 <ahyangyi> Also, the station height is tied to station tile type, which means there are only 4 per station
10:44:11 <DorpsGek> [OpenTTD/OpenTTD] zacc commented on pull request #12290: Change: Calculate occupancy of drive through road stops from most recent entered vehicle https://github.com/OpenTTD/OpenTTD/pull/12290#issuecomment-2003564276
10:44:24 <_jgr_> Bridges over objects taking height into account is in the standard GRf spec already
10:44:36 <ahyangyi> alright
10:44:57 <ahyangyi> perhaps one day we can have bridges over bridges ๐Ÿ˜ฎ
10:45:07 <reldred> didac was working on that
10:45:23 <reldred> i suspect real life got in the way though
11:07:24 <peter1138> IIRC that patch does a lot but doesn't achieve very much.
11:26:08 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1219245449899278436/image.png?ex=660a99cf&is=65f824cf&hm=933b238a805b6bd236dbb348062651fa05802db782bfab04545fb06c1a19ee26&
11:26:08 <xarick> there should be a way to reset the preferences without having to edit windows.cfg file
11:29:32 <xarick> maybe Ctrl-Right click to reset
11:29:50 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1219246381164789770/image.png?ex=660a9aad&is=65f825ad&hm=aa11952261ebc52fc5a6368b19ef977df44d0b1c8647439b1f1726b779213816&
11:39:41 *** Ox7C5 has quit IRC (Ping timeout: 480 seconds)
12:05:28 <peter1138> Ooh it's lunch time.
12:05:39 *** Ox7C5 has joined #openttd
12:07:35 <andythenorth> I had 2 babybels
12:18:19 <DorpsGek> [OpenTTD/OpenTTD] TheMowgliMan commented on discussion #12282: OpenTTD 14 Title Screen Competition https://github.com/OpenTTD/OpenTTD/discussions/12282
12:22:43 <andythenorth> crisps I think, maybe
12:23:56 <peter1138> M&S Cheese Tasters
12:24:03 <peter1138> (aka Wotsits)
12:37:22 *** Ox7C5 has quit IRC ()
12:37:24 *** Ox7C5 has joined #openttd
12:40:51 *** rau117 has joined #openttd
12:40:52 <rau117> xarick: I think itโ€™s better to map this to shift+ctrl+click โ€“ instead of replacing the old and familiar feature, just add a new one
12:46:37 <peter1138> Estimate the cost of saving to default ๐Ÿ˜„
12:55:51 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on discussion #12282: OpenTTD 14 Title Screen Competition https://github.com/OpenTTD/OpenTTD/discussions/12282
12:57:22 <peter1138> Hmm, when did default vehicle name include the group name?
12:57:33 <peter1138> I don't remember that, but it's nice.
13:03:19 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12330: Codechange: Use single list for hierarchical group lists. https://github.com/OpenTTD/OpenTTD/pull/12330
13:05:01 <DorpsGek> [OpenTTD/OpenTTD] TheMowgliMan commented on discussion #12282: OpenTTD 14 Title Screen Competition https://github.com/OpenTTD/OpenTTD/discussions/12282
13:06:43 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12330: Codechange: Use single list for hierarchical group lists. https://github.com/OpenTTD/OpenTTD/pull/12330
13:08:22 <peter1138> > on a larger screen 1x would be a similar size as on a standard size 1080p monitor.
13:08:30 <peter1138> 4K is literally 1080p * 2...
13:08:36 <peter1138> So uh...
13:10:55 <peter1138> One thing I don't like about my fractional sprite scaling patch is it only applies to window sprites.
13:11:07 <peter1138> Fractional viewports would be nice.
13:11:19 <peter1138> Of course uneven sprite scaling is a bit meh.
13:49:24 *** phil[m]123 has quit IRC (Quit: Client limit exceeded: 20000)
14:14:58 <_zephyris> ... as an option
14:15:41 <dwfreed> truebrain: I might have convinced someone else to try dibridge :)
14:17:46 <locosage> fractional viewport sprites may be nice for smooth zoom but generally a non-issue
14:20:57 *** Flygon has joined #openttd
14:35:51 *** nielsm has joined #openttd
14:47:37 <siciuvatiresubumbras> > single list for hierarchical group lists.
14:47:37 <siciuvatiresubumbras> oh, I see what Peter meant now in his earlier response to me!
14:47:48 <siciuvatiresubumbras> I couldn't quite get my head around it
14:59:23 <peter1138> Yeah, the station cargo view is very... ancient.
15:00:45 <peter1138> Back in the 'old days' everything was filtered on the fly, so e.g. the vehicles list would just iterate through the vehicle pool and list those of the correct type, owned by the correct company.
15:01:09 <peter1138> Efficient for memory, and good enough for performance when the maximum vehicle limit is whatever it was in 1995 ๐Ÿ™‚
15:02:01 <peter1138> IIRC, the station cargo view still does a bit of stuff on the fly as it draws, which makes it a bit harder to understand how it all goes together.
15:03:29 <siciuvatiresubumbras> Right.
15:07:03 <peter1138> I'm not sure how a list should look for the station cargo view though, if it even needs one ๐Ÿ™‚
15:09:28 <siciuvatiresubumbras> yup, I'll need to go back to the drawing board on that one and understand the data flow better
15:12:37 <merni> peter1138: It's a setting
15:30:57 <truebrain> dwfreed: Haha, cool ๐Ÿ˜„ if they need help, just give a yell ๐Ÿ™‚
15:32:56 <peter1138> Hmm, widget userdata...
15:33:01 <peter1138> That old chestnut.
15:36:50 <truebrain> Haha, again? ๐Ÿ˜„
15:37:42 <peter1138> e.g. there's currently no way for a widget to handle a click event.
15:38:05 <peter1138> There's some special cases in DispatchLeftClickEvent(), and then it gets passed to the Window to handle.
15:38:46 <dwfreed> truebrain: yeah, will do
15:39:41 <peter1138> But a Widget knows nothing about the Window its in.
16:31:17 *** gelignite has joined #openttd
16:35:53 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12330: Codechange: Use single list for hierarchical group lists. https://github.com/OpenTTD/OpenTTD/pull/12330#pullrequestreview-1943604441
16:52:40 <xarick> merni: there is a setting for this?
16:55:05 <xarick> can't find it. what is the name?
16:56:42 <peter1138> It's not a setting.
16:58:39 <peter1138> Added 4 years ago, already in 12 and 13 ๐Ÿ™‚
17:04:19 <DorpsGek> [OpenTTD/OpenTTD] PeterN dismissed a review for pull request #12330: Codechange: Use single list for hierarchical group lists. https://github.com/OpenTTD/OpenTTD/pull/12330#pullrequestreview-1943604441
17:04:22 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12330: Codechange: Use single list for hierarchical group lists. https://github.com/OpenTTD/OpenTTD/pull/12330
17:04:36 <peter1138> That was a very slow github.
17:06:47 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12330: Codechange: Use single list for hierarchical group lists. https://github.com/OpenTTD/OpenTTD/pull/12330#pullrequestreview-1943701953
17:23:52 <xertov> https://cdn.discordapp.com/attachments/1008473233844097104/1219335476662763591/image.png?ex=660aeda7&is=65f878a7&hm=43daf6fa8ebd1654e368c047630efe059c5d314500ad1106b4a260587463bdd6&
17:24:01 <xertov> what exactly does social mean here ?
17:24:11 <xertov> like social networks like insta?
17:24:37 <LordAro> https://www.openttd.org/news/2024/03/02/social-integration :)
17:29:13 *** Wolf01 has joined #openttd
17:49:54 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12330: Codechange: Use single list for hierarchical group lists. https://github.com/OpenTTD/OpenTTD/pull/12330
17:56:27 *** Wormnest has joined #openttd
18:02:17 <xertov> https://cdn.discordapp.com/attachments/1008473233844097104/1219345143975383101/image.png?ex=660af6a8&is=65f881a8&hm=f3e7094467600384fc6918fdba844bec04fcc87ca23a7e22670aabb110449d78&
18:02:23 <xertov> how to use the p s?
18:03:39 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #12331: Codechange: create helper class for useful NetworkAuthorizedKeys functions https://github.com/OpenTTD/OpenTTD/pull/12331
18:04:26 <xertov> 1 minute is ฮปฮตฯ€ฯ„ฯŒ , multiple is ฮปฮตฯ€ฯ„ฮฌ so i need to to {P "ฯŒ ฮฌ"} ?
18:05:20 <Rubidium> xertov: yes, something like that but without the quotes. The quotes in english are to denote you add nothing for singular
18:06:14 <xertov> but how will it know when it needs to switch from one to the other?
18:06:32 <Rubidium> it checks the value of {NUM}
18:07:06 <Rubidium> and the language is configured with plural type 2, which means take the first value of 0 and 1, and the second for anything else
18:07:38 <xertov> ok so i did it this way {NUM}{NBSP}ฮปฮตฯ€ฯ„{P ฯŒ ฮฌ} hopefully its right
18:07:51 *** HerzogDeXtEr has joined #openttd
18:09:25 <Rubidium> yes, that probably is. You can check that with the next nightly
18:23:06 <frosch123> xertov: somewhere on that string-edit page is a note about the syntax for {P}, and some longer text if you hoover on it
18:29:28 <Eddi|zuHause> xertov: there's also some syntax for when it's ambiguous which {NUM} should be referred to
18:29:53 <frosch123> it's never ambiguous
18:29:57 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
18:30:07 <frosch123> but that is explained in the tooltip as well
18:30:18 <Eddi|zuHause> yes, ambiguous is the wrong word
18:41:09 <frosch123> have you ever met any software developer who claims to use SQL as their *primary* language?
18:42:48 <frosch123> statistics confuse me, if they suggest the existance of universes i never heard of
18:44:22 <_glx_> xertov: <https://translator.openttd.org/static/docs/strings.html> should explain some of the translation features
19:11:28 <DorpsGek> [OpenTTD/OpenTTD] PeterN dismissed a review for pull request #12297: Change: Add per-company group numbers. https://github.com/OpenTTD/OpenTTD/pull/12297#pullrequestreview-1940772003
19:11:31 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12297: Change: Add per-company group numbers. https://github.com/OpenTTD/OpenTTD/pull/12297
19:12:54 *** Wormnest has joined #openttd
19:14:03 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12297: Change: Add per-company group numbers. https://github.com/OpenTTD/OpenTTD/pull/12297#issuecomment-2004729285
19:14:53 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #12331: Codechange: create helper class for useful NetworkAuthorizedKeys functions https://github.com/OpenTTD/OpenTTD/pull/12331#pullrequestreview-1943974803
19:17:47 *** nielsm has quit IRC (Remote host closed the connection)
19:21:47 <DorpsGek> [OpenTTD/OpenTTD] tibenasri commented on issue #12312: [Bug]: towns build roads even when "town cannot build roads" is enabled https://github.com/OpenTTD/OpenTTD/issues/12312
19:22:01 *** nielsm has joined #openttd
19:27:37 <DorpsGek> [OpenTTD/OpenTTD] tibenasri commented on issue #12312: [Bug]: towns build roads even when "town cannot build roads" is enabled https://github.com/OpenTTD/OpenTTD/issues/12312
19:40:24 <truebrain> `12.5438 +- 0.0331 seconds time elapsed ( +- 0.26% )`
19:40:24 <truebrain> `14.3562 +- 0.0308 seconds time elapsed ( +- 0.21% )`
19:40:38 <truebrain> so yeah ... I can get pretty stable results from linux runners .. just not between runs
19:40:52 <truebrain> (those are of 2 different runs .. scheduled on different CPU-based runners, clearly ๐Ÿ˜› )
19:43:38 <truebrain> https://gist.github.com/TrueBrain/2ddb1f12f823ae5b90cab2c5d9fcb08c <- odd warning I am getting on master
19:52:25 <_jgr_> I've got some similar warnings on gcc before in the case where the constructor got inlined but the destructor didn't, or vice versa
19:53:58 <_jgr_> operator new/delete, I should say
19:54:11 <truebrain> so I just shrug it off as weird compiler something ๐Ÿ™‚
19:57:13 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12332: Codefix: Widget should be passed as WidgetID type. https://github.com/OpenTTD/OpenTTD/pull/12332
19:57:28 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #12332: Codefix: Widget should be passed as WidgetID type. https://github.com/OpenTTD/OpenTTD/pull/12332#pullrequestreview-1944062526
19:57:59 <peter1138> Ah, the magic of pool item allocation.
20:01:18 <truebrain> lolz ... so I ended up in some weird corner of the Internet, and ran OpenTTD through a profiler which uses sampling of 10ms
20:01:24 <truebrain> that gives some weird ass callgraphs ๐Ÿ™‚
20:01:51 <truebrain> profiling via sampling only works on very long runtimes
20:01:53 <truebrain> not on 10s ๐Ÿ˜›
20:03:30 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1219375651472277554/image.png?ex=660b1312&is=65f89e12&hm=0343adec493a9031d72b0add8da6126db7336aa8e40233b212fa89486e2e1cb8&
20:03:30 <truebrain> it does look pretty!
20:07:32 *** Ox7C5 has quit IRC ()
20:08:35 <peter1138> Why does it highlight train ticks when roadvehicle ticks are higher...
20:09:04 <truebrain> different between flat and cum
20:09:16 <truebrain> the first number is what that function used, the second number what the cummulative value is .. it sorts on the latter
20:09:29 <truebrain> and 32% < 26% ๐Ÿ™‚
20:10:05 <truebrain> owh, no
20:10:06 <truebrain> you are right
20:10:07 <truebrain> weird
20:10:17 <truebrain> ah, no, it bases it on flat
20:10:19 <truebrain> so what it used
20:10:25 <truebrain> Google Profiling for you ๐Ÿ™‚
20:10:51 <truebrain> it can also produce a flamegraph ๐Ÿ™‚
20:11:07 <truebrain> it is kinda nice, tbh, to quickly spot hot-spots
20:13:28 <klote> Hi, i have a scenario with game script city controller 9. is there a way to reset the game script?
20:13:28 <klote> it seems like it stays within the game even though i remove it...
20:14:06 <truebrain> owh, cool, I can also diff two profiles against each other
20:14:08 <truebrain> now that might be useful
20:19:12 <frosch123> i have this bookmarked for a while, never got around profiling ottd with it: https://github.com/facebookexperimental/object-introspection
20:20:55 <frosch123> just baiting ๐Ÿ™‚
20:21:24 <truebrain> gperftools also can do heap inspection
20:21:34 <truebrain> but I don't care about memory ๐Ÿ˜› I am curious about the darn CPU performance ..
20:21:42 <truebrain> with all these scaling MHz CPU these days, that is darn hard
20:23:10 <frosch123> if you have spare cpu resourced, you can run it through valgrind, and get stable results :p
20:24:10 <truebrain> except that the impact of valgrind on the CPU used is very high ๐Ÿ˜›
20:24:56 <truebrain> just sad that GitHub runners don't allow me to see amount-of-instructions-executed
20:25:52 <truebrain> what I noticed on the MacOS runners, that if I run a heavy load first, the CPUs seem to spin up, then timing becomes more predictable
20:25:58 <truebrain> but if that is really the solution to this problem ...
20:26:11 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:32:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12332: Codefix: Widget should be passed as WidgetID type. https://github.com/OpenTTD/OpenTTD/pull/12332
20:34:58 <frosch123> you could try ``taskpolicy -b openttd``
20:35:06 <frosch123> that forces it to only use efficiency cores
20:35:11 <frosch123> so at least consistent
20:36:06 <truebrain> worth a test
20:39:57 <truebrain> except that `-b` marks it as a "background job" ๐Ÿ˜›
20:40:59 <truebrain> haha, well, that does have an effect at least ๐Ÿ˜›
20:41:13 <truebrain> but not in any positive way ๐Ÿ˜ฆ
20:41:50 <frosch123> it should be slower. is it more or less consistent?
20:42:31 <truebrain> yeah .. that is the weird part. It is actually a bit faster ๐Ÿ˜›
20:42:43 <truebrain> `7.72user 0.36system 0:08.11elapsed 99%CPU (0avgtext+0avgdata 176096maxresident)k` <- without
20:42:50 <truebrain> `6.98user 0.26system 0:07.26elapsed 99%CPU (0avgtext+0avgdata 175344maxresident)k` <- with
20:42:54 <klote> Hi do you know what i can do about game scripts in scenarios?
20:43:14 <klote> i tried removing it but it seems like its not doing anyhting.
20:43:59 <truebrain> I really think the only method is going to be to run on Linux, and compare two versions (yesterday with today), and use the difference as "what has changed"
20:45:25 <frosch123> "yesterday"? do you mean 1-day difference? or can "yesterday" also mean "last stable release"?
20:45:32 <truebrain> sure
20:45:52 <truebrain> the main point is: running 2 versions in the same job (so same CPU), to get a percentage difference between the two
20:46:25 <_glx_> klote: you can remove it in scenario editor, but anything it added like town extra string or story book will stay
20:47:13 <klote> hmm
20:47:44 <klote> but when i try to readd the script it doesnt add any new strong to new placed town
20:48:14 <truebrain> I guess as bonus I now figured how to also show the diff in flamegraphs, so when you see a huge difference, you can trace it to where it happened ๐Ÿ˜›
20:54:42 <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic opened issue #12333: [Bug]: Ship pathfinder lost entering dead end after terraforming https://github.com/OpenTTD/OpenTTD/issues/12333
20:55:01 <kuhnovic> I'm playing the role of Xarick today
20:56:32 <truebrain> `Dumping heap profile to test.out.0185.heap (188934 MB allocated cumulatively, 119 MB currently in use)`
20:58:20 <truebrain> did we fix any performance related something in the last two days?
20:58:50 <truebrain> we did ๐Ÿ™‚
21:05:49 <truebrain> okay, pprof has a bit of issue opening profiles with 188GB of allocated memory ๐Ÿ˜›
21:08:22 <truebrain> ah, no, it had issues with my 500MB executable ๐Ÿ˜›
21:09:25 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1219392238044577792/image.png?ex=660b2284&is=65f8ad84&hm=0f2eede981d3a2b5e5ae69f495c818d7d49de73604e3964a00988c4ea7d96997&
21:09:25 <truebrain> These are allocations done by OpenTTD
21:09:39 <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #12168: Fix #12166: Crash when opening tram road stop build window https://github.com/OpenTTD/OpenTTD/pull/12168#issuecomment-2004995466
21:09:49 <truebrain> (so not actually memory used, as objects are free'd before they are allocated again)
21:10:27 *** citronbleuv[m] has quit IRC (Quit: Client limit exceeded: 20000)
21:10:27 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1219392500599619635/image.png?ex=660b22c3&is=65f8adc3&hm=61fdd684329437f009424bab477f3958e607bbfea4df50000345e9f6d857f702&
21:10:27 <truebrain> actually usage looks more like this
21:12:47 <LordAro> truebrain: GetPool slow, needs optimising
21:12:48 <LordAro> :p
21:13:05 <truebrain> memory measurements are classified as "slow" these days? ๐Ÿ˜„
21:13:14 <andythenorth> blame FIRS?
21:13:17 <LordAro> Yes.
21:13:21 <LordAro> x2
21:14:32 <frosch123> no spritecache, and no random std::string floating around?
21:15:05 <truebrain> ICU layouter does a lot of allocations (just small ones), if I read this profile correctly
21:15:11 *** gelignite has quit IRC (Quit: Stay safe!)
21:16:15 <truebrain> ViewportSign::UpdatePosition is good for 18% of the allocations, because of GetStringBoundingBox because of Layouter ๐Ÿ˜„
21:16:33 <truebrain> as who knows, when you change position, the layout might change too!
21:18:08 <truebrain> frosch123: I only have std::string mutate on the list, good for 2% of the allocations
21:18:37 <frosch123> are income-texteffects part of viewportsign?
21:18:48 <frosch123> otherwise i would assume signs are mostly static
21:19:05 <klote> ok so entire game script no longer works in scenario
21:19:05 <truebrain> I hope you are not asking me ๐Ÿ˜‰ I am just looking at a graph ๐Ÿ™‚
21:19:10 <klote> :/
21:19:18 <klote> what to do now
21:19:40 <klote> load older version of scenario or?
21:19:47 <truebrain> the longer I let the game run, the more PfSetStartupNodes is winning in terms of memory (in bytes) allocated ๐Ÿ˜„
21:19:59 <klote> is there a way to delete strings inside scenario?
21:20:37 <frosch123> klote: maybe write a GS to remove GS remants :p
21:20:50 <klote> a gs?
21:21:05 <klote> what is a gs?
21:21:32 <frosch123> truebrain: oh, town signs may show the population number, which changes all the time
21:21:49 <truebrain> every PfSetStartupNodes allocates/deallocates ~30MB of RAM, lol
21:21:58 <frosch123> klote: GameScript
21:22:04 <truebrain> frosch123: still wouldn't expect the function to be called UpdatePosition ๐Ÿ™‚
21:22:24 <klote> isnt there a way to do this manually?
21:24:18 <frosch123> you can delete signs, but there are tons of other things GS can change, which are not even visible to players
21:24:50 <frosch123> replacing the foundation under a house is never easy
21:25:03 <klote> hmm
21:25:36 <truebrain> btw, the UpdatePosition is only good for 1.5% of the CPU ๐Ÿ˜› But it is about 100% of the Layouter's CPU ๐Ÿ™‚
21:25:47 <klote> ok so how do other people go about when creating a scenario and adding new content?
21:25:59 <klote> it seems like adding new cities causes the game script not to work
21:26:19 <frosch123> truebrain: disable population_in_label, maybe it drops to zero
21:26:44 <frosch123> but i guess, that's not what you want to measure
21:27:29 <truebrain> mostly waiting for GitHub Runners to tell me if comparing two versions is a stable measurement, so this is just bonus ๐Ÿ˜›
21:27:50 <truebrain> frosch123: ding ding ding, yup, that removes it completely ๐Ÿ™‚
21:28:16 <truebrain> euh, no, I was looking wrong
21:28:17 <truebrain> lolz
21:28:28 <_glx_> klote: in scenario editor? if so it's normal for the GS to not react, it's not active in scenario editor
21:28:32 <truebrain> is that setting saved in-game?
21:28:32 <frosch123> what, revoking my price?
21:28:34 <truebrain> or can I change it ๐Ÿ˜›
21:28:39 <truebrain> (via openttd.cfg)
21:28:43 <frosch123> it's a client setting
21:28:50 <frosch123> err gui setting
21:29:00 <truebrain> I changed my openttd.cfg, and it had no effect
21:29:03 <truebrain> let me word it like that ๐Ÿ˜„
21:29:04 <klote> _glx_: well thats not true...
21:29:16 <frosch123> SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
21:29:23 <truebrain> so yeah, sorry, not it ๐Ÿ˜›
21:29:31 <klote> https://cdn.discordapp.com/attachments/1008473233844097104/1219397295964164156/image.png?ex=660b273a&is=65f8b23a&hm=97c315149f7e8c9c9261e99db4491887156dc5b46555af93bdebfd9f178b8e08&
21:29:42 <klote> scenario editor is showing game script...
21:29:56 <_glx_> because it's stored in the savegame
21:29:59 <truebrain> profile results, especially this sampling profiling, can be funny .. HasTunnelBridgeReservation consumes 17% of the CPU time on westbourne ๐Ÿ˜›
21:30:11 <_glx_> but it doesn't run in editor
21:30:15 <frosch123> klote: yes, you won't get rid of those texts manually
21:30:19 <klote> _glx_: ok
21:30:31 <klote> Then if i add the script again and press safe
21:30:41 <klote> and then run the game on my server... script wont run
21:31:05 <_glx_> is the script installed on the server ?
21:31:12 <klote> yes
21:31:21 <klote> it was running before i adjusted the map
21:31:42 <truebrain> for some reason the HasTunnelBridgeReservation also calls Pool GetNew, which consumes a bit of CPU ๐Ÿ˜›
21:32:23 <_glx_> it may take some time for a script to update all towns
21:32:33 <klote> ...
21:33:01 <klote> more then 30 years ingame time?
21:33:05 <truebrain> Train::GetCurrentMaxSpeed -> 5.9% CPU usage ๐Ÿ˜„
21:34:25 <_glx_> unless it's a script written to support OpenTTD 14 they can only run one command per tick, story page, goals updated, towns can take several days to complete
21:34:45 <frosch123> truebrain: sounds like inlining messes with you
21:35:31 <frosch123> try compiling with -fno-omit-frame-pointer ?
21:35:36 <klote> _glx_: i dont understand. when i loaded the script for the first time into the map it worked instantly
21:35:58 <truebrain> frosch123: sure; takes a few minutes ๐Ÿ™‚
21:36:13 <_glx_> what doesn't work? it crashes or does nothing at all?
21:36:19 <klote> nothing at all
21:36:33 <_glx_> even in the script debug window ?
21:36:37 <klote> nope
21:36:39 <klote> nothing
21:36:40 <frosch123> i heard of people developing on remote machines, i never knew it was like that
21:36:59 <frosch123> though i assume tb also just forwards stuff to some AI
21:37:05 <truebrain> ofc
21:37:31 <truebrain> it is funny; on GitHub Runners I am comparing the nightly of the 16th with the one of the 18th, and see how stable the differences are. On some runs, the 16th and 18th are within statistical margin to say they have no CPU difference. In other runs, they differ about 2%
21:37:52 <truebrain> (those 2 runs have a different CPU type assigned to the runner)
21:39:17 <truebrain> frosch123: still it claims HasTunnelBridgeReservation calls Pool::GetNew ๐Ÿ˜„
21:40:44 <DorpsGek> [OpenTTD/team] rgonzalez-py opened issue #534: [es_MX] Translator access request https://github.com/OpenTTD/team/issues/534
21:41:40 <peter1138> Slightly surprising.
21:42:19 <klote> https://cdn.discordapp.com/attachments/1008473233844097104/1219400520754663564/image.png?ex=660b2a3b&is=65f8b53b&hm=a31d6d18cfc1e237565c2b95e7dc37782e82689683f85dc1fbb9837f31924f69&
21:42:36 <DorpsGek> [OpenTTD/team] glx22 commented on issue #534: [es_MX] Translator access request https://github.com/OpenTTD/team/issues/534
21:42:52 <klote> its not doing anything else then that
21:43:02 <peter1138> std::list is somewhat harder to work with than a C-style linked list ๐Ÿ˜ฆ
21:43:30 <frosch123> anything in particular?
21:43:46 <frosch123> iterating, inserting, freeing, what do you do with lists?
21:43:53 <frosch123> splicing
21:46:16 <peter1138> iterating mainly.
21:47:19 <frosch123> i guess we have a lot of C-style intrusive lists
21:47:44 <frosch123> which allow converting a pointer-to-object to an iterator
21:48:04 <peter1138> With a C-style list you can just keep a pointer-to-object and then use prev/next.
21:48:17 <peter1138> Now I need to keep an iterator. Which is fine.
21:48:26 <frosch123> yeah, you need boost intrusive lists for that ๐Ÿ™‚
21:48:34 <frosch123> but boost is so 2010
21:48:51 <klote> i found a older scenario game where it does work :/
21:49:15 <klote> i think the game script doesnt like it when to add aditional cities?
21:49:40 <peter1138> Urgh, I built with gcc, so lldb in vs code is only showing assembly. Oops ๐Ÿ™‚
21:50:39 <truebrain> you don't speak assembly?
21:50:47 <peter1138> If i push_back to a list does end() stay the same... Hmm.
21:50:56 <frosch123> yes it does
21:50:57 <_glx_> looking at script code it should handle towns added while the game is running
21:51:08 <peter1138> Okay, that's something at least ๐Ÿ™‚
21:51:22 <klote> _glx_: even when you change the year?
21:51:57 <_glx_> changing the year might be a problem
21:52:27 <peter1138> Right, switching back to clang... and then switching back again to SDL1.
21:52:51 <truebrain> I was wondering if anyone actually still uses SDL1, as it is REALLY old ๐Ÿ˜›
21:52:56 <truebrain> but we found you ๐Ÿ™‚
21:53:15 <andythenorth> is it naptime?
21:53:15 <_glx_> he needs SDL1 to be able to debug ๐Ÿ™‚
21:53:22 <_glx_> else the mouse is locked
21:53:25 <peter1138> Well, if I knew how to make SDL2 not grab the mouse cursor...
21:53:55 <klote> _glx_: then that is the issue i think...
21:54:02 <truebrain> while scrolling, or in general?
21:54:18 <peter1138> In general.
21:54:19 <frosch123> oh, i also noticed that, so sdl1 is the solution?
21:54:32 <peter1138> Workaround rather than solution I think.
21:54:42 <_glx_> klote: all scripts are different, some support more weird actions than others
21:54:56 <truebrain> and what do we mean with "grab the mouse cursor" here exactly? Just so I know what to look for?
21:55:20 <frosch123> when the debugger suspends ottd, the mouse pointer is dead
21:55:30 <peter1138> Well, the cursor stays hidden (because OpenTTD draws its own custom cursor), but nothing responds.
21:55:31 <frosch123> you can only alt+tab and keyboard-navigate your debugger
21:55:39 <_glx_> it is hidden, but still there ๐Ÿ™‚
21:56:46 <peter1138> If I comment out SDL_ShowCursor(), then the mouse cursor is visible, and it's not locked to the game window.
21:56:47 <peter1138> BUT
21:57:00 <peter1138> I still can't click on anything else.
21:57:02 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #12331: Codechange: create helper class for useful NetworkAuthorizedKeys functions https://github.com/OpenTTD/OpenTTD/pull/12331
21:57:09 <truebrain> if you alt+tab to gdb, and run `call SDL_SetRelativeMouseMode(0)` ?
21:57:49 <peter1138> If I alt+tab to VS Code then I'm in the code window. Not sure how to switch it to the right debugger window.
21:58:14 <truebrain> first records of this issue date back to 2015, lol
21:58:43 <truebrain> people have python scripts they load in gdb to auto-release the mouse
22:00:18 <truebrain> peter1138: maybe frosch123 can test ๐Ÿ™‚
22:00:41 <peter1138> General SDL2 issue?
22:00:42 <frosch123> no, it works currently :p
22:00:54 <truebrain> kinda; also a bit how we use SDL
22:01:31 <frosch123> i had the problem some time ago, but now i can't reproduce
22:01:39 <truebrain> we stopped using SDL_SetRelativeMouseMode, but we still have some calls to it (to disable it, which should be pointless)
22:01:51 <_glx_> could also depend on window manager ?
22:03:00 <truebrain> and with Wayland not supporting any of that "move the mouse" stuff, maybe we should just remove the final pieces of grabbing the mouse
22:03:59 <frosch123> but i like RMB scrolling
22:04:07 <truebrain> you still can, kinda ๐Ÿ˜›
22:04:18 <reldred> god i hate wayland
22:04:23 <truebrain> if you upgrade your OS and you get Wayland, you won't be able to use it anyway ๐Ÿ™‚
22:04:25 <truebrain> better get used to it ๐Ÿ˜›
22:05:03 <truebrain> okay ... so I started 5 GitHub runners, all were scheduled on `AMD EPYC 7763 64-Core Processor` .. I ran OpenTTD 30 times in each, calculated the mean time and the stddev (well, `perf stat` did that for me) .. super stable on each .. but between them widely different results
22:05:55 <truebrain> but comparing the 16th with the 18th show less than 0.7% difference in the worst case
22:06:05 <truebrain> so comparing is pretty stable; just why they differ so much ..... ๐Ÿ˜›
22:06:16 <_glx_> wow that's an expensive cpu
22:06:18 <Rubidium> welcome to the silicon lottery ;(
22:06:28 <truebrain> owh, that is a very valid point Rb
22:06:30 <truebrain> I forgot about that
22:06:54 <reldred> And the AMD's run chiplets so it's not all one silicon wafer
22:07:07 <reldred> the epyc's run quite a few chiplets
22:08:29 <truebrain> Rubidium: yeah, okay; good point. The difference is .. huge ๐Ÿ˜„ Ranges from 2600 MHz to 3250 MHz
22:08:38 <truebrain> let's see if the results are also in relation to those numbers ๐Ÿ™‚
22:10:17 <peter1138> Argh, and now my window invalidation is not always run :S
22:11:14 <peter1138> Maybe I could cheat and update the scrollbar count just before the call that fails because the scrollbar count is wrong ๐Ÿ˜„
22:15:55 <frosch123> truebrain: ah, i figured it out: it only happens, if LMB is down when ottd is suspended
22:16:20 <frosch123> SDL_SetRelativeMouseMode does not change anything
22:16:31 <frosch123> i assume it has something to do with window focus
22:16:33 <truebrain> no, I can imagine that it does not help in that case
22:17:19 *** patryk0747953 has joined #openttd
22:17:19 <patryk0747953> free nudes โค๏ธ
22:17:19 <patryk0747953> https://discord.gg/bestnudes
22:17:19 <patryk0747953> all all
22:17:42 <truebrain> Discord Moderator: please help ^^
22:18:11 <kale91> sigh
22:18:24 <truebrain> the gift that keeps on giving ๐Ÿ™‚
22:19:16 <peter1138> Oof.
22:21:12 <truebrain> okay, an other correlation seems to be what other workloads are active on that same node .. sometimes I get variations of 0.7%, sometimes of 0.08% ๐Ÿ˜„
22:22:08 <klote> https://cdn.discordapp.com/attachments/1008473233844097104/1219410538908618863/image.png?ex=660b3390&is=65f8be90&hm=3fb4d1cc56e0780238035548cd8a615f0b4f9646dafc749088c3e581f6b3a04b&
22:22:08 <klote> _glx_:
22:22:15 <klote> changed the year from 1918 to 1920
22:22:20 <peter1138> Also, sad that we missed the backport label on #12166 ๐Ÿ˜ฆ
22:22:41 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:23:11 <klote> now will try to load script without changing year to see if it works.
22:23:14 <truebrain> peter1138: something you can still fix ๐Ÿ™‚
22:23:29 <truebrain> wait, why do you want to slow a backport label on an issue?
22:23:31 <truebrain> that is weird
22:23:44 <truebrain> ๐Ÿ˜›
22:24:16 <_glx_> the error seems related to towns
22:25:19 <klote> Yeah that is also possible
22:25:22 <_glx_> looks like it doesn't have all towns in its data but the town received some cargo
22:25:24 <klote> i added 1 new town
22:25:30 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12334: Codechange: Don't delete news items or NewGRF window when EffectVehicle is deleted. https://github.com/OpenTTD/OpenTTD/pull/12334
22:25:42 <peter1138> I mean...
22:25:42 <truebrain> right, enough toying with performance bla .. more annoying than I would like ๐Ÿ˜„
22:26:09 <peter1138> truebrain: Oh, #12168
22:26:16 <_glx_> most likely the script doesn't support changes when they are done while it's not running (in scenario editor the script is not running)
22:26:26 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #12334: Codechange: Don't delete news items or NewGRF window when EffectVehicle is deleted. https://github.com/OpenTTD/OpenTTD/pull/12334#pullrequestreview-1944349461
22:26:31 <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic opened pull request #12335: Fix #12228, #12231, #12333: Ship pathfinder always considered reversing https://github.com/OpenTTD/OpenTTD/pull/12335
22:27:02 <klote> _glx_: so adding script while still editting map dont work
22:27:14 <klote> T-T
22:27:30 <peter1138> I wonder how that affects performance. At least news messages are limited now, but there limit is still kinda high.
22:27:30 <klote> that would kill entire scenario
22:27:41 <_glx_> I'm not even sure this script supports being used in scenario
22:28:02 <klote> So what am i supposed to do then?
22:28:17 <klote> how else to i add script to the game
22:28:44 <peter1138> Ideally there'd be some command to reset all GS data.
22:28:48 <peter1138> But I guess there is not.
22:29:22 <peter1138> In a scenario you mostly just want it to be set up but not actually running until it's started as a game.
22:30:06 <klote> peter1138: Ok but if i create a scenario how do i add a GS when the game is started?
22:30:32 <klote> i mean i got to add a GS before you start the scenario
22:30:46 <peter1138> I'm not telling you what to do, I'm saying how I envisage it should work :p
22:30:59 <klote> ok
22:31:28 <klote> but there is no function for that... in order to load gamescript into scenario you have to preselect it in the scenario editor...
22:32:05 <klote> or am i missing something
22:32:20 *** yaemiko_500 has joined #openttd
22:32:20 <yaemiko_500> 18+ Free Content and onlyfans leaks for free
22:32:20 <yaemiko_500> discord.gg/tiktokgirlss
22:32:32 <_glx_> wow moderation was fast
22:33:25 <peter1138> Hmm, so, news item is generated, window is invalidated, but it's not in gui scope, so it's queued.
22:34:39 <peter1138> Unfortunately the video driver flow is GameLoop (invalidation scheduled) -> InputLoop (data is wrong) -> UpdateWindows (scheduled invalidations occur)
22:36:09 <_glx_> from what I can see in script source, if there is saved data it will use it, else it will read the map to init
22:37:21 <peter1138> What I could do: Add a separate list in the window that is built separately from the actual news list.
22:37:36 <_glx_> so once the savegame exists I think you shouldn't move it to scenario editor
22:38:31 <klote> so delete savegame?
22:38:38 <peter1138> Or: ignore the rules about gui_scope.
22:38:51 <klote> because im still editting the map
22:38:53 <klote> and testing it
22:39:09 <frosch123> peter1138: https://dpaste.org/YBbeJ <- that works for me
22:39:32 <frosch123> maybe we should set that in debug builds?
22:40:11 <_glx_> remove script, save, and reload before adding script might work
22:40:58 <klote> i think i tried that let me try again
22:44:30 <_glx_> because from what I can see in the source, this script just write back the loaded data if it's not running
22:45:01 <klote> doh
22:45:03 <klote> that worked
22:45:39 <klote> atleast
22:45:49 <_glx_> in scenario editor the script is not running, but it still load/save data
22:46:01 <klote> it added additional cargo to city
22:46:45 <peter1138> frosch123: Seems to work... but I'm not using a debug build as they're... somewhat slow.
22:47:33 <klote> let me try to host it on dedicated server
22:47:38 <klote> see if it functions propperly
22:48:11 <peter1138> Funny, it limits the non-locked viewport scroll a bit, which now I notice works when the pointer should be outside the window...
22:48:21 <peter1138> Locked viewport scroll is still locked
22:49:32 <peter1138> Although if the cursor is near the edge it can still fall out with this hint.
22:50:31 <klote> https://cdn.discordapp.com/attachments/1008473233844097104/1219417684140232784/image.png?ex=660b3a37&is=65f8c537&hm=214ee89e7b4b5b8462021e0d033da009975ad11df2962e0e265273f0319f9d52&
22:50:31 <klote> _glx_:
22:51:09 <_glx_> hmm no companies ?
22:51:09 <klote> it did add cargo to the new town
22:51:52 <klote> yeah when you start a scenario it always starts a company
22:52:22 <klote> i add delete company to on server start script
22:52:25 <peter1138> Even as a dedicated server?
22:52:29 <klote> yes
22:52:43 <_glx_> dedicated server doesn't create companies
22:52:50 <klote> oh yeh it does
22:52:57 <_glx_> it doesn't
22:53:05 <_glx_> dedicated is without GUI
22:53:25 <_glx_> it makes no sense to create a company ๐Ÿ™‚
22:53:34 <klote> https://cdn.discordapp.com/attachments/1008473233844097104/1219418448275312701/image.png?ex=660b3aed&is=65f8c5ed&hm=682d1ffc0db792141e542c3f38627ee038b23219ff9a73e304a9d25d9a3e50e0&
22:53:49 <klote> i have to force delete company with on start script
22:53:52 <peter1138> Was that converted from an existing game? If so it probably just already contains a company.
22:54:28 <klote> scenario always starts company even with dedicated server
22:54:54 <_glx_> it should not, as there's no company in scenario
22:55:07 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:55:24 <klote> peter1138: no atleast i havent converted anything
22:55:25 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #12297: Change: Add per-company group numbers. https://github.com/OpenTTD/OpenTTD/pull/12297#pullrequestreview-1944399347
22:56:15 <peter1138> Okay.
22:56:28 <peter1138> I just tried it. Created a new scenario. Loaded it as a dedicated server.
22:56:32 <peter1138> No companies are created.
22:57:08 <klote> strange...
22:57:56 <peter1138> I mean... that's behaving as intended.
22:58:05 <peter1138> Creating a company would be strange.
22:58:33 <klote> yeh but i dont know why its creating a company on my dedicated server :S
22:58:40 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #12335: Fix #12228, #12231, #12333: Ship pathfinder always considered reversing https://github.com/OpenTTD/OpenTTD/pull/12335#pullrequestreview-1944402750
22:58:51 <_glx_> it doesn't create it, it's probably already there
22:59:05 <klote> hhmm k
22:59:22 <klote> is that whats causing script crash?
23:00:06 <_glx_> the script crashes when trying to access some of its internal data related to company headquarter
23:00:27 <klote> oh
23:00:30 <klote> script working now
23:00:33 <klote> no idea why
23:01:03 <_glx_> ``` if(GSCompany.ResolveCompanyID(cid)==GSCompany.COMPANY_INVALID) return; // n'existe dรฉjร  plus...
23:01:03 <_glx_> trace(4,"Remove HQ for cie:"+ cid);
23:01:03 <_glx_> companies.comp[cid].HQTile <- GSMap.TILE_INVALID; <-- crashes here
23:02:03 <_glx_> but there's a check for company existence before doing this line
23:03:29 <_glx_> could be bad luck of script running out of opcodes right after the check and the company being removed while it's asleep
23:03:30 <klote> okey
23:03:53 <klote> _glx_: hmm
23:04:09 <klote> yeah i restarted the server and script crashed again
23:04:46 <klote> https://cdn.discordapp.com/attachments/1008473233844097104/1219421268965589085/image.png?ex=660b3d8e&is=65f8c88e&hm=1804cec443799de367bf554eae42e3765e51de02fe4d7c05c4cf0aae2db939cd&
23:07:58 <_glx_> you should change the debug level in script settings
23:08:37 <_glx_> but for me it looks like a mismatch between game state and script saved data
23:10:18 <klote> do all game scripts have these issues?
23:10:27 <klote> when still editting scenario?
23:10:42 <_glx_> really depends on the script
23:11:18 <_glx_> but I think it's best to add script only once scenario is complete
23:11:24 <klote> yeah
23:11:55 <klote> dam if thats the case i will have to go back to scenario that requires much effort to recreate
23:39:47 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12334: Codechange: Don't delete news items or NewGRF window when EffectVehicle is deleted. https://github.com/OpenTTD/OpenTTD/pull/12334
23:42:02 <peter1138> SDL2 grabbing the mouse also causes problems when the main thread is busy for a long time.