Time Nick Message 13:50 MTDiscord Hey if checking for function definitions is considered bad practice, is there a good practice way a figuring out what version your mod is operating in 14:03 rubenwardy Checking for the existence of functions is good practice for determining whether a feature is supported 14:34 MTDiscord Right but how do you determine whether the sun is upside down? And other things like that weird bug that messes with models, surely it would be best to expose the engine version number? 15:12 lissobone redundantcc: The question whether the sun is upside down is actually a good question. 15:15 lissobone But I believe that checking for features can be done with 'minetest.has_feature(arg)' and the table 'minetest.features'. 15:16 lissobone For instance, the 'simple_skins' mod (line 113) has got a line that says "local is_54 = minetest.has_feature("direct_velocity_on_players")". Is that a good practice to check for versions that way? 15:16 lissobone I am assuming that this subroutine checks whether the engine version is 5.4.0. 15:28 MTDiscord @lissobone Okay that's really good information, does 'minetest.has_feature(arg)' or 'minetest.features' check against mod defined globals or only engine defined functions? 16:25 sfan5 minetest.has_feature checks against a list of strings contained in the engine 16:34 ROllerozxa mods and games can add (and has added) their own feature strings into it 16:35 sfan5 i don't think that was ever supposed to be done 🤔 16:44 ROllerozxa well, it's a thing now I suppose. :) I've seen szutilpack do it for checking the presence of various hotfixes being applied that are also present in some of warr's games such as `_hotfix_background_recompute` for recalculating lighting of mapblocks in the background 17:03 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Change some profiler values to microseconds 13c8e4674 https://github.com/minetest/minetest/commit/c8e46749a4d708ceab12cb4f59cb5298f9655197 (152024-04-23T17:03:35Z) 17:03 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Log delays introduced by SDL_PollEvent 13af27d97 https://github.com/minetest/minetest/commit/af27d9700370b2be3eb0cd99ca868053164ad40a (152024-04-23T17:03:35Z) 17:03 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Fix Irrlicht log events not being passed through 13e7f6e7d https://github.com/minetest/minetest/commit/e7f6e7d7b655a6265fa7dafc4da5ca5fffc069f9 (152024-04-23T17:03:35Z) 17:04 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Reduce needless copying of KeyPress 13e39e47b https://github.com/minetest/minetest/commit/e39e47b21fd94949ea68d3f8d210de0b3e6f3a0e (152024-04-23T17:03:35Z) 17:04 MinetestBot 02[git] (2 newer commits not shown) 17:06 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Formalize OS support policy (#14556) 1398fd5bd https://github.com/minetest/minetest/commit/98fd5bd45374a6497a635c1aae2489a990879905 (152024-04-23T17:03:58Z) 17:06 MinetestBot 02[git] 04JosiahWI -> 03minetest/minetest: Fix MSVC warning C4172 in ModifySafeMap::get (#14576) 13de8d80d https://github.com/minetest/minetest/commit/de8d80dee0042e15eda165f0612f83732107f166 (152024-04-23T17:04:26Z) 18:20 swift110-mobile hey all 18:58 sfan5 pro tip: instead of /time 6000 it is faster to type /time 6e4 19:39 Bombo make 6k work too, even shorter ;) 20:01 Krock pro tip: have unified_inventory enabled, press i and press the sun icon. bonus: fancy sound 21:29 MTDiscord Thats a thing???? 21:30 MTDiscord for the irc peeps, the above is responding to > But I believe that checking for features can be done with 'minetest.has_feature(arg)' and the table 'minetest.features'. 21:42 MTDiscord Why dont mods have explicit versioning systems? 21:42 MTDiscord some mods do; are you asking why the engine doesn't enforce one? 21:43 MTDiscord Yeah like why isnt there a way to declare a mod works for 5.7 and 5.8 etc in mod.conf and then give a warning 21:43 MTDiscord ah that 21:44 MTDiscord Itd mean that we wouldnt have an excuse to extend backwards compatibility 21:44 MTDiscord what 21:44 MTDiscord cdb has something like this 21:46 MTDiscord I dont have any examples but ive seen a lot of things left around or not changed so we dont break backwards compatibility 21:46 MTDiscord Like the sound stuff from what i remember is pretty messy 21:46 MTDiscord Actually 21:47 MTDiscord yes but mods advertising which versions they support doesn't make the issue go away 21:47 MTDiscord Well, no, but itd help i think 21:47 MTDiscord it would help indeed 21:48 MTDiscord but we still need backwards compatibility. we want people to be able to upgrade relatively seamlessly. 21:48 MTDiscord If we completely overhauled sound for example, the mod could add a system for both, and then move on. If the mod hasnt added explicit support for the version obviously it wont be in config and itll show an error 21:48 MTDiscord that's just pushing the problem to modders 21:49 MTDiscord Actually why dont we just make a new system entirely, remove the documentation and deprecate it 21:49 MTDiscord Leave it around for a few versions l 21:49 MTDiscord Probably would make more sense... 21:50 MTDiscord Also pushing the problem to modders isnt a bad thing. To make engine improvements and changes old things need to break sometimes 21:50 MTDiscord Thats my opinion 21:50 MTDiscord sometimes we need to do this, yes, often we don't 21:51 MTDiscord doing this unnecessarily would (rightfully) drive modders away. i think we would then be no better than minecraft modding in this regard: with every new version, modders would have to make sure their mods still work. 21:52 MTDiscord Do we have a clear list of API changes/removals? 21:52 MTDiscord Like per update 21:52 MTDiscord also, as for "things need to break sometimes", consider the concept of what i would call "weak backwards compatibility": yes, things may break, but only if you opt-in (globally, at a game level). so games will continue to work. 21:52 MTDiscord there should be no removals if we're keeping backwards compat.. 21:53 MTDiscord but yes, for the next major version we should have such a list 21:53 MTDiscord Well eventually deprecated featurs like years old we should remove things.... 21:56 MTDiscord well, after like half a decade we could have a major release