Time Nick Message 00:21 troller #895 updated 09:42 adama_ hello all 12:24 celeron55 about the performance tests yesterday 12:25 celeron55 http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/Screenshot%20-%2011052013%20-%2001:35:20%20PM.png http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/Screenshot%20-%2011052013%20-%2001:40:26%20PM.png 12:26 celeron55 the removal of the texture atlas is likely to be a huge cause in that; also the generation of nodebox meshes inside solid ground 12:27 celeron55 (in the first one neither of those kick in, because there are no nodeboxes and there is only a single texture) 12:28 celeron55 my guess is that the missing texture atlas is the clear winner of bottleneckery in that 12:30 celeron55 but the key is that the slowness is measured as those two multiplied together; not added 12:31 celeron55 or maybe not the key; anyway, it increases the effect 12:32 celeron55 current 0.4 is probably faster than 0.3 in drawing monotonous simple scenery, and really clogs up when it's special features are used a lot 12:38 celeron55 in any case, i believe implementing a working and efficient texture atlas would fix that; if that exists, then the nodeboxes really don't matter almost at all as they all would be bundled in a single GPU call 12:38 celeron55 or, well, all of them per each mapblock 12:40 celeron55 VanessaE: you can try that by changing all content to use a single texture (same texture file name); it it runs fast, then texture atlas is the key 14:54 troller idea: dynamically increase-decrease view range to match 30 fps 15:34 celeron55 what? 15:34 celeron55 it already does exactly that 15:34 celeron55 and has done exactly that since 3 years ago 15:54 Exio4 sapier should try to remove functions and loops, because a lot of people bad-uses them 15:54 Exio4 same with exceptions, and with the memory management, and why not pointers! 16:42 celeron55 Exio4: let's implement an improved version of java - without functions and loops 16:43 kaeza celeron55, do you still have that branch for message translation around? 16:43 Exio4 celeron55: neat idea! 16:44 celeron55 kaeza: message translation? 16:44 celeron55 the one that implements localization of item descriptions in the certain way? 16:45 kaeza that one 16:47 celeron55 i don't want it to be used as-is because it wastefully sends texts in every language to every clients; it should be reimplemented so that a client sends it's preferred language to the server and the server sends only those 16:47 celeron55 anyway, it's here; the WIP commit is a beginning of reworking it to the latter: https://github.com/celeron55/minetest/commits/modtranslate 16:47 kaeza ah gotcha, and thanks :) 17:15 VanessaE celeron55: 17:15 VanessaE [11-06 12:06] Without the audio patch... 17:15 VanessaE [11-06 12:06] I cannot take screenshots 17:15 VanessaE http://minetest.org/mtpatch-131106a.txt 17:15 VanessaE he means the second part of that .txt 17:16 VanessaE can you comment? 17:17 VanessaE [11-06 12:16] VanessaE, FWIW The 2nd patch simply disables warning messages that flood my screen 17:17 VanessaE [11-06 12:16] The messages are there all the time and mess up the game 17:18 VanessaE why are openAL messages even making it to the chat? why are ANY error messages dumped there? Put them in the F10 console if they absolutely must be on-screen 17:18 VanessaE (and not just c55, anyone who wants to comment, of course) 17:26 celeron55 uhm... i guess the feeding of error messages to the chat could be removed 17:29 celeron55 it's just a few lines that deal with chat_log_error_buf in game.cpp 17:30 celeron55 just adding a third boolean parameter to ChatBackend::addMessage to determine whether they go to the non-console buffer would work fine 17:31 celeron55 i think it's useful to have them in the console though (because noticing errors is kind of important) 17:31 VanessaE by console you mean F10, or the controlling terminal? 17:31 celeron55 F10 17:32 VanessaE ok, yeah putting error messages there is probably okay as long as they don't constantly flood the console 17:34 celeron55 well if there's a constant flood of errors, it's not OK in any case 18:10 PilzAdam ShadowNinja, I dont like that you revert commits from me without asking me 18:11 ShadowNinja PilzAdam: You weren't around. And it was a pretty commonsense thing, as otherwise you can't punch in creative. 18:11 PilzAdam you can, simply use a tool 18:11 ShadowNinja I did get approval though. 18:11 PilzAdam or, set dig_immediate=3 in the nodedef 18:12 ShadowNinja But ou still can't punch with the hand. 18:12 PilzAdam normal digging is just way more common than triggering a punch event 18:12 PilzAdam so using a tool to trigger punches is better than the very slow digging 18:12 ShadowNinja And even if there is a way around it most players won't find the way unless you thouroughly document it. 18:13 PilzAdam nodes that really expect to be punchable can set dig_immediate=3 18:13 VanessaE um, that's stupid, PilzAdam 18:13 PilzAdam VanessaE, how so? 18:13 * Jordach doesnt like instant digging 18:13 VanessaE if a node has a punchable callback registered to it, it should automatically be excluded from any kind of dig immediate. 18:13 ShadowNinja That doesn't work with things like //p set and //mtschemprob start. 18:14 VanessaE (i.e. either on_punch or register_on_punchnode or whatever the exact spellings were) 18:14 PilzAdam the main goal of creative is to build and dig fast 18:15 ShadowNinja If you need to dig a whole lot of nodes fast you use //p set //set air. 18:15 PilzAdam digging times of 0.5 are way too slow 18:15 PilzAdam even some tools in non-creative mode are faster 18:15 PilzAdam ShadowNinja, I do not use any external mods when I run minetest_game 18:15 VanessaE what good is it to build stuff that you can't then operate? 18:15 ShadowNinja Yes, but it is understood that you can't punch with super-fast tools, and the solution is objious. 18:16 PilzAdam well, you can operate it (as I said above) 18:16 ShadowNinja obvious* 18:16 PilzAdam the digging is jut more common than interacting, so the digging should get the main focus 18:16 ShadowNinja So punching should be disabled? 18:16 PilzAdam no, punching uses a routine that takes more time (i.e. take a tool) 18:17 ShadowNinja I am not the only one that didn't know that trick. 18:17 ShadowNinja You need to document it were players will see it. 18:17 ShadowNinja And where can ou document it? 18:17 ShadowNinja + 18:17 ShadowNinja +y 18:18 PilzAdam in the mod description that depends on that feature 18:18 ShadowNinja (Bad 'y' key) 18:19 ShadowNinja So add "You need to use a slow tool to punch nodes" to every mod description? Not only that but using a differen't tool is kind of a workaround, not a solution. 18:19 PilzAdam the 0.5 was choosen previously because of doors, they were opened with a leftclick; but since we have the on_rightclick() now this argument is obsolete 18:20 PilzAdam you can also design the mod to work properly with the insta-dig in creative mode 18:21 ShadowNinja Although doors may not use on_punch a lot of other mods still do/ 18:25 VanessaE some nodes make no sense being operated with a right click 18:25 VanessaE like TNT for example. 18:25 VanessaE punch it with a torch. 18:26 VanessaE and operating nods on right click has its own troubles 18:26 VanessaE like having to code around the *wielded* node's on-right-click function 18:33 zat ShadowNinja: I think I am done, wanna try? 18:45 * VanessaE wonders what zat is done *with* 18:48 * zat wonders too 18:48 zat it is the SQL rollback 18:49 VanessaE oh yes 18:49 ShadowNinja zat: Sure, can you put it on GitHub? 18:49 zat is there a way that don’t require me to sign up on Github? 18:49 zat really... I dont want to 18:50 zat I have my own git server 18:50 PilzAdam of course you dont have to sign up on github 18:51 ShadowNinja zat: You don't have to, what is the URL. 18:51 zat hold on I am pushing it 18:55 zat ShadowNinja: last commit on the master branch at git://bros.ivn.cl/mbarrera/minetest.git 18:55 zat Now it won’t delete the old rollback.txt file, it will just create an empty file that serves as a “flag”. 18:55 zat rollback.txt.done 19:33 zat ok I just realized I could change the stack column into two, node and quantity, columns. 19:33 zat that would optimize file size and speed further. 19:37 ShadowNinja zat: You add whitesoace to an empty line in SQL_databaseCheck BTW. 19:37 ShadowNinja whitespace* 19:37 zat oh my god!!!!!!!!!!!!!!!!!!!!!!!! 19:38 ShadowNinja zat: What? Is it that hard to fix? 19:38 zat No, it is hard to be relevant. 19:38 zat ;) 19:38 ShadowNinja Also TXT_filecheck in the MODIFY_INVECTOTY_STACK section. 19:39 ShadowNinja And getEntriesSince. git diff isn't hilighting anything else in red... 19:40 zat ShadowNinja: no need to tell me about those, they can easily be removed with a single regular expression. 19:40 ShadowNinja zat: Then use that regex. :-) 19:41 zat Sure, next time I commit a change. 19:41 zat I dont want to sound rude... but do you have any actually useful comment about the implementation? 19:42 zat I need to know how it works, performs, on other systems. 19:42 ShadowNinja I like that the conversion speed display is more precise now, but I have only started testing it. 19:42 zat well yes, it commits once every second. 19:45 ShadowNinja zat: 14:44:30: ERROR[main]: ServerError: LuaError: error: C++ exception -- After running /rollback_check 10 100000000 19:45 zat let me try it 19:46 ShadowNinja It hapened after it was running for a while, trying to reproduce it... 19:47 zat wont it happen again? 19:47 ShadowNinja I'm waiting on a second run... 19:48 ShadowNinja Yep, I can reproduce it. Just use a really big number for the time to go back. 19:48 zat it must be sqlite refusing to accept such a big number 19:49 zat I have not made the queries fault tolerant yet 19:49 ShadowNinja It should accept any 64-bit number. 19:49 zat should! 19:50 ShadowNinja 100000000 is enough to trip it. 19:50 zat we will have to see what itis 19:52 zat ShadowNinja: now that I recall, for rollback_check the original code brings all the actions to memory and check their coordinates game-side. 19:52 zat I left that part untouched... 19:53 zat Probably the coordinates checking could be done SQL-query side. 20:09 ShadowNinja The rollback_check function returns a list of matching actions. Perhaps it should have a limit, eg the ten latest matches. And zat: /rollback_ckeck should definitely print the last 5-10 actions rather than only the most recent one. 20:18 zat I will see if I can make it compare the coordinates query-side. 20:18 zat because currently it *must* bring all matches and compare 20:50 sapier https://github.com/minetest/minetest/pull/884 any coredev to review and judge this pull request? 20:58 sfan5 sapier: seems fine 20:59 sfan5 as long as there are no mistakes in the code :P 21:00 sapier there are mistakes for sure ... first thing is I've written description.png in docs instead of description.txt ;-) 21:17 troller maybe add #895 to 0.4.8 milestone? 21:19 ShadowNinja troller: 21 commits? You shouldn't be submiting pull requests in this state. 21:19 sapier I'm not sure about it it changes lots of things if we're gonna release 0.4.8 soo this has to wait for 0.4.9 21:20 troller ShadowNinja, 2 manth ago it was only one commit 21:20 troller after 2-4 rebases again 1 21:20 sapier you should squash it it won't be merged as is for sure ;-) 21:20 troller i always squash before merge 21:20 ShadowNinja troller: Just use git commit --amend to begin with. 21:21 troller it works with pushed? 21:22 troller and look here https://github.com/minetest/minetest/pull/895/files 21:22 sapier but that's a quite unimportant detail actually I'd be glad with performance improvements but I can't decide if there aren't any hard to see bugs hidden within it 21:23 sapier and without some time of testing I'd not have a good feeling to add this to a stable release 21:23 troller better to do nothing... 21:23 troller 100% bug free 21:23 sapier it's not about bug free it's about stability 21:24 troller my server works fine. 21:24 sapier everything works fine within the environment it was created 21:24 troller it was created on by notebook 21:24 troller my 21:25 sapier that doesn't make a big difference unless you run it on 6 servers using different os and versions ... do you? 21:25 ShadowNinja bind_address rebased. 21:26 troller sapier, you check in this way every your commit? 21:26 troller its game with 100 players 21:26 troller and rules as in atomic station software 21:27 sapier troller my comments are always based on the asumption everything to be added prior 0.4.8 is related to either fix critical bugs or beeing without any risk 21:27 troller unable to play more than 5-10 players - critical and shame 21:27 sapier was 0.4.7 better? 21:28 sapier if not I'd not consider it "critical" 21:28 sapier but of course that's my personal opinion I guess other core devs may disagree 21:28 troller you never play in game too? 21:28 sapier I do yet not on servers true 21:30 sapier if you are confident enough these changes will not break things on windows or other os than yours I'm fine with merging but be sure I will remind you if it's not this way ;-) 21:30 ShadowNinja We aren't in a feature freeze yet, perhaps that should start on saturday or sunday and last a week unless more is needed? 21:31 sapier a week? 21:31 ShadowNinja And I consider the most critical current bug the fact that sapling trees spawn without leaves. 21:31 troller sapier, it os-independed 21:31 sapier we have that many changes in there noone even tries to fix we need a month to fix them 21:32 ShadowNinja sapier: Two weeks maybe, but we can't wait a whole month. 21:32 sapier have a look at my last bugfix ... the bug is os independent too yet it didn't occur on linux ;-) 21:32 sapier if you guys help me fix the bugs 2 weeks might be enough but the last weeks I more feel ppl keep on adding new features (bugs) instead of fixing issues 21:33 init ShadowNinja: we *need* to wait 21:33 init some things need to get fixed 21:33 sapier init what do you think needs fixing? 21:34 ShadowNinja init: Yes, but I think two and a half weeks is enough. 21:34 sapier lol shadow are you dreaming? ;-) 21:35 ShadowNinja Well, whatever, but when should the feature-freeze start? 21:35 sapier we haven't even decided how to fix the modstore hang issue and both possible options are far from minimal changes 21:36 sapier imho I'd start it immediatly 21:36 init that was i meant by "some things" sapier 21:37 ShadowNinja Both should be merged, but they need some modification to work together properly. 21:38 sapier of course but imho kahrls changes are way more invasive then the async things 21:39 sapier async only changes behavior of those calls related to the hangs while httpfetch changes almost any download 21:39 sapier and async is limited to mainmenu (for now) 21:41 sapier any other toughts to pro/cons of those changes? 21:43 ShadowNinja http_fetch should be available to Lua, asyncronously and syncronously, plus async Lua. http_fetch improves Minetest's downloading in more places than just the main menu. 21:43 sapier thats crap 21:43 ShadowNinja ? 21:43 sapier it's adding multiple async ways to api 21:44 ShadowNinja sapier: Is async Lua heavy at all? 21:45 sapier yes it's heavy compared to calling a single function but lightweight compared to a download 21:45 sapier so if you just want to multiply two numbers async is quite useless and only adds overhead 21:45 sapier but overhead is minor compared to overhead added by download 21:47 ShadowNinja Well then only add http_fetch, and not http_fetch_async. And use async Lua. 21:48 sapier that's what I intended to do 21:49 sapier as kahrl is busy I'm guess I need to do that 21:49 ShadowNinja But the http_fetch branch must be merged for it's other improvements. 21:50 sapier of course but without the mainmenu hangs it's not a blocker for 0.4.8 21:52 ShadowNinja sapier: Rearange the parameters to do_async so that multiple parameters or none can be passed. And does it suport multiple return values? Eg " return 5, {x=3, =4}, 'a string' " 21:52 ShadowNinja (Like minetest.after works) 21:52 sapier no 21:53 sapier that'd add useless complexity as I'd need to serialize a variable number of parameters passing a variable number and deserializing them 21:54 sapier you can always enclose your parameters withing a single table ... you could even write a wrapper funtion in lua 22:24 celeron55 i think the fast digging was stupid; it was hard to dig single nodes 22:24 sapier as far as I know it is already changed back? 22:25 celeron55 yes and PilzAdam complained 22:25 celeron55 read the log 22:26 sapier :-) I guess I shoud read more carefully 22:33 sapier any second agreement to 884? 22:34 sapier PilzAdam if I remember correctly you've been one of the ppl complaining about unintuitive modmgr? 22:41 ShadowNinja sapier: The new layout looks much better 22:42 sapier actually adding mod screenshot and description was intended at begining 22:42 sapier there was a todo in code ;-) 22:43 ShadowNinja Yes, I figured that from the title. 22:43 sapier hope you had a look at code too ;-) 22:43 BlockMen hey, could someone agree that i push that? https://github.com/BlockMen/minetest_game/commit/4f474d9b29731f586e1fcbf26df55ece91c4c4ec 22:43 ShadowNinja Nope, just the screenshot. *looks* 22:44 sapier argh ... 22:44 sapier :-) 22:44 ShadowNinja BlockMen: No, that code if broken and ugly, the Lua treegen code has to be rewritten and fixed. 22:45 BlockMen it has? why isnt it pushed? 22:45 ShadowNinja sapier: function tbl.splittext(text,charlimit) <-- What does this do? 22:46 sapier it splits a long textline to a array of short lines (at least if I remember correct ... some time ago) 22:47 ShadowNinja sapier: Use string:split() then. 22:47 ShadowNinja sapier: Does no_screenshot.png already exist? 22:47 sapier yes it's used in modstore 22:47 BlockMen ShadowNinja, where is the rewritten code? 22:47 sapier split doesn't work as required for this function 22:48 ShadowNinja Oh, I see what you mean. 22:48 sapier argh there's debug code in there 22:48 sapier that split function preserves newlines 22:48 ShadowNinja BlockMen: There is none. But the current code has to be redone. Use a schematic or read up on the LVM. 22:49 sapier preserve means a newline will create a new line in array too 22:49 BlockMen sapier, when testing #977 sometimes mt crashed without any error, warning, etc 22:49 ShadowNinja fgettext("no mod description available") <-- +Capital first letter and period. 22:49 BlockMen so i cant tell you any reason :\ 22:50 sapier any idea what you did when it crashed? 22:50 BlockMen ShadowNinja, why got this code pushed then? and how long will it need until someone rewrites it? 22:50 BlockMen IMO it should be fixed, because trees dont grow now at all 22:51 ShadowNinja BlockMen: Whoever aproved it didn't read the code or didn't understand it. And that depends, can you fix it? 22:51 sapier don't grow? they grew before so this needs to be fixed for 0.4.8 22:51 BlockMen sapier, when opening modstore 22:52 BlockMen https://github.com/BlockMen/minetest_game/commit/4f474d9b29731f586e1fcbf26df55ece91c4c4ec that fixes the sapling problem 22:52 ShadowNinja splittext can probably be rewritten to be nicer. But otherwise the code looks ok. 22:52 ShadowNinja They grow, but only trunks. 22:53 BlockMen and fixes the instant grow of jungle sapling 22:53 sapier I expected this wouldn't be very helpfull blockmen :-) 22:53 BlockMen trunks != trees :P 22:53 sapier would you mind trying to run a debug build within gdb? 22:54 BlockMen gdb? 22:54 ShadowNinja sapier: Who? Of what? 22:54 sapier talking to blockmen atm ;-) do you use linux or windows? 22:54 BlockMen windows (only) 22:54 sapier any other bugs in there shadow? 22:55 sapier ok I'll test on windows have done most of testing in linux ... what build variant do you use blockmenß 22:55 ShadowNinja sapier: Looks OK, although I haven't run it. 22:56 BlockMen release because debug doesnt work at all under msvc2010 22:56 sapier hmm difficult ... I'm gonna try if this happens in 2012 too 22:57 sapier yet my 2012 build is way more clean than official buildbot variant 22:58 BlockMen you may test it a few times, most time nothing happens 22:58 sapier puuhh .... that was close ... seems I canceled my accidental branch push to master soon enough 22:59 sapier ok I do a linux test first maybe it happens there too but more rare 23:00 BlockMen ok, back to my beginning question: is there a good reason to not fix tree growing? 23:00 sapier as I said if it did work in 0.4.7 and doesn't work now we need to fix it ... it has to work in 0.4.8 at least as good as before 23:02 BlockMen sounds like an agreement 23:03 ShadowNinja BlockMen: Your commit looks like an improvement, but the code needs a total rewrite. 23:03 sapier I haven't had a look at your fix if it really does this (not things like e.g. adding new sorts of trees)... but if it does I'm fine 23:04 sapier do I understand correct that most of those changes are moving from node.lua to tree.lua? 23:05 BlockMen sapier, yes, because adding all that code in node.lua made it unreadable 23:05 ShadowNinja Yes, makes it hard to tell what has changed. 23:06 sapier I'm almost everytime for spliting files (at least if it's not splitting a 10 lines file to two 5 line files) 23:06 BlockMen so this commit seperates the growing code, moves the abms to functions.lua, fixes the growth rate of jungle saplings and tree grows 23:06 BlockMen s/s/ing 23:07 BlockMen imo the dirt and grass abm has to be moved to functions to, but i wanted not mix uo commits 23:07 BlockMen s/o/p 23:08 sapier can you tell what lines actually contain changes? it's difficult to find them ;-) 23:09 BlockMen https://github.com/BlockMen/minetest_game/commit/4f474d9b29731f586e1fcbf26df55ece91c4c4ec#diff-fe24fdf96c7af2afc4edbda97f408e43R155 + 156 23:10 BlockMen and the contentid is read correct now because it was not registered in curent code yet 23:10 BlockMen ^ what caused the growing issue 23:11 sapier ok I'm fine with it even if this may still need rewrite it's better than current code 23:11 BlockMen k, i will add the new line at tree.lua and then push it 23:12 sapier I assume noone is working at that better rewrite atm 23:13 ShadowNinja BlockMen: Um, where is the old ABM removed? 23:14 BlockMen since nore wrote the code i checked his repo, but there was nothing new 23:14 BlockMen ShadowNinja, nodes.lua 23:14 ShadowNinja Oh, there it is. 23:15 ShadowNinja BlockMen: Do you actually fix the treespawning code though? 23:16 BlockMen yes, like i said already the problem was that the contentid was read before the node was registered. 23:17 BlockMen so i fixed the junglesapling abm and restructured the whole thing, see above 23:17 BlockMen i gonna push now 23:18 ShadowNinja Ok. 23:25 BlockMen sapier, hmm...im not able to reproduce the crash at #977 atm 23:26 sapier can you plz check the fix I just pushed it fixes a silly bug downloading any screenshot numerous times 23:27 BlockMen sure 23:27 sapier yet as this reduces complexity drasticaly the bug may occur even less frequent 23:28 sapier shadow did you manage to add error handlers everywhere? 23:28 ShadowNinja sapier: Not everywhere, I need help with script_run_callbacks. 23:29 ShadowNinja But almost everywhere. 23:29 sapier yea that one is really tough 23:29 ShadowNinja It has been running on VE's servers for a few days and seems to work. 23:29 sapier was hoping you could help with error handler in async calls guess I need to find out my self 23:30 ShadowNinja Except in the vector case -- The case it was written for. 23:30 sapier funny 23:31 BlockMen sapier, that fix is good 23:31 ShadowNinja It must be called from script_run_callbacks or similar. sapier: Check my 'pcall_errfunc' branch, but it has a lot of changes to facilitate the error handler, so my patch should be merged first. 23:32 sapier async isn't changing a lot of things most cases it just adds things (except within mainmenu there unused variables are removed) 23:33 sapier BlockMan yes but the original error may still be there just not beeing recognizable that often 23:36 sapier I hope libcurl is threadsafe ;-) 23:46 BlockMen well, lets see if i can reproduce anyway ^^ 23:47 BlockMen gd n8t 23:47 sapier gd n8t