IRC logs for #openttd on OFTC at 2020-03-01
⏴ go to previous day
01:41:35 *** tokai|noir has joined #openttd
01:41:35 *** ChanServ sets mode: +v tokai|noir
05:05:46 *** mindlesstux has joined #openttd
06:21:55 *** WormnestAndroid has quit IRC
06:22:12 *** WormnestAndroid has joined #openttd
07:10:55 *** HerzogDeXtEr has joined #openttd
07:25:44 *** Hobbyboy has joined #openttd
08:26:59 *** Progman has joined #openttd
08:59:52 *** andythenorth has joined #openttd
09:53:16 *** gelignite has joined #openttd
10:16:03 *** LordAro has joined #openttd
11:06:14 *** michi_cc has joined #openttd
11:06:14 *** ChanServ sets mode: +v michi_cc
11:33:56 *** TheMask96 has joined #openttd
11:45:51 <TrueBrain> milek7: you suggested tus, right? Have you ever worked with it? As their 'tusd' is .. not the best of quality :( Guess I could try the vimeo tus-node-server ... see if that is any better :P
11:45:58 <TrueBrain> (but ... nodejs .. )
11:48:46 <milek7> seems to be working fine
11:49:13 <TrueBrain> mostly their "hook" system is a bit foobar .. you use that?
11:49:50 <TrueBrain> for example, post-receive reads: "It will be emitted whenever the server has received more data from the client but at most every second"
11:49:57 <TrueBrain> this is a non-true statement, as it turns out
11:50:08 <TrueBrain> also "fun": post-finish is received before the last post-receive
11:50:20 <milek7> I use only post-finish and pre-create
11:50:33 <TrueBrain> also "fun": in the ".info" file is no indication what so ever if the file really completed uploading
11:50:49 <TrueBrain> I have a hard time figuring out how I can know stuff for sure :(
11:51:04 <milek7> i assume it did on post-finish call
11:51:20 <TrueBrain> I don't get why the .info is not updated to state: finished
11:51:25 <TrueBrain> seems such a logic thing to do
11:52:34 <milek7> I have some ugly PHP scripts for post-finish and pre-create, and cron job just deleting unfinished older than 24h
11:53:05 <TrueBrain> I guess if you don't use post-receive, it is fine .. I am a bit annoyed that it doesn't do what the documentation says it does
11:57:03 <TrueBrain> so you have the choice, either let your internal http server be hammered with events, or don't listen to post-receive .. bit silly :P
11:57:09 <TrueBrain> it would be nice to show progress of big uploads
11:58:54 <milek7> why you need progress on server backend side?
11:59:47 <TrueBrain> I was considering igoring the progress-bar of the tus-client, as we have post-processing jobs to do, and replacing it with a total progress-bar of the whole
11:59:57 <TrueBrain> and in documentation, that is possible
12:00:07 <TrueBrain> in reality .. turns out documentation says things that are nowhere to be found in the code
12:01:11 <TrueBrain> For each open PATCH request, every second a HookEvent instance will be send over this channel
12:01:17 <TrueBrain> even the code comment reads it should work
12:02:18 <TrueBrain> owh, lol, it is per PATCH
12:02:20 <TrueBrain> so if you use chunks
12:02:41 <TrueBrain> holy crap ... tusd is really implemented for a few usecases, and that is it :P
12:02:48 <TrueBrain> (the issues made that clear to me already btw)
12:05:53 <TrueBrain> bit my issue with tusd .. you can't really configure it
12:05:58 <TrueBrain> so someone can start an upload with chunk-size of 1
12:10:17 <TrueBrain> lol, verbose is on by default .. how the fuck do you disable that .. --verbose false doesn't work ..
12:11:17 <TrueBrain> Enable verbose logging output (default true)
12:13:23 <milek7> yeah, it might not be suitable to do something fancy with it
12:13:45 <TrueBrain> well, disabling the spam of stdout might be something I wouldn't consider "fancy" :D
12:14:00 <milek7> I just needed a replacement for some "uber uploader php" intermingled with SMF forum code :P
12:14:20 <TrueBrain> I am just a bit shocked that big names use tus, and it is in this state :)
12:14:25 <TrueBrain> it feels very rough and unfinished
12:14:30 <TrueBrain> but it has been around for years now
12:15:40 <TrueBrain> I mean, even uppy wraps tus :)
12:17:08 <TrueBrain> okay, "verbose" only toggles 2 log statements .. k k
12:19:35 <TrueBrain> wish I knew "go" a bit :)
12:31:35 *** Progman has joined #openttd
13:12:02 *** Alkel_U3 has joined #openttd
14:21:24 <TrueBrain> docs_regexp = re.compile("(readme|changelog)(_[a-z]{2}(_[A-Z]{2})?)?\.txt$")
14:21:32 <TrueBrain> so ... readmeabAB.txt is allowed?
14:24:21 <TrueBrain> ah, changelog_ru.txt, etc
14:24:25 <TrueBrain> did not expect that
14:26:19 *** arikover has joined #openttd
14:30:58 <TrueBrain> lets see if I can summon frosch ...
14:31:18 <Samu> uint result = 4 * minu(dx, dy) / 3 + abs(dx - dy);
14:31:18 <Samu> uint result2 = (dx > dy ? 2 * dx + dy : 2 * dy + dx) / 2;
14:31:27 <Samu> which of these is more accurate?
14:34:01 <Samu> i expected the results to match, but it doesn't always match, sometimes it's off by 1
14:39:24 <Samu> @calc 4 * 29 / 3 + (29 - 3)
14:40:15 <Samu> @calc 4 * 3 / 3 + (29 - 3)
14:43:52 <TrueBrain> Samu: please PM DorpsGek for these kinds of things .. nobody here cares about your math-sprees :)
14:45:51 <Samu> nice, it responds to pms
14:51:11 *** ericnoan has joined #openttd
14:56:04 *** Eddi|zuHause2 has joined #openttd
15:11:46 *** lastmikoi has joined #openttd
15:14:54 <TrueBrain> "STR_GRF_DESCRIPTION :License: {SILVER}GPL v2{}{BLACK}" <- silly description andy has :P
15:45:41 *** luaduck has joined #openttd
16:52:16 *** KenjiE20 has joined #openttd
17:03:52 *** Wormnest__ has joined #openttd
17:04:07 *** welterde has joined #openttd
17:08:38 *** tyteen4a03 has joined #openttd
17:09:07 *** tycoondemon has joined #openttd
17:22:58 *** andythenorth has joined #openttd
17:28:25 *** grossing has joined #openttd
17:43:31 <andythenorth> I'm glad I was never an emo, it looks like hard work
17:43:55 <andythenorth> also my laptop is burning hot, feels like 70 degrees
17:44:21 <TrueBrain> what did BaNaNaS do to him :(
17:45:05 <andythenorth> I'd file it all under 'there will always be an outlier'
17:45:17 <andythenorth> can please some of the people some of the time
17:45:39 <TrueBrain> I guess tt-forums and BaNaNaS are the same? :s
17:47:11 <andythenorth> am I supposed to be doing something for 1.10?
17:47:18 <andythenorth> I have an odd sense of guilt here
17:47:35 <andythenorth> maybe it's because I shipped Horse after 2 years of constant work :P
17:48:05 <LordAro> make a new title game
17:49:01 <andythenorth> should it feature multiple docks and NRT? :P
17:49:51 <andythenorth> are there rules for running the competition?
17:50:58 <andythenorth> I could ask him to run it?
17:51:05 <TrueBrain> a new BaNaNaS uploader is difficult .. turns out there are many moving parts ..
17:51:57 <TrueBrain> musa made a tarball on the client-side, to transmit that .. but that is not going to fly via a webpage
17:52:10 <TrueBrain> so ... multiple files need to be uploaded, and recombined to a single tarball ... :D
17:52:23 <TrueBrain> also turns out existing packages have hilarious issues
17:52:28 <TrueBrain> like ... DS_store folders
17:52:31 <TrueBrain> and more of that nonsense
17:54:53 <TrueBrain> hmm, tarballs on BaNaNaS without license file .. that should never happen ..
17:55:45 <TrueBrain> ah, no, lol, I made a change in my Python script which got picked up too earl
18:03:25 *** OsteHovel has joined #openttd
18:06:27 <TrueBrain> andythenorth: quick, URL of the container 1 GRF specs? :D
18:08:20 <TrueBrain> couldn't find it myself :P
18:08:53 <TrueBrain> "The algorithm to calculate it is unknown, but it is never processed by the game anyway."
18:09:29 <TrueBrain> some GRFs are a few bytes shorter than frosch his reader expects
18:11:43 *** frosch123 has joined #openttd
18:11:52 <TrueBrain> this time the summoning did work :o
18:11:57 *** Eddi|zuHause2 is now known as Eddi|zuHause
18:14:10 <TrueBrain> frosch123: you copyrighted every file of BaNaNaS2 to you personally. I wanted to use the files in my rewrite, but that would mean I need to add your copyright in every file I copy .. and modifications become a bit fuzzy now .. was this delibrate? (honest question). Or would you mind changing the copyright owner to "OpenTTD Team", or what do we use for OpenTTD?
18:14:11 <frosch123> or are the more settings?
18:14:26 <TrueBrain> besides that commit, all I need to do is to whitelist the project
18:14:52 <frosch123> TrueBrain: i just followed what gpl told me :) "OpenTTD team" is fine for me
18:15:15 <TrueBrain> yeah, you have to put a copyright, GPL says :P Just personal names are always a bit .. annoying to deal with :D Great, tnx :)
18:15:34 <TrueBrain> so far I found 2 bugs in your NewGRF reader .. fixed 1, the other .. I have to look deeper into it :P
18:15:41 <TrueBrain> good thing about having a HUGE collection of GRFs :D
18:15:59 <TrueBrain> and none (!) on BaNaNaS has a min-compatible-version set ...
18:16:17 <TrueBrain> implementation bug, or just unused?
18:24:56 <frosch123> oh wait, i also want the commit hooks
18:24:56 <TrueBrain> merge, and it should work :)
18:25:40 <DorpsGek_III> [OpenTTD/eints] frosch123 merged pull request #3: Add: [DorpsGek] announce issues, pull-requests, and tags to IRC. https://git.io/Jv2Th
18:26:26 <TrueBrain> owh, right, food time
18:33:34 <DorpsGek_III> [OpenTTD/eints] frosch123 opened pull request #4: Add: [Actions] validate commit messages comply with the OpenTTD stand… https://git.io/Jv2kB
18:35:31 <DorpsGek_III> [OpenTTD/eints] TrueBrain approved pull request #4: Add: [Actions] validate commit messages comply with the OpenTTD stand… https://git.io/Jv2kz
18:35:54 <DorpsGek_III> [OpenTTD/eints] frosch123 merged pull request #4: Add: [Actions] validate commit messages comply with the OpenTTD stand… https://git.io/Jv2kB
18:36:02 <TrueBrain> You got to love cherry picking :p
18:37:59 <frosch123> hmm, settings do not know them
18:38:46 <TrueBrain> Needs to run first once
18:40:57 <DorpsGek_III> [OpenTTD/eints] frosch123 opened pull request #5: Add github-based authentication and authorization https://git.io/Jv2k1
18:43:26 <frosch123> i probably should look into flake8
18:58:53 <frosch123> oh, i left my debug code in the commit
19:01:58 <DorpsGek_III> [OpenTTD/eints] frosch123 updated pull request #5: Add github-based authentication and authorization https://git.io/Jv2k1
19:05:10 <DorpsGek_III> [OpenTTD/DorpsGek] pyup-bot opened pull request #21: Scheduled monthly dependency update for March https://git.io/Jv2Iw
19:07:14 <andythenorth> February dev blog post? o_O
19:26:47 <frosch123> write about open positions: dev blog author, titlegame competition organizer, twitter author, ogfx maintainer, ... :)
19:45:42 <andythenorth> blog article reviewer
19:45:48 <andythenorth> blog article approver
20:31:34 <frosch123> TrueBrain: do you think we can talk or*dge into hosting wiki.openttd.org, he already has at least 2 wikis, and it seems to be the only thing that we still need a db for
20:38:40 *** sla_ro|master has joined #openttd
20:47:00 <michi_cc> Github Wiki, or is that considered BAD?
20:47:28 <LordAro> i wouldn't want to use it for the amount of content there is
20:53:48 <frosch123> i would claim that repos and containers can be moved to gitlab or other cloud providers in short or medium time
20:54:10 <frosch123> otoh, i would consider a wiki a lot of work to migrate to yet another markup
21:03:10 <Samu> I am inventing a new distance :p
21:07:59 <Samu> name is too long, but then again, i'm always bad with names
21:08:33 <Samu> GetDistanceTransportedGoodsIncomeToTile
21:38:15 <DorpsGek_III> [OpenTTD/nml] frosch123 approved pull request #91: Fix #90, e9429c89: Generated procedure calls where not properly marked https://git.io/Jv2m0
21:52:34 <TrueBrain> frosch123: I have 2 sets of errors with your NewGRF reading code I don't really understand. I am not sure if the GRFs aren't just corrupted, or that something else is going on. One is when the checksum is read in container v1, there aren't 4 bytes left anymore
21:52:53 <TrueBrain> the other is in read_pseudo, the num_sets which hits EOF
21:53:38 <TrueBrain> so num_sets is 0 after uint8() read, but there aren't two uint_ext() after that
21:55:38 <TrueBrain> Main HQ is one of those GRFs where it hits EOF in the checksum read .. if you have any time or when you are bored, mind giving that a look?
21:55:50 <frosch123> hmm, i remember the second issue. i think ottd has a work around for that
21:56:04 <TrueBrain> and this is why I mention these things :D
21:56:42 <frosch123> if (num_sets == 0 && buf->HasData(3)) { <- yep, ottd works around those broken sets
21:57:02 <TrueBrain> what does HasData() do?
21:57:23 <TrueBrain> I have some other fixes, but more on the coding style of things. But I can merge your fix over that I am sure :)
21:57:38 <frosch123> somethnig like len(pseudo) minus already consumed data
21:58:21 <TrueBrain> still no clue what HasData() does :D Check if there are exactly that many bytes left in the buffer? Or at least? It is such a strange name for a function :D
21:58:49 <TrueBrain> k, that is easy to fix in that case :)
22:03:11 <TrueBrain> frosch123: okay, that fixes some of them. But I got a new one in return, on action 0xA :)
22:03:20 <TrueBrain> if num_sets == 0 and len(pseudo) - 3 >= 3:
22:04:34 <TrueBrain> the 0xA action seems related
22:04:45 <TrueBrain> as the first read can also be zero, it seems
22:06:09 <frosch123> haha, no, that is just copy and paste
22:06:20 <frosch123> there is never a second byte
22:06:25 <frosch123> return reader.uint8()
22:06:32 <frosch123> ^^ it should be just that
22:06:33 <TrueBrain> num_sets = reader.uint8()
22:06:33 <TrueBrain> return sum([reader.uint8() for _ in range(num_sets)])
22:07:00 <frosch123> oh, right, even more wrong
22:07:00 <TrueBrain> no, also wrong .. hmm
22:07:53 <TrueBrain> that URL won't work for you :P
22:08:06 <TrueBrain> so that is what Matrix does with 4+ lines :)
22:09:00 <TrueBrain> otherwise Matrix is pretty nice btw
22:09:15 <TrueBrain> well, if you don't use the default IRC bridge, as ugh .. that stupid [m]
22:09:30 <frosch123> TrueBrain: looks good
22:09:53 <TrueBrain> doing a new scan to see if any GRFs are broken :)
22:10:04 <TrueBrain> I like being able to scan hunderds of GRFs :D
22:11:51 *** ChanServ sets mode: +v tokai
22:12:47 <TrueBrain> frosch123: any idea if it is expected that no GRF as of yet defined a minimum version?
22:13:12 <Samu> visual studio changed a "No newline at end of file" into a newline. I tried to delete the new line but when I save it re-adds it.
22:13:27 <TrueBrain> Samu: and it is right to do so
22:13:29 <TrueBrain> stop trying to remove it
22:13:33 <frosch123> i would expect that at least ogfx cared about setting minimum of ottd 1.2 at some point
22:14:20 <frosch123> oh dear, i forgot that grfcodec was written by an assembler guy
22:15:08 <Samu> well in that case, src/script/api/script_cargo.cpp has a "no newline at end of file"
22:16:12 <TrueBrain> lol .. on WSL, tailing of a file that is written by pipes doesn't work for some reason .. lol
22:19:53 <Samu> once 1.10 goes live, I am gonna work on my AI, to use those nice new functions :p
22:20:21 <Samu> because it doesn't work for 1.9
22:20:49 <Samu> i would break my AI for many openttd's
22:21:00 <TrueBrain> frosch123: okay, 6 GRFs that fail on your reader now; that is a lot better :) (down from 20-ish). All container v1, all on reading the last few bytes. Hmmm
22:21:10 <TrueBrain> Samu: you don't have to publish it yet!
22:21:13 <frosch123> are they all from ttdur?
22:21:34 <frosch123> because those are ancient
22:22:15 <TrueBrain> frosch123: yes, they are :)
22:22:25 <TrueBrain> well, uploaded in 2014 :P
22:22:30 <frosch123> so, they used a broken encoder
22:22:40 <TrueBrain> but OpenTTD does read them? Cool :D
22:22:49 <frosch123> probably an old grfcodec bug, or they used some custom-made encoder
22:23:30 <TrueBrain> there are 2 bytes, instead of 4
22:24:24 <frosch123> hmm, that sounds again like i heard it before, but don't know where :)
22:24:38 <TrueBrain> OpenTTD doesn't even read those bytes, lol
22:24:46 <frosch123> anyway, i guess ignore if there are less than 4 bytes?
22:24:52 <frosch123> reject if there are more than 4 bytes left
22:25:06 <frosch123> just so that people do not append random junk at the end
22:25:31 <TrueBrain> or we just append 2 bytes to these GRFs and repack them
22:25:47 <frosch123> that changes md5sum,
22:26:07 <frosch123> it's container 1, so the whole file matters
22:27:19 <TrueBrain> you don't check there is no junk btw; I think that is a nice check to add :D
22:28:12 <frosch123> while you are at it, also extend the Feature enum with "ROADTYPES = 0x12, TRAMTYPES = 0x13," :)
22:28:47 <TrueBrain> any extra code requires, or is this done via action 0/3/4 ?
22:28:56 <frosch123> nothing more required
22:29:04 <TrueBrain> btw, language.csv seems missing in your repo :) But I found the wikipage :)
22:29:21 <frosch123> there is code to fetch it
22:29:47 <TrueBrain> hmm .. did not find it, but that might be me not looking good enough :)
22:29:58 <frosch123> maybe i only planed it :)
22:31:47 <TrueBrain> okay, lets scan all the GRFs again :)
22:32:04 <TrueBrain> please never ask me to add test-cases for all these quirks :P
22:32:08 <frosch123> TrueBrain: oh, when you mentioned the minum-version earlier, you meant the stuff from the newgrf class, not from the yaml?
22:32:22 <TrueBrain> from your NewGRF reader
22:32:29 <frosch123> ok, i totally got that wrong :)
22:33:18 <frosch123> there are plenty of grf setting that
22:33:35 <frosch123> when i grep in the nml sources i have
22:33:47 <frosch123> so either nml silently drops it, or newgrf.py is wrong :)
22:34:12 <TrueBrain> k, will add some debugging :)
22:34:20 <TrueBrain> well, first scanning to see if any GRF is now broken :)
22:35:10 <TrueBrain> version is None too, so I guess there is a relation :)
22:35:15 <frosch123> TrueBrain: replace "> 4" with ">= 4" :)
22:36:23 <TrueBrain> hmm .. that is a low number
22:36:32 <frosch123> days since 2000-01-01
22:36:58 <frosch123> authors can version them as they like, but coop went for the date
22:37:11 <TrueBrain> owh, so it has nothing to do with OpenTTD version?
22:37:28 <frosch123> no, it's about upgrading grfs in savegames
22:37:45 <frosch123> whether ottd considers them compaitble or incompatible
22:37:47 <TrueBrain> does it need validating when uploading, that the number is higher, or?
22:38:25 <frosch123> i guess that would make sense
22:38:31 <frosch123> version should be ascending
22:38:44 <frosch123> ottd gui will only show the highest version by default
22:38:52 <frosch123> so if you donwload an older, ottd will hide it from you :p
22:39:37 <TrueBrain> okay, so I have a basic setup to validate NewGRFs on upload ..
22:39:40 <TrueBrain> now the other types :P
22:39:59 <frosch123> ai/gs are the hardest
22:40:14 <TrueBrain> really? I was thinking that would be easy :D
22:40:23 <TrueBrain> the hardest for me is going to be the Base* :P
22:41:40 <TrueBrain> but where I will allow NewGRFs, scenarios, Base* etc to be uploaded file by file
22:41:50 <TrueBrain> AI/GS (Library) will need to be uploaded in a zip/tar
22:41:50 <frosch123> it's hard to find the uniqueid from ai/gs
22:41:59 <TrueBrain> owh, musa has code for that, so copy/paste :)
22:42:02 <frosch123> esp in zuu's scripts
22:43:11 <frosch123> anyway, bananas2 also has loaders for heightmap and scenarios
22:43:23 <frosch123> so you can debug those if you like :)
22:43:52 <TrueBrain> I saw them yes; looking forward to it :)
22:47:13 <andythenorth> could we build non-track station tiles on corner slopes? o_O
22:47:40 <TrueBrain> frosch123: I cant tell you how happy I am you wrote those functions; I never would have :D
22:48:12 <frosch123> andythenorth: no, but you could replace all non-track stations with objects
22:48:40 <frosch123> TrueBrain: since i wrote them first, i apparently liked writing them :p
22:49:18 <andythenorth> I do use objects in current gameplay for the corner slopes, it is a valid solution
22:49:26 <andythenorth> just lacks catchment :P
22:50:32 <andythenorth> looks nice though
22:56:50 <TrueBrain> bah, frosch123 , now I want to know if your scenario loader works :P
22:57:02 <TrueBrain> I wanted to play a game for the rest of the evening :@
22:57:16 <TrueBrain> newgrfpresets is something new to add to BaNaNaS btw?
22:57:30 <frosch123> yes, it's not supported by ottd :)
22:57:57 <TrueBrain> not YET, you say? :D
22:58:00 <frosch123> so,do not spend time now
22:58:17 <TrueBrain> you disabled lzo2 btw; never got it to work, o?
22:58:19 <frosch123> i probably only wrote it, to figure out what the format should be
22:58:30 <frosch123> i did not find a python lzo2
22:59:21 <frosch123> btw. note that savegame.py will report all uniqueids of used ais and gs as None
22:59:31 <frosch123> that's because ottd does not store them, while it really should :p
23:00:02 <LordAro> TrueBrain: "Nothing. I just don't want to use it anymore." - in response to "what did BaNaNaS do to you?"
23:00:09 <LordAro> so as andythenorth said
23:00:30 <TrueBrain> okay .... well ... he can have his opinion I guess
23:00:42 <frosch123> TrueBrain: lordaro rejected a pr that would bump savegame, but maybe that was just an easy excuse
23:00:57 <TrueBrain> tickly him some more
23:00:59 <TrueBrain> it should be fine :P
23:01:41 <frosch123> hmm, maybe it was nielsm, not lordaro :)
23:01:47 <LordAro> if you think it's ok to bump the savegame version after freeze...
23:02:05 <TrueBrain> strongly depends on the case, ofc :)
23:02:12 <frosch123> LordAro: technially it works unless master bumped first
23:02:20 <TrueBrain> but another year of not storing AI data ... :P
23:02:41 *** tokai|noir has joined #openttd
23:02:41 *** ChanServ sets mode: +v tokai|noir
23:03:33 <nielsm> frosch123, I did say that a PR that bumps savegame (especially for a feature) can't be candidate for backport to release branch
23:03:56 <TrueBrain> and you are not wrong :)
23:03:57 <nielsm> since that's cans of various worms
23:03:58 <frosch123> nielsm: i would generalize that to "features are never backport candidates" :)
23:04:13 <frosch123> 1.9.3 is broken because of a feature
23:04:27 <nielsm> yeah and it's my fault
23:04:58 <frosch123> some gui qol thing with assigning orders to oilrigs
23:05:27 <frosch123> break assigning orders to any station if the tile under the station sign does not belong to the station
23:05:48 <TrueBrain> that is a regression, funny enough :)
23:07:34 <frosch123> once i made a nightly, where trains ignored all signals :)
23:08:06 <TrueBrain> before PRs, we broke nightlies a lot
23:08:14 <TrueBrain> so I am sure we have more gems like that :P
23:08:36 <frosch123> i mostly broke stuff in svn age, when splitting patches
23:09:22 <TrueBrain> there are a few gems in there as "fix"
23:09:29 <TrueBrain> the most idiotic release we ever did .. 0.4.0.1 :D
23:10:17 <frosch123> LordAro: btw. there was a savegame bump between 1.2.0-rc1 and 1.2.0
23:10:38 <frosch123> it was needed to fix some bug, and we were lucky that trunk had not yet advanced
23:11:46 <LordAro> well that's still the case here
23:12:01 <frosch123> oh, and then there was 1.6.1. there was no savegame bump between 1.5 and 1.6 at all, so people ran into trouble loading 1.6 savegames with 1.5, so we inserted an arbitrary bump in 1.6.1
23:12:23 *** ChanServ sets mode: +v tokai
23:12:28 <frosch123> just to make 1.5. not load 1.6.1 games :)
23:13:56 <TrueBrain> and yet we never wrote down that is kinda important to do :P
23:14:03 <TrueBrain> okay, I see what you mean frosch123 , by not storing the uniqueid
23:14:06 <TrueBrain> that is just silly/stupid
23:14:14 <TrueBrain> how does it know which AI to load in that case?
23:14:27 <frosch123> ottd looks up ais by name
23:14:41 <TrueBrain> let me guess .. my handy-work?
23:14:55 <TrueBrain> it became such a mess, the loading system :P
23:14:58 <frosch123> though i can't prove that it wasn't yexo
23:15:23 <TrueBrain> we can, but it is not worth the effort :D
23:18:59 <TrueBrain> frosch123: we don't know the uniqueid nor the md5 ... okay, that is a bit silly :D
23:19:59 <frosch123> yes, ottd can't download missing ai/gs for savegames
23:20:14 <frosch123> andythenorth: it's not about newgrf this time :p
23:20:26 <TrueBrain> also means I can't help the user when uploading to pick the right dependencies for that ..
23:20:37 <andythenorth> just wondering about having something analyse grfs as a web service, based on bananas data :P
23:20:57 <TrueBrain> why ever did I make it lookup by name .. as I am pretty sure I did that bullshit .. I knew I spend hours and hours on getting it to load the AIs correctly from savegames
23:21:02 <TrueBrain> it was really difficult :P
23:21:42 <TrueBrain> well, I guess we can also do a lookup by name ...
23:22:38 <TrueBrain> frosch123: if/when you add support for AI uniqueids .. please also add the md5sum while at it
23:22:47 <TrueBrain> if that is possible :P
23:24:05 <frosch123> ais/gs are not single files
23:24:19 <TrueBrain> the client CAN do it, I am pretty sure about that
23:27:11 <frosch123> ah, it XORs the md5sums of all files
23:27:31 <frosch123> i wonderer how it orders the files, but XOR does not need that
23:27:42 <frosch123> so, someone was clever, probably rb
23:27:54 <TrueBrain> I am not even considered! :P
23:27:56 <TrueBrain> but you are right :)
23:28:30 <TrueBrain> so the MD5 should already been known for the AIs somewhere
23:28:45 <TrueBrain> okay, all scenarios on file load just fine
23:29:53 <frosch123> looks like the md5sum is not stored, but all scripts are rescanned/recomputed for every content item
23:30:00 <frosch123> so, that may also explain performance :)
23:30:19 <frosch123> O(n^2) for number of versions of same item or so
23:30:31 <TrueBrain> so another quick-win :)
23:30:52 <frosch123> hmm, i guess it only checks the latest, so it does not call it for every version
23:34:26 <TrueBrain> and heightmaps load too .. so only AI/GS and Base* left :) Something for another day
23:47:31 <DorpsGek_III> [OpenTTD/OpenTTD] ya-isakov opened issue #8029: Black screen on SDL2-enabled OpenTTD, Sway and SDL_VIDEODRIVER=wayland https://git.io/Jv23P
continue to next day ⏵