Luanti logo

IRC log for #luanti, 2025-09-27

| Channels | #luanti index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:22 Helenah How do vaccuum pheumatic tube segments work? I attached one to a chest but it doesn't seem to pipe it out.
00:22 Helenah Items in the chest, that is, don't pipe out.
00:30 Helenah I think I need an injector. :D
00:54 Helenah Sorted! :D
01:05 Eragon joined #luanti
01:26 SwissalpS joined #luanti
01:33 repetitivestrain joined #luanti
02:17 mrcheese joined #luanti
02:37 aliasstilltaken joined #luanti
03:33 repetitivestrain sfan5: the fix for #16516 is to prevent some blocks in the border from being inappropriately marked as generated, by restoring my version of the comparison finishBlockMake which did not use v3s16's comparison operators, as those establish a total order rather than just a component-wise comparison
03:33 ShadowBot https://github.com/luanti-org/luanti/issues/16516 -- Suspected lighting regression
03:33 repetitivestrain https://paste.debian.net/1398314/
03:34 repetitivestrain of the comparison in FinishBlockMake*
04:00 MTDiscord joined #luanti
04:00 tzenfore joined #luanti
04:56 sparky4_ joined #luanti
05:55 SFENCE joined #luanti
06:16 SFENCE joined #luanti
06:37 SFENCE joined #luanti
07:22 FeXoR joined #luanti
07:34 YuGiOhJCJ joined #luanti
07:44 jaca122 joined #luanti
07:45 Talkless joined #luanti
07:49 sfan5 ok, please get someone to open a PR
08:02 FileX joined #luanti
08:06 repetitivestrain it's a trivial change (fewer than 5 lines), and i feel absolutely no obligation to pursue a problem that was introduced by deleting my code against my advice, so Blockhead256 or Wuzzy will have to do the honors
08:06 repetitivestrain I'm afraid
08:08 sfan5 I have a feeling successful open-source collaboration looks different
08:20 repetitivestrain neither does it, i think, conclude with programmers experiencing terminal exhaustion over trifles such as communication...  anyway the OP appears to be adequately motivated and I shall defer to him
08:26 Krock repetitivestrain: would you please be so nice to provide this as a patch (not diff), such that authorship is correct if I were to open a PR?
08:26 Krock ok
08:27 Krock heh. I copied the username from corarona's PR description to make sure I make no typos :3
08:28 Krock or I didn't. uh whatever
08:57 SFENCE joined #luanti
09:27 SwissalpS joined #luanti
09:30 identity joined #luanti
09:50 shaft joined #luanti
09:52 shaft I made a mod where you can paste base 64 pngs into a painting in the game. ^[png seems to be the only method to add and remove textures at runtime. However Luanti can't actually validate that it's a png. Might throw a red error message but doesn't seem to crash the game. Is it a bad idea?
10:21 Krock shaft: it'll waste the client's RAM if you update it too frequently. "Might throw a red error message" does seem like a validation, though.
10:21 Helenah joined #luanti
10:22 shaft Yes but I can't check that the PNG is valid before applying it, right?
10:23 shaft Like reaaally valid and will decode to an actual picture with the correct dimensions
10:24 sfan5 you can do basic validation in Lua
10:24 shaft But basic seems halfassed and using some huge library seems overkill
10:26 kaeza joined #luanti
10:39 Krock yes. the server has no dependencies on libjpeg/libpng, or any other client-relevant audiovisual libraries. Thus it cannot validate them beforehand. Also PNGs created during runtime would have to be checked during runtime too...
10:39 Krock unless you can write a test framework to test a few inputs and check the resulting images
10:46 mrkubax10 joined #luanti
10:51 turtleman joined #luanti
10:59 Haven0320 joined #luanti
11:00 Haven0320 joined #luanti
11:13 shaft What size should i limit the entity staticdata size to? I found that a 10kB is safe. Somewhere above it crashes the game.
11:16 SFENCE joined #luanti
11:30 Krock 64 KiB might be a magic border
11:56 shaft hmm 50 kB still works. I guess 10 kB was rather conseravative. On the other hand it seems like a fine limit. Good enough for a full color image around 60x60. Indexed can go much higher. Of course 128x128 full color is pretty to look at but it seems like not much gain for the increase.
12:08 luatic shaft: png is a simple format, you can parse it using a script of very modest size: https://github.com/appgurueu/modlib/blob/master/minetest/png.lua
12:08 luatic that parser is strict
12:09 shaft Can it actually guarantee that you get out an undamaged image?
12:09 luatic to the best of my knowledge, yes
12:10 luatic if parsing using my parser succeeds, you should have a valid PNG file
12:12 user2_ iirc the 'simplest' image format is the standard windows icon (.ico)- it's header is literally just 4 bytes iirc, but i don't think it's supported
12:12 luatic i believe TGA is also more simple, but that's not the point right now
12:13 user2_ yeah
12:14 user2_ i personally think this could be a crash exploit if you find a way to work around the parser validation
12:17 shaft Yes or resource abuse. I think I'll just have to put some priviledge on it.
12:21 MTDiscord <the4spaceconstants2181> they absorb dropped items
12:32 stg-developer joined #luanti
12:38 SFENCE joined #luanti
12:41 identity ICO is plenty complex, iirc it is just a container for BMP/PNG images.  portable anymaps, on the other hand, are much less so: four numbers for headers + the payload that may be encoded as either binary or plain text
12:41 identity <https://en.wikipedia.org/wiki/Netpbm#File_formats> has a description of the file format, and further down plain text examples
12:42 shaft That's a very good point.
12:43 shaft Ico is just another bmp variant at best, just like .cur
12:44 user2_ i meant it has a simpler header than PNG, i wasn't referring to the image data itself
12:44 shaft BMP has a simpler header than ICO
12:46 user2_ BMP is unsupported by the engine since 5.10.0 iirc- however ICO was never supported afaik
12:46 shaft And why should it? It's terrible. Microshit forced it on the web with Internet Explorer.
12:47 user2_ anyway, here is the header from an icon, copied straight from my hex editor: 00 00 01 00
12:47 user2_ shaft: because it's lossless, unlike JPEG, which is still supported?
12:50 user2_ PNG is the best overall, it's very common and is completely lossless
12:50 shaft A minimal bmp has at least 54 bytes header according to ChatGPT.
12:51 shaft And ICO 22 bytes.
12:51 user2_ not according to my hex editor
12:52 identity “a minimal bmp has at least 54 bytes header according to some guy i asked on the street.”
12:53 shaft I made a 1x1 ico with gimp and it's 78 bytes.
12:55 user2_ that's not the header though, that's the full icon
12:56 shaft With PNG I can go down to 69 bytes using GIMP.
12:56 shaft Yes but how much image data do you have at 1x1
12:58 user2_ i'm looking at the 48x48 luanti-icon.ico
12:58 user2_ it's... 9.4 KB
12:59 identity it depends.  there could be, like, 16 bytes for a single pixel?  4 per colour, RGBA has 4, so 4×4
13:00 user2_ it seems the 8.1 KB luanti.svg has the highest detail in the smallest file size
13:00 user2_ (because it's not a bitmap-type image)
13:03 user2_ SVG seems to be literally just text in an XML format with a .svg extention
13:05 identity not just seems to be, it is an xml-based vector graphics format
13:06 [MatrxMT] <repetitivestrain> Sure, in an hour
13:06 [MatrxMT] <repetitivestrain> And thanks
13:07 user2_ well it has very good image quality in a tiny file size, i think it might be better than PNG (if the engine supports it ;-;)
13:09 identity it is better when you need something scalable (‘S’ is for Scalable), but for very simple images/bitmaps it is frequently suboptimal, i think
13:12 luatic user2_: the engine doesn't support it; it is a very complex file format and not easy to support, you need a capable rasterizer among other things
13:13 luatic see #10770 for discussion
13:13 ShadowBot https://github.com/luanti-org/luanti/issues/10770 -- SVG icon/texture support
13:14 identity if we are talking about image formats, i have to throw in JPEG XL: <https://jpeg.org/jpegxl/>
13:16 user2_ interesting
13:17 user2_ i don't think there's going to be a sudden change from PNG any time soon however
13:21 identity JPEG XL is, basically, JPEG but with much better compression/quality (including lossless) and some other neat tricks up its sleeves.  it is used sporadically on the web, as browser support is (was?) in flux, but people do not know about it as much as they know about (and complain about the (lack of) support for) WebP&co.
13:50 ireallyhateirc joined #luanti
13:53 mrcheese joined #luanti
14:22 SFENCE joined #luanti
14:31 mrcheese joined #luanti
14:37 shaft Google has actively been sabotaging jpeg xl with all means they have. AVIF and WebP on the other hand were shipped out to consumers before anyone could call them finished.
14:44 MTDiscord <et086> but firefox doesn't support jpegxl natively too i think
14:55 identity joined #luanti
14:56 mrcheese joined #luanti
15:12 cheapie One of these fences is not like the others... https://cheapiesystems.com/media/images/screenshot_20250927_101145.png
15:12 cheapie (yes, that's a digiscreen again)
15:48 crazylad joined #luanti
16:49 cheapie digistuff GPU fun: https://cheapiesystems.com/media/2025-09-27%2011-46-30.webm
16:53 MTDiscord <et086> cool
16:53 cheapie Maybe if I ever figure music out (like how to make it, not how to play it in game... *that* part is easy) I might have to make a whole demo or something :P
17:21 identity joined #luanti
17:58 qqe joined #luanti
18:11 mrkubax10 joined #luanti
18:29 qqe joined #luanti
19:07 MTDiscord <zeminori> You also actually implemented cooling?
19:09 Krock aethetics
19:10 cheapie zeminori: Just decorative
22:04 Kimapr_ joined #luanti
22:34 panwolfram joined #luanti
22:42 Haven0320 joined #luanti
22:52 kaeza joined #luanti
22:54 Haven0320 joined #luanti
22:55 crazylad joined #luanti
23:43 Sharpman joined #luanti

| Channels | #luanti index | Today | | Google Search | Plaintext