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  <andythenorth> yes
14:56:05  <andythenorth> it's very hard to 'do anything'
14:56:15  <andythenorth> as the GS has no clue about the newgrf industries, cargos, the vehicles, the map
14:56:37  <_dp_> well, last time I checked it didn't go well with competitive mp sending everyone to one industry
14:56:38  <andythenorth> so setting arbitrary numbers based goals is kind of tricky
14:56:42  <_dp_> also is too random for my liking
14:57:00  <andythenorth> it was built as an antidote to NCG
14:57:17  <andythenorth> NCG has a single focussed goal, BB has many completely arbitrary goals
14:57:30  <andythenorth> I played both about same amount
14:57:58  <andythenorth> Eddi|zuHause what are the actual costs of a newgrf - GS dependency?
14:58:11  <andythenorth> do the costs only show up on reddit and in forums?
14:58:43  <Eddi|zuHause> that depends how much of an asshole you are to people who can't follow instructions
14:59:01  <Eddi|zuHause> which, btw. will be 99% of the users
15:00:40  <_dp_> you can judge by simple cb, once every few months there is a poor soul that actually notices he's been playing some nonsense
15:01:14  <andythenorth> well it seems I can't disable FIRS if wrong GS is found
15:01:19  <andythenorth> which is a shame
15:01:20  <b_jonas> oh heck they built this 4 tile dairy farm with its tiles on different heights
15:01:50  <b_jonas> no it's more than 4 squares, sorry, it's like 9 squares
15:01:55  <b_jonas> 1
15:01:57  <b_jonas> 10
15:02:11  <Timberwolf> GS requiring a particular (or one of n) GRFs is fine, imo. GRF requiring a GS would be annoying.
15:02:38  <andythenorth> hmm TTDPatchFlags are all just bool
15:02:48  <andythenorth> so they couldn't supply the GS I assume
15:02:49  <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/TTDPatchFlags
15:02:59  <Eddi|zuHause> that's the meaning of "Flag"...
15:03:03  <andythenorth> oh maybe https://newgrf-specs.tt-wiki.net/wiki/ReadingPatchVariables
15:03:21  <nielsm> GRF defines the objects the game is played with and their relationships, GS defines how the game progresses
15:03:23  * andythenorth looks what ID GS uses
15:03:52  <andythenorth> seems to be a dword?
15:04:05  <Eddi|zuHause> there's only misery down this road.
15:04:11  <Eddi|zuHause> don't go there.
15:05:38  <andythenorth> that means I'll have to maintain a backwards compatibility in FIRS with older GS
15:05:43  <andythenorth> that's going to be a total headache
15:05:59  <andythenorth> newer FIRS with older GS, and for some edge-case reason the GS doesn't disable
15:06:00  <Eddi|zuHause> FIRS without GS should work just as before.
15:06:19  <andythenorth> I'm not sure that holds
15:06:27  <andythenorth> the gameplay will be designed around the GS
15:06:32  <Eddi|zuHause> that's the only way this will ever work.
15:06:37  <andythenorth> if it's missing, then the FIRS gameplay might be junk
15:06:50  <andythenorth> it's kind of the point
15:07:17  <andythenorth> is the intent to move newgrf industry spec to GS also at some point?
15:07:30  <Eddi|zuHause> nobody has that intent
15:07:36  <andythenorth> cargos would be easiest to start with, they don't need cbs
15:09:35  <Eddi|zuHause> FIRS needs to "work" [for some meaning of that word] with 1) no GS, 2) the correct GS version, 3) an incorrect GS version, 4) a GS derived from the correct GS version, 5) a GS completely independent from your GS
15:10:12  <andythenorth> 1, 3, 4, 5 just make no sense
15:10:19  <andythenorth> if GS is the replacement for newgrf
15:10:32  <Eddi|zuHause> GS is never going to be a replacement for newgrf
15:10:33  * andythenorth is quite confused about the intent
15:10:57  <andythenorth> but explicitly newgrf development was stopped on some features in favour of GS
15:11:00  <_dp_> andythenorth, gameplay will always go to "junk" as your requirements increase
15:11:07  <Eddi|zuHause> social media is never going to be a replacement for people meeting in a bar
15:11:15  <andythenorth> I interpreted that as GS replacing newgrf?
15:11:24  <_dp_> even a patched server where I control everything I possibly could still leaves some stuff to be desired
15:12:45  * andythenorth remains confused :)
15:12:50  <andythenorth> I mean, that's no unusual
15:12:57  <andythenorth> but usually talking to Eddi|zuHause unconfuses me
15:13:10  <andythenorth> but now I am just more confused
15:13:22  <Eddi|zuHause> maybe we're thinking about completely different things
15:13:25  <andythenorth> I don't see how partially replacing newgrf with GS was ever going to work
15:13:41  <_dp_> imo newgrf "development" should've stopped much earlier in favour of some sensible way to control gameplay :p
15:13:51  <andythenorth> the logic seems to be that 'orthogonal' is a mandatory requirement
15:13:58  <andythenorth> so I should also split the cargos out from FIRS?
15:14:07  <andythenorth> because then it's orthogonal?
15:14:15  <andythenorth> users can choose their own cargo grf?
15:14:38  <Eddi|zuHause> imagine a piece of paper, with 2 rectangular lines. one of the lines represents all the features achieavable by NewGRFs, and the other all features achievable by GS alone
15:14:39  <frosch123> maybe split the andy from the north?
15:15:01  <Eddi|zuHause> any feature that is not on either of those lines is unachievable
15:15:10  <andythenorth> yes
15:15:19  <andythenorth> the confusing part is why that was done
15:15:24  <Eddi|zuHause> unless you figure out a way for both to cooperate
15:15:32  <Eddi|zuHause> which is near impossible to get right
15:15:37  <andythenorth> but we've established they can't co-operate
15:15:43  <andythenorth> as we can't maintain both sides of an API
15:15:52  <Eddi|zuHause> so people decided it's better to explicitly forbid it
15:15:59  <andythenorth> so why was newgrf shelved in favour of GS?
15:16:39  <andythenorth> is this just another case of 'mistakes were made' like lots of the spec?
15:16:45  <andythenorth> or was this the intended outcome?
15:16:47  <glx> GS were never meant to replace newgrf
15:16:49  <Eddi|zuHause> those newgrf features might have violated the orthogonality
15:17:06  <andythenorth> glx no they were for some functions, there was a long long discussion about it
15:17:11  <andythenorth> which caused pikka to rage quit
15:17:43  <andythenorth> it destroyed the TAI project he was working on, and had planned around newgrf town spec
15:17:47  <frosch123> andythenorth: newgrf are for stuff that run in-sync with the game. gs are for other things that run independent of the core gameloop
15:18:02  <Eddi|zuHause> if you implement features that violate the orthogonality, without also adding methods for cooperation (which we deem impossible), you arrive in hell.
15:18:16  <glx> GS is only for town growth control, and industry creation, and of course goals/score
15:18:35  <andythenorth> but we've also established it's impossible for me to solve a trivial gameplay problem with a trivial GS
15:18:41  <andythenorth> so GS is junk?
15:18:52  <Eddi|zuHause> no. the problem is not trivial.
15:18:58  <frosch123> andythenorth: maybe you are just too used to newgrf issues :p
15:19:04  <andythenorth> GS *cannot* be for town growth control or industry creation
15:19:12  <andythenorth> as it has no idea what the newgrf intends to happen
15:19:33  <glx> GS can decide to build an industry
15:19:38  <andythenorth> but what industry, why?
15:19:41  <andythenorth> where?
15:19:44  <andythenorth> for what reason?
15:19:45  <glx> like a player would do
15:19:51  <andythenorth> but the newgrf can prevent that anyway
15:19:54  <frosch123> andythenorth: just try to be less of a control freak. newgrf and gs were designed to let stuff from independent people work together
15:19:56  <_dp_> andythenorth, newgrf can't be for those as well as it has no idea what game is user playing :p
15:20:08  <frosch123> its not meant for a single guy doing industries, vehicles and game mechanics
15:20:22  <andythenorth> hmm
15:20:31  <andythenorth> I was quite seriously going to write a GS
15:20:34  <andythenorth> but it seems pointless
15:20:36  <frosch123> newgrf communication is intentionally vague
15:20:45  <frosch123> with stuff like cargo classes instead of actual cargos
15:21:00  <frosch123> same for newgrf and gs with town effects instead of explicit cargos
15:21:46  <andythenorth> well there's always Iron Horse
15:21:53  <Eddi|zuHause> that's what my point "4)" and "5)" above were about
15:21:58  <andythenorth> I think FIRS might be dead
15:22:00  <frosch123> the goal was to make vague communicaton that works somewhat in all cases, not explicit communication that works in a single hard to configure case, and completely breaks otherwise
15:22:15  <andythenorth> every time I try to motivate myself to do anything with FIRS, I draw trains instead
15:22:48  <andythenorth> my intent was that I could solve the broken things in current FIRS dev with GS
15:22:54  <andythenorth> but that's not possible
15:23:28  <_dp_> andythenorth, you sure you don't want to make servers? ;)
15:23:38  <andythenorth> I did wonder about using the admin port
15:23:44  <andythenorth> but GS can only write to it, not read
15:23:56  <andythenorth> I can't patch a client as I can no longer compile OpenTTD :)
15:24:09  <andythenorth> I guess I could compile on some cloud server
15:24:51  <frosch123> so firs is no longer about making pretty cargo graphs?
15:24:59  <Eddi|zuHause> i think andythenorth is drifting too far into the "thing is too complex, lets solve it with more complexity" corner
15:25:08  <_dp_> I can easily make you a server on citymania though I can't promise I'll be able to do server-side stuff you may need quickly
15:25:19  <_dp_> like town control and mapgen
15:25:23  <_dp_> but at least that's possible
15:25:32  <andythenorth> frosch123 you know the unfinished thing on the charts with town cargos? :P https://grf.farm/firs/4.0.0-alpha-3/html/economies.html#steeltown
15:25:37  <andythenorth> that's the thing
15:26:13  <frosch123> andythenorth: surprise, gs can read from admin port
15:26:20  <andythenorth> ooo :)
15:26:33  <andythenorth> FIRS economies are all designed around cargo -> towns, but cargo -> towns is dull as fuck for various reasons
15:26:48  <andythenorth> we've been habitually blaming cdist, but it's not cdist's fault
15:27:40  <andythenorth> also, should I add random liveries to TW? :P https://www.grf.farm/iron-horse/dev/html/train_whack.html
15:27:45  <frosch123> what makes towns worse than power plants?
15:27:55  <andythenorth> same in both cases
15:28:11  <frosch123> well, maybe play yeti then
15:28:53  <andythenorth> 1. all chains are working together
15:28:53  <andythenorth> - no BAD FEATURE like cargoes nobody has a reason to transport because they are not useful
15:28:59  <andythenorth> from Yeti first post
15:29:20  <frosch123> ah, "BAD FEATURE" was the term
15:29:24  <andythenorth> has anyone archived yeti anywhere?
15:29:28  <frosch123> i was struggling earlier to remember it
15:29:29  * andythenorth wonders if wayback machine has it
15:29:34  <andythenorth> all the docs are dead
15:30:05  <frosch123> i have all the devzone repos, not the wikis
15:30:06  <andythenorth> wayback machine doesn't have it
15:31:46  <frosch123> andythenorth: can some tw drive to the right?
15:32:01  <andythenorth> I could patch that
15:32:10  <andythenorth> it would double the upload size to s3 :P
15:32:23  <frosch123> so, no :)
15:32:29  <andythenorth> diesel engines could do it
15:32:41  <frosch123> can there be a vehicle that multiplies the score with -1 ?
15:32:41  *** Samu has quit IRC
15:32:50  <andythenorth> like a penalty?
15:33:21  <frosch123> just 1/N chance to get -2M instead of 2M score. and a 1/N^2 chance to get 2M again
15:33:27  <frosch123> just to troll people
15:33:37  <andythenorth> would the vehicle change on every re-roll? :P
15:33:49  <andythenorth> I could just have an 'unlucky' roll
15:34:02  <andythenorth> like those 1980s games where 'sorry you died' was a random chance
15:34:04  <frosch123> maybe you have some shunter engine, it could reverse stuff :p
15:34:21  <andythenorth> I might try to patch random reverse
15:34:23  <andythenorth> also does anyone remember how V solved 'pointless cargos'?
15:34:43  <andythenorth> specifically in FIRS v4 Steeltown vehicles is completely pointless
15:34:46  <frosch123> no idea about uk trains, but here there are always announcements "today the train is driving in reverse wagon order"
15:34:46  <andythenorth> and Rebar
15:35:06  <frosch123> and then everyone with a seat reservation tries to find the opposite place on the platform
15:35:21  <andythenorth> oof :)
15:35:48  <frosch123> andythenorth: iirc V ignored towns, and had the yeti camp, which was an industry
15:35:58  <frosch123> supply stuff to yeti camp, get workers in return
15:36:07  <michi_cc_> The best fun with that is if then the train in fact arrives in the correct orientation.
15:36:13  <frosch123> all the cargo flows in a circle
15:36:20  <Timberwolf> Yeti Dudes and Tired Yeti Dudes.
15:37:06  <Eddi|zuHause> frosch123: that's usually a sign of too few drivers to do the shunting runs to turn the train around
15:37:33  <frosch123> Eddi|zuHause: i thought it was to average wearing
15:37:50  <andythenorth> currently I have scrap production increasing on town popn.
15:37:52  <michi_cc_> Eddi|zuHause: A quite common reason is also "something" is not working on one of the head ends.
15:37:56  <andythenorth> I thought that was half of the solution
15:38:06  <andythenorth> the other half being to control town growth with delivered cargo
15:38:12  <Eddi|zuHause> or sometimes maintenance work taking too long
15:38:22  <andythenorth> I could ignore the town entirely
15:38:29  <andythenorth> delivering vehicles -> more scrap
15:38:31  <andythenorth> via town registers
15:38:41  <andythenorth> same for delivering building supplies
15:38:45  <Eddi|zuHause> there's probably a dozen more reasons, that would all be avoidable if there was enough staff
15:38:56  <frosch123> Eddi|zuHause: the train is delayed because of delays in the train operation
15:40:05  <Eddi|zuHause> but hiring staff doesn't look good on quarterly performance paper
15:40:42  <andythenorth> frosch123 50:50 reverse https://grf.farm/images/random_reversed.png
15:40:51  <Eddi|zuHause> particularly if hiring more staff would mean increasing wages to increase the number of applicants
15:40:52  <andythenorth> it would need implementing a bit differently I think
15:41:20  <andythenorth> also my brain is hard-wired on left->right
15:42:18  <frosch123> andythenorth: for the symmetric engines that works :p
15:43:15  <andythenorth> the compile does know about symmetric vs asymmetric
15:43:22  <andythenorth> so it could be passed in the json
15:44:16  <andythenorth> it's 'realistic' for steam engines also https://www.warwickshirerailways.com/lms/lnwr/canleyhalt/lnwrchg2807.jpg
15:44:26  <andythenorth> plenty of pictures, not just 'omg this happened once'
15:45:16  *** Flygon has quit IRC
15:45:46  <andythenorth> my brain is saying 'those trains can't leave the depot without an engine at the front' :P
15:45:47  <andythenorth> oof
15:46:40  <Eddi|zuHause> well, certain steam engines were designed to go backwards
15:46:41  *** gelignite has joined #openttd
15:46:50  <Eddi|zuHause> especially the later ones
15:46:53  <andythenorth> I should write down this 'FIRS can never have a GS' conclusion
15:46:59  <andythenorth> otherwise it just repeats again in 3 months
15:48:57  <andythenorth> I think V arrived at the correct conclusion long before me, towns can have nothing to do with newgrf industries / cargos
15:53:02  <Timberwolf> I used to live about 5 minutes walk from where that picture was taken.
15:53:19  <Timberwolf> At least, from the description I think it's running down the rear side of the old Triumph motor works.
15:54:12  <andythenorth> so car plant in the background?
15:54:19  <andythenorth> looks a bit like the FIRS one :P
15:55:04  <Timberwolf> Mostly, yeah. By the 2000s it was generic light industrial and the TA had taken some of it over.
15:55:32  <Timberwolf> Still some remnants, like the local pub is called "The Herald" and they don't mean it in the medieval sense. :)
15:56:13  <Timberwolf> s/is/was/, looks like they've built a care home there now.
16:00:12  <LordAro> so anyone interested in merging #8287 ? I did set the release date as today...
16:02:07  <andythenorth> frosch123 for https://wiki.openttd.org/Frosch/GS-NewGRF_Communication_via_JSON ...does Eddi's point about GS-NewGRF compatibility being impossible also apply there? :)
16:02:21  * andythenorth assumes so as it's two sides of the same API
16:02:54  <Timberwolf> Never quite sure how "typical" you can class a car plant that was part of the BMC/BL empire, Longbridge was obviously massive and had interesting stuff like the body conveyor over the road, but MG at Abingdon is probably a better model for a "garden shed" industry than a "car plant" one.
16:03:54  * andythenorth looks for a picture
16:08:09  <Timberwolf> Not quite that bad, but one of the (possibly apocryphal) stories of MG was that BL sent them some sort of part that had to be cured at quite precise temperature, then realised a couple of years later realised they had no record of the factory having the kind of ovens that could do this.
16:08:42  <Timberwolf> "Oh yeah, we just spit on 'em and when they start sizzling, there's 5 minutes to go" was the answer they got upon inquiring.
16:10:00  <andythenorth> top notch
16:15:46  <andythenorth> so I put a crappy 'similar vehicles' thing into Horse docs :)
16:15:58  <andythenorth> it mostly works, but as it compares on power, it can have odd results https://www.grf.farm/iron-horse/dev/html/firebird.html
16:16:09  <andythenorth> high-speed pax 'similar' to low speed freight engine
16:19:00  <Timberwolf> I ended up accidentally having one of my passenger lines hauled by Class 59s doing a similar thing with autoreplacing. "Oh yes, that's a similar MT engine, oh yes, that has similar speed but a bit more power, that seems reasonable, it's only a little slower and a big TE upgrade..." etc.
16:22:18  <andythenorth> Train Whack Special Event! https://www.grf.farm/iron-horse/dev/html/train_whack.html
16:22:39  <andythenorth> limited-time special feature with random right->left consists
16:22:44  <andythenorth> only available until I next push
16:22:49  <andythenorth> as I reverted the changes locally
16:23:28  <andythenorth> hmm these docs aren't very TTD graphical style eh :D https://www.grf.farm/iron-horse/dev/html/fury.html
16:23:51  <andythenorth> maybe I should find a 1990s pixel game font
16:24:56  <andythenorth> https://www.dafont.com/pixel-operator.font might be close enough
16:25:47  <frosch123> DorpsGek_III: stop being so lazy
16:26:58  <frosch123> what is that quote on the train page?
16:31:01  <andythenorth> I made up stupid quotes
16:31:07  <andythenorth> I was going to do realistic back stories
16:31:14  <andythenorth> but I wrote one and it was dull
16:31:20  <andythenorth> pixel font? :P https://grf.farm/images/pixel_operator_font.png
16:31:50  <andythenorth> we should pixel font the website + bananas :D
16:38:38  <frosch123> "Arrows to replacement engine are missing in some cases, unwanted in others - maybe an off-by-one in a calculation?"
16:39:02  <andythenorth> in a big red reminder?
16:39:17  <frosch123> yes, as the dominant headline
16:39:30  <andythenorth> I wanted to not miss it :D
16:39:40  <frosch123> i had to look very hard to even find the arrows
16:39:50  <andythenorth> the contrast is quite low
16:39:56  <frosch123> exactly
16:40:10  <b_jonas> when I control-leftclick on an engine in a depot window, what does that do?
16:40:33  <frosch123> there is control+drag
16:40:45  <frosch123> and control+rightclick
16:41:05  <frosch123> i think control+leftclick is unused, though it will conflict with control+drag possibly
16:41:30  <b_jonas> hmm let me try again, it did something strange to me that I couldn't interpret
16:41:53  <frosch123> oh, wait, ctrl+click is reverse engine, right?
16:42:01  <frosch123> or andy-livery-swap
16:42:10  <b_jonas> but what does reverse engine mean?
16:42:39  <frosch123> usually it's just visual
16:42:46  <frosch123> often it looks bad
16:42:49  <b_jonas> it shows a reverse icon on the engine
16:42:58  <andythenorth> hmm I'm trying to fix those arrows :)
16:43:02  <andythenorth> they are made with mad css
16:43:06  <frosch123> b_jonas: then read the readme of the grf
16:43:10  <frosch123> that is grf specific
16:43:22  <b_jonas> ok
16:43:25  <glx> it shows the vehicle reversed, easier to see if the vehicle is not symetric
16:44:14  <frosch123> glx: what, does ottd draw arrows?
16:45:49  <glx> no I was just talking about ctrl+click effect
16:46:18  <glx> of course newgrf can use this status to determine what to display
16:47:57  <andythenorth> it would be helpful if it cycled a byte, not just a bit :P
16:48:05  <andythenorth> but nvm, that pony is flogged to death
16:48:10  <andythenorth> frosch123 improved? https://www.grf.farm/iron-horse/dev/html/tech_tree_table_red.html
16:48:23  <andythenorth> arrows are 50% black not 10%
16:49:59  <frosch123> tech_tree_table_yellow does not exist
16:50:37  <andythenorth> it could, but it would increase upload size :P
16:50:40  <frosch123> red background seems to mean electric
16:50:54  <andythenorth> probably
16:51:02  <andythenorth> it's not really finished, I was amazed it works at all
16:52:16  <frosch123> it contains a lot of info
16:52:22  <andythenorth> there's a graphviz version somewhere, it didn't really work
17:03:08  <andythenorth> it would be simpler if there only 4 generations :P
17:12:43  *** Wormnest has joined #openttd
17:20:37  <andythenorth> hmm I guess declaring a GS as a dep for a newgrf is out of scope?
17:24:10  <andythenorth> hmm, but we already have newgrf control over town growth :D
17:24:18  <andythenorth> it's long established :D
17:24:44  <andythenorth> I just need FIRS to disable if climate isn't arctic, and snowline isn't lowest possible value :D
17:25:51  <b_jonas> the lowest possible value? is that like the Antarctic?
17:26:26  <andythenorth> seems that 2 is the lowest value
17:26:35  <andythenorth> then I patch houses so they don't build below snowline
17:26:52  <andythenorth> that gives 2 cargos for controlling town growth with
17:26:58  <andythenorth> another elegant solution :)
17:28:13  <b_jonas> with the ocean frozen during winter so you can quickly build a train line that only lasts for a few months
17:49:53  *** jottyfan has quit IRC
17:59:45  <TrueBrain> hmm, why did DorpsGek_III  talking in this channel?
17:59:48  <TrueBrain> that is not what we asked him to do
18:09:06  *** DorpsGek_III has quit IRC
18:09:24  <TrueBrain> that is what you get for not working DorpsGek_III
18:15:33  *** frosch123 has quit IRC
18:18:08  *** ericnoan has quit IRC
18:27:59  <andythenorth> funny when you closed dorpsgek we lost frosch too
18:28:05  <andythenorth> are they the same codebase?
18:31:29  <Eddi|zuHause> sounds plausible
18:33:46  <andythenorth> I bet they're running on the same ultimate hardware
18:40:45  <Eddi|zuHause> nothing runs on "harware" anymore, it's all "in the cloud"
18:46:59  <andythenorth> is the underlying information universe hardware or software?
18:47:08  <andythenorth> oof unknowable :P
18:53:48  <Eddi|zuHause> it's kubernetes all the way down
18:56:36  <andythenorth> terrifying thought
19:06:08  *** Progman has joined #openttd
19:15:00  *** tokai has joined #openttd
19:15:00  *** ChanServ sets mode: +v tokai
19:21:54  *** tokai|noir has quit IRC
19:29:33  *** Wormnest has quit IRC
19:42:37  *** WormnestAndroid has quit IRC
19:42:41  *** WormnestAndroid has joined #openttd
19:45:23  *** jottyfan has joined #openttd
20:18:01  *** Wormnest has joined #openttd
20:40:53  <andythenorth> hmm
20:42:06  <andythenorth> I swear a GS could be maintained against a grf reliably
20:42:15  <andythenorth> unfortunately it's predicated on writing bug free code
20:42:58  <nielsm> GS also still has the big issue of saving and restoring state in savegames
20:43:25  <nielsm> it's really difficult to get right (apparently)
20:43:51  <andythenorth> well only I said that
20:43:58  <andythenorth> and only after I broke it once
20:44:06  <Timberwolf> Heh, yes.
20:44:31  <andythenorth> once is a single data point :P
20:44:53  <Timberwolf> I've just been fixing a problem with persisting the maximum town growth array in Villages Is Villages.
20:45:17  <andythenorth> so it wasn't just me? :P
20:45:33  <Timberwolf> The opcode limit is too small to iterate the town array on maps with ~2000-6000 (or more) towns, depending on factors I don't understand.
20:45:50  <andythenorth> oof :)
20:46:02  <andythenorth> GS seems an order of magnitude harder than newgrf :)
20:46:28  <nielsm> I wonder if it would be better to offer a new/different save state system for GS, where every (or at least most) game objects have a GS storage (and AI storage) attached
20:46:44  <Timberwolf> I brute forced it by caching the value I need to save whenever all the towns get iterated, if I run out of opcodes saving I give up and use that (potentially quite out of date) value instead.
20:47:01  <andythenorth> borrowing inappropriately, I use multiple web frameworks where the objects serialise / deserialise on demand
20:47:48  <andythenorth> on the other hand, maybe that's what GS does, and I just did it wrong :)
20:48:05  <andythenorth> I think I assumed the savegame would just persist the objects
20:54:45  * andythenorth tries to rationalise the compatibility challenge :P
20:55:11  <andythenorth> for convenience, let's say Foo.GS was introduced alongside FIRS 4.0.0
20:55:31  <andythenorth> Foo.GS has the list of all cargos and required behaviours against FIRS 4.0.0
20:55:56  <andythenorth> let's say this is Foo.GS 1.0.0
20:56:33  <andythenorth> now I introduce FIRS 4.1.0, changing the cargos (and ignoring semver rules about API breakage apparently)
20:57:03  <andythenorth> Foo.GS 1.0.0 doesn't know about FIRS 4.1.0 so it simply turns itself off if used in a game with FIRS 4.1.0
20:57:25  <andythenorth> I ship Foo.GS 1.1.0 with support for FIRS 4.1.0
20:57:44  <andythenorth> if the player doesn't upgrade FIRS to 4.1.0, but keeps 4.0.0
20:58:04  <andythenorth> Foo.GS 1.1.0 knows about tagged versions of FIRS, including FIRS 4.0.0
20:58:08  <andythenorth> so it works fine
20:58:41  <andythenorth> this assumes (1) I can keep backwards compatibility forever, which I don't believe (2) I never include any bugs that require a compatibility-breaking release
20:59:28  <andythenorth> this seems to mean e.g. Foo.GS 1.5.0 has all the codepaths and behaviours required to work with FIRS 4.0.0
20:59:49  <andythenorth> but Foo.GS may advertise itself as doing things that FIRS 4.0.0 can't support
20:59:53  <andythenorth> which is confusing
21:00:32  *** jottyfan has quit IRC
21:10:32  *** Wormnest has quit IRC
21:26:33  *** nielsm has quit IRC
21:29:20  * andythenorth bed
21:29:22  *** andythenorth has quit IRC
21:43:43  *** Wormnest has joined #openttd
22:19:13  *** Wolf01 has quit IRC
22:36:40  *** Wormnest has quit IRC
22:36:56  *** GT has joined #openttd
22:45:07  *** GT has quit IRC
22:58:19  *** Progman has quit IRC
23:20:12  *** WormnestAndroid has quit IRC
23:20:54  *** WormnestAndroid has joined #openttd
23:24:09  *** Wormnest has joined #openttd
23:29:39  *** HerzogDeXtEr has quit IRC
23:53:07  *** gelignite has quit IRC
23:58:23  *** Flygon has joined #openttd

Powered by YARRSTE version: svn-trunk