Config
Log for #openttd on 1st August 2020:
Times are UTC Toggle Colours
00:01:56  * Timberwolf uploads alpha versions to forum post
00:02:07  *** Progman has quit IRC
00:21:49  <b_jonas> I still can't serve the steel mill with enough steel trains. I'm selling my 36 steel trains and 8 goods trains and upgrading this line to maglev.
00:22:09  <b_jonas> upgrading might not be enough, but I don't think it will make this worse
00:31:51  <b_jonas> wee, mass train purchase! 36 maglevs
00:35:30  <b_jonas> although I may have to sell a few of these. 36 monorails seemed to be less than the capacity of the network I built, so that I would have bought more, but I'll probably be able to run somewhat fewer maglevs than monorails. we'll see, currently they're in a temporary jam from starting them all at once.
00:38:04  <b_jonas> FINALLY! 69% rating on the steel
00:38:20  <b_jonas> they do seem to be jamming so I'll sell a few
00:40:12  <b_jonas> steel rating is still rising
00:41:58  <b_jonas> I may still have to get back to this, to be able to transport enough goods, but this is much better than it used to be
02:31:46  *** debdog has joined #openttd
02:35:07  *** D-HUND has quit IRC
02:58:43  *** Flygon has joined #openttd
03:18:27  *** glx has quit IRC
06:31:31  *** Wolf01 has joined #openttd
06:42:20  <Wolf01> Wtf, my pc case fans are raising the temperature instead of dropping it
06:53:50  *** nielsm has joined #openttd
07:02:34  <Wolf01> Case is perfectly stable at 53°C, with the GPU at 83°C
07:07:27  *** WormnestAndroid has quit IRC
07:07:40  *** WormnestAndroid has joined #openttd
07:14:38  <TrueBrain> 53 degrees? What the hell are you doing to it?
07:14:48  <Wolf01> Turned it on
07:14:56  <TrueBrain> you can bake an egg on that case
07:15:00  <Wolf01> Yes
07:15:12  <TrueBrain> that is not normal you know :P
07:15:15  <Wolf01> Yes
07:15:34  <TrueBrain> Man of few words I see :D
07:15:52  <Wolf01> I think the sensor is a bit off, the other one shows 38°C
07:16:09  <TrueBrain> well, touch your case and you will know :P
07:16:14  <TrueBrain> you either burn your finger or not :D
07:16:16  *** iSoSyS has joined #openttd
07:17:15  <Wolf01> It's not hot
07:17:50  <Wolf01> Maybe there's a point near the chipset sensor where the air flow can't get well
07:18:09  <TrueBrain> not simply your CPU temp? :)
07:18:22  <Wolf01> No, that's at 38-42°C
07:18:51  <Wolf01> Even on load it reaches at most 50°C
07:21:18  <Wolf01> The problem is that the GPU cooling system is blowing like a hairdrier inside the case instead of use that nice big hole that there's on the rear end
07:26:23  *** andythenorth has joined #openttd
07:27:16  <TrueBrain> welcome andythenorth
07:29:15  <Wolf01> https://images.hothardware.com/contentimages/newsitem/47099/content/ASUS_TUF_GeForce_RTX_2060_Back.jpg see, the grill on the support is decorative, the heat is blown out from the top, where you can see the copper pipes
07:34:51  <Wolf01> andythenorth: https://www.ironhorsebrickco.com/
07:35:16  <Wolf01> Just found it this morning
07:35:49  <andythenorth> Wolf01 I read about them when they announced they quit :)
07:36:13  <Wolf01> Yep, I read about that too
07:38:31  <Wolf01> Would be possible on train whack to generate realistic consists? Like something based on engine power, so you won't see a shunting engine with 15 hoppers
07:39:54  <Wolf01> Or 3 extremely overpowered heavy freight engines and 4 flat wagons
07:41:28  <Wolf01> And a bit of love for MUs :P
07:58:35  <andythenorth> I think you have to upgrade to OpenTTD for that
07:58:40  <andythenorth> or fork
07:58:42  <Wolf01> :D
07:58:58  <andythenorth> I did consider doing it, but I pretty much had my fun with TW
08:10:00  <nielsm> https://www.youtube.com/watch?v=NxV2zyJTR2g  very good video about the first electric loco in dk (and history of electrification here: too little and too late)
08:14:11  <andythenorth> danish Horse :P
08:18:21  <nielsm> around 21 minutes is also shows one of the antique "broom closet" shunters in use, pushing one of the EA locs into the railway museum
08:20:31  *** Progman has joined #openttd
08:34:04  <andythenorth> lol cdist
08:34:09  <andythenorth> pax networks
08:34:18  <andythenorth> I clear out one station, and create problems at the next
08:35:27  <andythenorth> :D
08:50:25  *** sla_ro|master has joined #openttd
08:54:48  *** iSoSyS has quit IRC
09:10:44  *** frosch123 has joined #openttd
09:30:23  *** HerzogDeXtEr has joined #openttd
09:36:25  <frosch123> foobar invented phpnml :p
09:36:41  <nielsm> wow
09:39:15  <frosch123> so, what to do: there is an old phpnml set on devzone. the coder is no longer around and other people want to continue. they do not know the technicallities of vcs or code generation, so just post modified versions of the originally generated nml. now they ask for access to bananas to upload updates
09:39:40  <frosch123> i am not sure how hard they tried to contact foobar
09:40:25  <frosch123> but i can ask that
09:42:33  <frosch123> i guess the easiest solution is: they shall contact foobar, if foobar is fine then it's okay. otherwise they should just make a new grfid like first234
09:59:56  <andythenorth> thanks :)
10:01:43  <andythenorth> nobody invented perl-nml yet?
10:01:58  <_dp_> lisp-nml :p
10:02:28  <andythenorth> goloang-nml?
10:02:32  <andythenorth> node-nml oof
10:02:47  <_dp_> jinja-nml would probably even make some sense
10:03:09  <andythenorth> what I'm doing is only one step away from jinja-nml
10:03:15  <andythenorth> some of the syntax is similar
10:03:57  <_dp_> i just generate it with python
10:04:44  <andythenorth> %s for everything? :P
10:04:57  <_dp_> f
10:05:30  <andythenorth> I considered just using the Template builtin for everything
10:05:32  <andythenorth> it's quite god
10:05:34  <andythenorth> good *
10:18:20  <andythenorth> so can a GS disable if specific version of specific grf isn't present?
10:18:32  <andythenorth> I think I asked this before
10:18:46  <andythenorth> the solution was a fake industry using 16-in / 16-out cargos as a unique hash
10:20:56  <frosch123> you can read cargo labels
10:21:25  <frosch123> i consider this idea "check for specific grf" really stupid. firs versions are very different
10:21:41  <frosch123> how could a gs work for firs from today and 2 years ago, but not for some other industry grf
10:21:46  <frosch123> ENoSense to me
10:22:09  <_dp_> my first thought was to do some fake object but can GS even interact with object?
10:23:27  <_dp_> not all gs can reasonably work with unknown newgrfs
10:24:20  <andythenorth> some of the things the FIRS GS seems to need to do
10:24:35  <andythenorth> I don't really want to have to test with other industry grfs :)
10:24:47  <andythenorth> I barely have time to test the grfs I make
10:25:31  <andythenorth> I'm not sure there should even be a FIRS GS tbh
10:26:15  <andythenorth> I don't know how I'd ever test it, FIRS changes during every savegame as I find things to fix, and that will constantly break the GS
10:26:41  <frosch123> why would you try to test a gs with all industry sets? you can't test it with next-years firs anyway
10:27:00  <andythenorth> well I guess....since I stopped reading forums, reddit, and GH
10:27:05  <andythenorth> I wouldn't get bug reports?
10:27:14  <frosch123> isn't that a good thing?
10:27:32  <andythenorth> it is for me :)
10:27:40  <andythenorth> not sure about the people with broken games :)
10:27:52  <andythenorth> but eh, I can't go round fixing the world, I go mad
10:28:16  <frosch123> is it signficiant compared to breaking games by adding 50 random newgrfs?
10:28:21  <andythenorth> unlikely
10:28:23  <_dp_> don't worry, 90% of people with broken games don't even seem to ever realize it's broken :p
10:28:29  <andythenorth> ok, Schrodinger's GS, maybe I make one, maybe I don't
10:28:42  <andythenorth> all I want (right now) is a cargo goal for town cargos
10:28:48  <andythenorth> that actually knows which cargos make sense :P
10:29:04  <frosch123> fill this box with 100m³ of alcohol to ensure the cat is dead?
10:29:18  <andythenorth> ha
10:29:31  <andythenorth> Silicon Cargo Bee
10:29:33  <andythenorth> is what I need
10:29:39  <frosch123> andythenorth: you can scan town areas and detect cargo acceptance
10:30:05  <andythenorth> separately for industries and houses? :)
10:30:19  <frosch123> i think so
10:30:35  <andythenorth> hmm, I need to try forking something :P
10:30:36  <_dp_> funnily enough broken simple cb requires alcohol as one of first cargos...
10:30:56  <andythenorth> _dp_ also house acceptance :( :P :X :D
10:31:37  <andythenorth> anyway time for some actual outside :)
10:34:08  *** andythenorth has quit IRC
11:41:43  <_dp_> this doesn't look right: https://github.com/OpenTTD/OpenTTD/blob/master/src/engine.cpp#L682
11:41:57  <_dp_> shouldn't it be &= ~ENGINE_AVAILABLE ?
11:42:26  <_dp_> I may even know how this bug manifests
11:44:18  <nielsm> hm that does look a bit weird
11:44:58  <frosch123> _dp_: it'S the value for engine expired
11:45:08  <frosch123> ENGINE_AVAILABLE means it has been introduced
11:45:20  <frosch123> company_avail=0 means its no longer available
11:45:57  <frosch123> ENGINE_AVAILABLE is more like ENGINE_NO_LONGER_NEEDS_TO_BE_CHECKED_FOR_INTRODUCTION
11:46:14  <_dp_> frosch123, well, I wouldn't engine from other climate as ever being introduced :p
11:46:27  <_dp_> though it doesn't need to be checked indeed
11:48:08  <frosch123> there are multiple methods to achieve something :) this one is probably copied from line 585/603
11:50:18  <frosch123> also, it's CS code again
11:52:37  <_dp_> ok, another interesting question is then does this line work? https://github.com/OpenTTD/OpenTTD/blob/master/src/engine.cpp#L1132
11:53:05  <_dp_> it probably does by the virtue of company mask being 16 bit with only 15 playable companies, but...
11:56:04  <frosch123> i think company_avail was pretty stupid. it's either 0 (not available to anyone), 1 bit set (preview), or all bits set
11:56:16  <frosch123> it does not set/clear bits when companies start or bankrupt
11:57:03  <frosch123> so you may be able to replace that line with e->company_available == -1 or similar
12:01:58  *** glx has joined #openttd
12:01:58  *** ChanServ sets mode: +v glx
12:02:49  <_dp_> yeah, I was actually trying to reset it at company start but couldn't figure out what to put there xD
12:03:02  <_dp_> first logical thing would be check ENGINE_AVAILABLE but nope :p
12:15:42  *** iSoSyS has joined #openttd
12:18:38  *** Progman has quit IRC
12:22:39  *** iSoSyS has quit IRC
12:46:50  <_dp_> lol https://i.imgur.com/rbdAAXQ.png
12:48:46  *** jottyfan has joined #openttd
12:48:49  <Eddi|zuHause> why would those bits need to be reset for company start/bankrupt?
12:55:38  <b_jonas> Eddi|zuHause: because a company can get an engine one year early for "exclusive testing". it's a weird TTD mechanic.
12:56:17  <b_jonas> the annoying part is only the popup you get for it.
12:56:21  <Eddi|zuHause> yes, i know that. doesn't answer the question
12:57:23  *** jottyfan has quit IRC
12:58:24  <_dp_> Eddi|zuHause, it reuses company id in multiplayer so even ignoring GS stuff company getting a preview it was never offered isn't quite right
13:00:39  <Eddi|zuHause> so.. if a company with a preview goes bankrupt, you could move the preview bit from <company> to bit 15
13:01:33  <Eddi|zuHause> then game mechanics wise, it'll still meet the invariant of "exactly 1 bit set", but that bit will not match any company
13:01:45  *** andythenorth has joined #openttd
13:01:50  <_dp_> you mean from bit 15? that's a solution, yes, though a bit hacky
13:02:55  <_dp_> there is no invariant of 1 bit set
13:03:32  <andythenorth> can't see a method for GS to read town registers
13:03:37  <andythenorth> do I just overlook it?
13:03:41  <andythenorth> https://docs.openttd.org/gs-api/classGSTown.html
13:04:31  <_dp_> what are town registers? xD
13:05:07  <Eddi|zuHause> andythenorth: who said there was such a thing available?
13:05:21  <andythenorth> things are usually found in the last place we look
13:06:03  <andythenorth> _dp_ https://newgrf-specs.tt-wiki.net/wiki/Storages#Persistent_storage
13:06:12  <andythenorth> "Persistent storage accessed by GRFID"
13:06:31  <andythenorth> oh, the GS won't know the GRFID
13:06:35  <andythenorth> nvm
13:06:37  <_dp_> oh, yeah, I'd be very surprised if GS had access to that.
13:06:53  <andythenorth> every story about GS seems to go that way
13:07:29  <andythenorth> if we took these diagrams, and modified them https://newgrf-specs.tt-wiki.net/wiki/VehicleRefitting
13:07:35  <andythenorth> so that all arrows pointed to 'NOPE'
13:07:37  <andythenorth> that's GS
13:08:10  <_dp_> andythenorth, there are few arrows that point to CB and such :p
13:08:46  <frosch123> andythenorth: all the early gs were about adding metrics and scoring, not about changing the game
13:09:01  <andythenorth> I know, and I shouldn't complain so much :P
13:09:09  <_dp_> but tbh everything about openttd modding feels like it was never meant to allow any modding :P
13:09:12  <frosch123> i think the expectations on gs shifted
13:09:20  <andythenorth> because the spec war was lost
13:09:41  <andythenorth> a bunch of people who no longer contribute declared GS had won and newgrf evolution would stop
13:09:53  <andythenorth> (specific to towns and economy)
13:10:03  <andythenorth> it's one reason pikka took a long break, he lost that war
13:10:26  <_dp_> hm, where do I fit in that statement I wonder xD
13:10:31  <andythenorth> dunno :)
13:10:36  <andythenorth> stuff and things
13:10:50  <andythenorth> game's gonna game
13:11:15  * andythenorth looks what houses can do in newgrf
13:11:34  <frosch123> they look nice
13:12:03  <andythenorth> all I want to do initially is adjust town growth to fit common misconception about how it works
13:12:35  <frosch123> blame the city builders
13:12:46  <frosch123> i have no idea where to obsession of growing towns comes from
13:12:52  <andythenorth> well
13:13:02  <andythenorth> recently I have turned town growth to minimal
13:13:15  <andythenorth> notably my 10 year old is obsessed with how big a town can grow though
13:13:23  <andythenorth> I use him as a benchmark for the typical player
13:13:36  <frosch123> the typical teenage player :p
13:13:43  <andythenorth> he's very reddit
13:14:01  <andythenorth> overly articulate for his age, very well informed about some topics, quite naive about RL
13:14:16  <frosch123> i think as a teenager i was annoyed that the concorde with capacity 110 performed worse than than some slow plane with 350 pax
13:14:32  <frosch123> i didn't understand that the bottleneck was the airport
13:14:37  <andythenorth> I was just annoyed that signals didn't work in any way I could understand :)
13:14:55  <andythenorth> and the steel mill always closed just as I finished the line to it :)
13:14:57  <Eddi|zuHause> i was annoyed that there were no one way signals
13:15:01  <frosch123> it was only "it is faster, how could it possibly transport less"
13:15:11  <andythenorth> I was playing in 1995 or so, I don't know even if it was TTD or TTO
13:15:16  <Eddi|zuHause> ... and then i figured out a way to make it one-way anyway
13:15:34  <andythenorth> there *must* be a town growth cb in newgrf, right?
13:15:40  <_dp_> there is a gap in functionality that neither newgrf nor gs can ever close as newgrfs suck for logic and don't know anything about the game goals and gs is server-side and slow
13:15:48  *** Samu has joined #openttd
13:16:06  <andythenorth> hmm seems no town growth cb
13:16:49  <_dp_> basically gs only knows what to do and newgrf only knows how :p
13:17:06  <andythenorth> maybe cb 17 can be abused for town growth
13:17:16  <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/Callbacks#House_construction_check_.2817.29
13:17:38  <andythenorth> _dp_ it's worse than that
13:17:53  <andythenorth> only GS knows what to do, but it doesn't know when or why
13:18:00  <andythenorth> it's blind to things like cargos afaict
13:18:20  <frosch123> it isn't
13:18:59  <frosch123> gs know more about cargos than vehicle grfs
13:19:01  <_dp_> well, I'm not even considering universal GS whatever, in my mind GS always knows what newgrfs it has
13:19:09  <_dp_> if it broke it broke, don't play that
13:19:15  <andythenorth> but newgrfs change
13:19:22  <andythenorth> and newgrfs have parameters
13:19:33  <andythenorth> hey I should draw a design of my problem :)
13:19:37  <andythenorth> that might help
13:19:45  <frosch123> surprise, gs also have parameters
13:19:50  <_dp_> good cb can never work with universal cargo
13:20:19  <andythenorth> I am stuck currently :)
13:20:30  <_dp_> and that probably works for any game mode, either it's specialized or junk
13:20:36  <andythenorth> if I try to start from the design, the implementation fights it :)
13:20:50  <andythenorth> and if I try to start from the implementation, I have no idea of the design :)
13:20:55  <andythenorth> neither makes for good work
13:24:00  <_dp_> IMO simple CB is a very good example of how that current design of universal gs doesn't work at all
13:24:24  <_dp_> like, sure, it works with never firs, but town requirements are all messed up and if you want to fix it settings are all wrong as well
13:24:44  <_dp_> don't think anyone ever got through that mess to configure it properlyl
13:26:48  <_dp_> it takes a lot of trial and error to balance cb well, no way that can ever be done automatically for unknown game configuration
13:29:00  <_dp_> there are just so many settings that turn the whole gameplay upside down or kill it straight away
13:29:16  <_dp_> like, good luck citybuilding when exclusive rights are enabled on the server :p
13:30:56  <andythenorth> https://grf.farm/images/046FBD71-5795-4271-8AB7-5BA6D90D84A1_1_105_c.jpeg
13:31:20  <andythenorth> ^ I don't know if that can be implemented currently
13:32:25  <Eddi|zuHause> that's not a well-defined requirement :)
13:32:50  <andythenorth> that it can be implemented?
13:33:01  <_dp_> andythenorth, that looks like your typical cb :p
13:33:09  <andythenorth> how?
13:33:25  <andythenorth> there's no property for 'industry accepted cargo' afaict https://docs.openttd.org/gs-api/classGSIndustry.html
13:33:44  <_dp_> there is cargo monitor
13:33:46  <andythenorth> oh it's in cargomonitor :)
13:34:01  <_dp_> though I'm not sure how much exactly it can do as I'm not really using it myself
13:34:17  <andythenorth> it's used in Busy Bee I think
13:34:24  <andythenorth> TBH I don't really understand busy bee
13:34:38  <andythenorth> most of my commits are followed by 'Fix: andy broke stuff' by albert
13:34:52  <_dp_> typically gs counts everything for a town that's linked to a station it was delivered to
13:35:15  <Eddi|zuHause> andythenorth: i mean, it's not clear what's even demanded... "for {any|all} town[s], for any/all industr{y|ies} [in this town], for {any|all} {input|output} cargo[s]"...
13:35:18  <_dp_> * cb gs
13:36:19  <andythenorth> Eddi|zuHause specifying any detailed design is going to fail on the spec not permitting it
13:36:29  <andythenorth> given that outline, I want to figure out what's possible
13:36:42  <_dp_> yeah, it usually comes to "what I can even do that's close enough" :p
13:38:14  <frosch123> andythenorth: https://docs.openttd.org/gs-api/classGSTown.html#afb641936e800cc5c4a876738aa57f3d1 <- that considers all cargo delivered to stations of the town
13:38:21  <frosch123> so your gs should be about 20 lines
13:39:13  <andythenorth> I am favouring a short GS :)
13:39:16  <andythenorth> less to go wrong
13:39:28  <andythenorth> do I read that correctly, it needs to know town effects on the cargo?
13:40:36  <frosch123> looks like there is a differene for cargo delivered and cargo produced
13:41:01  <frosch123> for stuff produced at the town you can read per cargo
13:41:08  <frosch123> for stuff delivered only per towneffect
13:41:56  <frosch123> so, if you define service as "output cargo is transported" you are fine
13:42:19  <frosch123> powerplants lose
13:42:30  <andythenorth> yeah, so the industries are all black holes :)
13:42:34  <andythenorth> that's not on the diagram
13:42:45  <andythenorth> diagrams are mutable :P
13:43:36  <_dp_> I was wondering what's the difference between GetLastMonthProduction and GetLastMonthSupplied
13:43:40  <_dp_> apparently none xD
13:44:03  <_dp_> oh, nvm, there is...
13:45:04  <andythenorth> updated :) https://grf.farm/images/046FBD71-5795-4271-8AB7-5BA6D90D84A1_1_105_c.jpeg
13:45:56  <andythenorth> my failed idea was to have the industry write to a town register if it's happy or not
13:46:03  <andythenorth> and then GS just checks town register(s)
13:46:06  <andythenorth> probably 5 lines :P
13:46:21  <andythenorth> and works with any FIRS economy after version X
13:46:32  <andythenorth> doesn't need to know anything about cargos or industries
13:47:30  <frosch123> _dp_: docs are easier if they group functions, instead of documenting each function on their own
13:49:03  <andythenorth> probably a few more lines to remove the town requirements in arctic and desert eh :)
13:49:38  *** sla_ro|master has quit IRC
13:50:55  <frosch123> andythenorth: maybe you should add a cargo "happyness certificate"
13:51:06  <frosch123> industries produce it when happy, and you can transport it to towns
13:51:17  <frosch123> it's the only cargo with a town effect
13:51:36  <andythenorth> is the label LOLZ?
13:52:06  <andythenorth> the most plausible suggestion right now is putting a house set inside FIRS, or doing a separate house grf
13:52:06  <frosch123> or YAYZ
13:52:29  <andythenorth> just use a GS to turn off town cargo requirements
13:52:36  <andythenorth> do everything else in newgrf
13:52:40  <frosch123> andythenorth: whatever you do with houses, it breaks when you add multiple house grfs
13:52:53  <frosch123> houses are not suitable for economy stuff
13:53:31  <frosch123> andythenorth: isn't there a grf that alows usnig any climate landscape in any climate? maybe ogfx+industries
13:53:37  <andythenorth> town newgrf stuff was backed out solely because of GS?
13:53:40  <andythenorth> or it was flawed?
13:53:54  <andythenorth> https://wiki.openttd.org/Frosch/Town_Control
13:54:26  <frosch123> andythenorth: newgrf stuff is always local
13:54:33  <frosch123> people wanted stuff that acted global
13:54:45  <frosch123> though not sure whether anybody succeeded with that
13:55:11  <frosch123> people complain that industries close all the time on huge maps, because they scale with map size
13:55:19  <frosch123> gs do not scale with mapsize
13:55:48  <frosch123> andythenorth: also https://wiki.openttd.org/Frosch/GS-NewGRF_Communication_via_JSON
13:56:05  <andythenorth> oh yes :)
13:56:22  <andythenorth> I assumed you were trolling about that for some reason, but the spec is too detailed for a troll :)
13:57:44  <andythenorth> it would absolutely solve the design I drew
13:57:52  <frosch123> andythenorth: is there anything on that town_control page, that cannot be done with gs?
13:58:05  <frosch123> or is it only about being able to define the rules within the industry set?
13:58:39  <andythenorth> 2 answers (1) I can't see a method for GS to read town registers (2) yes
13:59:04  <andythenorth> I think it's much simpler to keep all the logic about cargos, happiness, blah blah inside the industry newgrf
13:59:15  <frosch123> ah, i forgot the communication via side effects :)
13:59:15  <andythenorth> and just emit a single 1 or 0 for happiness
13:59:46  <andythenorth> I don't really want to have to generate a GS from inside the FIRS compile, to get the cargos and industries
13:59:52  <andythenorth> I guess I could add the FIRS repo as a remote
14:02:26  <andythenorth> I should probably learn how town effect cargos work
14:03:14  <frosch123> oh my, the scam that is sent to ottd.org... sometimes i do not know whether it is actually a scam, or just a stupid person
14:03:21  <andythenorth> pls share :P
14:04:03  <andythenorth> is the wiki wrong btw?
14:04:05  <andythenorth> "Town growth can be accelerated by loading or unloading at least one item of cargo at up to five stations within town influence within a 50 day period. It does not matter which cargos are loaded/unloaded."
14:04:13  <andythenorth> is that actually how it works?
14:04:29  *** jottyfan has joined #openttd
14:05:00  <frosch123> https://dpaste.org/EKR7 <- it has no dodgy links to be a scam
14:05:30  <andythenorth> just optimism :)
14:05:58  <frosch123> andythenorth: wiki is correct
14:06:33  <andythenorth> how does that relate to prop 18? https://newgrf-specs.tt-wiki.net/wiki/Action0/Cargos#Substitute_type_and_multiplier_for_town_growth_.2818.2C_19.29
14:06:47  <frosch123> there is a difference between "towns can grow" (defined by climate/towneffect) and "speed of town growth" (defined by that 1..5 serviced stations rule)
14:07:04  <andythenorth> and TOWNGROWTH_PASSENGERS?
14:07:12  <andythenorth> just seems to be a reporting flag?
14:09:03  <andythenorth> oh my savegame is locked into ffwd mode
14:09:07  <andythenorth> and won't come out of it
14:09:09  <andythenorth> that's a new bug
14:10:42  <frosch123> broken shift/tab key?
14:10:53  <andythenorth> client had crashed in an odd way
14:11:03  <andythenorth> restarted it, fine
14:11:30  <andythenorth> TOWNGROWTH_GOODS is for Toyland or something?
14:12:00  <frosch123> it's for ttdp
14:12:37  <andythenorth> trying to figure out if town effects are the safest way to communicate FIRS -> GS
14:12:43  <frosch123> ttdp has a built-in gs that has parameters for required amounts of pax/mail/goods/food/water
14:12:49  <andythenorth> I don't really want to generate a GS from the FIRS compile
14:12:51  <frosch123> it predates newcargos
14:14:13  <andythenorth> I think what I want to do is a trivial use of https://docs.openttd.org/gs-api/classGSCargoMonitor.html#afd23dc4fd1e2eda15086124a9e4c6184
14:14:26  <andythenorth> as long as I have a pre-baked list of cargos, and can find which FIRS economy it is
14:14:48  <andythenorth> I think that has the unwanted requirement of versioning GS against FIRS version
14:14:49  <Eddi|zuHause> there's a fundamental design flaw of ttdp where it pretends all those "patches" are orthogonal on/off switches, yet some of them aren't as orthogonal as they seem
14:15:21  <andythenorth> such is the life of a designer :)
14:15:55  <Eddi|zuHause> andy's problem is the opposite of that, GS and NewGRF are specifically designed to be orthogonal, but he wants to correlate them somehow
14:17:23  <andythenorth> there's a fundamental design flaw of GS where it's pretends to be able to control the economy, yet it's specifically designed to be orthogonal to newgrf
14:17:49  <andythenorth> BUT
14:18:11  <andythenorth> TOWNGROWTH_GOODS is fair game, it will have no effect in OpenTTD unless a GS is specifically looking for it?
14:18:28  <andythenorth> so we have a single bit signalling channel from newgrf -> GS?
14:19:05  <andythenorth> but I have to be careful that only setting TOWNGROWTH_GOODS will break arctic and tropic?
14:19:28  <Eddi|zuHause> i think we've been at this point multiple times in the past 5 years
14:20:31  <_dp_> andythenorth, why do you want to signal anything from newgrf? cb gamescripts count coal just fine as long as they can figure out what is coal :p
14:20:46  <andythenorth> how do they know what is coal?
14:21:00  <_dp_> by cargo label?
14:21:06  <andythenorth> but how do they know what coal means?
14:21:26  * andythenorth wonders why FIRS 4 doesn't break tropic
14:21:31  <andythenorth> oh I set vehicles to be water
14:21:32  <andythenorth> ok
14:21:34  <_dp_> they just assume
14:21:55  <andythenorth> seems ass backwards to me, I just don't get it
14:22:07  <andythenorth> I literally have no idea how that's supposed to work :)
14:22:11  <andythenorth> is there a picture? :)
14:22:40  <andythenorth> ok so I can't just use TOWNGROWTH_GOODS
14:22:49  <andythenorth> because in some cases that needs to be TOWNGROWTH_WATER
14:22:56  <andythenorth> but the GS might be able to handle both cases
14:23:18  <andythenorth> it's quite complex to design for the GS and non-GS case both
14:24:00  <andythenorth> oh lol, the FIRS cargos don't have any economy support
14:24:06  <andythenorth> I deliberately kept them simple
14:24:19  <andythenorth> so I can't set a town effect per economy without patching FIRS
14:25:19  <Eddi|zuHause> andythenorth: i don't see what the problem is... you define FOOD and WATER for things that a town could "need", and GOODS for things that a town could "want"
14:25:51  <Eddi|zuHause> and things that you think the town shouldn't care about get neither...
14:25:57  <andythenorth> I have to define WATER for vanilla compatibility reasons
14:26:14  <andythenorth> and the cargos defining WATER overlap with those that would define GOODS
14:26:15  <Eddi|zuHause> yes, there needs to be at least one FOOD and WATER
14:26:25  <andythenorth> the GS would have to handle it
14:26:31  <andythenorth> I don't think that's unresolvable
14:26:35  <Eddi|zuHause> FOOD and WATER are stronger than (and override) GOODS
14:26:45  <andythenorth> I think that's fine
14:27:27  <andythenorth> ok so this helps refine the design
14:27:52  <andythenorth> so now I need to change the town effect depending which industry type a cargo is delivered to
14:27:57  <andythenorth> is there a cb that can do that?
14:27:59  * andythenorth looks
14:28:12  <_dp_> you can probably reset all default cargo requirements with ScriptTown::SetCargoGoal if that's the issue
14:28:14  <andythenorth> supplying some industries cause towns to grow, supplying the same cargo to others should not
14:28:22  <Eddi|zuHause> that sounds like an action6/7/9/D thing, not a callback
14:28:24  <andythenorth> _dp_ I have to handle the non-GS case
14:28:35  <andythenorth> most people don't know what GS is or use them
14:28:36  <_dp_> andythenorth, for non-gs you set cargo effects
14:28:53  <Eddi|zuHause> town effect isn't context sensitive like that
14:29:02  <Eddi|zuHause> cargo gets delivered to stations, not industries
14:29:19  <andythenorth> that's interesting
14:29:29  <andythenorth> ok maybe town effects isn't the solution then
14:29:45  <andythenorth> maybe cargo monitor on specific industries
14:30:00  <andythenorth> which means I need to generate a versioned GS from FIRS
14:30:11  <Eddi|zuHause> if two industries are near a station, town effect gets added up no matter which of these industries happen to get the stockpile
14:30:55  <Eddi|zuHause> and tile acceptance doesn't work for distinguishing this either, as each industry might contribute 4/8 of the acceptance
14:30:57  <andythenorth> yeah I'm going to ignore town effect
14:31:16  <andythenorth>  GetIndustryDeliveryAmount() will do what I need
14:31:25  <andythenorth> I just need to generate squirrel from python
14:31:33  <andythenorth> can't be hard
14:31:56  <andythenorth> there's no GS method to check the newgrfs in the game?
14:32:12  <andythenorth> seems odd but eh
14:32:45  <andythenorth> oh can the admin port read the newgrfs?
14:33:18  <andythenorth> nvm, GSAdmin only has send()
14:33:26  <_dp_> probably but it doesn't need to
14:34:02  <andythenorth> I think I can just use GSCargoList
14:34:18  <andythenorth> and if the cargos don't match specific FIRS version, pause the game
14:34:23  <Eddi|zuHause> andythenorth: even if it could, there wouldn't be a point to that, as it can't derive any useful information from just a GRFID
14:35:15  <andythenorth> I would have expected the action 14 version also
14:35:32  <Eddi|zuHause> that still means nothing
14:36:58  <b_jonas> I think I just made this station worse
14:36:58  <Eddi|zuHause> all your thoughts in that direction immediately fall apart at the point where you can't "bundle" a GS with the matching NewGRF version.
14:37:41  <andythenorth> why?
14:37:52  <_dp_> well, you can if you just run a server :p
14:38:04  <andythenorth> I'm not seeing the issue :)
14:38:34  <Eddi|zuHause> if every update of FIRS requires an update of the GS, you within months have 20 versions of each and no clue which one belongs to which
14:38:51  <andythenorth> but that's just how deps work?
14:38:53  <Eddi|zuHause> and that's ignoring any person other than you who might want to use it
14:38:58  <andythenorth> surely that's part of the design?
14:39:13  <Eddi|zuHause> that's the point: there's no "dep"
14:39:29  <andythenorth> but GS is intended to provide the global economy?
14:39:36  <andythenorth> this seems to be trying to have cake and eat it both :)
14:40:00  <andythenorth> it's moderately frustrating, that I want to do something simple :P
14:40:04  <andythenorth> and I'm told GS is the solution
14:40:11  <andythenorth> but then I'm told not to try it in GS
14:40:22  <andythenorth> what am I missing?
14:40:44  <Eddi|zuHause> no. what we're telling you is that the GS can't depend on the NewGRF.
14:40:48  <andythenorth> but it can
14:40:50  <andythenorth> I just upload both
14:40:59  <_dp_> it can but not officially :P
14:41:18  <Eddi|zuHause> it can, but it won't work, and become a maintenance nightmare
14:41:25  <andythenorth> I can even have 2 browser tabs open and press 'submit' on both at once
14:41:48  <andythenorth> do we know that it will?
14:41:53  <andythenorth> has anyone tried?
14:41:55  <_dp_> I actually wonder if there is a single cb gs that works reasonably with all industry sets
14:42:00  <Eddi|zuHause> you can set a dependency on bananas so each one gets downloaded with the other one. but you can't have a dependency on game setup
14:42:18  <andythenorth> newgrf can check for GS?
14:42:22  <andythenorth> does GS have action 14?
14:42:22  <Eddi|zuHause> no
14:42:25  <Eddi|zuHause> no
14:42:27  <andythenorth> hmm
14:42:43  <Eddi|zuHause> on clients, there is no GS. only the server has a GS
14:42:45  <andythenorth> this all seems a bit underwhelming given that it's the recommended solution for last ~many years
14:42:54  <Eddi|zuHause> but both server and client must do the same things
14:43:13  <andythenorth> I thought the GS<->Newgrf problem was a different one to this, about who controls which domain
14:43:20  <andythenorth> but this just seems fundamentally broken TBH :)
14:43:25  <_dp_> andythenorth, lol, that's how I feel about newgrfs now that I got into making them :p
14:43:48  <andythenorth> I mean, having cargos affect towns is such a trivial idea
14:43:50  <_dp_> andythenorth, bloody things can't even do trees, power lines and ground properly and you want to control towns :p
14:43:57  <andythenorth> and it seems to be totally baroque to achieve it
14:44:16  <andythenorth> and then when I come up with a solution that is simple in code, it turns out to not be usable?
14:44:22  <Eddi|zuHause> that's how life works... things that seem simple, usually aren't.
14:44:29  <andythenorth> this GS would be about 5 methods and not many lines
14:44:57  <andythenorth> but there is absolutely no way it can work orthogonal to the FIRS version, it will just be absolutely broken
14:45:39  <andythenorth> I assume a town control CB in newgrf is just not technically feasible?
14:45:54  <andythenorth> the problem would be the 'required for growth' cargos in the town window?
14:46:44  <andythenorth> well like FIRS disables itself if conflicting newgrfs are found
14:47:01  <andythenorth> I guess the GS just calls Game.Pause() if it doesn't find a valid FIRS
14:47:02  <Eddi|zuHause> andythenorth: that works, if you can ensure 3 conditions: 1) the GS "works" if the NewGRF isn't loaded. (might just do nothing at all), 2) the NewGRF "works" without the GS (it has 95% of the features, and those work the same way without the GS), and 3) the GS doesn't need to be modified with each NewGRF release
14:47:23  <_dp_> andythenorth, even in gs decent cb is barely feasible
14:47:56  <andythenorth> 1) Game.Pause() 2) yes, the GS must be progressive enhancement for the newgrf, not a dep for the newgrf (3) no, that requirement can't be satisfied, the GS will need modified
14:47:56  <_dp_> though I guess we use CB for different things xD
14:48:15  <Eddi|zuHause> andythenorth: "just call Game.Pause()" is the equivalent of a kid stomping on the ground saying "i want a pony"
14:48:18  <andythenorth> I don't even see how (3) could be modified, it seems to suggest that one side of the API can be changed without changing the other
14:48:25  <Eddi|zuHause> andythenorth: when has that ever solved any problem?
14:48:29  <andythenorth> eh?
14:48:40  <andythenorth> that's the conventional solution in newgrf
14:48:51  <andythenorth> just disable if conditions x / y / z are found
14:48:58  <andythenorth> has been for years
14:49:13  <Eddi|zuHause> no. that's disable the newgrf. not disable the game.
14:49:20  <andythenorth> Game.Pause() is service to the player, no point playing a broken game
14:49:34  <andythenorth> very disappointing
14:51:17  <andythenorth> frosch123 how many other spec drafts did you write? :)
14:51:32  <andythenorth> I remember we talked about something else recently that you already had a spec for :P
14:51:44  <andythenorth> can't remember what it was, but it was 2 cbs or so
14:52:24  <andythenorth> Eddi|zuHause alternative proposal to Game.Pause(), many GS popup a message at game start
14:52:46  <andythenorth> popup a message saying 'This GS is broken, do you want to continue Y | N?'
14:52:52  <_dp_> andythenorth, just do it, universal gamescripts is a myth :p
14:53:08  <andythenorth> do _dp_ :)
14:53:13  <andythenorth> fake news!
14:53:26  <andythenorth> Silicon Valley, NoCarGoal and Busy Bee are pretty universal
14:53:42  <andythenorth> BB will struggle with PBI stockpile limits
14:53:46  <andythenorth> it has no clue about those
14:53:51  <Eddi|zuHause> andythenorth: like i said. if you have a way to detect the brokennes, just disable the GS (= do nothing)
14:54:05  <andythenorth> and configuring SV or NCG with appropriate values is a nightmare
14:54:12  <Eddi|zuHause> andythenorth: the game is perfectly playable without any GS
14:54:14  <andythenorth> you have to play a game through to know what values are realistic
14:54:21  <_dp_> well, idk about first 2 but rewriting bb so I can actually use it has been on my todo list for years :p
14:55:32  <andythenorth> problems are? o_O
14:55:48  <_dp_> also bb doesn't actually do anything but makingn some suggestions to player
14:55:57  <an