IRC logs for #openttd on OFTC at 2020-08-01
            
00:00:51 <GT> On https://wiki.openttd.org/NewGRF_List we have many direct links to bananas like: http://binaries.openttd.org/bananas/newgrf/Hungarian_2CCSET-beta0.0.5.tar.gz . But that seems to be broken. Is there a new link-scheme, or just not available anymore?
00:06:51 * andythenorth bed
00:06:53 *** andythenorth has quit IRC
00:07:02 *** Wolf01 has quit IRC
00:08:49 *** sla_ro|master has joined #openttd
00:09:28 <glx> GT: for now there's no direct download link
00:10:23 <GT> Does that mean it will return or should we remove it from the wiki?
00:28:37 <b_jonas> ok, I think I figured out how to work around this town where I can't raise my authority rating
00:29:35 <GT> Bribe 'em or plant trees
00:30:16 <b_jonas> already too many trees around them
00:31:02 <glx> remove trees then replant
00:31:18 <glx> rating can't drop more ;)
00:31:54 <b_jonas> glx: I might do that for some other towns
00:32:06 <b_jonas> but here, I can extend the station so that the corner of the new part of the station will be out of their zone, while I keep the existing part inside their zone so it catches the cider mill. it will be an ugly station, but it works
00:33:33 <b_jonas> in the previous game I managed that by building bus stations and bus services in many towns just to keep my authority rating up if there aren't other services that keep it up, but that's annoying, plus I don't want the towns to grow too big early, and this is a FIRS game where I'm concentrating on industry and don't want to make passenger services until later
00:35:31 <_dp_> enable magic bulldozer or set economy.dist_local_authority 0
00:36:04 <b_jonas> _dp_: magic bulldozer doesn't help me buld a station
00:36:16 <b_jonas> plus I'd consider it cheating if I used it that way
00:36:28 <_dp_> it will help you not get bad rating for trees in future
00:36:36 <b_jonas> I would be willing to use magic bulldozer to remove a statue of myself that's in the way
00:37:16 <b_jonas> I might try the tree thing later anyway, I hate ugly stations and will want to clean this up
00:37:29 <_dp_> lol, whatever, if that's cheating then, have fun dealing with authorities :p
00:38:22 <b_jonas> oh nice, the drag station size feature lets me build an 8 long station
00:38:41 <b_jonas> so I can actually build that and then remove the front 3 squares and then it won't be ugly
00:38:52 <b_jonas> it will look like a perfectly normal 5x5 station
00:40:55 <GT> https://dev.openttdcoop.org/ and http://binaries.openttd.org/bananas/newgrf both unreachable. Wiki linkrot smell alert
00:44:10 <b_jonas> btw the cider mill has a spire with a white flag that is placed in just a way that it makes the path signal at the exit of the station look like a one-way path signal, that always looks like an error to me, but in fact it isn't one way, trains can leave the station on that exit
00:50:12 <b_jonas> this map is basically all dense forest by the way, except in the water parts and the squares covered by towns and industries
00:50:46 <b_jonas> it's ridiculous, the other maps I play usually have at least some areas without too many trees
00:51:12 <b_jonas> I guess it's partly because this FIRS temperate basic economy doesn't have farm field squares
00:51:17 <b_jonas> but even then
00:52:36 <b_jonas> ok, this farm network is fixed for now
00:53:54 <b_jonas> this might be the time when I enter passenger business, although I'd start with maglev because the good vac trains aren't invented yet
00:54:59 <b_jonas> either that, or I could try some more food business now that I have good trains
00:57:30 *** virtualrandomnumber has joined #openttd
00:59:16 <b_jonas> I could build a maglev to transport cattle both ways here
00:59:42 *** virtualrandomnumber has quit IRC
00:59:50 *** Wormnest has quit IRC
01:02:53 <b_jonas> transporting *milk* both ways here I mean
01:03:01 <b_jonas> I'm not used to FIRS
01:17:42 *** HerzogDeXtEr has quit IRC
01:44:40 *** sla_ro|master has quit IRC
01:45:16 *** GT has left #openttd
01:45:21 *** christoph[m]1 has joined #openttd
02:01:56 * Timberwolf uploads alpha versions to forum post
02:02:07 *** Progman has quit IRC
02: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.
02:22:09 <b_jonas> upgrading might not be enough, but I don't think it will make this worse
02:31:51 <b_jonas> wee, mass train purchase! 36 maglevs
02: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.
02:38:04 <b_jonas> FINALLY! 69% rating on the steel
02:38:20 <b_jonas> they do seem to be jamming so I'll sell a few
02:40:12 <b_jonas> steel rating is still rising
02: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
04:31:46 *** debdog has joined #openttd
04:35:07 *** D-HUND has quit IRC
04:58:43 *** Flygon has joined #openttd
05:18:27 *** glx has quit IRC
08:31:31 *** Wolf01 has joined #openttd
08:42:20 <Wolf01> Wtf, my pc case fans are raising the temperature instead of dropping it
08:53:50 *** nielsm has joined #openttd
09:02:35 <Wolf01> Case is perfectly stable at 53°C, with the GPU at 83°C
09:07:27 *** WormnestAndroid has quit IRC
09:07:40 *** WormnestAndroid has joined #openttd
09:14:38 <TrueBrain> 53 degrees? What the hell are you doing to it?
09:14:48 <Wolf01> Turned it on
09:14:56 <TrueBrain> you can bake an egg on that case
09:15:00 <Wolf01> Yes
09:15:12 <TrueBrain> that is not normal you know :P
09:15:16 <Wolf01> Yes
09:15:34 <TrueBrain> Man of few words I see :D
09:15:52 <Wolf01> I think the sensor is a bit off, the other one shows 38°C
09:16:09 <TrueBrain> well, touch your case and you will know :P
09:16:14 <TrueBrain> you either burn your finger or not :D
09:16:16 *** iSoSyS has joined #openttd
09:17:15 <Wolf01> It's not hot
09:17:50 <Wolf01> Maybe there's a point near the chipset sensor where the air flow can't get well
09:18:09 <TrueBrain> not simply your CPU temp? :)
09:18:22 <Wolf01> No, that's at 38-42°C
09:18:51 <Wolf01> Even on load it reaches at most 50°C
09:21:19 <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
09:26:23 *** andythenorth has joined #openttd
09:27:16 <TrueBrain> welcome andythenorth
09: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
09:34:51 <Wolf01> andythenorth: https://www.ironhorsebrickco.com/
09:35:17 <Wolf01> Just found it this morning
09:35:49 <andythenorth> Wolf01 I read about them when they announced they quit :)
09:36:13 <Wolf01> Yep, I read about that too
09: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
09:39:54 <Wolf01> Or 3 extremely overpowered heavy freight engines and 4 flat wagons
09:41:28 <Wolf01> And a bit of love for MUs :P
09:58:35 <andythenorth> I think you have to upgrade to OpenTTD for that
09:58:40 <andythenorth> or fork
09:58:42 <Wolf01> :D
09:58:59 <andythenorth> I did consider doing it, but I pretty much had my fun with TW
10: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)
10:14:11 <andythenorth> danish Horse :P
10: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
10:20:31 *** Progman has joined #openttd
10:34:04 <andythenorth> lol cdist
10:34:09 <andythenorth> pax networks
10:34:18 <andythenorth> I clear out one station, and create problems at the next
10:35:27 <andythenorth> :D
10:50:25 *** sla_ro|master has joined #openttd
10:54:48 *** iSoSyS has quit IRC
11:10:44 *** frosch123 has joined #openttd
11:30:23 *** HerzogDeXtEr has joined #openttd
11:36:25 <frosch123> foobar invented phpnml :p
11:36:41 <nielsm> wow
11: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
11:39:40 <frosch123> i am not sure how hard they tried to contact foobar
11:40:25 <frosch123> but i can ask that
11: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
11:59:56 <andythenorth> thanks :)
12:01:43 <andythenorth> nobody invented perl-nml yet?
12:01:58 <_dp_> lisp-nml :p
12:02:28 <andythenorth> goloang-nml?
12:02:32 <andythenorth> node-nml oof
12:02:47 <_dp_> jinja-nml would probably even make some sense
12:03:09 <andythenorth> what I'm doing is only one step away from jinja-nml
12:03:15 <andythenorth> some of the syntax is similar
12:03:58 <_dp_> i just generate it with python
12:04:44 <andythenorth> %s for everything? :P
12:04:57 <_dp_> f
12:05:30 <andythenorth> I considered just using the Template builtin for everything
12:05:32 <andythenorth> it's quite god
12:05:34 <andythenorth> good *
12:18:20 <andythenorth> so can a GS disable if specific version of specific grf isn't present?
12:18:32 <andythenorth> I think I asked this before
12:18:46 <andythenorth> the solution was a fake industry using 16-in / 16-out cargos as a unique hash
12:20:56 <frosch123> you can read cargo labels
12:21:25 <frosch123> i consider this idea "check for specific grf" really stupid. firs versions are very different
12:21:41 <frosch123> how could a gs work for firs from today and 2 years ago, but not for some other industry grf
12:21:46 <frosch123> ENoSense to me
12:22:09 <_dp_> my first thought was to do some fake object but can GS even interact with object?
12:23:27 <_dp_> not all gs can reasonably work with unknown newgrfs
12:24:20 <andythenorth> some of the things the FIRS GS seems to need to do
12:24:35 <andythenorth> I don't really want to have to test with other industry grfs :)
12:24:47 <andythenorth> I barely have time to test the grfs I make
12:25:31 <andythenorth> I'm not sure there should even be a FIRS GS tbh
12: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
12: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
12:27:00 <andythenorth> well I guess....since I stopped reading forums, reddit, and GH
12:27:05 <andythenorth> I wouldn't get bug reports?
12:27:14 <frosch123> isn't that a good thing?
12:27:32 <andythenorth> it is for me :)
12:27:40 <andythenorth> not sure about the people with broken games :)
12:27:52 <andythenorth> but eh, I can't go round fixing the world, I go mad
12:28:16 <frosch123> is it signficiant compared to breaking games by adding 50 random newgrfs?
12:28:21 <andythenorth> unlikely
12:28:23 <_dp_> don't worry, 90% of people with broken games don't even seem to ever realize it's broken :p
12:28:29 <andythenorth> ok, Schrodinger's GS, maybe I make one, maybe I don't
12:28:42 <andythenorth> all I want (right now) is a cargo goal for town cargos
12:28:48 <andythenorth> that actually knows which cargos make sense :P
12:29:04 <frosch123> fill this box with 100m³ of alcohol to ensure the cat is dead?
12:29:18 <andythenorth> ha
12:29:31 <andythenorth> Silicon Cargo Bee
12:29:33 <andythenorth> is what I need
12:29:39 <frosch123> andythenorth: you can scan town areas and detect cargo acceptance
12:30:05 <andythenorth> separately for industries and houses? :)
12:30:19 <frosch123> i think so
12:30:35 <andythenorth> hmm, I need to try forking something :P
12:30:36 <_dp_> funnily enough broken simple cb requires alcohol as one of first cargos...
12:30:56 <andythenorth> _dp_ also house acceptance :( :P :X :D
12:31:37 <andythenorth> anyway time for some actual outside :)
12:34:08 *** andythenorth has quit IRC
13:41:43 <_dp_> this doesn't look right: https://github.com/OpenTTD/OpenTTD/blob/master/src/engine.cpp#L682
13:41:57 <_dp_> shouldn't it be &= ~ENGINE_AVAILABLE ?
13:42:26 <_dp_> I may even know how this bug manifests
13:44:18 <nielsm> hm that does look a bit weird
13:44:58 <frosch123> _dp_: it'S the value for engine expired
13:45:08 <frosch123> ENGINE_AVAILABLE means it has been introduced
13:45:20 <frosch123> company_avail=0 means its no longer available
13:45:57 <frosch123> ENGINE_AVAILABLE is more like ENGINE_NO_LONGER_NEEDS_TO_BE_CHECKED_FOR_INTRODUCTION
13:46:14 <_dp_> frosch123, well, I wouldn't engine from other climate as ever being introduced :p
13:46:27 <_dp_> though it doesn't need to be checked indeed
13:48:08 <frosch123> there are multiple methods to achieve something :) this one is probably copied from line 585/603
13:50:18 <frosch123> also, it's CS code again
13:52:37 <_dp_> ok, another interesting question is then does this line work? https://github.com/OpenTTD/OpenTTD/blob/master/src/engine.cpp#L1132
13:53:05 <_dp_> it probably does by the virtue of company mask being 16 bit with only 15 playable companies, but...
13: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
13:56:16 <frosch123> it does not set/clear bits when companies start or bankrupt
13:57:03 <frosch123> so you may be able to replace that line with e->company_available == -1 or similar
14:01:57 *** glx has joined #openttd
14:01:58 *** ChanServ sets mode: +v glx
14:02:49 <_dp_> yeah, I was actually trying to reset it at company start but couldn't figure out what to put there xD
14:03:02 <_dp_> first logical thing would be check ENGINE_AVAILABLE but nope :p
14:15:42 *** iSoSyS has joined #openttd
14:18:38 *** Progman has quit IRC
14:22:39 *** iSoSyS has quit IRC
14:46:50 <_dp_> lol https://i.imgur.com/rbdAAXQ.png
14:48:46 *** jottyfan has joined #openttd
14:48:49 <Eddi|zuHause> why would those bits need to be reset for company start/bankrupt?
14: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.
14:56:17 <b_jonas> the annoying part is only the popup you get for it.
14:56:21 <Eddi|zuHause> yes, i know that. doesn't answer the question
14:57:23 *** jottyfan has quit IRC
14: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
15:00:39 <Eddi|zuHause> so.. if a company with a preview goes bankrupt, you could move the preview bit from <company> to bit 15
15: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
15:01:45 *** andythenorth has joined #openttd
15:01:50 <_dp_> you mean from bit 15? that's a solution, yes, though a bit hacky
15:02:55 <_dp_> there is no invariant of 1 bit set
15:03:32 <andythenorth> can't see a method for GS to read town registers
15:03:37 <andythenorth> do I just overlook it?
15:03:41 <andythenorth> https://docs.openttd.org/gs-api/classGSTown.html
15:04:31 <_dp_> what are town registers? xD
15:05:07 <Eddi|zuHause> andythenorth: who said there was such a thing available?
15:05:21 <andythenorth> things are usually found in the last place we look
15:06:03 <andythenorth> _dp_ https://newgrf-specs.tt-wiki.net/wiki/Storages#Persistent_storage
15:06:12 <andythenorth> "Persistent storage accessed by GRFID"
15:06:31 <andythenorth> oh, the GS won't know the GRFID
15:06:35 <andythenorth> nvm
15:06:37 <_dp_> oh, yeah, I'd be very surprised if GS had access to that.
15:06:53 <andythenorth> every story about GS seems to go that way
15:07:29 <andythenorth> if we took these diagrams, and modified them https://newgrf-specs.tt-wiki.net/wiki/VehicleRefitting
15:07:35 <andythenorth> so that all arrows pointed to 'NOPE'
15:07:37 <andythenorth> that's GS
15:08:10 <_dp_> andythenorth, there are few arrows that point to CB and such :p
15:08:46 <frosch123> andythenorth: all the early gs were about adding metrics and scoring, not about changing the game
15:09:01 <andythenorth> I know, and I shouldn't complain so much :P
15:09:09 <_dp_> but tbh everything about openttd modding feels like it was never meant to allow any modding :P
15:09:13 <frosch123> i think the expectations on gs shifted
15:09:20 <andythenorth> because the spec war was lost
15:09:41 <andythenorth> a bunch of people who no longer contribute declared GS had won and newgrf evolution would stop
15:09:53 <andythenorth> (specific to towns and economy)
15:10:03 <andythenorth> it's one reason pikka took a long break, he lost that war
15:10:26 <_dp_> hm, where do I fit in that statement I wonder xD
15:10:31 <andythenorth> dunno :)
15:10:36 <andythenorth> stuff and things
15:10:50 <andythenorth> game's gonna game
15:11:16 * andythenorth looks what houses can do in newgrf
15:11:34 <frosch123> they look nice
15:12:04 <andythenorth> all I want to do initially is adjust town growth to fit common misconception about how it works
15:12:35 <frosch123> blame the city builders
15:12:46 <frosch123> i have no idea where to obsession of growing towns comes from
15:12:52 <andythenorth> well
15:13:02 <andythenorth> recently I have turned town growth to minimal
15:13:15 <andythenorth> notably my 10 year old is obsessed with how big a town can grow though
15:13:23 <andythenorth> I use him as a benchmark for the typical player
15:13:36 <frosch123> the typical teenage player :p
15:13:43 <andythenorth> he's very reddit
15:14:01 <andythenorth> overly articulate for his age, very well informed about some topics, quite naive about RL
15: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
15:14:32 <frosch123> i didn't understand that the bottleneck was the airport
15:14:37 <andythenorth> I was just annoyed that signals didn't work in any way I could understand :)
15:14:55 <andythenorth> and the steel mill always closed just as I finished the line to it :)
15:14:57 <Eddi|zuHause> i was annoyed that there were no one way signals
15:15:02 <frosch123> it was only "it is faster, how could it possibly transport less"
15:15:11 <andythenorth> I was playing in 1995 or so, I don't know even if it was TTD or TTO
15:15:16 <Eddi|zuHause> ... and then i figured out a way to make it one-way anyway
15:15:34 <andythenorth> there *must* be a town growth cb in newgrf, right?
15: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
15:15:48 *** Samu has joined #openttd
15:16:06 <andythenorth> hmm seems no town growth cb
15:16:49 <_dp_> basically gs only knows what to do and newgrf only knows how :p
15:17:06 <andythenorth> maybe cb 17 can be abused for town growth
15:17:16 <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/Callbacks#House_construction_check_.2817.29
15:17:38 <andythenorth> _dp_ it's worse than that
15:17:53 <andythenorth> only GS knows what to do, but it doesn't know when or why
15:18:00 <andythenorth> it's blind to things like cargos afaict
15:18:20 <frosch123> it isn't
15:18:59 <frosch123> gs know more about cargos than vehicle grfs
15:19:01 <_dp_> well, I'm not even considering universal GS whatever, in my mind GS always knows what newgrfs it has
15:19:09 <_dp_> if it broke it broke, don't play that
15:19:15 <andythenorth> but newgrfs change
15:19:22 <andythenorth> and newgrfs have parameters
15:19:33 <andythenorth> hey I should draw a design of my problem :)
15:19:37 <andythenorth> that might help
15:19:45 <frosch123> surprise, gs also have parameters
15:19:50 <_dp_> good cb can never work with universal cargo
15:20:19 <andythenorth> I am stuck currently :)
15:20:30 <_dp_> and that probably works for any game mode, either it's specialized or junk
15:20:36 <andythenorth> if I try to start from the design, the implementation fights it :)
15:20:50 <andythenorth> and if I try to start from the implementation, I have no idea of the design :)
15:20:55 <andythenorth> neither makes for good work
15:24:00 <_dp_> IMO simple CB is a very good example of how that current design of universal gs doesn't work at all
15: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
15:24:44 <_dp_> don't think anyone ever got through that mess to configure it properlyl
15: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
15:29:00 <_dp_> there are just so many settings that turn the whole gameplay upside down or kill it straight away
15:29:16 <_dp_> like, good luck citybuilding when exclusive rights are enabled on the server :p
15:30:56 <andythenorth> https://grf.farm/images/046FBD71-5795-4271-8AB7-5BA6D90D84A1_1_105_c.jpeg
15:31:20 <andythenorth> ^ I don't know if that can be implemented currently
15:32:25 <Eddi|zuHause> that's not a well-defined requirement :)
15:32:50 <andythenorth> that it can be implemented?
15:33:01 <_dp_> andythenorth, that looks like your typical cb :p
15:33:09 <andythenorth> how?
15:33:25 <andythenorth> there's no property for 'industry accepted cargo' afaict https://docs.openttd.org/gs-api/classGSIndustry.html
15:33:44 <_dp_> there is cargo monitor
15:33:46 <andythenorth> oh it's in cargomonitor :)
15:34:01 <_dp_> though I'm not sure how much exactly it can do as I'm not really using it myself
15:34:17 <andythenorth> it's used in Busy Bee I think
15:34:24 <andythenorth> TBH I don't really understand busy bee
15:34:38 <andythenorth> most of my commits are followed by 'Fix: andy broke stuff' by albert
15:34:52 <_dp_> typically gs counts everything for a town that's linked to a station it was delivered to
15:35:14 <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]"...
15:35:18 <_dp_> * cb gs
15:36:19 <andythenorth> Eddi|zuHause specifying any detailed design is going to fail on the spec not permitting it
15:36:29 <andythenorth> given that outline, I want to figure out what's possible
15:36:42 <_dp_> yeah, it usually comes to "what I can even do that's close enough" :p
15:38:14 <frosch123> andythenorth: https://docs.openttd.org/gs-api/classGSTown.html#afb641936e800cc5c4a876738aa57f3d1 <- that considers all cargo delivered to stations of the town
15:38:21 <frosch123> so your gs should be about 20 lines
15:39:13 <andythenorth> I am favouring a short GS :)
15:39:16 <andythenorth> less to go wrong
15:39:28 <andythenorth> do I read that correctly, it needs to know town effects on the cargo?
15:40:36 <frosch123> looks like there is a differene for cargo delivered and cargo produced
15:41:01 <frosch123> for stuff produced at the town you can read per cargo
15:41:08 <frosch123> for stuff delivered only per towneffect
15:41:56 <frosch123> so, if you define service as "output cargo is transported" you are fine
15:42:19 <frosch123> powerplants lose
15:42:30 <andythenorth> yeah, so the industries are all black holes :)
15:42:34 <andythenorth> that's not on the diagram
15:42:45 <andythenorth> diagrams are mutable :P
15:43:36 <_dp_> I was wondering what's the difference between GetLastMonthProduction and GetLastMonthSupplied
15:43:40 <_dp_> apparently none xD
15:44:03 <_dp_> oh, nvm, there is...
15:45:04 <andythenorth> updated :) https://grf.farm/images/046FBD71-5795-4271-8AB7-5BA6D90D84A1_1_105_c.jpeg
15:45:56 <andythenorth> my failed idea was to have the industry write to a town register if it's happy or not
15:46:03 <andythenorth> and then GS just checks town register(s)
15:46:06 <andythenorth> probably 5 lines :P
15:46:21 <andythenorth> and works with any FIRS economy after version X
15:46:32 <andythenorth> doesn't need to know anything about cargos or industries
15:47:30 <frosch123> _dp_: docs are easier if they group functions, instead of documenting each function on their own
15:49:03 <andythenorth> probably a few more lines to remove the town requirements in arctic and desert eh :)
15:49:38 *** sla_ro|master has quit IRC
15:50:55 <frosch123> andythenorth: maybe you should add a cargo "happyness certificate"
15:51:06 <frosch123> industries produce it when happy, and you can transport it to towns
15:51:17 <frosch123> it's the only cargo with a town effect
15:51:36 <andythenorth> is the label LOLZ?
15:52:06 <andythenorth> the most plausible suggestion right now is putting a house set inside FIRS, or doing a separate house grf
15:52:06 <frosch123> or YAYZ
15:52:29 <andythenorth> just use a GS to turn off town cargo requirements
15:52:36 <andythenorth> do everything else in newgrf
15:52:40 <frosch123> andythenorth: whatever you do with houses, it breaks when you add multiple house grfs
15:52:53 <frosch123> houses are not suitable for economy stuff
15:53:32 <frosch123> andythenorth: isn't there a grf that alows usnig any climate landscape in any climate? maybe ogfx+industries
15:53:37 <andythenorth> town newgrf stuff was backed out solely because of GS?
15:53:40 <andythenorth> or it was flawed?
15:53:54 <andythenorth> https://wiki.openttd.org/Frosch/Town_Control
15:54:26 <frosch123> andythenorth: newgrf stuff is always local
15:54:33 <frosch123> people wanted stuff that acted global
15:54:45 <frosch123> though not sure whether anybody succeeded with that
15:55:11 <frosch123> people complain that industries close all the time on huge maps, because they scale with map size
15:55:19 <frosch123> gs do not scale with mapsize
15:55:48 <frosch123> andythenorth: also https://wiki.openttd.org/Frosch/GS-NewGRF_Communication_via_JSON
15:56:05 <andythenorth> oh yes :)
15:56:22 <andythenorth> I assumed you were trolling about that for some reason, but the spec is too detailed for a troll :)
15:57:44 <andythenorth> it would absolutely solve the design I drew
15:57:52 <frosch123> andythenorth: is there anything on that town_control page, that cannot be done with gs?
15:58:05 <frosch123> or is it only about being able to define the rules within the industry set?
15:58:39 <andythenorth> 2 answers (1) I can't see a method for GS to read town registers (2) yes
15:59:04 <andythenorth> I think it's much simpler to keep all the logic about cargos, happiness, blah blah inside the industry newgrf
15:59:15 <frosch123> ah, i forgot the communication via side effects :)
15:59:15 <andythenorth> and just emit a single 1 or 0 for happiness
15: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
15:59:52 <andythenorth> I guess I could add the FIRS repo as a remote
16:02:26 <andythenorth> I should probably learn how town effect cargos work
16: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
16:03:21 <andythenorth> pls share :P
16:04:03 <andythenorth> is the wiki wrong btw?
16: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."
16:04:13 <andythenorth> is that actually how it works?
16:04:29 *** jottyfan has joined #openttd
16:05:00 <frosch123> https://dpaste.org/EKR7 <- it has no dodgy links to be a scam
16:05:30 <andythenorth> just optimism :)
16:05:59 <frosch123> andythenorth: wiki is correct
16: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
16: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)
16:07:05 <andythenorth> and TOWNGROWTH_PASSENGERS?
16:07:12 <andythenorth> just seems to be a reporting flag?
16:09:04 <andythenorth> oh my savegame is locked into ffwd mode
16:09:07 <andythenorth> and won't come out of it
16:09:09 <andythenorth> that's a new bug
16:10:42 <frosch123> broken shift/tab key?
16:10:53 <andythenorth> client had crashed in an odd way
16:11:03 <andythenorth> restarted it, fine
16:11:30 <andythenorth> TOWNGROWTH_GOODS is for Toyland or something?
16:12:00 <frosch123> it's for ttdp
16:12:37 <andythenorth> trying to figure out if town effects are the safest way to communicate FIRS -> GS
16:12:43 <frosch123> ttdp has a built-in gs that has parameters for required amounts of pax/mail/goods/food/water
16:12:49 <andythenorth> I don't really want to generate a GS from the FIRS compile
16:12:52 <frosch123> it predates newcargos
16:14:13 <andythenorth> I think what I want to do is a trivial use of https://docs.openttd.org/gs-api/classGSCargoMonitor.html#afd23dc4fd1e2eda15086124a9e4c6184
16:14:26 <andythenorth> as long as I have a pre-baked list of cargos, and can find which FIRS economy it is
16:14:49 <andythenorth> I think that has the unwanted requirement of versioning GS against FIRS version
16: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
16:15:21 <andythenorth> such is the life of a designer :)
16: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
16: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
16:17:49 <andythenorth> BUT
16:18:11 <andythenorth> TOWNGROWTH_GOODS is fair game, it will have no effect in OpenTTD unless a GS is specifically looking for it?
16:18:28 <andythenorth> so we have a single bit signalling channel from newgrf -> GS?
16:19:05 <andythenorth> but I have to be careful that only setting TOWNGROWTH_GOODS will break arctic and tropic?
16:19:28 <Eddi|zuHause> i think we've been at this point multiple times in the past 5 years
16: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
16:20:46 <andythenorth> how do they know what is coal?
16:21:00 <_dp_> by cargo label?
16:21:06 <andythenorth> but how do they know what coal means?
16:21:26 * andythenorth wonders why FIRS 4 doesn't break tropic
16:21:31 <andythenorth> oh I set vehicles to be water
16:21:32 <andythenorth> ok
16:21:34 <_dp_> they just assume
16:21:55 <andythenorth> seems ass backwards to me, I just don't get it
16:22:07 <andythenorth> I literally have no idea how that's supposed to work :)
16:22:11 <andythenorth> is there a picture? :)
16:22:40 <andythenorth> ok so I can't just use TOWNGROWTH_GOODS
16:22:49 <andythenorth> because in some cases that needs to be TOWNGROWTH_WATER
16:22:56 <andythenorth> but the GS might be able to handle both cases
16:23:18 <andythenorth> it's quite complex to design for the GS and non-GS case both
16:24:00 <andythenorth> oh lol, the FIRS cargos don't have any economy support
16:24:06 <andythenorth> I deliberately kept them simple
16:24:19 <andythenorth> so I can't set a town effect per economy without patching FIRS
16: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"
16:25:51 <Eddi|zuHause> and things that you think the town shouldn't care about get neither...
16:25:57 <andythenorth> I have to define WATER for vanilla compatibility reasons
16:26:14 <Eddi|zuHause> yes, there needs to be at least one FOOD and WATER
16:26:15 <andythenorth> and the cargos defining WATER overlap with those that would define GOODS
16:26:25 <andythenorth> the GS would have to handle it
16:26:31 <andythenorth> I don't think that's unresolvable
16:26:35 <Eddi|zuHause> FOOD and WATER are stronger than (and override) GOODS
16:26:45 <andythenorth> I think that's fine
16:27:27 <andythenorth> ok so this helps refine the design
16:27:52 <andythenorth> so now I need to change the town effect depending which industry type a cargo is delivered to
16:27:57 <andythenorth> is there a cb that can do that?
16:27:59 * andythenorth looks
16:28:12 <_dp_> you can probably reset all default cargo requirements with ScriptTown::SetCargoGoal if that's the issue
16:28:14 <andythenorth> supplying some industries cause towns to grow, supplying the same cargo to others should not
16:28:22 <Eddi|zuHause> that sounds like an action6/7/9/D thing, not a callback
16:28:24 <andythenorth> _dp_ I have to handle the non-GS case
16:28:35 <andythenorth> most people don't know what GS is or use them
16:28:36 <_dp_> andythenorth, for non-gs you set cargo effects
16:28:53 <Eddi|zuHause> town effect isn't context sensitive like that
16:29:02 <Eddi|zuHause> cargo gets delivered to stations, not industries
16:29:19 <andythenorth> that's interesting
16:29:29 <andythenorth> ok maybe town effects isn't the solution then
16:29:45 <andythenorth> maybe cargo monitor on specific industries
16:30:00 <andythenorth> which means I need to generate a versioned GS from FIRS
16: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
16:30:55 <Eddi|zuHause> and tile acceptance doesn't work for distinguishing this either, as each industry might contribute 4/8 of the acceptance
16:30:57 <andythenorth> yeah I'm going to ignore town effect
16:31:16 <andythenorth> GetIndustryDeliveryAmount() will do what I need
16:31:25 <andythenorth> I just need to generate squirrel from python
16:31:33 <andythenorth> can't be hard
16:31:56 <andythenorth> there's no GS method to check the newgrfs in the game?
16:32:12 <andythenorth> seems odd but eh
16:32:45 <andythenorth> oh can the admin port read the newgrfs?
16:33:19 <andythenorth> nvm, GSAdmin only has send()
16:33:26 <_dp_> probably but it doesn't need to
16:34:02 <andythenorth> I think I can just use GSCargoList
16:34:18 <andythenorth> and if the cargos don't match specific FIRS version, pause the game
16: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
16:35:15 <andythenorth> I would have expected the action 14 version also
16:35:32 <Eddi|zuHause> that still means nothing
16:36:58 <b_jonas> I think I just made this station worse
16: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.
16:37:41 <andythenorth> why?
16:37:52 <_dp_> well, you can if you just run a server :p
16:38:04 <andythenorth> I'm not seeing the issue :)
16: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
16:38:51 <andythenorth> but that's just how deps work?
16:38:53 <Eddi|zuHause> and that's ignoring any person other than you who might want to use it
16:38:58 <andythenorth> surely that's part of the design?
16:39:13 <Eddi|zuHause> that's the point: there's no "dep"
16:39:29 <andythenorth> but GS is intended to provide the global economy?
16:39:36 <andythenorth> this seems to be trying to have cake and eat it both :)
16:40:00 <andythenorth> it's moderately frustrating, that I want to do something simple :P
16:40:04 <andythenorth> and I'm told GS is the solution
16:40:11 <andythenorth> but then I'm told not to try it in GS
16:40:22 <andythenorth> what am I missing?
16:40:44 <Eddi|zuHause> no. what we're telling you is that the GS can't depend on the NewGRF.
16:40:48 <andythenorth> but it can
16:40:50 <andythenorth> I just upload both
16:41:00 <_dp_> it can but not officially :P
16:41:18 <Eddi|zuHause> it can, but it won't work, and become a maintenance nightmare
16:41:25 <andythenorth> I can even have 2 browser tabs open and press 'submit' on both at once
16:41:48 <andythenorth> do we know that it will?
16:41:53 <andythenorth> has anyone tried?
16:41:55 <_dp_> I actually wonder if there is a single cb gs that works reasonably with all industry sets
16: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
16:42:18 <andythenorth> newgrf can check for GS?
16:42:22 <andythenorth> does GS have action 14?
16:42:22 <Eddi|zuHause> no
16:42:25 <Eddi|zuHause> no
16:42:27 <andythenorth> hmm
16:42:43 <Eddi|zuHause> on clients, there is no GS. only the server has a GS
16:42:45 <andythenorth> this all seems a bit underwhelming given that it's the recommended solution for last ~many years
16:42:54 <Eddi|zuHause> but both server and client must do the same things
16:43:13 <andythenorth> I thought the GS<->Newgrf problem was a different one to this, about who controls which domain
16:43:20 <andythenorth> but this just seems fundamentally broken TBH :)
16:43:25 <_dp_> andythenorth, lol, that's how I feel about newgrfs now that I got into making them :p
16:43:48 <andythenorth> I mean, having cargos affect towns is such a trivial idea
16:43:50 <_dp_> andythenorth, bloody things can't even do trees, power lines and ground properly and you want to control towns :p
16:43:57 <andythenorth> and it seems to be totally baroque to achieve it
16:44:16 <andythenorth> and then when I come up with a solution that is simple in code, it turns out to not be usable?
16:44:22 <Eddi|zuHause> that's how life works... things that seem simple, usually aren't.
16:44:29 <andythenorth> this GS would be about 5 methods and not many lines
16:44:57 <andythenorth> but there is absolutely no way it can work orthogonal to the FIRS version, it will just be absolutely broken
16:45:39 <andythenorth> I assume a town control CB in newgrf is just not technically feasible?
16:45:54 <andythenorth> the problem would be the 'required for growth' cargos in the town window?
16:46:44 <andythenorth> well like FIRS disables itself if conflicting newgrfs are found
16:47:01 <andythenorth> I guess the GS just calls Game.Pause() if it doesn't find a valid FIRS
16: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
16:47:23 <_dp_> andythenorth, even in gs decent cb is barely feasible
16: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
16:47:56 <_dp_> though I guess we use CB for different things xD
16:48:15 <Eddi|zuHause> andythenorth: "just call Game.Pause()" is the equivalent of a kid stomping on the ground saying "i want a pony"
16: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
16:48:25 <Eddi|zuHause> andythenorth: when has that ever solved any problem?
16:48:29 <andythenorth> eh?
16:48:40 <andythenorth> that's the conventional solution in newgrf
16:48:51 <andythenorth> just disable if conditions x / y / z are found
16:48:58 <andythenorth> has been for years
16:49:13 <Eddi|zuHause> no. that's disable the newgrf. not disable the game.
16:49:20 <andythenorth> Game.Pause() is service to the player, no point playing a broken game
16:49:34 <andythenorth> very disappointing
16:51:17 <andythenorth> frosch123 how many other spec drafts did you write? :)
16:51:32 <andythenorth> I remember we talked about something else recently that you already had a spec for :P
16:51:44 <andythenorth> can't remember what it was, but it was 2 cbs or so
16:52:24 <andythenorth> Eddi|zuHause alternative proposal to Game.Pause(), many GS popup a message at game start
16:52:46 <andythenorth> popup a message saying 'This GS is broken, do you want to continue Y | N?'
16:52:52 <_dp_> andythenorth, just do it, universal gamescripts is a myth :p
16:53:08 <andythenorth> do _dp_ :)
16:53:13 <andythenorth> fake news!
16:53:26 <andythenorth> Silicon Valley, NoCarGoal and Busy Bee are pretty universal
16:53:42 <andythenorth> BB will struggle with PBI stockpile limits
16:53:46 <andythenorth> it has no clue about those
16:53:51 <Eddi|zuHause> andythenorth: like i said. if you have a way to detect the brokennes, just disable the GS (= do nothing)
16:54:05 <andythenorth> and configuring SV or NCG with appropriate values is a nightmare
16:54:11 <Eddi|zuHause> andythenorth: the game is perfectly playable without any GS
16:54:14 <andythenorth> you have to play a game through to know what values are realistic
16: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
16:55:32 <andythenorth> problems are? o_O
16:55:48 <_dp_> also bb doesn't actually do anything but makingn some suggestions to player
16:55:57 <andythenorth> yes
16:56:05 <andythenorth> it's very hard to 'do anything'
16:56:15 <andythenorth> as the GS has no clue about the newgrf industries, cargos, the vehicles, the map
16:56:37 <_dp_> well, last time I checked it didn't go well with competitive mp sending everyone to one industry
16:56:38 <andythenorth> so setting arbitrary numbers based goals is kind of tricky
16:56:42 <_dp_> also is too random for my liking
16:57:00 <andythenorth> it was built as an antidote to NCG
16:57:17 <andythenorth> NCG has a single focussed goal, BB has many completely arbitrary goals
16:57:30 <andythenorth> I played both about same amount
16:57:58 <andythenorth> Eddi|zuHause what are the actual costs of a newgrf - GS dependency?
16:58:11 <andythenorth> do the costs only show up on reddit and in forums?
16:58:43 <Eddi|zuHause> that depends how much of an asshole you are to people who can't follow instructions
16:59:01 <Eddi|zuHause> which, btw. will be 99% of the users
17: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
17:01:14 <andythenorth> well it seems I can't disable FIRS if wrong GS is found
17:01:19 <andythenorth> which is a shame
17:01:20 <b_jonas> oh heck they built this 4 tile dairy farm with its tiles on different heights
17:01:50 <b_jonas> no it's more than 4 squares, sorry, it's like 9 squares
17:01:55 <b_jonas> 1
17:01:57 <b_jonas> 10
17:02:11 <Timberwolf> GS requiring a particular (or one of n) GRFs is fine, imo. GRF requiring a GS would be annoying.
17:02:38 <andythenorth> hmm TTDPatchFlags are all just bool
17:02:48 <andythenorth> so they couldn't supply the GS I assume
17:02:49 <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/TTDPatchFlags
17:02:58 <Eddi|zuHause> that's the meaning of "Flag"...
17:03:03 <andythenorth> oh maybe https://newgrf-specs.tt-wiki.net/wiki/ReadingPatchVariables
17:03:21 <nielsm> GRF defines the objects the game is played with and their relationships, GS defines how the game progresses
17:03:23 * andythenorth looks what ID GS uses
17:03:52 <andythenorth> seems to be a dword?
17:04:05 <Eddi|zuHause> there's only misery down this road.
17:04:11 <Eddi|zuHause> don't go there.
17:05:39 <andythenorth> that means I'll have to maintain a backwards compatibility in FIRS with older GS
17:05:43 <andythenorth> that's going to be a total headache
17:05:59 <andythenorth> newer FIRS with older GS, and for some edge-case reason the GS doesn't disable
17:06:00 <Eddi|zuHause> FIRS without GS should work just as before.
17:06:19 <andythenorth> I'm not sure that holds
17:06:27 <andythenorth> the gameplay will be designed around the GS
17:06:32 <Eddi|zuHause> that's the only way this will ever work.
17:06:37 <andythenorth> if it's missing, then the FIRS gameplay might be junk
17:06:50 <andythenorth> it's kind of the point
17:07:17 <andythenorth> is the intent to move newgrf industry spec to GS also at some point?
17:07:30 <Eddi|zuHause> nobody has that intent
17:07:36 <andythenorth> cargos would be easiest to start with, they don't need cbs
17: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
17:10:12 <andythenorth> 1, 3, 4, 5 just make no sense
17:10:19 <andythenorth> if GS is the replacement for newgrf
17:10:32 <Eddi|zuHause> GS is never going to be a replacement for newgrf
17:10:33 * andythenorth is quite confused about the intent
17:10:57 <andythenorth> but explicitly newgrf development was stopped on some features in favour of GS
17:11:00 <_dp_> andythenorth, gameplay will always go to "junk" as your requirements increase
17:11:07 <Eddi|zuHause> social media is never going to be a replacement for people meeting in a bar
17:11:15 <andythenorth> I interpreted that as GS replacing newgrf?
17:11:24 <_dp_> even a patched server where I control everything I possibly could still leaves some stuff to be desired
17:12:45 * andythenorth remains confused :)
17:12:50 <andythenorth> I mean, that's no unusual
17:12:57 <andythenorth> but usually talking to Eddi|zuHause unconfuses me
17:13:10 <andythenorth> but now I am just more confused
17:13:22 <Eddi|zuHause> maybe we're thinking about completely different things
17:13:25 <andythenorth> I don't see how partially replacing newgrf with GS was ever going to work
17:13:41 <_dp_> imo newgrf "development" should've stopped much earlier in favour of some sensible way to control gameplay :p
17:13:51 <andythenorth> the logic seems to be that 'orthogonal' is a mandatory requirement
17:13:58 <andythenorth> so I should also split the cargos out from FIRS?
17:14:07 <andythenorth> because then it's orthogonal?
17:14:15 <andythenorth> users can choose their own cargo grf?
17: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
17:14:39 <frosch123> maybe split the andy from the north?
17:15:01 <Eddi|zuHause> any feature that is not on either of those lines is unachievable
17:15:10 <andythenorth> yes
17:15:19 <andythenorth> the confusing part is why that was done
17:15:24 <Eddi|zuHause> unless you figure out a way for both to cooperate
17:15:32 <Eddi|zuHause> which is near impossible to get right
17:15:37 <andythenorth> but we've established they can't co-operate
17:15:43 <andythenorth> as we can't maintain both sides of an API
17:15:52 <Eddi|zuHause> so people decided it's better to explicitly forbid it
17:15:59 <andythenorth> so why was newgrf shelved in favour of GS?
17:16:39 <andythenorth> is this just another case of 'mistakes were made' like lots of the spec?
17:16:45 <andythenorth> or was this the intended outcome?
17:16:47 <glx> GS were never meant to replace newgrf
17:16:49 <Eddi|zuHause> those newgrf features might have violated the orthogonality
17:17:06 <andythenorth> glx no they were for some functions, there was a long long discussion about it
17:17:11 <andythenorth> which caused pikka to rage quit
17:17:43 <andythenorth> it destroyed the TAI project he was working on, and had planned around newgrf town spec
17: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
17: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.
17:18:16 <glx> GS is only for town growth control, and industry creation, and of course goals/score
17:18:35 <andythenorth> but we've also established it's impossible for me to solve a trivial gameplay problem with a trivial GS
17:18:41 <andythenorth> so GS is junk?
17:18:52 <Eddi|zuHause> no. the problem is not trivial.
17:18:58 <frosch123> andythenorth: maybe you are just too used to newgrf issues :p
17:19:04 <andythenorth> GS *cannot* be for town growth control or industry creation
17:19:12 <andythenorth> as it has no idea what the newgrf intends to happen
17:19:33 <glx> GS can decide to build an industry
17:19:38 <andythenorth> but what industry, why?
17:19:41 <andythenorth> where?
17:19:44 <andythenorth> for what reason?
17:19:45 <glx> like a player would do
17:19:51 <andythenorth> but the newgrf can prevent that anyway
17: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
17:19:56 <_dp_> andythenorth, newgrf can't be for those as well as it has no idea what game is user playing :p
17:20:08 <frosch123> its not meant for a single guy doing industries, vehicles and game mechanics
17:20:22 <andythenorth> hmm
17:20:31 <andythenorth> I was quite seriously going to write a GS
17:20:34 <andythenorth> but it seems pointless
17:20:36 <frosch123> newgrf communication is intentionally vague
17:20:45 <frosch123> with stuff like cargo classes instead of actual cargos
17:21:00 <frosch123> same for newgrf and gs with town effects instead of explicit cargos
17:21:46 <andythenorth> well there's always Iron Horse
17:21:53 <Eddi|zuHause> that's what my point "4)" and "5)" above were about
17:21:59 <andythenorth> I think FIRS might be dead
17: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
17:22:15 <andythenorth> every time I try to motivate myself to do anything with FIRS, I draw trains instead
17:22:48 <andythenorth> my intent was that I could solve the broken things in current FIRS dev with GS
17:22:54 <andythenorth> but that's not possible
17:23:28 <_dp_> andythenorth, you sure you don't want to make servers? ;)
17:23:38 <andythenorth> I did wonder about using the admin port
17:23:44 <andythenorth> but GS can only write to it, not read
17:23:56 <andythenorth> I can't patch a client as I can no longer compile OpenTTD :)
17:24:09 <andythenorth> I guess I could compile on some cloud server
17:24:51 <frosch123> so firs is no longer about making pretty cargo graphs?
17:24:59 <Eddi|zuHause> i think andythenorth is drifting too far into the "thing is too complex, lets solve it with more complexity" corner
17: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
17:25:19 <_dp_> like town control and mapgen
17:25:23 <_dp_> but at least that's possible
17: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
17:25:37 <andythenorth> that's the thing
17:26:13 <frosch123> andythenorth: surprise, gs can read from admin port
17:26:20 <andythenorth> ooo :)
17:26:33 <andythenorth> FIRS economies are all designed around cargo -> towns, but cargo -> towns is dull as fuck for various reasons
17:26:48 <andythenorth> we've been habitually blaming cdist, but it's not cdist's fault
17:27:40 <andythenorth> also, should I add random liveries to TW? :P https://www.grf.farm/iron-horse/dev/html/train_whack.html
17:27:45 <frosch123> what makes towns worse than power plants?
17:27:55 <andythenorth> same in both cases
17:28:11 <frosch123> well, maybe play yeti then
17:28:53 <andythenorth> 1. all chains are working together
17:28:53 <andythenorth> - no BAD FEATURE like cargoes nobody has a reason to transport because they are not useful
17:28:59 <andythenorth> from Yeti first post
17:29:20 <frosch123> ah, "BAD FEATURE" was the term
17:29:24 <andythenorth> has anyone archived yeti anywhere?
17:29:28 <frosch123> i was struggling earlier to remember it
17:29:29 * andythenorth wonders if wayback machine has it
17:29:34 <andythenorth> all the docs are dead
17:30:05 <frosch123> i have all the devzone repos, not the wikis
17:30:06 <andythenorth> wayback machine doesn't have it
17:31:46 <frosch123> andythenorth: can some tw drive to the right?
17:32:01 <andythenorth> I could patch that
17:32:10 <andythenorth> it would double the upload size to s3 :P
17:32:23 <frosch123> so, no :)
17:32:29 <andythenorth> diesel engines could do it
17:32:41 <frosch123> can there be a vehicle that multiplies the score with -1 ?
17:32:41 *** Samu has quit IRC
17:32:50 <andythenorth> like a penalty?
17:33:21 <frosch123> just 1/N chance to get -2M instead of 2M score. and a 1/N^2 chance to get 2M again
17:33:27 <frosch123> just to troll people
17:33:37 <andythenorth> would the vehicle change on every re-roll? :P
17:33:49 <andythenorth> I could just have an 'unlucky' roll
17:34:02 <andythenorth> like those 1980s games where 'sorry you died' was a random chance
17:34:04 <frosch123> maybe you have some shunter engine, it could reverse stuff :p
17:34:21 <andythenorth> I might try to patch random reverse
17:34:23 <andythenorth> also does anyone remember how V solved 'pointless cargos'?
17:34:43 <andythenorth> specifically in FIRS v4 Steeltown vehicles is completely pointless
17:34:46 <frosch123> no idea about uk trains, but here there are always announcements "today the train is driving in reverse wagon order"
17:34:46 <andythenorth> and Rebar
17:35:06 <frosch123> and then everyone with a seat reservation tries to find the opposite place on the platform
17:35:21 <andythenorth> oof :)
17:35:48 <frosch123> andythenorth: iirc V ignored towns, and had the yeti camp, which was an industry
17:35:58 <frosch123> supply stuff to yeti camp, get workers in return
17:36:07 <michi_cc_> The best fun with that is if then the train in fact arrives in the correct orientation.
17:36:13 <frosch123> all the cargo flows in a circle
17:36:20 <Timberwolf> Yeti Dudes and Tired Yeti Dudes.
17:37:06 <Eddi|zuHause> frosch123: that's usually a sign of too few drivers to do the shunting runs to turn the train around
17:37:33 <frosch123> Eddi|zuHause: i thought it was to average wearing
17:37:50 <andythenorth> currently I have scrap production increasing on town popn.
17:37:52 <michi_cc_> Eddi|zuHause: A quite common reason is also "something" is not working on one of the head ends.
17:37:56 <andythenorth> I thought that was half of the solution
17:38:06 <andythenorth> the other half being to control town growth with delivered cargo
17:38:12 <Eddi|zuHause> or sometimes maintenance work taking too long
17:38:22 <andythenorth> I could ignore the town entirely
17:38:29 <andythenorth> delivering vehicles -> more scrap
17:38:31 <andythenorth> via town registers
17:38:41 <andythenorth> same for delivering building supplies
17:38:45 <Eddi|zuHause> there's probably a dozen more reasons, that would all be avoidable if there was enough staff
17:38:56 <frosch123> Eddi|zuHause: the train is delayed because of delays in the train operation
17:40:05 <Eddi|zuHause> but hiring staff doesn't look good on quarterly performance paper
17:40:42 <andythenorth> frosch123 50:50 reverse https://grf.farm/images/random_reversed.png
17:40:51 <Eddi|zuHause> particularly if hiring more staff would mean increasing wages to increase the number of applicants
17:40:52 <andythenorth> it would need implementing a bit differently I think
17:41:20 <andythenorth> also my brain is hard-wired on left->right
17:42:18 <frosch123> andythenorth: for the symmetric engines that works :p
17:43:15 <andythenorth> the compile does know about symmetric vs asymmetric
17:43:22 <andythenorth> so it could be passed in the json
17:44:16 <andythenorth> it's 'realistic' for steam engines also https://www.warwickshirerailways.com/lms/lnwr/canleyhalt/lnwrchg2807.jpg
17:44:26 <andythenorth> plenty of pictures, not just 'omg this happened once'
17:45:16 *** Flygon has quit IRC
17:45:46 <andythenorth> my brain is saying 'those trains can't leave the depot without an engine at the front' :P
17:45:47 <andythenorth> oof
17:46:40 <Eddi|zuHause> well, certain steam engines were designed to go backwards
17:46:41 *** gelignite has joined #openttd
17:46:50 <Eddi|zuHause> especially the later ones
17:46:53 <andythenorth> I should write down this 'FIRS can never have a GS' conclusion
17:46:59 <andythenorth> otherwise it just repeats again in 3 months
17:48:57 <andythenorth> I think V arrived at the correct conclusion long before me, towns can have nothing to do with newgrf industries / cargos
17:53:02 <Timberwolf> I used to live about 5 minutes walk from where that picture was taken.
17:53:19 <Timberwolf> At least, from the description I think it's running down the rear side of the old Triumph motor works.
17:54:12 <andythenorth> so car plant in the background?
17:54:19 <andythenorth> looks a bit like the FIRS one :P
17:55:04 <Timberwolf> Mostly, yeah. By the 2000s it was generic light industrial and the TA had taken some of it over.
17:55:32 <Timberwolf> Still some remnants, like the local pub is called "The Herald" and they don't mean it in the medieval sense. :)
17:56:13 <Timberwolf> s/is/was/, looks like they've built a care home there now.
18:00:12 <LordAro> so anyone interested in merging #8287 ? I did set the release date as today...
18: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? :)
18:02:21 * andythenorth assumes so as it's two sides of the same API
18: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.
18:03:54 * andythenorth looks for a picture
18: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.
18: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.
18:10:00 <andythenorth> top notch
18:15:46 <andythenorth> so I put a crappy 'similar vehicles' thing into Horse docs :)
18: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
18:16:09 <andythenorth> high-speed pax 'similar' to low speed freight engine
18: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.
18:22:18 <andythenorth> Train Whack Special Event! https://www.grf.farm/iron-horse/dev/html/train_whack.html
18:22:39 <andythenorth> limited-time special feature with random right->left consists
18:22:44 <andythenorth> only available until I next push
18:22:49 <andythenorth> as I reverted the changes locally
18:23:28 <andythenorth> hmm these docs aren't very TTD graphical style eh :D https://www.grf.farm/iron-horse/dev/html/fury.html
18:23:51 <andythenorth> maybe I should find a 1990s pixel game font
18:24:56 <andythenorth> https://www.dafont.com/pixel-operator.font might be close enough
18:25:47 <frosch123> DorpsGek_III: stop being so lazy
18:26:58 <frosch123> what is that quote on the train page?
18:31:01 <andythenorth> I made up stupid quotes
18:31:07 <andythenorth> I was going to do realistic back stories
18:31:14 <andythenorth> but I wrote one and it was dull
18:31:20 <andythenorth> pixel font? :P https://grf.farm/images/pixel_operator_font.png
18:31:50 <andythenorth> we should pixel font the website + bananas :D
18:38:38 <frosch123> "Arrows to replacement engine are missing in some cases, unwanted in others - maybe an off-by-one in a calculation?"
18:39:02 <andythenorth> in a big red reminder?
18:39:17 <frosch123> yes, as the dominant headline
18:39:31 <andythenorth> I wanted to not miss it :D
18:39:40 <frosch123> i had to look very hard to even find the arrows
18:39:50 <andythenorth> the contrast is quite low
18:39:56 <frosch123> exactly
18:40:10 <b_jonas> when I control-leftclick on an engine in a depot window, what does that do?
18:40:33 <frosch123> there is control+drag
18:40:45 <frosch123> and control+rightclick
18:41:05 <frosch123> i think control+leftclick is unused, though it will conflict with control+drag possibly
18:41:30 <b_jonas> hmm let me try again, it did something strange to me that I couldn't interpret
18:41:53 <frosch123> oh, wait, ctrl+click is reverse engine, right?
18:42:01 <frosch123> or andy-livery-swap
18:42:10 <b_jonas> but what does reverse engine mean?
18:42:39 <frosch123> usually it's just visual
18:42:46 <frosch123> often it looks bad
18:42:49 <b_jonas> it shows a reverse icon on the engine
18:42:58 <andythenorth> hmm I'm trying to fix those arrows :)
18:43:02 <andythenorth> they are made with mad css
18:43:06 <frosch123> b_jonas: then read the readme of the grf
18:43:10 <frosch123> that is grf specific
18:43:22 <b_jonas> ok
18:43:25 <glx> it shows the vehicle reversed, easier to see if the vehicle is not symetric
18:44:14 <frosch123> glx: what, does ottd draw arrows?
18:45:49 <glx> no I was just talking about ctrl+click effect
18:46:18 <glx> of course newgrf can use this status to determine what to display
18:47:57 <andythenorth> it would be helpful if it cycled a byte, not just a bit :P
18:48:05 <andythenorth> but nvm, that pony is flogged to death
18:48:10 <andythenorth> frosch123 improved? https://www.grf.farm/iron-horse/dev/html/tech_tree_table_red.html
18:48:23 <andythenorth> arrows are 50% black not 10%
18:49:59 <frosch123> tech_tree_table_yellow does not exist
18:50:37 <andythenorth> it could, but it would increase upload size :P
18:50:40 <frosch123> red background seems to mean electric
18:50:54 <andythenorth> probably
18:51:02 <andythenorth> it's not really finished, I was amazed it works at all
18:52:16 <frosch123> it contains a lot of info
18:52:22 <andythenorth> there's a graphviz version somewhere, it didn't really work
19:03:08 <andythenorth> it would be simpler if there only 4 generations :P
19:12:43 *** Wormnest has joined #openttd
19:20:37 <andythenorth> hmm I guess declaring a GS as a dep for a newgrf is out of scope?
19:24:10 <andythenorth> hmm, but we already have newgrf control over town growth :D
19:24:18 <andythenorth> it's long established :D
19:24:44 <andythenorth> I just need FIRS to disable if climate isn't arctic, and snowline isn't lowest possible value :D
19:25:51 <b_jonas> the lowest possible value? is that like the Antarctic?
19:26:26 <andythenorth> seems that 2 is the lowest value
19:26:35 <andythenorth> then I patch houses so they don't build below snowline
19:26:52 <andythenorth> that gives 2 cargos for controlling town growth with
19:26:58 <andythenorth> another elegant solution :)
19: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
19:49:53 *** jottyfan has quit IRC
19:59:45 <TrueBrain> hmm, why did DorpsGek_III talking in this channel?
19:59:48 <TrueBrain> that is not what we asked him to do
20:09:06 *** DorpsGek_III has quit IRC
20:09:24 <TrueBrain> that is what you get for not working DorpsGek_III
20:15:33 *** frosch123 has quit IRC
20:18:08 *** ericnoan has quit IRC
20:27:59 <andythenorth> funny when you closed dorpsgek we lost frosch too
20:28:05 <andythenorth> are they the same codebase?
20:31:29 <Eddi|zuHause> sounds plausible
20:33:46 <andythenorth> I bet they're running on the same ultimate hardware
20:40:45 <Eddi|zuHause> nothing runs on "harware" anymore, it's all "in the cloud"
20:46:59 <andythenorth> is the underlying information universe hardware or software?
20:47:08 <andythenorth> oof unknowable :P
20:53:48 <Eddi|zuHause> it's kubernetes all the way down
20:56:36 <andythenorth> terrifying thought
21:06:08 *** Progman has joined #openttd
21:15:00 *** tokai has joined #openttd
21:15:00 *** ChanServ sets mode: +v tokai
21:21:54 *** tokai|noir has quit IRC
21:29:33 *** Wormnest has quit IRC
21:42:37 *** WormnestAndroid has quit IRC
21:42:41 *** WormnestAndroid has joined #openttd
21:45:23 *** jottyfan has joined #openttd
22:18:01 *** Wormnest has joined #openttd
22:40:53 <andythenorth> hmm
22:42:06 <andythenorth> I swear a GS could be maintained against a grf reliably
22:42:15 <andythenorth> unfortunately it's predicated on writing bug free code
22:42:58 <nielsm> GS also still has the big issue of saving and restoring state in savegames
22:43:25 <nielsm> it's really difficult to get right (apparently)
22:43:51 <andythenorth> well only I said that
22:43:58 <andythenorth> and only after I broke it once
22:44:06 <Timberwolf> Heh, yes.
22:44:31 <andythenorth> once is a single data point :P
22:44:53 <Timberwolf> I've just been fixing a problem with persisting the maximum town growth array in Villages Is Villages.
22:45:17 <andythenorth> so it wasn't just me? :P
22: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.
22:45:50 <andythenorth> oof :)
22:46:02 <andythenorth> GS seems an order of magnitude harder than newgrf :)
22: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
22: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.
22:47:01 <andythenorth> borrowing inappropriately, I use multiple web frameworks where the objects serialise / deserialise on demand
22:47:48 <andythenorth> on the other hand, maybe that's what GS does, and I just did it wrong :)
22:48:05 <andythenorth> I think I assumed the savegame would just persist the objects
22:54:45 * andythenorth tries to rationalise the compatibility challenge :P
22:55:11 <andythenorth> for convenience, let's say Foo.GS was introduced alongside FIRS 4.0.0
22:55:31 <andythenorth> Foo.GS has the list of all cargos and required behaviours against FIRS 4.0.0
22:55:56 <andythenorth> let's say this is Foo.GS 1.0.0
22:56:33 <andythenorth> now I introduce FIRS 4.1.0, changing the cargos (and ignoring semver rules about API breakage apparently)
22: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
22:57:25 <andythenorth> I ship Foo.GS 1.1.0 with support for FIRS 4.1.0
22:57:44 <andythenorth> if the player doesn't upgrade FIRS to 4.1.0, but keeps 4.0.0
22:58:04 <andythenorth> Foo.GS 1.1.0 knows about tagged versions of FIRS, including FIRS 4.0.0
22:58:08 <andythenorth> so it works fine
22: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
22: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
22:59:49 <andythenorth> but Foo.GS may advertise itself as doing things that FIRS 4.0.0 can't support
22:59:53 <andythenorth> which is confusing
23:00:32 *** jottyfan has quit IRC
23:10:32 *** Wormnest has quit IRC
23:26:33 *** nielsm has quit IRC
23:29:20 * andythenorth bed
23:29:22 *** andythenorth has quit IRC
23:43:43 *** Wormnest has joined #openttd