Time Nick Message 00:01 Pexin welfarejazz: "mountain flying" is intentional 00:01 welfarejazz is there a way to detect the size of a collision box? For example, being able to detect if something is a regular block or a stair? 00:01 welfarejazz I know, I don't like it so I thought it'd be fun to remove it 00:05 MTDiscord @Warr1024 it both helps in fixing the performance issue and allows larger collisionboxes to be supported better 00:05 MTDiscord welfarejazz: yes, collision boxes can be "detected" 00:07 welfarejazz luatic: how? 00:07 welfarejazz damn im a noob at irc 00:08 MTDiscord I'd make it a separate API call. finding objects in an area should be by center as before, but you can add a "find objects colliding with area" type of thing... 00:08 MTDiscord Or you could make it a separate parameter or something, I suppose 00:09 MTDiscord How much larger is "larger"? Right now I know 3x3x3 is sort of the magic limit, are you going to try to make this much larger, or avoid arbitrary limits altogether? 00:09 MTDiscord That's what we're planning 00:10 MTDiscord Hard to tell, but I believe this could be bumped up to roughly 7^3, so Draconis-sized? 00:10 MTDiscord The reason are mapblocks. While these changes should pretty much allow arbitrarily large entity boxes, mapblocks currently aren't really integrated.. at all. 00:11 MTDiscord Ouch, makes sense. 00:11 MTDiscord Right now I tend to walk through luaentities, build my own spatial index (in my case I'm only looking for ents with matching vector.round(pos)) and then search that ... if you can make it so I have no reason to do that, that'd be fancy :-) 00:11 MTDiscord We're working on it, Warr. And we're trying to keep the code clean and proven to work. 00:12 MTDiscord nice, thanks 00:12 MTDiscord We already have a fair amount of progress. We basically have the spatial index mostly working and unit tested, but we haven't integrated it into the rest of the engine much. 00:13 MTDiscord I thought spatial index was already a prereq for the engine ... was it just not being used for this? Or maybe at all yet? 00:14 MTDiscord It was an optional dependency and wasn't used for this. 00:14 MTDiscord It was being used for area store, optionally, and the implementation had a memory leak as I said. 00:15 MTDiscord I was actually contemplating building an areastore based index on the Lua side of things, hehe, but OFC C++ is actually preferrable 00:16 welfarejazz last question I guess, how would I go about understanding how the minetest works interally? I know c++ but the vast size of the codebase is a bit hard to understand 00:23 MTDiscord I struggle with the same thing. Working through this project is helping me to learn the structure of the code, though. 00:23 MTDiscord welfarejazz: nobody really knows 00:23 MTDiscord this should probably be documented, though 00:23 MTDiscord opening an issue on the docs repo 00:25 MTDiscord I've always taken a bottom-up approach and just grepped around the whole thing. Start with some search term I know or strongly suspect is associated with the phenomenon, then just find where it's used, and then trace other keywords I find near it. 00:26 MTDiscord I've gotten a pretty good idea of how at least some major parts of the system work. Probably about 3 or 4 times now. I just don't really remember it because I'm not in the code constantly enough. 00:27 MTDiscord I now know how the spatial store works in pretty good detail, but only that one little bit of the huge project. 00:27 MTDiscord And I still have no clue how libspatialindex works, because their docs are literally just doxygen generated with no documentation comments. 00:27 welfarejazz I've been making my own doxygen comments as I go along, I've gotten through the client side and the main menu 00:28 MTDiscord That sounds really good, welfarejazz! 00:28 welfarejazz dev wiki hasn't helped much sadly lol :( 00:28 MTDiscord dev wiki isnt really useful anymore/at all 00:29 welfarejazz yeah I learned that the hard way 00:29 welfarejazz irrlicht isn't well documented either (tutorial wise) so I'm a lot a loss there as well 00:30 MTDiscord in theory you only need to learn enough about irrlicht to get rid of it 00:30 MTDiscord or fix things 00:33 welfarejazz I learned about the 3d vectors and that's about it 00:33 welfarejazz still don't understand maps/nodes etc etc, all a mystery to me 00:34 welfarejazz I can read the syntax but it's all like untangling headphones 00:34 MTDiscord So personally, when it comes to learning a large codebase I recommend not learning more than you have to. In the case of Minetest it's still relatively small so you can learn it all, but that's not the case when the scale gets big enough. Instead, I recommend two approaches: 1. Try to break down the program into component systems, and learn their high-level function and relationships without thinking about details 2. When you want 00:34 MTDiscord to work on a specific system, make aggressive use of code inspection / navigation tooling to see where and how pieces are used to ensure that your changes don't result in unintended side-effects. 00:35 MTDiscord Otherwise, I think it can be very easy to overload yourself with information and miss important things in the process of learning 00:37 welfarejazz noted, been trying to do that but still getting lost xD 00:39 MTDiscord yeah, I'm not sure if we have documentation for point 1 but that's the ideal way to handle that part 00:39 MTDiscord The other part comes with practice 00:41 MTDiscord While there are so many people here, does anyone know how to generate the compile instructions for clang tidy? 00:42 MTDiscord Sadly, I don't 00:45 MTDiscord I get the feeling this is the kind of thing 1 core dev knows how to do... maybe one from long ago who doesn't develop anymore or something. 00:49 welfarejazz gcc4life 00:50 MTDiscord I get the feeling that the build process will be the most difficult part of the feature, because of all the things that need to be updated; and we can't test it easily. 02:06 welfarejazz yeah I agree 09:23 sfan5 @luatic I don't see player_api.set_texture in game_api.txt... 12:38 erlehmann Warr1024 i made a bug for the shadows in the end dimension just FYI https://github.com/minetest/minetest/issues/11972 13:28 sfan5 that's an effective duplicate of #11365 13:28 ShadowBot https://github.com/minetest/minetest/issues/11365 -- Shadowmaps cannot be disabled by the server 13:29 sfan5 quoting: 13:29 sfan5 > * there is no consideration for custom time of day scripting 13:29 sfan5 > * there is no consideration for any kind of environment that doesn't involve a sun (which is supported by the rest of the skybox api) 13:30 sfan5 @josiah_wi the old scripts for clang tidy are either still there or in the git history, take a look 13:42 erlehmann sfan5 i do not want anything to be disabled. i want an invisible celestial body to not throw any shadows. 13:43 sfan5 so does hecks 13:43 erlehmann seems people who have games have somewhat similar opinions 13:43 sfan5 but the immediate concern is that there's no way to get rid of an unfinished feature 13:44 erlehmann well whoever approved that probably did not test it beyond devtest and minetest_game, right? 13:45 erlehmann maybe it could make sense to make a list of mods that are known to trip over unfinished features and breaking changes (the mcl stuff and nodecore for example) 13:45 MTDiscord Its unfinished, ie WIP but slated to be improved with time. 13:45 sfan5 unfinished features are not typically merged 13:45 sfan5 shadows were merged so they could be improved 13:46 MTDiscord Its ok to work on things in chunks but leave them open to testing 13:46 erlehmann well lets not do that again then 13:46 sfan5 we can do that as often as we want, it just needs to be assured that it doesn't impact games 13:47 sfan5 ...such as disabling the feature in release versions 13:47 erlehmann minetest had it with shadows, mineclone2 had it with mobs, cyberpunk2077 had it with genitals … i'm sure the “release the feature, we'll fix it later” has been thoroughly discredited by now 13:47 erlehmann ah yes, the latter two games have no way to easily disable it 13:47 sfan5 are you implying shadows are not fixable/will never improve? 13:49 erlehmann no, i am stating that minetest would be better off if shadows were merged before being fixed. every other feature that i saw and criticized was at least somewhat usable. take hecks PNG writer. it works, the files are too big, but it works. it breaks nothing. nevertheless, i would consider it an unfinished feature, as optipng can shave off 95% off the devtest checkerboard (and if you are using PNG, you want small textures). 13:49 MTDiscord facepalms Can we stop panicking over minor graphical problems? Oh no, my game looks bad because the client did something, maybe we should compile out texture packs too. 13:49 erlehmann were NOT merged before being fixed i mean 13:49 erlehmann sorry 13:49 erlehmann so the PNG writer is totally cool to merge bc does not affect anything 13:50 erlehmann shadows affected … a lot 13:50 erlehmann also, hecks ticket is something different. i want no dynamic shadows rendered by celestial bodies that do not exist. i might still might want dynamic shadows from other light sources in the end dimension. 13:51 erlehmann i mean, if someone brings a torch there, cool! 13:51 erlehmann i should add that to the ticket 13:52 sfan5 your ticket will end up as a list of all problems with shadows 13:52 sfan5 just like hecks' already is 13:52 MTDiscord Shadows affect jack shit, they can look bad and run slow, but they don't break anything inherently and have to be turned on. They need to be moved out of the idle clicking zone in settings, and marked as experimental but people are way too worked up about this whole thing. 13:52 erlehmann only if you let it 13:53 Toothless That sucls 13:53 Toothless t*sucks 13:53 Toothless Stupid keyboard. 13:54 erlehmann sfan5 i prefer issues to be easily separately fixable. my concerns here can be addressed with one fix for shadows and then the ticket can be closed. 13:54 MTDiscord Also, don't hardcode shadows to skybox behavior please 13:54 erlehmann for that reason i also think omnibus tickets for shadows or transparency or mapgen issues are a bad idea. can someone explain why they exist for cases that are *not* technically the same? 13:55 Toothless Oops wrong relay. 13:55 sfan5 well not really 13:55 sfan5 the correct fix is a whole new API to do lots of sky-related things (which then also connects to shadows), not "just disable shadows if I disable the sun" 13:56 erlehmann no, disable shadows *caused by the sun* if i disable the sun. i expect other light sources to still cast shadows. 13:56 MTDiscord Hardcoding behavior from one API to another is a terrible solution I am not ok with, it repeats many past mistakes that we have been trying to get fixed. 13:56 sfan5 well only the sun casts shadows 13:56 erlehmann the moon does not? 13:56 MTDiscord What if I use a custom skybox? 13:56 sfan5 oh 13:56 MTDiscord I'm over here working for hours trying to improve the engine with the little coding knowledge I have while y'all are arguing about whether the shadows should or should not be in the next release. 13:57 erlehmann for the moon, the shadow intensity API makes sense actually, as i detailed in a comment. it is a welcome neat addition to moon phases. 13:57 MTDiscord And I would really like some assistance getting CI set up satisfactorily. 13:57 erlehmann also i expect dynamic shadows to apply to non-celestial light sources eventually, like they do in other games. and in that case, just disabling shadows makes little sense. 13:58 erlehmann josiah_wi i have no idea about the CI, but what are you struggling with? 14:00 erlehmann i mean i have a little idea about it now that you say it, but so do you probably 14:00 MTDiscord SpatialIndex isn't found by CMake on MacOSX, the Alpine SpatialIndex package isn't found on Docker, and I don't know where to start setting up the MinGW builds. 14:01 MTDiscord How about this: lets not add an API in a knee jerk reaction to shadows looking bad that makes assumptions about how they'll actually mature, lets just stop users from enabling them willy nilly. 14:03 erlehmann josiah_wi os x, docker and windows builds are sadly not topics i can help you much with. though i would advise you to both check the version of alpine in the docker image and the package name. 14:04 MTDiscord Also wondering what our process is for determining minimum dependency versions. Should I manually bisect all the versions of SpatialIndex? 14:04 MTDiscord It'll take hours most likely lol. 14:33 MTDiscord Is the extension on Mac something other than .a or .so? 14:41 MTDiscord Hmm, that shouldn't matter. 14:58 sfan5 my question would be for what reason spatialindex should be a required dependency 14:58 sfan5 because adding that is not done lightly 15:00 sfan5 idea: propose your PR without fixing all deps/ci first 15:03 MTDiscord Luatic may have input on that. If it's optional, we effectively need a complete replacement of it, meaning we'd have to test and maintain 2 implementations of the same API. 15:04 erlehmann i agree with sfan5, making an WIP PR is a good idea to centralize the discussion 15:05 MTDiscord There's also likely to be little to no performance gain without using the library... all of that work would have no use at all except avoiding a dependency. I'll talk with Luatic about opening a WIP PR. 15:38 MTDiscord #1173 15:38 ShadowBot https://github.com/minetest/minetest/issues/1173 -- buildwin32.sh uses inacessible host 15:38 MTDiscord Whups. 15:38 MTDiscord #11973 15:38 ShadowBot https://github.com/minetest/minetest/issues/11973 -- WIP: Performance improvements for entity collision by JosiahWI 15:39 Pexin so, shadows DON'T still cause performance degradation even when turned off? 15:39 Pexin that was my understanding 15:43 sfan5 ah, the active object manager 15:44 sfan5 I tried throwing spatialindex in there before and found some fundamental issues with integration, wonder if/what you did differently 15:45 erlehmann josiah_wi does PR #11973 only concern collisions between entities or also collisions between entities and nodes or players and nodes? 15:45 ShadowBot https://github.com/minetest/minetest/issues/11973 -- WIP: Performance improvements for entity collision by JosiahWI 15:45 MTDiscord Maybe you have wisdom gained from your attempt that you can bestow upon us, sfan5. 15:46 MTDiscord erlehmann, I don't actually know exactly what collisions luatic is planning to improve, but it should be possible to improve all of those, I think. 15:46 sfan5 well my conclusion was that it can't really work 15:47 erlehmann josiah_wi the problem is that some things may rely on the current collision model 15:49 erlehmann josiah_wi, think of pushing minecarts on other rails with pistons or throwing an ender pearl at bedrock from below to end up on the nether roof or having mesecon flying machines that have boats on them (playar can be anchored to a boat easier than to moving nodes) 15:50 erlehmann i'll test that stuff of cours 15:50 erlehmann e 15:51 MTDiscord We are not planning to break compat with the current collision model. I can add that to the PR description. 15:57 erlehmann josiah_wi good! :) 15:58 erlehmann josiah_wi well if you have tests you can surely compare the implementations? 15:58 MTDiscord Yes. 16:00 MTDiscord sfan5, I was hoping you could describe some of the difficulties you had with it so that we can consider and hopefully address them. Probably in the PR. 16:55 erlehmann is x2048 on irc? 16:56 MTDiscord @x2048 17:00 erlehmann Benrob0329 i have seen your musings on shadows and just to know where you come from … do you do professional (like getting paid) software development on projects that have developers or consumers you do not personally know? 17:01 erlehmann bc in my experience “an unfinished problematic feature is better than nothing” often comes from experiences in small teams or if someone knows all the users. 17:01 erlehmann so i wonder where you learned that it helps 17:02 erlehmann please do not see this as an attempt to undermine your credibility 17:02 erlehmann it just feels alien to me 17:04 rubenwardy working in industry - clients like to see progress, and like to give early feedback 17:06 rubenwardy we have multiple release channels, broken features are removed completely from releases that go to end users 17:06 rubenwardy well, disabled in code 17:10 erlehmann depends on the process really 17:11 MTDiscord erlehmann: You can't ruin credibility I don't have 17:11 erlehmann i still suspect the “genitals rendered above clothes” issue in cyberpunk 2077 was management throwing ppl an obv broken dev version 17:12 erlehmann as a developer, i would make sure such a thing gets fixed last 17:12 MTDiscord But I come from hobbyist stuff. I've been a user longer than a dev, but I try to learn from things I see and pay attention to when things tend to cause problems. 17:12 MTDiscord Forcing a broken feature on users is terrible practice, but letting them mess around with a new thing is usually nice. 17:13 erlehmann Benrob0329 your attitude is totally understandable if you come from hobbyist stuff. but letting users mess around with a feature can be done with nightly builds. 17:13 MTDiscord We don't have those, though 17:13 erlehmann the amount of complaints about shadows point to users actually trying it 17:13 MTDiscord Most complaints I see are from game devs and server owners. 17:14 erlehmann guess where the server owners got their complaints from 17:14 MTDiscord Usually themselves. No really, this feels a lot like how CSMs were handled 17:15 MTDiscord CSMs had legitimate problems that needed to be addressed, instead they might as well not exist because servers can completely disable them and do by default. 17:15 erlehmann Benrob0329 sfan5 provides nightly builds https://minetest.kitsunemimi.pw/builds/ and there is a forum topic with 31 pages about it https://forum.minetest.net/viewtopic.php?t=1523 17:15 MTDiscord CSMs mostly brought out existing problems though, like no chat floor detection 17:15 MTDiscord *flood 17:16 erlehmann Benrob0329 CSMs are allowed on anarchy servers, so they are definitely tried and tested 17:16 MTDiscord Ok, official nightly builds linked from the website. That's an easy fix, though (I forgot about sfan5's builds) 17:17 MTDiscord Now they are, were you here when they were first introduced? 17:17 erlehmann i think you should accept that some people do not want killaura or plucking items out of thin air or invincibility via /sethome on their servers 17:17 MTDiscord What? 17:17 erlehmann it's pretty easy, if a server has /sethome, you can automate to go there after respawn 17:17 MTDiscord You can do that anyways after respawn 17:18 erlehmann yeah but automating it means you can idle in someones base 17:18 erlehmann someone robbed me on catlandia and i /sethome in their base to troll them 17:18 erlehmann picking items out of thin air can actually be done in vanilla minetest using a csm and i kinda like it 17:18 MTDiscord killaura shouldn't be possible with CSMs to begin with, they shouldn't be able to mimic player inputs 17:20 erlehmann i think they should be able to do that for accessability reasons. like autoforward. 17:20 MTDiscord But I digress. Again, they have issues that, instead of being addressed, were completely disabled 17:20 erlehmann okay, so what was the thing with CSMs? 17:20 erlehmann i took a break from minetest in 2011 17:20 erlehmann according to git history, i returned briefly in 2019 17:21 erlehmann then, later, pandemic, only game i play much, now i am here 17:21 MTDiscord Aside from the issues already mentioned, they showed a lot of security vulnerabilities in server side code and minor annoyances like chat flooding 17:22 MTDiscord A lot of people weren't doing things like checking privileges or position on_receive_fields 17:23 MTDiscord There was enough of an outcry from server owners (despite this really being the modder's problem in many cases) that they were disabled in the client by default 17:24 MTDiscord with optional flags to enable them feature by feature from the server 17:25 MTDiscord So, those nice chat coloring CSMs that made it easier to follow? Useless (even stated as being bad because "what if I color the chat?" (even if most don't)). Mumble positional audio? Nope. On most servers, you get nothing. 17:25 MTDiscord The real kicker in all of this is that CSMs weren't supposed to be client-provided to begin with, it was supposed to run server-sent code and be a tool for game devs, the whole thing is a mess. 17:26 MTDiscord I'd like to avoid having more of the same kind of reaction for a feature with far fewer negative implications than CSMs, since we've seen that the was CSMs were handled was a mess. 17:26 MTDiscord *way 17:27 erlehmann looks like you are better off with a cheat client? 17:28 MTDiscord If you value CSMs on public servers, yes. Unfortunately, then you also open up opportunity for better cheats because that tends to open up the floodgates for it since C++ modifications are normal at that point. 17:28 Krock someone broke the automatic dependency enable function 17:29 erlehmann Krock can you bisect it? 17:29 Krock bet what I'm doing right now 17:29 erlehmann whining on IRC about it while code is compiling 17:30 MTDiscord Come now, I'm interested in it! 17:30 Krock https://imgs.xkcd.com/comics/compiling.png relevant 17:30 erlehmann Benrob0329 at least mineclonia is mostly used on servers where the owners think that the game should be the one to enforce limits, but not limit players in automating the grindy part of minetest. think players building tunnels and railway networks in an automated way. 17:34 MTDiscord As a veteran professional programmer, I've seen a lot of projects end in failure because someone didn't want to release something "unfinished" and so they kept investing more work on it rather than getting it in the hands of users and seeing how (or even whether) it was actually used. What I haven't seen yet is a project that crashed and burned because of a few bugs that needed to be fixed post-release. 17:35 MTDiscord I'm sure if I worked in a business like making hospital IV pumps or something, things would be different, but Minetest isn't exactly in that kind of role either. 17:41 freshreplicant[m I'd concur that from my impressions the outcry against shadowmapping was mainly from a few devs, rather than any real critical mass of users. 17:42 erlehmann users hate buggy changes though 17:42 erlehmann game devs get the brunt of it 17:44 freshreplicant[m I don't think that's the case here, especially if it's going to be off by default. 17:45 MTDiscord Well it's a good thing this isn't a change they have to deal with 17:45 MTDiscord They can just ignore it 17:46 freshreplicant[m The charge against shadowmapping was led by a dev of a game that to my knowledge is not publicly accessible or playable (at least yet). 17:49 MTDiscord That, to my knowledge, is correct 17:50 MTDiscord Does that mean that their use case is unimportant? Not at all, but complaining about users you don't have seems a bit..funny to me 17:51 MTDiscord Users actually really WANT shadows, and probably a minority of them will ever even notice that they don't make sense in context. I think gamedevs are just worried about being made fun of by those few users who actually do notice, even though it's not their fault. 17:52 MTDiscord Thankfully, my game is in the enviable position of having enough "real" bugs that I almost never need to actually worry about cosmetic crap :-D 17:53 Krock will push trivial fix in 20 minutes: https://krock-works.uk.to/u/patches/0001-Main-menu-Fix-automatic-dependency-enables-on-double.patch 17:55 freshreplicant[m The issues raised did make sense in fairness and I guess that's why people started work on making toggleable and off by default. Once that's implemented, I don't see any reason for disabling it. 18:13 Krock pushing... 18:14 Krock done 20:27 x2048 erlehmann: I am on IRC, but not frequent and when majority sleeps. 21:29 sfan5 setting descriptions in settingtypes.txt cannot contain brackets 21:29 sfan5 who thought this was a good idea? 21:30 MTDiscord you can ask that about a lot of design decisions 21:54 sfan5 @Bastrabun #11976 21:54 ShadowBot https://github.com/minetest/minetest/issues/11976 -- [NO SQUASH] Database-related changes by sfan5 21:56 sfan5 do pings from irc even work 21:57 MTDiscord no bc you miss the number 21:57 MTDiscord @Bastrabun 21:57 MTDiscord There was a space between the name and the discriminator. 21:58 MTDiscord Oh, that wasn't intended to be the discriminator, whups. 21:58 MTDiscord lel it's the pr number 21:59 MTDiscord you need to do @Bastrabun#5708 21:59 sfan5 well I have no knowledge of discord account numbers, so that's a "no" 22:00 MTDiscord Maybe we need a list of all the Discord usernames and discriminators. xD 22:14 MTDiscord I respond to any of those. Bastrabun, AliasAlreadyTaken, my discord handle, .... 22:16 MTDiscord If there anything I can do to test, I'll gladly do 22:16 sfan5 you can apply that postgres commit 22:17 sfan5 then set postgres_synchronous_commit = false and see if your lag spikes disappear 22:17 MTDiscord Can I dimply add that to a default 5.4.1 server and rebuild? 22:18 sfan5 very likely 22:18 sfan5 merging #11970 soonish 22:18 ShadowBot https://github.com/minetest/minetest/issues/11970 -- [no squash] Two commits (again) by sfan5 22:18 MTDiscord Asking, because the issue only shows on the liveserver and naturally I'm very cautious around that 22:20 MTDiscord Yes, pings from IRC work 22:20 MTDiscord you dont need descriminators 22:20 MTDiscord But it seems to only want to convert name, notation instead of @notation 22:21 MTDiscord (s/e/i)