Time Nick Message 06:20 sfan5[iPod] umm.. is my pull request going to get merged? 09:32 celeron55 sfan5|OFF: it will be looked at 13:05 sfan5 celeron55: good 13:11 sfan5 https://github.com/celeron55/minetest/pull/360 @thexyz @celeron55 13:11 sfan5 i added a commit 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: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? 17:01 thexyz celeron55_: attachment system now causes awful glitches, how about disabling it until solution is found? 17:02 VanessaE 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: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: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 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: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