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