Time Nick Message 02:20 hmmmm celeron55, when you're around, i'd like to know how you feel about moving debug stream initialization to _after_ the config file is read 02:20 hmmmm also, kind of wondering why sockets_init() is called in between setting default settings and reading the config file 02:21 hmmmm is there a specific reason for that? 02:53 hmmmm well whatever, nevermind, i just did it 02:54 hmmmm https://github.com/kwolekr/minetest/commit/f74cc107af0f6d9c9f2988d6bfbb63a93f989382 here, if you'd like.. set debug_log_level to 0 for no logging, or 1 for dstream and errorstream, 2 for action and higher, 3 for info and higher, 4 for verbose and higher 02:58 hmmmm shoot i left commented dead code in there.. here's the version i would actually put in master: https://github.com/kwolekr/minetest/commit/3ff37437463cbfb6d5413d3a23df6f9b8532638c 03:40 VanessaE if anyone gives a damn: https://github.com/celeron55/minetest/issues/476 05:17 hmmmm vanessa sorry, not my area. 05:17 VanessaE it's okay 05:17 hmmmm man i kinda wish i'm able to quickly determine if a block exists on disk or not without needing to do disk access. 05:30 hmmmm i think it would be beneficial, in the long run, to store some kind of data structure along with the map blocks that would represent which exist or don't exist, or maybe it can be constructed in memory on map load based on an enumeration of all keys 05:32 VanessaE well there's always the old way: 05:32 VanessaE use a bitmap. 05:32 VanessaE but that would still be huge 05:32 hmmmm yes, it takes 8gb to do that. so obviously it's out of the question. 05:33 hmmmm i've been thinking of combining a simple BST that holds a range 05:33 VanessaE what about a per-block bitmap? Something you can load when the mapblock is loaded, and just keep in memory otherwise 05:33 VanessaE and just flush it out the way you would excess mapblocks 05:33 hmmmm uhh. you miss the point 05:34 VanessaE well no, I get your point. 05:34 VanessaE but ultimately you have to generate that data somehow. 05:36 hmmmm anyway you have a BST where the key is the beginning address and the value is the length of the run or whatever 05:37 VanessaE sounds like a variation of RLE compression. 05:37 hmmmm mapblock address goes in, finds the slot where it should go 05:37 VanessaE but anyway 05:37 hmmmm grabs the node to the left of that and checks if it's below the end range 05:37 hmmmm great 05:38 hmmmm no that's not great 05:38 hmmmm it'd be segmented in parts for separate Y and Z no doubt 05:38 hmmmm the only parts that would get combined in the range are the X 05:39 hmmmm so how do i do a 3d range... 05:39 hmmmm octree! 05:40 hmmmm seems like a lot of work just to do what i would like to do, but the speed benefit would be great since you wouldn't have to do a check on disk every time you want to see if something needs generation or not 05:41 hmmmm and then you'd be able to know which blocks to emerge from disk 05:41 hmmmm so you'd be able to enqueue it on its own disk access thread 05:42 VanessaE two questions remain though: How would you acquire the data to build this octree from, and what do you do if it grows too large? 05:42 VanessaE s/how/where/ 05:43 hmmmm it wouldn't grow 'too large'.. the only way it'd get too large is if there was a checkerbox pattern of non-generated blocks which is impossible unless you programatically generated the map in that manner 05:43 VanessaE ok, sounds fair enough 05:44 hmmmm but you can find a way to abuse pretty much anything if you try 05:44 VanessaE don't I know that ;-) 05:44 hmmmm i would get the data to build the tree on map load.. i would just enumerate all keys 05:44 hmmmm anyway that's in the backburner but it's an idea 05:45 VanessaE right. that's more or less what I was suggesting earlier when I said "Something you can load when the mapblock is loaded" 05:45 VanessaE so we agree ;) 05:45 hmmmm as it stands now, all emergethreads will have to do disk access since we can't tell if it exists on disk without checking on disk 05:46 hmmmm interpolated "blocking disk io" - "computation" like that would decrease performance 05:46 hmmmm because you could be doing CPU work while it's waiting for the disk to do something slow 05:47 hmmmm my ultimate vision for minetest is to have dedicated compute emergethreads and a single dedicated disk i/o emergethread, and to do that it'd be absolutely necessary to be able to figure out if a block exists already only by looking at memory 08:27 celeron55 VanessaE: itemstack is a copy of the stack 08:28 celeron55 after modifying it, you need to copy it back 09:26 RealBadAngel celeron55, use exeact code with on_punch and it will work 09:26 RealBadAngel something in on_rightclick just restores user wielded item 09:27 RealBadAngel no matter what you will do 09:29 RealBadAngel i guess after the code is called it is also executed part of the code like user wasnt able to place wielded node, so no change to it is applied 10:47 iqualfragile im getting some strange light-level related bug on my server, is someone willing to investigate? 11:09 iqualfragile well, have some screenshots: http://imgur.com/a/9FLTI 14:44 PilzAdam seems like backface_culling isnt read correctly in special_tiles 14:44 PilzAdam https://gist.github.com/PilzAdam/4745506 <- this never fails 15:00 Taoki Back to working on the physics. Getting Y speed to use acceleration when in free-move mode or swimming... much more realistic now 15:03 VanessaE it might be nice for fly speed to peak at a higher speed than we have now, as long as you're tweaking tht 15:03 VanessaE that* 15:04 Taoki I'm only trying to get Y movement to work the same as X and X movement (as in use acceleration). Currently going up or down just sets the speed 15:05 Taoki *X and Z 15:25 hmmmm you know i'm looking really long and hard at the emerge queue, and i question whether or not you actually need to keep track of which clients asked for which blocks 15:26 hmmmm i say: no, it's completely, 100% unnecessary 15:26 hmmmm gonna remove that whole thing. i don't understand why BLOCK_EMERGE_FLAG_FROMDISK would ever be set in the first place, and even if it were, no idea what's wrong with just generating the damn thing no matter what 17:17 VanessaE celeron55: question. People seem to be running up against limits on the existing texture atlas more and more lately. It is possible to increase its maximum size? If not, can we finally just disable it by default? 17:23 * Calinou says: disable it by default 17:23 VanessaE s/it is/is it/ 17:23 Calinou even on my netbook it gives no performance increase, so why enable it :P 18:06 hmmmm you can play minetest on a netbook!??! 18:42 ffoxin hmmmm: why not since it's a native c++, not heavy java or whatever 18:44 Calinou hmmmm: yes 18:45 Calinou some random asus netbook from 2011, intel atom N455, 1GB RAM 18:45 Calinou playable on multiplayer and singleplayer 18:45 Calinou disable fancy trees and clouds :P 18:45 Calinou and use fullscreen for added performance too 19:20 RealBadAngel https://github.com/celeron55/minetest/pull/478 19:20 RealBadAngel fix to bug VanessaE reported 19:20 RealBadAngel can somebody merge it? 19:22 PilzAdam add: "return: itemstack" to lua-apit.txt 19:23 RealBadAngel where? 19:23 PilzAdam on_rightclick() 19:25 RealBadAngel why should i? i just fixed the bug, not added new content 19:26 PilzAdam your patch lets item_place() return the return value of on_rightclick() 19:26 PilzAdam and the return value of item_place() is the leftover itemstack 19:28 RealBadAngel i have no idea how to describe it properly 19:28 RealBadAngel can you do that? 19:30 PilzAdam the return value of item_place() is the leftover itemstack of the wielded item; on_rightclick() shouldnt access it 19:31 RealBadAngel ?? 19:31 RealBadAngel sorry i dont get you at all 19:32 RealBadAngel this is meant for such use 19:33 hmmmm ffoxin, that's completely irreleveant information. 19:35 RealBadAngel PilzAdam, youre tryin to tell me that bug is a feature? 19:36 PilzAdam no, I say fix it in a different way 19:36 RealBadAngel rotfl 19:36 RealBadAngel no comments 20:30 RealBadAngel PilzAdam, fyi theres no other way to fix it because item_place with returnin itemstack will override anything user will do with wielded item 20:31 PilzAdam move the call of on_rightclick() somewhere before item.on_place() is called 20:31 PilzAdam this will also fix VanessaE's other "bug" 20:31 RealBadAngel which one? 20:32 PilzAdam she doesnt like that on_rightclick() is called in on_place() 20:57 sfan5 critical bug: 20:57 sfan5 /home/stefan/mt-build/build/c55/celeron55-minetest-a27857e/po/pt/minetest.po:412: »msgid«- und »msgstr«-Eintrag enden nicht jeweils mit »\n« 20:57 sfan5 ... 20:58 PilzAdam sfan5, if make doesnt update the .mo files it doesnt produce this error 20:58 sfan5 i know, but that doesn't help 20:58 sfan5 translated message: 20:58 sfan5 /home/stefan/mt-build/build/c55/celeron55-minetest-a27857e/po/pt/minetest.po:412: »msgid«- and »msgstr« entries do not end each with »\n« 21:01 PilzAdam sfan5, fixed in weblate, now tell thexyz to merge it 21:16 hmmmm so why are duplicate blocks allowed to be added to the BlockEmergeQueue if the peer_id is 0? 21:16 hmmmm i don't think that's right at all. 21:22 RealBadAngel PilzAdam, on_rightclick is not called when node is placed. moving the code somewhere else is pointless. IMHO on_rightclick shall be called instead with itemstack too, and expect returning it 21:23 RealBadAngel because rightclick is anyways action taken with item in hand 21:24 VanessaE the natural result of a rightclick in the game is to place an item on the ground and decrement the count of that item in the player's inventory. 21:24 VanessaE so being able to do inventory management is crucial to maintaining consistency. 21:27 RealBadAngel http://pastebin.com/Atd1x3a8 21:28 RealBadAngel modified code and example usage 21:28 RealBadAngel itemstack is being passed to rightclick, and it can modify it when needed 23:13 RealBadAngel https://github.com/celeron55/minetest/pull/481 23:14 RealBadAngel PilzAdam, ive pushed it again with slight changes, update to api doc 23:14 RealBadAngel change doesnt break old mods using on_rightclick without itemstack parameter 23:15 RealBadAngel so, if you want to change itemstack, just define function with it, and be sure to return it 23:16 PilzAdam why return the itemstack? 23:16 PilzAdam (in on_rightclick()) 23:17 PilzAdam its call by reference, so just modify the param passed to the function 23:17 PilzAdam and item_place() does; on_rightclick(..., itemstack); return itemstack; 23:17 RealBadAngel if you will modify it, then return it 23:18 RealBadAngel back to item_place and whatever called that 23:18 RealBadAngel any other way wont work 23:19 PilzAdam wrong 23:19 PilzAdam since itemstack is call by reference, you dont need to return it 23:20 RealBadAngel i will try 23:24 RealBadAngel PilzAdam, as i said, youre wrong 23:24 RealBadAngel dont believe, try the code please 23:27 PilzAdam it works for me 23:28 PilzAdam https://gist.github.com/PilzAdam/4747568 23:28 PilzAdam ^ this works 23:29 RealBadAngel rotfl 23:29 RealBadAngel you just made the same i did 23:29 RealBadAngel but in 2 lines instead of 1 23:29 PilzAdam no, because i dont need return itemstack in on_rightclick() 23:30 RealBadAngel maybe you dont 23:30 RealBadAngel but players do 23:31 RealBadAngel function is screwed, i dont know who did it. and you dancin around the problem 23:31 RealBadAngel it has to be returned when changed 23:32 RealBadAngel dont like my code (pfft a few lines) then code it 23:32 RealBadAngel but stop makin troubles 23:32 RealBadAngel as modder you were excellent 23:33 RealBadAngel but as developer you suck big time 23:33 RealBadAngel period 23:33 RealBadAngel good night 23:34 PilzAdam RealBadAngel, I just try to keep things consistent 23:35 VanessaE consistency must, by definition, include being consistent with what modders expect a function to do based on what the API says *and does not say* 23:35 PilzAdam and after_place_node() also gives a reference to the itemstack 23:44 RealBadAngel can somebody push that oneliner fix to make things work? 23:45 VanessaE yes, pleas edo 23:45 VanessaE I already have two mods that depend on it 23:45 VanessaE (else there are duplication bugs) 23:50 VanessaE good, that worked. 23:51 RealBadAngel what? 23:51 VanessaE homedecor git updated 23:51 VanessaE just had to remove a rogue item from creative inventory (fences with signs should not be there in practice) 23:53 RealBadAngel im testing now 24 facedirs 23:53 RealBadAngel everythin seems to be workin 23:53 VanessaE crap, that last bit was supposed to be in a different window. 23:53 VanessaE sorry about that guys. 23:53 VanessaE RBA, back to query. 23:53 RealBadAngel hehe ok