Minetest logo

IRC log for #minetest-dev, 2024-06-25

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:30 Sharpman joined #minetest-dev
04:00 MTDiscord joined #minetest-dev
08:20 [MTMatrix] <Zughy> Reminder to vote for the new name
08:35 sfan5 Blocky McBlockface
09:54 MTDiscord <jordan4ibanez> Mine n Test
09:55 MTDiscord <jordan4ibanez> The slogan: Code, mine, crash, repeat
11:18 Sharpman joined #minetest-dev
11:23 swift110-mobile joined #minetest-dev
11:37 MTDiscord <exe_virus> I was thinking through ways we could speed up AABB math in general for us. I have two ideas, curious other's thoughts:  1. SIMD/NEON 2. One large bounding box for entities/node box nodes, that represents the maximum extent, and only check that one box before diving through all the AABBs of a given object
12:23 MTDiscord <exe_virus> If SIMD/NEON: Google/highway is a solid cross platform option.   If bounding box method: that's just standard coding.
13:13 basxto joined #minetest-dev
14:41 MTDiscord <luatic> C++ compilers should automatically vectorize with the appropriate compile flags; the code "just" needs to be written in such a way that the compiler knows that vectorization is admissible.
15:42 fluxionary_ joined #minetest-dev
15:45 MTDiscord <ipeeonwomenbecauseithinkitsfunny> New name?
15:45 MTDiscord <ipeeonwomenbecauseithinkitsfunny> @Lars in 2024, compilers are still pretty bad at vectorization, let alone loop optimizations
16:36 nekobit https://files.catbox.moe/yo8jkl.png
16:36 nekobit what is content.id?
16:36 nekobit the function im rewriting doesn't seem used within pkgmgr.cpp anyway
16:36 nekobit ah, its used elsewhere
17:18 JCM joined #minetest-dev
17:24 JCM joined #minetest-dev
17:31 SFENCE joined #minetest-dev
17:31 JCM joined #minetest-dev
17:38 MTDiscord <luatic> nekobit: I don't expect compilers to magically do all the work, but if you serve it to them on a silver platter, I imagine they should be able to emit the proper instructions. I just threw together a trivial example (vector addition): https://godbolt.org/z/af8v4zzen. As you can see, it uses SIMD.
17:41 MTDiscord <luatic> In other words, if the logic is written in exactly the right way, I don't necessarily see a need to drag in a dependency like google/highway. While it may have advantages, it is certainly not obvious that this would be the way to go.
17:48 JCM joined #minetest-dev
17:48 fluxionary joined #minetest-dev
18:22 JCM joined #minetest-dev
18:28 MTDiscord <ipeeonwomenbecauseithinkitsfunny> There was a simple case where if you set a loop to loop by 2 and then set a variable at an index to a value, simd wouldnt kick in
18:28 MTDiscord <ipeeonwomenbecauseithinkitsfunny> its pretty simple to replicate
19:00 JCM joined #minetest-dev
19:08 JCM joined #minetest-dev
19:10 MTDiscord <josiah_wi> You can manually vectorize if needed.
19:11 MTDiscord <josiah_wi> Like dropping down to ASM but still slightly more abstracted.
19:15 JCM joined #minetest-dev
19:19 JCM joined #minetest-dev
19:22 JCM joined #minetest-dev
19:27 JCM joined #minetest-dev
19:36 fluxionary joined #minetest-dev
19:36 JCM joined #minetest-dev
19:53 JCM joined #minetest-dev
20:33 JCM joined #minetest-dev
20:48 nekobit So, was looking at adding the settings button the pause menu
20:48 nekobit It would appear certainly that the menu is all lua though...
20:48 nekobit wonder if maybe i could call it from C++ instead of rewriting it?
20:50 nekobit or, preferably, move the pause menu to Lua instead
20:59 nekobit I am pretty sure i found a memleak, unless drop() somehow calls the destructor
21:05 sfan5 that's exactly what drop does
21:06 JCM joined #minetest-dev
21:37 JCM joined #minetest-dev
21:47 MTDiscord <theidealist> lol
22:03 JCM joined #minetest-dev
22:06 nekobit Well, it looks like a C++ rewrite of settings might be easier, since the mainmenu Lua is deloaded in the game
22:11 MTDiscord <rollerozxa> just have client modding be enabled? I hope it would be ok for that to be enabled for builtin no matter what the server says
22:11 nekobit rollerozxa: Yes but there's no Lua stack I can work with
22:13 JCM joined #minetest-dev
22:13 nekobit at least in game.cpp, which is where the pause stuff is at
22:14 MTDiscord <rollerozxa> ah. hm, for my proof of concept I had the whole pause menu reimplemented in lua, which was done more or less how the CSM death menu is used when client modding is enabled rather than the one in C++
22:15 nekobit Did you call the lua from C++ though?
22:15 nekobit or was it all lua?
22:16 nekobit showDeathFormspec is also c++
22:16 MTDiscord <rollerozxa> yes, I called a lua callback from C++. look at the code for the death screen which should be somewhere nearby
22:17 nekobit the death screen isn't doing that
22:19 MTDiscord <rollerozxa> https://github.com/minetest/minetest/blob/fb6ceb2664949372a871b15be853e11a0c3f5aee/src/client/game.cpp#L2882
22:20 nekobit yeah i saw that
22:20 nekobit but its still handled in c++ otherwise
22:21 MTDiscord <rollerozxa> yes but when client modding is enabled it will call lua
22:22 MTDiscord <rollerozxa> so this is what you would want to do to get the settings dialog up
22:22 MTDiscord <rollerozxa> with the inplication being that client modding will always be enabled for builtin from now on, hopefully
22:25 nekobit Ahh, that's where the Lua stuff is
22:28 nekobit Awesome. Multiple inheritence. Great code everyone.
22:28 Mantar lol
22:33 panwolfram joined #minetest-dev
22:47 JCM joined #minetest-dev
23:04 nekobit rollerozxa: well, i've had zilch luck in getting Lua to work well. I don't think the efforts are worth it. Its probably easier to just rewrite the settings in C++, considering its only 700 loc and the majority of that is just formspec stuff and core calls (which just wrap c++ calls anyway)
23:05 Eragon joined #minetest-dev
23:05 nekobit i think i had drikn too much maybe so i could be just stupid
23:07 nekobit One thing im stumped on is that all the gui/...cpp files aren't formspecs. They are actual irrlicht calls
23:07 MTDiscord <wsor4035> formspecs is just a wrapper over irrlicht gui
23:08 nekobit I figured as such, but to make my port cleaner i'd just rather use formspec, however, with the way things are modeled, it seems difficult to do consistently
23:16 nekobit wsor4035: Do you think rewriting a formspec menu into just raw irrlicht calls would be difficult?
23:16 nekobit From what I see, they seem pretty similar
23:18 MTDiscord <wsor4035> probably not, dunno why would would want to however
23:21 JCM joined #minetest-dev
23:22 MTDiscord <wsor4035> *one would
23:23 nekobit well im not seeing how i would use a GUIModelMenu to do this
23:55 JCM joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext