Time |
Nick |
Message |
00:14 |
luizrpgluiz |
have any target date for the release of version 0.5.0? |
00:15 |
est31 |
~topic |
00:15 |
ShadowBot |
est31: Minetest core development and maintenance. 0.4.13 release scheduled for August 10 2015. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/ |
00:15 |
hmmmm |
est31: the problem is that the entire protocol has to change just for one small thing |
00:15 |
luizrpgluiz |
I'm looking forward to the news of the new version if it does not change the api also |
00:15 |
hmmmm |
wtf who scheduled 0.4.13 |
00:15 |
est31 |
hmmmm, me |
00:15 |
hmmmm |
come on you're killing me guys |
00:16 |
hmmmm |
we need to have a critical mass of people able to help with the releases around too |
00:16 |
est31 |
hmmmm, thats no hard date, if we have bugs not solved by that date, we just wait :) |
00:16 |
hmmmm |
crecca just left |
00:16 |
hmmmm |
meh.. |
00:16 |
hmmmm |
crecca: yes |
00:22 |
RealBadAngel |
hmmmm, are you ok with the pr now? |
00:22 |
hmmmm |
hold on |
00:23 |
hmmmm |
I thought you said there was a difference between the >= 1.999 and the > 2.0? |
00:23 |
hmmmm |
in fact now one of them is >= 2.0 and the other is > 2.0! |
00:24 |
luizrpgluiz |
lol |
00:25 |
RealBadAngel |
ouch, havent pushed updated one |
00:27 |
RealBadAngel |
just forgot about last update waitin, now its consistent |
00:28 |
hmmmm |
did you remember to make the corresponding PR for mtgame? |
00:29 |
luizrpgluiz |
I apologize that I did not understand anything, but I think the minetest should have more efficient updates or at least try to experience a new graphical engine. |
00:29 |
hmmmm |
btw you don't have to change anything, just so you know, the id parameter for getTexture is optional |
00:29 |
hmmmm |
so if you don't intend to use the id for anything just write texture = getTexture(tname); |
00:29 |
est31 |
RealBadAngel, you dont have to fix the mesh thread lag, also not have to add the right shift IMO |
00:30 |
est31 |
because we already dont accept right shift as sneak key |
00:30 |
hmmmm |
luizrpgluiz: we are looking into separating irrlicht into an abstraction layer |
00:30 |
est31 |
are we? |
00:30 |
hmmmm |
yeah |
00:30 |
hmmmm |
obviously not soon |
00:30 |
hmmmm |
but it's in the plans |
00:30 |
est31 |
well thats good |
00:30 |
hmmmm |
then someday maybe we can move to something modern like OpenSceneGraph |
00:31 |
VanessaE |
hmmmm: when he last said it, Zeno was ~40% done with that. |
00:31 |
VanessaE |
and this was weeks ago |
00:31 |
hmmmm |
really!?!? |
00:31 |
hmmmm |
sweety |
00:31 |
VanessaE |
yes |
00:31 |
hmmmm |
sweet* |
00:31 |
est31 |
wow |
00:31 |
hmmmm |
no wonder why zeno is staying away |
00:31 |
est31 |
with the openscenegraph, or the abstraction |
00:31 |
hmmmm |
probably the abstraction |
00:31 |
VanessaE |
the abstraction. if I understood him correctly anyways |
00:31 |
hmmmm |
abstraction is needed first |
00:31 |
est31 |
yea |
00:32 |
RealBadAngel |
offtopic. who else can see glitched wield hand? |
00:34 |
RealBadAngel |
https://imgrush.com/sjYy4sd6jCKV.png |
00:35 |
hmmmm |
which settings do I need to have enabled to see it? |
00:37 |
RealBadAngel |
atm i can see that glitch no matter the settings |
00:39 |
luizrpgluiz |
hmmmm: why not do a test with another graphical engine and is easier to use and has more things to use in minetest and that offers graphic and clear support and open source ? |
00:39 |
hmmmm |
because it's not as easy as just switching a library |
00:39 |
hmmmm |
you need to re-code just about everything |
00:40 |
|
paramat joined #minetest-dev |
00:41 |
est31 |
~ping |
00:41 |
ShadowBot |
pong |
00:45 |
luizrpgluiz |
Yes, I understand you have to reprogram all the same game that moves to another scripting language also, and of course some engines may offer better things for the development be more effective. |
00:45 |
paramat |
will push #2909 soon |
00:45 |
ShadowBot |
https://github.com/minetest/minetest/issues/2909 -- Minimal: Remove recently added unnecessary nodes by paramat |
00:47 |
paramat |
RealBadAngel, i only see that wield glitch when using fsaa |
00:49 |
luizrpgluiz |
someone already used the OGRE3D in some developing games before? |
00:50 |
VanessaE |
paramat: in UjE's screenshot, fsaa was not disabled (says his config file anyway) |
00:52 |
RealBadAngel |
for me turning off fsaa helped |
00:53 |
est31 |
why, luizrpgluiz we can stick with lua |
00:53 |
est31 |
the engine has nothing to do with us using lua |
00:55 |
paramat |
the wield glitch in UjE's screenshots is a different wield glitch (i think) |
00:55 |
VanessaE |
paramat: well the glitch I refer to is the pattern on the left-facing side of the hand. |
00:57 |
RealBadAngel |
hmmmm, flags_texture = getTexture(tname); that simply doesnt compile |
00:57 |
hmmmm |
what is the error? |
00:58 |
RealBadAngel |
http://pastie.org/10291064 |
00:59 |
|
twoelk|2 joined #minetest-dev |
00:59 |
RealBadAngel |
pretty funny because i can see such call in wieldmesh.cpp and there it works |
00:59 |
luizrpgluiz |
est31: it was an example, if you want to use another graphics engine in the game, I have nothing against LUA, I think even easier to develop mods and even programs, but it would be good to use a graphical engine that has at least support the scripting language |
00:59 |
hmmmm |
i see why |
01:00 |
RealBadAngel |
yes? |
01:00 |
est31 |
luizrpgluiz, even if, most mods are written in lua, and i dont think we should give the full api to untrusted mods |
01:00 |
hmmmm |
RealBadAngel: on tile.cpp:333, add =NULL to id |
01:01 |
est31 |
we snouldn't use engine shipped scripting languages imo |
01:01 |
hmmmm |
the function prototype is correctly defined in the publically exposed ITextureSource interfaces, that is, with id as an optional parameter |
01:02 |
hmmmm |
it just so happens that they have matching function prototypes so it links correctly |
01:02 |
hmmmm |
only that id is not defined as an optional parameter in the private implementation, TextureSource |
01:03 |
RealBadAngel |
i see |
01:03 |
RealBadAngel |
now it compiles |
01:05 |
luizrpgluiz |
est31: Yes, in a way I agree with you, what I meant was it would be great to use another graphics engine that has more good things and that it is aid to better develop minetest the game or any future projects :) |
01:10 |
RealBadAngel |
hmmmm, i will make commit for mt game as soon as this gets merged |
01:35 |
RealBadAngel |
hmmmm, better? https://github.com/RealBadAngel/minetest/commit/e9e07e637340e108b75618c507e1df5f9868363d#diff-8b1361a90a460ea33ecf3db026997f8aR2062 |
01:36 |
est31 |
RealBadAngel, dont update the protocol version yet |
01:37 |
est31 |
if I add utf-8 chat, it would need additional update |
01:37 |
est31 |
if we can do it together, its better |
01:37 |
est31 |
in one protocol bump |
01:37 |
RealBadAngel |
i can wait, no problem |
01:38 |
RealBadAngel |
do you have that pr ready? |
01:38 |
est31 |
yea |
01:38 |
est31 |
only needs reviews |
01:38 |
paramat |
now pushing 2909 |
01:39 |
est31 |
paramat, do you have any reviews for that |
01:39 |
est31 |
hmmmm is all crazy about 3 reviews for people |
01:40 |
est31 |
i dont say blocking is good, but if, it should be fair |
01:40 |
est31 |
for everybody |
01:40 |
est31 |
dont you think |
01:41 |
paramat |
hmmmm #2909 if you want to check |
01:41 |
ShadowBot |
https://github.com/minetest/minetest/issues/2909 -- Minimal: Remove recently added unnecessary nodes by paramat |
01:44 |
paramat |
i announced the PR twice earlier, but didn't highlight hmmmmm |
01:44 |
RealBadAngel |
paramat its ok with me (i will just have to rebase mine) |
01:45 |
RealBadAngel |
btw, after VanessaE and cheapie crying that stone is horrible, i made new normalmap |
01:45 |
RealBadAngel |
https://imgrush.com/4GAPi-hoeF4F.png |
01:45 |
est31 |
I admit that paramat's code has very high quality |
01:45 |
RealBadAngel |
what do you think about this one? |
01:46 |
cheapie |
RealBadAngel: A little bit on the bumpy side, but I *love* the sharpness. |
01:46 |
est31 |
I cant recall a change of him that doesnt have regressions |
01:46 |
cheapie |
Much, much better than the old one. |
01:46 |
paramat |
yeah better |
01:46 |
VanessaE |
way better. |
01:46 |
est31 |
I cant recall a change of him that has regressions Ü |
01:46 |
est31 |
* |
01:46 |
est31 |
sorry |
01:47 |
est31 |
too much negations here :) |
01:50 |
|
asl97 joined #minetest-dev |
01:53 |
est31 |
paramat, 2909 looks good |
01:54 |
est31 |
as you know what you are doing, i guess you can push it with only one +1 |
01:56 |
paramat |
well it's usually a good idea to have hmmmmm check my PRs, but if he's busy sometimes i go ahead anyway, being a sortof 'deputy mapgen maintainer' |
01:57 |
paramat |
i'll wait a little longer |
02:03 |
hmmmm |
paramat: yes, looks good |
02:03 |
hmmmm |
realbadangel: yes, looks good |
02:04 |
paramat |
thanks, you first RBA, there's no conflicts it seems |
02:05 |
RealBadAngel |
hmmmm, btw https://imgrush.com/SwA4emRCW2Jy.png |
02:05 |
RealBadAngel |
look at the normal map to the left |
02:05 |
VanessaE |
you mean to the right :P |
02:05 |
exio4 |
when in doubt, go with the center |
02:06 |
RealBadAngel |
you can see that gradients on the top and bottom edge are connecting |
02:06 |
paramat |
ah this is less bumpy? i prefer this |
02:06 |
VanessaE |
yeah I see it, RBA |
02:06 |
RealBadAngel |
thats why i had to clamp non seamsless texture |
02:06 |
RealBadAngel |
and to the right ofc ;) |
02:08 |
est31 |
<Routh> RealBadAngel: How difficult would it be to add code that adds a logical serial number to trees with spawn_tree()? The thought is to increase mod interoperability for situations like the one outlined here: https://github.com/HybridDog/treecapitator/issues/2 |
02:08 |
est31 |
<est31> I think this is more a question for paramat or hmmmm |
02:09 |
RealBadAngel |
i think hes talkin bout l-system ones |
02:09 |
VanessaE |
he is. |
02:09 |
paramat |
oh crumbs |
02:09 |
|
Routh joined #minetest-dev |
02:09 |
VanessaE |
spawn_tree() would need to take an extra param in addition to pos and deg, to let the code set some metadata to each node placed, to achieve what he wants. |
02:09 |
VanessaE |
def* |
02:10 |
RealBadAngel |
theres a seed already used |
02:10 |
VanessaE |
no, this would need to be something that could be unique to each individual tree |
02:11 |
VanessaE |
so that two trees that intermingle won't get mixed up by, say, technic chainsaw or treecapitator mod |
02:11 |
RealBadAngel |
like what? naming it like "my lovely tree #219" ? ;) |
02:11 |
ShadowBot |
https://github.com/minetest/minetest/issues/219 -- Use shift as the descent control on ladders and when flying |
02:11 |
RealBadAngel |
oops ;) |
02:11 |
VanessaE |
RealBadAngel: well yeah roughly that but simpler. :P |
02:11 |
Routh |
Or just an incremental multiplier of 42. |
02:11 |
VanessaE |
42? heh |
02:12 |
Routh |
It is the answer. |
02:12 |
VanessaE |
it doesn't much matter WHAT gets stored, as long as it's the same for all nodes that are placed for a given tree, and unique to each individual tree. |
02:13 |
RealBadAngel |
a seed stored in meta? |
02:13 |
VanessaE |
not the seed. |
02:13 |
VanessaE |
a serial number. |
02:13 |
VanessaE |
something that can be provided by a mod, on a call-by-call basis |
02:13 |
est31 |
it fits into param2 or 1 too i guess |
02:14 |
RealBadAngel |
i will think about it |
02:14 |
VanessaE |
est31: that might work too, param2 to be specific |
02:14 |
est31 |
you can even take the originating position, feed that to a pseudorandom, and then fill param2 |
02:14 |
VanessaE |
it's not like the value needs much of a range |
02:14 |
est31 |
yea |
02:15 |
est31 |
so even a bool option would suffice for this usecase |
02:15 |
est31 |
or multiple types |
02:15 |
est31 |
if bool and true, then store it in param2 |
02:15 |
est31 |
if string, store it in meta |
02:17 |
est31 |
hrmm, how should a value like this be called? |
02:17 |
est31 |
in the treedef |
02:20 |
VanessaE |
enable_unique_ids ? |
02:20 |
est31 |
is param1 or param2 a better option? |
02:20 |
VanessaE |
param2 |
02:20 |
VanessaE |
param1 is used for lighting, but in an lsystems tree, param2 is useless otherwise |
02:21 |
VanessaE |
(you can't set unique facedirs in the trees' nodes anyway) |
02:21 |
paramat |
i don't think it's worth doing all this just for a problem with treecapitator |
02:22 |
VanessaE |
paramat: think of technic's chainsaw. it can take down several trees at once, including houses near them built with the same wood. Definitely undesirable. |
02:22 |
paramat |
l-system maybe, but only because it's not used in mapgen =) |
02:23 |
est31 |
stacks dont have param 1 or 2? |
02:23 |
RealBadAngel |
imho only using meta can solve this |
02:23 |
paramat |
still not worth it |
02:23 |
est31 |
so if you dig a node and place it, it defaults to 0 |
02:23 |
est31 |
? |
02:23 |
VanessaE |
est31: that's a good question. |
02:24 |
est31 |
meta is bad because its inefficient |
02:25 |
RealBadAngel |
so idk atm |
02:26 |
paramat |
better that chainsaw and treecapitator are rewritten to avoid the problems, instead of slowing treegen |
02:26 |
est31 |
there is no other way i think |
02:27 |
est31 |
how can you distinguish generated structures from hand built ones? |
02:27 |
est31 |
and if you connect two trees with trunk blocks, it fails too |
02:28 |
est31 |
paramat, #2909 has now 2 +1 one from me, one from kwolekr |
02:28 |
ShadowBot |
https://github.com/minetest/minetest/issues/2909 -- Minimal: Remove recently added unnecessary nodes by paramat |
02:28 |
est31 |
you can push |
02:28 |
paramat |
okay i'll go first then |
02:29 |
paramat |
now pushing |
02:29 |
hmmmm |
grr |
02:30 |
VanessaE |
est31: I'd say just use param2, and paramtype2 = "identifier" or something. keep it simple. :) |
02:30 |
VanessaE |
(for once, I'm NOT suggesting overkill :) ) |
02:31 |
est31 |
what would be overkill in your opinion |
02:31 |
Routh |
I'm also curious how two trees that intermixed during gen would be differentiated by any mod if they are of the same type, even if the coder is a genious.. |
02:31 |
VanessaE |
strings in metadata :) |
02:32 |
est31 |
ok I fix a crash with areastore, then i code the treedef extension |
02:38 |
hmmmm |
jeez |
02:38 |
hmmmm |
okay |
02:38 |
hmmmm |
est31: I fixed the dependency on the previous commit |
02:38 |
paramat |
complete |
02:38 |
est31 |
? |
02:38 |
hmmmm |
had to squash, reset, amend |
02:38 |
est31 |
ah |
02:39 |
est31 |
that commit |
02:39 |
est31 |
ok then |
02:39 |
hmmmm |
i did things in the wrong order in the first place |
02:41 |
hmmmm |
hmm |
02:45 |
|
luizrpgluiz left #minetest-dev |
02:45 |
hmmmm |
i can replicate the FSAA bug |
02:48 |
est31 |
is pcgrandom a good pseudorandom if want to get a unique param2 from a v3s16 position? are there more lightweight pseudorandom functions for that? |
02:59 |
|
paramat left #minetest-dev |
03:04 |
hmmmm |
est31: I don't get what you mean |
03:04 |
hmmmm |
are you saying you want a lightweight hashing function? |
03:05 |
est31 |
hmmmm, yes |
03:05 |
est31 |
pcgrandom is already lightweight |
03:05 |
hmmmm |
random functions are not meant for that |
03:05 |
hmmmm |
in theory, due to the properties of pcgrandom, you should be able to, but i wouldn't trust it |
03:05 |
est31 |
we cant store the full position in the param2 can we |
03:06 |
hmmmm |
no we can't |
03:06 |
hmmmm |
why don't you implement CRC-8? |
03:06 |
est31 |
? |
03:06 |
est31 |
CRC is a checksum |
03:06 |
est31 |
ah i see, it does the same as a pseudorandom does |
03:07 |
est31 |
so why can pcgrando not be trusted |
03:08 |
hmmmm |
I don't know really |
03:08 |
hmmmm |
CRC is purpose made for this, however |
03:31 |
hmmmm |
where did RBA go |
03:31 |
hmmmm |
I thought he was going to push his commit |
03:32 |
hmmmm |
https://github.com/kwolekr/minetest/commit/5006ce82609b2260f191b132f2dabcfdb06d6e20 |
03:32 |
hmmmm |
PTAL |
03:35 |
est31 |
if he pushes he should not increase the protocol version just yet |
03:35 |
est31 |
I want to get the utf8 chat in together with it |
03:35 |
hmmmm |
fair enough |
03:36 |
est31 |
he can push, just not increase the #define PROTOCOL_VERSION_MAX |
03:37 |
hmmmm |
how close is the utf-8 pr to being finished?? |
03:37 |
est31 |
its ready for review |
03:37 |
hmmmm |
ok |
03:37 |
est31 |
only needs review and testing |
03:40 |
est31 |
and rebase |
03:40 |
est31 |
but there are no real large changes to rebasearound |
03:43 |
|
OldCoder joined #minetest-dev |
03:43 |
hmmmm |
re-review my commit? |
03:43 |
hmmmm |
I did it a slightly different way |
03:48 |
|
blaise joined #minetest-dev |
03:48 |
est31 |
i havent reviewed 5006ce82609 yet |
03:50 |
hmmmm |
ugh |
03:50 |
hmmmm |
am I the only one who hates the Buffer class |
03:50 |
hmmmm |
why do people use it |
03:51 |
hmmmm |
really, i can't wait until C++11 so we can get move constructors |
03:51 |
est31 |
https://github.com/minetest/minetest/blob/990a96578f20244626b6b9f67f8e79a7e2e614ea/src/util/numeric.h#L62 |
03:51 |
est31 |
what do we do here |
03:51 |
est31 |
why not simply return p / d |
03:51 |
hmmmm |
it's confusing, isn't it? :( |
03:51 |
est31 |
why that check |
03:51 |
hmmmm |
that's for rounding down |
03:52 |
hmmmm |
integer division in C and C++ rounds toward zero |
03:54 |
est31 |
so to get the edges of the mapblock a coord is inside, I do val mblock = getContainerPos(); |
03:54 |
hmmmm |
39 / 20 = 19, -39 / 20 = -19, but what we actually want is -39 / 20 = -20, because the container "0" contains points 0..d, and -d..1 is contained in "-1" |
03:54 |
est31 |
then val pos1 = mblock.X * r , mblock.Y * r, mblock.Z * r |
03:54 |
hmmmm |
yeah |
03:54 |
est31 |
and valpos2 = pos1 + (r,r,r) |
03:55 |
hmmmm |
- (1,1,1) |
03:55 |
hmmmm |
remember coordinates are inclusive |
03:55 |
est31 |
? |
03:56 |
hmmmm |
p1 = v3s16(blockpos.X * MAP_BLOCKSIZE, blockpos.Y * MAP_BLOCKSIZE, blockpos.Z * MAP_BLOCKSIZE); |
03:56 |
hmmmm |
p2 = p1 + v3s16(1,1,1) * MAP_BLOCKSIZE - v3s16(1,1,1); |
03:56 |
hmmmm |
also, check out getNodeBlockPos() in mapblock.h |
03:57 |
est31 |
ah |
03:57 |
est31 |
yea |
05:11 |
est31 |
wow |
05:11 |
est31 |
do we really copy the TreeDef twice BY VALUE? |
05:13 |
|
kahrl_ joined #minetest-dev |
05:15 |
kahrl_ |
technically, C++ (before C++11, IIRC) does not guarantee that integer division rounds towards 0, it could round towards -inf for example |
05:16 |
kahrl_ |
but I'm very confident that all of the compilers we target round towards zero |
05:19 |
|
leat1 joined #minetest-dev |
05:19 |
johnnyjoy |
disorder |
05:20 |
johnnyjoy |
Sorry, wrong window. |
05:38 |
|
leat1 joined #minetest-dev |
05:40 |
|
leat1 joined #minetest-dev |
05:41 |
|
Hunterz joined #minetest-dev |
05:54 |
est31 |
ok #2910 |
05:54 |
ShadowBot |
https://github.com/minetest/minetest/issues/2910 -- Treegen: Add enable_unique_ids option by est31 |
05:56 |
|
chchjesus_ joined #minetest-dev |
05:56 |
VanessaE |
est31: |
05:57 |
VanessaE |
oops,. |
05:57 |
VanessaE |
it looks like you missed the secondary leaves and the fruit |
05:57 |
VanessaE |
er you got the secondary leaves |
06:00 |
est31 |
its untested though |
06:04 |
VanessaE |
est31: don't forget the fruit? |
06:04 |
est31 |
added |
06:05 |
est31 |
ah forgot git push |
06:05 |
est31 |
pushed |
06:08 |
VanessaE |
looks like it should work. |
06:10 |
VanessaE |
needs rebased |
06:11 |
est31 |
? |
06:12 |
VanessaE |
it generates a merge commit when I pull against HEAD. |
06:13 |
est31 |
dont use pull then |
06:13 |
VanessaE |
heh |
06:16 |
VanessaE |
what the...? |
06:16 |
VanessaE |
2015-07-14 02:16:08: ERROR[main]: A serialization error occurred: |
06:16 |
VanessaE |
2015-07-14 02:16:08: ERROR[main]: deSerializeLongString: string too long |
06:16 |
VanessaE |
2015-07-14 02:16:08: ERROR[main]: The server is probably running a different version of Minetest. |
06:17 |
est31 |
hmmmm, ^ |
06:17 |
est31 |
his fault |
06:18 |
est31 |
well this is trial and error |
06:18 |
est31 |
seems we have to raise the limit |
06:18 |
VanessaE |
lemme back it off by one commit and see how that fairs. |
06:19 |
VanessaE |
(fares?) |
06:20 |
hmmmm |
ohh |
06:20 |
hmmmm |
VanessaE, what were you doing |
06:20 |
kahrl_ |
why not add the problematic string length to the error message? |
06:20 |
VanessaE |
yep, it works at HEAD~1 |
06:20 |
|
leat1 joined #minetest-dev |
06:20 |
hmmmm |
kahrl, will do |
06:20 |
hmmmm |
but seriously, 8 MB strings? |
06:20 |
hmmmm |
really?? |
06:20 |
hmmmm |
what is doing this? |
06:21 |
kahrl_ |
signs? |
06:21 |
hmmmm |
sounds like a case of poor design |
06:21 |
VanessaE |
hmmmm: I deleted and started my usual plantlife test map. |
06:21 |
VanessaE |
that's all. |
06:21 |
hmmmm |
signs take up a few kb |
06:21 |
VanessaE |
no signs. |
06:21 |
VanessaE |
virgin world. |
06:21 |
hmmmm |
alright lemme try this |
06:21 |
hmmmm |
i thought 8mb would be a decent compromise |
06:22 |
VanessaE |
somehow I doubt that it's receiving an 8MB string? |
06:22 |
hmmmm |
oh.. it is. |
06:23 |
hmmmm |
so instead of just increasing the limit to accomodate whatever it is, i'd like to fix the design of the long string that's larger than 8mb |
06:23 |
hmmmm |
i'm sorry that's freaking ridiculous |
06:23 |
hmmmm |
if it's really necessary and valid, that's an easy opening for an attacker to DoS a server or a client |
06:24 |
est31 |
VanessaE, how large are your 512 textures |
06:24 |
VanessaE |
est31: I'm not using them here, but the biggest files there are perhaps 300 kB |
06:24 |
VanessaE |
most full-size ones are half that |
06:25 |
VanessaE |
aw crap |
06:25 |
VanessaE |
there's an issue with using param2 |
06:25 |
VanessaE |
your code works fine, but param2 can't be used here because the trunks have to be able to rotate on place (e.g. horizontal) |
06:26 |
est31 |
hrmm, param1 then? |
06:27 |
VanessaE |
can param1 even be used here? |
06:27 |
est31 |
and only for the trunks? |
06:27 |
VanessaE |
I thought that was for light? |
06:27 |
hmmmm |
just tried plantlife + biomesdev, cannot reproduce |
06:27 |
VanessaE |
hmmmm: you may need moretrees to trigger that crash? |
06:28 |
hmmmm |
ewwww. |
06:28 |
est31 |
perhaps we should make it crash when the server sends, and then look at the stacktrace |
06:29 |
hmmmm |
solid leaves + waving leaves shader = gross |
06:29 |
est31 |
VanessaE, https://github.com/minetest/minetest/blob/990a96578f20244626b6b9f67f8e79a7e2e614ea/src/mapnode.h#L126 |
06:29 |
est31 |
so we will have to leave out leaves |
06:31 |
|
leat1 joined #minetest-dev |
06:32 |
VanessaE |
est31: no good |
06:33 |
VanessaE |
leaves form like 90% of a tree |
06:33 |
hmmmm |
what are you two babbling about |
06:33 |
est31 |
#2910 |
06:33 |
ShadowBot |
https://github.com/minetest/minetest/issues/2910 -- Treegen: Add enable_unique_ids option by est31 |
06:33 |
VanessaE |
hmmmm: adding number value to each node placed by a given spawn_tree() call so that mods can identify one tree from another right next to it |
06:33 |
est31 |
e.g. for chainsaws |
06:33 |
hmmmm |
lol, that's not happening |
06:33 |
kahrl_ |
the serialization error reminded me that I wanted to do this: https://gist.github.com/kahrl/87cb5c55bcb9e67ff494 |
06:34 |
VanessaE |
hmmmm: it's *optional* |
06:34 |
hmmmm |
whatever's left in param2 is whatever you have to work with |
06:34 |
hmmmm |
there simply is not enough space |
06:34 |
VanessaE |
there are I believe two bits free in param2 |
06:34 |
hmmmm |
the "correct" way to do this is to create an entity at the same location as the tree |
06:34 |
VanessaE |
(at least in this particular context) |
06:35 |
VanessaE |
wat |
06:35 |
VanessaE |
with the way the engine handles entities??? |
06:35 |
est31 |
our entity support is incredibly buggy |
06:35 |
VanessaE |
and besides, the mod (in this case a treecapitator sort of thing) needs to be able to identify a tree no matter which node you hit |
06:35 |
kahrl_ |
hmmmm: what about using the areastore to store this information |
06:35 |
VanessaE |
(and these things can stand 30 nodes tall) |
06:36 |
hmmmm |
maybe, shrug. est, what do you say about that? |
06:36 |
hmmmm |
don't know how it works just yet |
06:36 |
est31 |
areastore for trees? |
06:38 |
hmmmm |
vanessae: try this: http://pastebin.ubuntu.com/11876138/ |
06:38 |
VanessaE |
est31: I think the only sane way right now is metadata; I don't think that a two-bit value in param2 (bits 6 and 7) will be enough "resolution". |
06:39 |
VanessaE |
well 3 bits actually isn't it? |
06:40 |
VanessaE |
if so, that would be just enough I think. |
06:40 |
est31 |
you can have different nodes for tree and tree mined |
06:40 |
VanessaE |
ew. |
06:40 |
est31 |
then when you place tree mined, you can screwdriver it |
06:41 |
|
leat1 joined #minetest-dev |
06:41 |
est31 |
also, who runs with a screwdriver in the forest, and is abled to scredriver *parts* of trees |
06:41 |
kahrl_ |
couldn't the treecapacitator mod simply use a better algorithm? |
06:41 |
VanessaE |
est31: if using more than one node per trunk/leaves/etc that wouldn't be necessary. one can simply "drop" the rotatable node |
06:41 |
est31 |
e.g. adjusting their graph search to not search "down" |
06:42 |
kahrl_ |
yeah |
06:42 |
kahrl_ |
I'm thinking of something like how Frozen Bubble determines which bubbles are floating and to be removed |
06:42 |
VanessaE |
kahrl_: the problem is when you have two or three trees intermingling |
06:42 |
VanessaE |
you don't want to cut down that willow next to the oak you just dug |
06:43 |
VanessaE |
or rather, you don't want to cut down the OTHER oak next to the one you just dug./ |
06:43 |
kahrl_ |
do moretrees have branches that extend downward from the trunk? |
06:43 |
VanessaE |
yes. |
06:43 |
kahrl_ |
ok, then it's not a simple as not searching downward |
06:43 |
VanessaE |
willows, apple trees, and oaks all do that |
06:43 |
est31 |
we have l system trees |
06:44 |
est31 |
quite sophisticated |
06:44 |
VanessaE |
est31: can you try restricting your writes to param2 to just the upper 3 bits? |
06:44 |
VanessaE |
if I remember right, only the lower 5 are used for rotation in a regular node like a trunk |
06:45 |
est31 |
VanessaE, yes i can, but in one of 64 cases we have a problem |
06:45 |
VanessaE |
ID collision? |
06:45 |
est31 |
yup |
06:45 |
VanessaE |
that's what I figured. |
06:45 |
est31 |
3 bits means 8 possible ids |
06:46 |
est31 |
which means 64 possible combinations |
06:46 |
est31 |
and 8 of them are harmful |
06:46 |
est31 |
oh |
06:46 |
est31 |
then its 8 out of 64 not 1 |
06:47 |
VanessaE |
well, in practice, the trees never get closer than a few nodes apart, so it's not really possible to overlap more than about four trees |
06:47 |
kahrl_ |
so how about this |
06:47 |
VanessaE |
so 8 IDs would probably still be enough |
06:47 |
kahrl_ |
define the "current tree space" to be the infinite pyramid pointing downward whose tip is at the node that was cut by the player |
06:47 |
est31 |
dunno how the 4 color theorem scales to 3d |
06:48 |
kahrl_ |
any tree node that is connected to the cut node, but not to a tree node outside the current tree space will be removed |
06:48 |
VanessaE |
hmmmm: your patch doesn't apply. looks like whitespace errors and wrong EOL. can you put it on a gist instead? |
06:49 |
VanessaE |
kahrl_: the problem there is that a tree doesn't really have its own "space". |
06:49 |
est31 |
ok next idea |
06:49 |
est31 |
what about storing "growing directions" |
06:49 |
VanessaE |
imagine planting say three oaks side by side, say 5m apart. their trunks and leaves will all intermingle. |
06:49 |
est31 |
this means, every trunk stores a "lower" trunk |
06:49 |
est31 |
either directly below |
06:50 |
est31 |
or in the case of branches another direction |
06:50 |
est31 |
if we cut the tree, we walk these directions backwards |
06:50 |
|
leat1 joined #minetest-dev |
06:50 |
VanessaE |
est31: right, but how do you differentiate between two trees where trunks are up against one another? |
06:50 |
est31 |
only problem is we need 3*3*3 - 1, 8 is not sufficient |
06:51 |
est31 |
VanessaE, well their directions will point in opposite directions |
06:51 |
est31 |
more or less |
06:51 |
VanessaE |
not if you have two trunks, and one of them sends out a branch straight through the other |
06:52 |
kahrl_ |
I would consider those to be merged into a single tree |
06:52 |
hmmmm |
VanessaE: https://gist.github.com/kwolekr/b6ad270dec917622cfb3 ?? |
06:52 |
VanessaE |
kahrl_: well branches of branches then. |
06:52 |
VanessaE |
these ain't default trees we're dealing with :) |
06:54 |
VanessaE |
hmmmm: nope. your EOLs are good now but all your tabs are being converted to spaces. |
06:54 |
hmmmm |
grag |
06:54 |
est31 |
just make a commit and push it to your github |
06:54 |
kahrl_ |
perhaps the solution is to train a neural network, whose input is the node types surrounding a given tree node and whose output is whether to follow that tree node in the search ;) |
06:54 |
VanessaE |
kahrl_: haha |
06:55 |
hmmmm |
i give up |
06:55 |
hmmmm |
how do you create and share patches with people |
06:56 |
hmmmm |
gist keeps freaking converting tabs to spaces |
06:56 |
VanessaE |
ACE Editor, Indent Mode -> tabs |
06:57 |
VanessaE |
when you create a gist |
06:57 |
kahrl_ |
try raw mode? |
06:57 |
|
Amaz joined #minetest-dev |
06:58 |
kahrl_ |
I created my latest gist without messing with editor settings and it still has tabs in the raw view |
06:58 |
VanessaE |
weird. they came out as spaces here. maybe it's what he's copying from then? |
07:02 |
VanessaE |
est31: anyway, ultimately 3 bits may not be a lot of uniqueness, but it's all we have left. either that or store meta for each affected node. |
07:03 |
VanessaE |
in practice, that's gonna be a hell of a lot of nodes, but I don't see any other option that's also modder-friendly |
07:03 |
VanessaE |
(not that it matters to me how "friendly" it is, as such... I ain't the one who has to check these ID codes anyway :D ) |
07:06 |
VanessaE |
actually, I have another idea. |
07:07 |
VanessaE |
like a sign, a tree trunk only has roughly 6 possible orientations you can rotate it to that the average person would be able to point out. Suppose another paramtype2 is added where only the lower three bits store that rotation info. |
07:07 |
VanessaE |
that would leave 5 bits at the top that can be used for the ID code then |
07:08 |
hmmmm |
alright i got it https://gist.github.com/kwolekr/93eae7716ba528eeeb83 |
07:08 |
VanessaE |
hmmmm: that works. |
07:08 |
* VanessaE |
compiles... |
07:09 |
est31 |
one in 32 |
07:09 |
est31 |
so whats bad with param1 |
07:09 |
VanessaE |
param1 is used for light data |
07:09 |
est31 |
leaves can use the param2, no? |
07:09 |
VanessaE |
leaves don't use param2 at all. |
07:10 |
est31 |
we use param1 only if light propagates through, no? |
07:10 |
est31 |
like for leaves |
07:10 |
est31 |
but not for trunks |
07:10 |
kahrl_ |
leaves could be removed if and only if the leaf decay code would end up removing them |
07:10 |
kahrl_ |
no params needed |
07:11 |
VanessaE |
hmmmm: nope. still getting a serialization error. |
07:11 |
VanessaE |
2015-07-14 03:10:42: ERROR[main]: >>> deserializing nodedefmanager |
07:11 |
VanessaE |
2015-07-14 03:10:42: ERROR[main]: A serialization error occurred: |
07:11 |
VanessaE |
there, specifically. |
07:11 |
hmmmm |
the point of that patch was to find out where the serialization error happened, and how big the string ws... |
07:11 |
est31 |
VanessaE, that was only debugging code |
07:11 |
hmmmm |
care to paste the second line of the log message? |
07:11 |
VanessaE |
2015-07-14 03:10:42: ERROR[main]: deSerializeLongString: string too long: 10074436 bytes |
07:11 |
est31 |
so what was the length |
07:12 |
hmmmm |
so around 10 mb |
07:12 |
est31 |
too much nodedefs |
07:12 |
hmmmm |
this is vanessae we're talking about though. |
07:12 |
VanessaE |
haha |
07:12 |
hmmmm |
5000000 mods |
07:12 |
est31 |
lets discuss about nodedef compression |
07:12 |
hmmmm |
don't bother |
07:12 |
VanessaE |
well be fair, the engine is supposed to handle 32766 nodes. |
07:12 |
VanessaE |
and I use only half of that |
07:12 |
hmmmm |
we're eventually getting whole network compression, right? |
07:12 |
est31 |
i dont think we will get that |
07:12 |
VanessaE |
hmmmm: I hope not. the CPU usage would be insane. |
07:13 |
hmmmm |
nah... zlib is really fast! |
07:13 |
est31 |
that wouldnt be the problem |
07:13 |
hmmmm |
you'd be surprised |
07:13 |
est31 |
more the lag problem |
07:13 |
VanessaE |
> zlib is really fast... |
07:13 |
VanessaE |
> server has 50 players |
07:13 |
kahrl_ |
uh... nodedef is already sent compressed |
07:13 |
hmmmm |
ah |
07:13 |
hmmmm |
good point |
07:14 |
est31 |
you cant just let a chat message sit there and wait until some other content comes in, until a buffer is filled so that oyu can send it |
07:14 |
hmmmm |
toochay |
07:14 |
hmmmm |
so how about 32 MB |
07:14 |
VanessaE |
32MB sounds good |
07:14 |
hmmmm |
yeah 32 mb is fine. |
07:14 |
hmmmm |
64 for safe measure. |
07:14 |
est31 |
how do we compress nodedefs kahrl_? |
07:15 |
hmmmm |
i don't think you'd be able to bring down a server by forcing it to allocate 64 mb |
07:15 |
VanessaE |
if 10 would be enough for half, 32 should be way more than enough for the whole thing |
07:15 |
hmmmm |
i foresaw something like this happening, heh |
07:15 |
est31 |
well 64 mb is a multiplier |
07:15 |
est31 |
50 players times 64 mb is... |
07:15 |
VanessaE |
well if you're allocating 64MB you may as well open up the nodedef limit to the full 65534 ;) |
07:15 |
* VanessaE |
hides |
07:15 |
hmmmm |
VanessaE: go into util/serialize.h and change LONG_STRING_MAX to 32 mb |
07:16 |
hmmmm |
just so we don't waste time heh |
07:16 |
kahrl_ |
est31: all of them are serialized, concatenated and then the whole thing is handed to compressZlib |
07:16 |
VanessaE |
ok |
07:16 |
est31 |
kahrl_, ok |
07:16 |
VanessaE |
compiling. |
07:18 |
* VanessaE |
runs it. |
07:19 |
VanessaE |
works. |
07:19 |
hmmmm |
o ok |
07:19 |
VanessaE |
it prints those initial three "deserializing" messages to error stream but meh |
07:21 |
|
leat1 joined #minetest-dev |
07:22 |
VanessaE |
est31: now anyways, yes param2 is for light propagation |
07:22 |
VanessaE |
just looked. |
07:22 |
est31 |
param1 you mean |
07:22 |
VanessaE |
er yeah |
07:22 |
VanessaE |
sorry typo |
07:22 |
VanessaE |
https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L505 |
07:22 |
est31 |
well yes |
07:23 |
est31 |
but read the comment |
07:23 |
est31 |
https://github.com/minetest/minetest/blob/990a96578f20244626b6b9f67f8e79a7e2e614ea/src/mapnode.h#L126 |
07:23 |
hmmmm |
https://github.com/kwolekr/minetest/commit/515e7028ac5121bc6a5205b12aae731eed630b05 |
07:23 |
hmmmm |
? |
07:23 |
est31 |
"Uhh... well, most blocks have light or nothing in here." |
07:24 |
VanessaE |
yeah but for leaves, surely there would be a light value |
07:24 |
est31 |
wasnt it 640 k ? |
07:24 |
hmmmm |
yeah it was |
07:24 |
hmmmm |
but this is 64 MB |
07:24 |
est31 |
+1 |
07:25 |
hmmmm |
btw what about https://github.com/kwolekr/minetest/commit/5006ce82609b2260f191b132f2dabcfdb06d6e20 |
07:25 |
VanessaE |
lol |
07:25 |
hmmmm |
yes? no? |
07:25 |
VanessaE |
hmmmm: I'd say a yes to that but I have not tested it yet |
07:25 |
est31 |
the commit title is promising thats a yes, but i have to read through witespace |
07:28 |
kahrl_ |
lol |
07:28 |
kahrl_ |
did handleCommand_ActiveObjectMessages seriously read the string from the stream byte by byte |
07:28 |
est31 |
perhaps it should print the message somewhere else |
07:28 |
VanessaE |
(note: that patch has to be applied before the 64MB patch) |
07:28 |
est31 |
eg into actionstream |
07:28 |
est31 |
or at least info |
07:28 |
hmmmm |
kahrl_ most of the deserialization code is just as bad if not worse |
07:29 |
hmmmm |
it's absolutely amazing, how there can be so many security problems with code that uses istringstream |
07:29 |
hmmmm |
est31: but why? it's pretty useless information |
07:29 |
est31 |
meh, lets remove it |
07:30 |
est31 |
what about the PacketError |
07:30 |
hmmmm |
why print the corrupted packet for some specific packet and not all the others? |
07:30 |
est31 |
good point |
07:30 |
hmmmm |
it's one of nerzhul's sloppy copy/paste jobs |
07:31 |
hmmmm |
he didn't even bother checking to see if anything can produce a packeterror in that block |
07:31 |
VanessaE |
well the two patches seem to work fine |
07:31 |
hmmmm |
hint: the answer is no |
07:31 |
est31 |
+1 then |
07:31 |
VanessaE |
but I'm not getting any serialization errors as readily as usual |
07:31 |
VanessaE |
so I'm not sure if that's enough for a +1 |
07:31 |
|
leat1 joined #minetest-dev |
07:31 |
VanessaE |
but it doesn't crash :) |
07:32 |
VanessaE |
the server I'm testing on is really laggy though |
07:32 |
kahrl_ |
I agree, the only use for printing the data I can imagine is for some debugathon (like you were doing) where you manually compare message data |
07:33 |
kahrl_ |
in which case you can make it log it before you start |
07:33 |
VanessaE |
ah, got one |
07:33 |
VanessaE |
2015-07-14 03:32:52: ERROR[main]: Client::handleCommand_ActiveObjectMessages: caught SerializationError: deSerializeString: couldn't read all chars |
07:33 |
hmmmm |
right, somehow the serialization layer (*cough* nerzhul) is producing garbage data for the AOM commands |
07:34 |
VanessaE |
seems good, hmmmm. |
07:34 |
hmmmm |
we looked at this together |
07:34 |
hmmmm |
the garbage doesn't come from the environment's AOM queue itself |
07:34 |
hmmmm |
something somehow magically happens to the data as it's being sent to the client |
07:35 |
hmmmm |
hmmm. |
07:35 |
asl97 |
issue #2841 just got close |
07:35 |
ShadowBot |
https://github.com/minetest/minetest/issues/2841 -- on_rightclick for item (or tool) |
07:36 |
est31 |
asl97, becausei guess he realized it exists |
07:36 |
asl97 |
it does? |
07:37 |
est31 |
on_place?? |
07:37 |
asl97 |
quote: `on_place function without pointed` |
07:37 |
asl97 |
iirc, on_place is only called when it is pointed to something |
07:38 |
est31 |
ah then it makes sense |
07:39 |
|
jin_xi joined #minetest-dev |
07:39 |
|
Calinou joined #minetest-dev |
07:41 |
est31 |
hmmmm, why do you have dislike against using param1 |
07:41 |
hmmmm |
param1 is light, no? |
07:42 |
VanessaE |
light propagation |
07:42 |
hmmmm |
and what is this for? |
07:42 |
est31 |
only if the nodedef has light_propagates = true |
07:42 |
hmmmm |
you're going to mess up the way the node looks if you try to store other data in param1 |
07:42 |
est31 |
at least according to https://github.com/minetest/minetest/blob/990a96578f20244626b6b9f67f8e79a7e2e614ea/src/mapnode.h#L126 |
07:42 |
VanessaE |
est31: which would be both leaves nodes and the fruit node. |
07:43 |
hmmmm |
ah |
07:43 |
hmmmm |
I guess not |
07:43 |
est31 |
VanessaE, those can be handled by leaf decay as kahrl_ said, no? |
07:43 |
hmmmm |
well go ahead then, use param1 |
07:43 |
VanessaE |
est31: no, because the whole point is for the chainsaw/treecapitator/whatever to take down the entire tree. and leaf decay is purposely slow in moretrees, to keep CPU usage at a minimum |
07:44 |
est31 |
hrmmm... |
07:44 |
VanessaE |
wait wtf? |
07:44 |
VanessaE |
leaves are NOT set to sunlight_propagates. |
07:44 |
VanessaE |
(however paramtype = "light", despite) |
07:45 |
VanessaE |
the fruit however, is. |
07:45 |
VanessaE |
I can change that, though |
07:45 |
est31 |
also question what the difference between light_propagates and sunlight_propagates is |
07:45 |
est31 |
well i guess i will make my code check for light_propagates |
07:46 |
VanessaE |
so I could free up all uses of param1 here if you're right about how param1 is being used |
07:46 |
est31 |
or sunlight_propagates or whatever |
07:46 |
hmmmm |
well, sunlight_propogates implies light_propogates |
07:46 |
kahrl_ |
using param1 for tree nodes would probably be fine for now, but I'm not sure how future proof that is |
07:46 |
hmmmm |
sunlight_propogates iirc is only used when spreading light |
07:46 |
kahrl_ |
I can imagine some artistic christmas-y mod making trees out of glass nodes or something |
07:46 |
VanessaE |
kahrl_: in the future, you just KNOW we're gonna need to add a param3. |
07:47 |
VanessaE |
(yes I know it would make the map bigger, but I think the day will come when there's no other choice) |
07:47 |
|
crecca joined #minetest-dev |
07:47 |
est31 |
well if we have good compression algs, we only store the entropy |
07:48 |
est31 |
which is quite low for param3 = 0 everywhere |
07:48 |
VanessaE |
this is true |
07:48 |
kahrl_ |
est31: btw, light_propagates = true is just legacy notation for paramtype = "light" |
07:49 |
VanessaE |
For the record, RealBadAngel has been vying for a param3 + param4 to be added at some point. |
07:49 |
VanessaE |
as for compression, leveldb already does. |
07:50 |
kahrl_ |
wait, not sure |
07:51 |
kahrl_ |
ah yeah, script/common/c_content.cpp:437 |
07:51 |
VanessaE |
kahrl_: well it used to be, at least, that if you didn't set paramtype = "light", your node would be all black in the world. |
07:51 |
kahrl_ |
(not exactly what I was saying but close enough) |
07:52 |
|
leat1 joined #minetest-dev |
07:53 |
kahrl_ |
see also the warn_if_field_exists in line 424 |
07:54 |
est31 |
VanessaE, what about "immediate" leaf decay |
07:54 |
VanessaE |
est31: that would cause a lag spike. |
07:55 |
VanessaE |
(as if removing the tree doesn't already) |
07:55 |
est31 |
VanessaE, not if you use a smart algorithm |
07:55 |
VanessaE |
no matter how smart, it's still 2000+ nodes |
07:55 |
kahrl_ |
so, to answer the question about the difference, light_propagates is checked when (un)spreading light from any source, while sunlight_propagates is only checked when (un)spreading sunlight |
07:56 |
est31 |
of course, if you iterate over the block, then if its a leaf node, iterate over all the nodes "close" to it whether they are trunks |
07:56 |
est31 |
its gonna be horribly slow |
07:56 |
est31 |
but you can make that smarter |
07:57 |
est31 |
e.g. make 4x4x4 blocks |
07:57 |
est31 |
store a bool for each of them |
07:57 |
est31 |
then iterate *once* over the whole area |
07:57 |
est31 |
storing the bool, whether a trunk is in there |
07:58 |
est31 |
now you only have to check the 4x4x4 blocks nearby when you iterate a second time for the leaves |
07:58 |
est31 |
most of them will be false, unless there is another tree |
07:59 |
est31 |
if the 4x4x4 block you are currenty in is true, you can leave the leaf be |
08:00 |
est31 |
if the 4x4x4 block you are currently in is false, and a neighbouring one is true, you will have to fall back to "manually" determine the position (and distance) of the trunk node |
08:00 |
est31 |
if all neighbours are false you have nothing to check :) |
08:01 |
VanessaE |
well, how such a tool is implemented I leave as an exercise to the guy who wanted this feature anyway :) |
08:01 |
|
Yepoleb_ joined #minetest-dev |
08:01 |
asl97 |
it should be possible to make it faster, mc can handle it quite well, there are mods over there with HUGE tree, think over 10 times BIGGER, maybe even 100 times |
08:02 |
est31 |
asl97, have you seen moretree trees? |
08:04 |
asl97 |
yea, have you seen the Sacred rubber sapling from MFR? |
08:04 |
VanessaE |
est31: ok, I just confirmed, all the nodes in a tree look fine if I strip out all references to param and paramtype |
08:05 |
est31 |
asl97, does that have leaf decay? |
08:05 |
asl97 |
the leaves from the default rubber tree sapling seem to have it, i not quite sure about those from the Sacred rubber sapling |
08:06 |
VanessaE |
so param(1) is available, if the engine will allow you to actually USE it anyway |
08:06 |
asl97 |
it's too huge to cut it down |
08:06 |
asl97 |
maybe it's over 1000 times |
08:06 |
est31 |
VanessaE, le engine cest us |
08:07 |
VanessaE |
eh? |
08:07 |
est31 |
https://en.wikiquote.org/wiki/Louis_XIV_of_France |
08:07 |
VanessaE |
heh ok |
08:08 |
VanessaE |
all right, so I guess try passing the ID value through param1 |
08:08 |
est31 |
can you change it to 1 everywhere and check whether it works? |
08:09 |
asl97 |
i will check if it has decay by cutting out a small part of the tree, a image of the tree from the internet: http://postimg.org/image/briol21nt/ |
08:09 |
est31 |
except for leaves or other light code maybe |
08:09 |
VanessaE |
well it returns nil when it's not set. just checked. |
08:09 |
VanessaE |
but lemme see what your patch does |
08:09 |
|
Krock joined #minetest-dev |
08:10 |
VanessaE |
is it param1, or just param? |
08:11 |
est31 |
its param1 |
08:11 |
VanessaE |
ok, lemme see what it does. |
08:11 |
RealBadAngel |
hi guys |
08:12 |
VanessaE |
mornin', RBA. |
08:12 |
RealBadAngel |
just wanted to make sure you realize that a tree grows exactly the same at given pos and the same seed? |
08:12 |
VanessaE |
RealBadAngel: some trees don't. coded randomness in the mod |
08:13 |
est31 |
well thats stupii |
08:13 |
est31 |
d |
08:13 |
est31 |
what do you have a seed for |
08:13 |
RealBadAngel |
that was request, made by PA iirc, for worlds being the same |
08:13 |
VanessaE |
est31: the extra randomness is for differing models of trees |
08:14 |
VanessaE |
for example in moretrees, when the damn thing works at all, there are 3 slightly different models of jungle trees, and two of fir |
08:14 |
est31 |
you sure you want to saay when, not if? |
08:14 |
est31 |
:p |
08:14 |
VanessaE |
the models being built procedurally (well, a primitive form) |
08:15 |
VanessaE |
I say when because the trees grow fine from a sapling, but some glitch in my biome defs keeps them from spawning at mapgen time :) |
08:15 |
VanessaE |
a glitch I never bothered to fix since default jungletrees exist |
08:16 |
VanessaE |
hm |
08:16 |
VanessaE |
param1 does not work as expected. |
08:16 |
VanessaE |
"moretrees:sequoia_leaves": param1=9 |
08:16 |
VanessaE |
"moretrees:sequoia_trunk": param1=192 |
08:16 |
VanessaE |
"moretrees:sequoia_leaves": param1=14 |
08:16 |
VanessaE |
(just a little debug statement I added to moretrees, punching in a few different places on the same tree) |
08:20 |
VanessaE |
I guess those spread-light functions are altering the value being stored. |
08:21 |
VanessaE |
hm, no. looks like I missed a paramtype setting. |
08:22 |
est31 |
somehow i dont see these checks at all |
08:22 |
VanessaE |
aw fuck |
08:22 |
|
leat1 joined #minetest-dev |
08:22 |
VanessaE |
leaves HAVE to have paramtype = "light" or they come out black. |
08:23 |
VanessaE |
maybe because of their drawtype |
08:23 |
VanessaE |
the ID is, however, being stored in param1 correctly. |
08:24 |
est31 |
thats good then |
08:24 |
RealBadAngel |
i just figured the way we can get some spare bits in params :) |
08:24 |
RealBadAngel |
lets code irrlicht lighting :) |
08:24 |
VanessaE |
est31: so the question now is, can lighting be forced into the leaves without using param1 |
08:24 |
VanessaE |
(and without fucking with irrlicht lighting just yet :P ) |
08:24 |
RealBadAngel |
;) |
08:25 |
est31 |
VanessaE, or we just dont set it for the leaves |
08:25 |
VanessaE |
... |
08:28 |
RealBadAngel |
est31, what about your pr im waiting for? |
08:28 |
est31 |
lol seems that minecraft has to fight with shadow bugs too : http://postimg.org/image/briol21nt/ |
08:28 |
est31 |
RealBadAngel, ? |
08:29 |
VanessaE |
est31: https://gist.github.com/VanessaE/6a31cc55d1a2c263bdd0 |
08:30 |
VanessaE |
get current moretrees and apply this |
08:30 |
|
rubenwardy joined #minetest-dev |
08:30 |
VanessaE |
punch a moretrees trunk or leaves to get the param1 value from that node. |
08:30 |
VanessaE |
(point is so that you can see what I'm doing in the code, anyway) |
08:30 |
RealBadAngel |
est31, that one with chat |
08:32 |
est31 |
ok, so whats the problem again |
08:32 |
VanessaE |
me? |
08:33 |
est31 |
yes |
08:33 |
|
leat1 joined #minetest-dev |
08:33 |
VanessaE |
with that ^^^ patch, leaves end up black. |
08:33 |
asl97 |
est31: it does decay, plenty of lag spike in area without wood but it was ok when there is wood, oh well, i guess the test world is doom to lag now... |
08:34 |
asl97 |
most likely due to node being remove or something |
08:34 |
VanessaE |
est31: "That's a big tree." :) |
08:34 |
VanessaE |
(meh, blew the line) |
08:35 |
est31 |
so their leaf decay is laggy too |
08:36 |
asl97 |
but the huge tree rocks |
08:37 |
kahrl_ |
yeah, mc leaf decay has always been laggy. Source: played Canopy Carnage years ago |
08:39 |
VanessaE |
in any case, it's impossible to code an algorithm that will successfully remove an entire tree but not any neighbors, if all parts of the tree are not identified as belonging together. |
08:39 |
VanessaE |
so in the end, I see three options: A. use the upper three bits of param2. B. make a new facedir mode that only uses the lower three bits of param2, and use the upper 5 for the ID. C. use metadata. D. add a param3 or equivalent. |
08:39 |
VanessaE |
er four options. |
08:40 |
est31 |
E. use param1 for trunks, use param2 for leaves |
08:40 |
VanessaE |
hm. that may be possible. |
08:40 |
est31 |
F. use param1 for trunks think of smarter leafdecay |
08:40 |
VanessaE |
F is right out. chainsaw a tree, leave a cloud of leaves... "this mod sucks! BuG RePorT!!!" etc. |
08:41 |
VanessaE |
plus, |
08:41 |
VanessaE |
leaf decay drops saplings. |
08:41 |
est31 |
seen the "think of smarter leafdecay" part? |
08:41 |
VanessaE |
the user likely won't hang around long enough to collect them. |
08:41 |
est31 |
also we can do leaf_decay(chainsaw=true) call |
08:41 |
est31 |
which immediately "checks" all leaves around removed blocks |
08:42 |
asl97 |
tinker axe leave the leaves too so it isn't really a big problem, call it by design |
08:43 |
asl97 |
it would drain the chainsaw lesser too and make it possible to chainsaw the largest tree in moretree and leave the leaves to decay |
08:43 |
VanessaE |
I guess removing all the corresponding leaves within a 2 or 3 meter radius of a removed trunk would work |
08:44 |
VanessaE |
wouldn't work on palm trees though |
08:44 |
VanessaE |
(the canopy is around 7 meters radius) |
08:44 |
RealBadAngel |
#2885 |
08:44 |
ShadowBot |
https://github.com/minetest/minetest/issues/2885 -- Utf8 based chat by est31 |
08:44 |
RealBadAngel |
est31, , i meant this pr |
08:45 |
est31 |
RealBadAngel, yes what about it |
08:45 |
RealBadAngel |
when you will be rdy with it |
08:45 |
est31 |
i am ready with it |
08:45 |
asl97 |
a check once algorithm could work, leaves: abm: if not meta and find_wood then set_meta end, trunk: on_dig: for all_node_in_area do leaves:set_meta(nil) end |
08:45 |
est31 |
only needs testers to test it |
08:45 |
RealBadAngel |
i cant merge my without raising protocol ver |
08:46 |
est31 |
also reviewers to review it |
08:46 |
est31 |
why, you can merge it without raising the version |
08:46 |
est31 |
then it simply isnt activated |
08:46 |
RealBadAngel |
https://github.com/minetest/minetest/pull/2897/files#diff-70868aa6d6b96c0c1623c761500d23c4R123 |
08:47 |
RealBadAngel |
that way, the patch will just not work |
08:47 |
est31 |
well yea, sort of |
08:48 |
VanessaE |
est31: ok, I'm gonna test the patch with param1 for trunks, param2 for leaves and fruit |
08:48 |
|
leat1 joined #minetest-dev |
08:51 |
VanessaE |
est31: ok that seems to work properly |
08:53 |
VanessaE |
https://gist.github.com/VanessaE/7e3d3e3df640e1d5cc8a |
08:53 |
VanessaE |
your patch as modified, plus moretrees modified to use it |
08:53 |
est31 |
great |
08:54 |
est31 |
then ill modify my patch to check for the paramtype so that it knows where to write in |
08:54 |
VanessaE |
ok. |
09:00 |
VanessaE |
est31: oh, that patch for the areastore, where did we stand on that? I forgot :) |
09:00 |
est31 |
VanessaE, its good enough to run it on a server |
09:00 |
VanessaE |
ok |
09:00 |
est31 |
"i dont know of any bugs" |
09:00 |
VanessaE |
famous last words? :D |
09:00 |
est31 |
yepo |
09:01 |
VanessaE |
hehe |
09:03 |
|
leat1 joined #minetest-dev |
09:04 |
VanessaE |
hm, I just realized another conflict. paramtype2 = "waving" |
09:04 |
VanessaE |
however moretrees doesn't use this. |
09:04 |
est31 |
"waving"? |
09:04 |
VanessaE |
yeah, for the waving leaves shader |
09:05 |
VanessaE |
hm, must be deprecated. |
09:05 |
VanessaE |
I don't see it in lua_api |
09:06 |
est31 |
well, i know how to code it, and if somebody wants to use paramtype2 = waving they have to think of a better leaf decay alg than abm |
09:06 |
VanessaE |
RealBadAngel: what's the story on that? |
09:07 |
VanessaE |
in fact "waving" doesn't appear in the api at all. |
09:08 |
RealBadAngel |
lemme check |
09:10 |
RealBadAngel |
i cant see anything related to param2 being "waving" |
09:10 |
RealBadAngel |
its contentFeatures property, not param2 |
09:10 |
VanessaE |
yeah, looks like it's just a node def item now |
09:10 |
VanessaE |
the param2 thing must be leftover from my testing from when you first wrote the shaders then |
09:11 |
VanessaE |
(I did find a couple refs in moretrees, on closer inspection) |
09:11 |
VanessaE |
est31: ok, no conflict. |
09:11 |
RealBadAngel |
propapbly yes |
09:13 |
|
leat1 joined #minetest-dev |
09:14 |
VanessaE |
yep, works fine with just waving=1 where needed |
09:14 |
VanessaE |
you should probably document that feature in the API |
09:14 |
RealBadAngel |
https://github.com/minetest/minetest_game/pull/567 |
09:14 |
VanessaE |
lgtm, RealBadAngel |
09:15 |
est31 |
cheapie? |
09:15 |
VanessaE |
you need to do the others too, also desert stone and desert cobble should match regular stone and cobble I think. |
09:15 |
est31 |
why is it "sharpened" |
09:16 |
est31 |
if then its less sharp |
09:17 |
RealBadAngel |
previous one was too blurry |
09:18 |
VanessaE |
RealBadAngel: I think he means the edges of the big pixels |
09:18 |
est31 |
^ |
09:18 |
VanessaE |
in fact the new one is fuzzier than the old one, but with those diagonal shadows gone, it looks better |
09:19 |
RealBadAngel |
https://imgrush.com/Rjqu4J_CDKxG |
09:19 |
VanessaE |
that's the old one |
09:19 |
RealBadAngel |
yes |
09:19 |
RealBadAngel |
you have screenie of the new one in pr |
09:19 |
VanessaE |
*nod* |
09:20 |
RealBadAngel |
VanessaE, i think i would stick to "style" of the new stone one |
09:20 |
VanessaE |
RealBadAngel: told you it looks better :) |
09:20 |
RealBadAngel |
https://imgrush.com/sjYy4sd6jCKV.png |
09:21 |
RealBadAngel |
grass is the same style |
09:21 |
RealBadAngel |
pixels are nicely rounded with soft shadows |
09:21 |
VanessaE |
looks good. |
09:21 |
VanessaE |
that's the idea I was trying to convey earlier :) |
09:22 |
RealBadAngel |
such softness in images reminds me the look of blender renders |
09:24 |
RealBadAngel |
and is exactly what i was aiming since the very begining |
09:24 |
RealBadAngel |
tried to get that look with overriding normals, but relief mapping is way better |
09:28 |
RealBadAngel |
btw, who claimed that stairs are properly uv'ed? |
09:28 |
VanessaE |
*shrug* dunno |
09:28 |
RealBadAngel |
theyre fucked up |
09:29 |
VanessaE |
https://github.com/minetest/minetest_game/pull/563 |
09:29 |
VanessaE |
what's wrong with them? |
09:29 |
RealBadAngel |
https://imgrush.com/YvA-jP4mpTV1 |
09:30 |
|
leat1 joined #minetest-dev |
09:30 |
VanessaE |
I don't see anything wrong there? |
09:30 |
VanessaE |
oh wait |
09:30 |
VanessaE |
I see it |
09:30 |
VanessaE |
vertical misalignment |
09:31 |
RealBadAngel |
it looks like theyre rotated by 90 degs |
09:31 |
VanessaE |
no, the rotation looks fine |
09:32 |
VanessaE |
but there is a slight vertical compressing issue |
09:32 |
RealBadAngel |
its not fine |
09:32 |
RealBadAngel |
take a closer look |
09:32 |
VanessaE |
I am. |
09:32 |
RealBadAngel |
when you will rotate the cube by 90degs, it would fit the stair |
09:33 |
VanessaE |
turn off your parallax/normals/bumps |
09:33 |
VanessaE |
they're throwing off your impression |
09:33 |
VanessaE |
the problem is the side of the stair is vertically stretched a little. |
09:34 |
VanessaE |
that slight misalignment makes it look like it's rotated wrong. |
09:34 |
|
Fritigern joined #minetest-dev |
09:34 |
|
leat1 joined #minetest-dev |
09:35 |
RealBadAngel |
im lookin at the top |
09:35 |
VanessaE |
*looks again* |
09:36 |
VanessaE |
hrm |
09:36 |
* VanessaE |
fires up blender |
09:36 |
RealBadAngel |
https://imgrush.com/i4lZoNlFELw3 |
09:36 |
RealBadAngel |
https://imgrush.com/oU41fZaKlnRd |
09:36 |
RealBadAngel |
textures at the upper edge should start with the very same pixels, dont you think? |
09:38 |
RealBadAngel |
they dont |
09:38 |
VanessaE |
stand by, I'll make a new one. |
09:39 |
RealBadAngel |
propably the model is flipped when exporting |
09:44 |
VanessaE |
here, how's this look to you? |
09:44 |
|
leat1 joined #minetest-dev |
09:44 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/stairs_stair.obj |
09:46 |
VanessaE |
RealBadAngel: ^^^ |
09:49 |
RealBadAngel |
5/6 are correct |
09:49 |
RealBadAngel |
top face is flipped by 180degs |
09:50 |
VanessaE |
nope.avi |
09:50 |
VanessaE |
looks fine in-game |
09:50 |
VanessaE |
remember, it's a model, so you have to face north when you place it |
09:50 |
VanessaE |
otherwise you won't see the natural alignment |
09:51 |
RealBadAngel |
https://imgrush.com/csu-giv8J_-_.png |
09:51 |
RealBadAngel |
sorry, not 180. 90 |
09:51 |
VanessaE |
yeah, now try it while facing north :) |
09:52 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/random/Screenshot_2015-07-14_05-51-58.png |
09:52 |
RealBadAngel |
ah indeed |
09:53 |
VanessaE |
https://github.com/minetest/minetest_game/pull/568 |
09:55 |
|
leat1 joined #minetest-dev |
10:06 |
|
leat1 joined #minetest-dev |
10:07 |
VanessaE |
sfan5: *poke* |
10:08 |
|
kilbith joined #minetest-dev |
10:09 |
kilbith |
VanessaE: are you sure it was necessary to add more vertices here ? https://lut.im/KKm0XDIg/yemqH2lI |
10:09 |
VanessaE |
kilbith: yes, because the engine doesn't like concave shapes |
10:09 |
kilbith |
also blast the floating |
10:09 |
VanessaE |
it'll render an ngon, but if it's concave like that, it'll try to fill in the two corners |
10:10 |
asl97 |
rui914 just close another issue but i suppose this time is ok since it was unclear what it was about (although i guess it's a way to unify the sapling grow function) |
10:10 |
|
Fritigern joined #minetest-dev |
10:11 |
VanessaE |
kilbith: I won't mess with the content of the file. saving those extra bytes is not worth the effort. |
10:11 |
kilbith |
it's not that, it's about the parsing |
10:11 |
VanessaE |
have you benchmarked it? |
10:11 |
kilbith |
no but it's certainly better |
10:12 |
kilbith |
10s for doing that |
10:12 |
VanessaE |
the difference in parsing speed will be so small that it'll disappear into the "background noise" of startup delay. |
10:12 |
kilbith |
while you're speaking, it can be already done |
10:14 |
* VanessaE |
shrugs. I'll fix that extra edge that was added when I triangulated, but outside of that, mt_game devs can take it or leave it. |
10:15 |
kilbith |
also why showing a screenshot of the top of the stairs whereas it concerns the sides ? |
10:15 |
|
leat1 joined #minetest-dev |
10:15 |
VanessaE |
it was what I had immediately handy. |
10:15 |
kilbith |
ah, oh |
10:15 |
kilbith |
strange |
10:17 |
VanessaE |
there, updated the model to remove the extra edges. |
10:19 |
VanessaE |
and screenshot updated. |
10:20 |
VanessaE |
comparison added. |
10:24 |
VanessaE |
shit. |
10:24 |
VanessaE |
RealBadAngel: the problem is mismatching between your cobblestone normalmap and the autogenerated one being used on the stairs |
10:25 |
kilbith |
thanks |
10:25 |
VanessaE |
they don't tile together so it looks like it throws off the alignment |
10:25 |
VanessaE |
I jsut tested my model with and without normals/etc. and I can see the same misalignment. |
10:25 |
VanessaE |
apparent* misalignment. |
10:26 |
kilbith |
yeah, i assumed those extra-vertices were pointless |
10:27 |
kilbith |
also no meticulous description on what have been done nor preview either :/ |
10:28 |
VanessaE |
you know me, I'm not the most verbose when I describe something. |
10:28 |
VanessaE |
anyway, closed the PR. |
10:28 |
kilbith |
thanks for ther try anyhow |
10:28 |
kilbith |
-r |
10:45 |
|
leat1 joined #minetest-dev |
10:50 |
|
H-H-H joined #minetest-dev |
10:56 |
|
dv- joined #minetest-dev |
10:57 |
rubenwardy |
Who allowed set_nametag_attributes to be merged? |
10:58 |
rubenwardy |
It doesn't follow existing color standards in Minetest! |
10:58 |
rubenwardy |
nevermind |
10:59 |
|
Dartmouth joined #minetest-dev |
11:00 |
|
exoplanet joined #minetest-dev |
11:06 |
|
leat1 joined #minetest-dev |
11:12 |
est31 |
rubenwardy, we will have to give up on more "existing standards" the more this becomes an engine and the less a game |
11:13 |
rubenwardy |
What i meant was that formspecs etc use #000000 and red |
11:13 |
rubenwardy |
whereas the set_name* uses |
11:13 |
rubenwardy |
{ r = 0, g = 0, b = 0} |
11:13 |
est31 |
ah that |
11:13 |
rubenwardy |
but I found out that set_name does also take #00000 |
11:13 |
est31 |
yea we have gazillions of color standards |
11:13 |
rubenwardy |
although it adds an extra FF at the beginning for alpha |
11:17 |
|
leat1 joined #minetest-dev |
11:21 |
rubenwardy |
Why do I get 2015-07-14 12:18:05: ERROR[main]: Client::getMesh(): Mesh not found: "stairs_stair.obj" |
11:21 |
rubenwardy |
when there is minetest/games/capturetheflag/mods/stairs/models/stairs_stair.obj |
11:26 |
|
leat1 joined #minetest-dev |
11:35 |
|
est31 joined #minetest-dev |
11:35 |
|
proller joined #minetest-dev |
11:37 |
|
leat1 joined #minetest-dev |
11:37 |
asl97 |
since the new update |
11:38 |
|
VanessaE joined #minetest-dev |
11:38 |
asl97 |
rubenwardy: this commit: https://github.com/minetest/minetest_game/commit/f3f8b22698303c1ee592ea5e9d5ba5ce1427ce57 |
11:38 |
rubenwardy |
yes |
11:38 |
rubenwardy |
but there is a model in models |
11:39 |
rubenwardy |
and it isn't getting send to the client |
11:41 |
asl97 |
oops, i misread |
11:46 |
Calinou |
post_effect_color is r/g/b/a |
11:46 |
Calinou |
not hex |
11:47 |
|
leat1 joined #minetest-dev |
11:57 |
|
leat1 joined #minetest-dev |
12:02 |
|
SopaXorzTaker joined #minetest-dev |
12:04 |
kahrl_ |
rubenwardy: how did you end up solving it? |
12:04 |
rubenwardy |
I didn't |
12:04 |
kahrl_ |
oh |
12:04 |
rubenwardy |
if you mean the stairs thing |
12:04 |
kahrl_ |
yeah, I meant that |
12:07 |
|
leat1 joined #minetest-dev |
12:10 |
|
Taoki joined #minetest-dev |
12:16 |
|
ExcaliburZero joined #minetest-dev |
12:18 |
|
leat1 joined #minetest-dev |
12:20 |
|
VanessaE_ joined #minetest-dev |
12:31 |
Amaz |
#2911 |
12:31 |
ShadowBot |
https://github.com/minetest/minetest/issues/2911 -- Allow random menu images for subgames by Amaz1 |
12:31 |
sfan5 |
VanessaE_: *poke back* |
12:32 |
VanessaE_ |
sfan5: nevermind, already resolved. |
12:38 |
|
leat1 joined #minetest-dev |
12:44 |
|
MinetestForFun joined #minetest-dev |
12:44 |
RealBadAngel |
sfan5, are you ok with https://github.com/minetest/minetest_game/pull/567 ? |
12:45 |
sfan5 |
hm |
12:45 |
sfan5 |
RealBadAngel: how are the normal maps for overlayed textures composed? |
12:45 |
RealBadAngel |
same way as regular overlay do |
12:46 |
sfan5 |
i see |
12:46 |
sfan5 |
I'm ok with game#567 |
12:46 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/567 -- Better default stone normalmap, sharpened a bit by RealBadAngel |
12:47 |
RealBadAngel |
so please merge it then. it has already several dev votes |
12:47 |
RealBadAngel |
including paramat, hmmm, est31, me and Ve |
12:48 |
sfan5 |
in irc? |
12:48 |
RealBadAngel |
yes |
12:48 |
RealBadAngel |
shall i dig it? |
12:48 |
sfan5 |
just paramats vote |
12:48 |
RealBadAngel |
hold on |
12:48 |
|
leat1 joined #minetest-dev |
12:49 |
RealBadAngel |
sfan5, http://irc.minetest.ru/minetest-dev/2015-07-14#i_4322028 |
12:50 |
sfan5 |
ok |
12:50 |
RealBadAngel |
i will try to follow the very same style with all other ones since now |
12:50 |
sfan5 |
merging it |
12:50 |
|
_tutima joined #minetest-dev |
12:51 |
RealBadAngel |
ty |
12:51 |
RealBadAngel |
you will propably get bucket of beer from VE for this mergeing ;) |
12:52 |
VanessaE_ |
beer? yech. |
12:59 |
Routh |
Mead > beer. |
12:59 |
|
leat1 joined #minetest-dev |
13:01 |
RealBadAngel |
now, shall i push the grass texture? |
13:02 |
VanessaE_ |
yes |
13:02 |
RealBadAngel |
https://imgrush.com/sjYy4sd6jCKV.png |
13:03 |
RealBadAngel |
ofc, it will need my engine changes |
13:03 |
RealBadAngel |
but texture will be the same |
13:03 |
RealBadAngel |
(dont look at hand, its damn fsaa) |
13:08 |
RealBadAngel |
btw. with grass and snow im using a simple trick for large areas of those to look consistent |
13:08 |
RealBadAngel |
grass and dirt normalmaps are the same |
13:08 |
RealBadAngel |
same for snow |
13:19 |
|
leat1 joined #minetest-dev |
13:24 |
|
est31 joined #minetest-dev |
13:31 |
|
SopaXorzTaker joined #minetest-dev |
13:34 |
|
FR^2 joined #minetest-dev |
13:39 |
|
leat1 joined #minetest-dev |
13:44 |
|
FR^2 joined #minetest-dev |
13:50 |
|
leat1 joined #minetest-dev |
14:00 |
|
leat1 joined #minetest-dev |
14:07 |
|
MinetestForFun joined #minetest-dev |
14:11 |
|
Hunterz joined #minetest-dev |
14:17 |
|
RealBadAngel joined #minetest-dev |
14:30 |
|
CraigyDavi joined #minetest-dev |
14:37 |
|
hmmmm joined #minetest-dev |
14:52 |
RealBadAngel |
https://imgrush.com/5xdAh7snhruo.png |
14:53 |
RealBadAngel |
^^ proposal for default:cobble |
14:53 |
VanessaE_ |
a bit deep on the displacement but otherwise looks good |
14:53 |
RealBadAngel |
hmmm, how do you find it? |
14:53 |
RealBadAngel |
VanessaE_, you never sleep, do you? ;) |
14:53 |
VanessaE_ |
heh |
14:54 |
hmmmm |
by the way, RealBadAngel, when are you going to push that commit? |
14:54 |
hmmmm |
est31 wanted you to not bump the protocol version yet though |
14:54 |
RealBadAngel |
hmmmm,i know |
14:54 |
RealBadAngel |
but when i do not, code will remain inactictive |
14:55 |
RealBadAngel |
until protocol gets bumped |
14:55 |
RealBadAngel |
is that ok? |
14:56 |
sfan5 |
RealBadAngel: too 'noisy' |
14:56 |
hmmmm |
yeah I guess it's okay |
14:56 |
hmmmm |
all that his commit is waiting on is a review and a bit more 'testing'... erm |
14:56 |
sfan5 |
i mean the displacement where there are these seperated patches in the cobble texture |
14:56 |
hmmmm |
so in theory it shouldn't take long at all |
14:56 |
sfan5 |
i hope you know what i mean |
14:57 |
RealBadAngel |
sfan5, noisy or too soft? |
14:58 |
RealBadAngel |
https://imgrush.com/YSK-Cv9Z7JLE.png |
14:58 |
sfan5 |
too high differences between the 'heights' of the pixels |
14:58 |
RealBadAngel |
theres another version |
14:58 |
VanessaE_ |
RealBadAngel: too much variation between neighboring big pixels (e.g. the "diffuse" texture) |
14:59 |
VanessaE_ |
imho the "islands" need to be lower/less displaced, and the pixels that make them up should be higher int he centers than at the edges |
14:59 |
VanessaE_ |
but only a little bit |
14:59 |
VanessaE_ |
so that they look like rounded stones (or as rounded as a 16px texture would be able to get) |
15:00 |
RealBadAngel |
https://imgrush.com/QtyDtkwXDRRR.png |
15:00 |
RealBadAngel |
what about now? |
15:00 |
VanessaE_ |
still too strong |
15:03 |
RealBadAngel |
https://imgrush.com/7lqpV6OuLsJ5.png |
15:03 |
sfan5 |
yes |
15:04 |
sfan5 |
way better |
15:04 |
VanessaE_ |
agreed |
15:04 |
VanessaE_ |
now raise the centers of the "islands" |
15:04 |
VanessaE_ |
as if they're rounded stones, but keep it pixely |
15:05 |
sfan5 |
i prefer the way it is right now |
15:05 |
sfan5 |
though VE's suggestion could be a good idea |
15:05 |
sfan5 |
might look good |
15:05 |
VanessaE_ |
as long as the difference between neighboring pixels is subtle it should look good |
15:06 |
sfan5 |
hm |
15:06 |
sfan5 |
the cobble texture does not tile vertically at all |
15:09 |
RealBadAngel |
https://imgrush.com/0GfFVWhq02rP.png |
15:10 |
RealBadAngel |
sfan5, it does tile on the same planes |
15:10 |
VanessaE_ |
that's the right idea but the effect istoo strong. |
15:11 |
RealBadAngel |
dont expect displaced textures on different planes |
15:11 |
RealBadAngel |
*to tile |
15:11 |
RealBadAngel |
that will never work |
15:13 |
RealBadAngel |
https://imgrush.com/GKR9hh7obO2N.png |
15:14 |
sfan5 |
still too strong imo |
15:14 |
VanessaE_ |
yeah |
15:14 |
RealBadAngel |
its almost flat now |
15:14 |
VanessaE_ |
your normalmaps are too strong |
15:15 |
VanessaE_ |
the displacement map is fine though |
15:17 |
RealBadAngel |
https://imgrush.com/GPFItEP6uaW2.png |
15:17 |
VanessaE_ |
yes |
15:17 |
RealBadAngel |
less shadows but bit higher |
15:17 |
VanessaE_ |
that's pretty close |
15:19 |
RealBadAngel |
in which dierction you think? |
15:20 |
VanessaE_ |
maybe just a HAIR more height in the displacement/parallax map, but keep the normals as they are |
15:25 |
RealBadAngel |
https://imgrush.com/vP4nFw-2hsM0.png |
15:26 |
VanessaE_ |
lgtm |
15:27 |
RealBadAngel |
sfan5, hmmm ? |
15:27 |
VanessaE_ |
need cheapie and sfan5 now :) |
15:28 |
sfan5 |
looks nice |
15:28 |
est31 |
yea nice |
15:31 |
RealBadAngel |
https://github.com/minetest/minetest_game/pull/569 |
15:32 |
VanessaE_ |
RealBadAngel: don't forget to copy that to desert cobble too |
15:32 |
RealBadAngel |
i think desert cobble will require another shape |
15:32 |
VanessaE_ |
nah |
15:32 |
VanessaE_ |
it's the same texture, just red |
15:32 |
VanessaE_ |
same normalmap should work fine for it |
15:32 |
RealBadAngel |
you can try it |
15:32 |
VanessaE_ |
same as desert stone, it's just red-colored default stone |
15:33 |
|
zat joined #minetest-dev |
15:33 |
RealBadAngel |
give it a shot and show us screenie |
15:33 |
VanessaE_ |
too lazy :) |
15:33 |
RealBadAngel |
im supposed to do everythin? :P |
15:33 |
VanessaE_ |
yep! :D |
15:33 |
RealBadAngel |
move your lazy ass madam :P |
15:34 |
RealBadAngel |
i did the same trick to grass and dirt |
15:35 |
RealBadAngel |
propably it can work good for cobbles |
15:36 |
RealBadAngel |
but nooooo |
15:36 |
RealBadAngel |
;) |
15:36 |
RealBadAngel |
differnt colours, shape should be changed |
15:37 |
VanessaE_ |
no |
15:37 |
VanessaE_ |
players routinely use desert and regular cobble together |
15:37 |
VanessaE_ |
so the normals need to tile well |
15:37 |
RealBadAngel |
but color pattern is different |
15:37 |
RealBadAngel |
it looks like shit |
15:38 |
VanessaE_ |
it is? last I looked, it was exactly the same as default cobble, just tinted red |
15:39 |
RealBadAngel |
https://imgrush.com/oE9oU0NSPRUV.png |
15:39 |
VanessaE_ |
oh wait, I'm wrong |
15:39 |
RealBadAngel |
unacteptable |
15:39 |
VanessaE_ |
I'm thinking of another texture |
15:40 |
VanessaE_ |
so yeah desert cobble needs its own map |
15:40 |
VanessaE_ |
however, desert *stone* is indeed identical (I'm looking at it and regular stone now) |
15:40 |
RealBadAngel |
yes |
15:40 |
VanessaE_ |
yeah forget what I said about desert cobble |
15:40 |
* RealBadAngel |
forgets |
15:40 |
RealBadAngel |
and also going to have a nap |
15:41 |
RealBadAngel |
im a bit tired |
15:41 |
VanessaE_ |
stone brick == desert stone brick |
15:41 |
VanessaE_ |
so you'll want to copy that one too |
15:45 |
RealBadAngel |
https://imgrush.com/Yei7bxNd3Gk1 |
15:45 |
VanessaE_ |
eh |
15:45 |
VanessaE_ |
lacks...definition |
15:45 |
VanessaE_ |
the lighting feels flat |
15:46 |
VanessaE_ |
but the displacement there at the edge is a different matter |
15:47 |
VanessaE_ |
I guess there's no way for the shader to know that the two textures are actually the same, save for their color |
15:51 |
|
nrzkt joined #minetest-dev |
15:57 |
rubenwardy |
#1587 |
15:57 |
ShadowBot |
https://github.com/minetest/minetest/issues/1587 -- Colour codes in chat and console |
15:57 |
nrzkt |
Will push a little cleanup in connection.cpp in ~2 min |
15:57 |
nrzkt |
https://github.com/nerzhul/minetest/commit/b0a52c314c9d61112692d7420c25cde0c9423aa0 |
15:57 |
nrzkt |
This construction isn't used anywhere |
15:57 |
hmmmm |
you need to give 30 minutes of forewarning anymore |
15:58 |
hmmmm |
2 minutes is far too short |
15:58 |
hmmmm |
but looks good to me |
15:58 |
|
crecca joined #minetest-dev |
15:58 |
nrzkt |
2 minutes for a cleanup on a constructor unused is useless, also i'm network maintainer and i'm working on it atm :p, looking a enet implementation on minetest |
15:58 |
nrzkt |
30min* sorry :) |
15:58 |
|
harrison joined #minetest-dev |
15:59 |
hmmmm |
it's not useless, other people need to get a chance to see what's being committed before it happens |
15:59 |
nrzkt |
i can wait but maybe i will need to push many commits. Then okay for 10 minutes. |
16:00 |
hmmmm |
no, this isn't an amount that can be negotiated |
16:00 |
rubenwardy |
Why do you need to push so quickly? |
16:00 |
hmmmm |
there is no need to push quickly |
16:00 |
nrzkt |
it's a cleanup on my maintainer part and this doesn't cause any problem, and maybe in 30 minutes i will not be there :) |
16:01 |
hmmmm |
not our problem |
16:01 |
hmmmm |
maybe you should have advertised it earlier |
16:01 |
nrzkt |
stop being so icy for so little commits. IT's just stupid :). Ok for changes , but for cleanups... just :( |
16:02 |
hmmmm |
cleanups are changes too |
16:02 |
nrzkt |
and remember, we are all developers. |
16:02 |
hmmmm |
if you're changing the code, guess what, that's a change |
16:03 |
nrzkt |
hmmmm: do you know about flexibility and adapt things to situation ? |
16:03 |
nrzkt |
or are you just a manual or a lawyer ? :p |
16:03 |
rubenwardy |
The point of review periods (ie: 15min, 30min) is to make sure that the commit doesn't have unintended consequences. |
16:03 |
hmmmm |
these are all just stupid excuses to push things without oversight |
16:03 |
nrzkt |
you see it, you approved it :) |
16:03 |
hmmmm |
the minetest users have spoken up |
16:04 |
hmmmm |
they expect a higher level of quality |
16:04 |
hmmmm |
yes, i approved it, but had i happened to not be around you'd still push it anyway in 2 minutes |
16:04 |
nrzkt |
i know, but removing a unused function on a maintainer part from the maintainer doesn't need that |
16:04 |
hmmmm |
something that you think may have no side effects may in fact have dire side effects |
16:04 |
rubenwardy |
and that requires stricter checking |
16:04 |
|
OldCoder joined #minetest-dev |
16:04 |
rubenwardy |
(a higher level of quality does) |
16:05 |
nrzkt |
rubenwardy, are you a developper ? |
16:05 |
hmmmm |
for example, what if it's a piece of "unused" code that gets conditionally used if some compilation option is set, or on a specific platform |
16:05 |
hmmmm |
and then that breaks because of your trivial change |
16:05 |
nrzkt |
it's not the case here, sorry |
16:05 |
rubenwardy |
I am a developer |
16:05 |
hmmmm |
well what if you didn't know that |
16:05 |
hmmmm |
that's the purpose of review |
16:05 |
rubenwardy |
but I am not a member of the core development team |
16:05 |
nrzkt |
yeah i know, but here it's not the case. |
16:05 |
hmmmm |
i'm so sorry if peer review is an inconvenience |
16:06 |
hmmmm |
but upstream will not be a free-for-all |
16:06 |
nrzkt |
i agree with peer review, and you review. but i don't talk about strict time checking, i think about code itself |
16:06 |
nrzkt |
the goal is the quality of the code |
16:06 |
hmmmm |
based on whose assessment? your own? |
16:06 |
nrzkt |
remember i'm the network maintainer |
16:07 |
hmmmm |
what if you're drunk or something at the time you decided to change that code and push it? |
16:07 |
hmmmm |
I don't care who you are |
16:07 |
nrzkt |
you didn't changed : |
16:07 |
nrzkt |
:p |
16:07 |
hmmmm |
that doesn't give you carte blanche to shit commit |
16:07 |
nrzkt |
in english you talk my language for carte blanche ? i didn't know :D |
16:07 |
nrzkt |
it's not a shit commit, stop generalize things :p |
16:08 |
crazyR |
why is this such a big argument. i agree that there needs to be some reveiew time. but on the flip side, if a change makes a dire fuck up. then we simply revert the comiit etc |
16:08 |
nrzkt |
+1 |
16:08 |
nrzkt |
but here , the debate is just useless |
16:08 |
nrzkt |
i only trash dead code |
16:08 |
hmmmm |
because, 1). the negative effects of some bad changes might not be immediately obvious |
16:08 |
nrzkt |
as we said in france: hmmmm monte sur ses grands chevaux |
16:08 |
hmmmm |
and 2). it's messy |
16:09 |
crazyR |
aint that where the get 2 devs approval bit comes in?? |
16:09 |
nrzkt |
2 devs is stupid |
16:09 |
nrzkt |
we are not 30 devs on MT |
16:09 |
hmmmm |
and 3). it might cause merge conflicts with others' |
16:09 |
VanessaE_ |
and 3) reverting a commit that took too long to notice may become impossible if there are later commits in the same code |
16:09 |
nrzkt |
if somebody commits on connection.cpp without my review it's not normal |
16:09 |
hmmmm |
yeah, that's a better explanation of my #3 |
16:09 |
hmmmm |
always err on the side of caution |
16:10 |
hmmmm |
minetest's upstream master branch is expected to have some semblance of stability due to how widely it's used by non-developers as well |
16:10 |
crazyR |
look just to make my point clear. i DO agree that code needs to be held to a high standard but at the same time i also understand the need to be flexable towards devs. at the end oif the day everyone that puts in the work does so at there own expense |
16:11 |
|
leat1 joined #minetest-dev |
16:11 |
hmmmm |
waiting 30 minutes before pushing something with no review is not too much to ask for. really. |
16:11 |
nrzkt |
i always said it's a very big problem to have upstream as stable branch. |
16:11 |
nrzkt |
as you pointed: with no review |
16:11 |
nrzkt |
you do it :p i know you were here |
16:11 |
hmmmm |
you people wouldn't last at my job where you need to wait for all the unit tests to pass on all 15 supported platforms as well as 3 peer-review approvals for ANY change at all, no matter how small |
16:12 |
hmmmm |
this ^ may be overkill, but they have the right attitude toward quality at least |
16:12 |
crazyR |
hmmmm i suppose at your job you have stable an non stable branches... |
16:12 |
nrzkt |
why support minetest on motorola on texas instrucments ? :p |
16:13 |
hmmmm |
crazyR, we do have non-stable branches, those are equivalent to individuals github repository forks |
16:13 |
nrzkt |
this a problem |
16:13 |
hmmmm |
it's not a problem |
16:13 |
nrzkt |
we don't have an integration branch |
16:13 |
hmmmm |
it's quality |
16:13 |
nrzkt |
no |
16:13 |
rubenwardy |
Off the top of my head: Windows 32, Windows 64, Mginx, Visual Studio, Ubuntu, Andriod, FreeBSD, the other BSD. |
16:13 |
crazyR |
thats not the same an official unstable |
16:13 |
nrzkt |
preproduction and integration are the same branch, this is a problem$* |
16:14 |
nrzkt |
i didn't see any enterprise which merge preprod and integration for its development processus |
16:14 |
VanessaE_ |
bbl |
16:16 |
hmmmm |
yea |
16:16 |
crazyR |
also just a side note.. if a person is "in charge" of a paticular area of code... wouldnt that make him or her the person to have final say based on the opinions of other?? |
16:16 |
nrzkt |
this is the goal, but, as everytime, hmmmm thinks he is at the head whereas we are equal :) |
16:17 |
hmmmm |
crazyR: "in charge" means "responsible for", it doesn't mean that you can have a free for all on the code and totally wreck it |
16:17 |
|
Hunterz joined #minetest-dev |
16:17 |
hmmmm |
no one person should have complete control over an area of code |
16:18 |
hmmmm |
if you want that... minetest is not for you. start a fork or your own personal project |
16:18 |
hmmmm |
we collaborate here |
16:18 |
crazyR |
no but as the person "responsable" he/she should have overall decistion making ont the area conserned. otherwise how can he accept responcability for others actions. |
16:18 |
crazyR |
sorry for my spelling :P |
16:19 |
nrzkt |
no problem crazyR you are understandable :p |
16:20 |
rubenwardy |
The issue he isn't having the overall decision, it's allowing enough time for checks to take place |
16:22 |
|
Robert_Zenz joined #minetest-dev |
16:22 |
crazyR |
ok but nrzkt asked a well known. experianced developer to check it, this developer confirmed it look well. that then makes 2 devs that like the work. one of them being the lead developer for the code concerned. would that not be sufficient... if those 2 people can not identify potential issues then any issues if they exist are likly not to be noticed till they pop up in production anyway |
16:24 |
|
Puma_rc joined #minetest-dev |
16:25 |
kahrl_ |
pushing in 30 minutes: https://github.com/kahrl/minetest/commit/18431d50791e320c0520669ff2aee4a4ef77ad53 |
16:25 |
nrzkt |
okay for me kahrl_ |
16:28 |
kahrl_ |
thanks :) |
16:28 |
crecca |
so is there a "30 minutes rule"? |
16:28 |
crecca |
or is there not |
16:28 |
|
sloantothebone_ joined #minetest-dev |
16:29 |
|
proller joined #minetest-dev |
16:29 |
nrzkt |
pushing it now |
16:31 |
crazyR |
from the arguments above... i presume there is a 30 min rule.... but maybe the rule should be.. "30 mins or 2 dev confirms - what ever is first" |
16:31 |
crazyR |
that i would hope would keep all parties happy |
16:31 |
hmmmm |
crecca: the rule is that you need to get a certain number of approval from others |
16:32 |
crazyR |
so hmmmm where does the 30 mins come from above that you mentioned |
16:32 |
hmmmm |
unless the change is 'trivial'. the 'trivial' exception is for code changes that are aesthetic in nature or make no functional difference, or are merely modifying some constant values or the like |
16:32 |
hmmmm |
the only thing is, trivial changes might not all be that trivial, because whether or not a change is trivial could be subjective |
16:32 |
hmmmm |
so you need to give other devs a chance to at least look at what you're pushing before it gets pushed |
16:33 |
hmmmm |
that's where the 30 minutes comes in |
16:33 |
hmmmm |
if you get all the necessary approval in under 30 minutes, you obviously don't need to wait that long |
16:33 |
crazyR |
hmmmm modifying some constant can have as bad a consequence as dodgy code... so nothing is trivial really |
16:34 |
hmmmm |
of course, in particular the constants I'm talking about are more or less visual like changing the number of caves generated, or the default cloud height, or minimum viewing range, or things that are not of consequence |
16:35 |
hmmmm |
the trivial exception only exists to not completely piss off developers |
16:35 |
hmmmm |
but the 30 minute waiting period is a decent compromise |
16:36 |
hmmmm |
i don't understand why anybody would argue that this setup is too strict, unless they have something they're trying to hide in the code |
16:37 |
crazyR |
or unless the person has a very busy life... and just so happens that he would not be able to push after 30 mins, due some other comitment... not everything has to be with bad intent |
16:37 |
hmmmm |
well then, maybe they should just wait until they get back |
16:38 |
crazyR |
which puts further delays and possible merge conflicts in the pipeworks |
16:38 |
hmmmm |
that's such a nonsensical argument |
16:38 |
hmmmm |
merge conflicts might happen if a commit sits around for months |
16:38 |
crazyR |
hmmmm im not saying your wrong, im simply looking at it from both perspectives |
16:38 |
hmmmm |
i'm sure. |
16:38 |
crazyR |
whats that suppose to mean? |
16:38 |
hmmmm |
nothing |
16:39 |
crazyR |
no please enlighten me... |
16:39 |
crecca |
hmmmm: are you kwolekr on github? |
16:39 |
hmmmm |
crecca: yes |
16:39 |
hmmmm |
you asked me yesterday but you left before i could respond |
16:39 |
crecca |
yeah sorry about that |
16:40 |
hmmmm |
np |
16:40 |
crecca |
did you receive my email? |
16:40 |
hmmmm |
hrmm |
16:40 |
hmmmm |
let's see |
16:40 |
hmmmm |
CMAKE_BUILD_TYPE? |
16:40 |
crecca |
yeah |
16:40 |
hmmmm |
you should make that into an issue on github |
16:41 |
crecca |
ok |
16:41 |
hmmmm |
not many of us here are really that good with cmake |
16:41 |
hmmmm |
just functional, in case some library needs to get added or something |
16:41 |
|
sloantothebone joined #minetest-dev |
16:41 |
hmmmm |
it's rather secondary to our development |
16:42 |
hmmmm |
if you're good with cmake we'd appreciate some build system cleanup |
16:42 |
crecca |
not sure if good but there are things that can be cleaned up quickly |
16:42 |
hmmmm |
but yea thank you for pointing this out |
16:43 |
hmmmm |
i added semidebug because I needed some debugging ability to see where something is crashing, maybe, but I need the execution speed to test minetest reasonably |
16:44 |
hmmmm |
at first Debug was -O1 but this caused too many problems |
16:44 |
crecca |
I see |
16:44 |
hmmmm |
so now Debug is a real debug with -O0, and Semidebug is -O1 for when you need to use the debugger in-game |
16:45 |
crecca |
It's just I don't want to break how devs use the build system so far, only make it clearer for a novice like me how it is usually used |
16:45 |
crecca |
for example, does anybody builds just a `src/' directory? |
16:45 |
hmmmm |
not really |
16:46 |
hmmmm |
i think it's just an organizational thing |
16:51 |
ExcaliburZero |
Have any of the devs taken a look over this issue? https://github.com/minetest/minetest/issues/2874 |
16:52 |
hmmmm |
i haven't, but i don't really have an opinion or any helpful information on that |
16:52 |
hmmmm |
sorry |
16:53 |
ExcaliburZero |
That's okay, thanks for letting me know though. |
16:53 |
|
MinetestForFun joined #minetest-dev |
16:54 |
ExcaliburZero |
It's somewhat of an odd issue in that it's really more style related than code related. |
16:55 |
ExcaliburZero |
I'd like to try to help out on it, but another more experienced dev would probably have to take a look over the issue and decided what should be done, since it's not a single obvious issue. |
16:59 |
crazyR |
would it not make sense for the image formspec to work out the image ratio and size it automatically based on that? |
16:59 |
crazyR |
that would solve all the issues |
17:00 |
|
TBC_x joined #minetest-dev |
17:01 |
|
leat1 joined #minetest-dev |
17:02 |
ExcaliburZero |
I suppose something like that would function well, but it might make the screenshot aspect ratios non-uniform. |
17:02 |
ExcaliburZero |
That would probably make going through mods a little bit odd, in that the shape of the sceenshots of the mods would change depending on the specific mod.. |
17:03 |
ExcaliburZero |
Seeing the screenshots for some mods as being rectangles, and others being squares wouldn't make a lot of sense. |
17:05 |
crazyR |
that would then be down to the people posting the mods. or even better the mod database could crop the screenshots on upload |
17:05 |
crazyR |
at least the image wouldnt be screwed up |
17:06 |
crazyR |
just having a keep_aspect_ratio boolean at the end of the image formspec would keep it backwards compatable too |
17:06 |
ExcaliburZero |
The issue is that there is currently no set standard for the screenshot aspect ratios. So the person making the mod would not know what aspect ratio to use. |
17:07 |
ExcaliburZero |
As you noted, we could do auto-cropping to get the right aspect ratio, but it would probably be easier to just have a set aspect ratio that modders are informed to use. |
17:07 |
crazyR |
it would be hard to add a cropping facility to the mod database thought, |
17:08 |
ExcaliburZero |
All we really need is to just set one aspect ratio for screenshots and stick with it. |
17:09 |
crazyR |
that doesnt fix the over laying issue for all images that look screwed up in formspecs thought. |
17:10 |
crazyR |
the current system is great if you want to use a fixed size image, but if you want to use dynamic images then it becomes a problem |
17:11 |
crazyR |
actually great isnt the right word... ok is the right word as there is still alot of mucking about with static images to get the image formspec size right |
17:11 |
ExcaliburZero |
From my understanding, the issue currently isn't so much about file sizes (ex. 300x200px), but aspect ratios (ex. 3:2). |
17:13 |
|
rubenwardy joined #minetest-dev |
17:17 |
ExcaliburZero |
The more immediate issue right now is that currently mod screenshots are displayed with an aspect ratio of 3:2, and texture pack screenshots are displayed with an aspect ratio of 4:3.7 . |
17:18 |
ExcaliburZero |
It would be good if those ratio could be both made the same, thus screenshot ratios would be uniform. |
17:18 |
ExcaliburZero |
Also the selected ratio should be added to the documentation in the section for "screenshot.png". |
17:21 |
rubenwardy |
Do we have anything like this in MT? |
17:21 |
rubenwardy |
http://lua-users.org/wiki/SortedIteration |
17:34 |
|
jin_xi joined #minetest-dev |
17:48 |
|
MinetestForFun joined #minetest-dev |
17:54 |
|
kilbith joined #minetest-dev |
17:55 |
|
kilbith left #minetest-dev |
18:02 |
|
leat1 joined #minetest-dev |
18:11 |
|
proller joined #minetest-dev |
18:12 |
|
AnotherBrick joined #minetest-dev |
18:24 |
|
ShadowBot` joined #minetest-dev |
18:24 |
RealBadAngel |
https://imgrush.com/6dq_0kzJKBY6.png |
18:24 |
RealBadAngel |
what do you think? |
18:26 |
|
dv-_ joined #minetest-dev |
18:29 |
|
Robby_ joined #minetest-dev |
18:29 |
|
blais3 joined #minetest-dev |
18:29 |
|
cheapie_ joined #minetest-dev |
18:37 |
|
luizrpgluiz joined #minetest-dev |
18:41 |
|
est31 joined #minetest-dev |
18:43 |
|
leat1 joined #minetest-dev |
18:46 |
|
twoelk joined #minetest-dev |
18:53 |
johnnyjoy |
I have developed a working PostgreSQL database backend, which has been working perfectly. How can I go about gaining the approval of 2 core developers? |
18:55 |
est31 |
johnnyjoy, make a pull request on github, we will review it then |
18:55 |
johnnyjoy |
Thanks, est31. |
19:07 |
RealBadAngel |
est31, https://imgrush.com/ax5ssmI-0yu2.png do you like gravel one? |
19:09 |
est31 |
no |
19:09 |
est31 |
looks like one of those IKEA pillows or what they are |
19:09 |
RealBadAngel |
rotfl |
19:10 |
RealBadAngel |
this one i made a bit different |
19:10 |
RealBadAngel |
basically heightmap is inversed there |
19:10 |
RealBadAngel |
*inverted |
19:11 |
est31 |
well it still looks good in some way |
19:14 |
|
leat1 joined #minetest-dev |
19:14 |
est31 |
hmmmm, didnt you fix #1218 |
19:14 |
ShadowBot |
https://github.com/minetest/minetest/issues/1218 -- huge error shouldn't be printed in game |
19:14 |
crecca |
is anyone bothered that bumpmapped textures look... "noisy" from a distance? |
19:18 |
RealBadAngel |
crecca, what do you mean? |
19:20 |
crecca |
grainy, harsh |
19:20 |
crecca |
a little bit like sandpaper |
19:20 |
RealBadAngel |
use filters then |
19:20 |
RealBadAngel |
anisotropic filter helps for that |
19:22 |
crecca |
ah, indeed |
19:26 |
RealBadAngel |
crecca, thx to those effects, textures are not really 16px anymore |
19:26 |
RealBadAngel |
using filters makes sense |
19:27 |
crecca |
yes, looks much better |
19:27 |
crecca |
and works fast |
19:27 |
RealBadAngel |
pre-made normals are faster than autogen |
19:28 |
crecca |
you're the author of most of the textures? |
19:28 |
RealBadAngel |
autogen has to apply 3x3 filters to the texture realtime, for each pixel drawn |
19:29 |
RealBadAngel |
crecca, not for textures. im doing advanced effects. normal maps and heightmaps are mine |
19:29 |
RealBadAngel |
and code behind it |
19:29 |
crecca |
I see |
19:29 |
crecca |
what are heightmaps? |
19:30 |
crecca |
and normal maps |
19:30 |
RealBadAngel |
thyere used for displacement mapping |
19:30 |
RealBadAngel |
some pixels can be higher some lower |
19:30 |
RealBadAngel |
depending on view angle |
19:30 |
crecca |
so that's the bumpmapping? |
19:31 |
RealBadAngel |
no, thats displacement mapping |
19:31 |
crecca |
ah okay, different beast |
19:31 |
RealBadAngel |
bumpmapping is about light |
19:31 |
crecca |
oh really |
19:31 |
RealBadAngel |
and how the surface behaves when in touch with light ray |
19:32 |
RealBadAngel |
http://www.cescg.org/CESCG-2006/papers/TUBudapest-Premecz-Matyas.pdf |
19:32 |
RealBadAngel |
this paper can explain you techiques used |
19:34 |
RealBadAngel |
we are using 3 methods described here. most common and old - bumpmapping |
19:34 |
crecca |
yeah |
19:34 |
RealBadAngel |
parallax with slope information |
19:34 |
RealBadAngel |
and relief mapping |
19:34 |
crecca |
does it have to do with irrlicht engine? |
19:35 |
RealBadAngel |
well, irrlicht supports materials with bumpmapping and simple parallax mapping |
19:35 |
crecca |
parallax occlusion effectively kills my laptop |
19:35 |
RealBadAngel |
but using them means you cannot use own shaders |
19:36 |
RealBadAngel |
crecca, this is not low end boxes effect. it requires good gpu |
19:37 |
RealBadAngel |
but it may happen that using hand made normals will be faster for you |
19:37 |
RealBadAngel |
i mean fast enough |
19:38 |
RealBadAngel |
autogen is damn slow |
19:38 |
RealBadAngel |
at least for gpus older than 2-3 yrs and whatever shit intel made |
19:38 |
crecca |
so this stuff doesn't has to be real-time? |
19:39 |
RealBadAngel |
autogen is realtime |
19:39 |
RealBadAngel |
it makes normalmaps when you havent supported any |
19:39 |
RealBadAngel |
and thats slow |
19:40 |
crecca |
so how to support normalmaps? |
19:40 |
RealBadAngel |
make them |
19:40 |
|
proller joined #minetest-dev |
19:40 |
RealBadAngel |
gimps normalmap plugin, awesomebump, crazybump, number of photoshop plugins... |
19:41 |
crecca |
so its a matter of running a texture through an effect and saving it? |
19:43 |
Calinou |
AwesomeBump is pretty much the most complete software |
19:43 |
Calinou |
crecca, usually you can use automatic filters, but not always |
19:44 |
Calinou |
you are supposed to generate a normal map from an height map, not from a diffuse map |
19:44 |
crecca |
I see |
19:44 |
Calinou |
(the normal map is the derivate of the height map) |
19:44 |
Calinou |
(and the height map is the primitive of the normal map) |
19:44 |
RealBadAngel |
crecca, map is the source for displacement/bump calculations |
19:44 |
crecca |
so yeah, makes sense, if I don't load more chunks, i.e. I don't move, the fps goes up |
19:44 |
RealBadAngel |
havin it prepared saves time |
19:45 |
RealBadAngel |
but still you have to calculate light level of a pixel or its displacement |
19:45 |
RealBadAngel |
you could "bake" such effects in a texture, but then it wont feel live in the game |
19:46 |
RealBadAngel |
point of those effects is that they depend on point of view |
19:46 |
crecca |
yeah rigt |
19:46 |
crecca |
right* |
19:48 |
RealBadAngel |
afk, bbl |
19:49 |
|
H-H-H joined #minetest-dev |
19:49 |
|
Taoki joined #minetest-dev |
19:49 |
|
MinetestForFun joined #minetest-dev |
19:50 |
|
MinetestForFun_ joined #minetest-dev |
19:55 |
crecca |
with normal maps I get a strange glitch |
19:56 |
crecca |
some textures have glitchy diagonal lines on them |
19:56 |
crecca |
where the faces of a mesh connect |
19:58 |
crecca |
might be an issue with my gpu though |
19:59 |
|
friti joined #minetest-dev |
20:26 |
|
Fritigern joined #minetest-dev |
20:31 |
|
Fritigern joined #minetest-dev |
20:48 |
|
Fritigern joined #minetest-dev |
21:14 |
johnnyjoy |
sfan5, thanks for being so helpful. |
21:14 |
sfan5 |
np |
21:14 |
sfan5 |
nice work you've done |
21:14 |
johnnyjoy |
Thanks you. |
21:15 |
johnnyjoy |
Sorry, Thank you. |
21:32 |
|
Fritigern joined #minetest-dev |
21:32 |
|
AnotherBrick joined #minetest-dev |
21:39 |
|
Fritigern joined #minetest-dev |
21:39 |
VanessaE_ |
anyone here? |
21:39 |
VanessaE_ |
anyone feel like taking on a random segfault? *waves backtrace* I got something useful this tiiiiiiime :D |
21:39 |
VanessaE_ |
http://pastebin.ubuntu.com/11879834/ |
21:43 |
|
Fritigern joined #minetest-dev |
21:50 |
|
est31 joined #minetest-dev |
21:51 |
VanessaE_ |
https://github.com/minetest/minetest/issues/2913 |
21:53 |
est31 |
yummy! |
21:57 |
VanessaE |
:) |
21:57 |
Amaz |
I think that the changes I've made to #2911 (on the advice of sfan5) have made it finished. There may be a couple of style issues (or something along those lines) however. |
21:57 |
ShadowBot |
https://github.com/minetest/minetest/issues/2911 -- Allow random menu images for subgames by Amaz1 |
22:01 |
est31 |
VanessaE, http://stackoverflow.com/a/7327366 |
22:01 |
est31 |
doesnt look like a "good" bug |
22:03 |
VanessaE |
well I could use that issue to collect future segfaults. maybe with enough of them it'll end up meaning something |
22:04 |
VanessaE |
wish I could make it dump core also but ubuntu has stupid measures in place that seem to prevent that. |
22:04 |
est31 |
its linux "dont let processes read each other's memory" |
22:04 |
est31 |
policy |
22:05 |
VanessaE |
yep I know |
22:05 |
VanessaE |
I guess a core won't be too useful with valgrind, come to think of it |
22:07 |
est31 |
yea :( |
22:08 |
VanessaE |
this must be that ongoing memory corruption that I've seen others mention in the past |
22:08 |
est31 |
dunno how to approach these bugs, other than with a fuzzer |
22:08 |
est31 |
manual or automated |
22:09 |
|
Fritigern joined #minetest-dev |
22:10 |
VanessaE |
you know, come to think of it, I've seen the server crash with a "double free or corruption" report from glibc more than once. does that help any? :) |
22:18 |
est31 |
perhaps we should have clustering one day |
22:19 |
est31 |
where a crash of one server doesnt affect the whole cluster |
22:19 |
est31 |
@ least in theory |
22:19 |
VanessaE |
minecraft allegedly does that. |
22:19 |
VanessaE |
in that each client acts as a node on the server's cluster or some such |
22:20 |
TBC_x |
tried to run the server with sanitizers? |
22:21 |
VanessaE |
sanitizers? |
22:21 |
TBC_x |
gcc and clang sanitizers |
22:21 |
TBC_x |
whatever compiler you use |
22:21 |
VanessaE |
est31: btw: pushing into the 120% CPU range with 34 players with your patch, but no appreciable lag. |
22:23 |
TBC_x |
I'm now trying to valgrind memory leaks on client |
22:23 |
VanessaE |
TBC_x: well I guess that's a core dev thing. I wouldn't know the first thing about it. |
22:24 |
TBC_x |
well... the sanitizers are compiler options you pass while compiling |
22:24 |
est31 |
I guess its a compiler option |
22:25 |
est31 |
there is a cmake variable for compiler options |
22:25 |
est31 |
dunno its name |
22:25 |
TBC_x |
the server may get laggy tho |
22:25 |
est31 |
VanessaE, yesterday at this time, the server had a comparable number of players |
22:25 |
TBC_x |
the server WILL get laggy |
22:26 |
est31 |
I see in the cpu stats that its now around 2 lines |
22:26 |
est31 |
yesterday it was around 3 |
22:26 |
VanessaE |
est31: yes, so it did save some CPU |
22:26 |
VanessaE |
but I guess not as much as you expected? |
22:27 |
est31 |
yea |
22:27 |
est31 |
the quick calculation yielded 80% |
22:27 |
est31 |
but seems its more like 20% to 40% |
22:27 |
est31 |
well, still a speedup |
22:27 |
VanessaE |
time to look for other ways to speed up the areas mod then |
22:28 |
est31 |
i think thats very fast already |
22:28 |
VanessaE |
faster is better :D |
22:32 |
VanessaE |
crap. |
22:32 |
VanessaE |
those sanitizer options are only available in gcc 4.8. I have 4.7. |
22:32 |
est31 |
clang? |
22:33 |
|
Fritigern joined #minetest-dev |
22:33 |
hmmmm |
est31, no it's not fixed until there's some kind of mechanism in logging to separate verbose diagnostics messages that get printed to in-game chat |
22:33 |
hmmmm |
looking for a logging level equivalent to errorstream, except it gets printed to the console and logs only |
22:34 |
est31 |
well as you said, lets wait for SN's pr |
22:36 |
VanessaE |
est31: looks like clang is 3.0, and sanitizer options start with 3.7 |
22:36 |
VanessaE |
that's debian for you :P |
22:36 |
TBC_x |
VanessaE: Don't you have any machine with bleeding edge distro? |
22:37 |
VanessaE |
TBC_x: nope. |
22:40 |
TBC_x |
gonna leave valgrind running overnight to get some report, getting 1000 drawtime so you can imagine how long it takes to generate a mesh, hopefully I'm not wasting time |
22:41 |
VanessaE |
wow good luck :) |
22:47 |
|
Fritigern joined #minetest-dev |
23:21 |
|
leat1 joined #minetest-dev |
23:37 |
|
ottodachshund joined #minetest-dev |
23:39 |
|
luizrpgluiz left #minetest-dev |
23:51 |
|
sloantothebone joined #minetest-dev |