IRC logs for #openttd on OFTC at 2019-11-29
            
00:01:39 *** snail_UES_ has joined #openttd
00:01:54 *** adikt has quit IRC
00:27:31 *** supermop_work_ has quit IRC
00:28:17 *** Samu has quit IRC
00:31:22 *** supermop_work_ has joined #openttd
00:35:31 *** Progman has quit IRC
01:01:35 *** supermop_work_ has quit IRC
01:05:33 *** supermop_work_ has joined #openttd
01:12:41 *** adikt has joined #openttd
01:35:46 *** supermop_work_ has quit IRC
01:37:42 *** supermop_work_ has joined #openttd
01:44:50 *** Flygon has joined #openttd
01:59:56 *** peter1138 has quit IRC
02:07:49 *** supermop_work_ has quit IRC
02:08:08 *** peter1138 has joined #openttd
02:08:08 *** ChanServ sets mode: +o peter1138
02:09:32 *** supermop_work_ has joined #openttd
02:39:45 *** supermop_work_ has quit IRC
02:41:43 *** supermop_work_ has joined #openttd
03:11:56 *** supermop_work_ has quit IRC
03:12:35 *** Laedek has joined #openttd
03:13:37 *** supermop_work_ has joined #openttd
03:43:51 *** supermop_work_ has quit IRC
03:47:03 *** supermop_work_ has joined #openttd
04:17:14 *** supermop_work_ has quit IRC
04:18:24 *** supermop_work_ has joined #openttd
04:23:26 *** D-HUND has joined #openttd
04:26:52 *** debdog has quit IRC
04:48:38 *** supermop_work_ has quit IRC
04:49:08 *** supermop_work_ has joined #openttd
05:19:21 *** supermop_work_ has quit IRC
05:20:31 *** supermop_work_ has joined #openttd
05:28:47 *** snail_UES_ has quit IRC
05:38:18 *** glx has quit IRC
05:50:44 *** supermop_work_ has quit IRC
05:51:13 *** supermop_work_ has joined #openttd
06:21:27 *** supermop_work_ has quit IRC
06:40:19 *** supermop_work_ has joined #openttd
06:47:29 *** WormnestAndroid has quit IRC
06:48:07 *** WormnestAndroid has joined #openttd
07:10:33 *** supermop_work_ has quit IRC
07:15:04 *** supermop_work_ has joined #openttd
07:45:16 *** supermop_work_ has quit IRC
07:49:28 *** supermop_work_ has joined #openttd
08:03:21 *** andythenorth has joined #openttd
08:11:07 *** sla_ro|master has joined #openttd
08:19:40 *** supermop_work_ has quit IRC
08:32:06 <andythenorth> yo
08:32:17 <andythenorth> today arrived quite quickly after yesterday
08:32:24 <andythenorth> I would have liked more gap
08:37:14 <peter1138> That happens, especially after beer.
08:38:13 <peter1138> Extra bicycle layers today, it's 0.7 degC apparenntly.
08:38:49 <andythenorth> I have noted the outside
08:38:54 <andythenorth> I don't fancy it
08:38:59 <andythenorth> but school run must happen
08:40:59 <peter1138> I did not have any eggs this morning, so I had a portion of cereal. Same carolies, but carbs instead of protein. What a waste.
08:51:37 <peter1138> Also I just put some beer in the fridge for tonight.
08:51:47 <peter1138> Bye.
09:24:41 *** andythenorth has quit IRC
09:28:06 *** supermop_work_ has joined #openttd
09:47:12 *** andythenorth has joined #openttd
09:58:20 *** supermop_work_ has quit IRC
10:02:11 *** supermop_work_ has joined #openttd
10:19:48 <andythenorth> hmm makefiles
10:24:40 <LordAro> andythenorth: mmmmakefiles
10:24:46 <peter1138> Damn, why does the console require double quotes everywhere? :p
10:25:33 <andythenorth> LordAro: me writing makefiles is an object lesson in cargo culting
10:25:36 <andythenorth> or coding by hope
10:26:25 <andythenorth> I should twitch stream it for lolz
10:26:38 <andythenorth> I find a line that apparently works, then copy + modify it :P
10:33:24 *** supermop_work_ has quit IRC
10:39:33 *** supermop_work_ has joined #openttd
10:40:03 *** Samu has joined #openttd
11:09:47 *** supermop_work_ has quit IRC
11:10:16 *** supermop_work_ has joined #openttd
11:40:30 *** supermop_work_ has quit IRC
12:33:34 <DorpsGek_III> [OpenTTD/nml] matthijskooijman commented on pull request #59: Simplify pillow imports and version detection https://git.io/Je1n4
12:34:53 <DorpsGek_III> [OpenTTD/nml] matthijskooijman updated pull request #59: Simplify pillow imports and version detection https://git.io/Jeo5R
12:38:21 <DorpsGek_III> [OpenTTD/nml] matthijskooijman commented on pull request #59: Simplify pillow imports and version detection https://git.io/Je1ng
12:39:05 <DorpsGek_III> [OpenTTD/nml] LordAro commented on pull request #59: Simplify pillow imports and version detection https://git.io/Je1n2
12:39:18 <DorpsGek_III> [OpenTTD/nml] LordAro approved pull request #59: Simplify pillow imports and version detection https://git.io/Je1na
12:39:46 <DorpsGek_III> [OpenTTD/nml] LordAro merged pull request #59: Simplify pillow imports and version detection https://git.io/Jeo5R
12:40:57 <DorpsGek_III> [OpenTTD/nml] LordAro merged pull request #65: Fix #57: Check coherency of GRF parameters limits https://git.io/Jei6E
12:40:57 <DorpsGek_III> [OpenTTD/nml] LordAro closed issue #57: GRF integer parameters can be given negative values. https://git.io/JeoEa
12:47:09 <andythenorth> busy :)
12:49:57 <LordAro> nah, just noisy
13:02:01 *** supermop_work_ has joined #openttd
13:03:14 <peter1138> Hi.
13:04:09 <andythenorth> so...
13:04:18 <andythenorth> it's that time again
13:11:59 <peter1138> Bit early for me.
13:12:41 <LordAro> defo lunch
13:12:57 <andythenorth> I had cheese on toast
13:13:00 <andythenorth> for a starter
13:21:43 <peter1138> I've got, uhm, a salad.
13:21:49 <peter1138> I made it last night.
13:22:10 <peter1138> Guy next to me has a slice a bread and a pot-pasta thing. Eating at his desk, ew...
13:29:56 <Eddi|zuHause> i have no clue what a pot-pasta would look like
13:32:16 *** supermop_work_ has quit IRC
13:33:41 <andythenorth> https://www.google.com/search?q=pot+noodle&source=lnms&tbm=isch&sa=X&ved=2ahUKEwi8kuCAt4_mAhUThlwKHRruAdcQ_AUoAXoECBAQAw&biw=1380&bih=780#imgrc=Go9j_EUHaG9VGM
13:33:54 <andythenorth> https://i.redd.it/yy1mo8fpqjx11.jpg
13:34:17 <peter1138> Well, that's a pot noodle...
13:34:51 <peter1138> But basically the same thing.
13:35:00 <Eddi|zuHause> exactly, i could imagine pot noodle, but not pot pasta
13:35:37 <Eddi|zuHause> pasta is a much wider field than just noodles
13:35:59 <andythenorth> :o
13:36:01 <andythenorth> it is?
13:36:26 <Eddi|zuHause> pasta covers things like tortellini and lasagna
13:38:05 *** supermop_work_ has joined #openttd
13:43:42 <andythenorth> supermop_Home: should I observation car? :P https://4.bp.blogspot.com/-duEbG_nH9lc/WR0SGF1a8gI/AAAAAAABkFs/Z4jXNb-ylV0w29D8gKEzjIwFt2XsBUoDACLcB/s1600/The%2BCoronation%2BLNER%2BBlue%2BTrain%2BObservation%2BCoach.JPG
13:43:49 <andythenorth> more pointless trains? o_O
13:48:20 <peter1138> https://www.potnoodle.com/products/pot-pasta.html
13:48:22 <peter1138> I mean...
13:48:36 <peter1138> andythenorth's favourite, Pot Pasta Macaroni Cheese...
13:48:45 <andythenorth> on toast
13:50:16 <FLHerne> andythenorth: Yes
13:50:36 <Eddi|zuHause> peter1138: so they use "noodles" for asian-style and "pasta" for italian-style noodles?
13:52:22 <peter1138> That's standard UK usage, yes.
13:53:21 <peter1138> We tend to refer to lasagne as "lasagne" rather than pasta, but obviously it is pasta.
13:53:39 <andythenorth> FLHerne: yes to pot noodle on toast?
13:53:44 <andythenorth> or yes, more pointless trains?
13:53:54 <FLHerne> Pointless trains, of course
13:54:12 <FLHerne> Pot noodles aren't worth consuming under any circumstances
13:55:07 <Eddi|zuHause> probably loads of things in stores today shouldn't actually be consumed
13:55:57 <peter1138> Noodles with bread... because carbs + carbs is a good idea.
13:56:28 * andythenorth tries drawing steam engines without connecting rods
14:03:32 <andythenorth> FLHerne: I haven't got the wheel shapes right yet, but this is not worse eh? (LHS image) https://dev.openttdcoop.org/attachments/download/9541/wheels.png
14:06:07 <Eddi|zuHause> surely you need animated rods
14:06:38 <andythenorth> I don't think it's practical
14:06:57 <andythenorth> the compile time and file size are already beyond any sensible limit
14:07:46 <andythenorth> I wondered about cycling a palette to do it :P
14:08:19 *** supermop_work_ has quit IRC
14:09:13 <andythenorth> oh, UKRS 2 is not animated? :o
14:10:37 <Eddi|zuHause> 2 or 2.5?
14:11:03 <andythenorth> 2
14:11:07 <andythenorth> NARS 2.5 is animated
14:11:18 <andythenorth> there are 4 pixels in each wheel which flip
14:12:02 <Eddi|zuHause> dunno, i used ukrs like once, on a server
14:12:53 <andythenorth> I could probably do an overlay layer
14:12:58 <andythenorth> I have a spare sprite layer
14:13:55 <andythenorth> the NARS wheels just give the impression of movement
14:14:17 *** supermop_work_ has joined #openttd
14:15:59 <andythenorth> oof do I really want this headache? :)
14:16:52 <Eddi|zuHause> i think CETS had animation, at least i seem to remember Oberhümer drawing rods in various configurations
14:17:57 <andythenorth> I'd have to do it for large-wheeled electric engines as well
14:18:12 <andythenorth> but the layers might all be used there, for pantographs
14:18:37 <Eddi|zuHause> yeah, electric engines with 2 sets of rodded wheels, where each set has a different offset
14:18:38 <andythenorth> nope, 1 free layer
14:18:50 <andythenorth> garrats and mallets also :P
14:19:28 <andythenorth> well it doesn't have to be a layer, I could generate the wheel sprites directly onto the engine sprite
14:19:51 <andythenorth> I already generate cargo, pantographs and opening doors :P
14:20:06 <andythenorth> but it will double the count of realsprites for steam engines
14:20:22 <andythenorth> or quadruple if I do a full 4 angles
14:20:26 <andythenorth> rotations / angles /s
14:20:35 <Eddi|zuHause> wouldn't simple copy-paste be easier?
14:21:13 <andythenorth> not when the shape changes
14:21:32 <andythenorth> replacing a pattern of 4 pixels in a wheel is trivial
14:21:51 <andythenorth> less work to automate than do manually
14:22:16 <andythenorth> I just think it will kill compile time further
14:23:36 *** Maarten has quit IRC
14:23:47 *** Maarten has joined #openttd
14:29:53 <andythenorth> oh dear, this idea has grown to 'inevitable' :P
14:29:58 * andythenorth regrets in advance
14:37:38 * andythenorth still regrets
14:40:08 <andythenorth> "For that, make the animation use a number of frames, which is a power of two, i.e. 2, 4, 8, 16, 32, ... frames, and then use the lower n bits of motion_counter."
14:40:08 <andythenorth> can't I just mod(2) or mod(4)
14:42:45 <andythenorth> maybe not
14:42:51 <FLHerne> andythenorth: You really don't need animation
14:43:15 <FLHerne> UKRS2 doesn't have it, and it looks fine so long as you can only barely see the rods in the first place
14:43:39 <FLHerne> Yes, that pic looks better
14:44:14 <andythenorth> the engine looks less sleek, but more powerful
14:44:29 *** supermop_work_ has quit IRC
14:45:34 *** supermop_work_ has joined #openttd
14:46:32 <andythenorth> I have a test of animation
14:46:35 <andythenorth> not sure it adds much
14:47:16 <andythenorth> to actually see it will require high contrast rods
14:47:24 <andythenorth> which we've established don't look great
14:49:54 *** snail_UES_ has joined #openttd
14:53:30 <andythenorth> https://dev.openttdcoop.org/attachments/download/9542/animation_train.m4v
14:53:35 <andythenorth> snail_UES_ :)
14:53:46 <andythenorth> steam engine wheel animation....or not?
14:53:57 <andythenorth> FLHerne: ^^^
14:54:34 <FLHerne> Nah
14:55:09 <snail_UES_> why not?
14:55:23 <snail_UES_> if you don’t do animation, then at least remove the rods
14:55:40 <snail_UES_> it’s so silly to see a steamer run with motionless rods...
14:55:49 <andythenorth> yes, proposed change is no rods, or animated not-quite rods
14:56:21 <andythenorth> this is not a good look https://www.picclickimg.com/d/l400/pict/223630545724_/Ertl-Thomas-Friends-Railway-Train-Tank-Engine.jpg
14:56:34 <FLHerne> snail_UES_: "so silly to see a steamer run with motionless rods" was what I complained about in the first place
14:57:07 <andythenorth> I suspect I end up animating :P
14:57:17 <andythenorth> it's only a couple of pixels, 2 frames seems to be enough
14:57:18 <snail_UES_> tbh I think animation doesn’t look bad in my NG steamers
14:57:20 <FLHerne> But IMO non-animated, low-contrast rods look better than animatedd high-contrast ones
14:57:33 <snail_UES_> 2 frames??? dude, put 4
14:57:40 <FLHerne> OTTD's animation is just too coarse, they flail around all over the place
14:57:50 <andythenorth> it looks very wrong in the vehicle info window
14:57:52 <snail_UES_> it depends on how you draw them
14:57:57 <andythenorth> it doesn't seem to redraw reliably
14:58:01 <FLHerne> More frames would help, but then it would be huge
14:58:12 <snail_UES_> huh? you can always have fixed sprites in the vehicle info window
14:58:15 <FLHerne> andythenorth: There's definitely a middle ground that works
14:58:25 <snail_UES_> I only put animated sprites in the game window, nowhere else
14:58:28 <andythenorth> ok
14:58:34 <FLHerne> One day I must stop singing the praises of UKRS2, but that is not this day :P
14:58:57 <andythenorth> it's fine, UKRS2 is a high water mark
14:58:59 <snail_UES_> I was thinking about using 6 frames for large steamers, but that’d be too complex coding-wise
14:59:38 <snail_UES_> but anyway yes, if I had to choose between 2 frames and no animation, I’d choose no animation
14:59:56 <andythenorth> 2 frames doesn't look great at 30mph
15:00:03 <andythenorth> it's ok for 100mph
15:00:20 <snail_UES_> at 100mph it won’t matter anyway...
15:00:23 <andythenorth> I could do 4 or 8
15:00:25 <andythenorth> but eh
15:00:30 <snail_UES_> 4 :)
15:00:51 <snail_UES_> and only in the game window ( “viewport” )
15:01:04 <andythenorth> so FLHerne I'll change to roughly this? https://dev.openttdcoop.org/attachments/download/9541/wheels.png
15:01:12 <andythenorth> it doesn't preclude animating later
15:01:21 <andythenorth> but deferring that is good :P
15:01:30 <FLHerne> +1
15:01:35 <snail_UES_> looks good in the depot window
15:01:58 <andythenorth> ok
15:04:17 <snail_UES_> also, with stacked sprites, you can only redraw the wheels and rods for each animation frame
15:04:23 <andythenorth> yes
15:04:24 <snail_UES_> you don’t have to copy over the entire engine
15:04:30 <andythenorth> I would just automate the pixels
15:04:41 <andythenorth> it's almost no work
15:04:43 <snail_UES_> hmm
15:05:01 <snail_UES_> I actually prefer to draw each frame myself
15:05:02 <andythenorth> false colour -> replace
15:05:20 <andythenorth> each to their own :)
15:05:23 <snail_UES_> I mean there’s more than just the rods connecting the wheels… one can have fun with the distribution mechanism as well
15:05:25 <snail_UES_> but anyway :p
15:09:35 <snail_UES_> you can also code your vehicle to display motionless rods only when stopped
15:10:08 <snail_UES_> that could be an alternative if you don’t want to animate… just remove the rods as soon as speed goes above 0
15:14:46 <andythenorth> https://dev.openttdcoop.org/attachments/download/9543/non_animation_train.m4v
15:15:46 *** supermop_work_ has quit IRC
15:15:55 <andythenorth> maybe I should do something about the cylinders ^ :P
15:16:04 <andythenorth> or is it all fine?
15:16:11 * andythenorth is not short of 'todo' list :P
15:17:30 <snail_UES_> not sure, they do stand out compared to the wheels
15:17:55 <snail_UES_> probably you might want to harmonize the shades of grey between the cylinders and the wheels
15:18:38 <snail_UES_> I mean they should be a bit brigthier than the wheels, since they protrude further outside of the chassis, but still...
15:18:44 <andythenorth> I think they stand out too much
15:18:51 <snail_UES_> yeah kind of
15:19:15 <snail_UES_> even if you decide not to automate, you don’t have to paint your wheels *that* dawk
15:19:17 <snail_UES_> *dark
15:23:47 *** zvxb has joined #openttd
15:24:13 *** adikt has quit IRC
15:27:00 <snail_UES_> *animate, not automate :p
15:31:11 <peter1138> Shall I spend £230 on a pair of BT headphones?
15:32:37 <LordAro> peter1138: does seem a bit much
15:33:05 <SpComb> totally worth it
15:33:45 <SpComb> I went to a store with a bunch of headphones in a display case with a nice sofa to sit down and listen on to buy mine
15:34:00 <SpComb> could have got them for quite a bit cheaper on amazon, but that's not worth it
15:35:11 <peter1138> 1000XM3, yeah?
15:35:42 <peter1138> I tried them on in PCWorld, felt comfortable, but nothing was set up there to actually test them. And no other comparable models to, er, compare.
15:35:45 <SpComb> this was some time ago so I went with the older sennheiser momentum
15:35:54 <andythenorth> I had some £80 bluetooth headphones
15:35:56 <andythenorth> I was well happy
15:36:08 <peter1138> I suspect the £80 would be enough, tbh.
15:36:10 <andythenorth> but that was the most I wanted to pay :P
15:36:39 *** Flygon has quit IRC
15:38:57 *** cHawk has quit IRC
15:39:01 <peter1138> Heh, current Sennheiser Momentum are... £350 o_O
15:44:40 *** cHawk has joined #openttd
15:45:12 <andythenorth> just 15 more trains to change the rods on :P
15:50:30 *** WormnestAndroid has quit IRC
15:50:44 *** WormnestAndroid has joined #openttd
15:51:40 *** supermop_work_ has joined #openttd
15:59:01 <andythenorth> 13
16:01:17 <zvxb> that's the worst part of the game
16:01:23 <zvxb> fixing vehicles :/
16:05:43 <peter1138> Service at depot?
16:15:21 <FLHerne> zvxb: You can always turn breakdowns off in the settings
16:21:53 *** supermop_work_ has quit IRC
16:52:43 <milek7> btw. situation when INDUSTRYBEH_CANCLOSE_LASTINSTANCE is disabled seems already fishy
16:52:46 <andythenorth> 7 trains to fix :P
16:52:52 <milek7> because it cannot know if it the last one and closure requests will be ignored
16:53:17 <milek7> so when it repeatedly requests closure it cannot modify production at the same time
16:53:18 <andythenorth> for newgrf?
16:53:40 <milek7> yes
16:53:45 <milek7> but this is just nitpicking ;P
17:08:38 <Eddi|zuHause> <andythenorth> it looks very wrong in the vehicle info window <-- you can check extra_callback_info1 for that
17:08:55 <andythenorth> I could
17:09:03 <andythenorth> I'm curious why it lags so much in the paint
17:09:19 <andythenorth> but also I deleted the animation so eh :)
17:12:37 *** supermop_work_ has joined #openttd
17:23:19 *** Progman has joined #openttd
17:24:42 <andythenorth> 3 trains to fix
17:24:44 <andythenorth> oh
17:24:48 <andythenorth> narrow gauge also :(
17:38:07 <andythenorth> FLHerne: do these NG steamers have the same visual issue? https://firs-test-1.s3.eu-west-2.amazonaws.com/iron-horse/docs/html/trains.html#cheese_bug
17:38:36 *** Wormnest_ has joined #openttd
17:41:45 *** supermop_work_ has quit IRC
17:48:15 *** supermop_work_ has joined #openttd
17:51:05 * andythenorth repaints them
17:56:47 <andythenorth> FLHerne: all done :P https://firs-test-1.s3.eu-west-2.amazonaws.com/iron-horse/docs/html/trains.html
17:57:40 <FLHerne> andythenorth: Nice
17:58:00 <andythenorth> some of the steam engines still have the copy-paste appearance problem :P
17:58:08 <andythenorth> especially with only 1CC
18:04:09 <FLHerne> I notice that nmlc will compile files without a grf {} block
18:04:43 <FLHerne> Is that useful for concatenating output files as part of overcomplicated build systems?
18:05:19 <FLHerne> Oh, maybe I did that wrong
18:06:32 <FLHerne> I didn't, it does
18:07:28 <andythenorth> it can't resolve strings correctly in concatenations
18:10:47 <FLHerne> Ok
18:11:22 <andythenorth> I suspect that 'make nml faster' might have more yield than partial compiling :)
18:11:29 <FLHerne> So...is there any valid reason why it should do that?
18:11:36 <andythenorth> OTOH, C++ tends to be partially compiled?
18:11:51 <andythenorth> I'm not sure how strings work internally
18:12:14 <andythenorth> the attempts by me and Eddi to provide partial compiles were hacks
18:12:30 <andythenorth> in principle, resolving all the strings is just some kind of symbol table?
18:12:38 *** HerzogDeXtEr has joined #openttd
18:12:38 <FLHerne> Sorry, what said originally was confusing
18:13:42 <FLHerne> nmlc will compile files without a grf {} block; is there any valid reason why someone might wish to do this, or should I make it complain about that?
18:14:05 <andythenorth> I'm not aware of any reason, but I would defer to frosch :P
18:14:49 <FLHerne> The resulting grf doesn't even appear in OTTD's grf list, so I think it would only be useful as part of some weird process
18:15:13 <FLHerne> I experimented with the parser a bit
18:15:37 <FLHerne> You can't get any more than a 2x speedup using PLY + CPython
18:16:01 <FLHerne> Without doing bits of the parsing in parallel somehow
18:16:14 <FLHerne> I think PyPy is definitely the way to go there
18:17:19 <FLHerne> tbh, I don't care that much about performance, that's a problem for you people with absurdly oversized grfs :P
18:18:29 *** supermop_work_ has quit IRC
18:18:42 <andythenorth> how much faster was pypy?
18:18:44 <FLHerne> Mostly I want to try and sort the internal state out better, so I can programatically edit the AST at various stages without it all going wrong
18:19:06 <FLHerne> I think it was 2.5x faster overall, and 5x faster for parsing specifically
18:19:18 <andythenorth> that's worth me installing pypy
18:19:24 <andythenorth> let's see if I can get a build :P
18:20:21 *** supermop_work_ has joined #openttd
18:33:14 <andythenorth> FLHerne: presumably pillow built for you in pypy?
18:33:25 <FLHerne> andythenorth: Yes
18:33:29 <andythenorth> hmm
18:34:01 <FLHerne> [PyPy 7.2.0 with GCC 9.2.0] on linux
18:34:03 <FLHerne> Type "help", "copyright", "credits" or "license" for more information.
18:34:04 <FLHerne> i>>>> import PIL
18:34:06 <FLHerne> >>>> PIL.PILLOW_VERSION
18:34:07 <FLHerne> '6.2.1'
18:34:26 <andythenorth> looks like zlib is broken for me
18:34:29 <andythenorth> oof :D
18:34:50 <FLHerne> (I modified the `python-pillow` pkgbuild from Arch into `pypy3-pillow`, then built and installed that)
18:41:22 <andythenorth> fixed it, mac issues :P
18:43:53 <andythenorth> oof
18:43:54 <andythenorth> pkg_resources.DistributionNotFound: The 'Pillow>=5.2' distribution was not found and is required by nml
18:43:57 <andythenorth> more things
18:44:03 *** HerzogDeXtEr1 has joined #openttd
18:44:18 <zvxb> what programming language do i need to learn to make openttd plugins?
18:44:36 *** zvxb has left #openttd
18:44:36 *** zvxb has joined #openttd
18:45:04 <FLHerne> zvxb: https://www.tt-wiki.net/wiki/NMLTutorial
18:45:47 <zvxb> thanks!
18:46:50 <andythenorth> wow
18:46:54 <andythenorth> I've got nmlc in one shell that works
18:46:59 <andythenorth> and another shell that doesn'
18:47:01 <andythenorth> doesn't
18:47:09 <andythenorth> path to both is the same
18:47:11 <andythenorth> I love computing
18:47:12 <Arveen> use the working shell then ? :D
18:47:49 <FLHerne> Ok, more experiments
18:48:01 * andythenorth uses 'source' again :P
18:48:05 <FLHerne> Rendering docs is, for some reason, 4x slower with pypy than cpython
18:48:18 <andythenorth> which project?
18:48:24 <FLHerne> FIRS 4
18:48:47 <FLHerne> nmlc step is still faster
18:48:58 <andythenorth> chameleon might be slower on pypy
18:49:07 <andythenorth> oh
18:49:12 <andythenorth> I've now run out of file handles :(
18:49:18 <andythenorth> [Errno 24] Too many open files
18:49:31 <FLHerne> I guess because doc-rendering doesn't involve using the same codepaths repeatedly, so the JIT doesn't get used much
18:49:56 <FLHerne> Why do you persist in using macOS anyway? :P
18:49:57 *** HerzogDeXtEr has quit IRC
18:50:04 <FLHerne> 10.4 was nice
18:50:32 *** supermop_work_ has quit IRC
18:50:44 <FLHerne> But everything I hear says it's kept the walled-garden annoyances without the ease-of-use
18:51:56 <andythenorth> I considered switching, but I'm not prepared to change habits
18:52:11 <andythenorth> iOS is horrible
18:55:39 <andythenorth> ok so for Iron Horse pasrsing is 4x faster with pypy
18:55:50 <andythenorth> but total build time is 1m25s instead 1m6s
18:57:40 <andythenorth> nml time 20s with pypy3
18:57:49 <andythenorth> 43s with py3.5
18:59:37 <andythenorth> let's try py3.8
19:00:00 * andythenorth considers a makefile that makes use of multiple python versions :P
19:00:03 <andythenorth> other people would hate me
19:01:45 *** glx has joined #openttd
19:01:45 *** ChanServ sets mode: +v glx
19:04:11 <andythenorth> 37s nml time with py3.8
19:06:00 <andythenorth> seems I have written invalid syntax for python 3.8 :D
19:11:33 <andythenorth> also something has changed in multiprocessing pool :P
19:14:21 *** supermop_work_ has joined #openttd
19:32:34 * andythenorth learns a lesson about putting things inside main() :(
19:36:39 *** Wormnest_ has quit IRC
19:44:35 *** supermop_work_ has quit IRC
19:54:25 *** supermop_work_ has joined #openttd
19:58:58 *** Wormnest_ has joined #openttd
20:13:24 <andythenorth> ouch
20:17:07 <andythenorth> for part of my compile....
20:17:23 <andythenorth> python3.5 16 pool workers: 12s
20:17:37 <andythenorth> python3.8 16 pool workers: 29s
20:17:48 <andythenorth> python3.8 1 pool works: 24s :P
20:17:49 <andythenorth> oops
20:24:39 *** supermop_work_ has quit IRC
20:31:04 <Samu> got a crash with 1.10-beta1
20:31:42 <Samu> https://imgur.com/L6JhwUp
20:32:12 <LordAro> Samu: doesn't look familiar, you know where the bug reports go :)
20:32:30 <Samu> kdtree still crashing?
20:32:33 <LordAro> see if you can reproduce by loading the previous autosave
20:32:49 *** WormnestAndroid has quit IRC
20:33:32 *** WormnestAndroid has joined #openttd
20:39:14 <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick opened issue #7847: kdtree crash report https://git.io/Je1Eh
20:39:52 <andythenorth> 9 seconds to import a module?
20:39:54 <andythenorth> hmm
20:40:02 <Samu> i wasnt doing autosaves... :(
20:40:14 *** supermop_work_ has joined #openttd
20:40:41 <andythenorth> takes 1.6s in python3.5
20:40:49 <andythenorth> that's....exciting
20:41:34 *** WormnestAndroid has quit IRC
20:41:42 *** WormnestAndroid has joined #openttd
20:41:47 *** gelignite has joined #openttd
20:42:49 <Samu> assert(next != INVALID_NODE); // node must exist somewhere and must be found before a leaf is reached
20:44:27 <Samu> i restarted the game from the save, let's see if it crashes again
20:45:04 <LordAro> needs someone to decode the .dmp file for the crash reports to be even vaguely helpful
20:45:18 <LordAro> the assert on it's own is just "something bad happened" with no further information
20:50:37 <TrueBrain> so, is OpenTTD having a Black Friday deal?
20:52:19 *** Wormnest_ has quit IRC
20:58:45 <glx> oups opened wrong crash.dmp
20:59:06 <LordAro> TrueBrain: buy one get one free?
20:59:30 <andythenorth> 3 newgrf for price of one
21:00:09 <andythenorth> oh nmlc triggers syntax warnings with python3.8 also
21:00:13 <andythenorth> not just me then :P
21:00:40 <glx> visible in regression check ?
21:02:01 <andythenorth> nope
21:02:33 <glx> maybe because the regression makefile hides them
21:02:33 <andythenorth> create_effect_cef15a0710dfd6dcdde63e069c2afef9.py:131: SyntaxWarning: "is not" with a literal. Did you mean "!="?
21:02:39 <andythenorth> and L332 as well
21:02:50 <LordAro> interesting
21:03:36 <dwfreed> nice
21:04:08 <glx> displaying warnings/errors during regression check seems to be a good idea
21:04:51 <LordAro> assuming that bit is actually run during the tests :p
21:05:09 <dwfreed> having a second pass of regression check that sets warnings to errors is also a good idea :)
21:05:14 <dwfreed> makes it easier to spot
21:05:28 <dwfreed> (let's be real, nobody looks at logs unless there's failures)
21:05:37 <LordAro> might as well make it fail on first pass then
21:06:14 <glx> or just fails at the end if stderr is not empty
21:06:41 <dwfreed> you can have the second pass be non-blocking, as sometimes warnings are not resolvable/not easily resolvable
21:10:27 *** supermop_work_ has quit IRC
21:11:28 <glx> hmm I don't see anything hiding stuff in the makefile
21:11:54 <andythenorth> hmm something has changed in python multiprocessing in 3.7 or 3.8
21:12:00 <andythenorth> and I can't see changelogs for it :P
21:12:15 <andythenorth> pool and map() are now insanely slow
21:12:17 <glx> (except the silly multilines command lines)
21:13:06 <glx> I don't understand why it's not 2 commands
21:15:17 <DorpsGek_III> [OpenTTD/OpenTTD] glx22 commented on issue #7847: Crash - Assertion failed at line 213 of src\core\kdtree.hpp: next != INVALID_NODE https://git.io/Je1Eh
21:15:41 <glx> downloading symbols was the longest part
21:16:18 *** supermop_work_ has joined #openttd
21:17:49 <glx> actual removal of a ghost station I'd say
21:22:19 *** Wormnest_ has joined #openttd
21:24:19 <Samu> got a crash again
21:24:26 <Samu> crashed in 1961 this time
21:46:30 *** supermop_work_ has quit IRC
21:48:31 <DorpsGek_III> [OpenTTD/OpenTTD] James103 commented on issue #7847: Crash - Assertion failed at line 213 of src\core\kdtree.hpp: next != INVALID_NODE https://git.io/Je1Eh
21:51:40 *** supermop_work_ has joined #openttd
21:55:00 <glx> indeed the trace has some similarities
21:58:05 <Samu> testing a 3rd time
21:59:09 *** Wormnest_ has quit IRC
21:59:56 <dwfreed> andythenorth: the cpython repository has been converted to git and is available on github; you can view all the changelog you want
21:59:58 <Samu> waiting for 1961 https://i.imgur.com/hDdn5vj.png
22:00:02 <glx> if it's repetable easily you can add your savegame to the report
22:00:11 <Samu> that's what I'm trying to see
22:00:29 <Samu> the savegame is the crash.sav with a restart on the console
22:00:46 <andythenorth> I found a diff already :P
22:00:47 <Samu> and waiting 30~years...
22:00:54 <andythenorth> but it was large :P
22:01:06 <glx> hmm but crash.sav is not always a good starting point as data may be corrupted
22:02:04 *** WormnestAndroid has quit IRC
22:02:22 *** WormnestAndroid has joined #openttd
22:02:31 <nielsm> remember crash.sav is generated at the time of the crash, _after_the crash has occurred
22:02:48 <nielsm> it won't necessarily show the thing that caused the crash if the crash is caused by something being removed
22:03:09 <Samu> i used the crash.sav to restart
22:03:19 <Samu> hmm
22:03:38 <glx> the only sure thing known from crash.dmp is that a ghost station was cleaned
22:03:58 <Samu> which one? can you tell me which tile?
22:04:12 <glx> impossible to get that info from the dump
22:04:56 <glx> that's why a savegame from before the crash is useful
22:07:04 <nielsm> maybe the kdtree operations should be instrumented further in some way, e.g. a buffer to store some additional info about thing being acted on and why
22:07:14 <Samu> fastforwarding in debug mode
22:07:16 <nielsm> that the caller is responsible for filling
22:08:03 <Samu> could the problem be related to fast forward?
22:08:10 <nielsm> really shouldn't
22:08:17 <nielsm> as everything runs in lock step
22:08:29 <Samu> hmm ok gonna fire another 1.10 for testing
22:08:36 <Samu> without running ff
22:09:40 <LordAro> "could it be the thing?" "almost certainly not" "ok i'm going to try doing the thing"
22:09:59 <Samu> :)
22:11:15 <nielsm> fast forward mode can generally show two classes of issues: framerate (video renderer) things, and link graph recalculation delay handling things
22:12:42 <glx> but this crash is not affected by FF
22:12:55 <nielsm> precisely
22:13:07 <nielsm> do not waste your time trying without ff, it will show nothing useful
22:13:11 <glx> it's during the standard tile loop
22:13:21 <glx> well game state loop
22:15:10 <Samu> its 1958, didn't crash at 1957
22:15:23 <Samu> waiting for 1961
22:21:54 *** supermop_work_ has quit IRC
22:22:36 <Samu> crashed 4th feb 1961 again
22:22:41 <Samu> so it's reproducible
22:23:12 <Samu> but waiting from 1935 to 1961 is boring in debug mode
22:24:21 <glx> enable autosaves
22:24:42 <Samu> oh, good idea, but that might affect AIs
22:24:45 *** natmac[m] has quit IRC
22:24:47 <Samu> still gonna try
22:25:21 <nielsm> but of course the thing that triggers the bug might happen earlier so the bad state won't necessarily be kept in a save
22:25:43 <glx> it's probably the result of an AI action
22:26:58 <Samu> weird, im getting another crash, now it's linkgraph
22:27:07 <Samu> probably result of a broken save
22:27:24 <Samu> load that save, wait 3 days, and it crashes
22:27:46 <glx> expected if it's a crash.sav
22:28:12 <Samu> ah, ok then
22:28:54 <glx> I think there's an option to store all commands in a file
22:29:16 <LordAro> part of desync debugging, right?
22:29:24 <glx> yes
22:29:39 <glx> that could be useful to know when the station is deleted
22:29:40 <Samu> shipai was removing docks, i think
22:29:54 <Samu> snakeai was stuck for years
22:30:06 <Samu> so, if it's something it's shipai
22:32:25 *** supermop_work_ has joined #openttd
22:45:12 *** HerzogDeXtEr1 has quit IRC
22:59:40 *** gelignite has quit IRC
23:02:38 *** supermop_work_ has quit IRC
23:06:38 *** HerzogDeXtEr has joined #openttd
23:12:29 *** supermop_work_ has joined #openttd
23:21:43 <andythenorth> oh this is interesting
23:21:57 <andythenorth> I've got a module which is 0.3s to run directly
23:22:02 <andythenorth> but 1.3s to import
23:22:07 <andythenorth> that's some overhead eh?
23:22:35 <andythenorth> especially as I import it often
23:23:12 <andythenorth> https://github.com/andythenorth/iron-horse/blob/master/src/iron_horse.py
23:23:20 <andythenorth> it has some bad practices in it, no main() etc
23:24:21 <andythenorth> " Note that loading a module the first time may be expensive because of the one time initialization of the module, but loading a module multiple times is virtually free, costing only a couple of dictionary lookups"
23:24:28 <andythenorth> no longer seems to be true for python 3.8
23:25:40 *** Smedles_ has joined #openttd
23:26:58 *** Smedles has quit IRC
23:32:56 *** arikover has joined #openttd
23:36:35 *** arikover has quit IRC
23:42:09 *** Smedles_ has quit IRC
23:42:42 *** supermop_work_ has quit IRC
23:44:23 *** Smedles has joined #openttd
23:48:04 *** Flo has joined #openttd
23:48:20 *** Smedles has quit IRC
23:48:33 <Flo> hi?
23:49:13 <Flo> Is Andy here?
23:54:18 <Samu> didn't crash via autosave t.t
23:54:35 <Flo> oof?
23:54:44 <Flo> im trying to compile fork of firs
23:55:03 <Flo> but I get some errors
23:55:07 *** Smedles has joined #openttd
23:55:33 <DorpsGek_III> [OpenTTD/OpenTTD] xsrvmy opened issue #7848: Cannot scroll when building on Android https://git.io/Je12F
23:55:34 <andythenorth> yo
23:55:45 <Flo> hi :)
23:56:38 <Flo> someone told me you knew a thing or two about doing that and told me to come here to ask you :)
23:59:03 <andythenorth> foo?