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 " 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?