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