Minetest logo

IRC log for #minetest-dev, 2013-03-12

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:02 sapier left #minetest-dev
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 SpeedProg joined #minetest-dev
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:02 ffoxin joined #minetest-dev
04:47 VanessaE joined #minetest-dev
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
05:06 VanessaE joined #minetest-dev
07:37 thexyz hmmmm: yeah, that's me
08:09 iqualfragile joined #minetest-dev
08:31 jin_xi joined #minetest-dev
09:57 proller joined #minetest-dev
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:54 Taoki joined #minetest-dev
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:07 SpeedProg1 joined #minetest-dev
11:11 darkrose joined #minetest-dev
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:24 hmmmm joined #minetest-dev
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 PilzAdam joined #minetest-dev
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 nyuszika7h joined #minetest-dev
15:55 hmmmm proller, about dungeons becoming 'lost', did you enable them after you made the map you were playing?
15:55 jin_xi joined #minetest-dev
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:17 Jordach joined #minetest-dev
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
16:46 rubenwardy joined #minetest-dev
17:24 proller joined #minetest-dev
18:12 Calinou joined #minetest-dev
18:19 rubenwardy_ joined #minetest-dev
18:53 iqualfragile joined #minetest-dev
18:59 iqualfragile1 joined #minetest-dev
19:19 proller joined #minetest-dev
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:40 serengeor joined #minetest-dev
20:42 proller mapgen indev starting: https://github.com/proller/minetest/commit/d9266510ce5cf03e91dd5767f6cfbf504dab5223
20:54 iqualfragile joined #minetest-dev
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:09 Taoki[laptop] joined #minetest-dev
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:40 Taoki joined #minetest-dev
21:45 proller when digging horizontally springs may cause problems, especially lava when damage enabled - and too rare better than too common
21:48 sapier1 joined #minetest-dev
22:20 Taoki[laptop] joined #minetest-dev
22:39 dimeshake_ joined #minetest-dev
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?

| Channels | #minetest-dev index | Today | | Google Search | Plaintext