IRC logs for #openttd on OFTC at 2020-02-24
            
00:02:07 <DorpsGek_III> [OpenTTD/OpenTTD] skrzyp opened issue #8019: AppImage support https://git.io/Jv0hG
00:06:06 <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh commented on issue #8019: AppImage support https://git.io/Jv0hG
00:11:26 <DorpsGek_III> [OpenTTD/OpenTTD-git-hooks] glx22 updated pull request #5: Improve diagnostics from commit checker https://git.io/Jv0b0
00:12:39 <DorpsGek_III> [OpenTTD/OpenTTD-git-hooks] glx22 commented on pull request #5: Improve diagnostics from commit checker https://git.io/Jv0hw
00:13:31 *** Wormnest_ has joined #openttd
00:17:03 <LordAro> well they've put a lot of thought into that issue
00:17:16 <LordAro> i do dislike container formats though
00:17:17 *** skrzyp has joined #openttd
00:18:06 *** nielsm has quit IRC
00:19:00 <skrzyp> nielsm: In regard to #8019, CMake doesn't have native suport for AppImages in CPack, but it would be definitely easier to integrate if you don't want to.
00:19:19 <skrzyp> Though I'm a bit more scared about your Azure CI pipelines…
00:20:16 <LordAro> skrzyp: you just missed him
00:20:21 <skrzyp> oh
00:20:32 <LordAro> what scares you? :p
00:21:28 <skrzyp> LordAro: the "yet another pipeline workflow" compared to GitLab CI (my "goto" one), Travis, Bamboo, and so on. YAML is nice, but all of them might profit from some standarization…
00:21:40 <LordAro> heh
00:21:46 <skrzyp> And M$ attribution too, I try to stay from everything what has "Microsoft" on it
00:21:53 <skrzyp> except maybe Microsoft BOB
00:22:38 <Samu> _dp_ i did it! ugly as hell, but here it is
00:22:40 <glx> hehe and we actually mix azure and github actions :)
00:22:54 <Samu> https://pastebin.com/bPsFv9fs
00:23:22 <Samu> line 9, 15 and 26
00:23:30 <Samu> 1 variable, able to store 2 values :p
00:24:34 <skrzyp> glx: isn't GA only for "automating" housekeeping in GH repos?
00:25:08 <glx> commit checker used to be on azure, we recently moved it to GA
00:25:19 <Samu> the intro game already makes a difference, 2 stations, 2 ammounts, instead of 146, 172, now it's 147, 171
00:25:24 <glx> for easier access of logs
00:26:42 <LordAro> i imagine the rest of it will be moved at some point soon
00:28:13 <Samu> hmm gotta go sleep
00:28:15 <Samu> take care
00:28:19 *** Samu has quit IRC
00:40:56 *** Flygon has joined #openttd
01:49:42 *** Wormnest_ has quit IRC
02:47:56 *** Wormnest_ has joined #openttd
03:27:17 *** supermop_Home has quit IRC
04:16:41 *** D-HUND has joined #openttd
04:20:06 *** debdog has quit IRC
04:30:58 *** Wormnest_ has quit IRC
04:58:27 *** fmolnd has joined #openttd
04:59:19 <fmolnd> !password
04:59:20 *** fmolnd was kicked by DorpsGek (Wrong channel. Retry in #openttdcoop.)
05:05:30 *** glx has quit IRC
05:37:24 *** Wormnest_ has joined #openttd
05:48:23 *** WormnestAndroid has quit IRC
05:48:35 *** WormnestAndroid has joined #openttd
07:33:00 *** Smedles has quit IRC
07:34:15 *** Smedles has joined #openttd
08:14:11 *** andythenorth has joined #openttd
08:23:55 <andythenorth> moin
08:45:55 *** cHawk has joined #openttd
08:49:36 *** tokai has joined #openttd
08:49:36 *** ChanServ sets mode: +v tokai
08:56:32 *** tokai|noir has quit IRC
09:53:55 *** Afdal has quit IRC
10:31:13 *** andythenorth has quit IRC
11:07:05 *** Samu has joined #openttd
11:16:00 *** Samu_ has joined #openttd
11:20:26 *** Samu has quit IRC
11:26:30 *** andythenorth has joined #openttd
11:33:19 <Samu_> hi
11:44:50 <Samu_> return b.second >> 16 < a.second >> 16; can be further simplified to just return b.second < a.second;
11:57:55 <FLHerne> Samu_: Not necessarily
11:58:31 <Samu_> b.second >> 16 is always a minimum of 1
11:58:36 <Samu_> same as a.second
11:58:54 <Samu_> a.second >> 16*
11:59:01 *** andythenorth has left #openttd
11:59:11 <_dp_> Samu_, it the code you posted yesterday it has a maximum of 0 :p
11:59:36 <Samu_> what maximum?
11:59:55 <FLHerne> If `n` is less than 2^16 (which is likely, because that's a big number), n >> 16 is 0
12:00:29 <FLHerne> So if both values are less than 2^16, `b.second >> 16 < a.second >> 16` is always false because 0 isn't < 0
12:00:51 <_dp_> FLHerne, he uses it in a comparator for sort
12:00:59 <Samu_> p.second |= (65535 * (a % b) / b) << 16;
12:01:16 <Samu_> this can be 0, is what u say?
12:02:02 <FLHerne> _dp_: Why?
12:02:15 <_dp_> Samu_, hm, no, mb I misread it
12:02:30 <_dp_> Samu_, though it's still beyond me why you /b
12:02:48 <Samu_> but you're right
12:02:53 <Samu_> a % b can be 0
12:03:03 <Samu_> making that 0 << 16
12:04:39 <Samu_> must think
12:05:40 <_dp_> actually, nvm, I've no idea what're you trying to do
12:06:05 <_dp_> I could get (a % b) << 16 if you were trying to sort by remainder
12:06:08 <_dp_> but not that
12:08:51 <Samu_> (0 << 16) >> 16 is still 0, as FLHerne said
12:16:30 <LordAro> i am shocked.
12:16:57 <LordAro> turns out bitshifting maths is sane
12:17:55 <Samu_> if the remainer is equal on both, then b.second < a.second in turn is sorted by the highest amount moved
12:18:07 <Samu_> kinda cool, but not sure how fair it is
12:20:37 <Samu_> the 65535 is a scary number
12:20:43 <Samu_> imagine that number is 100
12:20:49 <Samu_> and think of percentages
12:27:50 <Samu_> if you have 2 stations with equal ratings, 100 * (5 % 3) / 3 = 50 as decimal, or as %
12:28:10 <Samu_> if you have 2 stations with equal ratings, 100 * (5 % 2) / 2 = 50 as decimal, or as %
12:28:12 <Samu_> my bad
12:29:18 <Samu_> moved cargo to stations is 5 / 2 = 2, with a 50 decimal
12:29:25 <Samu_> 2.5, pretty much
12:29:45 <Samu_> i didn't use 100, i used 65535 to be more precise
12:30:01 <Samu_> and because there's enough bits
12:38:21 <FLHerne> Samu_: You're still *really* bad at conveying any useful information over IRC :-/
12:38:32 <Samu_> :|
12:39:20 <FLHerne> It's, like, fragmentary parts of your stream of consciousness
12:39:36 <FLHerne> I can't make any sense of it without telepathy, and I don't have that
12:41:13 <LordAro> there is, unfortunately, a reason why several people have just straight up /ignore'd Samu_
12:41:23 <LordAro> the rest of us more or less try to zone it out
12:42:02 <Samu_> the code I got atm: https://pastebin.com/KzB4hJua
12:42:46 <Samu_> still thinking of whether return b.second < a.second; is fine
12:42:54 <Samu_> at line 20
12:45:52 *** gelignite has joined #openttd
12:46:25 <_dp_> Samu_, with all the problems in that code it's not the one :p
12:47:28 <_dp_> Samu_, it's totally fine to sort by bitstuffed number, you're just basically sorting by pair
12:48:49 <_dp_> especially with std::sort that's not even stable
13:41:33 *** andythenorth has joined #openttd
14:02:07 <andythenorth> JGR Bingo https://www.reddit.com/r/openttd/comments/f8fd8v/a_newbie_starter_thread/
14:02:19 <andythenorth> winner winner, mentioned within top 3 comments
14:08:54 <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh commented on pull request #7786: Add: Help and manuals window https://git.io/JvEn4
14:19:41 <DorpsGek_III> [OpenTTD/OpenTTD] LordAro commented on pull request #7786: Add: Help and manuals window https://git.io/JvEno
14:19:58 <Sacro> \o/
14:39:32 <Samu_> it is done! :o
14:39:34 <Samu_> https://github.com/SamuXarick/OpenTTD/commit/a4af06020ab45b36f0b495a05c2d209deeb7e62e#diff-249239106fd58103249d1178388d72fe
14:39:49 <Samu_> for my SamuPatchPack
14:40:47 *** Samu_ has quit IRC
14:41:01 *** Samu has joined #openttd
14:43:35 <Samu> if it's still unfair, then I don't know
14:55:05 *** APTX_ has joined #openttd
15:02:21 *** APTX has quit IRC
15:03:36 *** APTX_ has quit IRC
15:05:13 *** Flygon has quit IRC
15:07:43 *** APTX has joined #openttd
15:16:44 <Samu> _dp_> but again, rather than worry about some 1/256ths of cargo it would be much better to fix rouding in payments that wastes like 1/20
15:16:53 *** syr has joined #openttd
15:17:07 <Samu> i think payments have fractions
15:17:16 <Samu> or is it just money?
15:17:31 *** syr has quit IRC
15:17:59 *** syr has joined #openttd
15:19:12 <_dp_> Samu, https://github.com/OpenTTD/OpenTTD/blob/master/src/economy.cpp#L1003
15:19:29 <_dp_> it does >> 21 and considering cargo packets aren't big in a first place it loses a lolt
15:21:13 <Samu> i see
15:22:39 <_dp_> pretty serious issue actually as it means payment depends on how train was loaded
15:23:09 <_dp_> like keeping train on station is less profitable than arriving only when there is enough cargo for full load
15:24:13 <_dp_> it probably would be like that anyway as cargo only decays when loaded
15:24:34 <_dp_> though I always forget if it decays when vehicle is wating for a load
15:24:54 <_dp_> but anyway, losing even more to bad rounding is dumb
15:25:55 <Eddi|zuHause> iirc cargo decays when it is waiting at a station with <50% rating
15:26:15 <Eddi|zuHause> and cargo payment decays whenever it is loaded in a vehicle
15:34:43 *** cHawk has quit IRC
15:35:11 <Samu> interesting, i thought payment also had decimals, or fractions
15:46:49 *** APTX_ has joined #openttd
15:46:53 *** nielsm has joined #openttd
15:52:13 *** Smedles has quit IRC
15:53:28 *** Smedles has joined #openttd
15:54:11 *** APTX has quit IRC
15:56:42 <Samu> vehicle profit has a << 8
15:58:05 <Samu> but not companies
15:58:11 <Samu> company expenses don't :(
16:05:06 *** Arveen2 has quit IRC
16:21:15 <Samu> i'm not sure where to begin, or if I should bother with that
16:22:04 <Samu> company money is a int64
16:22:13 *** Arveen has joined #openttd
16:22:22 <Samu> i would need 8 or so bits for fract
16:22:35 <Samu> reducing company money to int56
16:23:24 <Samu> then i would have to change CargoPayment money to receive these extra fract
16:23:42 <Samu> that BigMuls would turn from << 21 to << 13
16:24:41 <Samu> i dont think i should bother with this
16:32:16 *** sla_ro|master has joined #openttd
16:32:44 *** gelignite has quit IRC
16:33:27 <Samu> oh right, >> 21
16:33:33 <Samu> becomes >> 13
16:33:41 <Samu> right shift
16:35:57 *** spnda has joined #openttd
17:01:19 <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick updated pull request #7661: Codechange: Rework 'start_date' parameter for AIs as a game setting https://git.io/fjMsZ
17:02:29 <Samu> i thought I didn't need savegame conversion for that
17:02:45 <Samu> turns out, I found out that I need
17:03:26 <Samu> otherwise, loading old scenarios would be using your local start_date which could be different than the local start_date of someone else
17:05:27 <Samu> there it is https://github.com/OpenTTD/OpenTTD/pull/7661/commits/bdbe1b139fb26680c6333680b069a87b31886f52#diff-5d7621e6bc0894916f1492a729fc7ec9
17:05:36 <Samu> what I just added
17:38:51 *** supermop_work has quit IRC
18:12:27 *** y2kboy23_ has quit IRC
18:12:27 *** y2kboy23 has joined #openttd
18:24:44 *** Progman has joined #openttd
18:34:23 *** WormnestAndroid has quit IRC
18:35:13 *** Wormnest_ has quit IRC
18:36:15 *** WormnestAndroid has joined #openttd
18:55:55 *** Gumle2 has joined #openttd
18:57:31 <Samu> there must be something wrong with scalled distance from edges
18:57:45 <Samu> i don't see any oil rig spawning in the world
18:59:01 *** andythenorth has left #openttd
19:00:59 *** Progman has quit IRC
19:02:31 *** Gumle2 has quit IRC
19:04:58 *** glx has joined #openttd
19:04:58 *** ChanServ sets mode: +v glx
19:09:55 <Samu> aha, it spawned
19:11:08 *** HerzogDeXtEr has joined #openttd
19:29:20 *** gelignite has joined #openttd
19:31:39 *** frosch123 has joined #openttd
19:38:52 <Samu> it's strange, yapf is reporting ship is lost a bit too often for my liking
19:40:10 *** D-HUND is now known as debdog
19:43:46 <TrueBrain> meh; why is BaNaNaS build in such a 2005-ish way of work ... this is difficult to port :P
19:44:14 <LordAro> TrueBrain: because it was built in 2009? :p
19:44:31 *** supermop_work has joined #openttd
19:44:59 <TrueBrain> I wonder what the impact would be if we just replace it with a much simpler system ...
19:45:23 <nielsm> old versions of ottd assuming stuff?
19:45:45 <TrueBrain> the protocol itself is pretty easy .. the tar-files can remain the same ..
19:46:06 <milek7> at least it doesn't run on cloud :P
19:46:47 <TrueBrain> case CONTENT_TYPE_AI:
19:46:47 <TrueBrain> proc = AI::HasAI; break;
19:46:47 <TrueBrain> break;
19:46:48 <TrueBrain> lol
19:46:55 <TrueBrain> break break breakkkkk
19:48:47 *** Wolf01 has joined #openttd
19:50:48 <Samu> i found the other problem about "ship is lost" with yapf, it's indeed related to ship curve90 penalty
19:51:02 <Samu> dang...
19:51:09 <TrueBrain> so there are many parts of BaNaNaS .. we have the client part, whichhas two parts: HTTP and "own protocol".
19:51:26 <TrueBrain> we have the server part, telling where the HTTP is, or serving the "own protocol" part
19:51:35 <TrueBrain> we have the webpage to view
19:51:40 <TrueBrain> we have the webpage to manage your files
19:51:45 <TrueBrain> and we have musa/musad
19:51:54 <TrueBrain> obviously we cannot change the client part
19:52:03 <TrueBrain> the server part is relatively straight forward
19:52:14 <TrueBrain> the difficult part is the webpages .. and mainly the managing of files
19:52:35 <TrueBrain> musad also isn't a real issue
19:52:59 <TrueBrain> so I wonder on one hand what would happen if we allow only musa to manipulate your uploads .. or what if we replace it with something completely different
19:53:42 <frosch123> musa can only add new stuff, it cannot edit existing stuff
19:53:51 <frosch123> (afaik)
19:53:52 <TrueBrain> true
19:54:31 <TrueBrain> webpage only allows you to edit minor stuff, but that is fair
19:54:39 <TrueBrain> (you cannot rename your upload, for example)
19:55:51 *** Ammler has quit IRC
19:56:24 <frosch123> why do you want to change bananas just now? wasn't the issue ottd downloading via http?
19:56:36 <TrueBrain> it all interconnects, I realised
19:56:53 <TrueBrain> to serve via HTTP, the easiest is to connect it to an S3
19:57:02 <TrueBrain> but both ottd_content as musad would need to be changed for that
19:57:31 *** avdg has quit IRC
19:57:31 *** V453000 has quit IRC
19:57:31 *** Hirundo has quit IRC
19:57:31 *** Hazzard has quit IRC
19:57:31 *** Osai has quit IRC
19:57:31 *** Yexo has quit IRC
19:57:32 *** andythenorth has joined #openttd
19:57:35 <andythenorth> yo
19:57:39 <TrueBrain> and given their age, that is not so easy .. so I have been wondering what if I just move BaNaNaS in a single go
19:58:56 *** planetmaker has quit IRC
19:59:05 *** Wormnest_ has joined #openttd
20:00:06 <TrueBrain> I guess what would work easiest for me: have all BaNaNaS files on S3. Have a small Python application on ECS (Docker) to communicate with OpenTTD clients (and redirect to HTTP if possible). That is relative easy to setup (well, I already did that, so yeah). The main issue is .. how to get those files there :D
20:00:48 <milek7> what's wrong with current setup?
20:01:14 <TrueBrain> I don't even know where to start .. but unmaintained code I guess is the summary
20:02:29 <TrueBrain> ignoring musa/musad, would the average AI-writer and NewGRF-author know how to fill in this you think: https://github.com/OpenTTD/musa/blob/master/example.ini
20:03:03 <frosch123> milek7: the servers currently hosting bananas content expire in 5 months and cannot be extended. so the content needs moving somewhere, using the existin cdn is the prefered option
20:03:22 <TrueBrain> frosch123: euh, in less than 2 months
20:03:35 <frosch123> oh, s/months/weeks/ :/
20:03:51 <LordAro> TrueBrain: seems like majority of that could be generated trivially?
20:03:54 <TrueBrain> but that is a fraction of the issue, the most pressing, granted. BaNaNaS itself runs on Django 1.2 (nuff said), and runs on a server that needs to be decommission soon too
20:04:06 <LordAro> certainly with a simple webpage would be easy enough
20:04:24 <frosch123> TrueBrain: everytime someone tried to use musa in the past 5 years, it turned out musad had been crashed for 6 months
20:04:25 <TrueBrain> LordAro: fair point; that should be easy indeed
20:04:35 *** Hirundo has joined #openttd
20:04:36 <TrueBrain> frosch123: lol .. okay, that doesn't really surprise me :)
20:04:44 <frosch123> so, essentially noone uses musa
20:04:53 <TrueBrain> hence the: ignore musa, how about the ini format :P
20:05:02 <LordAro> now that there's no zeph or V uploading base sets
20:05:12 <frosch123> and considering how much trouble people have with installing nml, installing musa is impossible for people who want to upload a heightmap
20:05:22 <TrueBrain> the main issue overall with BaNaNaS, that the TOS only allows public publishing "latest", hmm
20:05:40 *** V453000 has joined #openttd
20:06:23 <TrueBrain> the reason that is a bit of a pita, I was wondering if we could use git to track the meta data of uploads
20:06:52 <TrueBrain> well, I guess we still can ... we can tell about old versions, just not publish the binary publicly
20:07:26 <TrueBrain> and I do have everything in place to do exactly that .. hmmmm
20:07:29 <TrueBrain> plot thickens
20:07:54 <TrueBrain> owh, btw, a while ago someone said the 4 chars in AIs are unused .. not true: BaNaNaS uses them :D
20:09:02 <LordAro> does it have to, though? :p
20:09:12 <TrueBrain> for dependencies, kinda
20:09:19 <LordAro> ah, yeah, probably
20:10:06 <milek7> so old versions aren't available for compatibility?
20:10:33 <TrueBrain> milek7: refering to what, sorry?
20:10:54 <milek7> > TOS only allows public publishing "latest", hmm
20:10:56 <TrueBrain> LordAro: no clue on what the OpenTTD client does the "I already have this file" :)
20:11:06 <TrueBrain> milek7: important the wording: PUBLIC and LATEST
20:11:26 <TrueBrain> older versions can be retrieved if you have a savegame with that version saved
20:11:36 <TrueBrain> the binary simply isn't listed via http, basically
20:11:42 <milek7> um.. so it is public
20:11:52 <TrueBrain> no crawlable
20:12:03 <TrueBrain> name it how-ever you like, according to NewGRF authors that is a world of a difference
20:12:52 <TrueBrain> in words of our ToS: "You grant the OpenTTD team to retain older versions of your content for the purpose of loading save games with said older version."
20:13:11 *** Hirundo has quit IRC
20:13:32 <TrueBrain> (the technical implementation only allows you to fetch these files if you know the MD5 .. so yeah .. they are not "public" in the common sense)
20:15:28 <TrueBrain> okay, I can solve most problems with the batshit crazy idea I have in my head, except the uploading of the binary itself .. hmm ..
20:17:01 <nielsm> how bad would it be to forklift the old server to a new VM?
20:17:13 <TrueBrain> it would solve 0 of my issues, honestly :)
20:17:26 <TrueBrain> (as we already did that once with the promise of migrating it :P)
20:17:34 <TrueBrain> the oldest still actively running VM runs Debian Etch
20:17:52 <TrueBrain> it simply just became a: "a problem for future-me", concept
20:18:12 <TrueBrain> and all attempts on rewriting BaNaNaS, with all the best intentions, never came to a result as of yet
20:18:25 <TrueBrain> so I would rather solve the issue, instead of moving the problem ahead :)
20:19:07 <TrueBrain> but worst-come-to-worst, I have enough escape-hatches to keep everything running as smooth as it has been doing for the last 15 years ;) I just rather ... use this moment to fix things :)
20:19:51 <TrueBrain> biggest BaNaNaS file to date is 100 MiB
20:19:53 <TrueBrain> that is not bad
20:20:24 <andythenorth> eh what 'no-one uses musa'?
20:20:34 <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick commented on issue #8001: Ship finds path but reports it is lost https://git.io/JvlVp
20:20:34 <andythenorth> do we mean musa the python 2 tool?
20:20:38 <TrueBrain> owh, lies: 300 MiB
20:21:04 <andythenorth> I always use musa.py as bananas is usually broken recently
20:21:41 *** ^Spike^ has quit IRC
20:21:54 <Samu> to sum it up, the more penalties ships have, the worse
20:21:58 <Samu> :(
20:22:04 <TrueBrain> biggest upload was done in 2015 :) Funny :)
20:22:11 *** V453000 has quit IRC
20:22:13 <TrueBrain> has been a while, since someone published a 32bpp set? :D
20:22:20 <frosch123> it's probably yeti
20:22:32 <frosch123> V was the only one doing big 32bpp sets
20:22:53 <frosch123> nothing - zbase - nothing - V stuff - nothing
20:23:14 <TrueBrain> so what is the best way these days to allow such huge uploads?
20:23:27 <frosch123> though andy also managed 100mib recently
20:23:54 <frosch123> js and websocket? quicc?
20:24:23 <milek7> from website?
20:24:29 <milek7> maybe https://tus.io/
20:25:01 <andythenorth> oof what was 100mib
20:25:30 <TrueBrain> something like tus would work, yes
20:26:02 <TrueBrain> tusd can upload to S3, so that would be fine
20:27:30 <TrueBrain> so, a webpage (which uses GitHub login to validate users) where you can edit and upload new BaNaNaS files
20:27:38 <TrueBrain> you can edit and upload fields as in the example.ini
20:28:01 <TrueBrain> that is, strictly seen, all an author needs, right?
20:30:00 <andythenorth> probably
20:30:03 <TrueBrain> I really have to buy a whiteboard ...
20:30:17 <andythenorth> I could mail you one :P
20:30:25 <TrueBrain> bit expensive, I am sure
20:30:44 <andythenorth> if you don't mind the plastic waste, this is good https://www.amazon.co.uk/Magic-Whiteboard-Reusable-Surface-Perforated/dp/B001P5UAV8/ref=asc_df_B001P5UAV8/?tag=googshopuk-21&linkCode=df0&hvadid=218207226888&hvpos=&hvnetw=g&hvrand=14138489194684036145&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9045631&hvtargid=pla-422556795033&psc=1
20:31:02 <TrueBrain> it is, but no wall to attach it to here :P
20:31:17 <TrueBrain> I wish I spend a bit more money on my tablet .. the one I have I cannot write on :P
20:31:21 *** Hazzard has joined #openttd
20:31:46 <andythenorth> we probably can't get authors to all use git, right?
20:31:53 <TrueBrain> no, we really cannot
20:31:53 <andythenorth> and then just publish tags?
20:32:06 *** Ammler has joined #openttd
20:32:06 * andythenorth kills another kitten
20:32:10 <TrueBrain> I was initially considering that, creating a repository per upload :P
20:32:23 <TrueBrain> (well, not per version, but per thing)
20:32:49 <TrueBrain> the main thing we would be losing, is "download counter"
20:32:57 <TrueBrain> given that always sucked balls, not sure that is a loss
20:33:02 <andythenorth> BUT
20:33:06 <andythenorth> that's the only reason I make grfs :o
20:33:08 <andythenorth> trying to win
20:33:18 <milek7> i pondered about protocol that uses librsync to deduplicate existing data and just store references to chunks (and not upload unnecessary fragments too)
20:33:24 <andythenorth> who has won?
20:33:26 <milek7> but eh, storage is cheap now
20:33:38 <andythenorth> eGRVTs won
20:34:30 <TrueBrain> so the backend of such website can be relatively easy .. it needs to know which content you have access to, and that is about it
20:34:39 <andythenorth> I barely made top 10 :()
20:34:56 <TrueBrain> frosch123: did you suggest yesterday (your remark about GraphQL), that a username can have a " in it, on GitHub?
20:35:27 <frosch123> no idea, but i found the correct graphql syntax to make escaping easy and safe
20:35:49 <TrueBrain> andythenorth: the download number is bullshit .. it is inflated because people do stupid shit .. so the longer you don't upload a new version, the higher your number is :P
20:35:56 <TrueBrain> frosch123: do tell? :)
20:36:21 <andythenorth> grf of the month!
20:36:31 <andythenorth> newest trending!
20:36:32 <andythenorth> hot today!
20:36:39 <TrueBrain> I still am a strong believer of "grf sets", but I am not burning myself on that again :P
20:36:44 <andythenorth> ouch
20:36:52 <frosch123> TrueBrain: https://pastebin.com/Wz1ksd1m
20:36:59 <andythenorth> we could give newgrf authors arbitrary badges for passing 'milestones'
20:37:01 <andythenorth> gamify this shit :)
20:37:07 <TrueBrain> frosch123: FANCY! :)
20:37:21 <TrueBrain> andythenorth: so when will BaNaNaS 2.0 launch?
20:37:45 <andythenorth> next weekend
20:37:51 <TrueBrain> frosch123: that makes it a lot easier, damn :) Nice, tnx :)
20:38:11 <andythenorth> it's just S3 buckets?
20:38:29 <TrueBrain> okay, I need to write down what is in my mind .. see if it still makes sense
20:44:05 <frosch123> TrueBrain: i hope i can add the oauth authentication next weekend, the rest for eints (session cookies etc) already work
20:44:13 <TrueBrain> nice!!! :)
20:44:29 <TrueBrain> I will see if I can finish the 'teams' repository this week too in that case :)
20:45:05 *** Osai has joined #openttd
20:46:46 <TrueBrain> https://gist.github.com/TrueBrain/22ad7babbc474a57fa8618a681d704b6
20:47:02 <TrueBrain> it is a bit short worded, but .. am I missing anything?
20:48:06 <frosch123> i think that repo would need to be private
20:48:42 <TrueBrain> what is your reasoning? (I can think up a few reasons, but I wonder why you say it :D)
20:49:06 <frosch123> you can just browse past md5sums and get old files too easily
20:49:29 <TrueBrain> bah, he is on to me :P No, that is fair :)
20:51:04 <TrueBrain> the blacklist too, should remain private tbh
20:51:08 <frosch123> do we have sane offers for hosted postgres?
20:51:15 <TrueBrain> not really
20:51:47 <TrueBrain> dynamodb is the closest to sane
20:51:47 <frosch123> my 2€ email includes postgres, but i have no idea what the limits are
20:51:51 <TrueBrain> AWS only database, which is fine btw
20:52:12 *** Wormnest_ has quit IRC
20:52:22 <TrueBrain> but I tried to avoid a database here; putting this on GitHub means all admins can help out with solving user-issues
20:53:05 <andythenorth> git as database is a pattern I like
20:53:41 <andythenorth> hmm, I have long wanted to make a nicer web frontend to Bananas
20:53:50 <TrueBrain> it is just more practical in many open source related situations :)
20:53:51 <andythenorth> but the django set up really put me off :)
20:54:05 <TrueBrain> which frontend: guest frontend or manager?
20:54:38 <TrueBrain> the main issue with this idea btw, is linking old useraccounts to GitHub accounts :D
20:54:57 <andythenorth> the guest (public) frontend, e.g. the content listings https://bananas.openttd.org/en
20:55:03 <andythenorth> I'd like to give each entry a page
20:55:12 <TrueBrain> andythenorth: I think that would be a very good idea
20:55:14 <andythenorth> and allow thumbnails and crap
20:55:25 <TrueBrain> this idea of mine allows for that, btw
20:55:28 <andythenorth> yup
20:55:33 <andythenorth> I never wanted to have to run the full app, and get test data etc
20:55:42 <TrueBrain> even more if we allow that webpage to be javascript only
20:55:45 <frosch123> TrueBrain: no, that is easy. people make tickets to request access, then stuff in renamed to their gh user
20:55:57 <TrueBrain> frosch123: how do they proof they are the old user? :D
20:56:05 <frosch123> technically easy, you just need to somehow validate their identify once
20:56:31 <TrueBrain> but I agree: on GH they make a ticket, a bot sends out an email with a validation code, which they enter in the ticket again
20:56:35 <frosch123> ah, we can store their email in a secret place
20:56:42 <TrueBrain> we can cook something up for that :)
20:56:56 <frosch123> if they do not have access to their email, they are also lost on the old bananas
20:57:06 <TrueBrain> and we can always make exceptions
20:57:08 <TrueBrain> do we mind if bananas.openttd.org is going to be javascript-only?
20:57:20 <frosch123> no
20:57:35 <TrueBrain> as that would make everything a lot easier .. like ... a lot :D
20:57:54 <frosch123> if the js can talk to musad via websocket, even better
20:58:01 <TrueBrain> so andythenorth , after you are done with fixing OpenGFX, go nuts :P
20:58:19 <TrueBrain> but in my idea.txt, did I miss anything? Or is this just really it?
20:58:23 <frosch123> or if a future musa2 could talk to whatever the js talks to, also good
20:58:35 <TrueBrain> how about no musa? :D
20:58:36 <frosch123> TrueBrain: how do you edit past content?
20:58:44 <frosch123> do you add a new file for every version?
20:58:54 <TrueBrain> past content doesn't exist, basically
20:58:56 <TrueBrain> you only have current
20:59:16 <TrueBrain> except for the "savegame compatibility", there is only 1 version, basically
20:59:32 *** Hirundo has joined #openttd
20:59:36 <frosch123> how about a directory per content item, and then files per version, which can set version requirements and stuff
20:59:38 <TrueBrain> or do we want to support that people can have another grf for OpenTTD 1.9 than for 1.10?
20:59:55 <TrueBrain> are people going to understand that, you think? As the version requirement cannot overlap
21:00:00 <andythenorth> we want to do something we can maintain, above all
21:00:15 <frosch123> TrueBrain: the old sysem already does that, doesn't it?
21:00:25 <TrueBrain> ishhhhhhhhh
21:00:35 <TrueBrain> but I doubt anyone ever really used it in a sane way :P
21:00:55 <TrueBrain> but okay, if we keep the repo private anyway, a few more things become possible
21:01:00 <frosch123> anyway, make a directory per content item, and one ini file per directory for now, easy to add more later
21:01:02 <andythenorth> we don't bump the versions in bananas anyway, do we? :P
21:01:06 <TrueBrain> so we don't so much talk about versions, more about branches, right?
21:01:36 <TrueBrain> as the branch for 1.9 can move and the 1.10 can move, that is the use case here right?
21:01:41 <andythenorth> max and min openttd versions in bananas are 1.6.0
21:01:48 <frosch123> utopia bananas allows authors to make more versions available than the latest
21:01:51 <frosch123> per opt-in
21:01:55 * andythenorth answes own question
21:02:09 <TrueBrain> frosch123: are that really versions, or more like release-branches?
21:02:31 *** Hazzard has quit IRC
21:02:48 <andythenorth> can I release alpha / beta grfs, for opt-in only?
21:02:48 <andythenorth> :P
21:03:04 <TrueBrain> owh, like that, opt-in
21:03:06 <TrueBrain> gotcha
21:03:22 <TrueBrain> before you know it you talk about unlock codes, etc
21:03:34 <TrueBrain> okay, lets keep room for that stuff, and lets not do it right now
21:03:38 <SpComb> bananas sale, 25% off
21:03:43 <frosch123> TrueBrain: andy started adding "firs", "firs2" and "firs3" as separate projects with different grfid
21:03:46 <SpComb> MONETIZE
21:03:48 <frosch123> but not everyone does that
21:04:02 <andythenorth> oh pony request
21:04:08 <andythenorth> ability to change string for a grf name
21:04:12 <TrueBrain> SpComb: sssttt, that is the hidden agenda here!! (kidding, ofc)
21:04:21 *** Osai has quit IRC
21:04:39 <TrueBrain> there will be the name of the folder, which has to be unique, and can only be changed by an admin
21:04:41 <andythenorth> FIRS 2 was stuck as 'FIRS 2' forever, instead of 'FIRS Industry Replacement Set 2'
21:04:44 <TrueBrain> and the name of the GRF
21:04:47 <TrueBrain> the latter you are free to change
21:04:50 <TrueBrain> as far as I care
21:05:00 <andythenorth> our sysadmin offered name changes once, but then disappeared :)
21:05:06 <andythenorth> how rude
21:05:10 <TrueBrain> I AM FUCKING STILL HERE, HOW RUDE
21:05:18 <andythenorth> oh it was you
21:05:20 <TrueBrain> :P
21:05:21 <frosch123> TrueBrain: can all folder names be either the 4-byte id or the md5sum in hex?
21:05:26 <TrueBrain> what a shitty job it was, renaming NewGRFs :P
21:05:39 <TrueBrain> frosch123: the ID, yes
21:05:47 <frosch123> people enter shitty names into bananas all the time
21:05:50 <andythenorth> are grfids unique? :P
21:05:59 <andythenorth> can I reserve one?
21:06:01 <frosch123> andythenorth: first take, first serve
21:06:07 <andythenorth> can I reserve 4096?
21:06:22 <frosch123> andythenorth: no problem, write a script to upload a dummy grf for each grfid to bananas
21:06:24 <TrueBrain> frosch123: so foldername on GitHub will be the hex(ID)
21:06:32 <TrueBrain> same on the CDN
21:06:50 <frosch123> andythenorth: you need to plan for noone to discover it was you though
21:06:51 *** avdg has joined #openttd
21:06:51 *** Yexo has joined #openttd
21:06:51 *** planetmaker has joined #openttd
21:06:51 *** ChanServ sets mode: +o planetmaker
21:07:00 <frosch123> TrueBrain: sound good :)
21:07:16 <TrueBrain> okay, that also allows things like thumbnail uploads in the future
21:07:23 <TrueBrain> so andythenorth can go nuts, and we will fix it somehow :P
21:07:32 <frosch123> "haleakala" is new...
21:07:37 <frosch123> it used to be "irc"
21:07:44 <frosch123> was pm on vacation?
21:08:09 <andythenorth> $someone needs to do this opengfx eh
21:08:15 <andythenorth> probably andythenorth should do it
21:08:24 <TrueBrain> yes :) Pretty please :)
21:08:41 <TrueBrain> okay, that idea.txt is doable .. not too complicated, just a lot of moving parts
21:08:48 <frosch123> andythenorth: don't worry. we have plenty of more tasks when you are done with ogfx :)
21:09:46 <andythenorth> oof
21:09:50 <TrueBrain> a few things need to be worked out in more detail, but .. that are really only details tbh
21:10:22 *** Hazzard has joined #openttd
21:10:31 <TrueBrain> (like how to avoid duplicated names, etc)
21:10:54 <TrueBrain> as files are uploaded based on ID + MD5, it means nobody really needs to touch the S3 bucket
21:11:15 <TrueBrain> and as everyone with permission will be able to change the GitHub, it means many more people can help out with shit
21:11:17 <TrueBrain> I like that :)
21:11:22 <andythenorth> \o/
21:11:24 <TrueBrain> increasing the busfactor, w00p
21:11:39 <andythenorth> so is there a way to get openttd to tell which ogfx sprite numbers are missing?
21:11:45 <andythenorth> or do I have to reverse engineer it?
21:11:47 <andythenorth> :)
21:12:04 <frosch123> andythenorth: it's the new action5 items
21:12:20 <andythenorth> I can reverse engineer those by reading openttd src
21:12:24 <andythenorth> or the newgrf spec
21:12:43 <frosch123> it's the tram icons :)
21:12:55 <frosch123> electric depot without tram track
21:13:43 <TrueBrain> frosch123: do you really want musa to work in this new setup? Or is the webinterface alone enough you think?
21:13:48 <TrueBrain> I guess for automation musa is nice?
21:14:00 <milek7> btw. would something bad happen in bananas if I tried to upload different files with same md5? :P
21:14:19 <TrueBrain> milek7: nope; your new upload is simply denied
21:14:24 <frosch123> TrueBrain: musa is not necessary, if the web frontend works
21:14:29 <frosch123> one api is better than two
21:14:36 <TrueBrain> I am not sure if we have people who automated around musa workflow
21:14:39 <milek7> :(
21:14:50 <TrueBrain> but yeah, otherwise musa2 needs to use the API. Should be fine :D
21:15:02 <TrueBrain> milek7: we have had our shitty people over the years, trying these kind of things ..
21:15:04 <frosch123> TrueBrain: some repositories have "make bananas", e.g. opengfx
21:15:58 <TrueBrain> wrote it down, but a nice-to-have as far as I care :)
21:16:38 <frosch123> but if "make bananas" breaks, it's only sad for the name, i really liked "make bananas"
21:16:47 <frosch123> it's a reason to not cmake?
21:16:50 <TrueBrain> we will fix it over time, I am sure :)
21:17:17 <TrueBrain> frosch123: no no, we can still use cmake .. Makefile: bananas: cmake ...
21:17:17 <TrueBrain> ;)
21:17:24 <TrueBrain> just have both! :P
21:17:42 *** Osai has joined #openttd
21:18:00 <TrueBrain> ugh, we cannot make private repos ...
21:18:03 <TrueBrain> I forgot about that
21:18:17 <frosch123> yes, it costs money suddenly
21:18:20 <andythenorth> I tried automating musa
21:18:24 <andythenorth> but it's TMWFTLB
21:18:43 <TrueBrain> well, we can make private repo on a user .. but not on the organization
21:18:46 *** V453000 has joined #openttd
21:18:56 <frosch123> so dorpsgek?
21:19:02 <TrueBrain> that is for sure an option, yes
21:19:40 <TrueBrain> but it is mainly to hide the ID+MD5 combo ..
21:20:09 <TrueBrain> the IDs are public, so that is not an issue
21:20:18 <glx> andythenorth: last 5 lines of https://github.com/OpenTTD/OpenTTD/blob/master/media/extra_grf/openttdgui.nfo
21:20:19 <TrueBrain> so what if we simply encrypt the MD5 in the repo? Would that be sufficient?
21:20:42 <frosch123> hash of a hash :p
21:20:46 <TrueBrain> no hash
21:20:48 <TrueBrain> encrypt
21:20:51 <glx> andythenorth: and they are added to action 5 type 15
21:21:06 *** ^Spike^ has joined #openttd
21:21:44 <frosch123> TrueBrain: yeah, i guess that would work. what about the blacklist? publically shame people?
21:22:03 <andythenorth> thanks glx
21:22:04 <frosch123> also encrypted?
21:22:04 <TrueBrain> I am tempted
21:22:10 <TrueBrain> we all know which ones are on there anyway
21:22:25 <TrueBrain> downside of encrypting that, is that adding entries is difficult
21:23:00 <frosch123> hmm, public shaming has a disadvantage.. it also makes it easy to see which ids are not blocked
21:23:08 <TrueBrain> yeah ..
21:23:09 <spnda> So, I built the latest and greatest version of the NML repository. And me and some others have noticed that the "length" Action 3 callback just doesn't accept any kind of swiitches anymore.
21:23:21 <spnda> Every time you try use it I get "Unexpected identifier encountered"
21:23:26 <frosch123> so an incentive to work around the blocks
21:23:32 <glx> andythenorth: and the file to update is https://github.com/OpenTTD/OpenGFX/blob/master/sprites/extra/extra-openttd-gui.pnml :)
21:23:33 <spnda> Is this intended behaviour for the new version or a bg?
21:23:37 <TrueBrain> frosch123: okay, encrypted too .. easy enough anyway, to make a webpage to encrypt IDs :)
21:23:46 <frosch123> i guess some obscurity helps with keeping the nasty people out
21:25:25 <TrueBrain> spnda: it used to work and it doesn't work anymore?
21:25:54 <spnda> Yes
21:26:09 <spnda> Same NML code, just newer nmlc and it throws errors
21:26:12 <TrueBrain> can you make an issue out of this in the nml repo on github, with an example attached?
21:26:19 <spnda> Yeah I am doing that right now
21:26:22 <TrueBrain> as a regression is never a good thing, I would think :)
21:26:29 <TrueBrain> cheers :)
21:27:39 <TrueBrain> frosch123: ottd_content is the only one who needs to be able to decrypt the MD5s, so this can be an easy private/public RSA encryption
21:27:42 *** WormnestAndroid has quit IRC
21:27:42 <TrueBrain> easy peazy
21:28:26 <TrueBrain> hmm, not completely true .. also what-ever generates the index.htmls .. meh .. sharing private keys is not nice
21:28:59 <frosch123> why does the index.html need to know that?
21:29:22 <DorpsGek_III> [OpenTTD/nml] spnda opened issue #90: Length callback for vehicles doesn't accept switches https://git.io/JvEaM
21:29:24 <TrueBrain> hmm ... not perse now I come to think of it
21:29:31 <milek7> libsodium?
21:29:43 <frosch123> can it query ottd_content for latest versions?
21:29:45 *** WormnestAndroid has joined #openttd
21:29:49 <TrueBrain> what is needed, is a known URL for the frontend, so humans can download files too
21:30:19 <TrueBrain> http://bananas.openttd.org/en <- like the Downloads links here
21:31:06 <Xaroth> you could have it be an endpoint that simply redirects to s3
21:31:22 <TrueBrain> "an endpoint" of what?
21:31:57 <TrueBrain> frosch123: guess it is easy if we don't allow multiple active versions :D
21:32:27 *** Wormnest_ has joined #openttd
21:33:19 <TrueBrain> but I guess we can make ottd_content return the full URL given an encrypted MD5, if the IP comes from a trusted source
21:33:33 <glx> spnda: there are many changes in 0.5 not compatible with 0.4.5
21:33:42 <TrueBrain> just a lot of cross-talk .. hmm
21:34:13 <spnda> glx: But what all changed? I didn't hear anything about switches and callbacks changin
21:34:32 <TrueBrain> guess NML needs a changelog.txt? :)
21:34:38 <spnda> Yup it does
21:34:54 <frosch123> spnda: mostly industries changed
21:35:03 <spnda> frosch123: that's what I thought
21:35:09 <spnda> And this page needs writing: https://newgrf-specs.tt-wiki.net/wiki/NML:Changes_0.5
21:35:40 <frosch123> anyway, if you are talking about vehicle length, then nothing changed
21:35:50 <TrueBrain> no, how ever I spin it, ottd_content and the BaNaNaS frontend need the private key. Not the biggest fan of sharing, but .. lets not overthinkg this too much
21:36:02 <frosch123> spnda: https://github.com/OpenTTD/nml/commits/master/nml/actions/action3_callbacks.py <- that's the file, and nothing touched it
21:36:29 <spnda> frosch123: Yeah, looked at the git blame of that file already. Nothing has changed in 8/9 years, though something still broke it
21:37:17 <glx> maybe provide a test file :)
21:37:25 <frosch123> spnda: your link is broken
21:37:37 <frosch123> you linked to a settings page or something
21:37:39 <spnda> it is? Try this: https://github.com/spnda/VGF-Set/blob/master/src/trams/Type-P.pnml#L60
21:38:04 <spnda> Oh I actually did... Oops. Fixed it
21:38:27 <andythenorth> oof
21:38:36 <andythenorth> the nml train example uses shorten_vehicle cb
21:39:04 <andythenorth> I assume that's deprecated, it's not documented
21:39:17 <andythenorth> on my endless todo list: write nml examples and use for regressions
21:39:29 <glx> https://newgrf-specs.tt-wiki.net/wiki/NML:Vehicles#Vehicle_callbacks says "length Trains, Road vehicles No "
21:39:35 <glx> so not in purchase list
21:40:29 <glx> but length should work
21:41:09 <spnda> Well, when I give "length" just something like "5", it works fine.
21:42:16 <frosch123> and if you give it some other switch name?
21:42:25 <andythenorth> bisection anyone? :P
21:42:28 <TrueBrain> guess someone should bisect :D
21:42:31 <TrueBrain> lol @ andythenorth :)
21:42:42 <spnda> frosch123: same error
21:44:28 <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick commented on issue #8001: Ship finds path but reports it is lost https://git.io/JvlVp
21:45:02 <TrueBrain> spnda: what happens if you try silly things like switching line 60 with 61, or 60 with 59?
21:45:29 <spnda> TrueBrain: Doesn't change anything
21:46:01 <spnda> On the OpenTTD discord we've tried to help a guy who had used the newest NML and had exactly the same issue as me right now.
21:46:15 <TrueBrain> it really feels like a bug; the question is, where :D
21:46:20 <spnda> Yeah
21:46:33 <TrueBrain> wish I knew a bit more about NML, or if I could run your snippet that would help too :P
21:46:44 <TrueBrain> but easiest would be if someone disects NML on which commit it broke, basically
21:46:54 <TrueBrain> disect? bisect, what-ever :P
21:47:47 <spnda> Well if you have python and nmlc you can just run "pybuild" and then "nmlc vgf.nml"
21:48:52 <TrueBrain> yeah, but that aint no snippet :D
21:48:53 <TrueBrain> ghehe
21:49:05 <glx> ok I'll clone the repo and test
21:49:25 <frosch123> i added "length" to the regression example, no issue
21:50:19 <TrueBrain> e9429c8 is the first commit that returns this error
21:50:27 <TrueBrain> (I had to make the snippet a bit more .. of a snippet to figure that out :D)
21:50:37 <TrueBrain> https://github.com/OpenTTD/nml/commit/e9429c89cf706c823210aa29e5ee41e224e042a1
21:50:42 <andythenorth> oh
21:50:52 <andythenorth> opengfx doesn't need Makefile.local
21:51:09 <glx> oups need to switch nml to the right branch first
21:51:10 * andythenorth should read the readme correctly, instead of wrongly
21:51:51 <TrueBrain> line 182 of action2var.py
21:51:56 <TrueBrain> that was introduced in that commit
21:52:03 <TrueBrain> if it smells like a duck ...
21:52:18 <TrueBrain> so it expects a procedure, but it didn't get it, or something?
21:52:27 <TrueBrain> I know waaayyyyy too little of NML to put this in any sane context :D
21:52:59 <glx> no that's for procedure calls
21:53:01 <DorpsGek_III> [OpenTTD/nml] TrueBrain commented on issue #90: Length callback for vehicles doesn't accept switches https://git.io/JvEaM
21:53:13 <glx> for callbacks nothing changed I think
21:53:49 <TrueBrain> change that line in nml
21:53:51 <TrueBrain> run his snippet
21:53:55 <TrueBrain> you will see that line hits
21:53:56 <spnda> well something must have changed by accident
21:53:58 <frosch123> it worked in december
21:54:03 <TrueBrain> so .. I am afraid your thinking is wrong there :D
21:54:14 <TrueBrain> it is that exact commit and line :D
21:54:18 <frosch123> 2019-12-09-gcae9d84d still worked
21:55:09 <frosch123> likely "procedure calls" broke it
21:55:17 <TrueBrain> thank you for catching up frosch123 :)
21:55:45 <TrueBrain> spnda: nml/actions/action2var.py, comment out like 181 and 182 .. does that fix the issue for you?
21:55:53 <frosch123> what, i only read glx notes... i did not except you to debug it
21:55:55 <glx> hmm stack trace says it too
21:56:09 <TrueBrain> frosch123: I can even debug software I know shit about :P
21:56:19 <TrueBrain> glx: how many more information do you need to believe it? :D
21:57:01 <TrueBrain> spnda: ps: that is shitty advise I just gave you, it is just to know for sure the issue is on that line :D
21:57:02 <spnda> TrueBrain: yes
21:57:09 <spnda> that does fix it
21:57:28 <TrueBrain> now I leave it to glx to really figure out what is happening, as I really don't know :D :)
21:58:05 <spnda> I guess it's the condition which is now faulty
21:58:31 <glx> but it's weird it fails only for length
21:58:53 <frosch123> glx: only few use "value_function"
21:58:56 <TrueBrain> and clearly also only under certain conditions :)
21:59:09 <frosch123> basically only "length" and something noone uses
22:00:03 <frosch123> also, i have no idea what arcane magic nml uses to compile that "value_function" somwhere into the output
22:00:08 <TrueBrain> tnx for the issue and help spnda :) I am afraid someone is now getting a bit bolder (because of him pulling his hair out of his head), but what can you do :)
22:00:36 <frosch123> some typos are funnier than others :)
22:00:44 <frosch123> baldness makes you bold?
22:00:54 <TrueBrain> :D
22:00:58 <TrueBrain> oops :D
22:01:08 <TrueBrain> no clue what went wrong in my mind there
22:01:12 <spnda> TrueBrain: No problem, it's just for the good of this community :)
22:01:13 <TrueBrain> I will make an issue out of it
22:01:33 <spnda> Though I'll have to leave now.. bye
22:01:40 <TrueBrain> bye :)
22:01:57 <LordAro> sounds like something needs adding to the regression tests :)
22:01:57 *** spnda has quit IRC
22:01:57 <glx> def vehicle_length(value):
22:01:58 <glx> return expression.BinOp(nmlop.SUB, expression.ConstantNumeric(8, value.pos), value, value.pos)
22:02:01 <TrueBrain> guess the error message needs a bit of love too, btw. I think "identifier" is the wrong word? "Expected function, but not encountered" or something? :)
22:02:09 <glx> feels wrong for a callback
22:02:23 *** sla_ro|master has quit IRC
22:02:25 <TrueBrain> s/function/procedure/
22:02:26 <TrueBrain> what-ever :P
22:02:35 <TrueBrain> I will let you crack this :)
22:02:37 <glx> but that explain why it needs a procedure call
22:03:16 <TrueBrain> LordAro: yeah .. you got to love regression tests :D (I really and honestly do; they are just a nag to create :P)
22:03:30 <glx> I think the nml syntax is suboptimal in some places
22:03:50 <TrueBrain> "suboptimal" :D
22:05:21 *** supermop_work has quit IRC
22:05:28 <Samu> who's a pathfinder penalty expert?
22:06:31 <TrueBrain> https://www.youtube.com/watch?v=PZa435xK8-k
22:06:37 <TrueBrain> (for Samu )
22:07:17 <Samu> last comment in the issue #8001 tells me that docking tiles costs and 90 degree curve costs were "bad features" :(
22:07:46 <TrueBrain> SMS OPT-OUT to 8001
22:11:13 <frosch123> oh, you should spell it SAM-U, then it's easier to make the connection
22:12:55 *** Wolf01 has quit IRC
22:14:40 <andythenorth> not sure I understand where to put anything in ogfx
22:14:41 <andythenorth> but eh
22:14:51 <TrueBrain> one thing andythenorth
22:14:54 <TrueBrain> you can't make it worse :P
22:14:56 <TrueBrain> so go with that ;)
22:14:57 <TrueBrain> <3
22:15:06 <andythenorth> is that a challenge? o_O
22:15:15 <TrueBrain> hahahaha, please, no, omg :P
22:15:25 <glx> andythenorth: but I linked you the file to edit
22:15:37 <andythenorth> yes
22:15:43 <andythenorth> I am editing it
22:15:48 <andythenorth> I also have to put the sprites somewhere
22:16:01 <andythenorth> the conventions are 'extra' or 'gui'
22:16:04 <andythenorth> mixed freely
22:16:32 <TrueBrain> for some reason I now think this is happening in andythenorth's house: https://media.giphy.com/media/KpACNEh8jXK2Q/giphy.gif
22:16:54 <andythenorth> yes, but not for the reasons above
22:16:58 <andythenorth> that's just standard here
22:17:02 <TrueBrain> :D
22:17:53 <Samu> gonna revert something in docking tiles patch, I went a bit overboard
22:18:58 <TrueBrain> pun intended, I assume?
22:19:43 <LordAro> aha
22:19:51 <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick updated pull request #8009: Change #8001: Don't add docking tile cost when ships are still too far from their destination https://git.io/Jv41T
22:20:18 *** gelignite has quit IRC
22:21:11 <DorpsGek_III> [OpenTTD/OpenGFX] andythenorth opened pull request #34: Change: add missing nrt gui sprites https://git.io/JvEwo
22:21:58 <milek7> i still think that "restricting" older downloads is silly
22:22:04 <Samu> now ships won't prefer to walk over docking tiles, in essence, separate more smartly
22:22:14 <andythenorth> ^^ that PR is no good
22:22:21 <glx> pff and of course I can't test with 0.4.5 as it doesn't work
22:22:49 <milek7> especially that you don't need md5 to download it, just 32bit content id
22:23:01 <andythenorth> does opengfx have high resolution gui sprites somewhere?
22:23:04 * andythenorth very confused
22:23:08 <frosch123> yes
22:23:16 <milek7> and server is nice enough to accept multiple queries in single packet..
22:23:18 <frosch123> it has some 2x zoom sprites
22:23:19 <andythenorth> gui2x?
22:23:30 <glx> something like that
22:23:33 <andythenorth> oof
22:23:41 <andythenorth> ok there's a whole extra level then :)
22:23:42 <frosch123> someone made ogfx+biggui some years ago, and it got merged into normal ogfx
22:23:49 <TrueBrain> milek7: with an ID you can only download the latest. You need the MD5 to get older versions
22:23:51 <andythenorth> and there are some more missing sprites, for tram tracks
22:24:09 <milek7> um, no
22:24:16 <andythenorth> the first 2 icons in tram building toolbar are showing road
22:24:31 <milek7> PACKET_CONTENT_CLIENT_CONTENT, ///< Request a content file given an internal ID
22:24:44 <TrueBrain> that returns the latest version of that ID, yes
22:25:33 <DorpsGek_III> [OpenTTD/OpenGFX] andythenorth commented on pull request #34: Change: add missing nrt gui sprites https://git.io/JvEwD
22:25:56 <milek7> so how it does download older files? there is no DownloadSelectedContentFallback variant accepting md5
22:26:04 <andythenorth> frosch123: did some depot sprites need splitting apart also?
22:26:12 <TrueBrain> no, you are right, that doesn't use ID, but content_id
22:26:15 <frosch123> andythenorth: https://github.com/OpenTTD/OpenTTD/blob/master/media/extra_grf/tramtracks_bare_depot.png <- those are missing in ogfx. they are identical with older existing tram sprites, but with the rails removed
22:26:30 <TrueBrain> so I guess you can download everything from the server .. currently nothing protects against that
22:26:36 <TrueBrain> but you cannot find the content_id without the MD5
22:26:42 <TrueBrain> so finding a specific version, you are not going to
22:26:57 <frosch123> it "just" needs copying of the sprites, and overdrawing of the tracks with blue pixels. nothing fancy, just work
22:27:20 <TrueBrain> the only thing you can do is a grab-all
22:27:39 <DorpsGek_III> [OpenTTD/OpenGFX] andythenorth commented on issue #9: Update / add NRT sprites https://git.io/JvRLq
22:27:49 <TrueBrain> which can be considered a bug, I guess .. pretty sure that in my rewrite that will result in your IP getting blacklisted for a while or something
22:28:16 <andythenorth> ok more ogfx tomorrow then :)
22:28:22 <andythenorth> when is 1.10 release? :P
22:28:30 <TrueBrain> 5 weeks :P
22:28:43 <frosch123> andythenorth: if that comment is only for you, it is fine. otherwise it is misleading
22:28:53 <andythenorth> I'll assign the issue to me
22:29:01 <frosch123> noone shall copy the sprites from openttd source, but the matching existing ones from ogfx
22:30:24 <andythenorth> edited the comment thx
22:30:58 *** supermop_work has joined #openttd
22:31:25 <LordAro> RC2 after ogfx release seems reasonable
22:31:28 <LordAro> still need a title game...
22:32:29 <TrueBrain> anyway milek7 , you can think the world of this, but it is what is in our ToS, so we have to follow that. And what you point out clearly is a bug, so that would need addressing in a newer version for sure :)
22:32:46 <frosch123> LordAro: there was no competition for 1.5 or so. i just picked one i liked from previous years. noone minded/commented
22:33:04 <frosch123> you can always solve stuff as dictator :)
22:33:28 <TrueBrain> just ask #insert-fuckedup-country-here
22:33:34 <LordAro> frosch123: hehe
22:36:23 <frosch123> who would be offended if we ran the title competition via reddit?
22:37:02 <frosch123> though according to andy they all play jgr :p
22:37:10 <Samu> found another bug related to docking tiles around an industry
22:37:49 <TrueBrain> owh boy, OpenGFX broke ... mm .. what did I do wrong ..
22:43:02 <andythenorth> frosch123: the actual game with reddit is to see how many comments before jgr is recommended
22:43:10 <andythenorth> reddit jgrpp bingo
22:43:18 <andythenorth> today it was just 3
22:43:49 <andythenorth> bonus points if the phrasing is something like 'you really have to switch to JGR, it fixes all of [insert problem here]'
22:44:08 <andythenorth> extra bonus points if [insert problem here] is nothing to do with OP topic
22:44:20 <andythenorth> and triple bonus if it's timetables
22:44:39 <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick opened issue #8020: Not all tiles around an oil rig are docking tiles https://git.io/JvErY
22:44:50 <DorpsGek_III> [OpenTTD/OpenGFX] TrueBrain opened pull request #35: Fix: [Makefile] make sure source bundles can be packed again https://git.io/JvErO
22:45:05 <TrueBrain> far from happy with that solution, but I am a bit tired of fixing up this Makefile
22:45:58 <frosch123> andythenorth: i like scrabble, but i never figured out how to use the bonus fields, except by luck
22:46:15 <DorpsGek_III> [OpenTTD/OpenGFX] LordAro approved pull request #35: Fix: [Makefile] make sure source bundles can be packed again https://git.io/JvErs
22:46:21 <andythenorth> I should sock puppet some reddit accounts
22:46:23 <andythenorth> then I can win
22:47:16 <frosch123> everyone already uses firs
22:47:29 <andythenorth> nah it's way too complicated for most people
22:47:30 <frosch123> or are those already your puppets?
22:47:33 <andythenorth> or not complicated enough
22:48:20 <TrueBrain> RSA+OAEP+MGF1+SHA256 ... I am doing letter bingo, does that count?
22:48:25 <frosch123> you mean saying "not complicated enough" is like "the grapes are too sour"
22:48:41 <frosch123> when people won't admit it's too complicated
22:48:53 <andythenorth> probably
22:50:11 * andythenorth looks for appropriate quotes, fails
22:52:42 *** andythenorth has quit IRC
22:53:00 <TrueBrain> okay, so BaNaNaS 1.5 will be relative simple. The GitHub repo I can manually create and add some files to get going. The CDN I can manually fill with some files to experiment .. so that is good. The public part of the public frontend I don't really care about that much atm, and neither the manager part .. so that means I can first do ottd_content
22:53:19 <TrueBrain> that means implementing the protocol in Python I guess, and make sure it is fast enough :P
22:53:32 <nielsm> how does bananas handle md5 collisions? could an author upload a new, incompatible version of their own add-on using the same ID with intentional md5 collision?
22:53:51 <TrueBrain> you are not allowed to upload any file with an MD5 already known to the system
22:53:56 <TrueBrain> it is rejected immediatly
22:54:00 <nielsm> ok
22:54:20 <TrueBrain> back in these days, MD5 collisions were something of the future :P
22:54:42 <frosch123> users break everything
22:54:52 <TrueBrain> math people did, in this case
22:55:08 <frosch123> they also managed to upload grfs with the same name
22:55:19 <TrueBrain> but okay, if ottd_content works, I can setup the AWS infrastructure, and work on the management part
22:55:28 <TrueBrain> first the public listing, as that is simple
22:55:38 <TrueBrain> next the management part, which is learning Typescript again or what-ever
22:55:53 <TrueBrain> mainly validating uploads is a pita, but we have musad for that
22:56:22 <TrueBrain> after that, filling the CDN with uploads, and creating the commits in the GitHub repo
22:56:38 <TrueBrain> if that is all done, migrate the current content over
22:56:44 <TrueBrain> disable the current system before that
22:56:48 <TrueBrain> and TADA
22:57:05 <TrueBrain> not super-dupah easy, but something I can oversee happening within 5 weeks
22:57:30 <TrueBrain> mostly ottd_content will be a bit nasty to do ..
22:59:22 <TrueBrain> but, as they say, if you can dream it, you can build it
22:59:37 <TrueBrain> if anyone wants to help with any part of this, let me know. Most of these jobs are pretty stand-alone :)
23:00:46 <DorpsGek_III> [OpenTTD/OpenGFX] TrueBrain merged pull request #35: Fix: [Makefile] make sure source bundles can be packed again https://git.io/JvErO
23:05:45 <FLHerne> TrueBrain: To be fair, artificial MD5 collisions still aren't a problem here?
23:05:57 <TrueBrain> there are free bytes to use, so I guess it can be done
23:06:04 <TrueBrain> haven't read how they force collisions, I have to say
23:06:14 <TrueBrain> I always assume it has to do with bytes you can freely manipulate :)
23:06:17 <FLHerne> People can now go to a lot of effort to make BaNaNaS invalidly reject uploading their GRF
23:06:37 <TrueBrain> we have crazy people in our community :)
23:07:03 <TrueBrain> but because MD5 field is an unique-key .. it is of little relevance :P
23:07:08 <FLHerne> Which only helps if the plan contains those "...", "profit?" stages
23:07:25 <TrueBrain> "BUT BUT BUT! IT IS POSSIBLE"
23:07:26 <TrueBrain> I guess :P
23:08:25 <TrueBrain> impact is zero, so I welcome someone who wants to make this a mental excercise I guess :)
23:09:26 *** Progman has joined #openttd
23:10:46 <TrueBrain> https://cdn.openttd.org/opengfx-nightlies/20200224-master-g44d79b50ee/ <- tnx LordAro for the quick review. It works now again :D
23:11:28 *** tokai|noir has joined #openttd
23:11:28 *** ChanServ sets mode: +v tokai|noir
23:11:39 <frosch123> if the path contains both the 4-byte id and the md5sum, colissions only hurt the author themself
23:11:45 <frosch123> so, even less of a problem
23:12:21 <TrueBrain> yeah, and I thought you could lookup content by MD5 only
23:12:25 <TrueBrain> but I just noticed you also need the ID
23:12:26 <frosch123> all content allows arbirtrary insertion of any bytes in some place, so you can probably find the tools to create md5 colissions
23:15:32 *** Wormnest_ has quit IRC
23:18:23 *** tokai has quit IRC
23:19:36 <TrueBrain> fun fact, we can only have 1024 entries per type .. so 1024 NewGRFs
23:19:40 <TrueBrain> any more, and the client won't show it
23:19:47 <TrueBrain> well, not sure this was "fun"
23:19:55 <TrueBrain> how close are we to that number, I wonder now ..
23:20:47 <TrueBrain> 731
23:20:52 <TrueBrain> so .. that is not even that far away
23:21:06 <frosch123> what implies that limit?
23:21:13 <TrueBrain> ottd_content for sure
23:21:17 <TrueBrain> not sure if the client does too
23:22:06 <TrueBrain> no, client expects multiple packets, so he is fine
23:22:08 <TrueBrain> it is only ottd_content
23:22:09 <TrueBrain> so easy fix :)
23:23:47 <TrueBrain> lol .. we send 1 packet per available entry .. so that is 1370 packets when you click Online Content in OpenTTD :D
23:23:47 <TrueBrain> haha
23:25:41 <TrueBrain> there are these subtle limits in OpenTTD .. a NewGRF id + filesize + name + url + description + dependencies + tags + more meta, cannot exceed ~1400 bytes
23:25:47 <TrueBrain> any more, and it will be ignored
23:26:01 <DorpsGek_III> [OpenTTD/nml] glx22 opened pull request #91: Fix #90, e9429c89: Procedure calls checks were too strict https://git.io/JvEoV
23:26:11 <TrueBrain> never happened as of yet :)
23:26:31 <TrueBrain> glx: lol .. the solution was removing the check? :D
23:26:35 <glx> yes
23:26:55 <milek7> 1370 sounds like MTU? but why it matters with tcp?
23:27:39 *** frosch123 has quit IRC
23:27:55 <TrueBrain> long story, but OpenTTD also has parts over UDP, which can never exceed MTU. So Packet is set to this value, so TCP also has to follow it
23:28:50 <TrueBrain> for TCP it normally doesn't matter, except that some packets are limited in size .. like the above, is one of the few
23:29:41 *** nielsm has quit IRC
23:30:57 *** Wormnest_ has joined #openttd
23:31:57 <TrueBrain> ah, ofc, all modern clients first use the balancer for HTTP download; if that fails, it redirects it back to ottd_content .. I forgot about that ..
23:32:16 <TrueBrain> so I need to add "balancer" to the list. As it needs to be able to handle fallback .. okay
23:34:44 <TrueBrain> okay, this is going to be a complex puzzle :D
23:50:34 <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick opened pull request #8021: Fix #8020: Add missing docking tiles around industry neutral stations https://git.io/JvEK3
23:52:33 <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick updated pull request #8021: Fix #8020: Add missing docking tiles around industry neutral stations https://git.io/JvEK3
23:54:06 <Samu> k, im off to bed, cyas
23:54:08 *** Samu has quit IRC
23:58:47 *** Progman has quit IRC