IRC logs for #openttd on OFTC at 2024-06-03
            
01:56:45 *** Wormnest has quit IRC (Quit: Leaving)
02:08:58 *** tokai has joined #openttd
02:08:58 *** ChanServ sets mode: +v tokai
02:15:56 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
02:24:44 *** D-HUND has joined #openttd
02:28:14 *** debdog has quit IRC (Ping timeout: 480 seconds)
02:50:43 *** gnu_jj has joined #openttd
02:53:53 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
04:42:39 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/01c75fc5781efd494a0bbe91dcbe435c838e660b
04:42:40 <DorpsGek> - Update: Translations from eints (by translators)
05:43:59 <DorpsGek> [OpenTTD/OpenTTD] michalc started discussion #12749: Can the version of OpenGFX affect gameplay beyond graphics? https://github.com/OpenTTD/OpenTTD/discussions/12749
05:59:05 *** Flygon has joined #openttd
06:40:09 <DorpsGek> [OpenTTD/OpenTTD] ladysadie commented on pull request #12690: Feature: Add font resizing sliders to the game options UI. https://github.com/OpenTTD/OpenTTD/pull/12690#pullrequestreview-2092904114
06:41:08 <DorpsGek> [OpenTTD/OpenTTD] ladysadie commented on pull request #12690: Feature: Add font resizing sliders to the game options UI. https://github.com/OpenTTD/OpenTTD/pull/12690#pullrequestreview-2092905640
06:43:10 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on discussion #12749: Can the version of OpenGFX affect gameplay beyond graphics? https://github.com/OpenTTD/OpenTTD/discussions/12749
06:43:17 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #12749: Can the version of OpenGFX affect gameplay beyond graphics? https://github.com/OpenTTD/OpenTTD/discussions/12749
06:45:37 <LordAro> some of my colleagues would beg to differ
06:46:02 <LordAro> extrapolate? actually think about the change (request)? pah
07:10:29 <peter1138> ?
07:12:21 <pickpacket> hrrm. My if statement is all wrong
07:13:04 <DorpsGek> [OpenTTD/survey-web] survey-summary[bot] pushed 1 commits to main https://github.com/OpenTTD/survey-web/commit/d45e7b536db404c6f433933910963c21d8980064
07:13:05 <DorpsGek> - Add: summary for week 22 of 2024 (by OpenTTD Survey)
07:29:27 <peter1138> I'm spreading floats throughout the game, perfect.
07:31:17 *** ialokin has quit IRC (Ping timeout: 480 seconds)
07:48:49 <peter1138> Okay, it no longer blows up Xorg.
07:51:24 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1247095276888522752/image.png?ex=665ec77b&is=665d75fb&hm=3c592220cd1c9fe1462178d1a1cee779ed0f8c8519558d966ce8b6b71b1bafff&
07:51:24 <peter1138> This is not quite right πŸ˜„
07:51:47 <pickpacket> hate negated statements..
07:53:46 <peter1138> (Last time I tried this branch was before I changed the meaining of ZOOM_LVL_NORMAL.)
07:54:45 <peter1138> It looks about 4x too small, which is most probably not a coincidence πŸ˜„
08:40:58 <LordAro> heh
08:41:08 <LordAro> clearly used the wrong constant before!
08:45:40 <peter1138> Yeah, 3c94e816 fixed that in master of course.
09:30:18 <peter1138> Build states for fishing grounds in FIRS 5 eh?
09:33:45 <johnfranklin> dinner was far more spicy than expected. icecream was consumed consequently.
09:35:45 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1247121538189365248/image.png?ex=665edff1&is=665d8e71&hm=2dc96259f2d574de748aba259e959d77ca77c602793e3aff79c333df65db5aa3&
09:35:45 <peter1138> Is this fine?
09:45:57 <LordAro> seems a bit wibbley
09:50:56 <peter1138> It's 1.5x scaling.
10:02:43 <dwfreed> truebrain: think I could talk you into supporting multiple channels in dibridge? <3
10:17:14 <andythenorth> peter1138: bulldozers at sea?
10:17:38 <andythenorth> peter1138: 'maybe'
10:17:40 <peter1138> Such piles of dirt.
10:18:32 <andythenorth> Horse sprites scale 'ok'. Train Whack has a scaling parameter in the query string https://grf.farm/iron-horse/3.21.0/html/train_whack.html?sprite_size_factor=1.5
10:25:50 <peter1138> That uses bilinear scaling it seems.
10:27:12 <andythenorth> wonder how much the browser decides
10:27:15 <peter1138> Even 2x there looks blurry.
10:27:34 <peter1138> There's a css property to tell it to not apply bilinear filtering.
10:27:57 <peter1138> `image-rendering: pixelated;` I believe.
10:28:06 <andythenorth> ooh
10:28:39 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1247134850205356032/image.png?ex=665eec56&is=665d9ad6&hm=59a8fb44a801bed29a8c8aee867faa63fa7c525b87505fdb20ea464f56b414a5&
10:28:39 <andythenorth> I get by default in Chrome
10:29:37 <peter1138> That image does not have sharp edges.
10:30:04 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1247135208654770286/image.png?ex=665eecac&is=665d9b2c&hm=7d6b1fc6b6e3a79ad9353ec03f0df5546c9e91f01646882273d40346eb75de82&
10:30:11 <andythenorth> pixelated rendering does indeed make it crisp
10:30:13 <andythenorth> thanks
10:30:54 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1247135419330596914/image.png?ex=665eecde&is=665d9b5e&hm=56d879f64c9102eff149c8a4282a7020f9c33ef81155d8163356f381883cf19a&
10:31:06 <peter1138> That does πŸ™‚
10:33:48 <peter1138> And my scaling does not do bilinear interpolation. Maybe it should for 32bpp graphics.
10:34:35 <peter1138> MIght look bad when mixing them.
11:15:04 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
12:19:12 *** SigHunter has quit IRC (Read error: Connection reset by peer)
12:19:24 <talltyler> The new Simutrans release has Steam achievements πŸ‘€
12:19:40 *** SigHunter has joined #openttd
12:20:14 <talltyler> I wonder if they’re using plugins or just braver than we are about integrating Steam code into their codebase
12:21:27 <talltyler> I guess achievements would probably be possible with our plugin
12:22:07 <talltyler> Of course, the concern about not providing a different game to users on different platforms still applies πŸ™‚
12:22:15 <squirejames> I've been suspicious of Steam code injections since they totally borked an old strategy game I play with their integrations and never fixed it
12:22:40 <squirejames> GoG and original CD versions work fine, Steam one constantly crashes
12:47:27 <truebrain> dwfreed: What do I get for it? πŸ˜„
12:47:55 <peter1138> A (tracking) cookie.
13:04:11 *** HerzogDeXtEr has joined #openttd
13:32:40 *** XYZ has joined #openttd
13:40:42 *** XYZ has quit IRC (Ping timeout: 480 seconds)
13:45:06 <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #12745: Upgrade: Bump Apple-Actions/import-codesign-certs from 2 to 3 in the actions group https://github.com/OpenTTD/OpenTTD/pull/12745
13:51:00 *** gelignite has joined #openttd
14:05:25 *** XYZ has joined #openttd
14:13:27 *** XYZ has quit IRC (Ping timeout: 480 seconds)
14:36:51 *** gelignite has quit IRC (Quit: Stay safe!)
14:44:18 <peter1138> I keep typing `nullptr` in my C# code...
14:51:30 <audigex> peter1138: Just throw a `private readonly Object nullptr = null;` in every class, problem solved
14:51:47 <audigex> Follow me for more weekly .NET tips
14:52:02 <peter1138> I think "solved" is doing heavy lifting there.
14:52:39 <audigex> https://tenor.com/view/office-the-bankruptcy-declare-gif-26483263
14:52:49 <audigex> Too late, solved
16:14:52 *** Ox7C5 has joined #openttd
16:23:36 <andythenorth> hi DiscordGPT
16:23:48 <andythenorth> OpenTTDGPT
16:23:48 *** _zephyris has joined #openttd
16:23:48 <_zephyris> peter1138: It's _ok_... Presumably doesn't come with newgrf 1.5x support πŸ˜‰
16:24:19 <peter1138> Actually it does.
16:25:29 <peter1138> But good luck convincing GRFCodec/NML to handle it.
16:26:27 <peter1138> I fudged grf-py to do it.
16:26:35 <peter1138> But then I also have the SVG stuff.
16:26:54 <peter1138> Although SVG doesn't do "texture" very well.
16:28:39 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1247225448388235365/image.png?ex=665f40b7&is=665def37&hm=194c11973e4cf1dd474448c8ac1a2067cd82cc21486653b74d8876b532254d14&
16:28:39 <andythenorth> I am assigning industries on the map to GS-generated 'manufacturers'. Manufacturers have a category ('steelmaker', 'chemicals' etc), which governs which industry types they can 'own'. Manufacturers have a HQ town. Industries need to be distributed relatively evenly across the manufacturers in each category (for example there can be n steelmakers. Assignment of industries is from a list of al
16:28:39 <andythenorth> relevant candidates on the map. Candidates nearer the manufacturer's HQ town should be assigned to that manufacturer first. Different manufacturers in the same category can have the same HQ town.
16:28:39 <andythenorth> How do I do it?
16:29:08 <_zephyris> Ooh
16:30:59 *** Smedles has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
16:31:07 *** Smedles has joined #openttd
16:35:34 <andythenorth> I need some kind of partitioning thing, that will be deceptively simple when someone tells me what it is πŸ˜›
16:40:08 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12743: Codefix: Find GRF override entries properly. https://github.com/OpenTTD/OpenTTD/pull/12743#pullrequestreview-2094382943
16:41:33 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #12743: Codefix: Find GRF override entries properly. https://github.com/OpenTTD/OpenTTD/pull/12743#pullrequestreview-2094385861
16:41:55 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12748: Codechange: Pre-reserve vectors during NewGRF loading. https://github.com/OpenTTD/OpenTTD/pull/12748#pullrequestreview-2094386567
16:42:10 <andythenorth> so how about copying all the industries for category into n lists, for n manufacturers in the category. Then valuating each list by distance to 1 manufacturer. Then taking the first industry from the list for manufacturer A, and assigning it to manufacturer A, and removing it from all candidate lists. Then repeat for manufacturer B etc
16:52:48 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #12741: Add: Show house information in House Selection window. https://github.com/OpenTTD/OpenTTD/pull/12741#issuecomment-2145693062
16:53:39 <andythenorth> GPT proposed just using one list and resorting it for each current manufacturer as we loop through them
16:56:23 <andythenorth> it's written me some squirrel for it, although it's not squirrel not GS
16:59:24 <andythenorth> here's the while loop it wrote https://gist.github.com/andythenorth/e4dc0fbe1739c966662fdd56196e147f
16:59:33 <andythenorth> 'wrote'
16:59:46 *** Leopold_ has joined #openttd
17:00:28 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #12746: Fix: Editbox behaved poorly with RTL languages and when editing long text. https://github.com/OpenTTD/OpenTTD/pull/12746#pullrequestreview-2094394002
17:01:02 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12746: Fix: Editbox behaved poorly with RTL languages and when editing long text. https://github.com/OpenTTD/OpenTTD/pull/12746#pullrequestreview-2094423744
17:06:40 *** gelignite has joined #openttd
17:40:31 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12748: Codechange: Pre-reserve vectors during NewGRF loading. https://github.com/OpenTTD/OpenTTD/pull/12748
17:50:18 <DorpsGek> [OpenTTD/OpenTTD] planetmaker commented on discussion #12749: Can the version of OpenGFX affect gameplay beyond graphics? https://github.com/OpenTTD/OpenTTD/discussions/12749
17:53:36 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1247246826545877043/image.png?ex=665f54a0&is=665e0320&hm=d975f4c1018481defc6251d5d026f687e0bc1a4cd7a206868f1a3083c269996e&
17:53:36 <peter1138> Imagine if you could make graphics this good.
17:56:53 <DorpsGek> [OpenTTD/OpenTTD] michalc commented on discussion #12749: Can the version of OpenGFX affect gameplay beyond graphics? https://github.com/OpenTTD/OpenTTD/discussions/12749
17:57:07 <DorpsGek> [OpenTTD/OpenTTD] michalc commented on discussion #12749: Can the version of OpenGFX affect gameplay beyond graphics? https://github.com/OpenTTD/OpenTTD/discussions/12749
17:57:17 <DorpsGek> [OpenTTD/OpenTTD] michalc commented on discussion #12749: Can the version of OpenGFX affect gameplay beyond graphics? https://github.com/OpenTTD/OpenTTD/discussions/12749
18:04:40 *** gelignite has quit IRC (Read error: Connection reset by peer)
18:05:58 <michi_cc> talltyler: Luckily, one can look: <https://github.com/aburch/simutrans/blob/master/src/steam/steam.cc>
18:05:58 <michi_cc> Apparently they are braver, but then Simutrans is not GPL.
18:07:09 *** gelignite has joined #openttd
18:08:46 <peter1138> Hmm, seems they still use svn and that just a git mirror, heh.
18:09:18 <peter1138> Although it has a failing CI
18:24:08 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12746: Fix: Editbox behaved poorly with RTL languages and when editing long text. https://github.com/OpenTTD/OpenTTD/pull/12746
18:35:59 <andythenorth> hello OpenGPT
18:36:27 <andythenorth> how can I find which industries in a list are most remote from a specific list of towns
18:36:41 <andythenorth> i.e. those that are most isolated
18:40:10 <peter1138> Urgh, I need to sort my brakes out.
18:40:13 <peter1138> CBA.
18:42:13 <andythenorth> are they disc?
18:42:44 <peter1138> Yeha
18:43:04 <peter1138> Main issue is all the oil came out
18:43:10 <andythenorth> oops
18:43:21 <andythenorth> that will do it
18:44:15 <LordAro> can confirm
18:59:42 *** bigyihsuan has joined #openttd
18:59:42 <bigyihsuan> andythenorth: maybe take the distance of each industry to each town and take the largest?
18:59:42 <bigyihsuan> though that's `O(n*m)` in both space and time so probably not the best way of doing it
19:02:55 <bigyihsuan> andythenorth: maybe voronoi with points on each manufacturer's headquarter town (for each category) and prioritize assigning to the manufacturers industries within their headquarters cell?
19:06:33 <andythenorth> bigyihsuan: that was GPT's suggestion
19:07:31 <andythenorth> it is possible to break early for the case where another industry is already known to be more remote
19:11:49 <andriydohniak> andythenorth: what if you just reverse your algorythm, instead of spawning industries first, and then assigning them to the correct manufacturer, you just spawn them yourself close to every manufacturer
19:12:28 <bigyihsuan> andriydohniak: can game scripts even do that?
19:12:30 <andriydohniak> But I might have missunderstood the problem statement
19:12:41 <andriydohniak> bigyihsuan: They cant?
19:12:52 <bigyihsuan> where's those api docs, i need to check this
19:14:10 <andythenorth> andriydohniak: this is the alternative route
19:14:19 <andythenorth> but it requires clearing the map at game start
19:15:02 <andythenorth> and it requires reimplementing some of the core game's placement routine
19:15:23 <andythenorth> it's viable, but I suspect it will lead to a degradation of the grf
19:15:40 <andythenorth> as I will spend more time on the GS placement rules, and less time on the grf placement rules
19:16:06 <bigyihsuan> doing it on the gs side is probably not a good idea
19:16:53 <andriydohniak> andythenorth: Ok, can you from GS check if a tile is an industry?
19:17:48 <andriydohniak> If so, you can start with the list of manufactureres, and go in a spiral and "collecting" all unclaimed industries, untill you have enough per manufacturure
19:18:01 <bigyihsuan> bigyihsuan: https://docs.openttd.org/gs-api
19:18:16 <andriydohniak> How many times do you need to do that? Can you just store the result? If so, n**2 algorythm is fine
19:18:25 <bigyihsuan> looking at the docs, it looks like the api makes a list of industries public
19:19:02 <andythenorth> andriydohniak: I need a more or less equal distribution per manufacturer
19:20:00 <bigyihsuan> bigyihsuan: then you could probably sort by distance to a specific tile and go from there
19:20:21 <andriydohniak> andythenorth: yea, so you start with a number of manufactureres, for example 10, you have the number of industries of the correct type, for example 100, then you just go through each of the 10 industries, and spiriling collect 10
19:20:34 <andriydohniak> It won't be perfect, but it will be fine
19:20:57 <andriydohniak> The other option is to do voronoi, to make it actually perfect, but it's kinda hard
19:21:15 <andriydohniak> bigyihsuan: The spiral will do that too, so no need
19:21:48 <andythenorth> it needs to round-robin between manufacturers
19:21:58 <andriydohniak> andythenorth: it can
19:22:03 <andriydohniak> that shouldn't be hard
19:22:22 <andythenorth> there are two different challenges I'm trying to solve
19:22:33 <andriydohniak> but then the industries of manuf.. will overlap
19:22:40 <andythenorth> assigning industries by distance is relatively easy, it's probably about 15 lines
19:22:43 <andriydohniak> So they won't be segmented
19:22:52 <andythenorth> but finding the most remote industries seems very hard
19:22:56 <andythenorth> computationally
19:23:05 <andriydohniak> andythenorth: How often do you need to do that ?
19:23:13 <andythenorth> only once at game start
19:23:17 <bigyihsuan> andythenorth: https://cs.stackexchange.com/questions/89411/how-to-efficiently-compute-the-most-isolated-point
19:23:17 <bigyihsuan> maybe related
19:23:25 <andythenorth> but we can't predict map size or number of industries or towns
19:23:41 <andriydohniak> bigyihsuan: That is too expencive, here we are dealing with easy distances
19:23:53 <andriydohniak> andythenorth: give me a max bound
19:24:06 <andythenorth> 16k x 16k tiles
19:24:18 <andythenorth> not sure on number of industries or towns
19:24:32 <andythenorth> I made a JGRP map that took about 5 hours to generate
19:24:33 <bigyihsuan> andriydohniak: but it's only happening once at game start, so expensiveness isn't that important of a factor (yet)
19:24:50 <andriydohniak> andythenorth: Let's just say they are small towns, and you can't place them closer than ~50 tiles in between each other
19:24:51 <andythenorth> there are limited opcodes for GS
19:25:26 <andriydohniak> bigyihsuan: It's more expencive, and uselessly complicated, this is not a graph
19:25:40 <bigyihsuan> andythenorth: what's your definition of "most remote"
19:28:32 <andythenorth> furthest from any town in list of n towns
19:30:24 <andriydohniak> I don't get it, you have manufacturures, that want to have industries close by, what are the towns again?
19:31:27 <andythenorth> manufacturers have a HQ town, but that's an extraneous detail for the purposes of calculating
19:32:44 <bigyihsuan> andythenorth: so a list of industries that are "most remote", or just one industry?
19:32:58 <andriydohniak> I would recommend to start with the simplest solution possible:
19:32:58 <andriydohniak> - have a list of avilable industries
19:32:58 <andriydohniak> - iterate through all the manufacturures
19:32:58 <andriydohniak> - sort the list by proximity to the curr manuf
19:32:58 <andriydohniak> -while not enough industries for this manuf
19:32:59 <andriydohniak> - pop the top one in the list for itself
19:36:22 <andythenorth> yes
19:36:28 <andythenorth> that's also what GPT wrote
19:37:26 <andythenorth> I don't know how expensive the sort is
19:37:50 <andriydohniak> andythenorth: n logn
19:37:53 <andriydohniak> it's fine
19:38:08 <andriydohniak> and the distance compute is is O(1)
19:38:16 <andythenorth> well we have to calculate all the distances every time the sort is called
19:38:28 <andriydohniak> andythenorth: but that is O(n)
19:38:31 <andythenorth> 'probably fine'?
19:38:59 <bigyihsuan> the sort method doesn't have a complexity guarantee so that's fun: https://docs.openttd.org/gs-api/classGSList#a120b83e0e14eb8a695958cc13379b746
19:39:50 <andriydohniak> It's fine, at this scale you will hit other limitations way before time complexity problems with the sorting
19:40:39 <andriydohniak> And the total complexity is not n**2, because you are popping from the list
19:40:47 <bigyihsuan> if it were me i'd go with the simple solution first and optimize later
19:40:54 <andriydohniak> so it should still be n log n
19:41:48 *** Wormnest has joined #openttd
19:50:25 <peter1138> Is the simple solution something like "spend 2 months trying to train ChatGPT to write GS first"?
19:56:02 <andythenorth> peter1138: can let you know in 7 weeks?
19:56:37 <DorpsGek> [OpenTTD/OpenTTD] michalc opened pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750
19:57:05 <DorpsGek> [OpenTTD/OpenTTD] michalc updated pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750
19:57:38 <truebrain> That ... is asking for a lot of trouble
19:58:09 <truebrain> That should not be part of the GS API
19:58:12 <DorpsGek> [OpenTTD/OpenTTD] michalc updated pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750
19:58:55 *** Ox7C5 has quit IRC ()
19:59:17 <DorpsGek> [OpenTTD/OpenTTD] michalc updated pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750
20:00:50 <LordAro> does it correctly limit it to GSes ?
20:02:03 <DorpsGek> [OpenTTD/OpenTTD] michalc commented on discussion #12496: Autosaving in game time rather than real time https://github.com/OpenTTD/OpenTTD/discussions/12496
20:03:18 <DorpsGek> [OpenTTD/OpenTTD] michalc updated pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750
20:06:56 <DorpsGek> [OpenTTD/OpenTTD] michalc updated pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750
20:08:00 <peter1138> This is very andy... trying to work around something by doing it in GS.
20:08:47 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750#issuecomment-2146028033
20:08:53 <andythenorth> it's the next wave
20:09:05 <andythenorth> "this is the year of GS on the desktop"
20:10:04 *** michalc5706 has joined #openttd
20:10:04 <michalc5706> truebrain: Oh no!
20:10:16 <truebrain> We already have three places that do this .. console, rcon, adminprotocol .. we could better focus on improving those to supply this functionality, than to add a fourth πŸ™‚
20:10:51 <truebrain> michalc5706: Sorry, not sure who steered you in this direction, but it really isn't a good idea (in my opinion)
20:11:00 <DorpsGek> [OpenTTD/OpenTTD] James103 commented on pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750#issuecomment-2146033327
20:11:10 <michalc5706> truebrain: Er... I just steered myself!
20:11:27 <truebrain> GameScript should not be able to interact with the game like this .. Just imagine the DoS potential here πŸ™‚
20:12:53 <truebrain> I once did fantasise about creating a Scripting addition for the console
20:13:03 <truebrain> Instead of the current console .. "langauge" πŸ˜›
20:13:18 <truebrain> ConsoleScript when? πŸ™‚
20:13:34 <truebrain> ServerScript?
20:13:46 <truebrain> SudoScript? πŸ˜›
20:14:37 <truebrain> But more short term, maybe a nice idea to make a console command that triggers a console script every N ticks?
20:15:35 <peter1138> In a different language? Something obscure and obsolete, of course.
20:16:08 <peter1138> GameScript really means GameplayScript.
20:18:12 <truebrain> There is already a new-game console hook, that calls a script when a new game starts
20:18:51 <truebrain> So maybe better to have a "trigger <script> <interval-in-ticks>", which calls the console script after N ticks
20:19:02 <truebrain> If you want to repeat that, call it again in that script
20:19:16 <truebrain> "Script" .. they are just files with console commands to execute πŸ˜„
20:19:33 <truebrain> Not actual scripts like GS
20:19:59 <michalc5706> truebrain: Ah that is very almost what I would like, but I did actually like the save happening on the 1st of every month... so not _exactly_ a fixed amount of game ticks
20:20:19 <truebrain> So much demand πŸ˜› πŸ˜›
20:20:48 <_jgr_> michalc5706: If you're happy with saves being output at a fixed deterministic interval you can run with `-d desync=3`
20:20:56 <_jgr_> This will write saves to the autosave folder
20:21:10 <truebrain> `trigger bla.scr on-month-change` πŸ˜„
20:22:22 <truebrain> `schedule bla.scr */30 * * *`
20:22:22 <truebrain> `schedule bla.scr * 1 * *`
20:22:25 <truebrain> πŸ˜„
20:22:36 <truebrain> Not sure any of these are good ideas πŸ˜›
20:23:29 <truebrain> Ticks, day, month, year, was my imaginary units for schedule btw
20:25:29 <michalc5706> _jgr_: Oh will have a nose around the desync thing!
20:26:39 <truebrain> Btw, don't ask why the extension is scr .. I just don't want to talk about that πŸ˜›
20:27:03 <michalc5706> truebrain: I wonder if `trigger bla.scr monthly`? Is reasonable... can be added to later with daily or whatever
20:28:03 <truebrain> Either "trigger next month" or "schedule monthly", but yeah, console is a bit of a mess anyway. I wouldn't have an issue with that.
20:28:37 *** gelignite has quit IRC (Quit: Stay safe!)
20:28:42 <michalc5706> Ah: so I don't need it for my case, but should there be a way of stopping the schedule?
20:29:01 <truebrain> That is why I like the trigger idea a bit more
20:29:13 <truebrain> You can set a new on in your script if you want to keep going
20:29:30 <michalc5706> Oh I see
20:29:36 <truebrain> There is no branching btw
20:29:41 <truebrain> So there is that
20:30:30 <michalc5706> To check something, do games progress during the script? It's not in a thread or anything like that?
20:30:51 <truebrain> Console is very old, like, very old
20:31:00 <truebrain> It runs in the game thread, blocking
20:31:07 <michalc5706> That is actually what I want!
20:31:35 <_glx_> but GS also run when game is paused
20:32:17 <_glx_> as it can pause and unpause
20:32:34 <michalc5706> _glx_: Ah I wasn't too conscious of that - but for my case I would have checked the game date before doing anything (but understood, Game Script is not the place for what I want)
20:33:01 <truebrain> GameplayScript would have been such a better name πŸ˜„
20:36:07 <michalc5706> Thanks for all your time! Next step: I will have a nose around the console code and see if I can add something (and close https://github.com/OpenTTD/OpenTTD/pull/12750)
20:36:27 <truebrain> No worries. Here to help (and judge πŸ˜› )
20:37:05 <michalc5706> Always happy for some (friendly!) judgement πŸ˜€
20:42:50 <DorpsGek> [OpenTTD/OpenTTD] michalc closed pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750
20:42:53 <DorpsGek> [OpenTTD/OpenTTD] michalc commented on pull request #12750: Add: [Script] GSController::TriggerSave to trigger saves from game scripts https://github.com/OpenTTD/OpenTTD/pull/12750#issuecomment-2146086959
23:48:30 *** Flygon has quit IRC (Read error: Connection reset by peer)