Time Nick Message 01:27 paramat hi, can any devs merge another fix for undeclared globals in functions? https://github.com/minetest/minetest/pull/1941 02:39 Tesseract paramat: f114fc74d621a7cfb1e63b5405fddb0208ee71d2 02:40 paramat thanks! 04:08 Zeno` Anyone got any ideas/strategies for addressing the memory leaks in server and client? 04:22 Tesseract Zeno`: Leaks? You mean unused but not leaked memory? 04:23 Zeno` No I mean leaks as in memory that is no longer used but never freed (leaks don't just refer to memory not freed at the end of execution; this latter type of leak is not particularly harmful) 04:24 Zeno` Something is allocating memory and never releasing it 04:24 hmmmm hi tesseract 04:24 Zeno` Doing another massif session now 04:25 Tesseract Zeno`: From MegaF's massif dumps it looks like it's unfreed MapBlocks. 04:25 Zeno` Tesseract, my 4 existing massif data dumps show the same thing (essentially) 04:25 Tesseract hmmmm: Hi. 04:25 Zeno` but since the src code line numbers have changed a bit I'll do some more 04:26 Tesseract hmmmm: Anything you wanted to discuss? 04:26 hmmmm https://github.com/minetest/minetest/commit/b0c4fd6d3f1c8e44896358ee9b0af20e9b304944 04:28 Tesseract hmmmm: It needs to throw an exception on something like that instead of silently changing the name or value. 04:28 hmmmm why though 04:29 Tesseract hmmmm: Also, blacklist is probably better. 04:29 Tesseract hmmmm: Because 1. You expect setting a value to either set that value or error, not set a different value. 04:30 Zeno` http://irc.minetest.ru/minetest-dev/2014-12-06#i_4051204 <--- for some reason I said addArea() here 04:30 Tesseract 2. It's a security issue because you can't check if a name starts with something (or at least not without using the internal sanitizeName on the name first). 04:31 Tesseract [end list] 04:31 Zeno` dunno if that's accurate or not (can't remember)... will collect the data again 04:31 hmmmm can you elaborate on #2? 04:31 hmmmm i don't understand what you mean 04:32 Tesseract hmmmm: Security has a few settings that can't be changed by mods (enable_security, trusted_mods, etc) and they're prefixed with "secure.". 04:33 hmmmm so you want it to not evade your own filters 04:33 Tesseract =s=e=c=u=r=e=.enable=_=security would pass it, but change the protected setting. 04:33 hmmmm sigh, alright.. 04:34 hmmmm i think this counts as catering to a specific mod implementation though 04:34 Tesseract hmmmm: It's more about failing rather that silently changing what you wanted to set. 04:35 hmmmm an exception isn't a failure though 04:35 hmmmm it's likened to a crash 04:35 hmmmm i'd need to pass this along to lua as well now 04:36 Tesseract hmmmm: Depends, sometimes they're used almost like flags (Eg, InterruptedException). 04:36 Tesseract It's just something exceptional that happened. 04:37 Tesseract Usually an error, sometimes fatal, but not necessarily. 04:37 Tesseract In this case it's a non-fatal error. 04:41 Zeno` Sounds more like an abuse of exceptions to me 04:41 hmmmm now Settings::set() throws shit 04:42 hmmmm welp 04:42 hmmmm it turned into a simple operation that can't possibly fail into... this 04:43 Zeno` Throwing exceptions for things that are not fatal is horrible 04:44 Zeno` And you end up with people using exceptions in place of conditions 04:44 hmmmm like celeron does 04:44 hmmmm that really wreaked havok 04:45 hmmmm at where i work, exceptions are actually banned 04:46 hmmmm Tesseract: http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Exceptions 04:46 exio4 exceptions for things that are actually fatal is a good use case, I mean, if the map gets corrupted, I think crashing sounds better than corrupting it even more! 04:46 Zeno` it caused the engine to be *twice* as slow as it should have been because (I can't remember the percentage but it was high) x% of everything was spent unwinding the exception stack 04:46 hmmmm yeah, Zeno`, that happened a lot in Map::spreadLight or something 04:46 hmmmm lots of time spent there 04:46 hmmmm can't remember why I didn't fix that while it was still on my plate. 04:48 Zeno` I don't think your workplace is the only one to ban exceptions, hmm :) 04:48 Zeno` hmmmm* 04:48 hmmmm that being said 04:48 Zeno` I don't disagree with them 100% but I rarely see them being used correctly 04:49 Zeno` Google bans them as well 04:50 hmmmm it would be a lot more work modifying the entire set* family of functions to make it pass/fail 04:50 hmmmm if some mod sets an improper setting, i suppose it has the advantage of not being ignorable 04:53 hmmmm yeah, I think I like modifying all the set functions to return a bool of pass/fail instead. if the user enters bad input it simply doesn't get saved, and things that care about security problems can watch out for them 04:53 Zeno` Sounds sensible to me. The only reason I didn't do it at a point when I pondered that as well was because it wasn't impacting performance (which I was, at the time, focussed on) 04:54 hmmmm throwing an exception here is absolutely of no concern to performance. 04:54 Zeno` correct 04:54 Zeno` which is why I moved on at the time :) 04:54 hmmmm unless you need to be fast while attempting to be a sneaky hakka 04:55 Zeno` yeah... never thought of that :P 04:55 hmmmm I'm on the fence 04:55 hmmmm the entire Settings class uses exceptions to communicate 04:55 hmmmm no i have a better idea 04:56 hmmmm i can still display the problem in a non-fatal way by printing to errorstream 05:04 Zeno` http://i.imgur.com/mVEUnOF.jpg <--- 1 client moving around in areas that for the most part were already generated, I diconnectect and reconnected the client 3 times 05:04 Zeno` if anyone wants the massif data let me know 05:06 Tesseract hmmmm: Just make sure it doesn't save something other than you pass. I don't care if it uses bools, exceptions, flags, longjmp, or whatever. 05:08 Zeno` here is it anyway: http://pastebin.com/pZMQEuJz 05:09 Tesseract Zeno`: What tool are you using for looking at valgrind output? 05:09 Zeno` massif-visualizer 05:10 Zeno` don't need it for that simple dump, but some you do (plus it's pretty to look at and share) 05:13 Zeno` Here is the one from Dec 06 : http://pastebin.com/cALR1Qzy 05:14 Zeno` which is kind of useless 05:19 Tesseract Zeno`: What's the one for callgrind? callgrind-visualizer? 05:21 Zeno` kcachegrind 05:23 hmmmm guys 05:23 hmmmm what is LuaSettings::set() supposed to return? 05:24 hmmmm Tesseract, do you want that function to return a bool true/false like the rest of those functions, or throw a LuaError? 05:28 Zeno` should I assign hmmmm to this memory leak? :) 05:28 Tesseract hmmmm: Error handling in Lua is a pain, but silent failures are bad too. IDK. 05:29 * Zeno` looks at the buttons on github... what's this big red do not press one do? 05:29 Tesseract (silent failures if you don't check the return value) 05:29 hmmmm Tesseract, I was thinking more along the lines of, do you want the server to crash and say "no, bad mod!" 05:31 Tesseract hmmmm: It probably should. You shouldn't be setting settings from user input, any the mod maker needs to know about any broken settings. 05:31 Tesseract So, lua_error() or throw LuaError. 05:32 Tesseract Hmmm, I wonder how well non-JIT Lua plays with exceptions. 05:33 Tesseract Might work differently than the LuaJIT wrapper. 05:33 Zeno` There's a whole bunch of exceptions for C++ exceptions for LuaJIT as well isn't there? 05:34 Tesseract Zeno`: I can't parse your sentence, but LuaJIT's C and doesn't play well with exceptions by default. 05:35 Zeno` exceptions for exceptions! It's as clear as mud! 05:35 Tesseract script_exception_wrapper() fixes that. 05:35 Zeno` Anyway http://luajit.org/extensions.html at the bottom, was what I was talking about. You were probably talking about something different 05:36 Tesseract Zeno`: Oh! LJ doesn't work well with exceptions, whatever that says. 05:36 Zeno` ok 05:36 Zeno` thanks 05:36 Tesseract ^ wraps all Lua -> C++ calls in a try-catch on LJ to fix that. 05:37 Tesseract Probably inefficient, but it helps debugging a lot. 05:39 Zeno` yeah 05:40 Zeno` I don't think it's probably all that inefficient if there are limited throws 05:40 Zeno` and only one catch 05:44 Zeno` #1939 05:44 hmmmm there, satisfied 05:44 ShadowBot https://github.com/minetest/minetest/issues/1939 -- Facedir value adjustment breaks Stairs+ nodes wall rotation 05:45 Zeno` I'm tempted to revert 9878e8d 05:46 Zeno` Basically because there seems to be a lot more involved than what RBA, someone else and I discussed at the time 05:47 Zeno` Does anyone understand VanessaE's comment? /me pokes VanessaE 05:49 VanessaE http://digitalaudioconcepts.com/vanessa/extra/Screenshot%20-%2012122014%20-%2012%3a46%3a41%20AM.png 05:50 VanessaE this is with dvere's patch; on the left is what it does now. on the right is what it should do (I used that screwdriver to correct the orientation) 05:50 Zeno` What are those blocks?! 05:50 VanessaE those are stone bricks. 05:50 Zeno` oh, ok 05:50 RealBadAngel excuse me, what stairs have to do with wallmounted? 05:50 VanessaE RealBadAngel: this has nothing to do with the wallmounted setting. This is 6d facedir 05:51 RealBadAngel the commit changes placing of wallmounted nodes 05:51 VanessaE NO 05:51 RealBadAngel no? 05:51 VanessaE no. 05:51 VanessaE RealBadAngel: there is a code in the rotate_node() lua call that detects if the place target is a vertical surface, and orients the node appropriately. 05:51 VanessaE it's totally and utterly unrelated to the wallmounted param2 thing. 05:53 VanessaE in this case, a change was made somewhere in the engine that affects texture rotations on X/Z faces when a 6d facedir rotation is also applied, and dvere's attempting to patch around it 05:53 VanessaE but that patch of course rotates the whole model, not just its texture 05:53 VanessaE it works for slabs since they're basically square, but it breaks things like stairs 05:54 RealBadAngel breaks how? 05:54 VanessaE look at the screenshot. 05:54 VanessaE on the left is what it does now in git HEAD> 05:54 VanessaE on the right is what it used to do when I first wrote the rotate_and_place() call. 05:54 VanessaE or rather, 05:54 VanessaE on the left is after dvere's patch was merged. 05:54 VanessaE (but it's still HEAD) 05:55 VanessaE on the right is the correct behavior, but that behavior is not possible with his patch - I had to manually rotate the stair node 05:55 Tesseract Zeno`: Revert seems good, I cautioned about just this issue. Seems like textures aren't rotated with models properly or something like that. 05:55 VanessaE Tesseract: that's my guess as well. 05:56 celeron55 06:44:56 <+hmmmm> like celeron does 05:56 celeron55 *did 05:56 paramat hmmmm, this is not urgent but seems to me we need 'clear registered decorations' to use alongside 'clear registered biomes'? 05:56 RealBadAngel im placing now some stairs and cant see nothing wrong bout them 05:56 hmmmm agh you're right 05:56 VanessaE RealBadAngel: stairsplus, not defaults. 05:57 hmmmm i'll have to write clear_reigstered_ores while i'm at it 05:57 RealBadAngel what differs stairsplus stairs from defaults? 05:57 VanessaE RealBadAngel: they use the rotate node functions. default stairs don't. 05:57 VanessaE RealBadAngel: update to current HEAD, make some stairs in the circular saw, then point at a wall and place. you'll get the effect on the left instead of the effect on the right. 05:58 RealBadAngel so what is rotating default stairs on placing? 05:59 paramat i wondered about clear ores too, seems less urgent as players would usually be happy with the default ores. however i guess for completeness that's needed 05:59 VanessaE RealBadAngel: unless it's been rewritten, default stairs have their own rotation code, which does not attempt to detect vertical surfaces. 06:00 RealBadAngel i see 06:00 VanessaE *checks code* 06:00 VanessaE yep, they still use hard-coded rotation routines instead of the rotate_and_place() call. 06:01 VanessaE that's why default stairs mod is unaffected - there's no wall orientation detection to affect. 06:03 * Zeno` thinks he sees now 06:04 RealBadAngel why dont we just make it easy way? imho placing should be simplier 06:04 RealBadAngel if you point a face it should mean that bottom of the node should go there 06:05 RealBadAngel without any facedir rotation (or set to 0) 06:05 RealBadAngel in fact placing should be choosing correct axisdir only 06:06 RealBadAngel those rotating functions brings only mess 06:07 RealBadAngel not to mention the visual glitches (node appearing with one facedir then changes it within a second) 06:11 VanessaE well the rotate function did more or less just that 06:11 VanessaE but it used 6dfacedir to do it. 06:13 RealBadAngel for the engine theres only 6dfacedir 06:14 RealBadAngel all other code is just playing around with it 06:14 VanessaE I mean I used 6dfacedir to do it rather than e.g. defining sideways, upside-down, etc. nodes like we used to do. 06:15 VanessaE the solution is simple: revert dvere's patch and fix the texture rotations in the engine, as Tesseract suggested is the case. 06:15 RealBadAngel there are no issues with texture rotations 06:15 VanessaE there are. 06:15 VanessaE trust me. 06:15 RealBadAngel 6dfacedir is tested with real life cube rotated in hand 06:16 RealBadAngel whats wrong are placement routines 06:16 VanessaE wrong. 06:16 RealBadAngel make a cube and follow the on screen rotations with it 06:16 VanessaE I know those routines are working fine. 06:16 VanessaE I wrote them. 06:17 VanessaE (shadow rewrote) 06:17 VanessaE I wrung those routines out nine ways to Sunday. 06:17 VanessaE they were good when they were committed and after shadow's rewrite, as well. 06:17 VanessaE the problem is in the engine/client's handling of the textures on the rotated models. 06:18 RealBadAngel i will find the model again and print it 06:18 RealBadAngel we can easily check it again 06:18 VanessaE RealBadAngel: just do this: 06:18 Zeno` I'll revert the commit. The PR is here if anyone wants to update it, add comments, re-open it, etc feel free ;) 06:19 Zeno` err.. here https://github.com/minetest/minetest/pull/1808 06:19 VanessaE after he reverts that commit, go get moreblocks, make a stone bricks slab, and place it on a stone bricks wall. 06:19 VanessaE the rotation of the textures will not match the wall 06:20 VanessaE when I wrote that routine, the textures DID match 06:20 RealBadAngel i cannot say whats wrong with code that fiddles with and changes 6d facedir values on placement 06:21 RealBadAngel i can be only sure that 6dfacedir is ok 06:21 RealBadAngel because it matches real life cube 06:21 Zeno` reverted 06:22 RealBadAngel how do you rotate that cube is up to those screwed prediction routines 06:22 RealBadAngel there will be always some1 with some mod that will find it wrong 06:23 VanessaE RealBadAngel: you're not listening. 06:23 RealBadAngel thats why i suggest raw axis dir to be picked based on pointed face with facedir = 0 06:23 RealBadAngel with this revert we have fucked up other mod 06:23 RealBadAngel and thats my point 06:23 VanessaE that other mod is fucked up because the *engine* is fucked up 06:23 VanessaE it's rotating the textures wrong 06:24 VanessaE the models are rotated properly (now) 06:24 RealBadAngel if you will have printed cube in hand 06:24 VanessaE dude. 06:24 RealBadAngel and will be rotatin it and see the same behaviour on the screen 06:24 RealBadAngel will you BELIEVE? 06:25 VanessaE I will believe whatever the MODEL says should be the case. 06:26 RealBadAngel damn, make meshnode stair 06:26 RealBadAngel and rotate it with facedir 06:26 VanessaE what? 06:26 VanessaE this isn't about mesh nodes or wallmounted param2 06:26 RealBadAngel yes it is 06:26 VanessaE no it is not! 06:26 VanessaE this has zero to do with those data types 06:26 Zeno` https://github.com/minetest/minetest/blob/master/src/map.cpp#L2198 <--- hmmmm, what gets done with block? 06:26 RealBadAngel meshnodes textures are not rotated with our engine 06:27 RealBadAngel listen to me for christ sake 06:27 VanessaE RealBadAngel: G*d damn it this is not about mesh nodes, this is about NODEBOXES 06:27 RealBadAngel irrlicht rotates the model together with textures 06:27 RealBadAngel now use regular stair and meshnodes stair 06:27 RealBadAngel check if textures are rotated the same for both 06:28 RealBadAngel apply to both the same 6d facedir values 06:28 RealBadAngel ones textures will be rotated by our code, meshnode's with irrlicht 06:28 RealBadAngel if you will find any difference it will mean ours is broken 06:28 VanessaE ok, I just confirmed that I am right. 06:29 RealBadAngel go on 06:29 VanessaE current HEAD (with dvere's commit reverted, per zeno's latest update) 06:29 VanessaE screenshot: 06:29 VanessaE http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/Screenshot%20-%2012122014%20-%2001%3a29%3a32%20AM.png 06:29 VanessaE THAT is the correct behavior 06:30 hmmmm Zeno`, you mean block = createBlock(p);? 06:30 hmmmm absolutely nothing 06:30 VanessaE and that's precisely what it does when I point at the wall and place the stair 06:30 hmmmm that's not my code btw :) 06:30 hmmmm or wait, I don't know, createBlock() i think automatically inserts itself into the containing MapSector 06:30 Zeno` hmmmm, Just asked you because I thought you may be familiar with that part of the code 06:30 hmmmm not a leak 06:31 RealBadAngel VanessaE, you are still talkin about prediction routines and messing that with textures rotations 06:31 VanessaE NO 06:31 VanessaE G*d damn it 06:31 Zeno` That /seems/ to only get freed when a client disconnects. Not sure. This is confusing me now 06:31 hmmmm it should get unloaded after so many seconds of inactivity 06:32 VanessaE something went wrong somewhere in the engine or my code after I committed it, and those dirs1/dirs2 values are NOT the correct place to make the change 06:32 Zeno` createBlankBlock() is what massif is pointing me towards 06:32 RealBadAngel VanessaE, lemme show you something (need to modify screwdriver a bit for that, so gimme a minute) 06:32 Zeno` Which has MapBlock *block = createBlankBlockNoInsert(y); 06:33 VanessaE RealBadAngel: the highlighted slab is wrong, it didn't used to place like this: http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/Screenshot%20-%2012122014%20-%2001%3a32%3a45%20AM.png 06:33 VanessaE idk why this behavior is like this, but this is NOT how it behaved when I wrote that rotation routine. 06:34 Zeno` hmmmm, so it doesn't /appear/ to be being inserted, but... 06:34 Zeno` if that's the case what does it do? heh 06:35 hmmmm if it's not getting inserted into the containing MapSector, THAT my friend, is a memory leak 06:35 RealBadAngel http://i.imgur.com/wRE5XlO.png 06:35 RealBadAngel check out those stairs 06:35 VanessaE *facepalm* 06:36 Zeno` well, that's probably the culprit then but I'd really like somebody with more familiarity with this section of the code to look 06:36 VanessaE I give up. 06:36 hmmmm i love that christmas tree randomly on a sandy beach 06:36 RealBadAngel you may think that their 6d facedir is the same 06:36 hmmmm fits perfectly 06:36 RealBadAngel wrong 06:36 hmmmm RealBadAngel, I thought it was pretty obvious they're different by looking at the texture 06:37 RealBadAngel it showing just one thing 06:37 RealBadAngel if the model is fitting its not enough 06:38 RealBadAngel somebody got lost in 3d space 06:38 hmmmm rotate +Y twice, and then rotate -Z once 06:38 VanessaE I will say it once again: when I wrote that rotation prediction routine, the models AND textures were already aligned. I made sure of that. 06:38 hmmmm and then they'll be the same facedir 06:38 VanessaE I tested it every way I could. 06:38 hmmmm damn vectors 06:39 VanessaE if something broke in the meantime, it's not the job of this prediction routine to fix it. 06:39 RealBadAngel VanessaE, there was one patch to 6dfacedir since i wrote it 06:39 RealBadAngel two switched rotations 06:39 RealBadAngel but it was like half a yr ago 06:41 RealBadAngel maybe thats the problem with prediction routines 06:41 Zeno` well it does appear to be inserted after looking more. Now to find where it's (supposed to be) freed 06:44 RealBadAngel btw, just related question, why "prediction placement" is used AFTER placing a node? 06:48 RealBadAngel i think i will add to selectionmesh.cpp not only highlighting and cracks but also placement prediction (shadowed copy of what you are holding in hand actually placed on the ground) 06:49 VanessaE RealBadAngel: don't bother 06:49 RealBadAngel the very similar way how it was done in RedPower2 06:49 RealBadAngel that will eliminate need for after placing code 06:49 VanessaE there are a million possible ways to predict where a node will go and what it'll do when placed 06:49 VanessaE you'll need client-side lua for this. 06:49 RealBadAngel no i wont 06:49 RealBadAngel its fairly easy 06:49 VanessaE then how will you predict a multi-node object? 06:50 VanessaE such as a door? 06:50 VanessaE what if the mod wants it placed differently than your prediction code says? 06:50 RealBadAngel tell me, why doors are still multinode? 06:50 VanessaE you can't hard-code the prediction shadow. you have to let lua predict it or do nothing. 06:51 VanessaE they're still multi-node because 0.4.11 isn't out yet, so most users don't have mesh nodes. 06:51 RealBadAngel you dont need two nodes to make a door 06:51 VanessaE and because on place, you have to detect air/buildable_to 06:51 RealBadAngel thats not related to the fact it can be single node 06:53 VanessaE well either you need a mesh node, or you need a >1m nodebox 06:53 VanessaE if you do the former, you need a -dev client 06:53 VanessaE if you do the latter, you need tileable textures 06:53 VanessaE (==boring) 06:53 VanessaE that's why. 06:58 VanessaE as for the whole michegas about the texture vs. model rotation, it's clear that we also need a setting to force textures to never rotate at all regardless of the rotation of the model. 06:58 VanessaE mishegas* 06:58 RealBadAngel huh 06:59 RealBadAngel i just realized one thing 06:59 VanessaE hm? 06:59 RealBadAngel the code youre claiming to be wrong 06:59 RealBadAngel its inactive for quite a while :) 06:59 VanessaE I'm not claiming a specific routine is wrong 06:59 RealBadAngel there are no nodeboxes anymore lol 06:59 RealBadAngel when cache is enabled irrlicht does the rotations 07:01 RealBadAngel so any textures related problems are supposed to be posted on irrlicht forums rotfl ;) 07:01 VanessaE ... 07:02 RealBadAngel that show what really broken 07:02 RealBadAngel only prediction stuff 07:02 VanessaE it wasn't broken when I wrote ity. 07:02 VanessaE -y 07:03 hmmmm paramat: https://github.com/minetest/minetest/commit/2b8180a417465845759096670f498bf71cd39403 07:03 VanessaE nor after shadow rewrote it. 07:04 RealBadAngel atm minetest doesnt handle texture rotations (at least for nodeboxes and meshed nodes) 07:04 * paramat looks 07:05 RealBadAngel but still you can check it by enabling and disabling the cache simply 07:05 VanessaE RealBadAngel: well then I don't know what's wrong. 07:05 VanessaE I give up. 07:05 VanessaE go your own way with that routine if you want. 07:05 RealBadAngel i told you whats wrong, too complicated prediction routines 07:05 VanessaE there's nothing complicated about it. 07:06 VanessaE it determines if you're pointing at a wall, looks up the corresponding 6d facedir rotation in a table based on your current yaw. 07:06 VanessaE that's it. 07:06 VanessaE (same for floor or ceiling orientations) 07:06 RealBadAngel i will make it a few liner 07:07 RealBadAngel without any tables and conversions 07:10 paramat hmmmm, okay so leave flags blank for non-eased 2d noise. seems odd to ease 2d noise since it's already smooth.. 07:11 hmmmm oh no 07:11 hmmmm if you misunderstood what I wrote, then I didn't articulate it very clearly 07:12 hmmmm leave flags blank for noise just like you're used to, eased/non-eased is determined by the type of noise it's being used for 07:12 paramat heh not necessarily, i have random head 07:12 hmmmm 2d noise uses eased by default 07:12 hmmmm 3d noise uses non-eased by default 07:12 hmmmm this is needed for backwards compatibility 07:12 hmmmm if you want to do something a little different though... you need to specify the flags field 07:13 hmmmm 2d noise with the "eased" flag does nothing really because it's already eased by default 07:13 paramat 2d noise has always been eased then? 07:13 hmmmm if you specify "noeased" though, or just have the flags field present without "eased" present, it'll disable easing on 2d noise 07:13 hmmmm yup 07:13 paramat okay 07:13 hmmmm if you specify "eased" on 3d noise, it'll ease your 3d noise 07:14 hmmmm if you specify "noeased" on 3d noise or leave nothing at all, it'll be regular 3d noise 07:14 hmmmm let's say you want absolute noise but you don't want to specify eased or not eased 07:14 hmmmm you'd specify defaults instead 07:14 hmmmm flags = "defaults, absvalue" would make the noise eased or not eased based on if it's being used for 2d or 3d noise 07:15 * paramat takes note 07:15 hmmmm by the way, you understand the flags specifier format, right? 07:16 paramat erm 07:16 hmmmm there's the comma-delimited string format, and then there's the table format 07:16 hmmmm "flag1, flag2" sets flag 1 and flag 2 07:16 hmmmm "noflag1, flag2" specifically unsets flag1 in case it's set by default, and sets flag2 07:17 hmmmm flags = { flag1 = true, flag2 = true } in lua format 07:17 hmmmm or... 07:17 hmmmm flags = { flag1 = false, flag2 = true } which is equivalent to flags = { noflag1 = true, flag2 = true } 07:18 paramat i'll copy paste this explanation, useful 07:18 paramat and luaperlinnoise is the lua wrapper around the new noise stuff? 07:19 hmmmm LuaPerlinNoise has been around since forever... I just updated it so that it can take advantage of the new parameters 07:19 paramat okay 07:19 hmmmm also you weren't able to specify coordinate-specific spread factors 07:19 paramat whats that 07:19 paramat ? 07:20 hmmmm the (250.0, 250.0, 250.0) thing 07:20 paramat oh yeah 07:20 hmmmm how much the noise is spread out by :) 07:21 hmmmm celeron seems to have previously called that "scale", but i use the word scale for what the end result is multiplied by 07:21 hmmmm which is usually what scaling represents... 07:21 paramat yeah scale is the old wordage for spread 07:22 hmmmm i didn't realize my terminology was conflicting until i read LuaPerlinNoise's ctor 07:27 paramat so now for getting perlin noise at point in lua we can use the same noiseparam format that's used for getting lua perlinmaps? 07:27 hmmmm yea 07:27 paramat great i have been wanting that 07:27 hmmmm well if you create the objects with PerlinNoise() 07:28 hmmmm minetest.get_perlin() automatically adds the world seed to np.seed 07:28 Zeno` fixed 07:28 Zeno` (probably) 07:28 paramat ahokay 07:29 VanessaE bbl 07:44 Zeno` #1945 for review please 07:44 ShadowBot https://github.com/minetest/minetest/issues/1945 -- Fix server memory leaks by Zeno- 07:44 Zeno` bbiab 07:46 MaleMegaf Zeno`: I will try that 07:47 Zeno` nah don't worry. You can if you want 07:47 Zeno` but it's stupid 07:48 MaleMegaf Zeno`: I hope that fix, And that could indeed cause such behavior 08:07 Zeno` ok, fixed it properly now 08:23 Zeno` hmmmm can you check #1945 for me please 08:23 ShadowBot https://github.com/minetest/minetest/issues/1945 -- Fix server memory leaks by Zeno- 08:24 Zeno` I should change the title to "Fix map memory leaks" 08:24 Zeno` because it fixes the big leak in client as well 08:44 hmmmm looks good to me 08:45 hmmmm well there's your problem :P 08:52 Zeno` I'll merge #1935 in 30 minutes 08:52 ShadowBot https://github.com/minetest/minetest/issues/1935 -- make leveling the definition of the node "climbable" 08:52 Zeno` grr 08:52 Zeno` #1945 I mean 08:52 ShadowBot https://github.com/minetest/minetest/issues/1945 -- Fix server memory leaks by Zeno- 08:56 kahrl Zeno`: I feel stupid for not seeing it but why does that fix leaks? 08:57 Zeno` because the condition was never true 08:57 kahrl really? 08:58 Zeno` apparently not 08:58 kahrl m_usage_timer is a float that increases over time... eventually it's bigger than the unload timeout (when rounded down) so getUsageTimer returns a u32 bigger than the unload timeout 08:58 kahrl right? 08:59 Zeno` that's what I thought at first as well and why I ended up with my crazy solution 09:00 kahrl there must be something else going on then as well 09:00 kahrl I don't know what 09:00 Zeno` did you see what I originally did? 09:01 kahrl nope 09:01 Zeno` promise not to laugh? 09:02 Zeno` I added unloadUnreferencedBlocks() just before https://github.com/minetest/minetest/blob/master/src/map.cpp#L1493 09:02 MaleMegaf you should add that too, again 09:02 Zeno` I'm writing some test cases now because I want to understand this a bit better as well 09:02 MaleMegaf it works very well 09:03 Zeno` MaleMegaf, well no... because all it does is call timerUpdate() again 09:03 MaleMegaf hm 09:03 MaleMegaf I will have a nap, cya 09:03 Zeno` so it worked, but only mistakenly (because the unload_timeout was -1) 09:04 Zeno` I pasted a link to a graph in #minetest, kahrl 09:04 Zeno` this new graph looks like what I expected to see and *not* what it looked like before #1945 09:04 ShadowBot https://github.com/minetest/minetest/issues/1945 -- Fix server map memory leaks (server/client memory leaks) by Zeno- 09:07 kahrl I made it write something to dstream inside the if and now it prints a lot of stuff 09:08 kahrl "condition is true; getUsageTimer returned 32" repeated more often than my terminal backlog can handle 09:09 kahrl (I mean the condition at server.cpp:1453) 09:10 Zeno` hmm 09:10 Zeno` I will run another 40 minute test 09:12 Zeno` did it print the lots of stuff before? 09:13 kahrl how do you mean before? 09:13 Zeno` before my patch 09:13 kahrl yeah 09:13 Zeno` or are you already talking about that 09:14 Zeno` ok 09:21 Zeno` ok, well it was working before :/ 09:21 Zeno` Now it's not 09:25 Zeno` quite possibly IntervalLimiter is broken 10:06 Zeno` ugh 10:43 Zeno` I'm changing 1945 to fix typo and will merge 10:43 Zeno` to subject "fix typo" 10:52 Zeno` it's almost at the point where #1880 needs to be labelled as a blocker 10:52 ShadowBot https://github.com/minetest/minetest/issues/1880 -- Server memory usage slowly rises and doesnt stop 10:53 Zeno` 1GB usage in 10 minutes and still rising 10:54 Zeno` with a single client wandering around randomly (always forward) in already generated areas :/ 10:54 kahrl hrm :( 10:54 kahrl I have no clue either 10:55 Zeno` I know *what* it is, I just don't know why it's not being freed 10:55 Zeno` And it's the same issue with the client (because of the internal/local map... whatever you want to call it) 11:02 Zeno` My VPS would have crashed by now I think heh 11:02 Zeno` and the server has only been running < 20 minutes 11:04 Zeno` https://gist.github.com/Zeno-/b94fe33284486d2b3834 11:06 Zeno` for those who like pictures (like me) http://i.imgur.com/wTMN8So.jpg 11:11 sol_invictus this is a blocker for sure, who wants to play a game leaking so much memory 11:13 kahrl strange though that it only seems to affect very few people 11:13 kahrl Megaf and now Zeno` 11:13 Zeno` oh, it's been affecting me for a while 11:14 Zeno` but I was concentrating on client at the time and thought it was a client memleak. Turns out it's in Map 11:14 Zeno` I just didn't have time to look closer until today 11:14 kahrl I see 11:15 Zeno` I first mentioned it in here well before that issue was created 11:15 Zeno` But I couldn't, at the time, rule out irrclicht leaks 11:16 Zeno` My massif settings are at the top of the gist; maybe another dev could confirm/deny? 11:17 Zeno` the alloc-fn functions are for glib only (of course) 11:17 kahrl I might try it later today 11:24 Zeno` kahrl, I hope so because it's sending me crazier than I normally am 11:31 Zeno` Will do client now, but I'm pretty sure it'll point to the same thing 11:37 Zeno` comments on #1895? 11:37 ShadowBot https://github.com/minetest/minetest/issues/1895 -- Responsive tooltip offset for Android. by KodexKy 11:38 Zeno` worked fine for me a week ago but I only have 1 android device to test on 11:39 Zeno` celeron55 should but us all something with OSX on it and 5 or 10 android devices. To test on, of course 11:39 Zeno` buy* 11:41 kilbith btw, there's an horrible bug with raillike on android 11:45 Zeno` kilbith, I thought that was fixed 11:46 kilbith apparently not 11:46 Zeno` https://github.com/minetest/minetest/commit/b9bc8dadb2ebdfdc05b1e3709c6173571de21efc <-- it was android only by chance 11:46 Zeno` it's still a bug? 11:48 Zeno` This fix works for me 11:48 Zeno` That* 11:48 kilbith by bug i mean the raillike extrude in height 11:49 Zeno` ah, I don't know about that one 11:50 kilbith those nodes appears like giant bars 11:50 Zeno` *sigh* I have to build for Android again? 11:52 kilbith this bug is old though, was existing before (and after) the patch you've linked 11:52 Zeno` screenshot? 11:53 kilbith on android ? 11:53 Zeno` well, photo.. same thing 11:53 kilbith later 11:53 Zeno` ok 11:53 Zeno` if there's not an open issue regarding it can you open one? 11:54 kilbith eventually 11:54 Zeno` must be important then ;) 11:57 kilbith a game like that can't be comfortably played on android anyway 11:57 Zeno` here is massif dump for client: https://gist.github.com/Zeno-/0989747e89b505da3535 11:58 Zeno` http://i.imgur.com/ZLp90ki.jpg the cliff is where I turned around and went back to 0,0,0 12:00 MaleMegaf Zeno`: you can merge memory leak fix 12:00 Zeno` MaleMegaf, I have... I'm just not sure it fixes it 12:00 MaleMegaf my server is using 106 MB now 12:01 MaleMegaf I havent restarted it yet, 12:01 Zeno` so it does (at least partially)? 12:01 Zeno` if so, then it's partially fixed :) 12:01 MaleMegaf it looks like 12:02 MaleMegaf I havent seen memory use decrease on the server side in a while... 12:08 MaleMegaf Zeno`: I seem to be the only one with #1934 12:08 ShadowBot https://github.com/minetest/minetest/issues/1934 -- TAB auto complete will no longer work on console. 12:08 MaleMegaf any idea on that? 12:21 Zeno` nope... autocomplete still works for me 13:41 PilzAdam sfan5, hi; do you have time to review pulls today? 13:53 kilbith we may need a new dev like Zeno for cares about the _game pulls. 13:56 kilbith BlockMen went away since a long time, Nore is busy with his studies, sfan5 is requested many times per day for review some pulls that just requires few seconds/minutes 13:56 kilbith i found that abnormal that it's so slow 14:13 Zeno` maybe people familiar with minetest_game should put forward nominees and vote then ;) 14:13 Zeno` It won't change if nobody pushes the ball 14:14 kilbith PilzAdam would be a good candidate for that IMO 14:25 Zeno` he needs support though 14:25 Zeno` otherwise they'd all be merged already 14:26 kilbith Zeno`: concerning the raillike bug that i was talking about : https://mediacru.sh/7DtIcadIdykX 14:26 kilbith ^ here it shows the rails... extruded infinitely up to the sky 14:31 Zeno` oh yeah... that thing 14:32 Zeno` I dunno. We don't really have any Android devs 14:32 Zeno` apart from sapier 14:32 kilbith sapier 14:33 kilbith quite severe bug 14:33 Zeno` I don't think sapier is a bug 14:33 kilbith heh 14:34 Zeno` And because sapier is the only Android dev (that I know of), #1895 is just sitting there 14:34 ShadowBot https://github.com/minetest/minetest/issues/1895 -- Responsive tooltip offset for Android. by KodexKy 14:34 Zeno` it works fine 14:35 Zeno` Does anyone object if I merge it? 14:35 Zeno` We could be waiting centuries if I don't 14:37 Zeno` And I don't want to lose KodexKy because his PRs get ignored (his patches so far have been great) 14:43 Zeno` I guess I'll make an executive decision then. Merging. 14:46 sfan5 PilzAdam: yes 14:47 PilzAdam :D 14:48 PilzAdam nore already agreed to these: https://github.com/minetest/minetest_game/pull/338 https://github.com/minetest/minetest_game/pull/354 https://github.com/minetest/minetest_game/pull/366 https://github.com/minetest/minetest_game/pull/375 https://github.com/minetest/minetest_game/pull/174 14:49 PilzAdam RealBadAngel (who originally wrote the screwdriver) also said that the new screwdriver controls are good 14:49 PilzAdam and the obsidian brick texture needs to be updated, but I think it would also be ok to first merge the PR and then update the texture 14:51 PilzAdam I can merge these, if you want, so you just have to say "+1" 14:54 sfan5 PilzAdam: 174: ok (has a merge conflict tho'); 375: ok; 366: ok; 354: is default_sign_wall.png still used?; 338: ok 14:55 PilzAdam default_sign_wall is used as inventory image 14:56 sfan5 354 is ok too 14:57 PilzAdam I'll merge them then 14:57 sfan5 BlockMen went away since a long time, Nore is busy with his studies, sfan5 is requested many times per day for review some pulls that just requires few seconds/minutes 14:57 sfan5 kilbith: I'm busy with exams 14:57 sfan5 my time is not infinite 14:57 PilzAdam then theres this big thing https://github.com/minetest/minetest_game/pull/376 14:57 sfan5 s/.+/i don't have infinite time/ 14:58 kilbith i can perfectly understand, that's why delegate PilzAdam as maintainer would be a good solution IMO 14:58 sfan5 I think some people might have something again PilzAdam being a maintainer of _game 14:58 kilbith against ? 15:01 PilzAdam sfan5, should I rename obsidian_brick to obsidianbrick, to follow stonebrick, sandstonebrick and desert_stonebrick? 15:02 kilbith sfan5: agreed for the random show of headers 15:02 sfan5 PilzAdam: yes 15:02 sfan5 kilbith: against* correct 15:02 kilbith sfan5: just remove the cubic ones which are not appreciated 15:04 kilbith and the basic style 2 (w/ diagonal lines) 15:05 sfan5 kilbith: the idea was not that we use all of the headers, but some we can agree on 15:05 kilbith that's ok then 15:08 sfan5 there are about 12 days left until we plan to release, would not be a good time to release an RC build for people to test? 15:13 Taoki I'm seeing a lot of pull requests getting handled. Can someone please do #1926 as well please? 15:13 ShadowBot https://github.com/minetest/minetest/issues/1926 -- Liquid & climbing footsteps by MirceaKitsune 15:13 Taoki I see there are several devs around if more opinions are needed 15:16 Taoki sfan5: Are you ok with this one too? 15:20 sfan5 Taoki: 1926 looks good; PilzAdam: can you merge 1926? 15:21 PilzAdam sfan5, yes, of course 15:21 PilzAdam lemme test it first, though 15:21 Taoki Thanks :) 15:21 Taoki I tested it as well on both ladders and while swimming... feels a lot better and works as intended 15:22 Taoki Also enables ladder climbing footsteps out of the box. Swimming sounds (footsteps for water node) I might add after 4.11 is released, later on. 15:24 kilbith Taoki: eventually player's falling sounds too ? 15:25 Taoki kilbith: I have to code that separately, but I'm considering it actually. After the next release most likely. 15:25 Taoki Although hearing the footstep sound when you first land on a node is okay for now 15:28 Zeno` too many parenthesis 15:28 PilzAdam Taoki, why do you only check for vertical movement when climbing? 15:28 Taoki Zeno`: Didn't know how to make it simpler. If someone can make it simpler with the same results, sure. 15:29 Taoki PilzAdam: When you push back and forth on a ladded, you don't really move your hands or legs across the steps. So there shouldn't be a footstep or the wielded item bobbing. 15:29 Taoki Felt a bit more logical 15:29 Taoki **swing back and forth, would be a more correct term for moving your body vertically while holding onto a ladder 15:30 PilzAdam hmm... okay 15:30 Zeno` Taoki, the problem is I cannot tell how many conditions you are checking there 15:30 Zeno` Not easily anyway 15:30 Taoki Zeno`: One overall condition per line. The entire group is separated by a new space, so it's more easily readable 15:31 PilzAdam Taoki, there is a problem in the swimming part: when just sinking (without pressing any keys) the wielditem is bobbing 15:31 PilzAdam this is definitely wrong 15:31 Taoki Zeno`: What it basically says is: If moving horizontally and on land, or if moving horizontally or vertically and in liquid, or if moving vertically and on a ladder. 15:31 Zeno` && and || have lower precedence than anything else. I find this confusing :( 15:31 Taoki PilzAdam: I guess. Is there a way to add an extra check about movement keys being pressed? 15:31 Zeno` I find the extra parenthesis confusing* 15:32 celeron55 yeah that conditional is basically unreadable 15:33 Taoki Don't know how to rewrite it more simply and have it do the same thing 15:34 Zeno` Taoki, it may be just a case of getting rid of the parenthesis where they're not needed... I'm not sure 15:34 Taoki Zeno`: Which has priority? && or ||? 15:35 PilzAdam Zeno`, https://gist.github.com/PilzAdam/c2d1c3258d2b9dfac2a1 ? 15:36 Taoki PilzAdam: Thanks, I'll add that to my branch then. Why is only one bool a const however? 15:36 PilzAdam (make the other bools const too) 15:36 Taoki Aha... will do 15:36 PilzAdam Taoki, no need to update, I will merge it anyway 15:36 Taoki Ok then 15:37 Zeno` PilzAdam, that's readable 15:37 Taoki Zeno`: Yeah, should have thought of it as well :P 15:37 Taoki Was focused on doing it all in the if statement because it seemed simpler. 15:37 Taoki Guess I'm not a perfect coder after all :( :) 15:38 PenguinDad Taoki: nobody is a perfect coder ;) 15:43 PilzAdam Taoki, hmm.... there seems to be no easy way to tell whether the player is actively swimming up and down or just sinking passively... 15:44 Taoki PilzAdam: Can it go like this for now? I mean someone who's sinking could be waving their arms automatically too. If something pushes the player at ground level for instance (not movement keys) the footsteps and view borring still occur. 15:46 PilzAdam oh, theres swimming_vertical 15:47 Taoki Yay, sounds like it should save the day 15:47 PilzAdam it works! 15:47 Taoki But yeah... the effect should happen if swimming either vertically or horizontally, but not if pressing no movement key at all 15:47 Taoki Si it should be something like if(movement_XZ && player->swimming_vertical). 15:48 Taoki Sorry, || not && 15:48 Taoki And movement_Y still used for ladders as is of course 15:49 PilzAdam sfan5, https://github.com/PilzAdam/minetest/commit/cec141adc1fd0845e27df9b0c88d979dd765e76f still ok? 15:49 PilzAdam Zeno`, ^ everything readable? 15:50 Zeno` PilzAdam, it's readable but whether or not it's correct or not I leave to you :P 15:51 Zeno` I, personally, don't think they need to be const bool, but *shrug* 15:51 Taoki Looks perfectly readable to me. While even I admit my initial version was ugly ::) 15:52 Zeno` (!g_settings->getBool("free_move") || !m_gamedef->checkLocalPrivilege("fly"))) <--- is that right? 15:52 PilzAdam Zeno`, it's same as before 15:53 Zeno` before the patch? 15:53 PilzAdam yes 15:53 Zeno` ok 15:53 PilzAdam well, == false was used before, but that's just ugly 15:54 PilzAdam I'll push that now 15:55 Zeno` && !(g_settings->getBool("free_move") && m_gamedef->checkLocalPrivilege("fly")) is clearer, but *meh* 15:56 PilzAdam we all know boolean algebra 15:56 Zeno` yep 15:56 Zeno` hence the "meh" :D 15:57 PilzAdam sfan5, https://github.com/minetest/minetest_game/pull/174#issuecomment-66788379 15:57 PilzAdam should I increase it to 4? 16:02 kilbith same outcome as stone and sandstone currently 16:02 kilbith no reason to increase it 16:05 PilzAdam stonebrick, sandstonebrick and desert_stonebrick (which are the equivalent for obsidianbrick of other stones) all give 4 16:07 kilbith wrong 16:07 kilbith output = 'default:stonebrick', 16:07 kilbith recipe = { 16:07 kilbith {'default:stone', 'default:stone'}, 16:07 kilbith {'default:stone', 'default:stone'}, 16:07 kilbith same for desert 16:08 PilzAdam https://github.com/minetest/minetest_game/blob/master/mods/default/crafting.lua#L480 16:08 PilzAdam https://github.com/minetest/minetest_game/blob/master/mods/default/crafting.lua#L600 16:08 PilzAdam https://github.com/minetest/minetest_game/blob/master/mods/default/crafting.lua#L480 16:09 kilbith hmm, we're not reading the same file apparently 16:14 sfan5 PilzAdam: yes, still ok; yes, increase it to 4 16:16 PilzAdam done 16:17 PilzAdam sfan5, will moonflowers be added anytime in the future or can we close these 3 pull requests finally? 16:17 sfan5 I don't think we'll add moonflowers 16:19 PilzAdam is there any point in keeping the PR's open then? 16:19 PilzAdam (same for tin) 16:19 sfan5 I don't think there is any 16:40 PilzAdam sfan5, https://github.com/minetest/minetest_game/pull/376 16:40 PilzAdam rebased to latest changes 16:41 PilzAdam I'd suggest to merge this ASAP, since rebasing nodes.lua is a PITA 16:41 sfan5 PilzAdam: what about default.grow_pine_tree() ? 16:41 sfan5 (in the docs i mean) 16:42 PilzAdam ah, good catch :-) 16:43 PilzAdam should it be changed to grow_pine_tree too? 16:43 sfan5 yes 16:44 sfan5 PilzAdam: can you change this comment? https://github.com/minetest/minetest_game/pull/376/files#diff-4c0fc0806e6a443774cea3aea5f3febeR814 16:45 sfan5 a bit misleading if you don't know about the textures of grass 16:45 Zeno` What about kaeza, VanessaE or Calinou helping with minetest_game PR approvals? 16:45 * VanessaE hides 16:45 * sfan5 un-hides VanessaE 16:46 Zeno` I'm serious 16:46 PilzAdam sfan5, what about "Use texture of a talle grass stage in inventory"? 16:46 PilzAdam *taller 16:46 sfan5 PilzAdam: +1 16:47 Calinou Zeno`, I agree, but will other devs? ;) 16:47 Calinou hi 16:47 Zeno` Calinou, I have no idea. It's a suggestion 16:47 PilzAdam sfan5, done 16:48 Zeno` I haven't spoken to any of those people so I dunno if they'd even agree 16:48 Zeno` VanessaE seems to be hiding for some reason 16:50 Zeno` I'm only suggesting this because of the conversation earlier 16:50 celeron55 could this maybe be prioritized a bit more than it currently is? https://github.com/minetest/minetest/issues/1106 16:50 Zeno` (because I agree that things are kind of slow) 16:50 Calinou yes, I have issues with adding characters like é in chat (but I can add them in console) 16:51 PilzAdam wasn't there a proposal some time ago to replace the chat dialog with the chat console? 16:51 sfan5 PilzAdam: #376 looks good 16:52 ShadowBot https://github.com/minetest/minetest/issues/376 -- Fixed compile issues on windows. by dannydark 16:52 PilzAdam sfan5, ok, I'll wait for nore or BlockMen to appear then 16:52 Zeno` see what I mean? 16:52 celeron55 PilzAdam: it doesn't fix the main problem i think; thexyz's commit set that fixes it is quite large (said to be LGPL by 4aiman, not sure) 16:53 Zeno` 3 people who can approve a merge for minetest_game is not enough IMO 16:53 PilzAdam Zeno`, I agree 16:53 Zeno` it's not fair on any of them (too much workload) 16:53 PilzAdam celeron55, it wasn't meant as a fix for that problem 16:53 PilzAdam just a general reminder 16:54 celeron55 Zeno`: note that minetest_game developers are free to not regard minetest core devs as any more important than a random person on the internet (you're still free to suggest that though) 16:55 Zeno` celeron55, I understand that completely 16:55 Zeno` celeron55, and I don't want (and can't) review this stuff myself and maybe many other core devs can't either 16:55 Zeno` I'm not qualified in most cases (well, in the simple ones I am) 16:56 Zeno` I'm not suggesting that core devs should be able to approve changes to minetest_game (in most cases) 16:57 Zeno` *shrug* 16:57 PilzAdam there simply need to be more minetest_game maintainers 16:57 Zeno` PilzAdam, that is what I am suggesting 16:59 Calinou they could be separate people? 16:59 Zeno` Calinou, they already are 16:59 Zeno` which is why PA is not a suitable candidate ;) 16:59 Calinou right. do we maintain a list on wiki? 16:59 Zeno` (sorry PilzAdam) 16:59 celeron55 they're free to ask here if they can't find anyone, but i would like if they could get people from elsewhere 16:59 celeron55 it'd be interesting to see some more subgame-oriented developers get into it 17:00 celeron55 with new ideas and ways of doing things 17:00 Zeno` celeron55, the problem is we all see the minetest_game PRs 17:00 PilzAdam subgame-oriented developers wouldn't be interested in minetest_game because there is nothing interesting to be developed there 17:01 Zeno` it's not really "separate" in the sense that it's separate from minetest 17:01 PilzAdam it's used by too many different people and can't change a lot 17:01 celeron55 PilzAdam: that's possible; i trust them to decide 17:02 Calinou there are lots of things to fix :P 17:02 Calinou it can evolve while keeping its spirit 17:02 Calinou ie. it shouldn't become Dreambuilder or Carbone in two weeks 17:02 Zeno` sfan5 can approve, why can't other people be given commit privs (and discourage them from merging minetest, not minetest_game) related PRs? 17:02 PilzAdam Calinou, I already fixed all issues that are real bugs by now; everything else are just feature additions 17:02 celeron55 maybe we could set up a limit for how many pull requests it can have at maximum without the main project going to speed things up 17:03 Zeno` PilzAdam, through hard work :) 17:03 celeron55 so that it cannot get out of hand 17:03 kilbith Calinou: minetest_game should keep its own spirit, not slowly become a Carbone bis between your hands... 17:03 Zeno` I'm not suggesting a free for all heheh 17:03 sfan5 Calinou: minetest_game should keep its own spirit, not slowly become a Carbone bis between your hands... 17:03 sfan5 oh 17:03 sfan5 nvm 17:04 kilbith yes? 17:04 Calinou I would just be one of the maintainers, if I was one 17:04 Calinou along with other people 17:04 Calinou so my changes would still have to be approved 17:04 celeron55 sfan5: you should comment something about the concern about mt_game pull requests 17:04 PilzAdam I would happily fix more things and review pull requests in minetest_game; but I can understand if they don't want me back 17:05 celeron55 sfan5: like, how does mt_game expect to deal with them, can you find more developers or will you just do more work? 17:06 sfan5 it would certainly be nice to have more people helping with _game 17:06 sfan5 maybe we could set up a limit for how many pull requests it can have at maximum without the main project going to speed things up 17:06 celeron55 you can do anything you want of course, but you'll have to take care of it somehow 17:06 sfan5 how about a time perioud in which pulls should at least be looked at 17:06 sfan5 ? 17:07 Zeno` who's going to look at them? 17:07 sfan5 the maintainers 17:07 Zeno` which, quite frankly, is just you atm :) 17:07 sfan5 correct 17:08 sfan5 this is why it would be nice to have more maintainers for _game 17:08 celeron55 can you explain to me what kind of people mt_game needs 17:08 Zeno` yep, and that's all I've been trying to suggest ;) 17:08 celeron55 i can help with it, but i do not want to have anything to do with deciding where it's going as a project 17:08 celeron55 at least currently 17:09 celeron55 (only if evidence shows that it's going a wrong way; that hasn't happened) 17:09 sfan5 what kind of people? hm. 17:10 celeron55 obviously people who blindly follow the orders of sfan5 and do a lot of work for no rewards at all 17:10 celeron55 and who are geniuses at everything 17:11 sfan5 what exactly did i do wrong? 17:11 celeron55 nothing, i'm just silly 17:12 celeron55 what's your motivation in working on mt_game? 17:12 celeron55 if you say it, maybe someone else might realize they have the same one 17:13 celeron55 (or maybe you realize there's no point and stop it altogether, who knows! that would be sad though) 17:14 sfan5 i originally wanted to help with minetest_next because _game was not being developed anymore and I agreed with BlockMen that _game needed some additions 17:15 sfan5 currently i'm the person that approves pull requests because other maintainers have limited to no time 17:18 sfan5 I also work on _game because players expect new content (90% or even more of the engine changes are not noticeable to players) and there was no agreement on which subgames (which would provide new content) will be bundled with releases 17:20 PilzAdam sfan5, do you have a more specific direction for minetest_game than the one listed here: http://dev.minetest.net/minetest_game_Development ? 17:21 sfan5 i guess no 17:21 PilzAdam so it's basically based on the input of others (i.e. the pending pull requests)? 17:21 sfan5 yes 17:22 Calinou it would mostly be “add stuff slowly, focus on fixing rather than adding”, probably 17:22 PilzAdam do you plan to code anything yourself or just merge other's PRs? 17:22 sfan5 currently, no; in the future, yes; I'm currently busy 17:23 PilzAdam what would that be? fixes or new features? 17:25 celeron55 nobody is ever inherently busy or has inherently no time; it's always a matter of having not enough motivation for a particular thing 8) 17:26 celeron55 (when competing with other things that one could do) 17:26 sfan5 (I'm not saying I'm constantly busy) 17:27 PilzAdam the motivation for my recent for on minetest_game is that I saw actual bugs in the issue list and knew how to fix them 17:27 PilzAdam *my recent work 17:27 celeron55 sfan5: in case you haven't realized, you could eg. give permission for specific people to do specific things on their own like fixing bugs that meet some kind of condition 17:28 celeron55 (maybe like permit the minetest core developers to fix bugs that have been agreed on in the issue list if two of them agree) 17:28 celeron55 agreed on in the issue list by you* 17:29 sfan5 do the small-patch -> merge without agreemnet rule apply to _game too? 17:30 celeron55 whatever, i believe you, nore and blockmen are still the right people to decide how to continue with mt_game because you managed to keep it alive as _next when the actual repo was frozen 17:31 sfan5 s/do/does/ 17:31 celeron55 it doesn't automatically apply 17:31 celeron55 it does if the mt_game devs say so 17:32 sfan5 I guess it won't hurt to allow PilzAdam to merge small fixes into _game 17:32 celeron55 personally i believe something like that would be a good idea if you're busy 17:36 sfan5 PilzAdam: the small-fix rule of the general dev guidelines now applies to you for _game. 17:36 PilzAdam yay 17:39 Calinou it looks like the game's minetest.conf is no longer used 17:42 PilzAdam sfan5, just to be sure, this would be an example of a "small-fix": https://github.com/minetest/minetest_game/commit/19bdcb26f61ed763998734dd12e9a2a2aa0fb0f5 17:42 PilzAdam and this wouldn't be one: https://github.com/minetest/minetest_game/commit/5b7db483728cfdd735e3bb8819d1320671836762 17:43 sfan5 the first one if a small-fix 17:43 sfan5 the seconds one... maybe 17:43 sfan5 it was 1-10 changed lines IIRC 17:44 PilzAdam "small patch, fixing some compiler error or other trivial mistake," 17:44 sfan5 in that case the 2nd isn't a small-fix anymore 17:44 PilzAdam so everything that falls under the category "typo" 17:45 sfan5 ..is a small-fix, yes 17:46 sfan5 small things missing in a nodedef qualifies as a small fix too 17:46 sfan5 (see the first commit you linked) 17:47 PilzAdam could we find a day each week (or every second week) we both have time (and maybe nore too) to review other pull requests? 17:54 PilzAdam hmmmm, https://github.com/minetest/minetest/issues/1947 17:57 Tesseract Feature freeze has been put off long enough, and I don't want to miss our deadline like last year. I'll start the freeze in a few minutes if there are no serious objections (it can always be reverted if a good reason is found). 17:58 VanessaE poke at RealBadAngel first, I think he had a couple of things to get in before the freeze 17:58 Calinou Tesseract, https://github.com/minetest/minetest_game/pull/353 what about this PR? 17:59 Tesseract Calinou: It seems like 15 is already pretty generous. 17:59 Calinou steel is expensive 17:59 Calinou and 15 rails make a… 15 meter-long railroad 17:59 Calinou you need more if you want to be serious with carts 17:59 Calinou Minecraft gives 16 for comparison, and nearly no one uses legit carts there 18:06 hmmmm PilzAdam, am aware, can't find out any good way around that. 18:06 hmmmm Tesseract, I need to add two new apis for clearing registered decorations and ores 18:07 PilzAdam hmmmm, what about printing "Starting/finished unit tests" to actionstream? 18:07 PilzAdam Tesseract, there are non-bugs still in https://github.com/minetest/minetest/milestones/0.4.11 18:08 hmmmm under normal error log levels that wouldn't get printed 18:08 PilzAdam like serverlist icons 18:08 hmmmm it'd need to be printed at the same log level as the error messages are printed out, i.e. errorstream 18:08 hmmmm i think this highlights a bigger issue 18:08 PilzAdam hmmmm, or change errorstream while running the test? 18:09 hmmmm as we begin to increase unit test coverage, how do we contain errors 18:09 hmmmm ah 18:09 hmmmm yeah, that might be something we could do 18:09 hmmmm derp 18:09 Tesseract PilzAdam: Then they can be removed. We can let small features through, but we should start to concentrate heavily on bugs now. 18:09 Tesseract unit tests shouldn't be run in release. 18:10 Tesseract (If thay are) 18:10 PilzAdam Tesseract, they aren't 18:10 Tesseract Alright, good. 18:12 PilzAdam hmmmm, when will your APIs be finished? 18:13 hmmmm in an hour or so 18:13 hmmmm i did most of it last night but i have to get done with work first this morning 18:14 PilzAdam ok, so we freeze today? 18:14 PilzAdam ^ Tesseract, kahrl, sfan5, celeron55, Zeno` 18:15 Tesseract PilzAdam: +1 18:15 VanessaE [12-12 12:58] poke at RealBadAngel first, I think he had a couple of things to get in before the freeze 18:15 Tesseract icons seem ready to merge now. 18:17 celeron55 PilzAdam: no problem for me, i don't have anything planned 18:17 hmmmm amazingly i got 99% accomplished of what i wanted in this release 18:20 Tesseract Can someone re-run https://travis-ci.org/minetest/minetest/jobs/43681934 It seems to be a fluke failure, but I want to make sure it works. 18:21 Tesseract celeron55: ^ You or xyz most likely, if it's doable. 18:25 celeron55 Tesseract: that site has terrible UI, i don't even know if i have any special privileges there 18:25 celeron55 i found a button with no tooltip with a circular arrow and clicked i 18:25 celeron55 +t 18:26 PilzAdam Tesseract, I have a rebuild button too 18:26 PilzAdam why don't you have one? 18:28 Tesseract PilzAdam: IDK... 18:28 Tesseract Oh, probably because it doesn't recognize me as signed in. 18:29 PilzAdam you need to click on "Sign in with github" in the top right 18:30 Tesseract Yep, done. Now I see a cancel button, which I assume was a restart button before. 18:30 celeron55 that's the one 18:31 Tesseract Comments on #1944? Comments on the original one were mostly positive, and I fixed some mentioned issues (and some unmentioned ones). 18:31 ShadowBot https://github.com/minetest/minetest/issues/1944 -- Added basic support for generating API documentation using doxygen by ShadowNinja 18:32 Calinou is this for mods/games? 18:32 Tesseract Calinou: No, it generates docs for the engine's C++ code. 18:34 PilzAdam Tesseract, if people aren't going to add redundant and useless doxygen comments to the source code... 18:35 Tesseract PilzAdam: Of course. 18:36 PilzAdam Tesseract, the travis build for icons passed now 18:37 Tesseract Good. kahrl: Do you thing that's pretty much done? 18:46 VanessaE bbl 18:51 celeron55 okay so now there is an actually competent doxygen patch 18:52 celeron55 i will test this now and then i will look at the output and make a suggestion of what doxygen comments are allowed 18:53 celeron55 and then if somebody disagrees, he is wrong 18:53 celeron55 ok? 8-) 18:58 hmmmm are the doxygen comments limited to the header files? 18:58 celeron55 so yeah, here's the new Game class, if someone was wondering http://i.imgur.com/BwK5eRK.png 18:58 hmmmm how terrifying 18:58 celeron55 these images are always quite revealing 18:59 celeron55 it's not even bad 18:59 celeron55 the small server dependency just makes it look so 19:01 celeron55 our current coding style says "Doxygen comments are acceptable, but please put them in the header file.", "Don't make uninformative comments" and "Add comments to explain a non-trivial but important detail about the code, or explain behavior that is not obvious." 19:01 hmmmm https://github.com/minetest/minetest/blob/master/src/nodedef.h#L298 19:01 hmmmm like that^ 19:03 celeron55 i don't like the way you used "add a request --" and "removes all --" in those comments 19:03 celeron55 but yes, those look reasonaable in the doxygen output 19:03 celeron55 most places don't need that many comments to be understandable though 19:03 celeron55 for example not all functions or methods need a comment 19:03 hmmmm i don't know why I did that 19:03 celeron55 and nobody should try to do that for the sake of it; it has to be rigorously rejected 19:05 hmmmm I think I just wanted to be as explicit as possible about that class so people don't misuse it 19:05 hmmmm it works great and is essentially zero overhead, but it's really easy to shoot yourself in the foot 19:06 hmmmm i need to reword a couple of those comments... it's not clear i'm referring to a specific parameter name vs. regular verbiage 19:06 celeron55 it's fine in a thing like that which isn't self-explanatory at all 19:08 hmmmm https://github.com/kwolekr/minetest/commit/cf8213ea827f38ae5d4b8ef16c396545e3e59657 19:08 hmmmm @paramat 19:08 hmmmm but everybody, please review 19:13 Krock looks good 19:30 Krock ..\..\minetest\src\settings.cpp:207: Settings::updateConfigObject: Assertion 'it->second.group == 0' failed. Debug stacks: DEBUG STACK FOR THREAD be4: #0 main 19:30 hmmmm uh oh 19:30 hmmmm let's see it 19:30 Krock happened on closing.. 19:30 hmmmm well of course... but there's no debug stack? 19:31 Krock there's one for main #0 19:32 Krock "SPE_KVPAIR" 19:33 hmmmm do you think you could like paste it 19:34 hmmmm oh well durrr 19:34 Krock mhm quite hard to reproduce that fail 19:34 hmmmm that was retarded 19:34 hmmmm invalid memory access 19:35 hmmmm some mod or something deleted a setting from your working config 19:38 Krock hmm there's no mod in my game or world which removes settings. whatever. it's a rare bug 19:38 hmmmm it's not a problem, i got it 19:39 hmmmm just a bad oversight by me 19:39 Krock ye 19:40 hmmmm it's fixed 19:40 Krock that fast? ah nice! 19:41 Krock hmmmm, are you aware of the code 11 lines below that change? 19:42 hmmmm yes 19:43 hmmmm the problem there was I said "Oh, these conditions weren't fulfilled? well it better not be a group, that's for sure!" 19:44 hmmmm when in fact the setting i'm talking about didn't even exist 19:44 hmmmm but it can't be a group if it's not in the current working settings, since it's in the KVPAIR handler case 19:44 Krock oh right. now I see it 20:09 Tesseract Looks good, any comments? https://github.com/minetest/minetest/pull/1948 20:10 PilzAdam looks good 20:11 Krock Too many ((())) at https://github.com/onkrot/minetest/commit/ac4c09c0a7#diff-a2a82fe964a7b85f20cd5239d386184aR1319 20:11 hmmmm well who even says that's the style 20:13 Tesseract hmmmm: Nobody, but it's more readable to me. 20:13 hmmmm PilzAdam, https://github.com/kwolekr/minetest/commit/78a32f63be1e39f4d0a96576f99d43ed37368f6d 20:44 PilzAdam hmmmm, seems good 20:54 hmmmm phew 20:54 hmmmm lots of activity 20:54 Tesseract Look O.K? #1938 20:54 ShadowBot https://github.com/minetest/minetest/issues/1938 -- Fix MSVC compiling warnings and remove an unused texture by SmallJoker 20:55 hmmmm yeah that's fine 20:55 hmmmm i'm guilty of making 4-in-1 combo commits all the time so it's not that bad 21:11 hmmmm I don't like NodeResolver 21:11 hmmmm i want to tear it out but it's probably too close to release 21:15 Tesseract hmmmm: Go ahead, it can be merged after release. 21:16 hmmmm merge conflicts 21:16 Tesseract I'm just waiting on kahrl for icons before starting the freeze. 21:17 Tesseract hmmmm: Really? Is anyone going to make substantial changes to NodeResolver durring feature freeze? 21:17 hmmmm other things surrounding it might cause problems 21:18 Tesseract And unless it's a huge conflict it only takes a few minutes to resolve. 21:20 hmmmm =/ 21:20 hmmmm meh 21:44 PilzAdam why is "ERROR[main]: Subgame [] could not be found." printed at each startup for me? 21:45 celeron55 it's always easy to do internal changes right after release 21:45 celeron55 and a very good time for it too 21:45 celeron55 you'll just have to make sure APIs don't need to change 21:50 PilzAdam I guess it's an error while trying to parse cmd args, but that isn't needed since I use the mainmenu 21:58 kaeza could somebody update the translation catalogs so translators can update the texts before release? 21:59 Tesseract #1538 and #1300 should be merged first. 22:00 ShadowBot https://github.com/minetest/minetest/issues/1538 -- Update Russian L10n(Grammar) by AntonBoch1244 22:00 ShadowBot https://github.com/minetest/minetest/issues/1300 -- Updated Italian translation - 2014-05-14 by Enki4 22:00 Tesseract Approve/disapprove? 22:05 kaeza italian looks good, and fixes a few issues with strings not specifying positional arguments 22:12 paramat thanks hmmmmm for the clear apis 22:13 hmmmm no problem, it's my own oversight 22:16 Tesseract Russian looks good except for the removal of a question mark after "timeout". 22:16 Tesseract (Google translate) 22:21 Tesseract I'll push Russian and the result of util/updatepo.sh in an hour or so if there are no objections. 22:37 kahrl hi guys, I'll be here in a few minutes 22:37 kahrl (was asleep earlier) 22:45 Tesseract kahrl: Is your icons patch ready to merge? 22:45 Tesseract If so, go ahead and merge it. 22:56 kahrl Tesseract: I'm rebasing it and fixing the bad variable name pointed out by ShadowNinja 22:57 kahrl then it is ready to go, except how do other devs think about the ... vs. 99+ vs. >99 debate? 23:04 kahrl done; I rebased and squashed everything into two commits 23:11 kahrl please vote: http://strawpoll.me/3176913 23:12 gravgun argh, confused, while ">99" is mathematically correct, "99+" seems more common 23:12 kahrl I'll make some screenshots too for better comparison 23:13 PilzAdam whats "0 / ..."? 23:13 PilzAdam ah, it means >99 23:14 gravgun IMO "..." isn't descriptive enough, same for "##", which could be interpreted as an error somehow 23:15 kaeza kahrl, btw, Tesseract == ShadowNinja 23:15 kahrl TIL 23:15 gravgun The more you know 23:15 kaeza :P 23:16 PilzAdam yeah, I agree with gravgun, "..." and "##" aren't good 23:16 PilzAdam hence my confusion when first seeing it ;-) 23:17 kahrl screenshots: http://imgur.com/a/PoIPo#0 23:18 gravgun if clients_max > 99 disables limit, if it does then "∞" is a possibility 23:18 kahrl gravgun: it doesn't 23:18 gravgun that's what I thought 23:19 jin_xi i think 99+ looks simplest and clearest, but why are numbers offset one space in this version? 23:19 PilzAdam kahrl, what happens if the number in front of the / gets greater than 99? 23:19 gravgun Yup 99+ is best 23:19 kahrl PilzAdam: the same thing happens to it 23:19 kaeza also, how does it look with larget/smaller fonts? 23:19 kahrl (although I could change that) 23:19 kaeza larger* 23:20 kahrl jin_xi: because it's a table, so the column aligns to the right and has the width of the longest cell 23:20 jin_xi i see 23:20 PilzAdam kahrl, when switching between favorites and serverlist, the fields aren't updated but an entry from the list is selected 23:20 PilzAdam so selected entry and fields get out of sync 23:21 jin_xi cant numbers <99 be padded with a space? 23:21 kahrl PilzAdam: is that a new bug in my PR? 23:21 PilzAdam no, I don't think so 23:21 kahrl huh? 23:21 Tesseract Feel free to finish this. 23:21 kahrl ah 23:22 kahrl kaeza: looks pretty much the same, just larger ;) 23:23 kahrl jin_xi: how do you mean that? 23:23 Tesseract I like >99, followed by 99+. ... and ## aren't descriptive and inf is mesleading. 23:23 Tesseract 'hi' might also work. 23:24 Tesseract But that's confusing too. 23:24 kaeza the visible gap there doesn't look too bad IMHO 23:25 kahrl I'll make it 99+ then based on the votes 23:25 gravgun If we need to change it we'll change it later 23:25 kahrl riht 23:25 kahrl right* 23:26 Tesseract kaeza: I18N updated. 23:26 kaeza ack 23:26 gravgun kaeza speaks TCP? 23:26 PenguinDad gravgun: syn syn syn syn syn :P 23:27 gravgun no, a SYN flood! run \o/ 23:28 kaeza lol one million lines changed by updatepo 23:29 kahrl #1891 updated 23:29 ShadowBot https://github.com/minetest/minetest/issues/1891 -- Display serverlist flags as icons by kahrl 23:30 kahrl shall I merge it? 23:31 Tesseract kahrl: LGTM 23:35 kahrl done 23:36 Tesseract kahrl: You can push your fix to #1910 now I think. 23:36 ShadowBot https://github.com/minetest/minetest/issues/1910 -- Dragging mouse out of mainmenu window causes segfault 23:38 Tesseract sfan5: Seems like #1881 is server-side due to the 500 code. Do you know the cause and have you fixed it? 23:38 ShadowBot https://github.com/minetest/minetest/issues/1881 -- Error on server shutdown: master-server/announce not found (HTTP response code said error) (response code 500) 23:39 kahrl Tesseract: also done 23:40 PilzAdam https://github.com/minetest/minetest/pull/1950 23:44 PilzAdam https://github.com/minetest/minetest/issues/1951