Times are UTC Toggle Colours
00:49:43 *** HerzogDeXtEr has quit IRC 01:04:44 <DorpsGek_III> [OpenTTD/team] Aphanasiy opened issue #88: [ru_RU] Translator access request https://git.io/Jks6e 01:17:58 *** Progman has quit IRC 01:32:30 *** Flygon has joined #openttd 01:55:29 *** gelignite has quit IRC 01:56:34 *** nielsm has quit IRC 04:08:10 *** glx has quit IRC 06:17:19 *** Martin has joined #openttd 07:34:25 *** andythenorth has joined #openttd 08:08:28 *** sla_ro|master has joined #openttd 08:18:44 *** longtomjr has joined #openttd 08:22:01 *** Wolf01 has joined #openttd 08:23:30 <Wolf01> andythenorth: I don't remember if I already asked you if you have ev3 08:23:37 <andythenorth> I don't 08:24:14 <Wolf01> Good, so you are safe today :P 08:24:49 <Wolf01> I need to set the initial position of a rocking mechanism... 08:25:27 <Wolf01> I think it's only possible with the new system 09:02:33 *** Progman has joined #openttd 09:15:20 * andythenorth refactors Horses 09:17:58 *** jottyfan has joined #openttd 09:47:48 <TrueBrain> hmm .. refactoring ... 09:48:00 * andythenorth refactors TrueBrain 09:48:05 *** gelignite has joined #openttd 09:48:56 *** gelignite has joined #openttd 09:50:36 <andythenorth> hmm recolour sprites are a bit mad 09:50:58 <TrueBrain> wait, why do you now have 3 screws left over andythenorth ? WHERE DID THEY USE TO GO?! OMG 09:51:22 <Wolf01> XD 09:51:28 <andythenorth> what about when you are short of screws? 09:51:39 <andythenorth> oh that sounds like an incel thing 09:51:49 <Wolf01> Usually that mean that you need to check the floor 09:51:52 <andythenorth> what about when you find there is one screw missing, and it's probably inside the gearbox? 09:51:55 <TrueBrain> we have a dutch saying about screws, i wonder if there is an english translation .. 09:52:18 <TrueBrain> "er zit een schroefje los → one brick short of a full load" 09:52:20 <TrueBrain> riggghhhtttt 09:52:38 <andythenorth> that looks like a screw loose 09:52:50 <TrueBrain> it is 09:52:50 <andythenorth> is that 'they have one screw missing'? 09:53:13 <TrueBrain> I don't know if it means the same :P 09:53:14 <andythenorth> https://dictionary.cambridge.org/dictionary/english/have-a-screw-loose 09:53:18 <TrueBrain> in Dutch it means you are a bit cook-cook 09:53:33 <TrueBrain> is that the right english word too? Lol 09:53:37 <TrueBrain> translating these things is difficult :P 09:53:49 <andythenorth> said out loud, cook-cook sounds like an incel thing too 09:53:49 <TrueBrain> well, yes, that means the same andythenorth :) 09:54:03 <TrueBrain> which is funny, as when I lookup the Dutch to English, it doesn't show that 09:54:03 <andythenorth> hmm 09:54:11 * andythenorth makes sprites 09:54:12 <TrueBrain> languages are WEIRD :P 09:54:16 <andythenorth> sprites...but how? 09:54:27 <TrueBrain> yeah, and I am making a patch so CSS can move out of TrueWiki ... funnnnn 09:54:53 <andythenorth> are we having a styles library? 09:55:43 <TrueBrain> that honestly would be a good idea, via git submodules 09:55:47 <TrueBrain> as we are now copy/pasting CSS :P 09:55:53 <TrueBrain> but .. not my cup of tea 09:55:59 <TrueBrain> is that the right saying? 09:56:03 <andythenorth> yes 09:56:15 <andythenorth> styles libraries are ok, but copy-paste also works 09:56:29 <TrueBrain> well, someone fixed some things in BaNaNaS 09:56:32 <TrueBrain> which I did not copy to wiki 09:56:35 <TrueBrain> which is not synced to website 09:56:37 <TrueBrain> so ... meh 09:57:50 *** m1cr0m4n has quit IRC 09:58:12 <andythenorth> I am not understanding how to refer to a recolour_sprite 09:58:15 <andythenorth> it has no ID 09:58:16 <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/NML:Recolour_sprites 10:00:47 <andythenorth> https://github.com/OpenTTD/nml/blob/master/regression/020_recolour.nml suggests I need to be using GRM 10:00:50 <andythenorth> I think 10:02:22 <TrueBrain> maybe a stupid question, but I never really understood NewGRFs etc: why is it so complex to do these kind of things? 10:02:28 <TrueBrain> is it just the complexity of the result 10:02:37 <TrueBrain> or the complexity of the options? 10:02:44 <andythenorth> it's triangular 10:02:57 <TrueBrain> in my head, you have sprites, you have some metadata on those sprites, and done :P 10:03:14 <andythenorth> it's the complexity of the API, the result, and the historical way it developed 10:03:28 <TrueBrain> so just everything combined 10:03:29 <TrueBrain> I see 10:03:48 <andythenorth> _most_ of the complexity is due to authors trying to do complex things 10:04:05 <andythenorth> within an API which is super-flexible in some dimensions, and totally crippled in others 10:04:15 <TrueBrain> ghehe 10:04:16 <andythenorth> nml mostly masks the historical organic mess 10:04:29 <andythenorth> sometimes nml really can't hide the bodies under the carpet though 10:06:14 <andythenorth> I think I have to wait for frosch, this is totally impenetrable :) 10:07:29 <TrueBrain> :( 10:18:30 <Wolf01> I can't get what I'm doing wrong with EV3 :( 10:19:47 <Wolf01> Back to the old software, I can't manage the new one well, even if it's easier... 10:38:31 *** jottyfan has quit IRC 10:44:01 <DorpsGek_III> [OpenTTD/wiki-data] TrueBrain opened pull request #3: Add: TrueWiki config file and static files to render pages https://git.io/JkGaN 10:46:39 <TrueBrain> and now I have to wait for frosch too :D 10:46:57 <TrueBrain> but I think I removed all "OpenTTD" references from the TrueWiki codebase now :) 10:48:56 <TrueBrain> if you now start an empty TrueWiki, there is no CSS :P 10:49:00 <TrueBrain> not sure it is an improvements :D 10:51:29 <TrueBrain> it has something magic, no CSS wikis :) 10:52:51 *** nielsm has joined #openttd 10:55:42 <DorpsGek_III> [OpenTTD/wiki-data] TrueBrain updated pull request #3: Add: TrueWiki config file and static files to render pages https://git.io/JkGaN 10:56:25 <TrueBrain> and now is even "english" as primary language a configuration option \o/ 11:13:36 <TrueBrain> so, that means we can now setup as many wikis as we like .. "<username>.wiki.openttd.org" ? :D 11:14:00 <andythenorth> horse.wiki.openttd.org 11:14:16 <TrueBrain> it has no API yet, so you cannot publish automatically :P 11:14:38 <TrueBrain> resources is a bit of an issue .. is ~100MB per instance of RAM 11:15:18 <TrueBrain> which is like a dollar per month 11:15:34 * LordAro copies his windows install to his nvme drive 11:15:51 <TrueBrain> that ... often is an improvement :P 11:16:54 <LordAro> it's been in my system for nearly a year, it's about time i made use of it 11:17:04 <LordAro> also my linux install is out of space 11:17:16 <TrueBrain> haha 11:17:46 <TrueBrain> so now we have to make a SaaS out of TrueWiki, so we can fund OpenTTD, right? 11:17:58 <LordAro> so, windows on 1T ssd -> 1T nvme, linux 120G ssd -> 1T ssd 11:18:04 <LordAro> TrueBrain: exactly 11:18:16 <TrueBrain> so how much to ask for a wiki SaaS? :P 11:18:27 <TrueBrain> has to depend on the amount of pages your wiki has :P 11:18:35 <LordAro> all of the money 11:18:44 <TrueBrain> diskspace is totally irrelevant 11:18:46 <TrueBrain> CPU time too 11:18:54 <TrueBrain> only memory usage is a constraint 11:18:56 <TrueBrain> funny, how that goes 11:19:19 <TrueBrain> even bandwidth is not worth mentioning really 11:22:08 <TrueBrain> funny, the wiki is really visit about as much as the website 11:22:12 <TrueBrain> did not expect that 11:22:20 <TrueBrain> @calc 1000 / 5/ 60 11:22:20 <DorpsGek> TrueBrain: 3.33333333333 11:22:24 <TrueBrain> around 3 requests per second to both 11:30:46 <TrueBrain> lol .. I was a bit worried about the rule evaluations the ALB had to do more now ... as that could result in a higher bill 11:30:56 <TrueBrain> but .... you can do 1000 rule evaluations per second for 0.008 dollarcent 11:31:00 <TrueBrain> we do 15k per 5 minutes :P 11:31:02 <TrueBrain> WE ARE FINE 11:31:29 <TrueBrain> they are clearly operating on another scale :P :D 11:32:04 <LordAro> heh 11:33:13 <TrueBrain> the eints load is going up up up the last 12 hours, that is also weird 11:33:23 <TrueBrain> CPU has been slowly climbing ... 11:40:28 *** WormnestAndroid has quit IRC 11:40:41 *** WormnestAndroid has joined #openttd 11:40:53 <TrueBrain> hmm, no clue why .. there are no error requests .. so either it is "stuck", or someone is REALLY busy, or something is wrong ... I dunno :P 11:42:00 <TrueBrain> ah, no, someone is hitting it with a lot of requests 11:42:09 <TrueBrain> @calc 500 / 5 / 60 11:42:09 <DorpsGek> TrueBrain: 1.66666666667 11:42:17 <TrueBrain> 2 requests per second since 1800 yesterday 11:42:25 <TrueBrain> in a VERY consistent matter 11:42:43 <TrueBrain> who is trying to break eints ... 11:42:53 <LordAro> banhammer time! 11:46:39 <TrueBrain> it is a fucking crawler 11:46:44 <TrueBrain> KauaiBot, wtf is that 11:47:55 *** frosch123 has joined #openttd 11:48:11 <TrueBrain> lol ... the bot tries to open a string, gets redirects to the login page 11:48:13 <andythenorth> SEO crawler? 11:48:15 <TrueBrain> fetches that 11:48:27 <TrueBrain> and I think the login hit generates a state on the server 11:48:42 <TrueBrain> which causes the CPU to slowly increase, as it is iterating a list that is getting bigger and bigger 11:49:02 <andythenorth> quak 11:49:04 <TrueBrain> yeah, memory is also going up 11:49:11 <TrueBrain> okay .... so this is on one hand a bug 11:49:14 <TrueBrain> on the other hand .. wtf bot? 11:49:19 <TrueBrain> but we don't have a robots.txt, so I guess 11:50:04 <andythenorth> nofollow on login redirect? 11:50:08 <TrueBrain> cannot find any online reference to KauaiBot 11:50:11 <TrueBrain> can any of you? 11:50:24 <TrueBrain> andythenorth: nofollow? 11:51:30 <TrueBrain> the scanner uses AWS, so IP block is difficult :P 11:53:35 <TrueBrain> how long does eints keep state about a login attempt ... 11:53:47 <TrueBrain> frosch123 possibly knows? :D 11:54:37 <andythenorth> I can't find a useful result for KauaiBot 11:54:43 <TrueBrain> owh, 16 hours, it seems 11:54:49 <TrueBrain> there is no initial timeout on a failed login attempt :D 11:55:05 <TrueBrain> but what is nofollow on login redirect andythenorth ? 11:55:51 <andythenorth> urgh dunno :) 11:56:03 <TrueBrain> owh, was hoping that was a thing :P 11:56:27 <andythenorth> I can't think how that works, ignore andythenorth 11:56:31 <DorpsGek_III> [OpenTTD/team] frosch123 commented on issue #88: [ru_RU] Translator access request https://git.io/Jks6e 11:57:00 <DorpsGek_III> [OpenTTD/team] frosch123 commented on issue #87: [ro_RO] Translator access request https://git.io/Jk3r8 11:57:06 <TrueBrain> well, given that after 16 hours session will drop, it does mean it reaches the most CPU/memory it is going to use 11:57:09 <TrueBrain> still this is not really good :D 11:57:22 <frosch123> hungarian people translating romanian - plausible enough :) 11:57:23 <TrueBrain> every new session it checks for expired sessions 11:57:28 <TrueBrain> that explains the CPU :) 11:57:43 <TrueBrain> so it does about 1 login request per second 11:57:47 <TrueBrain> @calc 3600 * 16 11:57:47 <DorpsGek> TrueBrain: 57600 11:57:54 <TrueBrain> so it has 60k entries to check every second :D 11:58:02 <TrueBrain> frosch123: eints is buggy :P 11:58:15 <frosch123> TrueBrain: visiting the login page creates the session cookie 11:58:27 <TrueBrain> yes .. and this bot is doing that every second 11:59:14 <frosch123> we do not distinguish authenticated from unauthenticated sessions, everything is 16h 11:59:24 <TrueBrain> so I found out :) But I am happy you are slowly reading up :P 11:59:43 <andythenorth> frosch123 are recolour sprites confusing? o_O 12:00:16 <andythenorth> I can't see how they can be used as a varact2 result, there's no ID to refer to them 12:02:19 <TrueBrain> frosch123: should we add a robots.txt to translators? 12:02:27 <TrueBrain> it crawling it useful? 12:02:44 <frosch123> andythenorth: https://newgrf-specs.tt-wiki.net/wiki/NML:Builtin_functions <- see reserve_sprites 12:02:55 <LordAro> TrueBrain: all except the homepage seems reasonable 12:02:55 <frosch123> maybe there is an example in nuts, can't remember 12:03:26 <frosch123> TrueBrain: no, not useful. the bots can crawl github if they want 12:03:58 <TrueBrain> how does robots.txt work ... 12:04:48 <frosch123> https://en.wikipedia.org/wiki/Robots_exclusion_standard#Examples <- you copy&paste examples? 12:05:33 <TrueBrain> now how does bottle work ... :D 12:06:23 <frosch123> oh, there is no bypass for static files? 12:06:23 <andythenorth> there's an example in regressions 12:06:31 <andythenorth> I just don't understand it conceptually 12:06:31 <TrueBrain> only in /static 12:06:34 <TrueBrain> robots.txt should go in / 12:07:14 <TrueBrain> there we go 12:07:17 <frosch123> TrueBrain: anyway, root.py has /health 12:09:02 <TrueBrain> cheers 12:10:08 <frosch123> what does "primary-language" do? 12:10:39 <TrueBrain> when you go to /, it redirect to /<primary-language>/ 12:11:53 <DorpsGek_III> [OpenTTD/wiki-data] frosch123 approved pull request #3: Add: TrueWiki config file and static files to render pages https://git.io/JkG1Z 12:12:09 <TrueBrain> wiki-data-staging also has 2 PRs for you frosch123 :) 12:12:13 <TrueBrain> and was this what you had in mind? 12:12:28 <frosch123> blatant copies even 12:12:47 <frosch123> we need a "staging" logo 12:12:51 <TrueBrain> including the ., yes :P 12:13:06 <TrueBrain> the downside of this approach is .. you would like to see PRs to wiki-data-staging 12:13:11 <TrueBrain> which are cherry-picked into wiki-data 12:13:17 <TrueBrain> but that is a bit more difficult in this approach 12:13:53 <DorpsGek_III> [OpenTTD/eints] TrueBrain opened pull request #33: Fix: timeout session if they don't login within 10 minutes https://git.io/JkG12 12:14:02 <DorpsGek_III> [OpenTTD/wiki-data-staging] TrueBrain merged pull request #1: Add: IRC announcements for PRs and issues. https://git.io/JkGad 12:15:19 <frosch123> flake before push :) 12:16:08 <andythenorth> hmm is company_recolour an undocumented builtin? 12:16:10 * andythenorth looks 12:16:14 <DorpsGek_III> [OpenTTD/eints] TrueBrain updated pull request #33: Fix: timeout session if they don't login within 10 minutes https://git.io/JkG12 12:16:43 <andythenorth> nvm, it's a template 12:16:50 <DorpsGek_III> [OpenTTD/wiki-data] TrueBrain merged pull request #3: Add: TrueWiki config file and static files to render pages https://git.io/JkGaN 12:16:54 <DorpsGek_III> [OpenTTD/wiki-data-staging] TrueBrain merged pull request #2: Add: TrueWiki config file and static files to render pages https://git.io/JkGaA 12:17:04 <DorpsGek_III> [OpenTTD/eints] frosch123 approved pull request #33: Fix: timeout session if they don't login within 10 minutes https://git.io/JkG1b 12:17:19 * andythenorth considers recolouring in PIL :P 12:17:24 <DorpsGek_III> [OpenTTD/eints] TrueBrain merged pull request #33: Fix: timeout session if they don't login within 10 minutes https://git.io/JkG12 12:17:34 <andythenorth> this is nuts 12:17:52 <LordAro> andythenorth: no, this is horse 12:17:58 <andythenorth> nuts horse 12:18:03 <frosch123> andythenorth: what's the problem? 12:18:23 <andythenorth> problem is between keyboard and chair 12:18:38 <andythenorth> how is the recolour sprite ever chained? https://github.com/OpenTTD/nml/blob/master/regression/020_recolour.nml 12:18:38 <frosch123> do you even have a keyboard? 12:18:45 <LordAro> Layer 8 issue 12:18:59 <andythenorth> I have no mental model for recolouring 12:19:08 <frosch123> andythenorth: haha, nml examples are awesome :) 12:19:14 <andythenorth> I am expecting a realsprite to be passed through a recolour table 12:19:20 <frosch123> it only checks syntax, but never makes any sense 12:19:20 <andythenorth> is that not what this does? 12:20:11 <andythenorth> specifically, I am expecting a a recolour sprite to be returned to colour_mapping cb as a result 12:20:16 <andythenorth> but I see no way to make it the result 12:20:28 <TrueBrain> cannot believe we are being crawled to death .. lolz 12:20:32 <TrueBrain> tnx frosch123 for the reviews! 12:20:44 <andythenorth> recolour sprites seem to be applied to the whole grf and selected on action A or D? 12:20:44 <frosch123> andythenorth: i have to reboot my router, i'll post an example later 12:20:47 <andythenorth> kk 12:21:11 <TrueBrain> priorities! 12:21:17 <andythenorth> action A / action 5, not D 12:22:05 <LordAro> TrueBrain: if i were being skeptical, i'd say that the robots change should've been separate to the session change 12:22:13 <andythenorth> it makes sense in nfo because there's a sprite number :P https://newgrf-specs.tt-wiki.net/wiki/RecolorSprites 12:22:21 <TrueBrain> LordAro: that is why I made them into two commits? 12:22:22 <LordAro> as now you won't know if you've actually fixed (all of) the cpu/memory usage issues 12:22:30 <LordAro> TrueBrain: applying them together, i mean 12:22:43 <TrueBrain> do you think this bot will read robots.txt any time soon? 12:22:46 <TrueBrain> that is cute :) 12:22:48 <LordAro> heh, true 12:22:51 <LordAro> but maybe 12:22:58 <TrueBrain> I would like that only robots.txt was enough 12:23:04 <TrueBrain> I wrote the other patch as I am sure it is not :P 12:23:16 <LordAro> oh absolutely 12:23:37 <TrueBrain> and honestly, if one of the two already prevents this, I am good :) 12:24:06 <TrueBrain> I just now have to test a logged in session stays alive after the 10 minnutes :P 12:24:47 <LordAro> well if nothing else you could run `wget -r -e robots=off` :p 12:25:15 <TrueBrain> it is funny, all our login-methods already had: after 10 minutes not logged in? Bye now 12:25:17 <TrueBrain> except for eints :P 12:25:20 *** frosch12 has joined #openttd 12:25:29 <TrueBrain> eints in general does everything different :P 12:25:45 <LordAro> almost as if it was made by a different person for a different purpose :p 12:26:06 <LordAro> @seen Alberth 12:26:06 <DorpsGek> LordAro: Alberth was last seen in #openttd 1 year, 16 weeks, 3 days, 18 hours, 4 minutes, and 53 seconds ago: <Alberth> andy: I bisected the build-train bug back to d54b6ac09b6fe88c09f7886739fe9c05f16b8222 (feb 28th) 12:26:11 <LordAro> :/ 12:26:58 <TrueBrain> "different purpose" is debatable 12:27:09 <TrueBrain> but you also see how much we have learnt how to host online services in a few years 12:27:27 <TrueBrain> it is not like BaNaNaS v1 was so great :P 12:27:31 <frosch12> LordAro: login session was done by me though :p 12:27:36 <LordAro> :D 12:27:40 <frosch12> but eints was first, the rest improved 12:27:51 <TrueBrain> and eints doesn't have asyncio 12:28:00 <TrueBrain> which makes solutions we use now more difficult :D 12:28:04 <LordAro> is there an issue to rewrite it in asyncio yet? :p 12:28:16 <frosch12> we close such issues 12:28:20 <frosch12> only PRs :p 12:28:30 <TrueBrain> owh, bananas login has the same issue btw 12:28:35 <TrueBrain> also no login-timeout 12:28:53 <frosch12> it was copied from eints :) 12:28:57 <andythenorth> ok so are there global and grf-local sprite references? 12:28:59 *** frosch123 has quit IRC 12:29:06 <andythenorth> and GRM is for global? 12:29:24 <andythenorth> and when reserving GRM sprites, OpenTTD will give a result 12:29:32 <andythenorth> I don't have to care what the result is, just store it in a param 12:29:49 <TrueBrain> I cannot be bothered fixing bananas atm :P 12:29:53 <andythenorth> and I can stuff recolour_sprites into those addresses using GRM 12:29:59 <andythenorth> then refer to them as cb result 12:30:06 * andythenorth has been reading nfo docs 12:30:20 <andythenorth> nfo docs remain more informative than nml 12:30:48 <andythenorth> nml docs are pretty much 1 or 0 for usefulness 12:30:51 <TrueBrain> first lunch .. hour overdue 12:34:35 <frosch12> andythenorth: https://gist.githubusercontent.com/frosch123/889b6478a6d5d7b10f89d9b014845331/raw/ed31d6a7624dde2f02e7903b68541c245861b841/recolour_example.nml 12:34:55 <andythenorth> :o 12:35:00 <andythenorth> frosh has been abbreviated 12:35:08 <andythenorth> bring back the 3 12:36:06 <andythenorth> 42 because Deep Thought? 12:36:33 <DorpsGek_III> [OpenTTD/eints] TrueBrain created new tag: openttd-github-1.0.10 https://git.io/JkGyy 12:36:35 <frosch12> it must be < 64, and it must be > number of actual grf parameters from action14 12:37:09 <andythenorth> ok 12:37:14 <andythenorth> thanks 12:37:51 <andythenorth> 'my first GRM' 12:38:24 <frosch12> vehicle recolouring is the only valid application of GRM left :) 12:38:29 <TrueBrain> MAKE FROSCH GREAT AGAIN 12:38:39 <TrueBrain> too soon? 12:38:39 <frosch12> @kick TrueBrain no 12:38:39 *** TrueBrain was kicked by DorpsGek (no) 12:38:43 *** TrueBrain has joined #openttd 12:38:48 <TrueBrain> too soon :) 12:39:25 <frosch12> andythenorth: so, it's also 'your last GRM'. you can now c&p from this single example 12:40:54 <TrueBrain> https://pasteboard.co/JAtp73S.png < -eints :) 12:41:17 <frosch12> i can see the daily submit :) 12:41:26 <TrueBrain> yup 12:41:31 <TrueBrain> and the shit called a crawler after :P 12:42:57 <TrueBrain> https://github.com/boramalper/pydis <- someone pissed off someone :P 12:44:29 <andythenorth> can he rewrite nml in python? 12:44:35 <andythenorth> oops wrong idea :D 12:44:38 <frosch12> someone compared that to truewiki? 12:45:01 <TrueBrain> haha, I already have the rant, I only have to add benchmarks! 12:45:09 <FLHerne> frosch12: Why param[42] and not something descriptive like `recolourings` ? 12:45:15 <LordAro> TrueBrain: seems a bit odd 12:45:19 <FLHerne> Maybe that's not descriptive 12:45:27 <TrueBrain> LordAro: what does? 12:45:36 <frosch12> FLHerne: you overestimate my fluency in nml syntax :) 12:45:37 <LordAro> "prove that interpreted languages are not slow" "this is 60% as fast as the compiled version" 12:46:14 <andythenorth> 42 should be 'ultimate' 12:46:31 <FLHerne> andythenorth: Please use a name instead of param[n], it'll be less weird :p 12:46:45 <LordAro> doing so in 230 lines of code is quite good though 12:46:47 <TrueBrain> LordAro: yeah .... as I said, it reads as if someone ticked someone off :P 12:46:53 <LordAro> though i bet uvloop & hiredis are compiled 12:46:53 <andythenorth> param[forty_two]? 12:46:55 *** iSoSyS has joined #openttd 12:46:58 <LordAro> which do all the heavy lifting 12:47:21 <TrueBrain> yup 12:47:32 <TrueBrain> I just like good rants 12:47:32 <FLHerne> andythenorth: No, just `whatever = reserve_sprites()` 12:47:34 <TrueBrain> and this had one :) 12:47:50 <FLHerne> We have named parameters in NML :p 12:49:35 <FLHerne> ...I think? Now I can't find it in the docs 12:49:40 * FLHerne looks at the code instead 12:50:24 <andythenorth> no I'm sure we do 12:50:34 <andythenorth> action 14 params are named 12:50:57 <andythenorth> I think there was an example in FIRS as well, for snow sprite magic in arctic 12:51:14 <FLHerne> Yes, we definitely do 12:53:24 <TrueBrain> frosch12: I am not sorry to inform you I threw away all my gollum repositories :P 12:59:35 *** glx has joined #openttd 12:59:36 *** ChanServ sets mode: +v glx 13:01:39 <frosch12> TrueBrain: funny, while afk i was just wondering the same: delete or archive 13:01:45 <TrueBrain> https://github.com/TrueBrain/TrueWiki/pull/91 <- well, seems we were not the only one being annoyed frosch12 :P 13:05:26 <frosch12> well, nice. but it's the opposite of what truewiki is meant for :p 13:05:35 <frosch12> wikipedia does not have a tree structure 13:07:32 * andythenorth has made up some recolourings :P 13:07:37 <andythenorth> they're really broken and funny 13:07:53 <andythenorth> I suppose I should put in the actual CC remaps 13:13:56 <glx> andythenorth: if you want to try https://github.com/OpenTTD/nml/pull/170 13:14:20 <andythenorth> thanks 13:17:06 <andythenorth> glx that's halved the number of warnings 13:17:43 <glx> expected :) 13:18:27 <andythenorth> there are still some 'not referenced', but many fewer 13:18:37 <TrueBrain> next PR disables warnings; you should see how much that fixes! :P 13:18:57 <andythenorth> 'fixes' 13:19:13 <glx> remaining 'not referenced' are legit this time I think 13:21:08 <andythenorth> they are newly introduced relative to dfb4499a70ef3c84ebde7d1eda10a8173f1e8a9f 13:21:22 <andythenorth> they're quite specific context, I'll have a look what they're doing 13:22:21 <glx> because an optimised switch should not trigger 'not referenced' with #170 13:23:38 <glx> unless optimised switch referenced them in the expression 13:23:47 <andythenorth> these are 'not referenced' https://gist.github.com/andythenorth/34346731bd102c242db34a06a64958c3 13:25:03 <andythenorth> they're only referenced from a STORE_TEMP(switch_alt_var_41_position_in_vehid_chain_multiple_ids_1(), 18) 13:29:21 <glx> it's horse master ? 13:30:15 <TrueBrain> that gist .. lolz .. wtf :P 13:31:00 <TrueBrain> what does that even do?! 13:31:02 <frosch12> TrueBrain: -funroll 13:31:21 <TrueBrain> but .. why? 13:31:35 <frosch12> grfs have no loops. so andy unrolled a 128 iteration loop or so 13:31:58 <TrueBrain> lolz 13:32:12 <TrueBrain> that cannot be fast :P 13:32:53 <glx> and then people wonders why openttd is slow ;) 13:33:29 <TrueBrain> how ever often I read these kind of statements, I cannot deduce what it does, as in, parameters feel .. random :P 13:33:38 <frosch12> it's because they put signals on every second tile, obv :p 13:34:15 <TrueBrain> I am tempted to click that "Report abuse" button 13:34:22 <TrueBrain> GitHub should do something about this :D 13:36:30 <andythenorth> glx yes horse master 13:36:42 <glx> andythenorth: funny messages when building it 13:36:54 <andythenorth> I should delete those 13:36:57 <glx> I am not a walrus - vehicles cargos pipeline needs refactored as it is unfinished copy-paste from intermodal containers pipeline 13:37:45 <frosch12> 418 i am not a walrus? 13:37:47 <TrueBrain> rriiiigggghhhtttttt :P 13:38:09 <frosch12> TrueBrain: says the one who wrote their own wiki server :) 13:38:21 <TrueBrain> I am just judging ... not really anyway :) 13:38:31 <andythenorth> why did I do this unroll? 13:38:31 *** gelignite has quit IRC 13:38:47 <andythenorth> oh it's because there's no way to check 'position in sequence of IDs' 13:38:53 <andythenorth> instead of 'position in sequence of ID' 13:39:02 <andythenorth> but there is ! 13:39:07 <andythenorth> the power of newgrf! 13:39:26 <glx> and I should have redirected output to a file 13:39:49 <andythenorth> also it's not much code to generate all those switches :P 13:39:50 <andythenorth> https://github.com/andythenorth/iron-horse/blob/master/src/templates/procedures_alternative_var_41.pynml#L38 13:40:00 <andythenorth> procedures are awesome for inventing my own pseudo-vars 13:40:05 <TrueBrain> every time I look at these GRF repos, I realise the only way to write a GRF is if you can write a GRF ... I cannot believe anyone can learn this 13:40:19 <andythenorth> my grfs are entirely written by frosch 13:40:24 <andythenorth> I just copy-paste from here 13:40:30 <TrueBrain> XML?! WTF?! 13:40:34 * frosch12 denies everything 13:40:38 <TrueBrain> okay, I need eye-bleach now 13:40:54 <andythenorth> it only LOOKS like XML 13:40:55 <TrueBrain> XSLT maybe more 13:41:00 <TrueBrain> but wtf 13:41:01 <TrueBrain> take it away 13:41:11 <TrueBrain> how do you still have your sanity? 13:41:26 <andythenorth> I like the templating language 13:41:39 <andythenorth> it has the advantage that the XML syntax looks nothing like the nml :P 13:41:47 <andythenorth> nothing collides 13:42:09 <andythenorth> it's a html templater, I am using it all wrong 13:42:37 <frosch12> andythenorth: don't port to truewiki templates though :) 13:43:07 <andythenorth> top result for truewiki https://truewiki.wordpress.com/ 13:43:32 <frosch12> yes, they are all weird 13:43:45 <frosch12> but with enough links to the real truewiki, we can fix that 13:43:48 <andythenorth> oof truewiki would be a lot of wear and tear on my {} keys 13:43:54 <andythenorth> I'd be worried the paint might come off 13:44:06 <TrueBrain> it did :( 13:44:54 <frosch12> the only key that shows lack of paint, is my ctrl key 13:45:00 <frosch12> i did not even play that much ottd :p 13:45:15 <andythenorth> I have a weird cramped little finger from ottd 13:45:21 <andythenorth> left-hand ctrl 13:45:31 <andythenorth> all that ctrl-clicking trains to set the livery 13:48:26 <andythenorth> unrelated: can we patch for 'autoreplace to match consist number [n]'? 13:49:55 *** gelignite has joined #openttd 13:51:37 <glx> ok I see what's wrong 13:51:49 <glx> read_only detection somehow fails 13:52:25 <glx> switch (FEAT_TRAINS, SELF, deasil_switch_graphics_vehicle, 13:52:25 <glx> switch_initialise_alt_var_41(1770,2150,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1) 13:52:25 <glx> ) { 13:52:25 <glx> return deasil_switch_graphics_vehicle_cargo; 13:52:25 <glx> } 13:52:25 <glx> and similar are optimised 13:54:42 <glx> but I really don't understant what it's supposed to do 14:00:36 <glx> ok I kind of see 14:00:48 <glx> anyway read_only is broken 14:12:53 *** longtomjr has quit IRC 14:35:24 *** longtomjr has joined #openttd 15:05:18 <andythenorth> lol the dec hex dec conversion dance 15:05:34 <andythenorth> I have indexes from frosch in hex, I've converted them to dec manually for my constants 15:05:42 <andythenorth> I convert them back to hex with python 15:05:55 <andythenorth> then when they're wrong, nml reports the value back to me as dec 15:11:24 *** jottyfan has joined #openttd 15:16:10 *** tokai has joined #openttd 15:16:10 *** ChanServ sets mode: +v tokai 15:22:50 <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Switches optimisations improvements and fixes https://git.io/Jks2Y 15:23:02 *** tokai|noir has quit IRC 15:24:47 <glx> andythenorth: fixed is_read_only 15:24:54 <andythenorth> hurrah 15:26:10 <andythenorth> glx wfm thanks :) 15:26:22 <andythenorth> now just an option to suppress optimisation notices? 15:26:30 <andythenorth> or maybe FLHerne did that already? 15:26:54 <glx> I don't think it's done yet 15:30:20 <glx> more than 1600 removed action 2 for iron horse ;) 15:32:16 <andythenorth> hurrah 15:32:22 <andythenorth> all those single default result switches 15:33:28 <glx> oh some are not single default, but all results are the same ;) 15:34:07 <glx> so optimised to default only, then optimised again as constant 15:34:45 <glx> but it's not really surprising for a generated nml 15:35:20 * andythenorth wonders if filesize or compile time changes much 15:49:11 <glx> -rw-r--r-- 1 Loïc Loïc 16578353 15 nov. 16:41 after.nfo 15:49:11 <glx> -rw-r--r-- 1 Loïc Loïc 16939862 15 nov. 16:45 before.nfo 15:49:11 <glx> small nfo size reduction, but it should improve processing speed in openttd 15:49:31 <glx> less indirection means faster return 15:49:55 <glx> and of course it skips fetching the useless expression 15:57:00 <glx> oh and checking the optimised block list I can see some blocks that could also be optimised but are not 16:02:37 <andythenorth> the stuff Horse makes OpenTTD do is probably...unwise 16:07:15 <glx> https://pastebin.com/PXua7jjm <-- the 2 not optimised switch in this paste could be optimised 16:08:37 <andythenorth> yes 16:10:21 <glx> checking why it's not 16:12:40 <andythenorth> frosch12 assuming 2 sets of recolour sprites (handling 1cc, 2cc), is the correct way to index into them? https://gist.github.com/andythenorth/58471b095c63afdce69e6bc65fc59ca2 16:12:41 *** Flygon has quit IRC 16:12:58 <andythenorth> _seems_ to work 16:13:48 <frosch12> yes, ofc you can also put the switch variable into the formula 16:14:18 <frosch12> "case 1: return 1; case 2: return 2;" is not really meaningful 16:15:03 <frosch12> it's like writing "if (condition) { return true; } else { return false; }" :) 16:15:52 <andythenorth> but they differently use company_colour1 or company_colour2? 16:15:57 <andythenorth> or do I miss something? 16:16:14 <frosch12> ah, i didn't see that. all good :) 16:16:28 <andythenorth> this almost makes sense 16:16:37 <andythenorth> it's very retro having to keep count of sprites when reserving :) 16:16:40 <frosch12> stockholm syndrome? 16:17:00 <andythenorth> I think I can abstract most of it away in the generator 16:17:16 <andythenorth> the abstraction might be worse complexity than the problem :P 16:21:00 *** jottyfan has quit IRC 16:25:23 <glx> ah no they can't be optimised because they don't have default return, meaning they can fail 16:29:21 <andythenorth> ok :) 16:52:57 <andythenorth> hmm stable dict order in python yet? o_O 16:53:21 <andythenorth> 3.7 eh 16:55:35 <glx> when I read the nml I see they can indeed be optimised, but it's impossible to detect it automatically 16:57:46 <glx> lark_switch_graphics checks getbits(extra_callback_info1, 8, 8), then decides on 2 paths (0 or default) 16:58:36 <glx> if 0 it goes to lark_switch_set_layers_register_more_sprites, which STORE_TEMP some stuff than goes to lark_switch_graphics_vehicle 16:59:16 <glx> lark_switch_graphics_vehicle is a random choice for reversed/unreversed 17:00:31 <andythenorth> I am glad I don't try to write compilers :) 17:01:32 <glx> then each reversed/unreversed checks flip status, then the next step checks getbits(extra_callback_info1, 8, 8) again and fails if not 0 17:02:29 <glx> which can't fail because we are already in == 0 branch :) 17:03:01 <glx> but it's impossible to know from nmlc 17:17:15 <glx> ah after reading the templates I see why nml looks like that 17:21:16 <glx> andythenorth: if I correctly understand the logic, if you move https://github.com/andythenorth/iron-horse/blob/1a3584ead22e7c13e3f51435c1303c3e69e5581b/src/templates/vehicle_engine.pynml#L53 after the condition, and remove "0:" it should be the same, but optimisable 17:23:36 <andythenorth> makes sense 17:23:54 <andythenorth> isn't it weird that I don't return a default result there? 17:24:20 <andythenorth> oh it's only supposed to have explicit results nvm 17:25:00 <glx> anyway validity range for layers is checked earlier in https://github.com/andythenorth/iron-horse/blob/1a3584ead22e7c13e3f51435c1303c3e69e5581b/src/templates/graphics_switches.pynml#L6 17:26:24 <glx> so when you are in ${vehicle.id}_switch_graphics_vehicle_layers_${reversed_variant}_${flipped} you already know you will get a correct value 17:27:00 <glx> not having a default means CB_FAILED if value not in a given range, but that can't happen in this chain 17:28:13 <andythenorth> ok 17:28:20 <andythenorth> I don't know how anyone else reads my code :P 17:28:20 <andythenorth> oof 17:28:33 <glx> it's very hard to read your code :) 17:29:27 <andythenorth> ok I have finished recolouring for a bit, I'll move this result 17:29:52 <glx> and nml indentation in templates is weird in the resulting .nml 17:30:15 <FLHerne> glx: Try running it through nmlc -o blah.nml, it gets tidier :p 17:31:13 <andythenorth> yeah I did consider fixing the indentation 17:31:16 <andythenorth> but generated code so eh 17:31:43 *** HerzogDeXtEr has joined #openttd 17:32:48 <andythenorth> lark_switch_graphics_vehicle_layers_unreversed_flipped is now optimised 17:32:51 <andythenorth> and the other one 17:33:12 <andythenorth> if OpenTTD understood vehicle lengths and offsets correctly, this code would be simpler :P 17:33:58 <andythenorth> maybe it can't, due to newgrf authors, dunno 17:34:02 *** HerzogDeXtEr has joined #openttd 17:38:16 <glx> and that's a 84678 bytes improvement in nfo size :) 17:40:21 <andythenorth> pushed 17:40:45 <andythenorth> it's still funny that the nfo is so much bigger than the nml 17:41:23 <glx> well part of the nfo is the comments 17:41:40 <glx> nmlc is quite verbose in nfo :) 17:45:18 <andythenorth> suppression :P 17:45:33 <andythenorth> I wonder how much Horse code is junk handling flipped vehicle offsets 17:45:41 <andythenorth> maybe 20% 17:46:21 * glx slaps andythenorth with https://github.com/andythenorth/iron-horse/blob/a7db36964a5744f5f3cb186e6d4c4e7321a2e851/src/templates/vehicle_intermodal.pynml#L92 17:48:36 <andythenorth> it's because the template for properties always chains through ${vehicle.id}_switch_graphics_purchase 17:48:39 <andythenorth> I could conditional it 17:48:59 <glx> I mean the switch value is always 0 17:49:12 <glx> so a default is enough there 17:49:47 <glx> same for https://github.com/andythenorth/iron-horse/blob/a7db36964a5744f5f3cb186e6d4c4e7321a2e851/src/templates/vehicle_engine.pynml#L127 17:51:09 <andythenorth> saves 0.1MB of nfo :) 17:51:55 <andythenorth> pushed 17:55:02 <glx> I guess nmlc could detect those, it should be quite easy to see the expression is a constant 17:56:11 *** jottyfan has joined #openttd 18:24:51 <TrueBrain> I have one of those emails again, of which I am not sure what to do with it ... 18:24:52 <TrueBrain> https://pasteboard.co/JAvEIY0.png 18:25:04 <TrueBrain> how can an email address to nobody, be condidential? 18:25:20 <TrueBrain> if it is not addressed to anyone, how can it be only for those it is addressed to? 18:25:25 <TrueBrain> this is inception .. 18:26:25 <TrueBrain> pretty sure it crashes even the most advanced AI, so it is a good filter for bots 18:26:32 *** longtomjr has quit IRC 18:27:03 <frosch12> so, do you have projects that need funding? 18:27:15 <TrueBrain> MANY! But I am not allowed to read his email, I think 18:27:20 <TrueBrain> I am not sure 18:27:22 <TrueBrain> .... 18:31:20 <frosch12> i think they wouldn't deny "funding" a "project you can't disclose" 18:35:19 *** Wormnest has joined #openttd 18:55:11 *** jottyfan has joined #openttd 19:45:06 <frosch12> TrueBrain: did you misclick when choosing agpl? 19:45:13 <TrueBrain> no 19:45:18 <TrueBrain> why? 19:45:27 <frosch12> because you made so much fun of that license :) 19:45:47 <TrueBrain> it is the only sane license for software like this, as far as I know :) 19:49:01 <TrueBrain> I mostly hate there is need for such license in the world 19:49:13 <TrueBrain> as .. like .. big dudes .. come on .. stop stealing shit and selling it without contributing back 20:19:48 * andythenorth writes newgrfs 20:32:25 * andythenorth considers fading paint for older trains 20:32:42 <andythenorth> probably not enough colours to do that well 20:51:45 <andythenorth> hmm I need a train friend to talk about colours with 20:55:03 <frosch12> use spritestacks to alpha-blend a dirt layer on top :p 20:55:13 <andythenorth> ha 20:55:29 <andythenorth> oof I could automate the generation of the sprites for that 21:01:02 <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Switches optimisations improvements and fixes https://git.io/Jks2Y 21:01:50 <glx> added another optimisation (won't change anything for iron horse as you modified related templates already) 21:03:58 <andythenorth> \o/ 21:05:04 <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Switches optimisations improvements and fixes https://git.io/Jks2Y 21:05:19 <glx> and of course flake8 and black complained :) 21:10:07 <andythenorth> offset bugs with recolour_sprites are quite lolz 21:10:18 <andythenorth> truly odd colour combinations 21:24:41 <LordAro> glx: codeql warning about a couple of things as well :p 21:24:55 <glx> saw it yes 21:25:51 <glx> only one in my PR and it's already fixed, just need a push 21:28:32 <LordAro> :) 21:28:57 <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Switches optimisations improvements and fixes https://git.io/Jks2Y 21:48:19 <DorpsGek_III> [OpenTTD/nml] LordAro approved pull request #170: Switches optimisations improvements and fixes https://git.io/JkZMS 21:57:46 <andythenorth> \o/ 22:01:44 *** frosch12 has quit IRC 22:19:34 *** rptr_ has joined #openttd 22:22:23 *** Flygon has joined #openttd 22:39:08 *** sla_ro|master has quit IRC 22:39:18 *** HerzogDeXtEr has quit IRC 23:03:28 *** Wolf01 has quit IRC 23:07:34 *** andythenorth has quit IRC 23:29:47 *** iSoSyS has quit IRC 23:34:52 *** Progman has quit IRC 23:35:39 *** nielsm has quit IRC 23:40:35 *** rptr_ has quit IRC