Time Nick Message 00:26 paramat and here's another PR #3303 00:26 ShadowBot https://github.com/minetest/minetest/issues/3303 -- findSpawnPos: Add setting for max height above water level by paramat 07:15 hmmmm hmmm, libintl not found 07:15 hmmmm when did this start happening? 07:19 hmmmm paramat: pretty standard, looks good to me 07:21 hmmmm i left a comment for 3303 17:19 hmmmm hrmmm 17:20 hmmmm I want to make a lua api like this: 17:20 hmmmm core.do_thing(callback) 17:20 hmmmm but do_thing is not a register_on_thing 17:20 hmmmm it's just a temporary callback 17:21 hmmmm is there any way to store the *value* of a LUA_TFUNCTION in C? 17:46 paramat builds failing with '/usr/bin/ld: cannot find -lintl' started 5 days ago, nrzkt 18:08 PilzAdam hmmmm, paramat, could any of you please take a look at this: https://github.com/PilzAdam/score/blob/master/mods/score/init.lua#L564 18:08 PilzAdam it's really slow, it takes about 1.5 seconds to generate a block 18:08 paramat ok 18:08 PilzAdam (without LuaJIT) 18:09 hmmmm why do you create a new noise map object every call 18:09 hmmmm that's very inefficient (but not likely the cause of the slowness) 18:09 PilzAdam I copied from your example 18:09 hmmmm urgh 18:09 paramat ah hmmmmm's example needs updating 18:10 paramat see my 'noise23' mod for how to create noise objects only once 18:10 hmmmm the get_content_ids can be precached 18:10 paramat https://github.com/paramat/noise23 18:11 hmmmm other than that, it looks pretty solid 18:11 hmmmm lua is just really that slow 18:11 PilzAdam precached? does the env need to be initialized for get_content_id? 18:11 hmmmm you do 80^3 lookups per on_generated call 18:12 PilzAdam no 18:12 PilzAdam I cache them in c_stones 18:12 hmmmm oh, i see, nevermind then 18:12 hmmmm like i said, lua is just... slow 18:12 hmmmm this is why we need to fix the threading model asap 18:13 PilzAdam well, I knew it was slow, but I didn't expect it to be that slow 18:13 hmmmm heh 18:13 PilzAdam this is just one simple 3D noise and basically nothing else 18:13 hmmmm on my machine that piece of code takes about 250ms 18:13 paramat yeah seems too slow for being so simple 18:13 PilzAdam hmmmm, with JIT? 18:13 hmmmm yeah 18:14 PilzAdam also, if you look at the bottom of the file you see some aliases 18:14 PilzAdam they aren't needed, but mapgen complains if they aren't set 18:14 hmmmm and even then most of the time is being spent passing the data back and forth to lua 18:14 hmmmm yeah it needs that 18:14 hmmmm yes, i know you're using singlenode 18:15 hmmmm no, there's no way to fix it unless you want to change the whole way minetest works pretty much 18:15 paramat yeah the complaints are harmless, just biome API expecting stuff 18:16 PilzAdam do 300 registered ores take very long to generate in minetest.generate_ores()? 18:16 hmmmm WTF, 300? 18:16 hmmmm uhh, yes... 18:16 hmmmm well i think there's your problem 18:16 PilzAdam is there a way to change the ore based on the wherein? 18:17 PilzAdam I only have 3 ores in 100 different stones 18:17 hmmmm erm, wherein could take an array 18:17 PilzAdam hmmmm, the 1.5 second benchmark was before the ores; it's probably worse now, though 18:17 PilzAdam yes, but I want ore_1 to only be in stone_1 18:17 PilzAdam and ore_2 only in stone_2, etc. 18:18 hmmmm and there are 300 of these levels? 18:19 hmmmm in any case, the mapgen api isn't meant to replace every single possible use case 18:19 hmmmm it's there to greatly accelerate the most common use cases 18:20 paramat calculate vox_index for (minp.x, y, z) before the x loop, then increment it by 1 along the x row 18:20 paramat but that shouldn't be the cause of the slowness 18:21 PilzAdam thanks for your help 18:22 paramat 1.5s per chunk is as slow as my monster mapgens (no LuaJIT) 18:24 paramat i'll test your game and time the mapgen 18:31 PilzAdam paramat, while you are at it, there is a bug where no node with x=0 and z=0 is set 18:31 PilzAdam it's always air there 18:31 paramat ok 18:32 PilzAdam never mind, just figured it out 18:32 paramat good 18:32 PilzAdam (apparently just talking about it makes the bug nervous, so it's easier to spot) 18:44 hmmmm talking about a bug to other people helps you mentally sort what you know about it 18:47 PilzAdam btw, I just noticed that there are 900 registered ores 18:47 PilzAdam (there are 300 levels) 18:48 PilzAdam also about 4200 registered items cause Minetest to use ~700 MiB RAM 18:48 paramat spooky game. i'm getting 800ms per chunk (intel core i5) 18:48 PilzAdam and there is not much else going on 18:49 PilzAdam paramat, with JIT? 18:49 hmmmm 2spooky4me 18:49 paramat no LuaJIT 18:54 paramat 400ms without 'generate ores', still seems a little slow for the simplicity 18:54 PilzAdam another thing is that the noise seems to ignore the seed 18:59 PilzAdam it only works if I use minetest.get_perlin_map() instead of PerlinNoiseMap() 18:59 PilzAdam is that because the seed I get from the mapgen params is greater too large? 18:59 PilzAdam I read an issue about this 19:00 paramat ah, the 2 perlinmap methods act differently i think 19:00 PilzAdam PerlinNoiseMap() uses the seed as it is in the noise params 19:00 PilzAdam minetest.get_perlin_map() adds the seed in the noise params to the worldseed 19:01 paramat yes 19:01 PilzAdam the former one always produces the same world, even with different seeds 19:01 PilzAdam maybe that's because the seed is > 10^18? 19:01 hmmmm you need to add the seed yourself 19:02 hmmmm the whole point behind the minetest.env:get_thing_noise() class of functions is that it returns an /environment/ specific noise 19:02 hmmmm i.e. one with the world seed 19:02 PilzAdam hmmmm, yes, I understand that 19:02 PilzAdam but there seems to be a bug in PerlinNoiseMap(), where it simply ignores the seed I give it 19:02 hmmmm whereas PerlinNoise() or PerlinNoiseMap() are left up to the user to use how they want, since it's a "raw" implementation 19:03 hmmmm hmm 19:03 PilzAdam I just pass the worldseed I get from get_mapgen_params() into the noise parameters 19:03 PilzAdam and I checked that they are different, but they always result in the same noise 19:05 paramat get/set mapgen params should be inside 'minetest.register_on_mapgen_init'? 19:05 PilzAdam paramat, not anymore, that was changed a while ago 19:05 hmmmm yup, I think the size of the seed is the problem 19:05 paramat ah 19:05 PilzAdam register_on_mapgen_init is deprecated 19:05 hmmmm sorry 19:06 hmmmm try manually entering a seed that's like 0x7FFFFFFF, 0x80000000, and 0x80000001 19:06 hmmmm if i'm correct, the last two should be the same 19:07 PilzAdam I use minetest.get_perlin_map() now: https://github.com/PilzAdam/score/commit/ffdbda43fad6be0c78af336c2730c3dff5d84ee9 19:07 hmmmm :( read_noiseparams() is busted 19:09 ShadowNinja VanessaE: #3305 19:09 ShadowBot https://github.com/minetest/minetest/issues/3305 -- Fix server crashing on Lua errors by ShadowNinja 19:10 PilzAdam hmmmm, same issue as #3237 ? 19:10 ShadowBot https://github.com/minetest/minetest/issues/3237 -- PseudoRandom always generating same sequence with big seed 19:10 hmmmm yeah the same underlying problem 19:13 VanessaE ShadowNinja: well that's certainly a more extensive change than BlockMen was proposing :) 19:14 PilzAdam hmmmm, maybe check the rest of the API too 19:14 hmmmm that's quite a bit of effort 19:14 hmmmm the api is really big 19:14 ShadowNinja VanessaE: His still causes a crash though, it just happens in the DEBUG_EXCEPTION_HANDLER (or the libc's exception handler, in debug builds). 19:15 PilzAdam hmmmm, isn't is just a problem with luaL_checknumber ? 19:15 hmmmm luaL_checknumber, luaL_tonumber, etc. 19:15 hmmmm there's a lot of those instances 19:15 PilzAdam ah, ok 19:16 hmmmm but yeah 19:16 hmmmm this is a particularly nasty oversight 19:16 hmmmm any time a lua_Number is being forcefully converted to an int smaller than 64 bit, there's potential for data truncation 19:17 hmmmm this would usually be okay but it truncates in a specific manner that you might not expect 19:17 hmmmm also, don't use lua_Integer 19:17 hmmmm we can't trust the range of ptrdiff_t to be large enough to fit our numbers 19:17 hmmmm and it's signed so there's that problem too 19:18 PilzAdam maybe write this down somewhere in the dev wiki? 19:58 paramat now merging #3302 #3303 (with error fixed) 19:58 ShadowBot https://github.com/minetest/minetest/issues/3302 -- Mgfractal: Add filler depth noise by paramat 19:58 ShadowBot https://github.com/minetest/minetest/issues/3303 -- findSpawnPos: Add setting for max height above water level by paramat 20:06 paramat done 20:32 sfan5 https://github.com/minetest/minetest/pull/3210 can we finally merge this soon? 20:32 sfan5 #3210 20:32 ShadowBot https://github.com/minetest/minetest/issues/3210 -- WoW-style Autorun by duane-r 20:44 paramat i'd like that too 20:45 sfan5 actually 20:45 sfan5 there are enough coredev approvals 20:45 sfan5 imma merge this 20:45 paramat yes 20:46 sfan5 Receiving objects: 22% (8061/36154), 13.97 MiB | 278.00 KiB/s 20:46 sfan5 github pls 20:49 sfan5 pushed 20:50 paramat can anyone check the implementation of game#693 ? PilzAdam are you still unsure about this? it has been updated 20:50 ShadowBot https://github.com/minetest/minetest_game/issues/693 -- Boats: Check player attached object by Rui914 20:52 PilzAdam paramat, looks good 20:52 PilzAdam have you tested it? 20:52 paramat not yet 20:52 paramat i can merge it later after testing 20:53 sfan5 paramat: looks good from me too 20:53 paramat ok thanks 20:56 paramat btw there are a lot of unpopular PRs hanging around in MTGame that have 2 -1s and just need another -1 for a majority disapproval. perhaps 3 -1s can mean 'close in 1 month if not improved'? 20:56 sfan5 care to link? 20:58 paramat sure .. 20:59 kilbith so is it doable to fix the warning flooding during the compilation on arch linux 21:00 kilbith sample : http://pastie.org/10516825 21:01 sfan5 possible? most likely yes 21:01 sfan5 but it's not an urgent issue 21:01 paramat sfan5 game#691 21:01 ShadowBot https://github.com/minetest/minetest_game/issues/691 -- Add drowning to sand and gravel by MT-Modder 21:02 kilbith i can barely see the compilation progress with all that flooding 21:03 sfan5 paramat: commented, maybe we can close it now because 3 devs thought that it isn't useful 21:03 paramat game#672 21:03 ShadowBot https://github.com/minetest/minetest_game/issues/672 -- water mist by pinkysnowman 21:03 paramat yes i agree 21:05 sfan5 paramat: i think we can close the second one anyway because it also needs a rebase 21:06 paramat ok 21:07 paramat game#290 21:07 ShadowBot https://github.com/minetest/minetest_game/issues/290 -- Add rotation to plants. by RealBadAngel 21:07 PilzAdam kilbith, add -Wno-deprecated-declarations to your compiler flags 21:07 kilbith PilzAdam, thanks 21:08 nrzkt hmmmm, for the mapgen bug i mentioned yesterday, it's due to clang 3.7 as i seems... 21:08 nrzkt compile with gcc 5.2 no problem, clang 3.7 very strange behaviour 21:09 kilbith nrzkt, i've compiled with clang when this bug occurred 21:10 nrzkt but this is very recent... i look at my package cache 21:10 kilbith seems like clang is doing bad things behind our backs 21:11 paramat game#165 21:11 ShadowBot https://github.com/minetest/minetest_game/issues/165 -- Add moonflower mod by RealBadAngel 21:11 nrzkt no clang/llvm update this week, only a linux kernel update 21:11 nrzkt other packages are not related to mt 21:13 paramat game#333 21:13 ShadowBot https://github.com/minetest/minetest_game/issues/333 -- Add hurt sound by Snipie 21:14 PilzAdam paramat, for 333 close the PR and open an issue for adding a hurt sound 21:14 paramat ok 21:15 PilzAdam and all the moonflower stuff can be closed simply because it's too old 21:15 kilbith i remember the obsidian bricks added tardily after 2 years 21:16 paramat game#447 21:16 ShadowBot https://github.com/minetest/minetest_game/issues/447 -- Add Pies by C1ffisme 21:17 paramat ok sfan5 that's all of them 21:17 PilzAdam paramat, there seems to be still conversation in 447 21:17 PilzAdam leave it open for now 21:17 paramat ok 21:18 kilbith paramat, you've omitted one : game#665 21:18 ShadowBot https://github.com/minetest/minetest_game/issues/665 -- Add many wooden fences made out of the 4 kinds of woods by LeMagnesium 21:19 paramat yeah it has one -1 21:19 kilbith wrong 21:19 kilbith 2 * -1 21:19 paramat oh yes 21:19 paramat sorry 21:20 kilbith blockmen would not agree as well 21:20 paramat i still support it 21:21 paramat just needs a -1 from nore or ShadowNinja 21:30 paramat sfan5 i linked some PRs without highlighting you, hope you saw them all 21:39 paramat cool that's 4 closed 21:42 nrzkt hmmmm, for the mapgen bug, i have tested on FreeBSD clang 3.7 has same problem as Archlinux. But if i use clang 3.6 on FreeBSD it's working well, like GCC 5.2 21:43 nrzkt #3306 (like mysql port but it's a clang issue :) ) 21:43 ShadowBot https://github.com/minetest/minetest/issues/3306 -- Mapgen bug with clang 3.7 21:51 sfan5 paramat: I'll look at them 21:52 paramat most are closed or processed now 21:56 paramat i'd like to close game#290 but it seems be 2 for 2 against 21:56 ShadowBot https://github.com/minetest/minetest_game/issues/290 -- Add rotation to plants. by RealBadAngel 21:57 sfan5 i commented in favour of that already 21:57 paramat yes i just saw, sorry 22:01 hmmmm nrzkt: I'll try clang-devel 22:03 nrzkt hmmmm, i also tested with FreeBSD embedded, no problem. THanks for trying clang-devel 22:03 nrzkt i haven't tried it i try it too to be sure 22:14 nrzkt hmmmm, please note i also compiled a minetest from 2 months ago and the problem occurs with clang 3.7 :) 22:14 nrzkt hmmmm, same problem on clang-devel 22:35 CraigyDavi Has the issue which OldCoder described here been fixed? http://irc.minetest.ru/minetest-dev/2014-10-14 I think I'm having the same problem 22:37 PilzAdam CraigyDavi, that's rather unlikely, since this is over a year old and network code changed since then 23:04 paramat game#693 is tested now merging 23:04 ShadowBot https://github.com/minetest/minetest_game/issues/693 -- Boats: Check player attached object by Rui914 23:08 paramat done