Time  Nick         Message
00:13 Exio         http://stackoverflow.com/questions/1020132/how-to-reverse-apply-a-stash ?
00:13 Exio         :P i don't know really
00:13 hmmmm        nah i got it
00:13 hmmmm        i'm just disappointed that it screwed my stuff up
00:19 RealBadAngel hunted down another bug (in my code) Die you scum! Die!
00:19 RealBadAngel took me 2hrs
00:20 RealBadAngel all because lua indexes starts with 1, not 0
00:20 hmmmm        you knew that already, right?
00:21 RealBadAngel yup but when you need to juggle all the time with +1 -1
00:21 RealBadAngel and this is spreaded around big module, one missing + or minus messed all around
00:22 RealBadAngel this particular one popped up when i flipped pages
00:22 hmmmm        gak
00:22 hmmmm        i screwed up caves horribly
00:22 RealBadAngel why so?
00:22 hmmmm        they're just completely different
00:23 RealBadAngel does they still look cavish?
00:23 hmmmm        of course, but they're just too different
00:23 RealBadAngel you mean alien caves?
00:23 hmmmm        lol
00:24 RealBadAngel make a screenshot
00:24 RealBadAngel if they just look a bit different its ok
00:24 RealBadAngel imho
00:25 hmmmm        it's not okay, a code cleanup shouldn't change the functionality
00:25 RealBadAngel start from that code was not ok
00:25 RealBadAngel it was commented out to be horribly
00:26 hmmmm        i have a feeling that i screwed up the blockseed somehow
00:26 RealBadAngel you messed with it, that may be true
00:26 hmmmm        ah
00:26 hmmmm        okay
00:26 hmmmm        i found the problem, christ i'm dumb
00:26 hmmmm        heh :)
00:27 Exio         what was it? :P
00:27 RealBadAngel most of errors are dumb
00:27 RealBadAngel from definition lol
00:27 hmmmm        i made blockseed into a member of MapgenV6
00:27 hmmmm        but i forgot to remove the variable declaration "u32" from where blockseed is assigned
00:28 hmmmm        so therefore only that local variable was getting assigned blockseed, and the member 'blockseed' was 0
00:28 RealBadAngel when something goes wrong its a good practice at the starting point of the function to dump all the incoming values
00:29 hmmmm        yeah.. that's not practical at all with this stuff
00:29 hmmmm        there are too many variables to keep track of
00:29 RealBadAngel doesnt matter, i dump them all and check
00:31 hmmmm        well
00:31 hmmmm        the trees are still different
00:31 hmmmm        that much was unavoidable, and people probably don't care that the trees are in the same exact spot though
00:32 RealBadAngel since theyre plants, theyrer chaotic
00:32 proller      first try to make more different world at edges - https://github.com/proller/minetest/commit/b73277b6afe12f71a1552e19c8e5204b5b435093 - stupid but works
00:32 RealBadAngel so doesnt matter
00:33 RealBadAngel i was against even to add seed for trees
00:34 proller      teleport to 30000 and can find 200+ mountain, but ~same heights at 0-5000
00:34 hmmmm        well the only thing the tree seed does is adds consistency for height and exact leaf positioning
00:35 RealBadAngel which is not important imho
00:35 hmmmm        proller by the way, were you ever able to find the solution to json
00:35 RealBadAngel but nvm
00:35 proller      solution of what ?
00:36 hmmmm        you remember how we weren't able to use the system version of the library because of the unresolved function
00:36 hmmmm        well not we, that one guy
00:37 proller      it was strange bug, i cant repeat
00:38 hmmmm        i want to be able to use the system json library too
00:38 hmmmm        that was only a temporary fix for that problem
00:39 proller      there are several json libs
00:39 proller      and no standard system json lib
00:40 hmmmm        are they all API compatible?
00:41 proller      no
00:41 hmmmm        welp
00:43 RealBadAngel well, i got all GUI elements workin, lets dial
00:43 RealBadAngel chevron seven locked :)
00:43 hmmmm        do you have a dhd?
00:43 RealBadAngel i was thinkin about adding it
00:43 hmmmm        we're gonna need that
00:44 hmmmm        and an event horizon perhaps
00:44 RealBadAngel this we already have
00:44 hmmmm        err
00:44 hmmmm        i mean iris
00:44 RealBadAngel good idea
00:45 hmmmm        i really like that stargate thing for a couple of reasons, the biggest being we need a convenient way to get around maps, another is that i like stargate
00:45 RealBadAngel me too, i do have all episodes here
00:45 RealBadAngel ALL of them
00:45 hmmmm        watched all episodes twice
00:45 RealBadAngel sg1, atlantis, universe
00:45 RealBadAngel and 3 movies
00:45 hmmmm        also speaking of teleportation, we need enderballs at some point...
00:46 hmmmm        oh, yeah, never got into atlantis or universe
00:46 hmmmm        i heard universe sucks
00:46 RealBadAngel what/??
00:46 RealBadAngel its different yes
00:46 RealBadAngel but ROCKS!
00:46 RealBadAngel sg1 was more into mcgyvers style
00:47 RealBadAngel universe on the other hand is more brutal and into realism
00:47 hmmmm        i heard universe was more like a drama and there were elements of romance too
00:47 RealBadAngel dont listen, watch it dammit
00:48 RealBadAngel its definitely worth it
00:51 RealBadAngel HA!
00:52 hmmmm        ha ha
00:52 RealBadAngel was workin a few days to insert this line:
00:52 RealBadAngel activateGate (player,gate["pos"])
00:52 RealBadAngel it works!
00:55 RealBadAngel nothin compares to the feelin when somethin starts to work as intended to
00:55 hmmmm        except when it works the first time you try it
00:55 RealBadAngel yeah!
00:56 RealBadAngel now just save it and let abm work
00:59 hmmmm        uwaahh!  i changed my mind on passing node_min and node_max as parameters
01:37 hmmmm        wow!  https://github.com/kwolekr/minetest/commit/d10223254ab9363eb1b6f8cc7aa6b99965940cee
01:37 hmmmm        i feel like i accomplished something today
01:42 hmmmm        well nevermind that commit page, just look at the file now, in particular makeChunk():  https://github.com/kwolekr/minetest/blob/master/src/mapgen_v6.cpp#L330
01:42 hmmmm        isn't that neat?
01:45 Exio         too clean
01:46 hmmmm        i didn't clean up cave generation code or flowMud, i'll do those doozeys later...
01:53 RealBadAngel haha too nice and too clean ;)
01:54 RealBadAngel but a whitespace at least somwhere
01:54 RealBadAngel *put
04:54 hmmmm        i don't think the current lighting update can be salvaged
04:54 hmmmm        i'm going to come up with something new that doesn't do as much work
07:37 thexyz       hmmmm: yeah, that's me
10:51 celeron55    i'd understand a space after if, if the brackets after if were optional
10:51 celeron55    same goes for for and others
10:52 celeron55    i guess to me a bracket seems to be mostly a space, with some extra meaning
10:52 celeron55    in that case
10:53 celeron55    i mean, seriously, why does if, for and while require brackets, while return does not? it surely is because they're intended to look a bit like functions
10:55 celeron55    dunno why return shouldn't look like a function though; it's so random i don't feel like i should have any consistency either
11:43 thexyz       how's that possible? http://i.imgur.com/n0PakMd.png
11:44 thexyz       accidentally placed sand node inside a tree while moving
11:44 thexyz       *fastmoving
12:49 proller      thexyz, http://www.roadsideamerica.com/attract/images/wa/WAVASbike_kevf.jpg
13:25 hmmmm        i think i have a good way to do the lighting..
13:27 hmmmm        going to need to do a lot of profiling though.  it does everything in the same routine for one, all in the same iterations, eliminating the need for storing literally millions of entries in light_sources
13:29 hmmmm        i'll do propogateSunlight in some manner like this:  i create a new MapNode array and do computations on this instead, i will construct it transposed on the y axis, then when i'm done, i set VoxelManipulator::m_data to this.
13:29 hmmmm        also since the vertical entries will be next to eachother i'll be able to do SSE computations too
13:30 hmmmm        as for the blend, i'll transpose the matrix for each direction, +-x, +-y, +-z so i maximize cache coherence
13:30 hmmmm        even though it's a crazy amount of iterations, i think all that will make up for it
13:30 hmmmm        and it's not doing any crazy recursion or skipping around the array
13:31 hmmmm        s/blend/spread/
14:15 RealBadAngel lol @ both pictures above
14:15 RealBadAngel hi folks
14:16 thexyz       anyone working on the "Too many vertices" error?
14:18 RealBadAngel yes
14:18 RealBadAngel i got the fix working
14:18 thexyz       are you going to send pull request?
14:18 RealBadAngel its related to 6d facedir and will be pulled together
14:19 thexyz       how's that related?
14:19 RealBadAngel same file, i modified functions around
14:19 RealBadAngel so i keep the fix in the very same tree
14:20 thexyz       is 6d facedir ready?
14:20 RealBadAngel basically yes, im testing just textures for nodeboxes
14:21 RealBadAngel this part is heavily modified and one thing popped up by the way
14:21 RealBadAngel thx to my modifications texturing each box in nodebox became easy
14:23 thexyz       oh, so you also implemented that
14:23 thexyz       good
14:23 RealBadAngel i rewrote whole part responsible for that
14:24 RealBadAngel i would be called stupid if i didnt noticed such opportunity
14:25 RealBadAngel each box is calling my rewrote func to get a tile
14:25 RealBadAngel so i just thought why not? :)
14:27 RealBadAngel but since those changes are heavy, i want to test them before pushing
14:27 RealBadAngel one thing is known already, atlas is history
14:28 thexyz       did you push them somewhere?
14:28 RealBadAngel 6dfacedir alone is on my git
14:29 RealBadAngel without texturing nodeboxes
14:29 RealBadAngel ah, i shall ask for one thing
14:29 thexyz       no such branch on github
14:29 RealBadAngel hold on
14:30 RealBadAngel damn, i overwrote it
14:31 RealBadAngel i will make new branch later today
14:31 thexyz       ok
14:31 RealBadAngel back to the problem
14:31 RealBadAngel old facedir was counter clock wise
14:31 RealBadAngel so i used the same way for all another dirs
14:32 RealBadAngel but maybe it shall be done clock wise on axis+ and counter on axis -
14:33 RealBadAngel or vice versa, since y+ is counter clock wise already
14:34 RealBadAngel khonkortisan raised that problem
14:35 RealBadAngel no problem for me to do that, just rearange rotation table
15:02 RealBadAngel bbl
15:03 proller      config:  mg_flags = trees, caves, v6_biome_blend, dungeons
15:03 proller      map_meta.txt : mg_flags = trees, caves, v6_biome_blend
15:03 proller      dungeons lost
15:44 proller      hmmmm, PilzAdam https://github.com/minetest/minetest/pull/543
15:47 hmmmm        ehh, proller, that's not going to be added
15:47 hmmmm        it fundamentally changes the design of everything
15:47 PilzAdam     its interesting, though
15:47 hmmmm        perhaps so..
15:47 hmmmm        but it's definitely not mainstream
15:47 hmmmm        sorry proller
15:48 celeron55    a thing to do though is noise parameters modified by other noises
15:49 hmmmm        you've said that before, but it's not possible with noise maps
15:49 proller      maybe with default 1 everywhere ?
15:49 hmmmm        and it's more of a feature for mapgen v7
15:49 proller      iw anybody wants - he set manually to X
15:49 hmmmm        mapgen v6 is set in stone, functionally it shall not be modified
15:49 celeron55    i don't care about if it's possible in some implementation; i care about that it allows to make very awesome terrain relatively efficiently
15:50 hmmmm        if anybody makes any changes to mapgen v6, it cannot modify the placement of big large features
15:50 proller      with this pull you can find 200+ mountains at edges, and look down to clouds
15:50 hmmmm        like terrain, caves, tree positioning even
15:50 celeron55    just make a new mapgen
15:51 hmmmm        again, it's for a different mapgen
15:51 hmmmm        can't change this one in functionality
15:51 hmmmm        i'm sorry but that's just how it is
15:51 celeron55    don't expect to get it upstream anytime soon, but if it's good, people will contribute to it and eventually it might be the next one
15:51 celeron55    the next useful mapgen is what everyone is looking towards anyway
15:52 celeron55    (one of the things)
15:52 hmmmm        right now i'm not worrying about that, i just want it be sufficiently fast.  and the only way that's happening if i fix the lighting
15:52 celeron55    also, not modifying the mapgen is actually a policy that can either be used or not - it seems hmmmm thinks it should be used
15:53 hmmmm        literally all of my changes to the mapgen have not impacted its generation results
15:53 celeron55    maybe we should have an officially in-development mapgen (even a copy of v6) that can be modified more freely
15:53 celeron55    actually, i think that's the perfect idea
15:53 celeron55    put such in upstream and make sure people know that it is going to change completely freely
15:54 hmmmm        fine, it'll be called experimental
15:54 celeron55    "indev" could be an another suitable name
15:54 hmmmm        that too
15:54 hmmmm        ugh
15:54 celeron55    throw a coin :D
15:55 hmmmm        proller, about dungeons becoming 'lost', did you enable them after you made the map you were playing?
15:55 hmmmm        once you create a map with certain flags or parameters, they cannot be changed without modifying map_meta.txt manually.  this is 100% intentional and proper behavior.
15:56 proller      i delete old world
15:56 proller      now will try third time
15:56 celeron55    maybe proller can make a pull request of a mapgen called "experimental"? (i'll let hmmmm to decide on any possible details to be taken care of)
15:57 hmmmm        yes, that would be good, but he wants to modify the NoiseParams structure
15:57 hmmmm        which i don't want
15:58 hmmmm        i am not sure what rangescale does, but the modification to Noise::transformNoiseMap() completely throws things off
15:58 hmmmm        and does something completely different from what the name implies
15:59 celeron55    make a new experimental noise class then 8)? maybe something that allows all kinds of fancy things at the cost of performance doing simple things
15:59 hmmmm        it's supposed to be a transform of the noise map - translation and scaling, not rotation however (that would be much too difficult and inefficient)
15:59 proller      if rangescale != 1 - it modifying scale param
15:59 hmmmm        the experimental noise class would be part of the experimental mapgen
16:00 celeron55    "range scale" is not really good though; i suggest heading straight to noise-modifiable noise parameters
16:00 celeron55    it's more scalable
16:00 hmmmm        if a modification to noise functions is necessary, i'd say keep it all in the mapgen_indev.cpp file
16:01 hmmmm        you can quite readily extend and modify the existing noise functions just fine - there's a reason why none of the members in any of my classes are private
16:01 hmmmm        you need control over what you're extending?  you've got it
16:01 celeron55    it would generally probably be a good idea to just s/private/protected/g any classes anyway...
16:02 hmmmm        class visibility is a sham.  it's completely unnecessary.  the reason why it exists is because it fits the corporate business model of limiting the damage any one coder can do
16:02 celeron55    true
16:02 hmmmm        i don't believe any of us here are incompetent, so it's okay
16:02 proller      make copy of mapgen_v6.cpp -> mapgen_indev.cpp ?
16:02 hmmmm        yes
16:03 celeron55    i believe we all are incompetent, but by peer-review bad stuff gets caught 8)
16:03 hmmmm        and put your extended noise functions in there too while preserving the functionality of the original ones
16:03 celeron55    (and we don't need to ship perfect quality)
16:03 proller      ok, will try
16:03 hmmmm        for example your version of Noise::transformNoiseMap() should be something like Noise::transformNoiseMapRS() or whatever
16:04 proller      and i want to try make something like floatlands in core, and huge caves
16:04 proller      hmmmm, щл
16:04 proller      ok
16:04 hmmmm        and have NoiseParamsRS be a derived struct from NoiseParams
16:04 hmmmm        that's the right way to do things without messing up already existing structures
16:04 celeron55    proller: you may want to look at mapgen v5 in 0.3
16:05 hmmmm        celeron, now when you say modify perlin noise parameters by perlin noise, which parameters are you speaking of in particular?
16:06 hmmmm        scale, offset, persistence, are fine and can be tacked on with relatively little difficulty, but spread factor and number of octaves is much more difficult
16:06 celeron55    persistence is most useful
16:06 celeron55    with a factor plus limits
16:06 celeron55    added to it, that is
16:07 hmmmm        anyway that was something i planned on adding to V7
16:07 celeron55    doing it for scale allows kind of a hugely large or hugely small bunch of "octaves" to be added
16:07 celeron55    it's not as useful
16:07 hmmmm        i was just pointing out that it's not currently possible to do what you are saying with the existing noise functions
16:07 celeron55    ehm... not scale
16:08 celeron55    wait...
16:09 celeron55    hmm yes, i meant persistence like i said
16:09 celeron55    but the thing about scale was wrong; i meant offset in that
16:11 celeron55    doing it for scale is minorly useful too; it's not such a magic wand as limited persistence modification is, but for a real "noise artist" it is a useful tool like for offset too 8)
16:18 proller      hmmmm, it completely ignores flags for mapgen from config
16:18 proller      but uses server_name = and other flags
16:19 proller      and ignore water_level =
16:19 hmmmm        yeah i'll check it out
16:20 proller      thank you
16:21 hmmmm        by the way, for newer mapgens I want there to be a "blockseed2", sort of like "sha-1" and "sha-2"
16:21 hmmmm        except it'll have the same number of bits.  the difference will be the manner in which it's derived
16:22 celeron55    oh god i hate systemd and it's default core dumping behaviour
16:22 celeron55    it hides them... somewhere, instead of just handily saving them to the directory i'm running stuff in
16:22 hmmmm        the current blockseed is pretty unacceptable since it's hardly random at all.  for example, if your map seed happens to be an even number, all "if (blockseed % 2 == 0)" will always execute, and vice versa
16:23 celeron55    as if the main usage for core dumps would be to analyze some globally installed system programs ran as root...
16:28 celeron55    apparently "sudo systemd-coredumpctl gdb <pid>" will start a gdb on it... except that all of these are truncated; well shit; why does it generate a core dump when i have ulimit -c 0? 8D
16:28 hmmmm        because poettering
16:29 celeron55    now i set ulimit -c unlimited and it still doesn't make proper core dumps
16:29 celeron55    i guess i'm better off by doing "echo core > /proc/sys/kernel/core_pattern" to get the useful core dumping behavior back
16:33 proller      trying scale=100, => 500+ mountains, cooool
16:33 celeron55    now i can't cause a segfault at shutdown 8)
16:36 celeron55    i see these compile warnings though:
16:36 celeron55    /home/celeron55/softat/minetest/src/emerge.cpp:89:18: warning: deleting object of abstract class type ‘Mapgen’ which has non-virtual destructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
16:37 celeron55    /home/celeron55/softat/minetest/src/map.cpp:3419:11: warning: deleting object of abstract class type ‘MapgenParams’ which has non-virtual destructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
16:42 hmmmm        yeah, i need to get around to that.
16:43 hmmmm        i'm going to scoop those up with the rest of the warnings that can actually be helped
19:20 proller      https://github.com/minetest/minetest/pull/512 - tuning of finite liquid
19:20 proller      if ok - i squash
19:52 hmmmm        looks okay, but i'd keep the springs as an option, there are some people who don't like them...
19:52 hmmmm        proller, i just looked at map_meta.txt, and it doesn't seem like there's a problem at all, it works as expected
19:53 proller      will try one more time
19:53 proller      make option for springs?
19:54 hmmmm        yeah
19:54 proller      where?
19:54 hmmmm        in minetest.conf?
19:54 hmmmm        call it underground_springs perhaps
19:54 VanessaE     I wonder though
19:55 VanessaE     an underground spring in reality is usually a fairly large source of water, aren't these little 3-4-block "springs" a little small?
19:56 proller      maybe, make 5-10 blocks ?
19:56 VanessaE     in the context of the game, I'd probably have suggested clusters about 15 nodes in total (i.e. ~4 nodes in diameter or so), and perhaps about a tenth as common as I saw in that screenshot
19:57 VanessaE     but that's just me
19:57 proller      but one spring block can flood all around
19:57 VanessaE     these are infinite springs?
19:57 proller      yes
19:58 proller      some of them flood caves
19:58 VanessaE     well, in that case maybe a 10-node cluster is about right (I thought these were finite)
19:59 VanessaE     but either way, if that one screenshot is any indication, they're too common I think.
20:42 proller      mapgen indev starting: https://github.com/proller/minetest/commit/d9266510ce5cf03e91dd5767f6cfbf504dab5223
21:05 celeron55    if you are talking about some screenshot of freely looking into inside of ground and something looks too common, i have news for you
21:05 celeron55    it's probably still too rare
21:05 celeron55    it's very hard to stumble upon anything in legit playing that is placed inside solid ground
21:05 celeron55    it needs to be very common; much more common than anyone's intution would suggest
21:07 celeron55    in minecraft alpha, when you dig through ground into bedrock, you often stumble upon multiple caves; that's about 70 to 90 nodes deep
21:07 celeron55    it's about right
21:07 celeron55    minetest currently doesn't have as much i think
21:08 * VanessaE   shrugs
21:10 hmmmm        people never 'legit play' minetest, they mostly teleport to the edges of the map and then complain about how the limit is too small
21:12 celeron55    yes; it's ridiculous; developers need to learn to ignore those
21:18 VanessaE     with one caveat:  the game should do something meaningful with the edges of the map
21:18 VanessaE     even if it's an infinitely tall wall or something
21:21 proller      ready - https://github.com/minetest/minetest/pull/512
21:45 proller      when digging horizontally springs may cause problems, especially lava when damage enabled - and too rare better than too common
23:01 VanessaE     question:  what exactly does minetest do to display an object in the inventory?  Does it pre-render a raster image and display that, or does it just directly display the model as it exists in-game?