Time |
Nick |
Message |
00:38 |
|
MichaelRpdx joined #minetest-dev |
01:27 |
paramat |
hi, can any devs merge another fix for undeclared globals in functions? https://github.com/minetest/minetest/pull/1941 |
02:03 |
|
zat joined #minetest-dev |
02:19 |
|
zat joined #minetest-dev |
02:24 |
|
Zeno` joined #minetest-dev |
02:30 |
|
alexxss joined #minetest-dev |
02:39 |
Tesseract |
paramat: f114fc74d621a7cfb1e63b5405fddb0208ee71d2 |
02:40 |
paramat |
thanks! |
03:36 |
|
paramat left #minetest-dev |
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 |
|
Miner_48er joined #minetest-dev |
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 |
|
paramat joined #minetest-dev |
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:41 |
|
n4x joined #minetest-dev |
05:41 |
|
exio4 joined #minetest-dev |
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:13 |
|
hmmmm joined #minetest-dev |
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:48 |
|
Hunterz joined #minetest-dev |
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 |
|
sol_invictus joined #minetest-dev |
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 |
07:56 |
|
NakedFury joined #minetest-dev |
07:57 |
|
paramat left #minetest-dev |
08:07 |
Zeno` |
ok, fixed it properly now |
08:07 |
|
troller joined #minetest-dev |
08:15 |
|
NakedFury joined #minetest-dev |
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:47 |
|
jin_xi joined #minetest-dev |
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:53 |
|
alexxs joined #minetest-dev |
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 |
|
kilbith joined #minetest-dev |
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 |
|
DuDraig joined #minetest-dev |
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:20 |
|
Amaz joined #minetest-dev |
09:21 |
Zeno` |
ok, well it was working before :/ |
09:21 |
Zeno` |
Now it's not |
09:25 |
Zeno` |
quite possibly IntervalLimiter is broken |
09:37 |
|
Garmine joined #minetest-dev |
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:46 |
|
PenguinDad joined #minetest-dev |
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 |
|
ImQ009 joined #minetest-dev |
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:20 |
|
PenguinDad joined #minetest-dev |
11:24 |
Zeno` |
kahrl, I hope so because it's sending me crazier than I normally am |
11:24 |
|
daswort joined #minetest-dev |
11:31 |
|
kaeza joined #minetest-dev |
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:19 |
|
kilbith joined #minetest-dev |
12:21 |
Zeno` |
nope... autocomplete still works for me |
12:46 |
|
selat joined #minetest-dev |
13:20 |
|
Zeno` joined #minetest-dev |
13:29 |
|
PilzAdam joined #minetest-dev |
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:19 |
|
ImQ009 joined #minetest-dev |
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:44 |
|
shadowzone joined #minetest-dev |
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 |
<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 |
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:03 |
|
diemartin joined #minetest-dev |
15:04 |
kilbith |
and the basic style 2 (w/ diagonal lines) |
15:05 |
|
alexxs joined #minetest-dev |
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:06 |
|
hmmmm joined #minetest-dev |
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 |
|
MinetestForFun joined #minetest-dev |
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:30 |
|
Hunterz joined #minetest-dev |
16:34 |
|
toshiba_ joined #minetest-dev |
16:35 |
|
shadowzone joined #minetest-dev |
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 |
|
Calinou joined #minetest-dev |
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 |
|
MinetestForFun joined #minetest-dev |
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:58 |
|
rubenwardy joined #minetest-dev |
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 |
<kilbith> 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 |
|
ImQ009 joined #minetest-dev |
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 |
<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: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 |
|
ImQ009 joined #minetest-dev |
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:24 |
|
zat joined #minetest-dev |
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 |
|
Krock joined #minetest-dev |
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:34 |
|
exio41 joined #minetest-dev |
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:51 |
|
shadowzone joined #minetest-dev |
17:53 |
|
y joined #minetest-dev |
17:54 |
PilzAdam |
hmmmm, https://github.com/minetest/minetest/issues/1947 |
17:54 |
|
gravgun joined #minetest-dev |
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 |
|
y joined #minetest-dev |
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] <VanessaE> 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:22 |
|
y joined #minetest-dev |
18:24 |
|
Wayward_One joined #minetest-dev |
18:24 |
|
electrodude512 joined #minetest-dev |
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:17 |
|
AnotherBrick joined #minetest-dev |
19:23 |
|
ImQ009_ joined #minetest-dev |
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 |
19:55 |
|
Amaz joined #minetest-dev |
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:42 |
|
AnotherBrick joined #minetest-dev |
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 |
20:56 |
|
exio41 joined #minetest-dev |
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:57 |
|
paramat joined #minetest-dev |
21:58 |
kaeza |
could somebody update the translation catalogs so translators can update the texts before release? |
21:59 |
|
Fritigern joined #minetest-dev |
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:09 |
|
eeew joined #minetest-dev |
22:12 |
paramat |
thanks hmmmmm for the clear apis |
22:12 |
|
compunerd joined #minetest-dev |
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:02 |
|
paramat left #minetest-dev |
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 |
|
Topic for #minetest-dev is now FEATURE FREEZE FOR 0.4.11 IN EFFECT! | Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/ |
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 |
23:49 |
|
realbadangel joined #minetest-dev |
23:57 |
|
paramat joined #minetest-dev |