Luanti logo

IRC log for #luanti, 2025-07-15

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

All times shown according to UTC.

Time Nick Message
01:43 repetitivestrain sfan5: https://codeberg.org/halon/Minetest/commit/cfc859db2aee0617367a74af2cbd153e3a6c8826
01:43 repetitivestrain I corrected the coding style and squashed both commits
02:21 FileX joined #luanti
02:29 [MatrxMT] <Blockhead256> repetitivestrain: I have re-cherry picked and pushed to a new PR (accidentally deleting one)
02:29 [MatrxMT] <Blockhead256> https://github.com/luanti-org/luanti/pull/16339
02:29 repetitivestrain Thank you
02:30 [MatrxMT] <Blockhead256> also, you did not follow the whitespace rules according to the linter https://github.com/Montandalar/minetest/actions/runs/16282520210/job/45974780406#step:5:15
02:30 migdyn joined #luanti
02:30 repetitivestrain Hmm, where is the error?
02:30 repetitivestrain I ran emacs's tabify over the file
02:34 migdyn WTF are you talking about?
02:34 migdyn (I just joined)
02:36 MTDiscord <wsor4035> then read the log
02:37 MTDiscord <wsor4035> irc.luanti.org
02:38 migdyn MTDiscord: thanks, thought it was dowj
02:38 migdyn down
02:42 migdyn repetitivestrain: in servermap.cpp there are some spaces in line 332
02:42 migdyn that's probably what's tripping it
02:42 repetitivestrain 333, you mean
02:42 repetitivestrain fixed
02:43 migdyn on github it says 332
02:43 migdyn but maybe its different in you editor
02:43 repetitivestrain https://codeberg.org/halon/Minetest/commit/0132cac5de499d4d2b31fce4f276125d3a74f5db
02:44 repetitivestrain Blockhead256: i have forborne to squash the commits now lest you should feel compelled to delete the ticket again...
02:51 [MatrxMT] <Blockhead256> w'll wait for further feedback to see, and your fix there can just be rolled into whatever step is next (merge or another fix)
02:52 [MatrxMT] <Blockhead256> I won't be deleting again, that was my mistake for deleting the remote instead of force pushing
03:57 squeaktoy joined #luanti
04:00 MTDiscord joined #luanti
04:54 est31 joined #luanti
05:33 Trifton joined #luanti
06:22 FileX joined #luanti
07:01 amfl2 joined #luanti
07:52 FileX joined #luanti
07:53 Fusl joined #luanti
09:36 calculon_ joined #luanti
09:43 kamdard_ joined #luanti
09:50 mrkubax10 joined #luanti
10:00 mrkubax10 joined #luanti
10:44 ltuyen joined #luanti
10:46 ltuyen left #luanti
11:27 ireallyhateirc joined #luanti
11:38 qqe joined #luanti
11:48 Desour joined #luanti
11:52 ireallyhateirc 99% of contributors give up *before* their PR gets merged! Keep gambling to get to the 1%
12:02 cheek_pain joined #luanti
12:24 [MatrxMT] <Bracket> real
12:55 silverwolf73828 joined #luanti
13:08 the_sea_peoples joined #luanti
13:18 SwissalpS guess most of those 99% don't even submit their PR
13:39 repetitivestrain sfan5: regarding: if the position was defined as a v3s16 from the beginning this could be simplified
13:40 repetitivestrain would you elaborate?  i'm not sufficiently familiar with irrlicht to be aware how v3s16 would simplify iteration of this nature
13:41 sfan5 you can compare two vector3d using operators, no need for a.x < b.x && a.y < b.y && the rest
13:41 repetitivestrain I see
13:41 repetitivestrain Thanks
13:42 repetitivestrain ireallyhateirc: honestly i am only impelled by a desire to have one release of minetest capable of supporting my map generator available or imminently available by the time it is released
13:43 repetitivestrain peformance-only or QOL features such as sfan5's cubic mapchunks patch, or CSM physics, by contrast, are modifications i am content with carrying in my own private fork
13:43 ireallyhateirc I'm pretty much waiting for my PR related to mapgen which is actually a revival of a PR from 2022
13:43 ireallyhateirc tho I'm joking, I know devs are busy
13:43 ireallyhateirc I'd love to have more freedom with Lua mapgens
13:44 repetitivestrain ireallyhateirc: solely out of curiosity, which PR is it?
13:44 ireallyhateirc https://github.com/luanti-org/luanti/pull/15730
13:45 repetitivestrain amen to that, although I have only experienced real difficulties with bugs such as my patch addresses, as my lua map generator doesn't utilize the built-in biome system, gennotifies, or decorations
13:45 ireallyhateirc the problem is that I'm not good with C++, I just rebased it and made sure it works, but if it bitrots I won't be able to fix it
13:46 repetitivestrain instead mine provides surface rules and a biome system where biomes are defined by 6-dimensional hypercubes encompassing noise values that also define terrain
13:47 repetitivestrain if you're interested: https://codeberg.org/mineclonia/mineclonia/src/commit/mineclonia_mapgen/mods/MAPGEN/mcl_levelgen/surface_system.lua
13:47 repetitivestrain https://codeberg.org/mineclonia/mineclonia/src/commit/mineclonia_mapgen/mods/MAPGEN/mcl_levelgen/biomes.lua
13:47 repetitivestrain specifically the section commencing here, where the biome index is implemented: https://codeberg.org/mineclonia/mineclonia/src/commit/mineclonia_mapgen/mods/MAPGEN/mcl_levelgen/biomes.lua#L168
13:49 ireallyhateirc I'm not that advanced, I just want the system to be flexible enough so my city generator works
13:50 ireallyhateirc my wishlist encompasses the PR I just mentioned, giving access to stages of mapgen (after decorations, before, etc.) and fixing the threading bug (y-slices)
13:50 ltuyen joined #luanti
13:50 repetitivestrain ireallyhateirc: the most the engine could do to accommodate my mapgen would be to permit mods to override core.get_biome_data, the humidity and heat map, and the engine heightmap
13:51 repetitivestrain it isn't awfully important as i can modify (and have done so) mineclonia to invoke my APIs in their place, but this does not address the matter of compatibility
13:51 repetitivestrain is your mapgen singlenode-based?
13:51 repetitivestrain Incidentally
13:53 ireallyhateirc my city mapgen uses flat mapgen to generate the surface, then I will generate the city on top of that. The propsed changes would be better for organic mapgens with trees and such
13:54 repetitivestrain couldn't you generate your city in multiple stages to sidestep the overgeneration issue?
13:56 repetitivestrain in mine terrain and large structures (which are divided into pieces and generated piecemeal) are generated by the standard emerge process, but decorations are not placed till a chunk's surroundings are generated and secured from overgeneration
13:56 repetitivestrain whereupon they are copied into a VoxelManip that is uploaded to an async thread
13:57 repetitivestrain to be subjected to decoration placement
14:02 ltuyen left #luanti
14:07 repetitivestrain Blockhead256: sfan5: https://codeberg.org/halon/Minetest/commit/ac7ffffb1669e234ca837d27af2fa726db634540
14:07 ireallyhateirc repetitivestrain, well I'm going to do just that. I'm not even sure if the issue happens with Lua mapgens actually
14:08 ireallyhateirc I haven't observed it so far
14:09 [MatrxMT] <Blockhead256> repetitivestrain: line 334/`continue` is still indented with tabs
14:09 repetitivestrain isn't it supposed to be indented with tabs?
14:10 [MatrxMT] <Blockhead256> sorry, actually it's a tabs project right
14:11 repetitivestrain ireallyhateirc: overgeneration certainly does, but very subtly: it affects you oftenest (and whether or not multiple mapgen threads exist) when you attempt to write to MapBlocks shortly after they are generated, and also if you ever write into the entirety of the emerged_area within on_generated you can expect to encounter threading issues
14:11 [MatrxMT] <Blockhead256> BUT it's a mixed line `^I^I....continue;`
14:11 repetitivestrain i only see tabs here
14:11 sfan5 repetitivestrain: please just get the changes pushed to github, no need to ping me
14:11 [MatrxMT] <Blockhead256> woops I have to actually pull
14:11 repetitivestrain Okay, in that case I only have Blockhead256 to volunteer
14:12 [MatrxMT] <Blockhead256> on it
14:12 [MatrxMT] <Blockhead256> pushing to github will generate the notification, so no need to poke people
14:12 [MatrxMT] <Blockhead256> ..people on that site anyway
14:13 repetitivestrain ...threading issues... my map generator will defer processing until a minimum margin of a single block around the chunks to be post-processed has been emerged around the chunks to be post-processed
14:15 repetitivestrain the absence of mapblock metadata is rather vexing though, since in its absence i must store mapblock metadata in 4MB "sections" within mod storage, load them, cache them, and implement write-ahead logging to provide for abrupt shutdowns, which is still not guaranteed to be reliable, as mod storage and mapblock storage are separate databases
14:16 repetitivestrain and there is a host of metadata from the emerge process that must be persisted, namely, biomes, a bitmask indicating nodes that were altered by structures, heightmaps, and so forth
14:23 repetitivestrain ireallyhateirc: could you post a link to your city generator?
14:23 repetitivestrain provided that it's public
14:24 ireallyhateirc it is public but there's not much to see, I only got some roads to generate and it's not even finished
14:33 repetitivestrain Alright then
14:36 ireallyhateirc well I can send you a link anyway, but it's probably not worth your time in the current state
14:37 repetitivestrain i would still be interested
14:37 ireallyhateirc https://codeberg.org/perfect_city_game_studio/perfect_city
14:38 ireallyhateirc https://codeberg.org/perfect_city_game_studio/perfect_city/src/branch/master/mods/pcity_mapgen
14:38 repetitivestrain Thanks
14:38 ireallyhateirc make sure to check the list of known issues with the "mapgen" tag though
14:39 ireallyhateirc I haven't touched this code in 1 year
14:39 repetitivestrain incidentally I posted some screenshots of mine to this forum thread: https://forum.luanti.org/viewtopic.php?p=445901
14:39 ireallyhateirc also I'm not some coding prodigy so this could be all a spaghetti
14:40 ireallyhateirc what does "minecraft compatible" mean here?
14:40 ireallyhateirc as in 1:1 copy?
14:40 ireallyhateirc or that you can use the map in Minecraft
14:40 repetitivestrain you can use Minecraft seeds and they will produce the same terrain
14:41 ireallyhateirc does it have bug-to-bug compatibility?
14:41 repetitivestrain and generate structures at the same locations as in Minecraft
14:41 repetitivestrain i fixed MC-188358
14:42 repetitivestrain otherwise yes, unless the bug is non-determinism (which applies only to desert pyramid elevation) or mojang-copyrighted schematics were involved and the component in question was written without regard to replicating minecraft, in which case the question is altogether moot
14:43 repetitivestrain which was achieved by instrumenting compiled minecraft world generator classes with a number of java debugging tools and running them standalone for testing--no decompiled source code or Mojang obfuscation maps were involved
14:44 [MatrxMT] <Blockhead256> it would be funny if someone speedran mineclonia to what's usually a minecraft audience
14:44 [MatrxMT] <Blockhead256> with 1:1 generation and a texture pack it would get into funny uncanny valley territory
14:44 repetitivestrain We're not there yet
14:44 repetitivestrain the absence of ambient lighting does a number on one's sense of orientation
14:45 repetitivestrain and villages, although they generate at the same locations, do generate with different layouts and loot on account of the differences in schematics between the two games
14:45 repetitivestrain one's sense of orientation in the Nether, to be precise
14:47 repetitivestrain Nevertheless, every structure that appears in chunkbase should originate at the positions indicated on that website
14:47 repetitivestrain and conversely no structures should be generated that minecraft would not
14:48 MTDiscord <luatic> I genuinely admire your dedication
14:49 repetitivestrain Speaking of ambient lighting, what's minetest's minimum OpenGL requirement today?
14:49 repetitivestrain I suppose SSBOs can't be relied upon
14:54 [MatrxMT] <repetitivestrain> Thanks
14:54 [MatrxMT] <repetitivestrain> In defense of my modesty, I had a very compelling motive
14:55 [MatrxMT] <repetitivestrain> in the shape of operating a server where everyone but me hailed from Minecraft, and would always notice conspicuous compromises such as the miniature substitute schematics Mineclonia provides for engine mapgens
14:55 [MatrxMT] <repetitivestrain> which cannot well accommodate structures any larger
14:56 [MatrxMT] <repetitivestrain> or the fact that ExtremeHillsM could be assigned to terrain that was flat
14:56 [MatrxMT] <repetitivestrain> or that "/locate structure" was impossible to implement as decorations simply weren't deterministic
14:57 [MatrxMT] <repetitivestrain> or, and what was worst of all, that the game would freeze for multiple seconds whenever any intensive generation was underway
14:57 [MatrxMT] <repetitivestrain> or the fact that ExtremeHillsM could be assigned to terrain that was as flat as could be
14:58 [MatrxMT] <repetitivestrain> in the shape of operating a server where everyone but myself hailed from Minecraft, and would always notice conspicuous compromises such as the miniature substitute schematics Mineclonia provides for engine mapgens
15:00 [MatrxMT] <repetitivestrain> And I did so badly desire a completely async map generator
15:00 ltuyen joined #luanti
15:03 ltuyen Can i let children play Luanti?
15:03 ltuyen I don't play Luanti mostly.
15:05 [MatrxMT] <repetitivestrain> I wouldn't think so
15:06 [MatrxMT] <repetitivestrain> Some of the motifs that recur on Luanti servers are apt to be quite extreme
15:07 [MatrxMT] <repetitivestrain> Including my server...which is incontestably not suitable for children
15:09 Blockhead256 joined #luanti
15:10 ltuyen left #luanti
15:10 celeron55 eh
15:11 celeron55 you could have said "set up a local server for them" but you decided to tell that?
15:11 celeron55 now they're gone and probably won't check logs
15:11 MTDiscord <rollerozxa> I once saw there was someone on my server who had said they were born in 2017 (...7 years old), so uh, please supervise your kids if they're that young and are going to join random public multiplayer servers
15:11 MTDiscord <rollerozxa> you can also change serverlist_url in the advanced settings to disable the serverlist so they may only see a private server you run as the favourite, or similar
15:11 MTDiscord <rollerozxa> oh, they left
15:13 celeron55 anyway, a very obvious "for kids" mode, build or something would clearly have an audience
15:18 [MatrxMT] <repetitivestrain> that's the issue: Luanti doesn't provide parental controls and it is far too simple for children to wind up on any odd server on the serverlist
15:19 [MatrxMT] <repetitivestrain> If I had chosen to be a parent, I would be considerably alarmed to discover that my kids were being given free reign over the serverlist
15:19 [MatrxMT] <Bracket> but then if a child is smart enough it can just download anything
15:19 celeron55 well, you, as the parent, are the one who gave their the free reign
15:19 [MatrxMT] <Bracket> which i dont assume actually
15:19 celeron55 as it's not explicitly a "for kids" product
15:19 [MatrxMT] <repetitivestrain> Yes, so I would not
15:20 [MatrxMT] <repetitivestrain> The serverlist is more overt than just a venue for bright children to engage in mischief
15:20 celeron55 there's also cdb which would need a bit of special handling in the "for kids" mode
15:21 [MatrxMT] <repetitivestrain> Hear hear
15:22 [MatrxMT] <repetitivestrain> I think it would have the additional advantage of improving Minetest's OARS ratings
15:33 jaca122 joined #luanti
15:42 celeron55 if someone wrote a clear spec for this, i guess the implementation wouldn't be a lot of work
15:42 celeron55 it's mostly about the design details
16:05 Trifton joined #luanti
16:23 MTDiscord <luatic> agreed
16:24 MTDiscord <luatic> i think for the home user there's a relatively obvious "parental controls" option where you password lock some settings (e.g. blacklist all servers except for favorites, blacklist all CDB packages except for installed ones)
16:25 MTDiscord <luatic> the school use case is less obvious because you need some way to distribute a whitelist or similar
16:28 MTDiscord <luatic> i might open an issue
16:50 MTDiscord <luatic> wrote it up: #16341
16:50 ShadowBot https://github.com/luanti-org/luanti/issues/16341 -- Parental controls (Luanti for education)
16:52 sfan5 we should probably be asking actual people in education what their requirements are
16:58 MTDiscord <luatic> that's my hope yes
16:59 MTDiscord <luatic> idk if we'll find them on GH tbh, but at least some of them have accounts
16:59 MTDiscord <luatic> i've posted the issue in the luanti edu discord at least
17:01 bracket joined #luanti
17:02 bracket joined #luanti
17:02 bracket hello
17:02 Krock hi
17:09 Talkless joined #luanti
17:57 est31 joined #luanti
18:13 bracket How do you get the size of the screen in formspec units
18:23 kamdard joined #luanti
18:41 bracket hm where can I ask then
18:41 Sharpman joined #luanti
18:47 Krock bracket: the formspec downscales automatically
18:47 bracket But what if I want the formspec to fill 100%?
18:48 Krock bracket: https://github.com/luanti-org/luanti/blob/master/doc/lua_api.md?plain=1#L5927-L5930
18:48 bracket Ok, and whats with mobile / diffrent screen sizes?
18:49 Krock have a look at the context. this is a per-player function call
18:49 bracket oh
18:49 bracket eh
18:49 bracket why is it only "estimated"
18:50 Krock I assume because the formspec code is a little bit of mess
18:50 Krock also formspecs with version >=2 will have other dimensions than version 1
18:51 Krock (keyword: real coordinates)
19:19 bwarden_ joined #luanti
19:21 Elouin joined #luanti
19:28 Elouin joined #luanti
19:41 mrkubax10 joined #luanti
19:53 mrkubax10 joined #luanti
20:10 ___nick___ joined #luanti
20:10 illwieckz joined #luanti
20:13 ___nick___ joined #luanti
21:06 kamdard joined #luanti
21:21 kamdard joined #luanti
21:45 InFerNo_ joined #luanti
21:50 __nick__ joined #luanti
21:53 sparky4 joined #luanti
22:04 Kimapr joined #luanti
22:19 swee joined #luanti
22:32 panwolfram joined #luanti
22:38 swee joined #luanti
22:54 ineva joined #luanti
23:05 Eragon joined #luanti

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