Time Nick Message 15:55 Helenah Lets say I have a custom Luanti engine with multi-world support... 16:08 bgstack15 Helenah: that sounds cool. By multi-world, do you mean multiple "dimensions" like Nether/The End/Overworld, or it loads up two world/firstworld world/secondworld directories, and perhaps a player could move between then somehow? 16:09 Helenah bgstack15: Just multiple worlds, with own player roster, map gen, world map, etc. 16:10 bgstack15 Er, if they are entirely separate, how is this better than running two instances of luanti? 16:11 Helenah bgstack15: Jumping between them, dungeon instances, the new possibilities. 16:11 Helenah Custom world parameters... with intentions that you have different worlds with different properties. 16:12 bgstack15 Ah, so those additional ideas are not implemented yet, but would be easier/possible in this multi-world single-luanti-instance design that you have? Cool! 16:12 Helenah Note the point I made about per-world map generations. 16:12 Helenah bgstack15: Yeah 16:13 bgstack15 I don't understand per-world map gen stuff, because I don't understand mapgen stuff. I just play whatever is generated; I don't think about how or why it was generated. 16:13 Helenah No longer would people have to stack their own variant of the nether or the end. 16:13 bgstack15 Now that sounds like it could affect Mineclonia, which is the main game I play, so that sounds very intriguing. 16:15 Helenah bgstack15: When a world is created, a map is generated, when you move around the world, more map is generated, in accordance to a generator and a seed. So imagine instead of a one world system with one generator and one seed, you have a system consisting of multiple worlds and per-world map generation and seed, you could for example have a usual generator for your main world, and for a second one, 16:15 Helenah a custom generator which generates a nether or an end, or something custom. 16:15 Helenah It won't affect anything, the aim is for backward compatibility via there being a "default" world, always, so mods which work on single-world Luanti, will also work on multi-world Luanti, without having to discern themselves with multi-world features. 16:16 bgstack15 It sounds like it could then stick those mapgen params/whatever in a list/array, and you just reference them by index for the world the player is exploring in. 16:16 bgstack15 On a very high level, it sounds simple, but I'm sure it's way more complicated than I can understand. 16:17 bgstack15 So then your awesome idea, if you have already implemented it, would need to be approved by the engine devs if you want it in upstream Luanti. I haven't worked with them before, but I think overall the Luanti project moves conservatively rather than rust-like. 16:24 Helenah There's the struct "WorldInstance" (Does not exist in the mainstream Luanti codebase), which defines the structure of an instance of a running world, the "WorldManager"(Does not exist in the mainstream Luanti codebase) owns a map of these instances by name. A world instance consists of a unique name to identify world by, an absolute filesystem path to the world's data directory (Example: 16:24 Helenah /home/user/.luanti/worlds/nether), a mapgen type string understood by Luanti's emerge system. nullptr for when the world is registered but not yet loaded. Async map-generation coordinator for world. WorldManager class is owned by the Server class, and manages the full lifecycle of every world. 16:27 Helenah I can see benefits to a "world-per-server" multi-server model, as well as cons, and I think it depends on reasons why someone wants multiple worlds. Do they want to be able to teleport between them? Do they want to be able to move items between them? Are they happy for them to be fully isolated instead? Do they want dungeon instances? World of Warcraft for example have dungeon instances which open 16:27 Helenah and close, with what I'm working on, you could define worlds which are only available when events start. 16:28 Helenah C++ is faster at managing these things rather than leaving things down to developers to stack on top of each other plains of map generation, like with the nether mod for example. 16:34 Helenah bgstack15: Another feature I want is the ability for lua scripts to be able to do specific tasks before a world is loaded for the client, and before the player's character is loaded into the world. And for the lua modder to be able to code when the world is to load for the client. This will be good for say class and race selection dialogs, when it comes to RPG mods. 16:39 bgstack15 This sounds pretty great. I suggest before you spend too much time on it, with a possible plan of sharing it with mainstream Luanti, that you get the Luanti devs onboard, so you don't feel like you've wasted time on stuff they ended up disliking. 16:39 bgstack15 Unless, of course, you are going to keep it even if just for yourself. 16:39 [MatrxMT] with a spoofed server you can do poor man's multiworlds 16:41 Helenah hmm 16:42 Helenah bgstack15: I'll probably keep it for just myself if they're not interested, it's not on their todo to implement such themselves. 16:45 bgstack15 If you would be willing to share the repo and maybe a readme of the differences, maybe it'll be useful to others, as you have implied with the features for RPG mods. 17:30 Helenah bgstack15: Just a fork with no commits at the moment. https://github.com/helenah2025/luanti 17:34 Helenah What percentage of Irrlicht is left to be swallowed up by Luanti? I hear that's what will eventually happen, Luanti will eventually swallow it into itself, maybe most "irrlict" or "irr" references in the codebase will be gone in the future. 17:35 Helenah Like, irrlicht is going to just get older and older and more and more unmaintained. 17:37 ireallyhateirc irrlicht is dead pretty much 17:38 ireallyhateirc there are better replacements (e.g. godot) 17:38 MTDiscord what's remaining after the new opengl3 video driver and the SDL device is basically just some GUI stuff, image loading functionality and other very minor things like a zip reader used by the content browser 17:39 Helenah ireallyhateirc: That's why I ask. 17:39 Helenah I believe Luanti's copy of irrlicht won't exist as its own piece for very long, and will just get swallowed up by the Luanti core code as time goes by. 17:43 MTDiscord it's already swallowed up, you can't really build irrlichtmt on its own anymore 17:44 MTDiscord the SDL device, new opengl3/ogles2 video driver and GLTF mesh reader are all within the irr/ directory but was specifically made for luanti in mind. consolidating the two probably isn't very high priority 17:46 MTDiscord i mean, as far as getting rid of irr, doesnt sdl still run through irr? havent checked in a while, but pretty sure sdl isnt called directly in the code 17:48 wolfxyz hello, I am looking for a node list for the minetest game, but it seems that the game wiki no longer exists. Does someone one where i could find a wiki or something like that?? 17:48 MTDiscord wsor: I believe there is some in the android porting code 17:49 MTDiscord wolfxyz: there are some in-game guide mods you could try that will probably be more complete than the wiki ever was. can't recommend any specific though 17:50 MTDiscord wolfxyz, run minetest game with worldedit and run //lua for node in pairs(core.registered_nodes) do core.chat_send_all(node.name) end or use some dev mod off cdb 17:53 crazylad here's one such mod -> https://content.luanti.org/packages/AntumDeluge/listitems/ 17:57 Helenah Oh I noticed this in the system: Desktop Client => IrrlichtMt => SDL2, Android Client => SDL2 17:57 Helenah How come whatever remnant was left of the middle man isn't used when it comes to Android? 18:02 MTDiscord because SDL2 was made a requirement for the android version and irrlicht's android device was removed at the same time as the migration was done 18:02 MTDiscord basically android is an embedded platform 18:02 Helenah Ah 18:03 MTDiscord while for desktop platforms the non-SDL devices and SDL device coexisted for quite some time 18:03 MTDiscord specifically in order to get the input handling right before the non-SDL ones could be dropped 18:05 rubenwardy Helenah: https://github.com/luanti-org/luanti/issues/2324 18:05 rubenwardy !title 18:05 MinetestBot rubenwardy: Dialogs whilst game loading · Issue #2324 · luanti-org/luanti · GitHub 18:09 Helenah Lets see if this thing compiles. :D 18:09 Helenah rubenwardy: Thanks. 18:29 [MatrxMT] I'm quite sure Android also uses Irrlicht as a middleman in some cases