Time |
Nick |
Message |
01:12 |
|
cy1 joined #minetest-dev |
03:58 |
|
SpeedProg joined #minetest-dev |
04:40 |
|
kotolegokot joined #minetest-dev |
06:16 |
|
jin_xi joined #minetest-dev |
06:19 |
|
sfan5[iPod] joined #minetest-dev |
06:20 |
sfan5[iPod] |
umm.. is my pull request going to get merged? |
06:25 |
|
OldCoder joined #minetest-dev |
07:31 |
|
kotolegokot_ joined #minetest-dev |
09:30 |
|
Calinou joined #minetest-dev |
09:32 |
celeron55 |
sfan5|OFF: it will be looked at |
09:35 |
|
rsiska joined #minetest-dev |
11:13 |
|
toabi joined #minetest-dev |
13:05 |
sfan5 |
celeron55: good |
13:11 |
sfan5 |
https://github.com/celeron55/minetest/pull/360 @thexyz @celeron55 |
13:11 |
sfan5 |
i added a commit |
13:16 |
|
doserj joined #minetest-dev |
13:22 |
|
rsiska joined #minetest-dev |
14:21 |
thexyz |
sfan5: nice, now rebase your changes into single commit |
14:21 |
sfan5 |
ok |
14:22 |
celeron55 |
did somebody look into whether the findcurl.cmake script looks similar to the already working ones? |
14:36 |
|
PilzAdam joined #minetest-dev |
14:43 |
sfan5 |
celeron55: it looks similar to findvorbis.cmake |
14:45 |
thexyz |
>if(NOT GP2XWIZ) |
14:45 |
thexyz |
wtf |
14:47 |
thexyz |
is minetest expected to work on this one? |
14:57 |
sfan5 |
thexyz: "Tweak CMake Files fur Curl" is that a good commit message? |
14:59 |
thexyz |
s/fur/for, and why do you start each word with capital letter? |
14:59 |
PilzAdam |
s/Curl/cURL |
15:00 |
PilzAdam |
s/Files/files |
15:12 |
darkrose |
sed: -e expressesion: unterminated `s' command |
15:16 |
thexyz |
s/$/\// |
15:17 |
VanessaE |
thexyz: use colons in that case. |
15:17 |
VanessaE |
s:$:/: |
15:17 |
VanessaE |
less typing. |
15:19 |
thexyz |
darkrose: are you familiar with cmake? |
15:20 |
darkrose |
no, I'm one of those insane people that write makefiles from scratch |
15:21 |
darkrose |
... which might actually be easier than messing with cmake |
15:22 |
celeron55 |
writing makefiles from scratch is the best way if you only support make |
15:22 |
celeron55 |
i do that too |
15:22 |
celeron55 |
minetest just has a history of supporting visual studio too, so this his how we do it then |
15:32 |
thexyz |
> almost forgot it, celeron55, anything else about my .ttf patch? |
15:36 |
sfan5 |
merge request: https://github.com/celeron55/minetest/pull/360 |
15:38 |
sfan5 |
@thexyz |
15:45 |
thexyz |
https://github.com/celeron55/minetest/pull/349 |
15:45 |
thexyz |
is there any reason this one should not be merged? |
15:48 |
celeron55 |
just commented on it |
15:57 |
sfan5 |
can somebody merge/comment (on) my pull request? |
16:32 |
|
doserj joined #minetest-dev |
16:41 |
|
celeron55_ joined #minetest-dev |
16:46 |
|
hmmmm joined #minetest-dev |
16:57 |
|
Calinou joined #minetest-dev |
17:01 |
thexyz |
celeron55_: attachment system now causes awful glitches, how about disabling it until solution is found? |
17:02 |
VanessaE |
<PilzAdam> Noooo!! carts/boats! |
17:02 |
VanessaE |
:-) |
17:02 |
thexyz |
it's awful |
17:02 |
VanessaE |
actually I'd favor disabling that code as well - it just gets weird at times on my server |
17:03 |
VanessaE |
people wearing cobblestone, carts, etc. |
17:03 |
PilzAdam |
I would prefer to fix it |
17:03 |
thexyz |
PilzAdam: then do it! |
17:04 |
thexyz |
or try to make Taoki to fix it |
17:04 |
celeron55 |
we need to figure a way of even finding out what the problem is |
17:05 |
celeron55 |
it's likely something about object ids |
17:05 |
thexyz |
and how to reproduce it, in the first place |
17:06 |
|
Calinou joined #minetest-dev |
17:10 |
celeron55 |
actually i think i have a good guess of what it is - it is the way active object ids are generated |
17:11 |
celeron55 |
it didn't get changed when attaching was added |
17:16 |
celeron55 |
a test case would be highly useful though |
17:17 |
celeron55 |
but i'll make a patch for someone to try on a server |
17:18 |
thexyz |
ok, i can ask my users to test it |
17:20 |
celeron55 |
it's a server-side fix |
17:20 |
thexyz |
s/ask/make/ |
17:21 |
VanessaE |
best test I've seen is having PilzAdam or thexyz's signs mod and place several in an area where there's a lot of conifers leaf decay |
17:21 |
VanessaE |
almost invariably, some dropped "leaves" will end up stuck to one of the signs. |
17:21 |
celeron55 |
http://paste.dy.fi/YuW |
18:10 |
thexyz |
wouldn't it be better to store all "available" ids in std::set? |
18:12 |
celeron55 |
it gains nothing |
18:14 |
celeron55 |
also, for attachments to actually work flawlessly, we should actually have like 64 bit ids so they can't ever get reused in practice |
18:14 |
celeron55 |
and they should be world-global... but, that is hard |
18:15 |
celeron55 |
well, not very hard, but it's out of scope of this fix |
18:15 |
|
rubenwardy joined #minetest-dev |
18:19 |
|
rubenwardy joined #minetest-dev |
18:20 |
thexyz |
in theory, it can take up to 65535 operations just to calculate new id for object; that's not very high number, but with set nothing will be worse |
18:21 |
hmmmm |
what... |
18:21 |
hmmmm |
adding new IDs to objects only happens once in a blue moon at startup |
18:21 |
hmmmm |
the benefit there would be next to nil |
18:21 |
thexyz |
really? |
18:22 |
thexyz |
well, then forget it |
18:23 |
thexyz |
(i thought we can create new objects by simply dropping out something) |
18:23 |
celeron55 |
to exaggerate a bit, that functions like the least called piece of code in minetest |
18:23 |
celeron55 |
-s |
18:23 |
celeron55 |
+is |
18:24 |
celeron55 |
it only is called once if a new object is loaded or created |
18:24 |
celeron55 |
*anything* else happens more often :D |
18:25 |
celeron55 |
and with the next id thing, it's very unlikely to ever have to try any extra ids |
18:26 |
hmmmm |
https://github.com/kwolekr/minetest/commit/e786c8f35fa54fdaa0711a1254dea0625e0ab645 |
18:26 |
hmmmm |
I committed up to what i did now ;; |
18:27 |
hmmmm |
oh shoot, that reminds me.. how do you want me to report errors in calling the Lua api |
18:27 |
thexyz |
great |
18:27 |
hmmmm |
according to the rest of the code it seems like you just silently ignore it |
18:27 |
celeron55 |
maybe you should make a separate commit of all the whitespace fixes 8) |
18:27 |
hmmmm |
dude i can't help it it's friggin' codeblocks |
18:27 |
hmmmm |
on my last installation it didn't do that |
18:28 |
celeron55 |
the thing it does is perfectly right, but it doesn't really belong in the same commit as actual code |
18:28 |
hmmmm |
like maybe if I could force it to all of the whitespace fixing all at once that'd be great but i have no idea how to do that |
18:29 |
celeron55 |
i guess you need to manually save all the files |
18:29 |
celeron55 |
:P |
18:29 |
hmmmm |
no not only that, it only seems to "fix" it when i modify code in the surrounding arear |
18:29 |
hmmmm |
area* |
18:30 |
celeron55 |
well, let's not care about it then |
18:30 |
hmmmm |
anyway as you can see for reporting errors i just have placeholder stuff such as printf("blahblahblah\n"); and the like |
18:30 |
hmmmm |
so like, should i print it in the infostream, errorstream, silently ignore it? |
18:31 |
celeron55 |
well, at least print it to the real log streams rather than stdout/stderr |
18:32 |
thexyz |
it's awesome how fast it is |
18:32 |
hmmmm |
98% of the slowness is caused by lighting updates |
18:32 |
hmmmm |
if you want it to go faster, that's what you need to fix |
18:32 |
hmmmm |
but |
18:33 |
hmmmm |
I can make the perlin noise functions even faster |
18:33 |
celeron55 |
(if you prefer the printf way, there is LOGLINEF() in log.h) |
18:34 |
celeron55 |
i don't know about failing... if the code *can* continue, i guess it should just continue, logging errors while doing it |
18:34 |
hmmmm |
each octave requires redundant noise calculations.. if i calculate the last octave with the least "spread" (the most noise points), i can just take the 1/(2^(n-k))th point |
18:34 |
celeron55 |
if it can't, just throw some exception |
18:34 |
celeron55 |
(that is, abort the thing) |
18:34 |
hmmmm |
as the number of octaves gets arbitrarily large, i'd be saving 1/4 + 1/8 + 1/16 + ... + 1/2^n = 1/2 calculations |
18:34 |
celeron55 |
(gracefully) |
18:35 |
celeron55 |
hmmmm: don't over-optimize without reason 8) |
18:35 |
hmmmm |
oh god |
18:35 |
hmmmm |
and i didn't even put in the SSE code yet |
18:35 |
hmmmm |
that'd make it 4x as fast |
18:35 |
hmmmm |
and then the multithreading would be a huge boost too |
18:35 |
celeron55 |
you can get to that once other things are made faster |
18:35 |
hmmmm |
at this point i'd have to say that perlin noise is practically free |
18:35 |
celeron55 |
and once it actually is in use rather than being a prototype |
18:42 |
hmmmm |
indeed.. gotta polish this |
18:44 |
hmmmm |
calculating an 80x80 sized block takes 1124 microseconds with only -O1 and lots of fluff surrounding it... so an 80x80x80 sized chunk (that's 5 blocks in each direction being generated at once) in theory takes 89920 microseconds, so like 90ms to gen a 3d chunk |
18:44 |
hmmmm |
and then with -O2 or -O3 that might be more like 50ms |
18:45 |
celeron55 |
what i'm really looking for now is to get the output of the generator way past the current one in interestingness |
18:46 |
hmmmm |
what, you mean mine? of course, it's a work in progress |
18:46 |
celeron55 |
i mean, compared to what shipped with 0.4.4 |
18:46 |
hmmmm |
I have some ideas on how to make those neat looking cliffs like in minecraft |
18:46 |
hmmmm |
oh |
18:47 |
hmmmm |
well anyway i came up with an idea of how to do the Nether without 3d noise, which basically consists of calculating 6 2d noise maps, one for each wall, and perhaps another one to calculate other related parameters |
18:47 |
celeron55 |
minetest 0.3 generated terrain from 3D noise, which can make stuff like this: http://wiki.minetest.com/wiki/File:Minetest_mapgen5_funky.jpeg |
18:47 |
celeron55 |
or, well, generates |
18:48 |
celeron55 |
hmmmm: that sure isn't hard - now try to generalize it somehow 8) |
18:49 |
hmmmm |
still working on that, yeah |
18:49 |
hmmmm |
at the moment i want to make my mapgen actually look okay |
18:49 |
celeron55 |
and by the way, your mapgen is called mapgen v7 8) |
18:49 |
hmmmm |
v7 |
18:49 |
hmmmm |
the land of cliffs everywhere |
18:49 |
hmmmm |
and water overflowing land and then getting stuck |
18:49 |
celeron55 |
(the current one is v6) |
18:51 |
hmmmm |
yeah that's a problem i'd say - when you have a flood going on, what happens is that the water source blocks cut off after a certain length and then the water flowing blocks start cutting down at a 45 degree angle |
18:52 |
hmmmm |
from what I've seen in videos of minecraft, if there's some critical mass of water next to air, what it'll do is flood fill the gap |
18:52 |
hmmmm |
i am not exactly sure how to do that |
18:53 |
celeron55 |
fast 3d noise would be very useful |
18:54 |
celeron55 |
it's so convenient |
18:54 |
hmmmm |
http://www.youtube.com/watch?feature=player_detailpage&list=PLvh8CGg6LWwqcebmuPL36z7UFp_aRFHlH&v=bi80MBXIAu4#t=967s |
18:55 |
Calinou |
it should be called mapgen 6.1 |
18:55 |
Calinou |
do like windows |
18:55 |
Calinou |
:> |
18:57 |
hmmmm |
i plan on using 3d noise for the aether biome which basically consists of blobs of land floating at +4000 along with puffs of cloud blocks |
18:59 |
celeron55 |
i think 3d noise should be used for mountains too, and large caves |
19:00 |
celeron55 |
voxels generated from 2d noise, even with fancy tricks, lack the soul of well used 3d noise 8) |
19:01 |
celeron55 |
it's a tricky subject though, and especially just throwing perlin noise at something isn't going to get oneself too far |
19:01 |
celeron55 |
needs special kind of skill and creativity |
19:01 |
celeron55 |
and optimization |
19:03 |
celeron55 |
especially it's interesting how a human can see the general characteristics of 3d noise manipulated by linear and non-linear operations |
19:04 |
celeron55 |
you get bored to things, even while on a level of a bunch of voxels they are very complicated |
19:05 |
celeron55 |
also it is tricky to get meaningful variation on the level of individual voxels |
19:08 |
hmmmm |
http://images.wikia.com/randomstuffstuff/images/8/84/Minecraft_2.jpg |
19:08 |
hmmmm |
any ideas on how to replicate that |
19:08 |
hmmmm |
lol |
19:09 |
|
rubenwardy left #minetest-dev |
19:09 |
celeron55 |
notch is a wizard when it comes to generation of voxel landscapes |
19:09 |
celeron55 |
he screwed it up somewhat in newer versions |
19:09 |
celeron55 |
but minecraft alpha is full of awesomeness |
19:09 |
hmmmm |
i mean look at the sharp ridge, you can clearly see that outgrowth from the mountain was generated by a 2d noise map on top and then another on the bottom with a slightly different seed and less height |
19:09 |
hmmmm |
is that minecraft alpha? *shrug* |
19:09 |
celeron55 |
no that isn't |
19:10 |
celeron55 |
the landscape has some of the same characteristics though |
19:10 |
hmmmm |
I never even played it to be honest, the whole reason why I came to minetest was because it actually worked on my platform |
19:10 |
celeron55 |
i can tell that is some kind of 3d noise trickery |
19:10 |
hmmmm |
perhpas |
19:10 |
hmmmm |
perhaps* |
19:10 |
celeron55 |
you can tell it from the volumenous characteristics of everything |
19:10 |
hmmmm |
alright so how about this |
19:11 |
hmmmm |
i add the height interpolation between biomes, clean up everything else, class-ify the old mapgen and readd that |
19:11 |
hmmmm |
and then we both work from there |
19:11 |
hmmmm |
on making the new mapgen more interesting like in the picture |
19:12 |
celeron55 |
sounds like you making fast noises for me to use all the CPU in creative ways |
19:12 |
celeron55 |
= fun! |
19:12 |
celeron55 |
:D |
19:12 |
hmmmm |
yeah... the new noise implementation solves the problem of duplicated work now that the result is stored in an array |
19:12 |
celeron55 |
i have attempted to mimick notch's things even by sacrificing all performance, but i haven't been too succesful |
19:13 |
hmmmm |
because i noticed that often in the old mapgen you'd calculate the same exact noise twice or even three times |
19:14 |
hmmmm |
you know, I'm going to add new noise functions so you can change the spread factor and number of octaves after creation of the noise object (both of which require buffer reallocations) |
19:14 |
hmmmm |
let me do that right now. |
19:15 |
celeron55 |
there is one thing we can do with this 80x80x80 chunk generation that minecraft can't |
19:15 |
celeron55 |
it's called shameless non-linear generation of things under the size of 80x80x80 8) |
19:15 |
celeron55 |
and aligned inside them |
19:15 |
celeron55 |
i'll be looking into higher-than-sea-level lakes |
19:16 |
celeron55 |
some day, maybe |
19:17 |
celeron55 |
afaik minecraft still doesn't have anything larger of those things than tiny 8x8ish ponds |
19:18 |
hmmmm |
oh gosh, really? my mapgen makes huge lakes naturally |
19:18 |
celeron55 |
of many water levels? |
19:19 |
hmmmm |
well by default it goes to -12 + noise variation with a scale of 10 |
19:19 |
celeron55 |
i mean, it's easy to make "oceans" (that is, a fixed water level everywhere), but making "lakes", that is, water that is "reasonable surface pockets in the ground at upper levels than the sea" is hard |
19:20 |
hmmmm |
i originally intended to add a lake biome that has a higher offset than the ocean does |
19:20 |
celeron55 |
well, yeah, but it looks horrible as is and i don't know if what you currently have for that is a good starting point |
19:20 |
hmmmm |
and less scale too |
19:20 |
hmmmm |
I think it is, i had an idea going into all of this |
19:21 |
celeron55 |
we'll see |
19:21 |
hmmmm |
but it definitely needs tuning |
19:21 |
hmmmm |
that's pre-alpha quality crap |
19:21 |
hmmmm |
i feel quite embarassed even showing other people it |
19:36 |
BackupCoder |
hmmm I assume you can see this show the stuff so we can decide for ourselves |
19:36 |
thexyz |
celeron55: just fyi, i've just switched api site to point to mediawiki-based one |
19:41 |
BackupCoder |
site is nice |
19:55 |
celeron55 |
thexyz: i was wondering when you'd do that 8) |
20:00 |
|
jin_xi joined #minetest-dev |
20:30 |
VanessaE |
celeron55: per pilzadam's suggestion I put up a straw poll re: mese, you may have seen it. |
20:30 |
VanessaE |
http://minetest.net/forum/viewtopic.php?id=4134 |
20:32 |
celeron55 |
i have to say i like the results 8) |
20:32 |
celeron55 |
they look like the thoughts in my head |
20:36 |
VanessaE |
omg |
20:36 |
VanessaE |
we agree on something???? |
20:36 |
* VanessaE |
falls over, dead |
20:36 |
VanessaE |
*twitch* |
20:47 |
VanessaE |
*twitch* |
21:39 |
Taoki |
thexyz: What is wrong with attachments? I'm not aware of any major glitches |
21:40 |
Taoki |
And IMO disabling them would be very bad. But if there are problems mods should be careful with them |
21:40 |
VanessaE |
Taoki: entities attach to each other randomly, or to players, or players to entities e.g. thexyz or pilzadam's signs (and then the player can't mode) |
21:40 |
VanessaE |
(move*) |
21:40 |
celeron55 |
thexyz: any initial results of the patch? |
21:41 |
Taoki |
VanessaE: The only way that could happen is if the ID of a CAO is not the same as its SAO variant, which would be very odd. Also, I never seen that problem personally |
21:41 |
Taoki |
Nor could imagine what in my code could cause it based on what I remember |
21:45 |
Taoki |
Erm, why do upside-down stairs and slabs have to be registered as different nodes? Isn't it possible to just rotate the nodebox and only define them as one node? |
21:45 |
Taoki |
That sounds most normal and consistent IMO |
21:46 |
celeron55 |
the situations are complicated enough to make describing possible test cases from the top of my head impossible |
21:46 |
celeron55 |
but the reused sao ids can cause it |
21:46 |
celeron55 |
i have made a patch for thexyz for testing |
21:47 |
Taoki |
ok. Nothing I can think of in my code should be it. Whenever an attach call is made, the client uses getCAO(parent's_id) |
21:47 |
Taoki |
So only if that fails I could imagine the problem |
21:53 |
hmmmm |
alright how about this |
21:54 |
hmmmm |
i make mapgen.cpp contain the emergemanager and other assorted common routines shared between all of them |
21:54 |
hmmmm |
i split off the current mapgen into mapgen_v7.cpp, put 0.4's mapgen in mapgen_v6.cpp, and then bring mapgen v5 back with mapgen_v5.cpp |
21:55 |
hmmmm |
mapgen_v6 will be the default, but can be set in the config file, and which version mapgen is being used to generate the map is added in map_meta.txt |
21:56 |
Taoki |
celeron55: Is the huge trees mod going to become default anytime? I love what RBA did with them :D |
21:56 |
hmmmm |
it's not going to be a mod |
21:58 |
Taoki |
Can't wait for the mapgen stuff too :) |
21:58 |
VanessaE |
hmmmm: +1 if by "current" you mean the mapgen you've been working on |
21:59 |
|
doserj joined #minetest-dev |
22:33 |
|
rsiska joined #minetest-dev |