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:29 [MatrxMT] repetitivestrain: I have re-cherry picked and pushed to a new PR (accidentally deleting one) 02:29 [MatrxMT] https://github.com/luanti-org/luanti/pull/16339 02:29 repetitivestrain Thank you 02:30 [MatrxMT] 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 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 then read the log 02:37 MTDiscord 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] 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] I won't be deleting again, that was my mistake for deleting the remote instead of force pushing 11:52 ireallyhateirc 99% of contributors give up *before* their PR gets merged! Keep gambling to get to the 1% 12:24 [MatrxMT] real 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 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: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] repetitivestrain: line 334/`continue` is still indented with tabs 14:09 repetitivestrain isn't it supposed to be indented with tabs? 14:10 [MatrxMT] 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] 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] woops I have to actually pull 14:11 repetitivestrain Okay, in that case I only have Blockhead256 to volunteer 14:12 [MatrxMT] on it 14:12 [MatrxMT] pushing to github will generate the notification, so no need to poke people 14:12 [MatrxMT] ..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] it would be funny if someone speedran mineclonia to what's usually a minecraft audience 14:44 [MatrxMT] 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 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] Thanks 14:54 [MatrxMT] In defense of my modesty, I had a very compelling motive 14:55 [MatrxMT] 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] which cannot well accommodate structures any larger 14:56 [MatrxMT] or the fact that ExtremeHillsM could be assigned to terrain that was flat 14:56 [MatrxMT] or that "/locate structure" was impossible to implement as decorations simply weren't deterministic 14:57 [MatrxMT] or, and what was worst of all, that the game would freeze for multiple seconds whenever any intensive generation was underway 14:57 [MatrxMT] or the fact that ExtremeHillsM could be assigned to terrain that was as flat as could be 14:58 [MatrxMT] 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] And I did so badly desire a completely async map generator 15:03 ltuyen Can i let children play Luanti? 15:03 ltuyen I don't play Luanti mostly. 15:05 [MatrxMT] I wouldn't think so 15:06 [MatrxMT] Some of the motifs that recur on Luanti servers are apt to be quite extreme 15:07 [MatrxMT] Including my server...which is incontestably not suitable for children 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 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 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 oh, they left 15:13 celeron55 anyway, a very obvious "for kids" mode, build or something would clearly have an audience 15:18 [MatrxMT] 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] 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] 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] which i dont assume actually 15:19 celeron55 as it's not explicitly a "for kids" product 15:19 [MatrxMT] Yes, so I would not 15:20 [MatrxMT] 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] Hear hear 15:22 [MatrxMT] I think it would have the additional advantage of improving Minetest's OARS ratings 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:23 MTDiscord agreed 16:24 MTDiscord 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 the school use case is less obvious because you need some way to distribute a whitelist or similar 16:28 MTDiscord i might open an issue 16:50 MTDiscord 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 that's my hope yes 16:59 MTDiscord idk if we'll find them on GH tbh, but at least some of them have accounts 16:59 MTDiscord i've posted the issue in the luanti edu discord at least 17:02 bracket hello 17:02 Krock hi 18:13 bracket How do you get the size of the screen in formspec units 18:41 bracket hm where can I ask then 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)