Time Nick Message 02:16 ShadowNinja Made a new split function to fix my problem (well, copied it off the lua-users wiki and modified it). http://sprunge.us/VMjB 02:18 Sokomine lua is not the most practical language when it comes to string functions 02:19 kahrl I don't like changing how standard functions work 02:20 kahrl oh nvm, it isn't a standard function 02:20 kahrl still changing it could break a lot of code 02:23 kahrl does the new version work completely the same as the old one when just one argument is passed? 02:24 ShadowNinja kahrl: Seems so: http://sprunge.us/GgHP Can you think of any other tests? 02:25 kahrl what if delim is length >= 2? 02:26 kahrl (I guess the old version had a bug when sep contained a ] or some other regex special character... no need to replicate that bug 02:26 kahrl ) 02:26 RealBadAngel hi 02:26 RealBadAngel whats up? 02:28 ShadowNinja Ugh, one descrepancy: ("a:::b"):split_old("::") -> {"a", "b"} ("a:::b"):split_new("::") -> {"a", ":b"} Bat that seems like a bug. 02:28 ShadowNinja But* 02:29 ShadowNinja kahrl: Thoughts? 02:29 ShadowNinja kahrl: And the new one has the same issue/feature. 02:29 kahrl ShadowNinja: the old version does this: s="a:b;c"; s:split(":;") --> {"a","b","c"} 02:29 kahrl so the separator isn't meant as a substring but a set of characters 02:31 ShadowNinja kahrl: That's broken too. Maybe I'll just use two seperate functions with a branch. 02:31 ShadowNinja Oh, or... 02:31 kahrl well, not really broken, but perhaps surprising 02:31 kahrl at least it should be documented 02:32 kahrl lua_api.txt leaves one in the dark there 02:34 kahrl everything in builtin seems to pass use 1-character sep 02:34 kahrl s/use/only 02:34 ShadowNinja kahrl: Alright, they're functioning identically again, just had to add [] to the patters. 02:34 ShadowNinja pattern* 02:34 ShadowNinja kahrl: Anything else? 02:35 kahrl honestly I prefer the substring matching to the character-set matching 02:35 kahrl it's less surprising 02:36 ShadowNinja Possibly, but I need something compatible right now. 02:36 ShadowNinja Could add a substring param. 02:36 kahrl nah, YAGNI 02:37 kahrl we haven't needed it yet, so it's unlikely we will 02:38 kahrl is any performance critical code using split and would be slowed down by the new version? 02:39 kahrl doesn't look like it to me 02:45 kahrl ShadowNinja: alright, I don't see any other problems, so push it if you don't see any either 02:47 ShadowNinja kahrl: O.K. can you review the patch that this was created to implement (look up). 02:47 ShadowNinja s/\./?/ 02:50 Zeno` umm... my conf file seems to grow ... currently has about 500 empty lines tacked onto the end of it and I only deleted them last week 02:51 kahrl this? http://sprunge.us/JgjM?diff 02:52 kahrl Zeno`: can confirm 03:44 hmmmm has anyone gotten spooked yet? 03:45 hmmmm all this shitty code... how can you not? 8) 11:06 Krock #1791 11:06 ShadowBot https://github.com/minetest/minetest/issues/1791 -- Add factor of maximal player transfer distance by SmallJoker 11:58 Krock hmm I wonder how it's possible to check if a ServerActiveObject is a player 12:01 Krock could someone give me a hint? 12:51 Zeno` from C++? getType() probably 12:51 Zeno` if (sao->getType() == ACTIVEOBJECT_TYPE_PLAYER) {} (probably) 13:02 Krock ok thx 13:02 Krock yes 13:03 Krock Zeno`, wouldn't it be ->getSendType() ? 14:01 Krock okay, the code 'object->getSendType() == ACTIVEOBJECT_TYPE_PLAYER' seems to return false all the time 14:02 Krock trying with getType() now 14:13 Krock updated #1791 works fine 14:13 ShadowBot https://github.com/minetest/minetest/issues/1791 -- Add factor of maximal player transfer distance by SmallJoker 17:17 hmmmm please take a look: https://github.com/kwolekr/minetest/commit/9e811a92e7846b958e4bc84aeb30bad8b51e8e1d 17:17 hmmmm this is basically phase 1 of the huge mapgen-related crap organization 17:18 hmmmm I won't push this to upstream until I get 3 approvals 17:18 hmmmm because it's so huge 17:18 hmmmm and probably breaks things 17:34 Krock looks huge. I guess it's tested, right? 17:44 hmmmm it compiles and things seem to work. 17:45 Krock great. 17:45 hmmmm really wish we had a dedicated QA team 17:45 hmmmm i want to make commits with a higher degree of certainty other than "it compiles" 17:46 Krock well then, testing is the only soulation. What do you mean with QA? 17:47 hmmmm QA people who would create strategies to automate testing of things 17:47 hmmmm write up unit tests 17:47 hmmmm perform in-depth tests of things when requested by developers 17:47 Krock basically, self-tests? 17:48 hmmmm yes, that's a unit test 17:49 Krock ah. the idea is good. now we only need people who would do this :/ 17:58 Calinou really wish we had a dedicated QA team 17:58 Calinou how so 17:58 Calinou give us instructions 17:58 Calinou don't expect all QA people to be programmers 17:59 Calinou ie. I can't write unit tests 17:59 PenguinDad hmmmm: try running bfd with it and see if it works 17:59 hmmmm yeah... that's the problem though 17:59 hmmmm no idea what bfd is. 17:59 VanessaE Big Freakin' Dig 17:59 VanessaE Jordach's game 17:59 PenguinDad hmmmm: https://github.com/Jordach/big_freaking_dig 18:01 hmmmm can somebody else do that 18:01 paramat hmmmm, my mgv5 commits are rebased, squashed into one and ready for an initial review https://github.com/paramat/minetest/commits/mgv5 18:08 hmmmm move the part where you resolve the node names into the mapgen's constructor 18:08 hmmmm also i think contour() should stay in noise.cpp 18:09 hmmmm it certainly doesn't hurt 18:09 hmmmm hmm, what are MGV5_FOO and MGV5_BAR for? 18:09 paramat ah i couldnt work out how to access it from there 18:09 hmmmm what do you mean 18:09 paramat lol 18:09 paramat those were temporary spflags examples 18:09 hmmmm oh 18:10 paramat i thought i had removed all trace of those 18:10 hmmmm add a function prototype for contour() to noise.h 18:10 kilbith thanks for all the mapgen work, hmmmm 18:10 hmmmm hah... no problem 18:10 hmmmm thanks 18:10 paramat okay 18:10 * paramat takes note 18:10 hmmmm thank paramat better, he's probably written more mapgen crap than i :) 18:10 hmmmm i don't do much anymore 18:10 kilbith of course 18:11 Krock >mapgen crap 18:11 Krock this doesn't fit together 18:11 hmmmm it's all a bunch of crap 18:12 Krock no no. mapgen is holy 18:12 kahrl holy crap? 18:12 Krock even crap can be holy 18:12 paramat 'move the part where you resolve the node names into the mapgen's constructor' move to where? you mean 'c_stone = ndef->getId("mapgen_stone");' lines? 18:14 Krock 100% shop talk 18:14 hmmmm paramat, yes 18:14 hmmmm like current upstream's mapgens 18:14 paramat okay 18:15 paramat also spflags could be added for lava, dirt blobs, whatever 18:19 paramat 130ms makechunk time on my machine (excluding lighting calculations), i have no idea if that is fast for core mapgen hehe 18:19 Krock holy crap. 18:19 Krock 5 times faster than my simple mapgen 18:20 hmmmm you need to compare it relative to the other mapgens 18:20 hmmmm v6 is pretty fast 18:20 hmmmm it's most likely slower than that 18:20 paramat okay 18:20 paramat it worked out at +10ms per easing 18:21 paramat for the 3d noises 18:21 hmmmm yeah, sounds about right. 18:21 hmmmm we could really optimize that. it doesn't seem like much but it really adds up since you need a lot of noise 18:21 Krock LuaJIT feels slow from now on. 18:21 hmmmm https://github.com/paramat/minetest/commit/29c9877569bffb6cd0868bac77af839348fd8686#diff-54cee86b3578ebb78d854b864bf6244bR388 18:21 paramat so i those to ease 3 of the 5 3d noises 18:21 paramat *chose 18:22 hmmmm that sort of code where you have loop () { if () { all of the stuff in here } } 18:22 hmmmm any time you have that, you can make it easier to read by changing it to 18:22 hmmmm loop () { if (!thing) continue; all the stuff here } 18:22 hmmmm try to minimize the level of indentation 18:23 paramat ah yes indentation ... 18:23 hmmmm ahh you're using my crappy mapgen v7 biome code 18:23 hmmmm :( 18:24 paramat i was copying mgv7's style lol 18:24 hmmmm i tried to make the best out of my horrible biome setup 18:24 hmmmm err, overly simplistic biome model 18:24 hmmmm it makes things worse off in the end because you have to account for things such as "what's the biome underneath this ridge?" and so on 18:25 paramat at least it has noise varied decoration density 18:25 kilbith paramat : https://cdn.mediacru.sh/brIi-t86mAnq.png <- mountain + 'air sphere' that remove sperically the top-nodes and put lava into the hole, result : volcano. Possible ? 18:26 kilbith (not sure to be clear enough) 18:26 paramat yes possible 18:27 Krock kilbith, it does not garantuee a non-overflowing lava hole 18:27 Krock example, when the lava is placed too high 18:28 kilbith volcano = mountain (>= 50 nodes) - air sphere (mountain top-node - 10 nodes) 18:28 Krock and how to detect the top of a mountain? :P 18:28 kilbith hmm 18:28 kilbith good question 18:28 paramat yes its better to have a vertical magma channel 18:31 Krock How about adding more noise functions/generators to minetest? 18:32 paramat im now looking at noise code 18:32 Calinou v6 is unbeatable speed-wise :P 18:32 gravgun Krock: you can do awesome things with perlin noise though 18:32 Krock Calinou, singlenode? 18:32 Calinou I mean, natural mapgens 18:32 gravgun singlenode v6? 18:33 gravgun wait... 18:33 Krock gravgun, yes I know but if you want a more linear stuff, it might not the best soulation 18:33 gravgun Ah, yes 18:34 Krock ^fake 18:35 Krock btw, if the people are already active here - any comments to #1791 ? 18:35 ShadowBot https://github.com/minetest/minetest/issues/1791 -- Add factor of maximal player transfer distance by SmallJoker 18:36 Krock minimal player transfer distance would be 8 nodes 18:36 Calinou keep the default infinite, please 18:37 Calinou also make the default non-infinite value quite large, like, 256 radius 18:37 Krock ehm. unlimited = true disables that setting 18:37 Calinou I mean, the default value should be that transfer distance is not limited 18:37 Krock it is not limited because unlimited is set tu ture by default 18:38 Krock *to true 18:38 Calinou cool 18:38 Krock well, currently it depends on the active block range, possibly I should change that 18:40 casimir Why don't you allow 0 as minimal value? This way people could disable names completely. 18:40 Krock casimir, with that you disable yourself 18:40 PenguinDad lol 18:40 Krock and you get an access violation when hitin F7 18:40 Krock *hitting 18:40 casimir ok 18:41 Calinou client-side option to hide name tags would be cool 18:41 Calinou (hide whenever HUD is hidden) 18:41 Krock yeah 18:47 Krock *removes the dependencies of active block range* 19:41 Krock so, updated pull nr. 1791 again 20:08 Calinou camera.cpp:506 20:08 Calinou m_view_bobbing_speed = MYMIN(speed.getLength(), 80); 20:08 Calinou add this line (to replace the old one) 20:08 Calinou better view bobbing