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