Config
Log for #openttd on 31st May 2020:
Times are UTC Toggle Colours
00:10:24  *** nielsm has quit IRC
00:15:53  *** XeryusTC has quit IRC
00:18:40  <Speeder_> should I repurpose some existing cargos of other NewGRFs or create my own?
00:20:16  *** magdalena[m] has quit IRC
00:33:38  *** Webster has joined #openttd
00:33:56  <supermop_Home> that 3rd platform at fackslatt is pretty useless excepte when starting new trains right now
00:34:34  *** XeryusTC has joined #openttd
00:35:10  *** Yexo- has joined #openttd
00:35:10  *** avdg has joined #openttd
00:35:41  *** planetmaker has joined #openttd
00:35:48  *** planetmaker is now known as Guest26686
00:35:58  *** fjodor[m] has quit IRC
00:36:00  *** Hazzard has joined #openttd
00:36:10  <supermop_Home> but if it tunneled under the HQ to join those express tracks directly, then the space held for the express could go to a new North-west bound train
00:36:37  *** fjodor[m] has joined #openttd
00:36:41  *** V453000 has joined #openttd
00:36:41  *** Hirundo has joined #openttd
00:36:41  *** Ammler has joined #openttd
00:37:11  *** ^Spike^ has joined #openttd
00:37:11  *** Osai has joined #openttd
00:39:10  *** igor[m] has quit IRC
00:39:28  *** igor[m] has joined #openttd
00:51:58  *** namad7 has joined #openttd
00:56:45  <Speeder_> FLHerne, for example I am thinking of using toyland sugar
00:57:44  *** namad7 has quit IRC
01:05:55  *** gnu_jj has quit IRC
01:06:07  *** gnu_jj has joined #openttd
01:18:22  *** UncleCJ[m] has quit IRC
01:21:18  *** gelignite has quit IRC
01:23:12  *** UncleCJ[m] has joined #openttd
01:35:45  *** Flygon has joined #openttd
02:46:01  *** D-HUND has joined #openttd
02:49:22  *** debdog has quit IRC
02:51:15  *** glx has quit IRC
03:09:50  *** leward[m] has quit IRC
03:11:53  *** leward[m] has joined #openttd
03:23:26  *** cyberjunkie[m] has quit IRC
03:30:04  *** keoz has joined #openttd
03:31:18  *** Wormnest has quit IRC
03:31:47  *** cyberjunkie[m] has joined #openttd
03:48:14  *** ad5twoknebor[m] has quit IRC
03:52:42  *** ad5twoknebor[m] has joined #openttd
04:00:30  *** udo[m] has quit IRC
04:01:50  *** elliot[m] has quit IRC
04:05:21  *** elliot[m] has joined #openttd
04:14:05  *** udo[m] has joined #openttd
04:16:09  *** Wrench_In_The_Plan has quit IRC
04:32:14  *** jact[m] has quit IRC
04:37:30  *** jact[m] has joined #openttd
04:45:18  *** _dp_ has quit IRC
04:45:48  *** dP has joined #openttd
04:45:50  *** dP is now known as _dp_
05:17:34  *** ZirconiumX has quit IRC
05:17:38  *** ZirconiumX has joined #openttd
05:35:10  *** SmatZ has quit IRC
05:35:42  *** Terkhen has quit IRC
05:35:43  *** SmatZ has joined #openttd
05:36:13  *** Terkhen has joined #openttd
05:36:15  *** ChanServ sets mode: +o Terkhen
06:11:42  *** Westie has quit IRC
06:11:56  *** Westie has joined #openttd
06:20:36  *** cHawk has joined #openttd
06:42:06  *** Heiki has quit IRC
06:42:21  *** Heiki has joined #openttd
06:47:26  *** moll has quit IRC
06:47:35  *** moll has joined #openttd
07:02:59  *** Progman has joined #openttd
07:04:53  *** Wolf01 has joined #openttd
07:05:18  *** FLHerne has quit IRC
07:06:03  *** FLHerne has joined #openttd
07:08:14  *** ericnoan has quit IRC
07:11:19  *** ericnoan has joined #openttd
07:26:32  *** nielsm has joined #openttd
07:31:58  *** Alkel__U3 has quit IRC
07:32:11  *** Alkel__U3 has joined #openttd
07:41:19  *** WormnestAndroid has quit IRC
07:41:32  *** WormnestAndroid has joined #openttd
07:42:53  *** sla_ro|master has joined #openttd
07:46:06  *** DorpsGek has quit IRC
07:47:01  *** andythenorth has joined #openttd
07:47:27  *** DorpsGek has joined #openttd
07:47:27  *** ChanServ sets mode: +o DorpsGek
07:48:31  <Wolf01> https://www.tt-forums.net/viewtopic.php?p=1232542#p1232542 <- andythenorth
07:48:57  <andythenorth> a bug? :o
07:48:59  <andythenorth> surely not :)
07:56:27  <Wolf01> https://www.tt-forums.net/viewtopic.php?p=1232516#p1232516 <- this is a bug
07:58:41  <nielsm> https://wiki.openttd.org/User:Nielsmh/Modular_airports  should maybe look at this again
08:00:19  <andythenorth> there's certainly some noisy demands for it
08:01:25  * andythenorth wonders about modular complete airports
08:01:34  <andythenorth> i.e. airports just become joinable
08:01:40  <andythenorth> but there are no taxi-ways between them
08:02:18  <nielsm> the original city airport would need a lot of special cases under my imagined model
08:02:41  <nielsm> just due to the cross-shaped taxiways
08:06:22  <nielsm> perhaps the solution should be to have some magic multi-tile modules with movements custom defined, but then you're already into complete newgrf airport territory and might as well just do that
08:07:04  <nielsm> regardless even for newgrf airpots, I think defining the state machine could be left out with a sufficiently clever algorithm that works on allowed movements
08:12:57  <Wolf01> Drop the deadlock rule and make aircraft crash :P
08:16:52  <nielsm> nothing would even crash, unless you imagine aircraft parking on the runway and more aircraft then landing there
08:18:01  <Wolf01> Yes, I meant that, also when an aircraft decide to cross a runway at the same time as another one is trying to land
08:24:57  <nielsm> https://en.wikipedia.org/wiki/File:Aircraft_parking_at_Anguilla_Airport.jpg
08:25:03  <nielsm> need to support this situation
08:25:11  <Wolf01> XD
08:35:58  *** khavik[m] has quit IRC
08:36:02  *** khavik[m] has joined #openttd
08:37:02  *** labs[m] has quit IRC
08:37:26  *** labs[m] has joined #openttd
08:38:06  *** dude[m] has quit IRC
08:38:19  *** dude[m] has joined #openttd
08:41:02  *** julie[m] has quit IRC
08:41:15  *** julie[m] has joined #openttd
08:52:32  <nielsm> would it make sense to allow airports without (reachable) hangars?
08:59:42  *** arron[m] has quit IRC
09:00:01  <nielsm> expanded a bunch on that ideas page now
09:00:16  *** arron[m] has joined #openttd
09:11:26  *** karl[m] has quit IRC
09:11:30  *** karl[m] has joined #openttd
09:12:46  *** robert[m]1 has quit IRC
09:12:47  <Wolf01> <nielsm> would it make sense to allow airports without (reachable) hangars? <- why not? You won't be able to purchase/replace/service at those
09:12:51  *** robert[m]1 has joined #openttd
09:22:39  *** vanessa[m] has quit IRC
09:22:43  *** vanessa[m] has joined #openttd
09:34:22  *** Yexo has quit IRC
09:34:39  *** Yexo has joined #openttd
09:34:39  *** ChanServ sets mode: +o Yexo
09:39:51  *** Samu has joined #openttd
09:39:54  <Samu> hi
09:45:03  <DorpsGek_III> [OpenTTD/OpenTTD] hewimp opened issue #8177: Ships https://git.io/Jf6cI
09:45:14  <nielsm> great issue
09:49:16  <andythenorth> super
09:49:25  <DorpsGek_III> [OpenTTD/OpenTTD] hewimp commented on issue #8177: Ships https://git.io/Jf6cI
09:49:59  <nielsm> what
09:50:28  <nielsm> I'm closing that with a reference to tt-forums for gameplay and grf dev help
09:50:37  <andythenorth> thanks
09:50:43  <andythenorth> it's hitting max ship speed I think
09:50:48  <andythenorth> which possibly overflows?
09:50:57  <andythenorth> resulting in a negative speed?
09:51:01  <andythenorth> or is clamped to 0
09:51:03  <nielsm> oh... maybe?
09:51:08  * andythenorth guessing
09:51:14  <andythenorth> redFISH is a fork of FISH
09:51:29  <andythenorth> but I have more projects and ideas than time, and so many bugs on my head already :)
09:51:43  <andythenorth> not going to try and figure out that one
09:52:27  <andythenorth> I like forks, I don't like the obligation I then have to fix the issues in forks :|
09:53:56  *** Borg has joined #openttd
09:55:49  <Wolf01> I would like to know what could happen to the people on that ship... would they be splattered to the nearest wall when that happen?
09:56:10  <nielsm> yep the ship that has a speed of 128 km/h goes at absurd slowness
09:58:00  <nielsm> https://0x0.st/ifIB.mp4
09:59:19  <Wolf01> Speed is relative
09:59:39  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh commented on issue #8177: Ships https://git.io/Jf6cI
10:07:06  <nielsm> there, made it into a proper report
10:07:51  <nielsm> Wolf01 ah yes maybe it's moving so fast it travels the entire route and then a bit every single tick :D
10:10:22  <andythenorth> :)
10:29:12  <Wolf01> So you are looking at a ghost :D
10:29:38  <Wolf01> You can't both see the ship and the speed at which it's going
10:44:37  *** frosch123 has joined #openttd
10:46:04  <DorpsGek_III> [OpenTTD/OpenTTD] FLHerne commented on issue #8177: Ships with max speed overflow to near-zero speed https://git.io/Jf6cI
10:46:18  <FLHerne> nielsm: ^ not a bg
10:59:16  *** virtualrandomnumber has joined #openttd
11:15:09  *** cHawk has quit IRC
11:41:49  <DorpsGek_III> [OpenTTD/OpenTTD] Yexo commented on issue #8177: Ships with max speed overflow to near-zero speed https://git.io/Jf6cI
12:13:29  *** glx has joined #openttd
12:13:29  *** ChanServ sets mode: +v glx
12:24:42  *** gelignite has joined #openttd
12:32:28  *** andythenorth has quit IRC
13:02:02  <DorpsGek_III> [OpenTTD/OpenTTD] Yexo closed issue #8098: The transfer value in "Transfer: £[number]" can be negative. https://git.io/Jftgp
13:02:02  <DorpsGek_III> [OpenTTD/OpenTTD] Yexo commented on issue #8098: The transfer value in "Transfer: £[number]" can be negative. https://git.io/Jftgp
13:06:01  *** virtualrandomnumber has quit IRC
13:29:27  <FLHerne> Yexo-: I don't understand, what callback do you think is involved in the ship thing?
13:31:34  <glx> CB36 probably
13:40:39  <frosch123> yes, CB36 can set speeds up to 0x7FFF
13:42:32  <glx> but I imagine byte casting used on acceleration calculation doesn't like that
13:43:19  <frosch123> most vehiclecontroller have a loop to move a  vehicle multiple steps per tick
13:43:35  <frosch123> but iirc ships do not have that, so can only move one world coordinate per tick at max
13:43:56  <frosch123> quite sure people tried to change that in the past, but did not finish
13:44:11  <FLHerne> Hm
13:44:55  <FLHerne> But CB36 is documented to adjust prop 0B, which is documented as a byte
13:45:08  <FLHerne> So I still don't think it's an actual bug
13:46:01  <frosch123> limitations are never a bug, removing limitations are features
13:46:19  <FLHerne> Well, yes
13:46:46  <FLHerne> But currently the issue is tagged as a bug :p
13:47:04  <frosch123> offer a refund?
13:47:41  <FLHerne> hah
13:48:15  <glx> RV also use a byte prop but I think it's possible to have faster than 127km/h RV
13:48:44  <frosch123> RV have two properties, it's a very silly part of ttdp
13:48:53  <FLHerne> glx: With prop 0B you're limited to 127km/h for RVs
13:49:06  <FLHerne> But prop15 has a different multiplier
13:49:20  <frosch123> which is converted into the same thing in game
13:49:35  <frosch123> anyway, pretty sure RV also have cb36 for speed
13:49:46  <frosch123> so cb36 can set higher speeds than prop15
13:50:47  <glx> prop 08 and 15 are both bytes anyway
13:51:30  <glx> but indeed lower multiplier of prop 15 allows higher speed
14:01:50  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh commented on issue #8177: Ships with max speed overflow to near-zero speed https://git.io/Jf6cI
14:18:01  <glx> BTW internally max speed is 16 bits
14:22:26  <nielsm> if the ship movement can be changed to work in 16 bits without affecting normal ships I don't see why not
14:23:05  *** Wormnest has joined #openttd
14:55:57  *** andythenorth has joined #openttd
14:59:28  *** Wrench_In_The_Plan has joined #openttd
15:09:44  *** Wormnest has quit IRC
15:14:33  *** WormnestAndroid has quit IRC
15:15:14  <andythenorth> yo
15:15:23  *** WormnestAndroid has joined #openttd
15:17:23  <andythenorth> so anyone tried the tech tree GS?
15:17:45  <andythenorth> can't add it to my running game, and I need to keep this one going for testing newgrfs :P
15:18:19  <Eddi|zuHause> wasn't the speed limit usually because of maximum movement distance per tick?
15:20:36  * andythenorth really wishes the game continued when paused
15:21:22  <FLHerne> Well, you'd still need an actual pause
15:21:59  <andythenorth> 'stop'
15:22:54  <andythenorth> I keep thinking about starting a patchpack
15:23:01  <andythenorth> but I am just not good enough at c++
15:23:20  <andythenorth> I've been programming for 37 years, it takes 10 to be good, and I am not good :P
15:29:27  <Eddi|zuHause> "i've been doing this of X years" is never a good argument
15:29:35  <Eddi|zuHause> also, it's 10000 hours, not 10 years
15:30:37  <andythenorth> yes
15:30:44  <andythenorth> I was using shorthand :P
15:31:46  <Eddi|zuHause> like lightbulbs that say "1 year" and then go out after 3 months, because you use them for 12 hours a day, instead of 3 like they assumed for "average" use
15:32:30  <andythenorth> so 10k hours would be 3 hours per day for 10 years?
15:32:48  <Eddi|zuHause> yes. basically
15:33:17  <andythenorth> hmm
15:33:22  * andythenorth wonders about EddiPP
15:33:41  <Eddi|zuHause> what would that constitute of?
15:33:52  <frosch123> state machines
15:33:58  <frosch123> every else removed
15:34:15  <frosch123> just a turing simulator
15:34:17  <Eddi|zuHause> 10 things that sound good on paper but are eternally unfinished
15:43:21  <andythenorth> probably 10 things the exact opposite of what I would add :)
15:43:32  <andythenorth> and yet many of the ideas in my newgrfs are from Eddi :)
15:43:45  <Yexo> FLHerne: As glx said it's CB36. IMO not an OpenTTD bug. CB36 modifies the original property which is byte-sized, so returning anything larger than 0xFF is a newgrf bug
15:43:59  <andythenorth> is it worth starting a patchpack just to fix tropic landscape gen? :P
15:44:12  <Yexo> And while internal max speed is stored as 16 bits, anything more than 8 bits is not supported by the movement code
15:45:15  <nielsm> ottd should then be warning about a buggy newgrf
15:46:02  <Yexo> It definitely could, but exhaustively warning about everything a newgrf can possible do that's out of spec is not feasible
15:46:05  <nielsm> instead of producing behaviour that's clearly unintended but not clear whose fault it is
15:47:12  <Yexo> ship_cmd.cpp:208 uses CB36 and stores the return value. That'd be the place to introduce an extra check and/or warning
15:47:57  <Eddi|zuHause> just clamp() it?
15:48:28  <Yexo> clamping it has the downside that we hide the issue now, and if at some point in the future we want to expand the spec to allow higher speeds we need to remove that clamp() again
15:48:46  <Yexo> Which might lead to older newgrfs suddenly have ships with higher speeds than intended
15:49:07  <Yexo> For this specific case that's not a problem, but it can hide other bugs
15:49:18  <Eddi|zuHause> that's not a problem, because those grfs were out-of-specs anyway, so no guarantee about keeping their behaviour
15:49:54  <Yexo> If we go that route, we don't have to do anything: they're out of spec, which results in very slow moving ships currently.
15:50:13  <Eddi|zuHause> we'd have to warn about every "but these reserved bits should be zero" instance in the specs
15:51:03  <Yexo> afk for a bit again
15:53:27  <Eddi|zuHause> so we have two orthogonal options that we can either do or not do: 1) issue a warning for out-of-range, which would amplify the error, and 2) clamp back into range, which would cover up the error
15:55:13  <nielsm> any cb36 warning should probably also have a flag for "has already been shown" to avoid spamming the user
15:59:08  <Eddi|zuHause> next architectural question: should each code calling the callback provide its own range checks, or should the callback handler do the range checking, being provided with the appropriate information (signed, unsigned, lower bound, upper bound)
16:05:33  <frosch123> can we just agree that eddi implements faster ships, and be done with it?
16:05:57  <nielsm> just make all the ships faster yeah
16:09:53  <supermop_Home> switch to a minimum ship speed
16:10:07  <supermop_Home> no ship can go slower than say 70 kmh
16:10:11  <andythenorth> don't write bad newgrfs :P
16:10:34  <andythenorth> I can't find the setting to turn off the vertical gridlines in train depot window
16:10:42  <andythenorth> anyone know what it's called?
16:11:27  <andythenorth> maybe it's in openttd.cfg
16:11:55  <Eddi|zuHause> weren't you the reason they were introduced in the first place? :p
16:12:16  <andythenorth> yes
16:12:22  <andythenorth> they're missing in my client
16:12:35  <andythenorth> I want to turn them back on
16:13:15  <andythenorth> or have they been removed recently?
16:13:24  <andythenorth> I couldn't see a commit mentioning removal
16:13:30  <frosch123> they are disabled if you mix 28px and 32px newgrfs
16:13:54  <andythenorth> ok so I need to make my own PIPE grf
16:14:25  <andythenorth> is putting pipelines into Horse out of scope? :)
16:14:45  <andythenorth> Iron Pipe :P
16:15:25  <frosch123> Popeye
16:15:26  <nielsm> but why disable them? the point (to me) is to know whether trains will fit in particular stations, not to count cars
16:15:45  <Eddi|zuHause> implement NotPipeTypes?
16:16:10  <andythenorth> the abuse of trains actually works fine
16:16:17  <frosch123> oh, i read the other day that nrt was recoined to newgrf-road&tram-types
16:16:40  <Eddi|zuHause> nielsm: but the platform length is different from the depot pixel length
16:16:40  <andythenorth> I enjoy the evolution
16:16:51  <frosch123> so, we can recoin everything to NoGrf
16:16:57  <andythenorth> entropy
16:17:04  <andythenorth> I considered merging all my grfs into my patchpack
16:17:10  <Eddi|zuHause> nielsm: so 28px and 32px vehicles need different grid width
16:17:34  <andythenorth> anyway, the PIPE grf really shouldn't work in gameplay, but it really does, for the simple case of short point-to-point routes with one 'train'
16:17:46  <Eddi|zuHause> that, or we deprecate 28px vehicles and stretch everything to 32px
16:17:49  <frosch123> nielsm: the alternative is to draw 4 blank pixels between 28px wagons in depot
16:18:05  *** keoz has quit IRC
16:18:11  <frosch123> both solutions are ugly for some situations :)
16:18:19  <frosch123> both solutions result in bug reports :)
16:18:23  <frosch123> no option is winning
16:18:36  <andythenorth> I have made my peace with bug reports
16:18:48  <andythenorth> frosch123 seems we can kinda just ignore bug reports
16:19:20  <andythenorth> I was very -1, but I am slightly persuaded now, like +0.1
16:19:21  <supermop_Home> 28 and 32?
16:19:38  <frosch123> andythenorth: switch to jgrpp
16:19:51  <frosch123> since nrt it probably also has less bugs
16:19:54  <andythenorth> I would, but it doesn't actually do the things I want :P
16:20:04  <andythenorth> it kind of goes the opposite way to what I want
16:20:07  <andythenorth> except daylength
16:20:13  <andythenorth> andypp
16:20:46  <andythenorth> one day I'll make an NRT grf, and find the bugs :P
16:20:53  <frosch123> you could try to make andy grfs work exclusively in andypp, and see whether that is enough to win the pp competition
16:21:03  <andythenorth> that is what I would do
16:21:07  <andythenorth> also not MP safe
16:21:35  <andythenorth> there are too many things I want to experiment with that require more newgrf API :P
16:22:49  <andythenorth> newgrf town control might be the main one :P
16:23:05  <frosch123> NoTowns :)
16:23:40  <frosch123> or just NOT
16:23:49  <andythenorth> I'm considering making a 'town' industry
16:24:01  <frosch123> V already did
16:24:02  <andythenorth> it would solve a lot of 'problems'
16:24:14  <andythenorth> there might be new problems :P
16:24:14  <frosch123> yeti home
16:24:20  <andythenorth> :P
16:25:05  <andythenorth> did no-one ever do yeti@home?
16:25:26  <andythenorth> your PC scans pictures of the himalayas for cryptids?
16:25:31  <frosch123> it was more about yeti@work
16:25:57  <frosch123> oh, you mean the YETI research project
16:26:03  <frosch123> i think that was canceled years ago
16:26:27  <frosch123> i wonder, what was it's effect in civ1ß
16:27:11  <frosch123> ah, just generic +50% research
16:28:36  <Eddi|zuHause> SETI@HOME was stopped a few months ago
16:29:25  <Eddi|zuHause> but the whole distributed calculation infrastructure is being used for other research projects now
16:30:56  *** keoz has joined #openttd
16:30:57  *** Flygon has quit IRC
16:32:50  <frosch123> probably for bitcoins
16:33:11  <nielsm> looks like it's just a few minutes now until the astronauts disembarks the Crew Dragon onto the ISS
16:33:16  <frosch123> or is that horse dead yet?
16:34:52  <nielsm> bitcoin still exists and is probably still consuming more energy than the value of the transactions performed
16:36:03  <Borg> saaaatan ;D perfect.. perfect.. ;>
16:36:20  <Borg> PBS back signal as aux path selector
16:36:35  <Borg> took me a while to get correct p0, p1, p2 + pbs_back_penalty
16:36:36  *** sla_ro|master has quit IRC
16:36:53  <Eddi|zuHause> no, not bitcoin, but things like protein folding and stuff
16:37:23  <milek7> nielsm: I don't think so, total transaction value is likely huge
16:38:12  <milek7> maybe comparing consumed energy to total mined value
16:40:54  <andythenorth> we should rent our openttd botnet to coin miners?
16:41:17  <andythenorth> based on CPU use, I assume we're doing *something* with the client other than just running the game?
16:41:23  <nielsm> oh yes! make a multithreaded openttd
16:41:33  <nielsm> the other threads don't necessarily play the game tho
16:41:45  <andythenorth> maybe it's just the Horse graphics calculations that take so much CPU
16:41:54  <andythenorth> thread for newgrf action 2 chains? o_O
16:44:17  <Eddi|zuHause> andythenorth: that only works if you can defer reading the resulty by 1 tick
16:44:35  <andythenorth> I'm assuming Horse is to blame
16:44:39  *** Borg has quit IRC
16:47:48  <nielsm> well I did make that newgrf profiling feature which is actually in 1.10 :)
16:54:19  <nielsm> ...but it also requires some more tooling to make sense of the results, I suppose
17:00:19  <andythenorth> seems nml doesn't implement var 0x61?
17:01:28  <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/VariationalAction2/Vehicles#Query_variable_of_n-th_vehicle_in_chain_.2861.29
17:02:31  <nielsm> soryr can't look right now, watching video of a door being opened
17:03:37  <andythenorth> ha
17:03:43  <andythenorth> in a vacuum?
17:04:08  <nielsm> I hope not
17:05:02  <nielsm> but it is several hundred km above the surface of the earth
17:17:42  <Eddi|zuHause> nielsm: that door is probably closer to earth surface than my distance from you
17:17:53  <nielsm> yeah
17:19:53  <supermop_Home> is that a sequined dinosaur?
17:22:06  <supermop_Home> i assume that is not official equipment
17:24:53  <SpComb> it's an official SpaceX zero-gravity indicator
17:25:10  <Eddi|zuHause> dinosaurs in space, that was a doctor who episode or something?
17:26:20  <SpComb> https://www.businessinsider.com/spacex-launches-plush-dinosaur-into-space-with-nasa-astronauts-2020-5?r=US&IR=T
17:26:28  <Eddi|zuHause> SpComb: you mean a free fall indicator? because gravity up there is probably still 90% of surface gravity:p
17:27:51  <frosch123> flying is the art of falling and missing the floor
17:35:07  <supermop_Home> we'll i am less interested in watching ted cruz's blue blazer
17:37:35  <frosch123> did he jump out of the dinosaur?
17:43:19  <andythenorth> so what's the go with prop 25?
17:43:34  <andythenorth> I could use it for things like marking up 'this is a passenger car'?
17:43:44  <andythenorth> for the super complicated sprite rules I have?
17:44:54  <andythenorth> nvm, I'll do it in python, less to go wrong :D
17:46:23  <frosch123> prop25 is for communication wagon -> engine
17:48:20  <frosch123> i don't know of a use-case that cannot be done by counting vehids instead
17:54:01  <andythenorth> IDs were my first choice :)
17:54:17  <andythenorth> I have some self-inflicted problems with using them in templating for stored procedures :P
17:54:35  * andythenorth fixes that
18:04:50  <Eddi|zuHause> frosch123: i think andy's problem is that he wants to count potentially lots of IDs
18:07:55  <frosch123> i wanted to write a for-each operator, but didn't
18:08:18  <frosch123> though now that nml support functions, there is actually a chance of it getting implemented in nml
18:09:19  <Eddi|zuHause> replace prop25 with permanent storage, and make a version of var42 with custom operators (and, or, add, min, max, ...)
18:09:40  <frosch123> declarative languages suck
18:09:57  <frosch123> either for-each or map-reduce
18:10:50  <Eddi|zuHause> functional action 2
18:11:02  <andythenorth> Eddi|zuHause you are correct, but I can count the IDs in python and just do a big switch
18:11:30  <andythenorth> how many values can an action 2 branch on? :P
18:11:32  <andythenorth> I might run out
18:11:46  <Eddi|zuHause> andythenorth: but then you don't have a "position in chain" variable
18:14:56  <andythenorth> no
18:15:09  <andythenorth> I gave up on that case in the assumption it will never be added :)
18:15:48  <andythenorth> there's usually an alternative way to design around the 'problem' which is why I don't mind that newgrf spec is quite conservative nowadays
18:16:11  <andythenorth> what I want to do on Tuesday might be deleted by Friday :P
18:18:38  <andythenorth> also I'm doing the action 2 chain equivalent of trick shots
18:19:04  <andythenorth> making increasingly complicated rules for which sprite to show, modified by neighbouring vehicles :P
18:19:14  <frosch123> andythenorth: there are 255 cases max, but you can chain switches
18:19:29  <andythenorth> thanks, I'll put a guard in
18:19:54  <frosch123> ottd sorts the cases to do binary searches, so many cases are no problem
18:19:56  <Eddi|zuHause> frosch123: i think my dummy switch is closing in on the 255 mark
18:20:51  <frosch123> does it become less dummy if you remove some cases?
18:21:29  <Eddi|zuHause> it's just there so all string ids and "global" action2s are referenced
18:21:59  <frosch123> well, in that case you run out of action2 ids anyway
18:22:10  <Eddi|zuHause> it could trivially be split into two
18:22:37  <Eddi|zuHause> i think string ids are 12 bit or so
18:23:21  <frosch123> 10
18:25:39  <Eddi|zuHause> i was at 187 strings and action2s went 188 to 252
18:27:10  <Eddi|zuHause> i could probably rewrite the action2s with procedures, which ideally would eliminate all but one
18:27:41  <frosch123> sounds like cets source would shrink from 100MB to 1kB
18:28:14  <Eddi|zuHause> i think the combined source file was something like 11MB
18:28:31  <Eddi|zuHause> which is roughly the same as FIRS
18:30:04  <frosch123> horse  was 15MB a year ago (that's what's on my disk)
18:30:54  <Eddi|zuHause> by "combined source file" i meant what's fed into nmlc
18:31:21  <frosch123> yes
18:32:21  <Eddi|zuHause> nfo source is 19MB, final GRF is 22MB
18:39:39  *** sla_ro|master has joined #openttd
18:40:02  <andythenorth> I could frosch123 Horse is 6.9MB currently
18:41:57  <frosch123> aw, i looked in the wrong row, 15 was the .grf :/
18:44:03  <Speeder_> can an experient OpenTTD player tell me what is the problems of using industries sets that have lots of cargos?
18:44:09  <Speeder_> compared to using something more simplier, that is.
18:45:17  <Eddi|zuHause> mixed trains may be tricky to set up, trains which focus on one single cargo are simpler
18:45:34  <andythenorth> Speeder_ how long have you got? :)
18:45:46  <Eddi|zuHause> not all vehicle sets support all cargos, or refit at stations
18:45:49  <Speeder_> andythenorth, I am not going anywhere :P
18:46:07  <andythenorth> frosch123 I'm sure Horse *was* 15MB or so until procedures were added to nml
18:46:37  <andythenorth> Speeder_ problems of many cargos (list follows)
18:46:42  <andythenorth> - overwhelming to players
18:46:56  <andythenorth> - makes the cargo payment chart unusable
18:47:07  <andythenorth> - makes the station list unusable (silly 2 char abbreviations)
18:47:28  <andythenorth> - makes the cdist cargoflow unusable
18:47:40  <Speeder_> Eddi|zuHause, ah, so that is not just my impression... I had a bunch of sailing ships routes that were working fine until I switched to a SQUID ship... then the route broke down due to refit at station misbehaving.
18:47:40  <andythenorth> - is hard to design a good grf with
18:47:45  <andythenorth> - takes a long time to play test
18:48:08  <andythenorth> - makes the vehicle refit menu unusable
18:48:17  <andythenorth> - makes the vehicle refit at station menu unusable
18:48:37  * andythenorth can't think of much else,
18:49:08  <Eddi|zuHause> Speeder_: cargodist doesn't properly maintain routes for which a vehicle could be refitted to, only if it actually ran with that refit at least once in the last <some period (2 years?)>
18:49:42  <Speeder_> Eddi|zuHause, I noticed that too
18:50:17  <Speeder_> also noticed cargodist sometimes ignore capacity entirely
18:50:55  <Speeder_> for example I had the following situation: diamond mine -> 70 ships -> far away port. then I built one ship to a closer new port. cargodist solution was send half of the cargo to each port, ignorign one had 70 ships and the other had 1
18:51:06  <andythenorth> cdist almost entirely ignores capacity
18:51:31  <Speeder_> how cdist chooses destination anyway?
18:51:34  <andythenorth> it doesn't
18:51:39  <andythenorth> there's no destination
18:51:43  <andythenorth> just a 'next hop'
18:51:47  <Eddi|zuHause> cargodist only ever chooses "next hop"
18:51:48  <Speeder_> for example I Saw a bunch of conflicting opinions on reddit about what settings to use with FIRS
18:52:04  <andythenorth> with FIRS you should use 'effect of distance on demand: 0%'
18:52:06  <Eddi|zuHause> everything else is just guesswork and statistics
18:52:12  <andythenorth> but unfortunately that breaks cities
18:52:22  <andythenorth> so you can't use 0%
18:52:26  <Speeder_> what "effect of distance on demand" does exactly?
18:52:39  <andythenorth> further away hops get less cargo assigned
18:53:05  <andythenorth> cargodist is remarkable, but it really doesn't do what people think it does
18:53:18  <Eddi|zuHause> Speeder_: for cargo, you need low effect of distance, so supplies are distributed evenly across all destinations, but for passengers, you need high effect of distance, or all links will be hopelessly overloaded
18:53:49  <Speeder_> Eddi|zuHause, and lemme guess... ottd doesn't support splitting the effect like that?
18:53:57  <Eddi|zuHause> nope
18:54:29  <andythenorth> nope
18:54:52  <andythenorth> also for cdist with FIRS, you can only serve 2 destinations per pickup station
18:55:29  <Speeder_> andythenorth, why is that?
18:56:57  <andythenorth> subsequent destinations will take a *very* long time to get assigned cargo
18:56:58  <Eddi|zuHause> 2 is a bit exaggerated, but the more you try, the more likely one will end up empty
18:57:13  <Speeder_> totally unrelated question: OTTD behaves well if I rename "existing" cargo? or stuff will break?
18:57:41  <andythenorth> once 2 links are up, no 'any destination' cargo seems to be generated
18:57:58  <andythenorth> I never figured out quite what the issue is, I just changed the way I play the game
18:58:10  <andythenorth> fonso did look into it, but there was no conclusion
18:58:13  <Speeder_> andythenorth, oooh... I see what you mean, I saw that even wiht only one destination
18:58:22  <andythenorth> no it should be fine with one destination
18:58:25  <Eddi|zuHause> Speeder_: you should stay away from modifying passengers, mail, goods or food
18:59:05  <Speeder_> Eddi|zuHause, I heard this is because houses are kinda hardcoded to expect these in certain slots and all
18:59:09  <Speeder_> but what about other cargo?
18:59:45  <Eddi|zuHause> most other cargos should be fine
19:00:52  <nielsm> water can also be risky
19:01:52  <Speeder_> but if I rename for example beans, as "soybeans", would that break newgrfs that rely on beans?
19:02:24  <Eddi|zuHause> no, newgrfs only look for the cargo label
19:03:01  <andythenorth> but if they're soybeans, change the label to SOYB
19:03:03  <nielsm> and AI and GS should also only be looking at the cargo label
19:03:04  <andythenorth> or similar
19:03:16  <Eddi|zuHause> (but graphics will be wrong if you get too creative with the original expectations)
19:03:21  <andythenorth> there was a fad for reusing labels for a long time
19:03:23  <andythenorth> but it's mad
19:06:07  <Speeder_> andythenorth, why?
19:06:19  <andythenorth> because apples aren't oranges
19:06:23  <andythenorth> and vice versa
19:06:33  <andythenorth> call a thing what the thing is
19:06:51  <Speeder_> well, soybeans are still beans...
19:06:57  <nielsm> if you change BEAN to be soybeans then you can't have "plain beans" any longer
19:06:59  <andythenorth> everything is just cargo then
19:07:07  <Speeder_> :P
19:07:10  <andythenorth> there is also a long standing joke about STUF
19:07:16  <nielsm> just distinguish things unless there's an extremely good reason not to
19:07:19  <andythenorth> the one-cargo game
19:07:19  <Speeder_> STUF I like that
19:07:24  <andythenorth> only one cargo needed
19:07:34  <andythenorth> 'accepts: Stuff, produces: Stuff'
19:07:37  <andythenorth> old joke
19:07:38  <Speeder_> I wonder if anyone ever made a newgrf about STUF
19:08:22  <Eddi|zuHause> i should make a GRF where your goal is to produce 1 item of "Passierschein A38"
19:09:11  <Speeder_> nielsm, my newgrf probably will end with 40+ cargos... I am trying to figure out if there are reasonable ways to diminish that
19:09:20  <Speeder_> but at same time I wanted to reproduce accurately Brazillian exports
19:09:31  <Speeder_> Brazil exports ridiculous amounts of soybeans
19:09:36  <frosch123> Speeder_: there is an ancient grf that renames goods to stuff
19:09:41  <Speeder_> and of "soybean powder as byproduct of making soybean oil"
19:09:53  <frosch123> and with ancient i mean probably as old os ottd
19:11:55  <andythenorth> Speeder_ Tropic Basic just did Beans, even though it's obviously Soybeans IRL :P
19:12:05  <andythenorth> 40+ cargos sounds about right
19:12:23  <andythenorth> the beans in FIRS are Brazilian :P
19:13:08  <frosch123> Eddi|zuHause: sounds more like a gamescript
19:13:17  <Speeder_> andythenorth, basically when I was seeing FIRS documentation I noticed all brazillian cargos were present, but spread ou many economies
19:13:22  <Speeder_> so I decided to make a new one.
19:13:23  <Speeder_> :P
19:13:37  <frosch123> Eddi|zuHause: you can probably make a fork from bee rewards
19:13:52  <Speeder_> for example cassava is staple food here, my parents grow it in their backyard, and cassava flour is popular addition to our barbecue
19:14:44  <frosch123> Eddi|zuHause: just randomise the cargos that shall be transported, independent of which cargos are available at the source or accepted at the destination
19:14:57  <frosch123> transport steel from coal mine to oil refinery
19:22:47  *** jottyfan has joined #openttd
19:29:11  <andythenorth> if you mix industry grfs, that option becomes available :P
19:29:20  <andythenorth> also if I make a mistake in FIRS compile
19:29:57  * andythenorth considers if 'restaurant car' should be a thing
19:30:03  <andythenorth> currently it's an auto-magical sprite
19:34:20  <DorpsGek_III> [OpenTTD/OpenTTD] Yexo opened pull request #8178: Simplify code by removing 2 global variables. https://git.io/Jf6oM
19:38:01  <nielsm> restaurant cars typically carry few passengers though
19:38:27  <andythenorth> and there's no gameplay effect :)
19:38:34  <andythenorth> bit like brake vans though
19:38:40  <andythenorth> or snowploughs :P
19:38:59  <Speeder_> I wish special cars DID had an effect
19:39:07  <Speeder_> like luxury passenger car getting you better rates
19:39:15  <Speeder_> maybe if there was another passenger cargo
19:39:18  <andythenorth> that's possible if you play on huge maps
19:39:22  <Speeder_> I wonder if it is possible to make a second passenger cargo
19:39:28  <andythenorth> if you play on maps where the normal cars won't make money
19:39:41  <andythenorth> then the cargo aging bonus can be used
19:40:00  <andythenorth> but it's not an actual gameplay choice, just a way to work around the failure of large maps
19:40:01  <Speeder_> create a "wealthy passenger" cargo, that requires luxury cars and restaurant car to board a train
19:40:09  <andythenorth> ECS Tourists
19:40:10  <nielsm> the problem is that the entire way passengers and cargo decides/is decided how and where to get transported is upside down
19:40:18  <nielsm> and you can't really change that
19:40:21  <andythenorth> bu then you have to make your own house set to
19:40:24  <andythenorth> too *
19:40:45  <andythenorth> I have long wanted a payment bonus / malus property
19:40:48  <andythenorth> for vehicles
19:41:09  <Speeder_> andythenorth, you can always make your newgrf support "wealthy passenger" and maybe one day someone will implement that cargo in their house newgrf :)
19:41:51  <DorpsGek_III> [OpenTTD/OpenTTD] frosch123 approved pull request #8178: Simplify code by removing 2 global variables. https://git.io/Jf6Kf
19:41:58  <nielsm> there isn't any way (iirc) to make houses produce other cargo than PASS and MAIL
19:42:59  *** Wrench_In_The_Plan has quit IRC
19:43:53  <Speeder_> nielsm, maybe a city-focused "industry" newgrf?
19:44:09  <Yexo> https://newgrf-specs.tt-wiki.net/wiki/Action0/Houses#Accepted_cargo_types_.281E.29 allows accepting all cargo types by houses
19:44:17  <Yexo> It looks like with https://newgrf-specs.tt-wiki.net/wiki/Callbacks#Custom_cargo_production_.282E.29 you can produce any cargo as well
19:45:17  <frosch123> it probably breaks the cargo flow graph though :)
19:45:50  <andythenorth> Speeder_ just make an industry grf that also provides houses
19:45:52  <frosch123> stations will not even show it as supplied
19:46:22  <frosch123> which means that cdist will likely not work either
19:46:49  <frosch123> so, likely that house production stuff does not work at all :p
19:47:02  <andythenorth> 'probably fine' :D
19:47:17  <Speeder_> I wonder how far people will push this game
19:47:18  <Speeder_> :P
19:47:31  <Speeder_> I wish there was a open source version of SimCity 4
19:47:36  <andythenorth> it pushes back when you push hard enough
19:47:43  <Speeder_> that is a game that needs lots of recoding :(
19:47:54  <Yexo> So how did ECS tourists work? Or was that produced/accepted only by industries?
19:48:01  <andythenorth> there's a castle
19:48:09  <andythenorth> and it might be that TTRS works with it
19:48:23  <andythenorth> it's before my time stuff though :)
19:48:35  <frosch123> Yexo: i think industries only
19:48:56  <frosch123> hmm, though there is a ecs-houses grf
19:49:01  <frosch123> with hotels and stuff
19:49:05  <frosch123> so, maybe both?
19:49:28  <Eddi|zuHause> Yexo: there's a house set that provides houses for tourists and fuel stations, if you didn't use the then-standard house set that i forgot the name of
19:49:47  <glx> newhouse ?
19:49:51  <frosch123> Eddi|zuHause: fuel is acceptance, not production
19:50:43  <andythenorth> hmm, /me back at var 40, 41 again
19:51:09  *** jottyfan has quit IRC
19:51:31  <frosch123> Yexo: turns out, AddProducedCargo_Town actually calls that callback as well
19:51:55  <frosch123> so as long as it returns constant results over longer time, it probably work
19:52:23  <Speeder_> by the way, can you query for the current date inside a newgrf?
19:52:36  <frosch123> yes, but it has issues
19:52:38  <Speeder_> for example to make hotels not pump out 300+ passengers per month in 1700
19:52:45  <Speeder_> what issues?
19:53:00  <Eddi|zuHause> caching issues could desync the game
19:53:19  <frosch123> if you change graphics depending on date, you may get partial/mixed redraws when the date changes
19:53:20  <andythenorth> no reported desyncs from FIRS doing
19:53:22  * Speeder_ never played OTTD multiplayer so... has no idea what that is about.
19:53:32  <andythenorth> the partial redraw is a thing
19:53:53  <Speeder_> partial redrew?
19:54:05  <Speeder_> as in... some tiles acknolwdge change in date and others don't?
19:54:13  <andythenorth> yes effectively
19:54:17  <frosch123> when a vehicle passes a house, half of the house may get redrawn, while the other half remains unchanhed
19:54:23  <andythenorth> hmm, I need a var like train var 41, but non-consecutive,
19:54:25  <glx> andythenorth: I think var61 is not implemented because the syntax won't be simple
19:54:28  <frosch123> so the screen shows partially the old, partially the new sprite
19:54:51  <Yexo> Speeder_: OpenTTD multiplayer works by having the server and all clients all do the same simulation. Some values are cached and some NewGRF callbacks are executed by the client when it joins the game. If the newgrf callback gives a different value for that client compared to the last time it ran on the server, the client and server now have a different value for something that should be qual
19:54:53  <andythenorth> glx what could be not simple about "[STORE_TEMP(-1, 0x10F), var[0x61, 0, 0x0000FFFF, 0xC6]]" :D
19:55:16  <glx> I mean the nml syntax :)
19:55:21  <andythenorth> I know :)
19:55:22  <Yexo> If that's for pure graphs, it's likely fine. If that's for something like vehicle speed that'll result in a desync since the vehicle will move at different speed on the client and server
19:56:19  <andythenorth> if only action2 could recurse :(
19:56:23  <Eddi|zuHause> glx: i think the syntax would just be: <var_name> [ '(' <offset> ')' ]
19:56:31  <andythenorth> I could walk the consist, and wouldn't need new vars
19:56:44  <andythenorth> I supposed I could encode switches for consists with lengths 1-255
19:56:52  <andythenorth> probably trivial to generate
19:57:59  <andythenorth> hmm, maybe user bits? o_O
19:58:30  <frosch123> Eddi|zuHause: glx: there is probably an old devzone ticket, which suggests adding scopes, like "parent.random_bits", "self.random_bits", "relative_vehicle[5].random_bits"
19:59:10  <Eddi|zuHause> i remember suggestion about scopes, but i don't think it went into syntax
19:59:18  <frosch123> Eddi|zuHause: glx: oh, also "callback.name_for_var_10_18_bit_stuff"
20:00:16  <andythenorth> as usual when I want new version of var 41, turns out I'm trying to do something I shouldn't :D
20:00:27  <andythenorth> this is the 3rd time I'll find a better way instead of a new var
20:02:32  <frosch123> looking at the nml issue tracker on devzone is always fun
20:02:48  <frosch123> it contains all the things that are discussed here regulary
20:03:00  *** Wrench_In_The_Plan has joined #openttd
20:03:36  <Eddi|zuHause> because nobody ever implements anything, all discussions run in circles? :p
20:04:14  <glx> and when we implement stuff othre things break ;)
20:04:20  <frosch123> in the past people at least wrote stuff down. now they prefer to forget it immediately, so it can be discussed again
20:05:13  <andythenorth> it's fun the first 5 times :)
20:05:19  <andythenorth> after that...less
20:05:24  <Eddi|zuHause> frosch123: that's because some people went on a rampage and closed tickets
20:05:49  <Eddi|zuHause> so people stopped opening tickets
20:05:59  <andythenorth> rampage?  800 tickets is more than a rampage
20:06:22  <andythenorth> also the evidence is against the claim that they stopped
20:06:39  <andythenorth> just that PRs no longer increase the ticket count
20:06:56  <glx> we don't get many PRs
20:07:20  <frosch123> more than reviews :p
20:08:11  <andythenorth> it's like an R number :P
20:08:27  <andythenorth> if PR > reviews, then there's only one outcome :)
20:08:43  <andythenorth> I rarely close a PR
20:09:18  <andythenorth> what was I looking at?
20:09:22  <andythenorth> oh coop nml project
20:09:44  <andythenorth> 56 issues
20:09:46  <andythenorth> https://dev.openttdcoop.org/projects/nml/issues?per_page=100
20:10:04  <andythenorth> 'Urgent' https://dev.openttdcoop.org/issues/6727
20:10:05  <andythenorth> or not
20:10:35  <frosch123> someone should transfer the issues that contain spec/syntax proposals to the wiki :)
20:10:35  <glx> invalid ;)
20:11:06  <glx> but yes some requests are valid, just nobody looks at the old repo
20:11:24  <andythenorth> was automated issue transfer too hard?
20:11:38  <andythenorth> I would do it manually, but I am actually making newgrfs, and have missed doing that
20:11:41  <frosch123> 3 people started, noone finished
20:12:03  <andythenorth> there is some irony that there are many NRT grfs, but I have not had time to make one :)
20:12:09  <andythenorth> it's like the ultimate NRT fact
20:12:12  <glx> it's not easy to do the transfer once issues and PR exists on github
20:12:38  <frosch123> glx: the numbering does not matter, coop uses global numbers, so you would never want to keep those
20:13:02  <frosch123> in case of nml, it's also not worth transfering close issues
20:13:07  <glx> 4991 is transfered ;)
20:13:19  <frosch123> it's more useful to safe issues that contains actual thoughts
20:13:50  <glx> 8519 is fixed
20:13:52  <andythenorth> I closed https://dev.openttdcoop.org/issues/2850
20:13:58  <Eddi|zuHause> i think the main issue is keeping the links from old commit message to matching ticket number
20:14:16  <frosch123> no, that is no issue, because it is not needed
20:14:32  <frosch123> it's nice for ottd, because it has arcane artefacts. but not needed for nml
20:15:16  <glx> 4222 is somehow WIP :)
20:15:34  <andythenorth> https://dev.openttdcoop.org/issues/1625 is done
20:16:42  <andythenorth> this is invalid with new tile flag, but valid for old spec https://dev.openttdcoop.org/issues/6806
20:23:10  <Speeder_> Yexo, so how I aovid desync if I am querying dates to change production?
20:23:52  <Speeder_> what is var61?
20:23:59  <Speeder_> and there are many things you CAN do in a newgrf that nml can't?
20:24:53  <Eddi|zuHause> there are a few things
20:25:02  <Eddi|zuHause> like stations
20:25:14  <andythenorth> not much else now
20:25:17  <Eddi|zuHause> or some crazy hacks that are intentionally left out
20:25:48  <Speeder_> why stations are not in nml?
20:25:53  <Speeder_> and now... what crazy hacks can be done?
20:25:55  <Speeder_> now I am curious :D
20:32:07  <frosch123> Speeder_: caching/desyncs/var61 are vehicle stuff
20:34:33  <frosch123> Speeder_: ttdp wanted to make many things available with little effort, so it exposed internal ttd data as raw data, independent of how useful it is or whether it makes any sense
20:34:53  <frosch123> Speeder_: nml only supports stuff that "can be explained" :p
20:54:05  <DorpsGek_III> [OpenTTD/nml] frosch123 commented on pull request #150: Fix #147: rounding issues https://git.io/Jf6Pp
20:55:36  <FLHerne> frosch123: That's not how the code's used
20:57:16  <FLHerne> NML calculates the internal grf speed value, *then* calls ottd_display_speed to check if it gets displayed correctly
20:57:20  <frosch123> iirc it does a binary search to find the nfo value, by comparing whatever that function returns with whatever was written in the nml source
20:57:28  <FLHerne> (and to clamp it to the range where it is)
20:58:33  <FLHerne> There's no binary search
20:58:59  <FLHerne> It increments/decrements the grf value by 1 until ottd_display_speed gives the right answer
21:00:40  <FLHerne> I have been wondering if this is a sane way to do it :p
21:00:52  <FLHerne> There's a lot of semi-duplicated code
21:01:36  <frosch123> ok, then the comment above it should probably say "duplicate OpenTTD's Vehicle::GetDisplaySpeed and AircraftVehicleChangeInfo"
21:04:52  <FLHerne> I think we should probably be doing something similar for other units, too
21:05:33  <FLHerne> People probably notice off-by-one errors in power less
21:06:47  <frosch123> i think no other units are as crazy as the speed units :)
21:11:58  <nielsm> radical idea: change to a new speed unit internally in the game, one that is entirely consistent between vehicle types, and has enough precision to convert accurately to both mph and km/h display
21:12:18  <nielsm> and allow newgrfs to use those units too
21:14:45  *** Wolf01 has quit IRC
21:19:17  <Eddi|zuHause> nielsm: changing the grf units probably needs grfv9
21:20:06  <FLHerne> Eddi|zuHause: Or just adding a new vehicle property?
21:20:37  <frosch123> FLHerne: it's not just properties, it's also callbacks and variables
21:20:49  <FLHerne> (of course, RVs would then have *3* speed properties, so that might not be such a good idea...)
21:21:00  <frosch123> and adding a second callback results in andy's favorite dependency graph
21:21:34  <Eddi|zuHause> while at it, also allow better price range
21:21:40  <frosch123> https://newgrf-specs.tt-wiki.net/wiki/VehicleRefitting#Misc._vehicle_flag_5_.27use_of_capacity_multiplier_for_default_cargo.27_cleared <- that happened when two different ttdp devs added support for changing capacity
21:22:00  <frosch123> no idea what part of that was intentional :)
21:22:25  <andythenorth> I do love those diagrams though
21:22:48  <frosch123> http://devs.openttd.org/~frosch/texts/capacityadventure.txt <- they also exist as text :)
21:23:10  <andythenorth> it's remarkable that you managed to document it
21:23:40  <frosch123> oh, i spent a lot of time reading ttdp source
21:23:41  <Eddi|zuHause> that's what happens when specs follow implementation instead of the other way around
21:25:05  <andythenorth> so....a new version of var 41, with consecutive IDs matching a list?
21:25:11  <frosch123> i tried to make it consistent by adding the alternative method shown in the section below.
21:25:32  <frosch123> unfortunately it is not the default, and everyone is scared by the graphs, so noone uses it
21:26:08  <frosch123> andythenorth: no, a new procedure call. call switch for each vehicle in the chain, and combine the results
21:26:28  <glx> grfv9 could be a good idea to get station with a sane interface/logic ie action2 like other tile layout
21:26:30  <frosch123> then the callee switch can check whatever, instead of a single thing
21:26:31  <andythenorth> o_O
21:27:02  <nielsm> glx: sounds like you want to deprecate a ton of old stuff to the extend the entire newgrf stack might need to be implemented twice in ottd
21:27:15  <nielsm> s/deprecate/replace/
21:27:15  <frosch123> nielsm: https://wiki.openttd.org/Frosch/GRF_version_9#Units.2C_properties.2C_variables <- btw. units are also on that list :p
21:27:27  <Eddi|zuHause> if nobody makes a ticket for collecting these grfv9 ideas, nobody will remember them when grfv9 is actually being implemented :)
21:27:52  <andythenorth> frosch123 procedure call sounds valid....but can't I already do that if I write enough switches?
21:28:15  <andythenorth> assuming consist is max 255 vehicles :P
21:28:29  <frosch123> andythenorth: consist is actually max 127 vehicles
21:28:34  <frosch123> or similar
21:28:47  <Eddi|zuHause> andythenorth: no, you can only call procedures on the current vehicle, not other vehicles in the chain :p
21:28:49  <glx> station spec looks like a big hack from before houses and industries
21:28:56  <andythenorth> Eddi|zuHause but I can var 61
21:29:01  <frosch123> andythenorth: anyway, the tricky part is the "reduce" step. ideally the "map" step is independent of execution order
21:29:48  <andythenorth> hmm :)
21:29:53  <frosch123> glx: you can make them pretty similar, if you remove the ability to define custom sprite layouts
21:30:25  *** gelignite has quit IRC
21:30:26  * andythenorth tries to figure out a consist ID counter solely in recursive var 61 checks :P
21:30:33  <frosch123> custom sprite layouts mostly result in grf bugs. usually there is only one way to use them correctly
21:30:37  <andythenorth> the code generation would be hideous :)
21:33:21  <Yexo> glx: I've looked at adding station support to NML. From what I've seen so far the main issue is that the actual sprites are not included in the sprite layout like for other features, but defined later. And at that later point (action2) you can't change the sprite layout, only the actual sprites
21:33:58  <frosch123> Eddi|zuHause: nielsm: btw. both your suggestions (use common speed unit that works for both km/h and mph; and bigger price range) are on that 5 year old wiki page :p
21:34:10  <frosch123> so, same as with nml tracker :)
21:34:13  <Yexo> It looks like it may be possible to abstract that away via the advanced sprite layout
21:34:33  <glx> Yexo: I looked at chip source, and I see sprites are defined via actionA, which is weird for me
21:34:47  <Yexo> Basically: combine all different sprites into one giant spritelayout, then enable/disable parts via register modifiers
21:35:19  <Yexo> actionA + GRM to get sprite numbers?
21:35:24  <frosch123> Yexo: or only offer two sprite layouts: track-tile and non-track-tile
21:36:08  <Yexo> frosch123: but that means custom syntax and not being able to reuse the existing spritelayout blocks
21:37:04  <Yexo> Is there any cooperation between newrailtypes and custom stations?
21:37:15  <nielsm> Yexo am I understanding it right that stations need a kind of indirect spritelayout, while everything else right now uses a "direct" spritelayout?
21:37:24  <Yexo> nielsm: yes
21:37:41  <nielsm> could it maybe be possible to introduce the indirect spritelayout as a general syntax available for everything, and compile it differently depending on context?
21:37:52  <frosch123> Yexo: stations are supposed to draw the normal rail ground sprite. ottd intercepts that and calls the railtype grf instead
21:38:11  <frosch123> snowy rail ground also works or something
21:38:20  <Eddi|zuHause> non-track tiles should become a separate tile type that works for all station types, instead of being a train station tile
21:38:27  <Yexo> frosch123: thanks, I'll need to look at the drawing code for sure
21:38:37  <frosch123> Yexo: https://dev.openttdcoop.org/issues/2746 <- did you find that
21:38:49  <Eddi|zuHause> that would allow solving an issue where you can't put them on (some) slopes
21:38:56  <frosch123> there was a lot of speccing with elyon some years ago
21:39:40  <Yexo> frosch123: not yet, thanks (me reads what I've written 9 years ago)
21:44:58  *** Samu has quit IRC
21:45:21  *** jottyfan has joined #openttd
21:47:09  *** WormnestAndroid has quit IRC
21:47:59  *** WormnestAndroid has joined #openttd
21:49:22  *** jottyfan has quit IRC
21:53:37  <andythenorth> frosch123 call procedure on each vehicle in the chain <- worth writing down? :P
21:54:51  <frosch123> it's on my page with the title "consist search". i have no more insights beyond the title :)
21:55:20  <andythenorth> the case I have is really quite invalid :)
21:55:32  <andythenorth> it's just become a game in itself :P
21:56:01  <andythenorth> I still play the meta-game of 'but can I in newgrf?'
21:56:02  <andythenorth> bad habit
21:56:22  <frosch123> originally the idea was insprited by snails requests for arcane variables
21:56:52  <andythenorth> I have some magic to draw railcars with cabs or not
21:56:57  *** keoz has quit IRC
21:57:01  <frosch123> i can't remember what exactly. but it was along the lines of those industry tile variables that noone uses
21:57:07  <andythenorth> I want it to work across multiple IDs for other reasons
21:57:15  <andythenorth> my case is silly though
21:57:42  <Yexo> frosch123: Thanks for the link. That discussion goes in the same direction as I was thinking: mostly keep the existing syntax as-is, but then goes further (in a good way!) to define required magic necessary for stations
21:57:57  <Yexo> That specs solves several issues I hadn't even seen yet
21:58:15  <andythenorth> if we ever _did_ add vehicle variants (grouping multiple IDs)...then something equivalent to a var 41 would be needed
21:58:20  <andythenorth> but we didn't so eh :)
21:58:33  <frosch123> Yexo: i certainly don't remember any details. but glad that the written stuff helps
21:59:08  <Yexo> Was anything done except for discussing syntax?
21:59:30  <frosch123> elyon did stuff, but i am not aware of anything published
21:59:50  <frosch123> possibly it did not go beyond refactoring existing stuff
21:59:56  <Yexo> @seen elyon
21:59:56  <DorpsGek> Yexo: elyon was last seen in #openttd 5 years, 20 weeks, 0 days, 3 hours, 57 minutes, and 3 seconds ago: <Elyon> hiya
22:00:35  <frosch123> "CATS" was the planned station set by V/elyon
22:01:23  <frosch123> anyway, no code available
22:01:47  <Yexo> V as in, the V+numbers?
22:02:50  <frosch123> yes
22:03:21  <frosch123> not sure whether you were around when V started with newgrf
22:03:37  <frosch123> but V made various vehicle, industry and landscape grfs
22:03:46  <Yexo> Not sure either. He was a community member already for sure
22:03:48  <frosch123> until eaten by factorio campaign
22:04:10  <Yexo> Yes, I recognized his name on the factorio blog a while ago
22:04:35  <frosch123> this channel encouraged him to apply for the job. so it's our fault :p
22:04:52  <Yexo> Well done :)
22:05:08  <frosch123> it's also our fault, that he uses python to automate stuff
22:05:18  <glx> this channel was a factorio channel for some time ;)
22:05:40  <Yexo> I'm not very surprised that game speaks to many people here
22:05:50  <frosch123> yes, and coop server runs a factorio server instead of ottd nightly :p
22:06:14  <Yexo> You're just tempting me to check that out now :p
22:06:27  <frosch123> no idea whether it is still active
22:06:44  <glx> ok nml stations won't happen soon then :)
22:06:44  <frosch123> but when i still had access to the hypervisor, it usually had that task running :p
22:07:59  <Yexo> nah, I've played my share of factorio. One server isn't going to get me hooked now again
22:11:37  <andythenorth> V453000 is really me
22:11:43  <andythenorth> like in fight club
22:14:40  <dwfreed> lies
22:15:57  <milek7> fight club is some movie that everybody is supposed to know?
22:17:29  <frosch123> yes, but i do not know it either
22:17:49  <nielsm> just go look up the spoilers for it
22:18:29  <andythenorth> it's not very good imho
22:18:39  <andythenorth> I started reading the book also, but it's blah blah
22:21:30  <andythenorth> also sleep
22:21:32  *** andythenorth has quit IRC
22:22:01  <Yexo> sleep is a good plan. Night all
22:24:04  *** iSoSyS has joined #openttd
22:25:17  <Speeder_> I was reding some historical documents about Brazil
22:25:26  <Speeder_> and they made me wonder... what would happen if ports accepted Mail as cargo?
22:25:31  <Speeder_> would it break anything?
22:25:50  *** nielsm has quit IRC
22:25:56  <DorpsGek_III> [OpenTTD/OpenTTD] InTheMorning commented on pull request #7213: Feature: BFS-based river generator https://git.io/Jf6MT
22:26:40  *** sla_ro|master has quit IRC
22:27:54  <FLHerne> Speeder_: No
22:28:17  <Speeder_> and... would it be good idea?
22:28:38  <FLHerne> I don't see why not
22:28:58  <FLHerne> Base-game oil rigs accepts passengers
22:29:05  <Eddi|zuHause> what a random comment...
22:29:38  <FLHerne> And I think in BSPI and ECS most industries accept some passengers, as 'workers'
22:30:14  <FLHerne> Or was that YETI, not ECS?
22:30:35  <FLHerne> Not, YETI has yeti dudes, and those are different :p
22:30:54  *** Progman has quit IRC
22:32:04  *** frosch123 has quit IRC
22:32:14  <FLHerne> Eddi|zuHause: Less random than "Cricket wirrless uograde codes"
22:33:25  <Eddi|zuHause> oh yeah, i think i've seent that :p
22:36:58  *** Smedles has quit IRC
22:38:16  *** Smedles has joined #openttd
22:44:42  <DorpsGek_III> [OpenTTD/OpenTTD] Yexo dismissed a review for pull request #8178: Simplify code by removing 2 global variables. https://git.io/Jf6Kf
22:44:42  <DorpsGek_III> [OpenTTD/OpenTTD] Yexo updated pull request #8178: Simplify code by removing 2 global variables. https://git.io/Jf6oM
22:46:01  <DorpsGek_III> [OpenTTD/OpenTTD] Yexo commented on pull request #8178: Simplify code by removing 2 global variables. https://git.io/Jf6Mz
22:51:20  *** iSoSyS has quit IRC
22:55:06  *** Gustavo6046 has quit IRC
22:55:20  *** Gustavo6046 has joined #openttd
23:09:57  *** Wormnest has joined #openttd

Powered by YARRSTE version: svn-trunk