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 |