Time Nick Message 01:20 MTDiscord Are there any gotchas I should be worried about when making my first PR to minetest? I checked and followed the coding guidelines, but are there other things to be aware of? 02:41 MTDiscord Oh well, that actually took a while to get all tidied up. Lots of small documentation things needing to be changed. But hopefully I hit them all, haha. 10:09 MTDiscord you can monkey patch the minetest.sound_play function to have it save the handle somewhere 10:30 celeron55 has it been discussed whether there should be a more noob friendly process for building irrlichtmt on common linux distros or so? 10:39 celeron55 currently the process is as so: 1) try to build minetest, make tells you to get https://github.com/minetest/irrlicht, 2) go there and download and build it separately, which is a relatively simple build process, (personally i name the local repo "irrlichtmt" though, as i also have the regular "irrlicht", i would consider at least recommending to name it so locally, 3) after building irrlichtmt 10:39 celeron55 you're left with not a lot of instruction how to point the MT build into it but if you're good at ctrl+fing you'll find in the MT readme that you need to do something like cmake . -DIRRLICHT_LIBRARY=~/projects/irrlichtmt/lib/Linux/libIrrlichtMt.a -DIRRLICHT_INCLUDE_DIR=~/projects/irrlichtmt/include/, 4) you're done, the MT build works now as before 10:39 celeron55 +) 10:40 celeron55 i think this needs some smoothing 10:42 celeron55 just mentioning -DIRRLICHT_LIBRARY and -DIRRLICHT_INCLUDE_DIR in the make message would go a long way, any opinions? 10:48 celeron55 wouldn't be impossible to have an ./util/get_me_irrlichtmt.sh that does it all for you either but that seems like unnecessary maintenance burden 10:54 MTDiscord that seems fair (mentioning it in the make output) 10:55 MTDiscord on my first go 'round, that's where I got tripped-up, took some googling and a couple of tries to get the two paths right. 10:56 MTDiscord ("does it want.. a folder? no... it wants a file.. no, not this one -- ah, THAT one." etc) 10:59 sfan5 sure that'd be useful 11:00 sfan5 there's also the case of "neither irrlicht nor irrlichtmt installed", it'll just tell the user to go get irrlicht but without any details 11:01 sfan5 it'd also make sense to add the same help text there is what I'm saying 11:05 celeron55 also what about having a standard local directory for irrlichtmt where it'll be automatically found 11:06 MTDiscord good idea. 11:06 celeron55 then the build process literally doesn't change at all, as long as you put it there 11:10 sfan5 found and built or found if it's already built? 11:11 celeron55 either way 11:11 celeron55 i guess it could be built too 11:12 celeron55 but that again is more maintenance 11:13 celeron55 making it found on the other hand is just a matter of adding the standard path to cmake/Modules/FindIrrlicht.cmake 11:14 celeron55 i think it isn't important to automate everything, it's just important to allow a user familiar with the command line but not with cmake to get the build done 11:16 celeron55 doesn't matter if it's done using automation or using easy to find instructions 11:18 celeron55 the obvious standard path i guess would be lib/irrlicht 11:18 celeron55 which would then be added to .gitignore 11:19 celeron55 and which could be a git submodule but again not important for my goal 11:31 MTDiscord I already made the PR, I implemented a new lua function, sound_stop_all() as this is not the first time I or someone else has desired this functionality: https://github.com/minetest/minetest/pull/11241 11:41 sfan5 stopping all sounds for all players on the server doesn't sound that useful 12:22 MTDiscord ^ 12:22 MTDiscord it's quite easy to implement yourself 12:52 MTDiscord 1. No it's not often that such a thing is needed in minetest game or standard blocky games, but in a game with music that plays on loop, and different players having different sounds playing at once, it's good to have a global stop. 2. It's easy to implement yourself? Without adding a dependency to every mod in a game/server, how would you keep track of many different handles across them all? You could overwrite the sound play 12:52 MTDiscord function to keep track of handles, but again this is not portable. 3. Simple example of why you might want to stop all sounds. Let's say you want to make a server announcement or periodic hunger games style cannon, you would want to stop all sounds before making such an announcement. Obviously ephemeral sounds are ignored in this case. 14:06 MTDiscord re: 2. by overriding all sound play funcs to insert the handle into a table of all handles 14:06 MTDiscord I don't see what's not portable about this? 14:12 MTDiscord sfan5 when you have time irrlicht/#35 should be really fast to review (adds verbose flag) and will help me debug the Zlib issue in my other PR. 14:12 ShadowBot https://github.com/minetest/minetest/issues/35 -- Can't shutdown server by Ctrl+C in Ubuntu 14:16 sfan5 you don't need to wait for me and can just push the change to your PR (and revert it later) 14:16 sfan5 just fyi 14:17 MTDiscord Did I not push the change? 14:19 sfan5 i'm saying you can push the same commit to irrlicht#31 to debug it right now 14:20 MTDiscord Oh I understand. If I have time tonight to work on it that's what I'll do. Also will shadowbot be getting IrrlichtMt compatibility? It's a little annoying to have it open the wrong link everytime I link an Irrlicht PR. 14:20 sfan5 ask ShadowNinja about that 14:20 sfan5 should be easy to add if he has a moment 15:28 pgimeno I'll work on providing a fallback when I have some minutes 15:36 pgimeno irr#7 15:36 pgimeno https://github.com/minetest/irrlicht/issues/7 -- Add EGL DRM backend 15:36 pgimeno irrmt#7 21:26 sfan5 https://forum.minetest.net/viewtopic.php?f=6&t=26669 https://forum.minetest.net/viewtopic.php?p=394479#p394479 21:26 sfan5 should've backported that mapgen change... 21:27 sfan5 if anyone has some time please find out which mod/game messes with mapgen settings so we can remove it from contentdb 21:56 MTDiscord re mapgen settings, someone claimed hades redo caused it, however i never was able to verify that 21:59 MTDiscord Mostly if other people overwrite the sound_play function themselves as well. It starts getting hairy when you set that precedent in built_in where this PR makes use of stopping all sounds. We could make such a sound_stop_all() function purely out of lua and just override the default sound_play() function to support it. And I see no issues with such a plan, as long as that is what the core devs want.