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

Powered by YARRSTE version: svn-trunk