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