Config
Log for #openttd on 22nd December 2019:
Times are UTC Toggle Colours
00:00:06  *** snail_UES_ has quit IRC
00:01:17  *** Wolf01 has quit IRC
00:02:12  <Xunie> Can I create a 'ping pong' order list?
00:02:29  <Eddi|zuHause> how do you mean?
00:02:36  <Xunie> That is: An order list will be executed in sequence and then in reverse sequence?
00:02:42  <nielsm> you mean going A-B-C-D-C-B-(A)
00:02:46  <Xunie> Yep!
00:03:04  <nielsm> only by putting all the orders and the reverse manually
00:03:17  <nielsm> there isn't any feature to automatically "mirror" an order list
00:03:19  <Xunie> Ouch, I don't wanna do that.
00:03:30  <Xunie> I know implicit orders are a thing, but you can't control road geometry.
00:03:51  <Xunie> Damn shame if you ask me, nielsm.
00:03:55  <Eddi|zuHause> no, you can't do that
00:04:04  <Xunie> 💔
00:04:08  <Eddi|zuHause> i agree that it would be nice
00:04:26  <Eddi|zuHause> but the order list is already overloaded with features, and needs some cleaning up
00:04:38  <Xunie> Yeah, that window was really confusing.
00:04:44  <Xunie> And moving orders around is a little iffy too.
00:04:51  <Xunie> You can't move an order around if you have it selected.
00:11:05  *** supermop_work has quit IRC
00:11:33  *** supermop_work has joined #openttd
00:13:52  *** gelignite2nd has quit IRC
00:14:24  *** Wormnest has quit IRC
00:40:29  <Pikka> Xunie: the easiest way to create those kind of orders (eg for ships with a long list of bouys) is to add each one twice, and click on the second one before adding the next one so the next bouy goes in above it. If that makes sense. :)
00:40:50  <Xunie> Yeah.
00:40:54  <Xunie> You just insert in the middle.
00:41:46  *** supermop_work has quit IRC
00:42:10  *** supermop_work has joined #openttd
00:43:00  <Xunie> I agree that while the OpenTTD GUI does look absolutely splendid, actually learning to use it is a lot of pain.
00:50:05  *** Wormnest has joined #openttd
00:59:09  <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #78: Add: optimise switch returning constants https://git.io/Jed1S
01:12:24  *** supermop_work has quit IRC
01:12:58  *** supermop_work has joined #openttd
01:13:47  <DorpsGek_III> [OpenTTD/nml] glx22 commented on pull request #78: Add: optimise switches https://git.io/JedD5
01:15:27  *** Progman has quit IRC
01:18:50  <Xunie> Are timetables even worth it?
01:19:05  <Xunie> It seems like so much hassle for little gain.
01:22:25  <Eddi|zuHause> depends how far you want to push it
01:22:43  <Eddi|zuHause> they're very useful for trams, to keep them separated on the line, instead of clumping up
01:24:54  <Xunie> Yeah, well. I'm the kind of guy that ctrl-clicks "clone vehicle" in a road depot about 20 times and let the traffic jams sort it out.
01:25:20  <Xunie> If your competitors have traffic jams? So will you! :^)
01:27:14  <Eddi|zuHause> the problem is, if tram 1 is at the station, it loads full, and leaves, tram 2 loads too, but has less to load, so leaves earlier
01:27:47  <Xunie> Yeah, there's a bit of a 'cascading' effect, but for some reason, I rarely see that in my gameplay.
01:27:54  <Xunie> It just 'averages' out eventually?
01:28:05  <Eddi|zuHause> usually not
01:28:10  <Xunie> 🤔🤔🤔
01:28:16  <Xunie> Maybe I'm playing wrong then?
01:31:09  <glx> in late game your stations are overcroweded
01:32:35  <glx> whatever you try it's almost impossible to fix because usually there's no space left around
01:35:58  <Xunie> This is the part where you all call me a scrub for never reaching late game in the first place. :^)
01:42:23  *** Wormnest has quit IRC
01:43:11  *** supermop_work has quit IRC
01:43:31  <Eddi|zuHause> we don't discriminate against different play styles here
01:43:35  *** supermop_work has joined #openttd
01:44:30  <Xunie> Man, I've never played the original TTD, but from what I can tell, OpenTTD is a well designed game...
01:45:00  <Xunie> Eddi|zuHause: regardless of your play style or competence level. OpenTTD is mighty fun.
01:54:07  *** Wormnest has joined #openttd
02:15:22  *** supermop_work has quit IRC
02:15:46  *** supermop_work has joined #openttd
02:19:21  <floodious> i suspect it isn't too fun if you prefer growing shrubberies and building fountains and park paths
02:19:43  <floodious> you need sim park garden for that
02:25:05  <FLHerne> Xunie: From most concepts of "balance", OpenTTD is an awfully-designed game
02:26:49  <nielsm> https://0x0.st/z0Dl.png
02:26:54  <nielsm> instead of sleeping
02:27:01  <FLHerne> With default settings, any halfway-good player has practically infinite money for most of the game
02:27:14  <FLHerne> There's no sane way to spend it all
02:28:28  <glx> except filling the sea
02:28:45  <FLHerne> "sane"
02:28:57  <nielsm> maybe I should measure in nanoseconds instead of microseconds...
02:28:57  <floodious> it's not difficult, that's a very old complaint against TT from the 90s, but it's not supposed to be difficult... it's supposed to be like playing with lego
02:29:17  <floodious> the hard part is using your imagination and engineering without needing any goal or purpose
02:29:43  <FLHerne> Yes, I know
02:30:14  <floodious> realism actually often ruins the game... like i'm working currently on a realistic scenario with accurate costs, setting and industry from the 1850s in the pacific northwest
02:30:28  <floodious> 90% of the time i go bankrupt after an hour
02:30:58  <floodious> there is no option for where to place tracks... they can only go in the historic locations and minimizing cost is incredibly difficult
02:31:52  <floodious> changes the game from fun playtime in the sandbox to insanely stressful "there is no way we can afford this, let's give up"
02:32:13  <FLHerne> Interesting, I've never quite managed to achieve that in OTTD
02:32:44  <floodious> well, "working" AKA "no way we can afford this, let's give up" :)
02:32:56  <floodious> a real life version of the scenario is already playing out on my PC
02:33:02  <FLHerne> The mechanics really don't work well to create stable economics
02:33:31  <FLHerne> You're either making or losing money, and that rapidly turns into a feedback cycle
02:34:13  <floodious> nope, i'm still working on modifying the heightmap import (using color layers = forests + rivers/lakes) and configuring accurate newgrfs will probably require a ton of customization, some might require code mods
02:34:39  <floodious> the game isn't set up to allow the kind of feedback processes that make such realism possible at all
02:35:25  <floodious> good example is to create flooded areas and use barges in the past they simply tossed gravel and rock in a narrow gap and waited
02:35:46  <floodious> or to "clear" a valley the opposite, build a dam, flood it, then use explosives to crack it and wash out the valley
02:37:04  <floodious> the "f*** the environment!" oldschool method
02:38:10  <nielsm> I wonder if anyone will be able to use this kind of data... https://0x0.st/z0Dk.png
02:39:30  <nielsm> (sprite number of the root action 2 in the grf file in rows, how many recursive calls were required to resolve the action 2 in columns, count of instances that sprite took that many recursive steps to solve as data)
02:46:00  *** supermop_work has quit IRC
02:46:26  *** supermop_work has joined #openttd
03:00:59  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh opened pull request #7868: Feature: NewGRF callback profiling https://git.io/JedSy
03:01:10  *** Beerbelott has left #openttd
03:01:22  <nielsm> oh, should maybe have made that as a draft PR
03:11:12  *** nielsm has quit IRC
03:15:23  *** debdog has joined #openttd
03:16:40  *** supermop_work has quit IRC
03:17:08  *** supermop_work has joined #openttd
03:18:52  *** D-HUND has quit IRC
03:28:25  <Eddi|zuHause> hm, if astroneer doesn't win the steam awards for best visual style, i don't know anymore
03:47:20  *** supermop_work has quit IRC
03:47:49  *** supermop_work has joined #openttd
04:03:02  *** glx has quit IRC
04:03:26  <floodious> river/lake = blue, forest density = green, height = red, https://i.imgur.com/AmD4tuU.jpg
04:04:21  <floodious> lots of noise, it would probably look better if all the rivers creeks were plotted (i manually drew the top-left river system) and the combined computed river + slope watertable data were used to plot forest density
04:04:42  <floodious> i added the noise to approximate it without having data for all the watercourses
04:05:10  <floodious> obviously the "empty" areas at the bottom of valleys would get filled by the saturation from the riversystems
04:06:11  <floodious> i'm thinking 127 levels = 127 gray, 127 gray+green, 1 black (sea), 1 blue (river/lake)
04:06:51  <floodious> but that requires filling the lake height from the edges, so makes more sense to have separate water + forest maps
04:08:06  <floodious> funny thing is the modern heightmap data includes all the man-made structures :)
04:08:24  <floodious> like "that island wasn't there" or "that bay wasn't there"
04:15:18  *** ToBeCloud is now known as ToBeFree
04:15:22  *** ToBeFree is now known as ToBeCloud
04:18:01  *** supermop_work has quit IRC
04:18:26  *** supermop_work has joined #openttd
04:48:38  *** supermop_work has quit IRC
04:49:04  *** supermop_work has joined #openttd
04:49:53  *** ToBeFree has joined #openttd
05:02:58  *** Wormnest has quit IRC
05:05:40  *** ToBeFree has quit IRC
05:19:16  *** supermop_work has quit IRC
05:19:40  *** supermop_work has joined #openttd
05:49:54  *** supermop_work has quit IRC
05:50:21  *** supermop_work has joined #openttd
06:17:17  *** HerzogDeXtEr has joined #openttd
06:20:34  *** supermop_work has quit IRC
06:21:03  *** supermop_work has joined #openttd
06:23:21  *** HerzogDeXtEr1 has quit IRC
06:51:17  *** supermop_work has quit IRC
06:51:42  *** supermop_work has joined #openttd
06:56:04  <andythenorth> Pikka: moar?
07:19:30  *** floodious has quit IRC
07:21:56  *** supermop_work has quit IRC
07:22:19  *** supermop_work has joined #openttd
07:39:48  *** HerzogDeXtEr has quit IRC
07:47:45  *** supermop_Home has quit IRC
07:52:33  *** supermop_work has quit IRC
07:52:57  *** supermop_work has joined #openttd
07:55:03  *** Andrew350 has joined #openttd
07:58:50  <andythenorth> o/
08:01:39  *** andythenorth has quit IRC
08:23:11  *** supermop_work has quit IRC
08:23:42  *** supermop_work has joined #openttd
08:23:45  *** andythenorth has joined #openttd
08:53:55  *** supermop_work has quit IRC
08:54:18  *** supermop_work has joined #openttd
09:07:46  *** andythenorth is now known as Guest12145
09:07:46  *** andythenorth has joined #openttd
09:13:11  *** Guest12145 has quit IRC
09:18:42  <DorpsGek_III> [OpenTTD/OpenTTD] planetmaker approved pull request #7868: Feature: NewGRF callback profiling https://git.io/Jed7v
09:20:49  <DorpsGek_III> [OpenTTD/OpenTTD] planetmaker approved pull request #7867: Update: Prepare for 1.10.0-beta2 release https://git.io/Jed7f
09:22:14  <DorpsGek_III> [OpenTTD/OpenTTD] planetmaker commented on pull request #7863: Various tracktype related fixes https://git.io/Jed7J
09:24:32  *** supermop_work has quit IRC
09:24:57  *** supermop_work has joined #openttd
09:28:13  *** nielsm has joined #openttd
09:29:37  <nielsm> morning
09:30:49  <andythenorth> hi
09:30:58  <andythenorth> I got myself a 3m line csv :)
09:31:08  <andythenorth> cb ID 0 is the graphics chain?
09:31:31  <nielsm> yeah that's generic graphics
09:32:11  <andythenorth> lot of those :)
09:33:16  <Pikka> andythenorth, moar?
09:34:18  <andythenorth> Pikka: ok, moar!
09:34:20  <andythenorth> thanks
09:35:19  <Pikka> you're welcome
09:36:27  <nielsm> andythenorth: https://github.com/OpenTTD/OpenTTD/blob/master/src/newgrf_callbacks.h#L20
09:36:30  <nielsm> there's the callback ids
09:38:34  <andythenorth> thx
09:38:37  <andythenorth> https://dev.openttdcoop.org/attachments/download/9549/lol_stations.png
09:38:48  <andythenorth> ^ I have to fit 4 more pickup stations into that area :D
09:38:54  <andythenorth> without blocking
09:39:56  <nielsm> move the cargo tram underground?
09:40:34  <nielsm> if it isn't against your aesthetics
09:42:56  <DorpsGek_III> [OpenTTD/OpenTTD] andythenorth commented on pull request #7868: Feature: NewGRF callback profiling https://git.io/Jed7q
09:43:17  <andythenorth> tunnels!
09:44:39  <nielsm> hm, excel 2013 (and later) on windows has no trouble opening gigantic files, it handles up to 2G or 4G rows
09:45:08  <nielsm> but yeah a serious analysis tool (numpy, R, whatever) is probably the best
09:46:07  <andythenorth> yeah mac excel stops at 104857
09:47:03  <Andrew350> oh people are here now! anyone interested in looking over a draft specs page for NRT? https://newgrf-specs.tt-wiki.net/wiki/User:Andrew350/NML:Roadtypes
09:47:12  <andythenorth> o_O
09:47:22  <andythenorth> you have been busy :D
09:47:36  <andythenorth> Andrew350: do you know about this page? https://wiki.openttd.org/NewGRF_Specification_Status
09:48:00  <nielsm> oh... right excel 2013 also does max out at 1048576
09:49:18  <Andrew350> andythenorth: I do now :)
09:49:55  <Andrew350> not sure what it all means though
09:51:11  <nielsm> would a tool to read those profiling csvs be appropriate as part of NML? so it could perhaps also resolve sprite numbers back to names
09:52:01  <nielsm> and/or nmlc should have a mode to output an additional file with symbol mappings
09:54:47  <andythenorth> nielsm: it would be appropriate, I'm not sure it's essential :)
09:55:11  *** supermop_work has quit IRC
09:55:35  *** supermop_work has joined #openttd
09:55:39  <andythenorth> it's good to shine light into dark corners :)
09:56:19  <andythenorth> Andrew350: frosch made the spec status to keep track of all the recent newgrf changes which aren't properly finished
09:56:43  <andythenorth> we have been filling it in a few items at a time
09:57:01  <andythenorth> most of it is NRT, so your wiki page is really helpful thanks
09:57:10  * andythenorth BIAB
10:00:45  <DorpsGek_III> [OpenTTD/OpenTTD] planetmaker commented on pull request #7868: Feature: NewGRF callback profiling https://git.io/Jed78
10:14:06  <Andrew350> andythenorth: most everything on that page is a copy of railtypes with irrelevant stuff removed, plus info transcribed from frosch's draft specs from like 2 years ago
10:14:52  <Andrew350> I've tried reading the nml source to gain some info on the updated specs, but most of it is alien language to me
10:15:33  <planetmaker> nice. I'd say: just edit the "real" wiki page(s) :)
10:15:59  <Andrew350> yeah, but I don't know the specs, so don't want to put lies out there :)
10:16:38  <Andrew350> hopefully someone with knowledge can fill in the blanks
10:17:24  <Andrew350> I did update the other docs to link everything properly :)
10:23:23  <Andrew350> a few specific things I could use clarification on:
10:23:49  <Andrew350>  - how ID allocatiion works (does my description make sense?)
10:24:17  <Andrew350>  - any flags that were added and what they do
10:24:58  <Andrew350>  - anything else like callbacks or whatnot which have changed since the initial draft specs
10:25:50  *** supermop_work has quit IRC
10:26:15  *** supermop_work has joined #openttd
10:29:21  <Andrew350> on a related note I did notice in the NML source in action0.py it says roadtypes and tramtypes get 15 IDs each, which sounds wrong since I'm pretty sure I remember seeing something that both share 64 IDs between them
10:38:06  <andythenorth> the nml patch was not very good quality
10:38:08  <andythenorth> I did it :|
10:38:15  * andythenorth apologises to all
10:42:03  <Andrew350> lol not trying to make you feel bad :P just wondering if it's right or not
10:47:47  <nielsm> andythenorth: do you think adding the sprite number of the callback result would be useful too?
10:48:30  <planetmaker> Andrew350, I didn't check it now extensively. But even a wiki can be edited and amended/corrected :)
10:48:45  <andythenorth> nielsm: I don't know that I'd have a use for it :)
10:49:34  <nielsm> andythenorth, possibly whether certain results have longer resolution chains than others
10:50:07  <nielsm> or some results are more common and could maybe be special-cased earlier on so they resolve faster than the unusual cases
10:50:18  <andythenorth> it could be useful
10:50:41  <andythenorth> my first question though is, "are callbacks even slow"
10:50:54  <nielsm> "well, maybe" :D
10:51:00  <planetmaker> depends :)
10:51:01  <andythenorth> the last profiling info I recall reading was about sprite resolution
10:51:16  <andythenorth> getimage or something like that was relatively expensive
10:51:16  <nielsm> it's the same thing actually
10:51:28  <andythenorth> there's a forum post
10:51:41  <DorpsGek_III> [OpenTTD/OpenTTD] James103 opened issue #7869: The human-readable name of a cargo type can't be queried by AI/GS. https://git.io/Jed7d
10:51:43  <nielsm> getting a sprite always involves an action 2
10:51:58  <andythenorth> https://www.tt-forums.net/viewtopic.php?f=29&t=58021&p=988283&hilit=getimage#p988283
10:52:08  <nielsm> and if it resolves directly to a realsprite, then that's a zero-depth callback chain
10:54:58  *** Wolf01 has joined #openttd
10:55:39  <Andrew350> planetmaker: that assumes someone is willing to check whether it is right and correct it ;)
10:56:58  *** supermop_work has quit IRC
10:57:03  <planetmaker> we assume that it is correct unless proven wrong. In which case... who finds a mistake is obliged to correct it ;)
10:57:12  <planetmaker> better than no documentation :P
10:57:21  *** supermop_work has joined #openttd
10:57:39  <Andrew350> yeah i guess so :P
11:00:57  *** snail_UES_ has joined #openttd
11:04:17  *** Progman has joined #openttd
11:05:31  <DorpsGek_III> [OpenTTD/website] planetmaker opened issue #115: Nogo / NoAI API information https://git.io/Jed5v
11:23:25  *** sla_ro|master has joined #openttd
11:27:36  *** supermop_work has quit IRC
11:28:02  *** supermop_work has joined #openttd
11:33:12  <Andrew350> ok, as per planetmaker's request i've just gone ahead and made my drafts the 'official' pages for both roadtypes and tramtypes. no going back now :P
11:34:29  <planetmaker> thank you :)
11:38:23  *** andythenorth has quit IRC
11:43:52  *** frosch123 has joined #openttd
11:44:26  <TrueBrain> planetmaker: https://github.com/OpenTTD/infrastructure/issues/1 <- no longer a lack of a better place :)
11:46:14  <frosch123> planetmaker: the goal of the api review was to make sure that the docs are actually correct
11:46:20  <frosch123> wrong docs is the worst you can have
11:46:25  *** Samu has joined #openttd
11:47:04  <frosch123> esp. if noone knows what is actually correct
11:50:58  <Andrew350> oh i just found the flags available for nrt in the nml files. neat :) anyone know how the ROADTYPE_FLAG_TOWN_BUILD works? is it based on speed or something else?
11:57:26  <nielsm> I want to tell andy that in e.g. FIRS 3, the lookup for sprites can go as much as 11 deep and take more than 50 microseconds to resolve in really bad cases
11:57:40  <nielsm> (in this debug build, obviously would be faster in release builds)
11:58:14  *** supermop_work has quit IRC
11:58:41  *** supermop_work has joined #openttd
12:01:55  <DorpsGek_III> [OpenTTD/website] TrueBrain opened pull request #116: Various of fixes in preparation of running this Docker on AWS https://git.io/Jed5i
12:05:04  <frosch123> nielsm: is the goal explicitly to only measure one grf?
12:05:37  <frosch123> http://devs.openttd.org/~frosch/profile_ecs.png <- some years ago, the problem was to figure out what grfs actually cause the trouble
12:08:59  <nielsm> well I suppose it could be set up to profile more than one, it's just making an interface for it
12:09:17  <nielsm> thing is it collects a ton of data that needs to be crunched too :)
12:10:40  <frosch123> yes, externally crunching is certainly better than complex ingame guis
12:11:24  <nielsm> slightly annoying for analysis that industry production uses cb id 0
12:11:49  <nielsm> and I'm not sure if it's safe to change to invent a new cb id
12:11:51  <frosch123> add the feature number then
12:12:03  <frosch123> no, changing the cbid is definitely wrong :)
12:12:17  <frosch123> but adding columns for feature and item id is probably good
12:12:36  <nielsm> I don't think I have the feature and item available in this context
12:12:43  *** snail_UES_ has quit IRC
12:13:13  <nielsm> at least not without special casing for the different ResolverObject subclasses
12:15:47  <nielsm> ah no wait, it's the ScopeResolver I need to look at isn't it
12:16:17  <frosch123> no, ResolverObject
12:16:35  <frosch123> VehicleResolverObject::VehicleResolverObject constructor has the data, but it does not store stuff in REsolverObject
12:17:05  <nielsm> great...
12:17:34  <DorpsGek_III> [OpenTTD/website] James103 opened issue #117: There's a couple of layouting/responsiveness issues in the OpenTTD website. https://git.io/Jed55
12:19:14  <frosch123> http://devs.openttd.org/~frosch/texts/ECSProfile081222detailed.txt <- hmm, that actually contained the data
12:19:22  <frosch123> i should look at the old diff, how it was done
12:21:44  <frosch123> https://github.com/frosch123/OpenTTD/commit/3b31dd07f5ffb44e931bc0ff1366c0bdc9c3ee39#diff-2153e8010a7595d8af6c7d58e5f1f1f0R445 <- yeah, it just added it everywhere
12:22:14  <nielsm> ouch
12:22:47  <frosch123> it's even the global item id, not the grf-local item id
12:23:45  <nielsm> so it's kind of useless isn't it
12:24:16  <nielsm> but feature ID is probably the most important to include
12:24:37  <frosch123> local-id is also available
12:24:55  <frosch123> all engines/industries... have a GRFFilePropsBase<> member
12:25:23  <frosch123> that has the grffile (i.e. grfid) and local_id
12:28:54  *** supermop_work has quit IRC
12:29:02  <DorpsGek_III> [OpenTTD/website] glx22 commented on pull request #116: Various of fixes in preparation of running this Docker on AWS https://git.io/Jed5h
12:29:22  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh dismissed a review for pull request #7868: Feature: NewGRF callback profiling https://git.io/Jed7v
12:29:22  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh updated pull request #7868: Feature: NewGRF callback profiling https://git.io/JedSy
12:29:38  *** supermop_work has joined #openttd
12:37:27  <DorpsGek_III> [OpenTTD/OpenTTD] frosch123 requested changes for pull request #7868: Feature: NewGRF callback profiling https://git.io/JeddG
12:38:01  <frosch123> oh, there was an update meanwhile.. i wonder what gh did in that case
12:45:12  <DorpsGek_III> [OpenTTD/OpenTTD] frosch123 commented on pull request #7868: Feature: NewGRF callback profiling https://git.io/Jeddl
12:45:48  <DorpsGek_III> [OpenTTD/website] auge8472 commented on issue #117: There's a couple of layouting/responsiveness issues in the OpenTTD website. https://git.io/Jed55
12:58:20  <DorpsGek_III> [OpenTTD/website] TrueBrain updated pull request #116: Various of fixes in preparation of running this Docker on AWS https://git.io/Jed5i
12:59:34  *** supermop_work has quit IRC
12:59:58  *** supermop_work has joined #openttd
13:00:43  *** andythenorth has joined #openttd
13:05:15  <DorpsGek_III> [OpenTTD/OpenTTD] glx22 commented on pull request #7868: Feature: NewGRF callback profiling https://git.io/JeddK
13:19:26  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh updated pull request #7868: Feature: NewGRF callback profiling https://git.io/JedSy
13:20:14  <Eddi|zuHause> i've no clue which corner of youtube this is https://youtu.be/2bpsRWbpxig but it can't be one i've turned into willingly
13:20:57  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh commented on pull request #7868: Feature: NewGRF callback profiling https://git.io/Jedd7
13:25:05  <Wolf01> Yeah, crashed TF2 with a truck station
13:30:12  *** supermop_work has quit IRC
13:30:23  *** glx has joined #openttd
13:30:23  *** ChanServ sets mode: +v glx
13:30:36  *** supermop_work has joined #openttd
13:40:02  *** snail_UES_ has joined #openttd
13:41:22  *** andythenorth has quit IRC
13:41:56  *** andythenorth has joined #openttd
13:43:51  <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick dismissed a review for pull request #7424: Add: Kdtree for AirportGetNearestTown https://git.io/Jei0p
13:43:51  <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick updated pull request #7424: Add: Kdtree for AirportGetNearestTown https://git.io/fjU1d
13:44:08  <Samu> just rebasing
13:44:21  <Samu> FOR_ALL_TOWNS disappeared
13:44:29  <Samu> so, i had to edit it
13:50:26  *** snail_UES_ has quit IRC
13:53:02  *** Flygon has quit IRC
13:53:27  <andythenorth> Eddi|zuHause: ultimate rick roll thanks :|
13:58:38  <Samu> #7094 is not yet approved :(
14:00:50  *** supermop_work has quit IRC
14:01:19  *** supermop_work has joined #openttd
14:01:24  *** andythenorth has quit IRC
14:01:42  *** andythenorth has joined #openttd
14:05:20  <Samu> #7661 needs review
14:05:41  <Samu> if it's approved, it makes #7515 irrelevant
14:07:33  *** hythlodaeus has joined #openttd
14:07:37  <hythlodaeus> hi guys
14:07:45  <Samu> it also makes commit 2 and 3 of #7486 irrelevant
14:07:54  <hythlodaeus> question: is there a tag for inserting non-breaking spaces on text strings?
14:08:10  <frosch123> {NBSP}
14:08:20  <hythlodaeus> thank you!
14:09:19  <frosch123> easy question, easy answer :)
14:10:00  <glx> I use it a lot in french translation :)
14:11:13  <Samu> #7376 has conflicts, grr :( brb
14:14:33  <glx> I think I'll close #7515 in favor of #7661
14:22:11  <DorpsGek_III> [OpenTTD/OpenTTD] glx22 commented on pull request #7515: Fix: Really check for start_date once an AI company slot becomes available. https://git.io/Jedbv
14:22:12  <DorpsGek_III> [OpenTTD/OpenTTD] glx22 closed pull request #7515: Fix: Really check for start_date once an AI company slot becomes available. https://git.io/fjYeA
14:23:45  <Samu> FOR_EACH_SET_BIT - was this one also removed?
14:23:50  <Samu> need to know
14:23:59  <glx> no, only FOR_ALL_XXX
14:24:02  * andythenorth mistakes were made
14:24:09  <Samu> ok ty
14:24:12  * andythenorth has to drive 90 miles due to forgotten things :P
14:24:17  <glx> oups
14:24:34  <nielsm> hope they play something good on the radio
14:24:41  <glx> that's many kms
14:24:42  <andythenorth> oops
14:24:51  <andythenorth> @calc 1.6034 * 90
14:24:51  <DorpsGek> andythenorth: 144.306
14:25:09  <andythenorth> eh glx I found some actual redundant switches you could optimise away
14:25:40  <glx> duplicates ?
14:25:49  <glx> like same expr, same results ?
14:26:06  <glx> and of course same feature/scope ?
14:26:16  <andythenorth> I'll find an example
14:26:32  <glx> but checking that won't be easy I think
14:26:34  <andythenorth> it's something I could solve in the compile, just makes the compile a bit stringy
14:27:20  <glx> or maybe in the pre_process, comparing with already declared switches
14:27:51  <andythenorth> so all my code is generated from templates / macros
14:27:55  <andythenorth> often with loops
14:28:11  <andythenorth> sometimes the loop is over an iterable with only have one member
14:28:12  <andythenorth> https://github.com/andythenorth/iron-horse/blob/master/src/templates/vehicle_default.pynml#L46
14:28:18  <andythenorth> which results in a switch with one result
14:29:12  <glx> ah yes I didn't try to optimise random switches yet
14:29:38  <andythenorth> in some cases that expands to https://pastebin.com/raw/p2eiCiFb
14:29:41  *** supermop_Home has joined #openttd
14:29:47  <andythenorth> obviously there are cases with > 1 result too
14:29:55  <nielsm> FIRS 3 temperate basic, for 30 days with no vehicles or stations: https://0x0.st/z0nU.png
14:30:23  <glx> if all results are the same the first step is to optimise to 1 result
14:30:33  <nielsm> 800 milliseconds spent across 30 game days on looking up industry graphics
14:30:39  <glx> then on reference resolution it can be replaced
14:30:56  <nielsm> 1.5 milliseconds spent running production and production change callbacks
14:31:06  <glx> I can try that
14:31:08  <andythenorth> I *can* fix it in templating, but it causes the templates to have a lot of logic
14:31:16  <andythenorth> or I can abstract it, but then there's a lot of abstraction
14:31:30  <glx> optimisation is the role of the compiler
14:31:32  *** supermop_work has quit IRC
14:31:47  <glx> it will warn a lot, but heh
14:31:51  <nielsm> glx: doesn't absolve the developer from writing better code ;)
14:31:55  <andythenorth> oh the paste misses the switch that is the entry point to lemon_switch_graphics_vehicle
14:31:59  *** supermop_work has joined #openttd
14:32:10  <glx> the warnings are there for that nielsm :)
14:32:32  <andythenorth> nielsm: so are those numbers good or bad? :)
14:32:44  <nielsm> andythenorth I'd say not good
14:33:06  <andythenorth> the 1.5ms seems ok
14:33:08  <andythenorth> the 800ms not
14:33:12  <nielsm> https://0x0.st/z0nG.png
14:33:27  <supermop_Home> should a 1.10 title game include a roadtype?
14:33:30  <nielsm> set up by number of chained action 2's required for resolution
14:33:48  <glx> hmm aren't duplicate spritesets already handled ?
14:33:50  <nielsm> most industry tiles require 10 levels of resolution
14:34:01  <supermop_Home> that is, if nrt is in, should there be some vanilla use of it?
14:34:06  <supermop_Home> I guess no
14:34:17  <nielsm> the title game has traditionally need newgrf free
14:34:23  <glx> oh they are not duplicates
14:34:30  <nielsm> and NRT only does something with newgrfs present
14:34:53  <glx> oops they are, my bad
14:35:40  <glx> handling of duplicates will need a mapping table I guess
14:35:54  *** andythenorth has quit IRC
14:36:35  <supermop_Home> nielsm it always bothered be that there were base set tramway but no baseset trams
14:36:37  *** andythenorth has joined #openttd
14:36:52  <supermop_Home> yo Andrew350
14:37:05  <supermop_Home> don't think I see you here that much
14:37:19  <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick updated pull request #7376: More than max_no_competitors could be created in network games https://git.io/fjvY8
14:37:25  <supermop_Home> though must be early morning for you
14:39:23  <supermop_Home> i guess i better brush off my nml and get my nrt stuff polished before regular people can see it
14:42:21  <Andrew350> supermop_Home: yeah I'm almost never here, didn't feel much like sleeping tonight though so I'm around working on NewGRF docs through the night :)
14:45:33  <andythenorth> 'refit any available' works surprisingly well
14:46:12  * andythenorth has trains carrying 5 cargos to one big transfer
14:46:25  <supermop_Home> andythenorth i used it a lot my last steeltown game
14:46:46  <andythenorth> it's helpful with all these output cargos eh
14:47:04  <supermop_Home> about to start a new game
14:47:22  <Samu> https://github.com/OpenTTD/OpenTTD/pulls/SamuXarick
14:47:29  <Samu> my stuff waiting
14:48:46  <glx> andythenorth: if you can provide me a small working example to be optimised it would be nice
14:49:33  <andythenorth> yup
14:50:10  <Pikka> andythenorth: https://i.imgur.com/AwgW66V.png
14:50:15  <Pikka> getting there ;)
14:50:52  <andythenorth> I enjoy the bold colous
14:50:55  <andythenorth> colours *
14:50:56  <glx> and if it includes things I already optimised in my PR it would be a nice regression test
14:51:34  <Pikka> I'll draw those houses properly one of these days...
14:53:57  <andythenorth> glx: does your local nml include the procedures?
14:54:07  <glx> no
14:54:10  <andythenorth> ok
14:54:53  <glx> that will be something to optimise too I guess
14:55:25  <glx> but switch optimisation should handle them
14:57:35  <andythenorth> glx: https://dev.openttdcoop.org/attachments/download/9550/generated.zip
14:57:53  <andythenorth> contains two engines
14:58:02  <andythenorth> one has redundant random switches, one doesn't
14:58:33  <andythenorth> I've left all the other global stuff in place, so it's not a small nml :P
14:58:53  <glx> lol ugly macosx zip :)
14:58:57  <andythenorth> yair
14:59:04  <andythenorth> also the code is generated, so the whitespace is horrible
14:59:25  <glx> I can clean that
15:01:15  <andythenorth> you can observe all the spriteset template bollocks for flipped / not flipped (depot flip) :D
15:01:34  <glx> hmm ok small example 1500+ lines :)
15:01:46  <glx> ah no 1472
15:02:02  <andythenorth> 1000 lines of spriteset templates :|
15:02:12  *** supermop_work has quit IRC
15:02:30  <andythenorth> no only 918 lines of spriteset templates
15:02:35  <andythenorth> calm down Andrew350
15:02:37  <glx> and a full nml dir too
15:02:40  *** supermop_work has joined #openttd
15:03:02  <andythenorth> yes, I should have run make clean :)
15:04:10  <andythenorth> oops I highlighted the wrong person, normally 'an' gets a completion on my name :P
15:04:34  <glx> aggressive highlight
15:04:48  <Andrew350> andythenorth: was about to ask wtf :D
15:05:13  <andythenorth> glx: if you sort the nml dir by filesize, you can see where the bloat is :)
15:05:28  <andythenorth> supporting visible cargos is very bloat
15:07:35  <Andrew350> andythenorth: did some more docs updates though, working through that newgrf specs list you linked too. finished the railtype stuff :)
15:07:44  <andythenorth> oh thanks :)
15:07:47  <andythenorth> this really helps
15:08:24  <andythenorth> Andrew350: do you want to edit this page with progress? https://wiki.openttd.org/NewGRF_Specification_Status
15:08:38  <andythenorth> if you're not 100% maybe put 'draft', otherwise 'done'
15:08:38  <Andrew350> already been doing it :)
15:08:50  <glx> andythenorth: I'll remove all the stuff I don't need from the zip ;)
15:09:08  <andythenorth> I gave you a free bonus nfo
15:09:55  <glx> yeah useful for before/after comparison
15:11:13  <glx> but seems I will regenerate it without all the unneeded translations
15:11:54  <glx> hmm or not
15:12:11  <andythenorth> I can strip it down more, I made a branch
15:12:32  *** HerzogDeXtEr has joined #openttd
15:12:39  <andythenorth> https://github.com/andythenorth/iron-horse/tree/glx-test
15:13:15  <andythenorth> https://github.com/andythenorth/iron-horse/commit/a847fe18bc705a18e2f6339c075c8e24c5b1bb31?diff=split
15:13:15  <andythenorth> :P
15:13:42  <glx> hehe
15:13:51  <glx> I'll do the tests on this branch then
15:13:59  <glx> easier to manage
15:14:54  <andythenorth> it's pretty easy to turn vehicles on and off, but cleaning the translations is a manual task :P
15:15:22  <glx> only relevant translations are included in nfo I think
15:16:03  <Samu> oops
15:16:05  <Samu> void OnQueryTextFinished(char* str) override
15:16:24  <Samu> that * was auto-moved, how do i stop visual studio from doing that?
15:16:30  <Eddi|zuHause> yeah, nmlc filters the strings that are actually used
15:17:10  <nielsm> Samu, in vs2019 options: https://0x0.st/z0n7.png
15:17:13  <glx> Samu: I always fix that bu hand
15:17:15  <andythenorth> the compile only includes the vehicles that are enabled
15:17:27  <glx> but yes there are settings available
15:21:27  <Samu> thanks, that was it
15:22:18  <nielsm> in fact, go through all the formatting settings for C++ and you can get the ottd guidelines implemented almost fully automatic :)
15:22:34  <Samu> https://github.com/OpenTTD/OpenTTD/pull/7661/commits/0c23c2d79511ecd39b3716cf01b46f6208d399da#diff-ed4b5e7d06f67bc76cd07b5dc8461e99R979 damn, it made it into the PR
15:22:53  <glx> ok first run render graphics fail (division by 0), second run render docs fail (IndexError: list index out of range), third run render nml fail (ValueError: min() arg is an empty sequence)
15:23:00  <glx> won't be easy to test
15:23:51  *** andythenorth has quit IRC
15:24:04  <glx> oups I scared andy
15:24:16  *** andythenorth has joined #openttd
15:26:22  <DorpsGek_III> [OpenTTD/nml] Andrew350 opened issue #79: No support for NRT tunnels https://git.io/JedbH
15:30:11  <glx> andythenorth: I need a working version ;)
15:30:29  <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick updated pull request #7661: Codechange: Rework 'start_date' parameter for AIs as a game setting https://git.io/fjMsZ
15:30:45  <glx> <+glx> ok first run render graphics fail (division by 0), second run render docs fail (IndexError: list index out of range), third run render nml fail (ValueError: min() arg is an empty sequence) <-- in case you missed it
15:31:10  <andythenorth> oh that's interesting
15:31:21  <andythenorth> I did run make before posting it :)
15:31:23  <andythenorth> wfm locally
15:31:27  <glx> oh and fourth run fails too
15:31:42  <glx>  nmlc ERROR: Empty input file
15:31:46  <andythenorth> which python?
15:32:19  <glx> 3.8.0
15:32:30  <andythenorth> same here
15:32:53  *** supermop_work has quit IRC
15:33:18  *** supermop_work has joined #openttd
15:33:33  <andythenorth> glx puzzling :D
15:34:25  <glx> https://pastebin.com/raw/bYbCCm3U
15:35:50  <andythenorth> oh, no engines?
15:35:54  <andythenorth> no vehicles?
15:35:57  * andythenorth tests
15:36:16  <andythenorth> yeah that repros
15:36:23  <glx> there should be 2 based on the diff
15:36:28  <andythenorth> there should
15:38:04  <andythenorth> does master build?
15:39:07  <glx> master fails too
15:39:11  <glx> interesting
15:39:48  <andythenorth> platform specific issues?
15:39:50  <andythenorth> bad paths?
15:39:54  <andythenorth> bad imports?
15:39:58  <andythenorth> bad use of __main__ ?
15:40:27  <glx> same trace, division by zero
15:41:29  <andythenorth> interesting
15:41:41  <andythenorth> I have to go for a couple of hours
15:41:51  * andythenorth had logistical error involving christmas presents
15:41:54  <andythenorth> must be fixed
15:41:54  <glx> yeah 150km ;)
15:42:04  <andythenorth> 'oops'
15:42:15  <glx> no hurry anyway
15:42:16  <andythenorth> BBL
15:42:17  *** andythenorth has quit IRC
15:43:29  *** andythenorth has joined #openttd
15:45:52  <TrueBrain> GitHub Deployments API is pretty nice .. took some effort to understand, but I can automate that now too via GitHub Actions :)
15:46:01  <TrueBrain> https://github.com/TrueBrain/OpenTTD-website/deployments
15:46:10  <TrueBrain> except for the real deployment, that now works :D
15:46:22  <glx> nice
15:46:34  <DorpsGek_III> [OpenTTD/website] TrueBrain updated pull request #116: Various of fixes in preparation of running this Docker on AWS https://git.io/Jed5i
15:48:33  <DorpsGek_III> [OpenTTD/website] TrueBrain updated pull request #116: Various of fixes in preparation of running this Docker on AWS https://git.io/Jed5i
15:49:12  <TrueBrain> if this really works, it means we no longer need Azure Pipelines for it, and everything is in a single place :)
15:49:51  <LordAro> :)
15:50:04  <glx> also easier to manage
15:50:44  <TrueBrain> well, not sure about that tbh :P It is as complicated as Azure is :)
15:50:57  <TrueBrain> I might rewrite a few things into custom actions, just to make it appear a bit easier
15:51:44  <TrueBrain> https://github.com/OpenTTD/website/blob/00651dc2ff8094a59e16b51c00ddbf9f4516b89c/.github/workflows/publish.yml#L40 <- I mean, this is not "easy" :P
15:54:52  <DorpsGek_III> [OpenTTD/website] TrueBrain updated pull request #116: Various of fixes in preparation of running this Docker on AWS https://git.io/Jed5i
15:57:38  *** snail_UES_ has joined #openttd
16:00:34  <hythlodaeus> guys would anyone like to test a 1st version of my amended english tooltips?
16:01:38  <glx> hythlodaeus: maybe just submit a draft PR, will be easier to check your WIP
16:02:11  <hythlodaeus> i'm not so good with github. can you tell me how can I do that after cloning the repo?
16:03:32  *** supermop_work has quit IRC
16:03:43  <glx> first step is to fork openttd on github, then clone your fork on your machine
16:03:56  <glx> then you add a branch and switch to it
16:03:57  *** supermop_work has joined #openttd
16:04:25  <glx> do your changes, commit, push to your fork
16:04:57  <glx> then you can create a PR on openttd and select draft as the type
16:05:28  <nielsm> it's a lot of initial set-up, it gets faster for your second PR ;)
16:05:58  <nielsm> and if you bake it into your development workflow everything gets easier
16:06:34  <hythlodaeus> ok thanks!
16:06:38  <hythlodaeus> I'm gonna try it
16:07:17  <hythlodaeus> I changed a bunch of tooltips on the main toolbar I might add. I standardized it to most modern gaming convention
16:07:50  <hythlodaeus> e.g. the icon previous named "save game, load game, abandon game" is now simply named "Game Menu"
16:09:28  <Samu> i really hope #7670 gets fixed before 1.10 release
16:09:38  <Samu> or, for 1.10 release
16:14:43  <Samu> because it's a common occurrence with AIs
16:34:10  *** supermop_work has quit IRC
16:34:34  *** supermop_work has joined #openttd
16:38:23  *** WormnestAndroid has quit IRC
16:39:31  *** WormnestAndroid has joined #openttd
16:48:59  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh updated pull request #7868: Feature: NewGRF callback profiling https://git.io/JedSy
17:00:12  *** tokai|noir has joined #openttd
17:00:12  *** ChanServ sets mode: +v tokai|noir
17:04:48  *** supermop_work has quit IRC
17:05:13  *** supermop_work has joined #openttd
17:06:54  *** tokai has quit IRC
17:16:20  <supermop_Home> can towns prefer / upgrade roads now?
17:27:31  <supermop_Home> hmm more fun to go over a bunch of islands or just a simple path through flat land: https://imgur.com/a/CR6wx53
17:35:26  *** supermop_work has quit IRC
17:35:54  *** supermop_work has joined #openttd
17:50:06  <DorpsGek_III> [OpenTTD/nml] glx22 commented on pull request #78: Add: optimise switches https://git.io/Jedxp
17:56:06  <DorpsGek_III> [OpenTTD/OpenTTD] frosch123 commented on pull request #7868: Feature: NewGRF callback profiling https://git.io/JedpU
18:04:32  <DorpsGek_III> [OpenTTD/OpenTTD] frosch123 commented on pull request #7868: Feature: NewGRF callback profiling https://git.io/Jedpq
18:06:07  *** supermop_work has quit IRC
18:06:30  *** supermop_work has joined #openttd
18:07:23  <nielsm> frosch123: GetDebugId is okay, I came up with GetItemIdentifier myself, not sure either is spot on
18:09:05  <frosch123> i fixed my spelling to "ID", apparently that's what ottd does
18:11:09  <nielsm> any idea on how to figure out whether a callback is for roadtype or tramtype?
18:11:12  *** andythenorth has joined #openttd
18:11:20  <andythenorth> mystery continues
18:11:47  <glx> nielsm: both use the same feature I think
18:12:16  <frosch123> GetRoadTramType
18:12:26  <nielsm> andythenorth: you make it sound like you just drove 90 miles and did not find the presents you were looking for
18:12:57  <frosch123> glx: they share code, but the features are separate
18:13:15  <frosch123> if there were docs, there would not be so many myths :p
18:14:51  <andythenorth> nielsm: mistakes have been corrected :)
18:24:38  <nielsm> hm, should I hack to make the label for cargo/rail/road/tram types print as ASCII fourCC in the CSV, or leave them decimal?
18:25:20  <frosch123> i think decimal is easier to parse for the tools reading that stuff
18:25:21  <glx> can be handled by parser tools
18:25:29  <frosch123> same for grfid
18:26:04  <frosch123> oh.... but maybe it needs a BSWAP
18:26:06  <nielsm> grfid often contains non-printable characters too, definitely wouldn't ascii-fy those
18:26:25  <frosch123> for some reason ottd saves labels so that they are readible in a debugger, so it converts them to big endian
18:26:56  <frosch123> so maybe all labels needs a BSWAP32 before printing
18:28:25  <nielsm> hm but that swaps unconfitionally doesn't it
18:31:03  <frosch123> you can do it inside GetDebugId
18:31:06  <DorpsGek_III> [OpenTTD/OpenTTD] glx22 updated pull request #7270: Introduce CMake (and removing all other project-related code) https://git.io/fhbqc
18:31:11  <frosch123> so it only affects labels and not ids
18:31:35  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh updated pull request #7868: Feature: NewGRF callback profiling https://git.io/JedSy
18:31:52  <frosch123> glx: what is the status of cmake? are there things to complete? does it need testing?
18:32:07  <glx> it needs 1.10 branching :)
18:32:18  <glx> then the testing will be live :)
18:32:30  <frosch123> oh, you want to target it for 1.11
18:32:41  <frosch123> well, i don't think nrt will be finished before 2030
18:32:46  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh commented on pull request #7868: Feature: NewGRF callback profiling https://git.io/Jedp6
18:33:32  <glx> will be easier to find broken/missing stuff once it's merged
18:35:20  <TrueBrain> well, 1.10 was scheduled for release ... how many days ago? :D
18:35:28  <glx> I just rebased and added a little thing to force MinGW builds to be static
18:35:43  <glx> I think I did it cleanly
18:36:09  <glx> in a future proof way
18:36:26  <TrueBrain> that moment you called it Staging, and GitHub calls  it staging .. and things are case sensitive
18:36:44  *** supermop_work has quit IRC
18:36:57  <glx> *nix world
18:37:08  <glx> windows doesn't care about case :)
18:37:13  *** supermop_work has joined #openttd
18:37:29  <TrueBrain> has nothing to do with OS
18:37:34  <TrueBrain> GitHub just decided to call it one way ..
18:37:40  <TrueBrain> AWS is the case sensitive in this case
18:37:55  <glx> oh
18:39:19  <glx> btw I think there's a setting somewhere in windows to activate case sensitivity in NTFS, but nobody ever used it because legacy apps
18:39:48  <TrueBrain> it is used if you use WSL
18:39:59  <TrueBrain> when ever you create a folder via WSL, it is case sensitive
18:40:07  <glx> makes sense
18:40:17  <TrueBrain> it leads to ... unexpected results
18:40:18  <milek7_> meanwhile, it is now possible to have case-insensitive ext4 on linux
18:40:19  <TrueBrain> lets keep it that way :P
18:40:40  <TrueBrain> but okay, how am I going to make the capitals nice here .. ugh ..
18:42:19  <frosch123> case is important for your personal lifestyle. old people use UPPERCASE, middle aged people use lowercase, kids use StuPIDcasE
18:45:49  <DorpsGek_III> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://git.io/JedpM
18:45:49  <DorpsGek_III>   - Update: Translations from eints (by translators)
18:45:52  <hythlodaeus> glx: I've just uploaded the english.txt file to my own repo. I'm having trouble finding a the PR draft category when attempting to submit a PR to openTTD main repo
18:46:29  <glx> for the draft you open the create PR window and there's a dropdown
18:46:55  <glx> near the green button
18:48:49  <DorpsGek_III> [OpenTTD/OpenTTD] sheepo99 opened pull request #7870: improved english tooltips draft https://git.io/JedpH
18:49:14  <hythlodaeus> there we go
18:49:25  <Samu> lala, dinner afk
18:49:25  <hythlodaeus> what now?
18:49:52  <glx> commit checker won't be happy ;)
18:50:30  <hythlodaeus> why not?
18:50:58  <glx> https://wiki.openttd.org/Coding_style#Commit_message
18:51:17  <glx> but that can be fixed later
18:51:23  <hythlodaeus> well i wish you told me about it
18:51:43  <hythlodaeus> can i fix it now
18:52:08  <glx> oh and you didn't create a branch (not a bug issue if you have only one PR)
18:52:15  <glx> *big
18:52:31  <glx> yes you can fix the commit messages with git
18:53:57  <glx> "git rebase -i HEAD~3"
18:54:08  <glx> drop the 2 first commits, reword the 3rd
18:55:20  <DorpsGek_III> [OpenTTD/OpenTTD] glx22 commented on pull request #7870: improved english tooltips draft https://git.io/JedpA
18:55:39  <hythlodaeus> bro i have like no idea wth im doing
18:56:15  <glx> dinner time
19:00:01  <milek7_> or reset --soft to commit before changes and commit once again with correct message
19:00:55  <nielsm> or git commit --amend to edit the last commit message (and add any further changes staged since)
19:03:19  <hythlodaeus> i think i fixed it via github
19:03:39  <hythlodaeus> guys i'm not a programmer, most of the things you're mentioning are greek to me
19:03:50  <hythlodaeus> i'm primarily a tester/linguist
19:04:12  <nielsm> well, someone else can fix the commit history since github is a special beast
19:05:08  <milek7_> PR title is entirely separate from commit message
19:06:02  <nielsm> yeah... and git can be downright user hostile
19:06:49  <nielsm> (it requires a lot of understanding and theory to be capable of using it well past the most basic things)
19:07:26  *** supermop_work has quit IRC
19:07:51  *** supermop_work has joined #openttd
19:16:07  <andythenorth> "it's just a hash tree"
19:16:09  <andythenorth> or something
19:18:47  <nielsm> as a general comment on that PR, I must say I don't like the general change of everything to Title Case, it makes things more difficult to read
19:19:53  <nielsm> I have never had good experiences reading title cased text, only neutral or bad, in particular I have seen many news headlines that were difficult to understand because title case obscured what was a proper noun and what was not
19:22:13  <hythlodaeus> nielsm: it's a standard
19:22:54  <hythlodaeus> you already have it on many parts of the UI
19:23:08  <hythlodaeus> e.g. the finances window
19:23:12  <hythlodaeus> and a few others
19:23:20  <hythlodaeus> I'm just making it consistent with standard
19:23:40  <hythlodaeus> but I won't apply it for instance in full sentences or non-names
19:24:55  <hythlodaeus> for example if a button tooltip has a verb as a title such as "Select all trains", then you can theoretically leave it non capped
19:27:20  <hythlodaeus> but it's a standard rule on english menus and dropdown buttons
19:27:31  <hythlodaeus> if you open office/libreoffice and open any dropdown
19:27:41  <hythlodaeus> you'll notice all tool/function names are capped
19:28:20  <milek7_> for consistency maybe it would better to lowercase finances window instead?
19:28:22  <hythlodaeus> I wouldn't do it on Spanish or Portuguese, for instance, since in these languages, the rule is not to cap them
19:28:53  <hythlodaeus> milek7_ I'd rather standardize it along with actual grammar rules and conventions
19:29:24  <hythlodaeus> i understand some people might not enjoy it, but I'm just fixing grammar here
19:29:42  <milek7_> i don't think there is grammar rule to capitalize everything
19:30:18  <hythlodaeus> in english it kind of is, at least on software applications
19:30:59  <hythlodaeus> just open the dropdown on your browser for instance
19:31:05  *** WormnestAndroid has quit IRC
19:31:18  <hythlodaeus> (if in english)
19:32:17  *** WormnestAndroid has joined #openttd
19:33:47  <DorpsGek_III> [OpenTTD/website] TrueBrain updated pull request #116: Various of fixes in preparation of running this Docker on AWS https://git.io/Jed5i
19:34:19  <TrueBrain> This ... should work. Difficult to test without just doing it, but ... I feel good about it. Tomorrow some final tweaking and deploying on AWS in production (instead of the Dev version currently) .. should be good ..
19:34:22  <TrueBrain> :D
19:36:38  <TrueBrain> you just can't tell when the new deployment is active .. that is a bit sad I guess
19:37:00  <TrueBrain> I wonder if I can make it wait till it is really deployed .. but "really deployed" is such a vague definition .. (it slowly rolls in traffic, and out if something goes wrong)
19:37:26  <TrueBrain> well, I think this alone would be a good start, so I guess I should worry about details later :P
19:38:05  *** supermop_work has quit IRC
19:38:37  *** supermop_work has joined #openttd
19:39:09  *** Wormnest has joined #openttd
19:42:21  <TrueBrain> okay, that was an easy fix \o/ :D
19:42:21  <DorpsGek_III> [OpenTTD/website] TrueBrain updated pull request #116: Various of fixes in preparation of running this Docker on AWS https://git.io/Jed5i
19:45:33  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh requested changes for pull request #7870: Doc: improved english tooltips draft https://git.io/Jedhp
19:46:58  <DorpsGek_III> [OpenTTD/website] TrueBrain commented on pull request #116: Various of fixes in preparation of running this Docker on AWS https://git.io/Jedhh
20:08:51  *** supermop_work has quit IRC
20:09:17  *** supermop_work has joined #openttd
20:10:54  <andythenorth> Capitalisation Divides People
20:11:06  <andythenorth> conventional style on headings is capitals in UK English
20:11:15  <andythenorth> but I know lots of people who dislike it
20:13:16  <frosch123> are people who capitalise similar to people who use thousand-separators other than space?
20:18:47  <frosch123> i notice a lot of android screenshots on reddit. is that always the same guy, or does reddit favour that userbase?
20:19:15  <frosch123> nvm, it's always the same guy :p
20:19:56  <andythenorth> I like the reddit trend of taking bad phone pictures of the screen
20:20:10  <andythenorth> eh also, can anyone else compile Horse? o_O
20:20:17  <andythenorth> I broke it for glx somehow
20:20:22  <frosch123> i am used to that. customers at my old company did the same
20:20:52  <frosch123> older customer otoh print them, comment them by hand, and scan them again
20:21:13  <andythenorth> then fax them
20:21:16  <glx> the print screen button
20:21:19  <andythenorth> there is a meme about it
20:21:37  <andythenorth> "can you send me the pdf in a powerpoint?"
20:21:45  <frosch123> i think i used a fax machine once in my life
20:22:26  <milek7_> https://xkcd.com/2116/
20:22:30  <frosch123> or rather, i watched my father explaining it to me
20:23:30  <andythenorth> eh gwyd has solved liveries! https://www.reddit.com/r/openttd/comments/ee8p0l/purchase_list_over_time_for_new_newgrf_im_making/
20:23:38  <andythenorth> in the purchase menu, they're horizontally stacked
20:25:16  <frosch123> andythenorth: if i look at horse, it may end up with rewriting the makefile
20:25:23  <andythenorth> oof :)
20:25:29  <andythenorth> the makefile is a car crash
20:25:37  <andythenorth> alberth started it, but I 'finished' it
20:25:42  <hythlodaeus> ok actually
20:25:43  <andythenorth> it's a disaster
20:25:45  <frosch123> make is a write-only language. when it is broken, usually you can only delete and rewrite it.
20:26:02  <hythlodaeus> I just learned microsoft changed capitalization of UI items to sentence-style
20:26:11  <andythenorth> Make seems to be an append-only type approach
20:26:18  <hythlodaeus> meaning "Update now" instead of "Update Now"
20:26:22  <andythenorth> whenever anything works, the solution seems to always be 'add more'
20:26:30  <andythenorth> works / doesn't work /s
20:27:03  <andythenorth> obviously I much prefer deleting to adding, so I really don't get on with Make
20:27:10  <hythlodaeus> So I would like to call a vote on what to do. I can make it sentence style and follow microsoft standards, or follow old standards with all capitals on on UI button titles
20:27:29  <frosch123> hythlodaeus: the documentation team at my old company decided the same last year. since then i know the term "sentence style" :p
20:28:09  <andythenorth> where do the titles show?
20:28:11  <LordAro> frosch123: make is lovely, don't dis
20:28:11  <frosch123> hythlodaeus: i would vote for only giving native people a vote
20:28:13  <hythlodaeus> Yeah, although I think most games are still using Title Style
20:28:51  <frosch123> LordAro: imo main problem is that make ignores too many errors. when there are circular dependencies or stuff it just tries to do something
20:28:57  <andythenorth> we seem to just mix freely title and sentence, in global menus
20:29:17  <andythenorth> window titles are correctly title case afaict
20:29:53  <hythlodaeus> yeah it's a bit messy
20:30:05  <andythenorth> yeah other menu items elsewhere are mixing case
20:30:08  <hythlodaeus> but it's only fair you guys make the decision
20:30:17  <andythenorth> oof
20:30:23  <frosch123> hmm, i named the folder with all the grf checkouts "devzone"...
20:30:25  <hythlodaeus> either Title Style or Sentence style
20:30:29  <frosch123> is it ok to checkout gh stuff there?
20:30:59  <andythenorth> 'probably'
20:31:35  <hythlodaeus> IMO I prefer Title Style bc it's a bit more formal, but as long as it is uniform and goes along with a major convention, I do not mind :)
20:31:40  <frosch123> ah, i found a usecase for "following"
20:31:48  <frosch123> i can use it to remember andy's gh name
20:32:11  *** tokai has joined #openttd
20:32:11  *** ChanServ sets mode: +v tokai
20:32:26  <andythenorth> shockingly, it's 'andythenorth'
20:32:50  <andythenorth> hythlodaeus: this is for tooltips only?
20:32:51  <frosch123> albert had some really complicated one
20:33:11  <hythlodaeus> andythenorth: eventually for the whole interface
20:33:32  <hythlodaeus> I'm only improving tooltips AFAIK
20:33:41  <hythlodaeus> *for now, I mean
20:33:43  <andythenorth> Tooltips seem to be sentence case, and many of them are full sentences so I'd stick with that
20:34:19  <hythlodaeus> for the rest of you guys, Title Style or Sentence style?
20:34:38  <andythenorth> getting consensus here is a disaster :)
20:35:08  <frosch123> i would always capitalise "Ctrl" within a sentence, no idea whether that is already title style
20:36:04  <andythenorth> oh ha ha
20:36:06  <hythlodaeus> Oh no, key names and object names are always capital
20:36:10  <hythlodaeus> regardless of style
20:36:12  <frosch123> same for Click when used a name
20:36:14  <andythenorth> FIRS Steeltown breaks houses, I forgot about that
20:36:30  <andythenorth> oof
20:37:11  <hythlodaeus> Click, Shift, Enter, etc are always first letter capital. The difference between title style is that on strings that are not full sentences or descriptions, all first letters are capitals
20:37:18  <hythlodaeus> e.g.
20:37:34  <hythlodaeus> Build Electrified Railway - Title Style
20:37:49  <hythlodaeus> Build electrified railway - Sentence style
20:37:52  <frosch123> so, if "Use the mouse to click on stuff. Use Ctrl+Click to activate magic" does not conflict with sentence style, then i am for sentence style
20:38:04  <frosch123> mostly because sentency style is easier to explain
20:38:24  <hythlodaeus> Ctrl key - Sentence Style
20:38:31  <hythlodaeus> Ctrl Key - Title Style
20:39:05  *** tokai|noir has quit IRC
20:39:09  <Samu> what is this error?
20:39:10  <Samu> 3>LINK : fatal error C1047: The object or library file 'D:\OpenTTD\OpenTTD GitHub\OpenTTD\projects\..\objs\x64\Release\sdl_v.obj' was created with an older compiler than other objects; rebuild old objects and libraries
20:39:30  <frosch123> haha, i bet if you change "Build electrified railway", some NewGRF authors will complain that it was changed, no matter what style it was
20:39:32  *** supermop_work has quit IRC
20:39:41  <Samu> gonna try rebuild all
20:39:49  <hythlodaeus> it was sentence style previously I think
20:40:01  *** supermop_work has joined #openttd
20:40:05  <frosch123> well, it's no good reason either way :)
20:40:17  <hythlodaeus> but I think most people seem to prefer Sentence style here, so I think I'll go with that
20:40:32  <frosch123> it's just triggered the "every change breaks someone's workflow"
20:41:06  <hythlodaeus> it would help if we were to simply guide users to a manual of style
20:41:07  <frosch123> andythenorth: "master" or some more specific branch?
20:41:31  <hythlodaeus> we can just link them to the M$ manual of style and be done with it
20:41:40  <andythenorth> frosch123: master will do
20:41:46  <frosch123> oh, there is a gui style guide... i wonder whether it says something about that
20:41:59  <hythlodaeus> can you link me frosch123 ?
20:42:03  <frosch123> https://wiki.openttd.org/GUI_Style_Guide
20:42:20  <andythenorth> nope
20:42:23  <andythenorth> nothing about case
20:43:00  <andythenorth> frosch123: sorry, was your question about FIRS, or Horse?
20:43:01  <hythlodaeus> it's just about graphical style
20:43:07  * andythenorth assumed Horse and the build failure
20:43:13  <frosch123> andythenorth: yes, horse
20:44:08  <andythenorth> master then
20:44:25  <Samu> alright, it builds now
20:44:34  <andythenorth> there is a more interesting branch 'procedures-are-faster-in-some-cases' which needs nml PR 66, and is very fast with pypy
20:44:57  <andythenorth> where 'very fast' means about 22 seconds, not that fast :D
20:45:42  <frosch123> compile from clean checkout worked
20:45:54  <frosch123> just luck?
20:46:30  *** sla_ro|master has quit IRC
20:47:40  <frosch123> what is "polar_fox", and why is "git_info.py" in that folder?
20:50:40  <frosch123> it uses directories as dependencies, that's certainly troublesome
20:56:01  <andythenorth> it's a 'vendored in' library, i.e. copy-paste :P
20:56:05  <andythenorth> I could use git remotes, but eh
20:56:34  <andythenorth> it provides all the shared stuff between grfs
20:56:35  <frosch123> https://wiki.openttd.org/OpenTTD:Manual_of_Style#Capitalization <- hythlodaeus: look, the manual uses sentence style, though i am sure noone reads that guide
20:57:11  <andythenorth> polar fox should be in root, but I couldn't make the python imports work from there :P
20:57:43  <frosch123> andythenorth: if i should make a guess, i would blame "using directories as dependencies" for stuff not working
20:58:16  <hythlodaeus> I'm gonna write a small manual of style for in game and interface
20:58:31  <frosch123> add it to the gui style page in the wiki then
20:58:38  <hythlodaeus> I think the best convention should be:
20:59:41  <andythenorth> frosch123: which clown writes my stuff anyway :)
21:01:56  <hythlodaeus> Use Title Style in: Given names (e.g. companies), resource names (Iron Ore), titles (Chairman of the Board, Tycoon of the Year), nationalities and coins (North Korean, Japanese Yen),
21:03:30  <glx> frosch123: indeed dependency issues may explain the failures
21:04:10  <glx> the weird thing is each run after 'make clean' fails in a different place
21:04:20  <hythlodaeus> use Sentence style in: menu buttons (New game), tooltips ("Saves the game quick"), field names ("Profits this year"), colors ("Light blue"), objects and strucutre ("Electrified railway")
21:04:43  <glx> first in render graphics, then in render docs, then render nml, then the grf
21:05:11  <glx> so even failed deps are considered ok on next run
21:05:39  <andythenorth> glx: do the python scripts work in isolation, e.g. src/render_nml.py etc?
21:06:02  <glx> hmm I need to read the makefile to check that by hand ;)
21:06:31  *** andythenorth has quit IRC
21:06:48  *** andythenorth has joined #openttd
21:07:46  <frosch123> andythenorth: is "generated/graphics/_graphics_files_here_are_generated.txt" any hint that generation was successful?
21:08:20  <frosch123> hmm, probably not, it has an older timestamp than mose of the files
21:10:12  *** supermop_work has quit IRC
21:10:40  *** supermop_work has joined #openttd
21:12:46  <andythenorth> it's not a reliable hint
21:13:31  <andythenorth> on master head, I get 595 items in generated/graphics/
21:14:04  <frosch123> hmm, cooppaste still broken
21:14:11  <andythenorth> yup
21:14:18  <glx> yeah it's annoying
21:14:19  <andythenorth> I am banned from it
21:14:25  <glx> everybody is
21:14:26  <andythenorth> gist
21:14:47  <andythenorth> https://gist.github.com/
21:16:13  <frosch123> https://github.com/frosch123/iron-horse/commit/714663db783194e720e507c3e0ee88e525e4988b <- glx, andythenorth: try that
21:19:24  <frosch123> i added another commit, that may be useful
21:20:33  * andythenorth testing
21:24:42  <frosch123> oh, i made a type
21:24:46  <frosch123> typo :)
21:24:51  <frosch123> it's english.lng, not english.txt
21:24:52  <andythenorth> I think graphics changes trigger nml now
21:25:04  * andythenorth tests again
21:25:13  <frosch123> yes, i broke that
21:26:13  <andythenorth> the speed increases are reducing the benefit of 'grfcodec + overhead'
21:26:20  <andythenorth> it's only 8 seconds faster now :P
21:26:34  <andythenorth> it was 55s or so
21:27:13  <frosch123> glx: andythenorth: pull again, i amended the english.lng bug
21:28:53  <andythenorth> frosch123: now just grfcodec again for graphics changes :)
21:32:30  <Samu> can I post a PR about changing defaults of some settings?
21:34:18  <glx> still division by zero when rendering graphics
21:35:49  <Samu> "reviewed defaults for 2020"
21:35:51  <Samu> :)
21:37:09  <Samu> I know some settings are there to mimic the original ttd
21:37:13  <frosch123> is that a depenency issue?
21:37:37  <Samu> but the game evolved
21:37:50  <glx> I don't know, but consists is always an empty list for me
21:38:52  <frosch123> render_graphics is actually the first thing that is called, it does not depend on intermediate things
21:40:08  <glx> at least with your changes it always fails there :)
21:40:53  *** supermop_work has quit IRC
21:41:00  <glx> without changes it fails in render on first run, then docs on second run, then nml...
21:41:06  <glx> now the deps work
21:41:19  *** supermop_work has joined #openttd
21:41:22  <glx> no need to make clean each time
21:41:27  <andythenorth> glx: my suspicion is that it is not rendering any graphics
21:41:35  <andythenorth> anything in generated/graphics?
21:41:37  <frosch123> andythenorth: are the ARGS used?
21:41:40  <andythenorth> yes
21:42:07  <glx> yes many pngs andythenorth
21:42:07  <frosch123> i am worried about "ROSTER = *", maybe make expands the "*" to filenames :p
21:42:27  <andythenorth> that could be changed
21:42:34  <andythenorth> it's just a string match in python
21:42:43  <andythenorth> let me check that's still used
21:42:51  <glx> python3 src/render_graphics.py '4141' '2.3.0-17-g118f7c81' '0' '*' ''False''
21:42:56  <glx> that's the command ran
21:43:19  <frosch123> andythenorth: i see no difference when i run render_graphics with no args at all
21:43:46  <andythenorth> the args pass the git stuff, and the number of pool workers
21:43:54  <andythenorth> but if they're not passed, defaults are substituted
21:44:27  <andythenorth> ok roster=* can be changed trivially
21:44:37  <andythenorth> it is just a string match
21:44:45  <frosch123> glx: at least that's the same as for me
21:44:53  <frosch123> andythenorth: does not seem to be the issue
21:46:07  <glx> let's try to trace using breakpoint
21:46:16  <andythenorth> it will be something lolz :)
21:47:30  <andythenorth> maybe I should set up my azure to run it :)
21:48:19  <frosch123> when i use roster "frosch", i get the division by zero error
21:48:55  <frosch123> so, indeed, the issue is with passing the roster to render_graphics
21:49:13  <andythenorth> yes it will come up with zero rosters in that case
21:49:26  <glx>     if makefile_args.get('roster', '*') == '*': <-- this is false in my case
21:49:47  <andythenorth> bad python?
21:49:57  <frosch123> can you print the result of the "get"?
21:50:34  <andythenorth> I could also put an exception in for no rosters
21:50:42  <frosch123> or maybe add a print to get_makefile_args
21:50:51  <glx> .devzone
21:51:21  <frosch123> ha, so it did expand it :p
21:51:43  <frosch123> the ' are supposed to suppress the expansion of *
21:51:43  <glx> shell expanded it I guess
21:52:00  <glx> mingw bash
21:52:12  <frosch123> then using ALL instead of * should fix it
21:52:41  <glx> using * in anything command line related is asking for trouble
21:54:33  <glx> {'repo_revision': '4141', 'repo_version': '2.3.0-17-g118f7c81', 'num_pool_workers': 0, 'roster': '.devzone', 'suppress_cargo_sprites': False}
21:54:43  <glx> so yes * is an issue :)
21:54:55  <frosch123> i am adding a commit
21:55:03  <andythenorth> not sure why I'm even specifying roster in the args
21:55:11  <andythenorth> I could just default to 'all' if it's missing
21:55:29  <andythenorth> oh, no, the python arg parser I'm using relies on positions
21:55:38  <andythenorth> I should probably get a better one?
21:55:46  *** andythenorth has quit IRC
21:56:04  *** andythenorth has joined #openttd
21:56:13  <andythenorth> https://github.com/andythenorth/iron-horse/blob/master/src/utils.py#L5
21:56:25  <glx> better use a parser similar to nmlc I guess
21:56:39  <andythenorth> there are better parses I'm sure
21:56:56  <frosch123> https://github.com/frosch123/iron-horse/commit/3ab241ed42957e5f19c74de5f221e2d41285c7b2
21:58:08  <frosch123> https://github.com/andythenorth/iron-horse/pull/1
21:59:14  <andythenorth> thanks :D
21:59:29  <andythenorth> now glx can make nml faster
21:59:47  <andythenorth> and soon we can profile how badly my grfs run in ottd
22:00:24  <glx> optimising doesn't make nml faster
22:01:00  <glx> but it should improve output speed if a lot of stuff is "removed"
22:01:17  <andythenorth> net same :)
22:01:37  <andythenorth> some of the work I've done to make it faster by removing switches is very marginal gain
22:01:38  <glx> ok now it works, I can remove the print()
22:01:55  <andythenorth> I'm definitely on negative time benefit for some of the cases :)
22:02:03  <andythenorth> better if the compiler does it
22:02:43  <glx> very long nmlc parsing
22:02:57  <andythenorth> oof :)
22:03:27  <frosch123> glx: btw. ottd already merges consecutive switch ranges
22:03:49  <frosch123> if they map the the same result
22:04:23  <glx> yes that makes sense, but reducing it at the source is not a bad idea
22:06:39  <glx> so many warnings, the screen buffer is too short :)
22:06:53  *** andythenorth has quit IRC
22:06:58  <glx> oh of course I don't have grfcodec in the path
22:07:10  *** andythenorth has joined #openttd
22:10:05  *** andythenorth has quit IRC
22:11:13  *** andythenorth has joined #openttd
22:11:31  *** supermop_work has quit IRC
22:12:00  *** supermop_work has joined #openttd
22:15:08  <glx> preprocessing 46.7s
22:15:22  <glx> but I failed to read parsing timing :)
22:15:24  <andythenorth> ouch
22:15:30  <glx> too much warnings
22:15:45  <frosch123> master has only 19.4s for preprocessing for me
22:15:56  <andythenorth> I have 3.2s
22:15:58  <frosch123> parsing is 25.1
22:16:10  <frosch123> Python 3.7.3
22:16:49  <andythenorth> https://gist.githubusercontent.com/andythenorth/f73a85eb6f28320b6235fbc67c2cf027/raw/e06a138ff9d600e343f0e6884c6a4ae8388d4d1c/gistfile1.txt
22:18:17  <glx> retrying with master nmlc
22:19:06  <andythenorth> those ^^ timings are with procedures branch in PR 66
22:19:33  <andythenorth> and flherne's output patch
22:20:25  <andythenorth> timings on master, https://gist.githubusercontent.com/andythenorth/76f4d8fa0829cdbd5a7daf7cea6a3d34/raw/b981bde9b999122e774edcca57e440b74cc15c73/gistfile1.txt
22:20:37  <glx> output was 8.7s with my switch PR
22:21:15  <andythenorth> http://www.flherne.uk/files/nicer-quick-output.diff
22:22:19  <andythenorth> the timing pastes are just to illustrate the benefit of pypy + procedures + output patch :)
22:22:28  <glx> 99.5s parsing
22:23:05  <glx> 75.1s preprocessing
22:23:32  <glx> it was faster in the other branch
22:24:13  <DorpsGek_III> [OpenTTD/OpenTTD] frosch123 commented on pull request #7868: Feature: NewGRF callback profiling https://git.io/JeFv6
22:24:14  <glx> so yes master is slower than my branch
22:24:26  <andythenorth> those timing are so painful
22:24:34  <andythenorth> I hope you have some YouTube to watch :P
22:24:51  <glx> twitch is open :)
22:25:12  <glx> but the timings may be affected by minwg
22:25:18  <glx> *mingw
22:25:44  <glx> I should try the nmlc step in "native"
22:29:23  <glx> ahah 105.2s parsing in "native"
22:30:50  <glx> 84.6s preprocessing
22:37:28  <glx> 88.5s preprocessing with my branch, but there's so many warnings to print :)
22:39:03  <Samu> I found a "not really a bug" with snowline interval
22:39:25  <Samu> it changes in steps of 5 units with the arrows in the settings window, but only of 1 unit in the world gen window
22:42:14  *** supermop_work has quit IRC
22:42:38  *** supermop_work has joined #openttd
22:45:41  <glx> -a----       22/12/2019     23:43       18227767 iron-horse-master.nfo
22:45:42  <glx> -a----       22/12/2019     23:36       17548411 iron-horse.nfo
22:46:24  <Andrew350> hey where would someone look to find info on bits used for newgrf features? trying to confirm info for the nfo newgrf specs
22:46:30  <glx> basic optimistation seems to have little effect in nfo size
22:47:04  <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick opened pull request #7871: Fix: Snowline height interval is now 1, in both World Generation and Settings windows https://git.io/JeFfI
22:48:16  <Samu> thought I don't agree with the default of 15 :(
22:48:34  <Samu> I think I'm creating an Issue instead of a PR
22:48:44  <Samu> but it feels more like a suggestion
22:51:58  <frosch123> glx: 10MB of the nfo are the realsprite (long "generate/..." paths), so you reduced by 7%
22:52:38  <andythenorth> ho ho
22:52:43  <andythenorth> I could do something about that
22:53:11  <frosch123> i don't think there is a point in doing something about that
22:53:14  <glx> removing duplicates may help to reduce realsprite I guess
22:53:48  <frosch123> hmm, duplicate sprites are not listed when using grfcodec :p
22:53:52  <andythenorth> do we know why the grf size is stubbornly 19.x MB, even though I've removed multiple MB from nfo and nml
22:55:27  <frosch123> oh, lol, grfcodec uses container 1 by default... i was confused why the grf header looks so weird
22:57:20  <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick opened issue #7872: Default openttd.cfg world gen settings don't allow Forests in Sub-Arctic https://git.io/JeFfG
22:57:42  <frosch123> container2 is 2MB smaller
22:57:47  <frosch123> why though :p
22:58:16  <frosch123> oh, i enabled clipping
22:59:54  <frosch123> -       $(GRFCODEC) -s -e $(PROJECT_NAME).grf generated
22:59:56  <frosch123> +       $(GRFCODEC) -s -e -c -n -g 2 $(PROJECT_NAME).grf generated
23:00:06  <frosch123> is there a reason, cropping was disabled?
23:02:45  <LordAro> frosch123: circular dependencies are usually an error, last time i checked
23:04:30  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh updated pull request #7868: Feature: NewGRF callback profiling https://git.io/JedSy
23:05:49  <planetmaker> <Andrew350> hey where would someone look to find info on bits used for newgrf features? trying to confirm info for the nfo newgrf specs <-- mostly files which somewhat sound similar to newgrf.cpp in OpenTTD's source
23:06:07  *** andythenorth is now known as Guest12185
23:06:07  *** andythenorth has joined #openttd
23:06:19  <frosch123> glx: andythenorth: there is actually only 2.3 MB nfo in the grf, the rest are realsprites
23:06:47  <glx> that's a lot of sprites
23:06:55  <andythenorth> isn't it
23:07:12  <frosch123> let's enable the nml compressor, so we have a "duplicates" statistic
23:07:13  <andythenorth> frosch123: the cropping is probably just historical accident
23:07:37  <andythenorth> I could save a *lot* of sprites by using layers for the cargos
23:07:47  <andythenorth> but it's hard to test the appearance in game
23:07:55  <andythenorth> whereas I can just eyeball a png
23:09:31  <frosch123>  nmlc info: 96272 sprites, 0 cached, 0 orphaned, 60313 duplicates, 35959 newly encoded (native) <- lol
23:09:57  <frosch123> well, container format 2 allows merging of identical sprites
23:10:06  <frosch123> but neither nmlc nor grfcodec make use of that
23:10:11  *** Guest12185 has quit IRC
23:12:01  <planetmaker> sounds like a big gain is to be made there. Especially given the statistics you quote :P
23:12:27  <planetmaker> and we're shaving on the 2MB code where we have 15MB duplicate real sprites :P
23:12:48  *** Wolf01 has quit IRC
23:12:52  *** supermop_work has quit IRC
23:12:59  <andythenorth> can I just stop providing them? :P
23:13:19  *** supermop_work has joined #openttd
23:15:49  <andythenorth> frosch123: can it list the duplicates?
23:16:09  <frosch123> if you add a print
23:17:06  <DorpsGek_III> [OpenTTD/OpenTTD] nielsmh updated pull request #7868: Feature: NewGRF callback profiling https://git.io/JedSy
23:17:24  <frosch123> but let's take the nfo
23:17:24  <nielsm> I think that covers everything :)
23:18:23  <frosch123> hmm, i am not sure whether it counts sprites with different offsets as duplciated
23:18:26  <andythenorth> ouch, because I use grfcodec I haven't been seeing the duplicate count :)
23:18:35  <frosch123> in that case all the flipped ones are duplicate by design
23:18:37  <glx> duplicate sprites means spriteset with the same content ?
23:19:02  <frosch123> same rectangle in .png source
23:19:08  <andythenorth> there are definitely duplicate realsprites
23:19:12  <andythenorth> e.g. lemon.nml
23:19:17  <frosch123> it does not compare the content of the image, just the filename and the coordinates
23:19:22  <andythenorth> it's all related to depot-flip support
23:19:27  <andythenorth> all / part
23:20:54  <glx> so they could be "merged" during preprocessing I guess
23:21:28  <glx> because most of the duplicates are caused by the template source used to generate nml
23:21:31  <frosch123> grep generated/graphics iron-horse.nfo | sed 's/^[0-9]*//' | sort | uniq -c | sort -n > dups.txt
23:21:36  <frosch123> some sprites appear up to 70 times
23:21:58  <DorpsGek_III> [OpenTTD/OpenTTD] sheepo99 opened issue #7873: Soft key shortcuts on tooltips https://git.io/JeFfD
23:21:58  <frosch123> like covered hopper car
23:22:27  <frosch123> hmm, all closed vans are at the top
23:22:43  <frosch123> do you distinguish them by cargotype and then use the same sprite because they are closed? :p
23:22:48  <glx> yeah I'll try to do something to analyse spritesets
23:23:07  <frosch123> glx: you can also merge them during encoding
23:23:21  <frosch123> though that would only affect .grf output, not .nfo output
23:23:59  <glx> but it's probably better to merge them during preprocessing, that way stuff using them can be optimised too
23:24:14  <hythlodaeus> guys lmk if the feature suggestion i submitted for key shortcuts is clear enough
23:24:24  <hythlodaeus> it's essentially what we discussed the other day
23:24:35  <glx> like switches selecting between identical spritesets
23:25:53  <andythenorth> frosch123: realsprites 70 times - there will be a factor of 8 from the spritesets in the nml?
23:27:08  <frosch123> 22734 sprites are unique, 29104 appear twice, 2565 appear 3x or 4x, 434 appear 5x to 70x
23:27:28  <frosch123> andythenorth: no, different offsets count separate here
23:27:39  <frosch123> andythenorth: run above command on the .nfo
23:27:48  <andythenorth> ah, there is buy menu crap
23:28:03  <andythenorth> for $reasons all the buy menu realsprites are separate
23:28:26  <andythenorth> but often they're just resolving to same sprite as the default chain
23:28:56  <andythenorth> and buy menu also causes many realsprites to be generated in some cases
23:29:05  <frosch123> there should only be as many buy menu sprites as there are buy menu entries, so 200?
23:29:12  <glx> grfcodec seems to do a better job than nmlc for the size of the grf
23:29:20  *** WormnestAndroid has quit IRC
23:29:26  <frosch123> glx: they should be binary identical
23:29:28  <andythenorth> 19 vs 21MB
23:29:33  *** WormnestAndroid has joined #openttd
23:29:37  <frosch123> otherwise encoding options differ
23:30:08  <frosch123> the actual encoding code is the same, so they should not differ at all
23:30:10  <andythenorth> I should suppress the animated sprite warnings on slag cars :P
23:30:49  <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick commented on issue #7872: Default openttd.cfg world gen settings don't allow Forests in Sub-Arctic https://git.io/JeFfG
23:31:19  <Samu> auto adjustable snowline height based on terrain type?
23:31:26  <Samu> yes or no?
23:31:41  * andythenorth runs the sed command
23:31:43  <nielsm> no
23:32:18  <nielsm> the issue is that terragen isn't really properly tuned for tropic or arctic
23:32:28  * andythenorth looks in generated/nml/covered_hopper_car_pony_gen_6C.nml
23:32:49  <Samu> adjusting the defaults would certainly help reduce the number of reports
23:32:57  <nielsm> the original terrain generator uses non-customisable values for those landscapes
23:33:12  <andythenorth> there are only 11 rows in that spritesheet :P
23:33:15  <nielsm> so tropical always gets a half/half map of desert and mountaneous rainforest
23:33:24  <nielsm> and arctic always gets an alpine map
23:33:30  <andythenorth> so 70 realsprites is excessive :)
23:33:30  <frosch123> try generating maps with ottd 1.2
23:33:38  <andythenorth> 'tropic is broken' :)
23:33:51  <frosch123> more heightlevels broke the map generator, and is as well maintained as nrt
23:34:02  <Samu> tropic becomes better the hillier it gets
23:34:34  <andythenorth> 21 spritesets
23:35:16  <andythenorth> hmm some of the actual sprites are identical between rows
23:35:41  <Samu> just checking, a compromise between hilly and mountainous are best
23:36:09  <Samu> with mountainous there's more rainforest than hilly, but no rivers spawn
23:36:15  <Samu> with hilly there's rivers
23:36:29  <andythenorth> frosch123: 50% of the duplicate realsprites are because of symmetry?
23:36:59  <andythenorth> e.g. around L 235153
23:37:06  <andythenorth> in iron-horse.nfo
23:37:39  <frosch123> ok, so i should filter out sprites with size 1x1?
23:37:53  <andythenorth> nah, that's buy menu crap
23:38:07  <andythenorth> there are blocks where it's 4, then same offsets repeated
23:38:31  <andythenorth> pure bloat, but I don't know how else to handle that :)
23:38:40  <nielsm> alpine and tropical maps generated by TTD DOS: https://0x0.st/z0hS.jpg  https://0x0.st/z0hQ.jpg
23:38:46  <frosch123> ok, now sprites appear at most 4x times
23:39:01  <andythenorth> nielsm: ^^ that's proper tropic :D
23:39:24  <nielsm> and yes loaded the savegames from ttd dos into ottd for screenshotting
23:40:20  <frosch123> 5000 sprites are 1x1 dummies
23:40:41  <andythenorth> purchase
23:41:15  <frosch123> yes, but that still leaves 55000 duplicates
23:41:41  <frosch123> grep generated/graphics iron-horse.nfo | sed 's/^[0-9]*//' | grep -v ' 1 1 0 0 normal' | sort | uniq -c | sort -n > dups.txt
23:41:44  <frosch123> ^^ new command btw
23:41:55  <nielsm> I should really get to bed, can't escape work tomorrow
23:42:37  <Samu> i'm making a PR, just in case
23:42:48  <Samu> guess there's a bit of relunctancy regarding it
23:43:06  * andythenorth has declared christmas holiday, sorry nielsm :)
23:43:16  <andythenorth> 10 days of the year when I can stay up late :)
23:43:32  *** supermop_work has quit IRC
23:43:36  <frosch123> kids at grand parents?
23:43:55  <andythenorth> all family are together
23:43:57  *** supermop_work has joined #openttd
23:44:01  <andythenorth> I just don't have to do school run
23:44:12  <andythenorth> or anything similar
23:44:13  <DorpsGek_III> [OpenTTD/OpenTTD] SamuXarick opened pull request #7874: Change #7872: Defaults for snowline height decreased to 7, and terrain type raised to Hilly https://git.io/JeFJf
23:44:41  <Samu> I know it doesn't fix the underlying problem, but at least, factory defaults won't have the problem
23:44:43  <andythenorth> so if count is 1, is that 1 dup, or no dup?
23:45:12  <Samu> now I'm off to bed, cyas
23:45:16  <nielsm> gn too
23:45:19  <andythenorth> bye
23:45:21  *** Samu has quit IRC
23:45:49  <DorpsGek_III> [OpenTTD/OpenTTD] frosch123 commented on pull request #7874: Change #7872: Defaults for snowline height decreased to 7, and terrain type raised to Hilly https://git.io/JeFJT
23:45:49  <DorpsGek_III> [OpenTTD/OpenTTD] frosch123 closed pull request #7874: Change #7872: Defaults for snowline height decreased to 7, and terrain type raised to Hilly https://git.io/JeFJf
23:46:17  * andythenorth figures it out 
23:46:30  <frosch123> "1" is fine
23:46:41  <frosch123> it's amount, so you won't find any 0
23:46:51  <andythenorth> yup
23:47:21  <frosch123> the "2" are probably caused by the flipping
23:47:25  <frosch123> but "4" are bad
23:47:25  * andythenorth looks in wyvern.nml
23:48:01  <DorpsGek_III> [OpenTTD/OpenTTD] James103 commented on issue #7872: Default openttd.cfg world gen settings don't allow Forests in Sub-Arctic https://git.io/JeFfG
23:48:51  <frosch123> unreversed and unflipped?
23:49:00  <frosch123> what's the difference of reverse and flip? :p
23:49:28  <andythenorth> one is random, one is player
23:49:34  <andythenorth> I think I'm doing something odd there
23:49:45  <andythenorth> I suspect I can improve that
23:49:50  *** Flygon has joined #openttd
23:49:57  <frosch123> xor them
23:50:53  <andythenorth> reversible asymmetric vehicle needs 4 spritesets
23:51:11  <andythenorth> but should only need 2
23:51:36  <andythenorth> no wait, flipping it breaks the offsets, so it is 4
23:51:57  <frosch123> offsets are the same
23:52:13  <frosch123> are they 8/8 vehicles?
23:53:21  *** nielsm has quit IRC
23:53:22  <andythenorth> they are 4/8, 6/8 ot 8/8
23:53:28  <andythenorth> I found I needed to do this https://github.com/andythenorth/iron-horse/blob/master/src/utils.py#L37
23:53:49  <andythenorth> otherwise I just can't position sprites correctly
23:54:17  <andythenorth> nobody else reports this problem, maybe I did it wrong
23:54:32  <frosch123> yes, but for 8/8 vehicles the offsets are the same for flipped and unflipped
23:55:46  <andythenorth> that just leaves the other lengths :)
23:56:04  <andythenorth> I could have the compile drop the 8/8 duplicates
23:58:03  <frosch123> some magic with the torpedo car
23:58:10  <frosch123> it's the only one with 3x sprites
23:58:16  <andythenorth> yes
23:59:11  <andythenorth> ok so this gives ideas
23:59:23  <andythenorth> I can see a few approaches to reduce duplicate generation
23:59:34  <andythenorth> or we should resolve it in the tools?
23:59:53  <frosch123> you can safe 5k sprites with fixing the 8/8 flipped

Powered by YARRSTE version: svn-trunk