Time Nick Message 18:24 nerzhul #9719 is ready for a first review. Remind the goal of this PR is not to implement all minetest metrics but to provide the basic framework + some first useful metrics. Anybody is free to add more metrics after that if it's useful :) 18:24 ShadowBot https://github.com/minetest/minetest/issues/9719 -- Add MetricsBackend with prometheus counter support by nerzhul 18:28 nerzhul sfan5 or Krock when you get some time to review it 18:28 nerzhul or rubenwardy 21:41 Wuzzy sfan5: so, about #9462 21:41 ShadowBot https://github.com/minetest/minetest/issues/9462 -- Add support for statbar “off state” icons by Wuzzy2 21:41 Wuzzy (hi) 21:41 sfan5 yes 21:42 Wuzzy maybe i shoud just switch to RGBA. maybe minetest doesn't like indexed color pallete? 21:42 Wuzzy weird that it only happens for one of us tho ? 21:42 sfan5 uh I think you misunderstood my bug 21:43 sfan5 I took heart.png and grayscale-converted it to heart_gone.png 21:43 sfan5 but the problem it is shows up incorrectly 21:43 sfan5 is that because it's 12x not 16x? 21:43 sfan5 (while 12x works fine for heart.png) 21:43 Wuzzy wait, wait 21:44 Wuzzy lets start from the beginning, your bug report literally way the word "uh" ? 21:44 sfan5 yes that was supposed to mean "it surely isn't supposed to render the heart_gone like this" 21:44 Wuzzy did you touch heart.png? 21:44 sfan5 no 21:45 Wuzzy ah 21:45 Wuzzy MTG's heart.png is 16×16 21:45 Wuzzy (for some reason...) 21:45 Wuzzy so your heart_gone.png must also be 16×16 21:46 sfan5 oh 21:46 sfan5 I went into textures/base/pack and converted the heart.png there 21:47 Wuzzy ? 21:47 sfan5 ok it looks perfect in minimal 21:48 Wuzzy hmmm actually the fact that MTG's heart/bubble is 16×16 is a bug. the heart looks distorted lately. but thats a different issue... 21:49 Wuzzy so either fix the MTG textures, or overwrite builtin statbars in MTG. both solutions should fix it 21:50 Wuzzy (anyway, thats unrelated) 22:02 sfan5 Wuzzy: today someone reported this https://github.com/minetest/minetest/issues/9723 22:02 sfan5 you might want to fix this even if you don't support 5.3-dev for MCL 22:03 Wuzzy oops 22:03 Wuzzy argh, this new ObjectRef stuff will continue to haunt me for a while, i guess 22:03 Wuzzy yes, its a legit bug in MCL2 when i disobey (haha!) the documentation 22:04 Wuzzy thanks for alerting me 22:04 sfan5 get_objects_inside_radius({x=0,y=0,z=0}, 99999) would be the documented way to do that 22:04 Wuzzy O_O 22:05 Wuzzy thats a little overkill, it seems 22:05 Wuzzy or is efficnency not an issue even with such a range? 22:06 sfan5 get_objects_inside_radius is O(n) no matter what you pass 22:06 sfan5 (yes thats terrible) 22:06 Wuzzy ooff 22:06 Wuzzy the idea of mcl_void_damage is that is applies to all objects worldwide ? 22:06 Wuzzy otherwise i would have to teach object indifidually to receive void damage :((( 22:07 sfan5 even if it's less clean I'd have the objects call into mcl_void_damage themselves 22:07 sfan5 no matter the get_objects_inside_radius performance, doing the latter is always better 22:07 Wuzzy :((((((((((((((( 22:07 Wuzzy oh man. sounds like a feature request then. "get_all_objects()" 22:08 sfan5 that doesn't really make a difference 22:09 Wuzzy objects as a whole seem to have a big impact on performance 22:09 Wuzzy ? 22:09 Wuzzy is that the reason why MTG is refusing to add mobs? 22:09 sfan5 no 22:09 Wuzzy interesting... 22:09 sfan5 the reason MTG doesn't have mobs is more like "nobody has come and presented the perfect set of mobs on a silver platter yet" 22:10 Wuzzy so MTG is not strictly against mobs then 22:10 Wuzzy but if mobs are added, they must be perfect 22:10 Wuzzy ? 22:11 sfan5 I didn't mean every word of that literally 22:11 Wuzzy Well most mob mods are quite shite, to be honest ... 22:11 sfan5 but most(?) existing mob mods appear to have some deficiencies one way or another 22:11 sfan5 yes 22:12 Wuzzy the most promising candidate seems to be mobkit. I wonder when it will be out of alpha 22:12 Wuzzy I haven't played around with it, tho 22:13 Wuzzy So you're basically saying, its a bad idea to iterate through all entities? 22:13 sfan5 it's a bad idea to iterate through all entities on every step (do you do that?) to implement something that could be done differently 22:14 sfan5 also the bug report showed that void damage affects raindrops 22:14 sfan5 that's wasted cpu time, i'm sure you can avoid spawning drops in places where they can fall into the void 22:14 Wuzzy ok I'm not THAT retarded. i dont iterate in every step. ? 22:14 Wuzzy ah, thats a nice catch 22:15 Wuzzy yes its pointless to spawn particles in The Void 22:15 Wuzzy wait, void damage affects raindrops? that doesnt make sense 22:15 Wuzzy raindrops are particles 22:16 Wuzzy ah its the drippingwater! 22:16 sfan5 close enough 22:17 sfan5 dripping water in Minecraft is a nice touch, I was positively surprised that you implemented it 22:17 Wuzzy drippingwater are decorative entities that spawn below nodes that are blow water or lava 22:18 Wuzzy actually this is an ancient mod, created ages ago by someone else 22:18 Wuzzy MC drippingwater is also just particles, no sound 22:18 nerzhul i'm finishing some technical needed PR and i will take more time to look at mobkit. The main problem i see with it is it's pure lua, and few core calls, reinventing sometimes the wheel 22:19 Wuzzy haha ok i just insta reproduced the crash. right on start. oops 22:19 Wuzzy yeah i dont have an excuse for that ? 22:20 sfan5 it doesn't happen in 5.2 so it's not like you could've known 22:20 Wuzzy yeah normally i ignore -dev for MCL2 but crashes are an exception ... unless the crash was not my fault 22:20 Wuzzy that is... when I am aware of the crash ? 22:21 Wuzzy hmm so you recommend to manually add void damage in every entities on_step function? ooff ? 22:21 sfan5 where it matters of course 22:21 sfan5 that probably is: mob entities and some extra code to apply it to players 22:21 Wuzzy well it matters for ALL entities 22:22 Wuzzy all entities should either take damage or be removed in the void to clean up space 22:22 Wuzzy players of course have special treatment already 22:23 Wuzzy btw Minetest does the same thing already. when an entity manages to go outside the world, it is removed 22:23 Wuzzy in MCL2, the void is considered to be "outside the world" in the same sense 22:24 Wuzzy If i dont regularily remove entities in the void, it would quickly get littered with "zombie" entities that the player would normally not be able to get rid of 22:24 Wuzzy so yeah, it really must affect *all* entities, not just a few select ones 22:25 Wuzzy Any better ideas on how it could be done? :/ 22:25 sfan5 register_on_mods_loaded and overwrite on_step of every entity 22:26 sfan5 I don't know whether you could consider that "better" 22:26 Wuzzy still hacky, but slightly better 22:26 Wuzzy does it win me performance? 22:27 Wuzzy (compared to iterating over all entities) 22:28 Wuzzy nerzhul: what wheels are reinvented by mobkit? 22:28 sfan5 Wuzzy: yes, you iterate over all entities one time less 22:28 sfan5 since you "reuse" the iteration when the engine calls on_step 22:28 Wuzzy haha 22:30 Wuzzy ok lesson learned: dont trust minetest.object_refs 22:30 Wuzzy sfan5: sadly, minetest.object_refs IS documented tho 22:30 sfan5 oh I forgot 22:30 Wuzzy yay, it's not my fault!! :D :D ? 22:30 Wuzzy i can now ignore this bug. *walks_away_slowly* ? 22:31 sfan5 the documentation doesn't say anything about the state of the contained object refs though 22:31 sfan5 since this is engine internals the table also contains object refs that are no longer considered valid 22:31 Wuzzy it's a trap! 22:32 Wuzzy "Map of object references, indexed by active object id" 22:32 Wuzzy the word "active" is highly suggestive ? 22:35 Wuzzy I think objects being weird and WTF to work with is the main reason why we have no decent mobs yet. and collision bugs 22:36 sfan5 well just don't do stupid things 22:36 sfan5 and collision issues were/will be fixed 22:36 Wuzzy sfan5: but iterating over all players is safe, right? 22:37 sfan5 iterating of all is safe as long as you don't touch minetest.object_refs or luaentities 22:37 Wuzzy heh, ok 22:37 Wuzzy Well, I *could* check validity of the refs, but that's illegal 22:38 sfan5 doing that is just not recommend