Time Nick Message 00:23 MTDiscord About the white/black textures: is that the bug with linux version where only one texture of a model is loaded and the other textures are white or black? 00:25 erlehmann MisterE yes i think that is it. it's only happening on linux? 00:25 erlehmann it is abysmal though 00:25 erlehmann breaks a lot of models 00:29 MTDiscord From my exp, on windows the models display well, but are broken on linux 00:29 MTDiscord All of liil's mobs are broken on linux :( 00:31 erlehmann yeah 00:33 MTDiscord It would be great if we could have a fix for that soon. I'm starting a server with all of liil's mobs so it won't work for linux until a fix 00:38 erlehmann MisterE it works fine in 5.4.1 00:39 erlehmann as far as i know 00:39 erlehmann maybe not though 00:39 erlehmann hmm 00:39 erlehmann MisterE maybe you can put the github issue in the MOTD or something? 01:48 kilbith hmm... why no documentation was left for modders after some debug.* functions were removed? 02:24 kilbith I'd recommend that mod security is disabled by default for mods coming from Content store 02:25 kilbith since they are audited 02:26 MTDiscord they arent 02:38 MTDiscord Yeah, they're not. They get a basic check for license violations, basic functionality, etc. but not a full code review or security audit 02:39 MTDiscord Nothing would get done it they did 02:40 MTDiscord it already takes a while for people to review them tbh 02:40 MTDiscord The only thing you can really be guaranteed was checked for a given mod is https://content.minetest.net/policy_and_guidance/ -- beyond that it depends on the reviewer, circumstances, time, etc 02:40 MTDiscord even then some things slip through the cracks 02:42 MTDiscord The malware rule, sadly, is not realistic to fully check. For my part I do a quick glance to see that the code appears to be doing what it claims, but there's not really much that can be done 15:04 MTDiscord has there been any thought to when a 5.5 feature freeze might start? 15:05 MTDiscord the feature freeze did not start yet? 15:05 MTDiscord forgive my ignorance, I have been out of the scene so to speak 15:07 rubenwardy roughly a week before the release 15:41 MTDiscord and when is that supposed to be? 15:45 sfan5 nobody knows 15:46 sfan5 there's a number of outstanding problems 15:51 MTDiscord the 5.5 list said october, that didnt happen 15:56 erlehmann devtest is used to test engine features right? 15:57 rubenwardy plot twist: October 2022 15:57 rubenwardy erlehmann: yes. Devtest is a game with tools to test the engine 15:57 erlehmann the halloween update 15:58 erlehmann rubenwardy i.e. lua code that exercizes currently-working engine code paths is welcome? 15:58 erlehmann if that is not covered 15:58 rubenwardy see the unittest mod 15:58 rubenwardy which should be called integtest really 15:58 rubenwardy it has some automated stuff 15:59 erlehmann i was thinking bc a bunch of breaking changes are prob just bc the devs don't really play any games beside their own much 15:59 erlehmann but if it was in devtest 15:59 erlehmann some stuff would be obv 16:00 erlehmann maybe i can motivate fleckenstein to make a mesh for me for a cube that has the texture bug 16:00 erlehmann obv he knows how to do it 16:00 erlehmann rubenwardy would a “texture test mesh” entity in devtest make sense? 16:01 erlehmann i.e. spawn this entity to look if all of its textures are loaded 16:02 erlehmann i mean it has text particles 16:02 erlehmann test particles i mean 16:03 rubenwardy yes, there are test items for various things 16:04 erlehmann tbh the hardest thing about the models is the provenance 16:04 erlehmann like ppl commit binary models 16:04 erlehmann and forget how they exported them :/ 16:11 MTDiscord you can load obj into blender, b3d nope 16:12 MTDiscord granted thats more of a issue with how terrible of a format b3d is 16:14 erlehmann well it's there now 16:14 erlehmann sadly 16:15 erlehmann did anyone compare the two boats? 16:15 erlehmann i'd love to autodetect if the texture bug happens 16:15 erlehmann but i have no idea about where to start even 16:26 sfan5 can you link me the model file that's broken 16:37 erlehmann sfan5 yes, pls wait 16:38 erlehmann sfan5 https://git.minetest.land/MineClone2/MineClone2/raw/branch/master/mods/ENTITIES/mcl_boats/models/mcl_boats_boat.b3d 16:39 erlehmann oof not a permalink 16:39 erlehmann sfan5 for context, here is the commit that changed it https://git.minetest.land/MineClone2/MineClone2/commit/97424f7d0a5ed634177ac7e972a2453f3e32c4b1 16:40 erlehmann i think the committer wanted to prevent me from making my player character 3 times the size via visual_size attachment glitching 16:41 sfan5 https://0x0.st/-5Jr.png is this the bug or just because I didn't set more than one texture 16:41 erlehmann https://git.minetest.land/MineClone2/MineClone2/issues/1414#issuecomment-18487 16:41 erlehmann sfan5, enjoy https://git.minetest.land/attachments/cadb1379-d308-4787-9031-b21202a97e38 16:41 nrz amazing ? 16:42 erlehmann sfan5, that looks indeed like the bug, let me check 16:43 erlehmann sfan5 look here for the original boat definition https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ENTITIES/mcl_boats/init.lua#L111 16:44 erlehmann mesh = "mcl_boats_boat.b3d", 16:44 erlehmann textures = {"mcl_boats_texture_oak_boat.png"}, 16:44 erlehmann sfan5, so i think that is the bug indeed 16:44 erlehmann sfan5, does it turn white without shaders? 16:45 erlehmann bc if yes, that's it 16:45 erlehmann also the issue should be retitled 16:46 erlehmann bc that bug has been there for a while 16:47 erlehmann and has nothing to do with shaders if it happened without them too 16:48 sfan5 it's white without shaders yes 16:48 sfan5 I didn't expect this because under ogles2 "disabling" shaders just means using the ones built into irrlicht (shaders are required) 16:49 erlehmann might hint at some wrong blend mode maybe somewhere 16:49 erlehmann who knows 16:50 erlehmann sfan5, do you have *any* idea how to get to the bottom of it? 16:50 sfan5 yes, an opengl debugger 16:50 erlehmann wow neat show 16:51 erlehmann i was more thinking of building minetest 5.4.1 and bisecting irrlicht 16:51 erlehmann but ogl debugger is much smarter 16:55 sfan5 https://0x0.st/-5J-.png this looks like it 16:55 sfan5 now to figure out why no texture is being bound and whose fault it is 17:23 sfan5 well I can only declare that one user error 17:23 sfan5 the model has five mesh buffers each of which gets a texture, but only one is specified from Lua 17:26 erlehmann sfan5 so what is the difference to this? https://git.minetest.land/Mineclonia/Mineclonia/raw/branch/master/mods/ENTITIES/mcl_boats/models/mcl_boats_boat.b3d 17:27 erlehmann welp, i bet some well-intentioned bugfix made it so that a lot of invalid b3d exports like that exist 17:27 erlehmann see wilhelmines people 17:28 erlehmann sfan5, what debugger do you use btw? 17:28 erlehmann sfan5, the second boat should have no rendering error in minetest 17:57 sfan5 renderdoc 17:57 sfan5 but apart from finding out that no texture is bound the rest was just digging in c++ 18:00 sfan5 erlehmann: the mineclonia model only has 1 mesh buffer 18:05 sfan5 now it might be that this accidentally worked in 5.4 18:05 sfan5 but it is not supposed to 18:07 erlehmann doesn't matter if its “supposed to” i guess 18:08 erlehmann i am not even sure when it worked (in 5.4.x or earlier) 18:08 erlehmann have to figure it out 18:08 erlehmann brb 18:09 erlehmann sfan5 wilhelmines pople wa released march 2021 afaik, so it must be recent breakage ig 18:12 erlehmann sfan5, the problem is missing source → impossible to fix it easily in mods 18:12 sfan5 you don't need to touch the model just specify the same texture 7 times instead of once 18:16 erlehmann sfan5, so how is the boat fixed? 18:17 sfan5 what do you mean 18:17 erlehmann do you give it like 5 textures? 18:18 sfan5 you would yes 18:18 sfan5 of course since you have the source you can just reexport it correctly 18:18 erlehmann well, if *that* is the fix, i'd suggest that minetest automatically sets uninitialized textures to the last one used or whatever makes it work. 18:18 erlehmann i actually do not have the source or the export process 18:19 erlehmann i mean ig it used to do that somehow? 18:19 sfan5 must've been irrlicht internally 18:21 erlehmann probably? 18:21 erlehmann “we'll fix it in postprocessing” lol 19:07 sfan5 #11766 19:07 ShadowBot https://github.com/minetest/minetest/issues/11766 -- Add backwards-compatible behaviour if too few CAO textures specified by sfan5 19:15 erlehmann sfan5, very nice. so you conclude that it used to work with shaders, then it did not – and all those ppl used a buggy exporter ig? 19:19 MTDiscord What's the policy for warning messages in the release configuration with the default flags? If they don't technically indicate an error, do we ignore them? 19:22 erlehmann josiah_wi “If they don't technically indicate an error” wdym 19:23 MTDiscord Such as the "overrides a member function but is not marked 'override'" warning. 20:18 erlehmann sfan5, FYI: i just got the TEST_MOD_PATH thing an incremental build without any trickery regarding file timestamps 20:18 erlehmann and then got it on a full rebuild 20:18 erlehmann then got it again 20:18 erlehmann i.e. i can't build that commit and i have not yet found out how to actually do it 20:19 erlehmann currently building 188b00114 from x2048/alpha_blend_indexed 20:22 erlehmann sfan5 my theory is that ppl who never run into these dependency bugs i made an issue for a) never use git bisect b) rarely switch between git branches (compared to how often i do) c) do not actually rely on incremental builds, but rebuild almost everything always 20:23 erlehmann but again, i want to point out that *right now* it is possible to get to a state where the code does not compile at all and it is difficult to figure out why 20:24 erlehmann just by switching between commits and doing incremental builds 20:24 erlehmann (without any funny pots-checkout hook business) 20:24 erlehmann yeah 20:24 erlehmann i can't get out of it :( 20:26 MTDiscord I switch branches often too 20:26 MTDiscord It used to hurt on my older computer, as a full recompilation took half an hour 20:27 MTDiscord I can live with the 2-3 minutes it takes now 20:27 MTDiscord "i want to point out that right now it is possible to get to a state where the code does not compile at all and it is difficult to figure out why" - been in that state, can confirm - IrrlichtMT has effectively messed up bisect 20:31 erlehmann luatic it is not only irrlichtmt 20:31 erlehmann or maybe it is 20:31 erlehmann i can't say 20:31 erlehmann but inside minetest proper there are dependencies that are not specified and when you rebuild, the only thing making it work is if you recently touched that file 20:32 erlehmann but it does not actually make it work in all cases 20:32 erlehmann and it seems it is possible for a partial build to mess up future builds in *some* way 20:32 erlehmann yeah 20:32 erlehmann It used to hurt on my older computer, as a full recompilation took half an hour 20:32 erlehmann I can live with the 2-3 minutes it takes now 20:33 erlehmann you must have some kind of supercomputer if that is the case?! 20:33 erlehmann even on the work computer i have it does not become that fast 20:33 erlehmann luatic what are your tricks 20:33 erlehmann precompiled header files or sth? 20:50 MTDiscord I have no tricks, I only have a Ryzen 5 3500U 20:56 MTDiscord erlehmann do you have an example of one of those unspecified deps? Could you make a list? 20:57 erlehmann josiah_wi i have no example, i can only infer it from having years of experience with build systems. i can ofc try to get a repro case, let me see. 21:00 erlehmann josiah_wi, try the following: go to commit 80d12dbe, then do a fuill build. go to commit 188b0011 (tip of x2048/alpha_blend_indexed), then do an incremental build. if it fails, you will be in a situation where doing a full rebuild will *also* most likely fail. 21:00 erlehmann you can probably get similar results by going to 80d12dbe, doing a full build, then going to master. then doing an incremental build. not sure. 21:01 erlehmann luatic you can build fast, can you try those examples? 21:02 erlehmann josiah_wi you know cmake – so usually i can clean those things by removing CMakeCache.txt, but sometimes that fails. is there a way to tell cmake to build everything? like “make -B”? 21:02 erlehmann if it is not obvious, i ran into this when wanting to compile x2048/alpha_blend_indexed 21:04 erlehmann josiah_wi i will report back once i have cofirmed the 80d12dbe → 188b0011 issue. 21:04 erlehmann confirmed 21:06 x2048 erlehmann, do you use irrlichtmt inline or external? 21:08 sfan5 erlehmann: there is nothing buggy about exporting a model with multiple materials, just user error 21:17 MTDiscord erlehmann, I usually build out of source and delete the directory to rebuild. 21:18 MTDiscord Better solution might be to run make clean. I rarely delete the Cache; I simply clear variables I need to reset. 21:19 x2048 Hmm... just tied to build both 80d and master from scratch, cmake does not find GMP and does not use the built-in one. josiah_wi erlehmann 21:19 erlehmann josiah_wi as far as i can see “make clean” is only ever necessary if make fails at correctly determining dependencies 21:20 erlehmann (some build systems do not even have a concept of having a build target that deletes everything) 21:20 erlehmann (because it is never needed) 21:21 erlehmann x2048 i can not help you finding gmp sorry 21:21 erlehmann thing is, i can build 80d12dbe, but somewhere between 80d12dbe and current master a dependency crept in that screws up rebuilds 21:21 x2048 sfan5 Do you remember the problem with normals in MCL2 I showed the other day? 21:22 sfan5 yes 21:22 erlehmann (while it does work correctly on full rebuilds, that is probably bc there you don't need dep tracking) 21:22 MTDiscord erlehmnn, zstd? 21:22 erlehmann no, josiah_wi, it can't be zstd 21:22 x2048 I found the reason why there was no effect of 'fixing' them. 21:23 erlehmann josiah_wi i mean dependency as in “if a file gets changed, a target needs to be rebuilt” 21:23 erlehmann josiah_wi i can build newer zstd stuff just fine, i think the bug got introduced around the commit that makes TEST_MOD_PATH a thing maybe (or maybe it only reveals it) 21:25 x2048 sfan5 https://github.com/minetest/irrlicht/blob/81bae5b717a79fc2b05a09f760afc7b44da98487/include/ISkinnedMesh.h#L99 21:26 x2048 Every weight in every joint 'caches' position and normal of the corresponding vertex, making mesh manipulator effectively useless 21:26 x2048 Refeshing that cache renders correct normals (and lighting etc.) 21:28 MTDiscord erlehmann, it could be subtle as a dependency version requirement changing. CMake doesn't recalculate packages after it already found them. 21:28 erlehmann josiah_wi that seems like a bug though 21:29 erlehmann well without putting it into the CI i doubt we'll find those commits 21:30 erlehmann the “easy” way i figured was: 1. fully build a commit 2. go to the next one, do a partial build. (ideally with my git post-checkout hook) 21:30 erlehmann but you have to do this for each comit 21:30 erlehmann commit 21:30 MTDiscord Now that you've given me a repo strategy I believe I can nail this particular example bug, I'll just need some free time. 21:30 erlehmann until you find the bad one 21:30 erlehmann nice 21:30 erlehmann i mean not even bisect helps here 21:30 MTDiscord Where can I get the hook? 21:31 erlehmann i posted it in the issue 21:31 erlehmann wait 21:31 erlehmann i get it 21:32 erlehmann josiah_wi you could reproduce the example bug though? 21:32 MTDiscord I will get back to you on that when I have time to try it. 21:32 erlehmann josiah_wi it is here: https://github.com/minetest/minetest/issues/11749 21:32 sfan5 x2048: that seems flawed, do you see an easy fix? 21:33 sfan5 ideally by only touching irrlicht code 21:33 erlehmann josiah_wi also see this comment https://github.com/minetest/minetest/issues/11749#issuecomment-957853290 21:34 x2048 I think I've made part of the fix, will file a PR to show shortly. 21:34 erlehmann josiah_wi in the issue, sfan5 also asks “Suppose this approach finds a newly introduced issue in a commit, how would it be fixed?” – maybe you can answer that, bc i do not know too much about cmake 21:34 x2048 Is it OK to commit CRLF into Irrlicht? 21:34 sfan5 yes 21:35 sfan5 should match the file you are editing 21:35 x2048 git diff complains :-/ 21:35 erlehmann real villains use LFCR 21:40 x2048 sfan5 here's part 1 https://github.com/minetest/irrlicht/pull/77 21:40 x2048 I think I can wire it up to mesh manipulator to update the caches automagically. 21:44 sfan5 that would be nice 21:46 x2048 Pushed another commit. I did not add the code to recalculateTangents because we do not use them AFAIK 21:49 x2048 So this works now, but only if I force checkMeshNormals() to return false. I can try to detect 'insane' normals, but that's costly. Shall I do it? 21:53 MTDiscord erlhmann, do I need to change any default CMake options? 22:36 MTDiscord erlehmann, the hook is running but seems to have no effect. CMake is rebuilding almost everything on x2048/alpha_blend_indexed 22:40 x2048 Added "relatively fast" detection of broken normals, MCL2 looks much better now: https://user-images.githubusercontent.com/4933697/140828158-3b275306-af88-4612-a5bc-3a53a8403a2e.png 22:52 MTDiscord erlehmann, I can not reproduce. CMake reconfigures itself and everything rebuilds. 23:01 erlehmann josiah_wi hmm, weird. anything else other than CMakeCache.txt that could be messed up? 23:13 MTDiscord erlehmann, the post checkout script is not working. It runs but has absolutely no effect. 23:13 MTDiscord Simply switching branches and back forces a complete rebuild. 23:14 erlehmann josiah_wi oh damn 23:16 MTDiscord I had to retype the script because wifi is too slow to copy off GitHub. Now reading it backwards to double check. 23:19 MTDiscord Found the typo. Thank you, Zed A Shaw. 23:22 MTDiscord It'll take me maybe 20 minutes or more to recompile. 23:39 MTDiscord erlehmann, it rebuilt version.cpp and linked. No error. Cannot reproduce. 23:39 MTDiscord Maybe I have another typo somehow. I expected more to rebuild. 23:40 erlehmann josiah_wi i can pastebin you the script 23:41 erlehmann josiah_wi https://mister-muffin.de/p/Cp_w 23:41 erlehmann remember to chmod a+x it 23:44 MTDiscord Done, no change. Still rebuilds version.cpp with no error. 23:44 MTDiscord Do I need to reconfigure? 23:46 MTDiscord I can stay on the same irrlicht commit, right? 23:55 erlehmann i have no idea why it does not do the thing on your machine that it does on mine :( 23:56 erlehmann i may have done sth else *before* switching those commits 23:56 erlehmann the problem is that it's so hard to track down 23:57 erlehmann josiah_wi i'll have to figure out a small test case that will be runnable from not having a working directory at all 23:57 erlehmann i.e. a small shell script that triggers it 23:57 erlehmann until then, josiah_wi, try to leave the hook active, sooner or later you will checkout sth, do a rebuild, see the error 23:58 erlehmann maybe you can debug then 23:58 MTDiscord Why is it rebuilding nothing, though? 23:58 erlehmann if you don't hit the error, it will speed up your builds ^^ 23:58 MTDiscord That... won't work. 23:58 erlehmann wdym nothing 23:58 MTDiscord I need the stuff to actually compile. 23:58 MTDiscord It recompiles version.cpp and literally nothing else. 23:59 erlehmann when you switch between the commits? 23:59 MTDiscord Yes. 23:59 MTDiscord I'll look at the diff after dinner. 23:59 erlehmann yeah oh