Times are UTC Toggle Colours
10:13:26 <RektTangleCaptainKlu> Handled it 10:43:39 *** wallabra_ has joined #openttd 10:47:37 *** wallabra has quit IRC 10:47:37 *** wallabra_ is now known as wallabra 11:01:07 *** wallabra has quit IRC 11:14:10 <petern> https://dreamfusion3d.github.io/ 11:14:28 <petern> AI-generated 3D models now... 11:32:46 <andythenorth> this stuff is so good 11:32:48 <andythenorth> such a future 11:35:49 <LordAro> copyright is meaningless 11:48:03 <Bouke> https://cdn.discordapp.com/attachments/1008473233844097104/1025373457485140059/unknown.png 11:48:03 <Bouke> glx[d]: More drawing instructions: even slower now. But a hotkey to toggle, so it's not too bad. These turns could use a bigger turn radius to accommodate the AsiaStar. How would I improve drawing performance further? I guess my only options would be custom GRFs to overlay the base tiles? Ideally I'd overlay the tiles with ~25 transparency, but is that even available in 8 bit? 11:49:32 <LordAro> probably wants some coloured rail overlay sprites 11:49:34 <petern> No but most people will be running 32bpp, even when not using the horrible 32bpp basesets... 11:52:54 <pickpacket> I donβt understand what 32bpp means vs 8bpp. Just larger set of colours? 11:53:51 <petern> bits per pixel 11:54:22 <petern> 8 bpp is 256 colours, with a palette. 12:02:39 <andythenorth> was it naptime? 12:02:44 <petern> Often. 12:16:11 <Eddi|zuHause> hopefully it wasn't naphtalene 12:25:34 *** sla_ro|master has joined #openttd 13:11:06 *** WoozyDragon4018 has joined #openttd 13:11:06 <WoozyDragon4018> Bouke: damn that looks useful 13:11:30 <WoozyDragon4018> very useful too 13:13:40 *** nielsm has joined #openttd 13:17:14 *** Kitrana1 has joined #openttd 13:20:47 *** Kitrana2 has joined #openttd 13:25:17 *** Kitrana1 has quit IRC 13:43:18 *** nielsm has quit IRC 13:47:46 *** wallabra has joined #openttd 13:56:25 <DorpsGek> [OpenTTD/OpenTTD] Bouke opened pull request #10064: Fix: link overlay line width on HiDPI displays https://github.com/OpenTTD/OpenTTD/pull/10064 14:30:34 *** ChoHag_ has quit IRC 14:30:46 *** ChoHag has joined #openttd 14:32:56 *** Kitrana has joined #openttd 14:37:18 *** Kitrana2 has quit IRC 14:51:17 *** HerzogDeXtEr has joined #openttd 14:59:28 <petern> https://www.lego.com/en-gb/product/hogwarts-express-collectors-edition-76405 14:59:56 <petern> Damn, such a shame. It's big, it's Lego, it's a train, it's... Harry Potter π¦ 15:31:28 *** sla_ro|master has quit IRC 15:55:36 <ag> Disgrace 15:55:54 <ag> Should have made a King's Cross set instead 16:08:01 <supermop_toil> should have made a Pannal station set 16:12:59 <EmperorJake> It doesn't run on standard lego tracks either 16:16:47 <supermop_toil> does it run on 90s' town monorail track? 16:17:56 <supermop_toil> i wonder what the axel loading limits of monorail track vs standard lego track are 16:18:40 <supermop_toil> vs like O gauge track 16:22:59 <petern> Hmm, somewhat pissing down 16:24:51 <petern> When the widget padding looks wrong... it's probably because the truetype font's baseline isn't the same π¦ 16:35:36 *** gelignite has joined #openttd 17:05:13 *** Wolf01 has joined #openttd 17:36:43 *** Tirili has joined #openttd 17:57:54 <petern> Such quiet 17:58:25 <pickpacket> Much silence 17:59:11 <pickpacket> Iβm at an airport restaurant. Expeeeeensiiiive 18:07:13 <FLHerne> I'm in my little boat watching the rain blatter against the windows 18:07:24 <FLHerne> but now I have to go out and cycle in it :-( 18:07:50 *** Tirili has quit IRC 18:11:43 <petern> I don't have to cycle so I'm sat at home being lazy. 18:11:53 <petern> Hopefully it will dry out a bit for tomorrow morning. 18:19:24 *** Tirili has joined #openttd 18:25:10 *** sla_ro|master has joined #openttd 18:27:20 <TallTyler> I'm working on a feature for Scenario Editor which will import real-world map data as a .geojson file, and need to add a JSON parser. Looking at json11 because it's small and decently-well documented but don't really know what's important. https://github.com/dropbox/json11 How would I add a library dependency so I can use it in OpenTTD? 18:32:53 <TallTyler> Or maybe I just need to write my own JSON parser, since that's all that's really needed 18:41:36 <JustANortherner> pickpacket: The fun part of flying! 18:42:08 <JustANortherner> Where a pint is Β£10 for some rubbish beer like Carlsberg... 18:42:17 <JGR> I really wouldn't advise writing your own JSON parser unless you'vr got a good reason to 18:43:31 <TallTyler> Yeah, it's indeed not easier than figuring out how to link a dependency 18:46:10 <JGR> Probably your best bet is to bundle it into src/3rdparty/ 18:46:52 <TallTyler> I can just put stuff in there? It's MIT licensed. 18:48:04 <JGR> That is GPL compatible 18:48:20 <TallTyler> I'll try that, then 18:48:27 <petern> That's what I did with nano-svg... then I found that it's quite lacking π¦ 18:56:01 <Bouke> Where can I find the colour palette for creating 8bit sprites? I can only find broken links :(. I'm trying to create a 1x1 transparent png. 18:56:25 <TallTyler> https://github.com/OpenTTD/OpenTTD/tree/master/docs/palettes 18:57:36 <andythenorth> ooof 18:57:45 <andythenorth> 1 short of the high score π¦ nmlc info: Object items: 255/256 18:58:07 <andythenorth> is petern streaming? 18:58:27 <Bouke> TallTyler: thanks! 18:58:34 <andythenorth> how do I discord? 18:58:41 <petern> Hi dere 18:59:08 <andythenorth> repton though? 18:59:51 <andythenorth> lol, I should live program 18:59:58 <andythenorth> 48 mins of syntax error 19:02:12 <xordspar0> Is there a way to unlock the framerate or do a benchmark of some kind? I'm working on a patch that touches render code and I want to make sure I'm not making the performance worse. 19:03:03 <andythenorth> is that XIS? 19:05:11 <andythenorth> Paints and Coatings eh 19:05:21 <andythenorth> goes to too many places 19:06:43 <andythenorth> hmm Paints & Coatings could go everywhere 19:06:48 <andythenorth> also Welding Gas 19:06:51 <andythenorth> that would be dull 19:07:53 <andythenorth> right how do I fit big transformers and generators and stuff in? 19:08:10 <andythenorth> electric machines? https://en.wikipedia.org/wiki/Electric_machine 19:08:18 <andythenorth> or power machines? 19:08:26 <andythenorth> something something 19:11:51 <kamnet> industrial equipment 19:12:52 <andythenorth> needs to be split more 19:13:01 <andythenorth> already split pumps and valves out 19:13:02 <andythenorth> https://www.bowerselec.co.uk/power-transformers/ 19:13:15 <kamnet> electrical facilities eqiupment 19:13:48 <andythenorth> yup 19:14:19 <andythenorth> electrical parts -> motors + generators + transformers -> electrical power equipment 19:15:44 <kamnet> Yay! Now I can claim a developer credit π 19:21:42 <petern> You can? How much are they worth? 19:24:05 <petern> Hmm, I guess video is too blurry. 19:43:22 <andythenorth> hmm https://en.wikipedia.org/wiki/Aluminium-conductor_steel-reinforced_cable 19:46:18 <andythenorth> such steel cable town 19:52:55 <kamnet> MegaPowr! 19:53:17 <kamnet> petern: Probably more than what's in my bank account right now. 19:57:51 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1025496719275868201/unknown.png 20:00:41 <TallTyler> Pickled wires? 20:01:30 <andythenorth> pickles 20:04:47 <TallTyler> How does OpenTTD create folders in a player's Documents folder when it's installed? 20:05:47 <petern> No pencils involved? 20:06:04 <andythenorth> hmm 6 cargos left 20:06:18 * andythenorth trying to get all the 'level complete' badges 20:07:54 <pickpacket> JustANortherner: indeed π I had a pizza and decided that my employer will pay for it 20:10:35 <JGR> TallTyler: FioCreateDirectory is probably the function to look at 20:12:41 <JustANortherner> pickpacket: Don't blame you! π 20:15:33 <TallTyler> JGR: Hmm, maybe it would be created if I created a fresh install then 20:15:50 <JGR> What are you trying to do? 20:16:24 <TallTyler> I want to put .geojson files in `scenario/geodata` which doesn't currently exist 20:17:16 <TallTyler> https://cdn.discordapp.com/attachments/1008473233844097104/1025501608869646408/mass.geojson 20:17:16 <TallTyler> A sample file, to be loaded using a new button on top of a heightmap with matching extents 20:18:03 *** esselfe has quit IRC 20:18:22 *** esselfe has joined #openttd 20:18:46 <TallTyler> The special entries `NORTH_EXTENT` and `SOUTH_EXTENT` correspond to the northernmost and southernmost tiles and allow the other town locations to be determined 20:18:57 <JGR> You could add it to `enum Subdirectory` and `_subdirs` 20:20:51 <TallTyler> Ah, I missed `default_subdirs[]` 20:20:53 <JGR> Might it be easier if the PNG and the JSON file were bundled together in a tar file or equivalent? 20:21:06 <JGR> Thinking about distribution, bananas, etc 20:21:09 <TallTyler> Yes, probably 20:21:29 <TallTyler> An enhancement for a later date once I get JSON parsing working 20:22:22 <TallTyler> Another enhancement could be the ability to save this data from existing games or scenarios 20:23:05 <TallTyler> One advantage of this being that it's NewGRF agnostic - you could easily change house or industry sets while keeping the same town names and locations 20:23:15 <andythenorth> welcome to the exciting world of projections π 20:23:39 <andythenorth> you need to account for the fact that lat-longs, and especially Z-height change when the tide comes in 20:23:47 <TallTyler> Yeah, I'm pretty much leaving it up to the scenario maker to figure out how to get matching PNGs and GeoJSON files 20:24:01 <andythenorth> and the OpenTTD world is even less spherical than the actual Earth 20:24:59 <andythenorth> meh, no high score π¦ BaseException: ('Object ID limit exceeded', 256, 'wire_rod_mill_object_04') 20:25:09 <TallTyler> Besides docs for GeoJSON requirements I'll probably make a tutorial video describing my workflow, which is 100% possible using public or open-source data and tools 20:25:38 <TallTyler> TallTyler: Fixed it π 20:29:05 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1025504579737092197/unknown.png 20:29:05 <andythenorth> Cranes cargo? 20:30:40 <TallTyler> https://cdn.discordapp.com/attachments/1008473233844097104/1025504979013869578/cranes.jpg 20:31:18 <andythenorth> I saw a crane delivery in Mumbai 20:31:28 <andythenorth> we were on a ferry, crane ship passed right by 20:31:37 <andythenorth> definite element of WTF? when seen from a distance 20:31:51 <andythenorth> 'why is that dock floating across the harbour' 20:33:28 <DorpsGek> [OpenTTD/dibridge] poVoq opened issue #78: Some tagging signifier to avoid tagging random people on Discord? https://github.com/OpenTTD/dibridge/issues/78 20:34:35 <TallTyler> Maybe those people should choose better usernames π 20:44:23 <andythenorth> hmm plastic -> wire processor -> welding rods 20:44:26 <andythenorth> something is wrong with that π 20:45:30 <TallTyler> No different from the old "making Food out of Packaging" trick? 20:45:54 <andythenorth> or pipe assemblies from welding gas? 20:49:14 <petern> NewGRF docks eh? 20:49:41 <andythenorth> that would be a thing 20:49:47 <andythenorth> newgrf dock objects 20:49:53 <andythenorth> with state machines 20:50:07 <andythenorth> with voxels 20:51:16 <TallTyler> We need a `Top 10 OpenTTD Buzzwords` blog post from andythenorth 20:51:17 <DorpsGek> [OpenTTD/dibridge] TrueBrain commented on issue #78: Some tagging signifier to avoid tagging random people on Discord? https://github.com/OpenTTD/dibridge/issues/78 20:52:17 <andythenorth> I need to mute the other dev channel in discord π 20:52:21 <andythenorth> having 2 is weird π 20:52:24 <petern> Oh christ I started NewGRF docks in 2019... 20:52:53 <TallTyler> 2019 was only last year...right? 20:53:11 <andythenorth> I started Unsinkable Sam in 2016 20:53:15 <andythenorth> still no release 20:53:22 <andythenorth> it's the new DB Set XL 20:53:49 <TallTyler> Should've started with DB Set M, that's a more achievable goal 20:54:01 <andythenorth> I have seen one other person using Sam 20:54:05 <TallTyler> Me? 20:54:09 <andythenorth> so it's no longer true to say Everybody Hates It 20:54:15 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1025510915401076806/unknown.png 20:54:17 <andythenorth> such Sam 20:54:20 <TallTyler> Maybe you haven't seen me using it 20:54:28 <andythenorth> I only judge by Reddit 20:54:31 <andythenorth> the true standard 20:54:32 <TrueBrain> andythenorth: It is kinda your fault that this channel become 90% Discord activity π Don't blame it on the server! 20:54:49 <andythenorth> I was blaming me silly 20:55:02 <TrueBrain> β€οΈ 20:55:19 <andythenorth> "andythenorth please find the mute button provided" 20:55:21 <andythenorth> lol 20:56:20 <TrueBrain> it is mostly funny how this channel was meant to bridge IRC to Discord, but it turned out in reverse π 20:56:31 <TrueBrain> some things are unpredictable in life π 20:57:05 <TallTyler> Bridges go both ways though π§ 20:57:25 <TrueBrain> but there is an intention with everything ... in this case, dragging to old into the new, not the new into the old π π 20:58:25 <TallTyler> I think most people chatting here are on Discord, and there's just a few left on IRC 20:58:44 <TrueBrain> that was ... my point yes π 20:58:51 <andythenorth> it is the best thing since sliced bread TBH 20:59:05 <TrueBrain> I love how you love the image copy/paste π 20:59:19 <andythenorth> none of the discord channels ever quite had the same chat as irc 20:59:33 <andythenorth> much as I love realistic timetabling, or voxel sprites 20:59:53 <andythenorth> and I no longer have to run an irc client 21:00:09 <andythenorth> best thing is being able to close my laptop when I go up or downstairs 21:02:05 <petern> Oh right, magic new command system that doesn't rely on manual bit-stuffing 21:03:03 <TrueBrain> scary aint it? 21:05:06 <andythenorth> meh "FIRS: designed by graphviz" again π 21:05:15 <TrueBrain> lol 21:13:33 <petern> Every time I plan to whittle this patch set down, I add more bits π¦ 21:13:55 <petern> I don't really want to do my old trick of literally rewriting it. 21:14:14 <petern> (Hello NewGRF stations!) 21:29:43 <andythenorth> I've had the same broom for 18 years 21:29:57 <Bouke> I'd like to extend the base graphics with coloured tile overlays. I don't want to replace the base set, merely offer some additional sprites. I'm currently doing that by loading a NewGRF "overriding" base graphics (with non-existing sprite IDs). But that introduces a dependency on loading such a NewGRF. Is there a way I can embed these overlays with the game? (I'm not against a NewGRF, but it should be a "hidden" NewGRF that's included in 21:29:58 <andythenorth> I've replaced the bristles 6 times and the handle 3 times 21:30:17 <andythenorth> openttd.grf 21:30:40 <TallTyler> Here's a small PR which shows how to add sprites: https://github.com/OpenTTD/OpenTTD/pull/10034 21:30:55 <andythenorth> media/baseset/ 21:31:12 <Bouke> https://cdn.discordapp.com/attachments/1008473233844097104/1025520212793106512/unknown.png 21:31:12 <Bouke> Here's the junction from earlier, now with ugly sprites that I've drawn. (without the proper diamond mask yet) 21:32:10 <JGR> Is this intended to be a "debugging" type feature, or something that normal players will use? 21:32:26 <andythenorth> hmm https://www.pelloby.com/ 21:32:29 <andythenorth> cranes and hoists 21:33:18 <andythenorth> I might run out of cargos π¦ 21:33:27 <petern> I might run out of commits. 21:34:38 <Bouke> JGR: This feature would be targeted at normal players, yes. Well probably only advanced players I guess. Or players with a little more than healthy amount of interest of statistics. 21:35:20 <Bouke> Currently I've assigned a hotkey to toggle the overlays as they look pretty ugly as-is. 21:35:57 <petern> Hmm She Hulk is a bit weird. 21:36:04 <petern> 4th wall etc 21:36:08 <Bouke> Thanks andythenorth and TallTyler, very helpful! 21:36:19 <andythenorth> guess I won't be doing pressure vessels π 21:36:24 <andythenorth> or pre-cast concrete sections 21:37:03 <TallTyler> GUI is added, now to figure out how to parse JSON using the library I found π 21:37:08 <JGR> There was a feature in ChillPP which was sort of similar to that, in that signals recorded statistic how long trains were waiting at them 21:37:18 <JGR> The values were only shown in the minimap window 21:37:31 <JGR> statistics of* 21:38:17 <Bouke> Ah yeah that'd be a great statistic as well. 21:39:15 <Bouke> I'm wondering if path-finding could take those statistics into account, to reroute traffic around congested parts of the main lines. 21:40:48 <Bouke> W.r.t. `openttd.grf`, that's 8bit. Can I also add 32bit sprites? (I want semi-transparent overlays) 21:41:01 <JGR> It'd likely be difficult to tune something like that given the huge variety in network styles 21:41:15 <JGR> Also, the players need to be left some work to do π 21:42:30 <Bouke> Haha yeah when I'm playing, there's always some point where I think I should program my way around it instead of actually playing. I should get playing with programmable signals, I guess. 21:44:35 <JGR> It is fairly different playing style once you start really using those sorts of things 21:44:37 <andythenorth> hmm electrical steel 21:47:47 <andythenorth> might be too late to insert that to Steeltown π 21:53:27 *** Wolf01 has quit IRC 21:53:54 <andythenorth> goes it increase cargo limit? π 21:56:49 <pickpacket> andythenorth: electric steel? 21:57:08 <andythenorth> specific alloy used in electrical applications 21:57:17 <andythenorth> https://matmatch.com/learn/material/electrical-steel 21:58:30 <pickpacket> btw, the industry ID collision problem (the reason that industry NewGRFs mostly aren't compatible), how hard would that be to remedy? 22:09:18 <TallTyler> It's not industry IDs, it's cargo IDs 22:11:47 <TallTyler> Okay smart people, need some help with syntax. How do I parse a .geojson `_file_to_saveload` into an object in C++ using this library? 22:11:47 <TallTyler> https://github.com/dropbox/json11/blob/master/json11.hpp 22:13:29 <petern> Load it into a string and call parse()? 22:22:23 <TallTyler> Suggestions on making it a string? 22:22:38 <TallTyler> Saveload is confusing π₯² 22:22:40 <petern> How are text files read? 22:23:01 <TallTyler> Do we read text files anywhere? 22:23:05 <petern> saveload suggests it's stored in the save game? 22:23:15 <TallTyler> Sorry, not safeload 22:23:20 <petern> If it's not, then I don't think saveload is the right thing to look at π 22:23:38 <petern> Yeah, there's a text file viewer, readmes, licences, etc. 22:24:29 <TallTyler> `_file_to_saveload` is used for heightmaps too 22:24:36 <TallTyler> Which is what I've been copying so far 22:25:01 <petern> Oh. Hmm. 22:26:13 <TallTyler> Textfile is all dealing with .tar files, but I'll look around 22:26:24 *** sla_ro|master has quit IRC 22:28:47 <petern> That's because content is bundled in tar files, but it can also be extracted. I think the same functions handle both cases without the calling code needing to care. But I could be wrong. 22:29:32 <TallTyler> I've been plugging away at this for 10 hours, I'll try again tomorrow π 22:30:21 <TallTyler> GitHub branch for anyone curious: https://github.com/2TallTyler/OpenTTD/tree/geodata 22:37:57 *** Wormnest has joined #openttd 22:38:03 *** ChoHag has quit IRC 22:38:14 *** ChoHag has joined #openttd 22:38:14 <petern> TextfileWindow::LoadTextfile(const char *textfile, Subdirectory dir) 22:38:26 <petern> ^ Seems relatively simple? 22:39:02 <petern> (Lots of that is to do with display, so not necessary for you) 22:40:23 <petern> _file_to_saveload.name would be the filename, I suppose? 22:46:35 <petern> Crap, accidentally touched saveload.h π¦ 22:53:07 <petern> /me waits 22:53:17 <petern> Discord, no! 23:03:05 <TallTyler> `std::string string = TextfileWindow::LoadTextfile(_file_to_saveload.name, GEODATA_DIR);` ? 23:03:40 <TallTyler> `a nonstatic member reference must be relative to a specific object` 23:03:57 <TallTyler> Oh, plus that's a void return 23:05:31 <TallTyler> I'm stupid π€¦ββοΈ 23:05:45 <TallTyler> You meant copy the code, not call that method 23:40:07 *** gelignite has quit IRC 23:55:42 <DorpsGek> [OpenTTD/OpenTTD] Arastais opened pull request #10065: Fix #8252: Remove duplicate functionality in `screenshot.cpp` https://github.com/OpenTTD/OpenTTD/pull/10065