Time Nick Message 00:51 VanessaE crash report for builtin/vector.lua: http://pastebin.com/NfbdHpXY 00:51 VanessaE idk what mod triggered this, but some basic sanity checking is probably needed on the fields that code takes 01:34 khonkhortisan yeah that's pretty normal 07:00 celeron55 http://lwn.net/Articles/529522/ 07:00 celeron55 this explains why gnutls makes sense even while it has "gnu" in it's name 13:39 PilzAdam https://github.com/minetest/minetest/pull/911 13:39 PilzAdam this fixes all bugs and compatibility issues with liquid_range 13:49 proller__ but not removes it 13:50 PilzAdam proller__, why do you want to remove it? all bugs are fixed now 13:50 PilzAdam and you need to adjust the drawtype for finite liquids anyway 13:51 proller__ why? 13:52 PilzAdam drawing the flowing texture even if the water doesnt move is wrong 13:52 proller__ make big copypaste for not touching your changes in content_mapblock.cpp ? 13:53 proller__ part of this fixed in liquid63 patch 13:53 PilzAdam why copy paste? just if(finite_liquid) {} else {/*my code*/} 13:55 proller__ in old liquids water never move, but drav moving texture 15:03 PilzAdam is anything actually wrong with #911? 15:07 sfan5 maybe it explodes minetest... 15:18 PilzAdam sfan5, nope, tested it 15:18 sfan5 well then.. 15:20 proller__ range must be removed, and used viscosity 15:21 PilzAdam proller__, no, range=0 is useful 15:21 PilzAdam I use it e.g. in Pilztest 15:21 proller__ for what ? 15:21 PilzAdam the whole game has only full nodes, I dont want flowing liquids thre 15:21 PilzAdam *there 15:22 proller__ why you use liquids? 15:23 kahrl viscosity and range are orthogonal concepts 15:23 kahrl why should the same parameter be used for both? 15:23 PilzAdam proller__, to have the special movement handling in them 15:25 proller__ im propose to patch liquid63 for old liquid and use levels instead range 15:27 proller__ its more correct and less hacky 15:28 PilzAdam how is range hacky? 15:29 proller__ content_mapblock.cpp - it must not touch it 15:34 PilzAdam why shouldnt the drawtype be adjusted depending on the range? 15:35 proller__ why should? 15:35 proller__ when drawing it look around to other liquid nodes 15:36 PilzAdam it uses level / maxlevel to calculate the base height 15:36 PilzAdam and maxlevel is different when range != 8 15:37 proller__ its hacky! 15:37 proller__ why it different? 15:38 PilzAdam maxlevel is the number of flowing nodes that surround the source 15:38 PilzAdam so it equals range 15:39 IceCraft Hello 15:41 proller__ PilzAdam, ok, my solution change maxlevel and automaticaly works in transform/show without hacks 15:41 PilzAdam yes, thats what range does 15:42 proller__ and my levels already works for sand-gravel 15:43 PilzAdam arent we talking about normal liquids? 15:44 proller__ no problem to make it with normal 15:46 proller__ but range must be removed 15:46 PilzAdam what do you mean? do you want to add levels to normal liquids? 15:47 proller__ yes 15:47 PilzAdam how would that work? 15:47 proller__ i dont want, but i can 15:48 proller__ like variable LIQUID_LEVEL_MAX/LIQUID_LEVEL_MASK 15:48 proller__ same as your range 15:48 PilzAdam so its bascically exactly the same as range but called "level"? 15:50 proller__ its change max level, and changed range is result 15:50 PilzAdam that sounds good 15:50 proller__ visually - same 15:50 PilzAdam is it backwards compatible? 15:51 proller__ maybe with minor glitches 15:52 proller__ but smaller than current range bugs 15:52 proller__ like node with 150% height 15:53 PilzAdam with #911 there are no bugs left 15:53 proller__ ^^ and glithes only when levels changed 15:53 PilzAdam the only glitch is that on old servers the flowing liquids are at 50% 15:53 proller__ by default no glithes 15:53 PilzAdam 150% height nodes sounds rather not "minor" to me 15:55 proller__ its possible bugs, not current 15:56 PilzAdam can you just implement that so we can test it? 15:57 proller__ yes 15:57 proller__ ^^ bugs possible now between current git- and liquid63 branch 15:58 proller__ old client-server with new must works correctly, or with minor level lowering on flowing nodes 16:20 thexyz I think #910 is a blocker 16:20 PilzAdam thexyz, I guess we are not supposed to translate that: https://github.com/minetest/minetest/blob/master/src/main.cpp#L1412 ? 16:22 kahrl any idea what could cause #910? 16:22 kahrl or what introduced it? 16:22 celeron55 PilzAdam: read the log 16:28 pitriss sfan5: hi, please, did you compiled that localsave client for windows? 16:28 sfan5 pitriss: I'll do that now 16:28 thexyz kahrl: dunno, but I bet on "Made the main menu Lua based" 16:30 pitriss sfan5: thank you very much. 16:30 PilzAdam ah, so I just translate it with "no" for german 16:31 kahrl korrekt 16:34 thexyz PilzAdam: or you just don't touch it 16:34 PilzAdam I want that the german translation is 100% 16:34 PilzAdam otherwise others might write something invalid into it 16:47 sfan5 thexyz: leveldb updated to use STL containers 16:51 thexyz great 16:51 thexyz sfan5: did you test migrations? 16:51 thexyz both ways 16:52 kahrl what is different about gettext in windows that could cause #910? 16:53 kahrl I tested the 3 languages in linux and they work (well japanese is missing some translations) 16:54 thexyz kahrl: we need to bisect it, it worked fine in the past, even with Japanese 16:54 thexyz (though I had to replace the font) 17:02 sfan5 thexyz: yes 17:03 thexyz okay, then what are objections to merging it? 17:05 * sfan5 would merge it 17:05 sfan5 (maybe in this case more than 1 core dev needs to agree) 17:10 ShadowNinja When I tested the levedb pull I noticed that loading singleplayer worlds took a lot longer, particularly the "Item Definitions..." step. Has anyone else noticed that? 17:10 sfan5 nope 17:10 celeron55 i'd say that is impossible to happen 17:11 celeron55 hmm, well, it could be possible if opening a leveldb world takes long 17:11 celeron55 does it fully index it somehow each time? 17:12 celeron55 sqlite does practically nothing if time is considered 17:13 thexyz meh who cares 17:17 PilzAdam sfan5, I cant create a world in the leveldb branch 17:17 PilzAdam terminate called after throwing an instance of 'BaseException' 17:17 PilzAdam what(): Unknown map backend 17:18 sfan5 "backend =" line of world.mt? 17:18 PilzAdam backend = sqlite3load_mod_basejump = false 17:19 PilzAdam I guess a \n is missing there 17:19 sfan5 yep 17:19 celeron55 how is that possible 17:19 sfan5 map.cpp forgets to write std::endl 17:19 celeron55 wat 17:19 sfan5 s/map.cpp/whatever-file/ 17:20 sfan5 subgame.cpp:245: ss<<"gameid = "< 17:50 PilzAdam sfan5, --migrate should also delete the old format 17:50 sfan5 sapier: not possible 17:50 sapier btw there's no support for "backend" keyword in modmgr too as that parameter wasn't there by now 17:51 sfan5 modmgr filters the values in world.mt by name instead of just keeping the old ones, bad idea 17:51 sfan5 s/,/? / 17:52 PilzAdam "migrate" means to me: move away from something to something else 17:52 thexyz sure 17:52 sapier modmgr rewrites the whole file so no filtering at all 17:52 PilzAdam and the "move away" part is currently missing in the --migrate command 17:52 thexyz so let's delete old map 17:52 thexyz and if new one doesn't work then well 17:52 thexyz bad luck 17:53 sapier I guess we have another "world.mt" could be lost issue here 17:53 PilzAdam thexyz, people make backups anyway 17:53 thexyz lol 17:53 thexyz PilzAdam: nice world you live in 17:53 PilzAdam Minetest isnt very friendly to world data anyway 17:53 thexyz so let's make it even more unfriendly 17:53 thexyz because people are used to it 17:54 sapier if you want to merge the leveldb support you need to add support to modmgr to this too 17:54 thexyz how about a vote? I'm against old world deletion 17:54 * sfan5 too 17:54 PilzAdam I think it should be optional 17:55 thexyz okay, let me rephrase 17:55 sfan5 anyway how is deleting the old format supposed to work? there is no function for that in the Database class 17:55 thexyz I'm against old world deletion and there shouldn't be an option for it because every sane human can execute rm by hand 17:55 sfan5 ^ 17:56 PilzAdam if you want to migrate a 10GiB map then you need another 10 GiB free disk space 17:56 PilzAdam would it be possible to remove the blocks that are converted from the old database while converting? 17:57 sapier are you really complaining about 10gb of disk space ? :-) 17:57 PilzAdam so you basically move them, instead of copying 17:57 thexyz meh 17:57 thexyz okay 17:57 ShadowNinja PilzAdam: The code deletes the blocks in memory I beleive, but doesn't save. 17:57 sfan5 doesn't this delete it? https://github.com/sfan5/minetest/blob/leveldb/src/main.cpp#L1260 17:57 sapier nobody sane will risk complete loss of map due to on the fly deletion 17:57 PilzAdam --migrate would be ok to me 17:58 thexyz now I shall rephrase again 17:58 thexyz I'm against old world deletion and there shouldn't be an option for it because every sane human can execute rm by hand and there shouldn't be an option for on-fly chunks deletion 17:58 thexyz sfan5: it unloads them from memory 18:01 PilzAdam imagine a server admin having a VPS with 15 GiB disk space and a 9 GiB Minetest world; he isnt able to migrate to leveldb because there is simply not enough disk space 18:02 thexyz PilzAdam: I think leveldb should be merged in its current state and only then options like this should be implemented 18:03 PilzAdam it isnt something that blocks a merge 18:04 thexyz okay, so you're not against it 18:04 PilzAdam but as kahrl said, do we really need to bundle leveldb? 18:04 thexyz do we really need to bundle sqlite 18:04 thexyz do we really need to bundle lua 18:05 thexyz do we really need to bundle jthread 18:05 PilzAdam jthread: yes, we modified it 18:05 PilzAdam lua: yes, we need to be sure that 5.1 is used 18:05 PilzAdam sqlite: would it work on windos without it bundled? 18:05 thexyz modifying jthread was a bad idea 18:05 thexyz it should be renamed, at least 18:06 PilzAdam all the other optional libaries are not bundled: gettext, luajit, freetype 18:06 thexyz meh 18:06 thexyz I'm officially giving up 18:07 sfan5 well 18:08 sfan5 if we merge leveldb sqlite could be an optional library too 18:08 sfan5 so we don't need to bundle sqlite 18:08 PilzAdam sfan5, will this be good for windows? 18:08 sfan5 can someone test this? https://github.com/sfan5/minetest/commit/5f6f395d10ef15b950f2095ec5229d3734c11c5e 18:08 sfan5 dunno 18:09 sfan5 who agrees with merging leveldb in its current state? who disagrees with merging leveldb in its current state? 18:13 sfan5 thexyz: ubuntu only has a highly outdated version of leveldb in its repos, is that a reason for bundling leveldb? 18:16 thexyz I'm all for merging it 18:17 * sfan5 is too 18:17 thexyz maybe without last commit 18:17 thexyz but it's not too bad 18:17 thexyz so I'm ok with it 18:18 sfan5 personally I expect of a "migration" to update the settings 18:19 sfan5 no other coredev wants to comment? 18:19 PilzAdam what about the thing with modmgr thtat sapier mentioned? 18:20 sfan5 apparently we need to tell modmgr not to delete the setting when rewriting the config file 18:23 sfan5 https://github.com/minetest/minetest/blob/master/builtin/modmgr.lua#L514 18:27 sfan5 sapier1: could you please rewrite the code to preserve all non load_ keys? 18:27 sfan5 PilzAdam: fix pushed 18:29 sfan5 can we merge leveldb now? 18:30 sapier1 https://github.com/minetest/minetest/pull/912 18:31 sapier1 fix bug with textures in main menu 18:31 sapier1 yes but the problem is still you have a invalid line in your config 18:32 sapier1 key = (nothing) isn't a valid line ;-) 18:32 sfan5 the line was "backend = sqlite3load_mod_basejump = false" not "backend = " 18:33 sapier1 and your "backend = " line isn't a line with missing value? 18:33 sfan5 also according to settings.h "foobar = " is a vaild value 18:33 sapier1 to me it isn't 18:34 thexyz it is 18:34 thexyz it's a setting with empty value 18:34 sapier1 so what should a mod be set if it's set to "load_mod_something =" 18:34 sfan5 fals 18:34 sfan5 *false 18:34 sfan5 also if you have any question about the config file ask PilzAdam, he was having the problem 18:34 sapier1 that's a convention ... and not a very sane one 18:36 sfan5 what about merging leveldb now? 18:36 sapier1 and yes it could be rewritten ... I'm just reluctant to fix any bug in mainmenu just because someone adds new features the original code wasn't designed to support ... of course it would've been better if it was designed that way ... it just wasn't necessary by that time 18:36 PilzAdam sfan5, is there conseus on bundling leveldb? 18:37 sfan5 I guess bo 18:37 sfan5 *no 18:38 sfan5 what about making a vote whether we should bundle leveldb? 18:38 thexyz PilzAdam: what are other options? 18:40 thexyz why shouldn't we use bundled leveldb? 18:40 thexyz afaik chromium does that 18:40 PilzAdam thexyz, read the logs, all the arguments are there 18:41 thexyz what date? 18:41 PilzAdam today 18:42 sapier1 I'll add a feature to preserve lines not starting wit load_mod but everything else is up to the one adding new features 18:42 sapier1 and of course you have to test that thing I don't have time to evaluate leveldb branch 18:43 PilzAdam sapier1, wouldnt it be better to give Lua a way to create a Settings object from core? 18:43 sapier1 I don't se how this is related to worldconfig 18:44 thexyz I'm against using distro library because 1) we can't update those 2) having map backend up-to-date is very important 3) users with different versions of leveldb may (or may not) experience different errors, it's easier to handle when there's only one version 18:44 sapier1 btw I already have pull request with something very similar that was never added 18:45 sapier1 it's within the secure file access api 18:46 PilzAdam sapier1, the Settings object does exactly what the worldconfig reader should do 18:46 ShadowNinja IMO we should have something like mods = moretrees, moreores, areas... If the setting didn't exist all mods would be added to it, but any new mods wouldn't. 18:46 sapier1 no it doesn't 18:46 sapier1 unless there's a way to traverse all settings 18:46 ShadowNinja load_mod_ Is ugly and takes up a lot more space in the file. 18:47 sapier1 ok guys do you want a fix or a redesign? 18:47 PilzAdam sapier1, as far as I can see world.mt has the same format as minetest.conf 18:47 sapier1 that's not the point 18:48 PilzAdam what do you mean by "traverse all settings"? 18:48 sapier1 in settings you already know the key for world config you generaly don't know the key names 18:48 ShadowNinja Creating your own settings objects in lua would be nice for this and mod confihuration files. 18:48 sfan5 hmmmm: did this ever come to an use? https://github.com/minetest/minetest/blob/master/src/settings.h#L581 18:49 sapier1 Shadow try secure file api there's opening file in settings mode support 18:49 ShadowNinja sapier1: mods = modname, modname2... Would fix the key issue. Although settingsLto_table() would be nice. 18:49 PilzAdam sapier1, I dont get it 18:49 ShadowNinja s/L/:/ 18:49 sapier1 yes it would but you'd have to convert on the fly 18:49 PilzAdam why not simply settings:get("load_mod_"..modname) ? 18:49 sapier1 you don't have the modname 18:50 PilzAdam ah 18:50 sapier1 of course you could try all available mods but this way you couldn't disable a mod that was already deleted 18:53 PilzAdam sapier1, Settings::getNames() returns all keys 18:53 ShadowNinja local worldmt = Settings(worldpath.."/world.mt") local worldmt_table = worldmt:to_table() 18:53 PilzAdam you can simply go through them and pick the mods 18:54 sapier1 ok who is going to extract the settings support from secure file api (or rewrite it)? 18:58 ShadowNinja ^ You wrote it... 18:58 sapier1 you want it 18:59 sapier1 https://github.com/sapier/minetest/tree/Add_support_for_preserving_unknown_world.mt_lines 18:59 sapier1 can someone try if this solves your issues? 19:01 sapier1 PilzAdam I don't see a big benefit of settings in this very special case 19:03 sapier1 ok no one ... I'll create a pull request if someone wants to try it later 19:04 PilzAdam I can look into that Settings thing 19:04 sapier1 it's not a big deal it's just a lot of compatibility code and different usecases you have to handle 19:06 sapier1 ok no compatibility code as format is same 19:06 sapier1 so only some c++ code and some modmgr code to be rewritten 19:07 thexyz PilzAdam: are we merging leveldb? 19:08 PilzAdam thexyz, there is still no decision on leveldb inclusion 19:08 PilzAdam *bundling 19:09 PilzAdam btw, I vote for no 19:09 * sfan5 has a cmake file ready w/o bundeled leveldb 19:09 PilzAdam the other devs should vote too 19:09 sapier1 is there a documentation what will be better with leveldb? 19:09 thexyz I vote for yes 19:09 sfan5 sapier1: no 4GB limit, faster, DB doesn't break so easily 19:10 sfan5 I vote for yes 19:10 sapier1 any proof for this? 19:10 * Jordach votes for yes 19:10 sfan5 4GB limit, yes; others, no 19:11 Jordach it's also takes 30% less space than a normal sqlite3 map 19:11 sfan5 Jordach: the vote is not about whether we should merge leveldb, it is about whether we should include the leveldb source code in minetest/minetest or not 19:11 Jordach oh 19:12 sfan5 merging leveldb is already accepted 19:12 thexyz kahrl: http://irc.minetest.ru/minetest-dev/2013-09-09#i_3310465 19:14 sapier1 does leveldb really not support sql? 19:14 thexyz yes, it's key-value storage 19:14 thexyz sql is overkill for minetest 19:15 thexyz because it uses sqlite as a key-value storage 19:15 thexyz and leveldb is a key-value storage 19:15 thexyz what a great coincidence 19:15 sfan5 sqlite is designed for databases with multiple fields, not for key-value things 19:15 sapier1 so we can't switch e.g. to a mysql db without reverting that changes? 19:16 thexyz what changes? 19:16 sfan5 you can just --migrate sqlite3 19:16 thexyz you can write a mysql backend (and there was one) but it's pointless 19:17 sapier1 ok so you want to maintain multiple db interfaces within minetest ? 19:17 thexyz explain 19:18 sapier1 I'm not against leveldb I just want to know what the benefits are and what we have to give to get them 19:18 thexyz this pull request was created 9 months ago 19:18 thexyz the commit is dated 11 months ago 19:18 sapier1 and it didn't seem to be merged anytime soon (at least to me) ;-) 19:18 thexyz it still applies fine 19:19 thexyz what are those "maintain multiple db" problems you're imagining? 19:19 sfan5 the benefits again (mainly for big servers): no 4GB limit, faster, DB doesn't break so easily, less disk space usage 19:19 sapier1 nothing was changed in map structure for good reason 19:19 sfan5 define "map structure" 19:19 sfan5 nothing was changed within MapBlock serialization 19:19 sfan5 it completely downwards-compatible 19:19 thexyz sapier1: okay, what could change? 19:19 sfan5 *it's 19:20 sapier1 I don't believe genereal "faster" ... first benchmark I had a look tells general benefits for leveldb but there are some scenarios where sqlite is faster too 19:20 thexyz sapier1: I don't think sql will ever be faster for what we're using it 19:20 sapier1 I don't know 19:20 thexyz again 19:20 thexyz you're comparing different things 19:20 sapier1 sqlite3 is faster for random reads 19:21 thexyz okay 19:21 thexyz it is, I'll believe you 19:21 thexyz now what? 19:21 thexyz this doesn't help this 4gb issue 19:21 sapier1 at least if that benchmark is correct ... as it's official leveldb benchmark I assume they don't make them worse than they are http://leveldb.googlecode.com/svn/trunk/doc/benchmark.html 19:22 sapier1 most time they are way better than sqlite3 19:22 sapier1 yes it doesn't help for 4gb issue 19:22 thexyz now, what are your reasons to not merge it? 19:23 sapier1 so we have loss of sql compatibility and (possible) minor performance degration against 4gb fix ... (for now) 19:23 sapier1 that could be worth the swicht 19:23 thexyz or, more likely, performance increase 19:23 sfan5 <sapier1> so we have loss of sql compatibility 19:23 sfan5 no? 19:24 thexyz okay, so you're fine with it 19:24 sapier1 maybe but I'd expect minetest to do more random operations than sequential ones ... but I don't have a proof for that 19:24 sapier1 btw leveldb suffers from ext4 19:25 thexyz not much 19:25 thexyz or whatever 19:25 sapier1 by now I'm pair neither leveldb nor sqlite3 fully convince me 19:25 thexyz are you ok with merging it? 19:26 thexyz are you against it? 19:26 thexyz no, wait, merging is decided already 19:26 sapier1 If I had to decide I wouldn't merge it due to lack of obvious benefits 19:26 thexyz > 4gb 19:27 sapier1 is equalized by proprietary api and unknown performance impac 19:27 thexyz obvious benefit, delivered 19:27 sapier1 at least to me 19:27 thexyz okay 19:27 sfan5 thexyz: what about asking celr*n55 about merging leveldb? 19:27 thexyz I've spend so much time on this shit 19:27 thexyz it's not fun anymore 19:27 thexyz so please decide it without me 19:28 sfan5 :-/ 19:28 sapier1 sfan5 I'm not a core developer so for formal merge decision you can just ignore my opinion 19:28 sfan5 I'm also annoyed and want to get this merged 19:28 pitriss i don't want to mess into discussion too much but sql backend could be fine too, just because lot of ppl have mysql/pgsql already installed.. 19:29 sfan5 it is not like the leveldb pull removed the sql way of doing things 19:29 sapier1 thexyz I can imagine how much work this was as switching db api is always a big issue 19:29 sfan5 sql will probably be the default backend for windows users until someone gets proper win32 support for leveldb done 19:29 sapier1 sfan5 we don't have capacity to maintain both mid term one of those will have to die 19:30 sapier1 or die slowly because noone is interested in fixing bugs 19:31 sfan5 leveldb won't die because it doesn't have the 4gb limit which is very helpful for big servers and SQLite3 won't die because it will be the default backend for windows users 19:31 sapier1 imho thats worst option as this will bind capacitys to fix issues 19:33 sapier1 do we have any way to record a typical minetest db operation profile? maybe performance is really that much better for us than sqlite3? 19:35 sfan5 add some printf statements in map.cpp (master) or database-sqlite3.cpp (sfan5/minetest@leveldb) 19:35 proller__ much easier skip saving not changed blocks 19:36 proller__ and reaching 4g will be impossible 19:37 sfan5 reaching 4GB is NOT impossible 19:37 sapier1 at cost of cpu power to recreate it any time 19:37 proller__ for 10+ years ? 19:37 sfan5 on servers like redcrab's it's definetly not impossible to reach 4GB 19:38 sfan5 even if unchanged blocks are not saved 19:38 proller__ sapier1, cpu now fast 19:39 sapier1 proller you know how slow map generation is so not sure if this is really true for minetest 19:39 proller__ i now have 1438M 19:39 proller__ sapier1, not much slower than loading 19:40 sapier1 I don't know I have to believe that 19:40 proller__ sapier1, now you can fall at speed 100nodes per second with map generation without stuck * 19:40 proller__ * - with my ppull 19:40 sapier1 and I'm with sfan5 4gb limit is that near we can't ignore it 19:41 sapier1 proller I guess you haven't added mods by now? ;-) 19:41 proller__ without mods 19:42 sapier1 you should try if it's worth to optimize further as mods using on_generated may cause a lot of additional load 19:43 thexyz sapier1: do you have any idea? https://github.com/minetest/minetest/issues/910 19:45 sapier1 I didn't even know chinese is supported ;-) 19:46 sapier1 and I have no idea why this doesn't work 19:46 thexyz it's 90% translated; having i18n is very important 19:46 thexyz we need a "blocker" tag, opinions? 19:46 thexyz err, label 19:46 sapier1 yes 19:47 sapier1 I'm absolutly positive 19:47 sapier1 still I don't know why this happens there are others using utf8 too with no issues 19:47 thexyz okay, done 19:47 thexyz only happens on Windows, reproduces in Wine 19:48 sapier1 maybe a general gettext issue? 19:48 thexyz worked fine before 19:48 thexyz I think formspec menu is the culprit 19:48 sapier1 gettext wasn't used in formspec menu before 19:48 thexyz but I didn't test it since I have no mingw setup 19:49 thexyz I'm talking about pre-formspec-menu era 19:49 thexyz okay, let's say it's related to this 19:49 sapier1 yes so there has to be a difference between the new added formspec gettext support and the way it was used before 19:50 sapier1 didn't someone switch to translate a text in core send it to lua and send then back to core? 19:51 thexyz https://github.com/minetest/minetest/blob/master/src/gettext.h#L43 19:52 thexyz oh, no, it should be fine 19:52 thexyz I have no idea how does gettext<->lua work 20:02 thexyz ideas? 20:02 sapier1 yes but I can't test 20:03 sapier1 my first guess is to try what happens if text isn't transfered from core to lua and back 20:03 sapier1 btw does localization work in linux? 20:04 thexyz yes 20:04 sapier1 so a windows only issue? 20:04 sapier1 what's the internal charset used for windows builds? 20:04 thexyz http://i.imgur.com/Ox1tgmn.png 20:04 thexyz I have no idea 20:05 thexyz but it was ok before 20:05 sapier1 half translated? 20:05 thexyz half translated is not a bug, it's how it is 20:05 sapier1 ok thats linux 20:06 sapier1 do you have a windows testenv? 20:06 thexyz I can't compile for windows, ask sfan5 20:07 sfan5 are you able to install mingw toolchain? 20:07 sapier1 sfan5 could you try if 910 is in https://github.com/sapier/minetest/commits/add_lua_mainmenu_gettext too? this way we could rule out that string conversion from core to lua and back are an issue 20:08 sapier1 able yes but it won't be a quick task so if you have everything ready we could have a result in half an our if I need to to it it's most likely by friday 20:08 sfan5 depending on the os that just a matter of " install mingw32" 20:09 thexyz we need to make something like minetest translation marathon; like it was with the wiki 20:09 sfan5 the rest is right here: https://dl.dropboxusercontent.com/u/30267315/Minetest/minetest-buildbot.zip 20:09 sapier1 it's not setting up a full new toolchain including all libs etc is usualla a daytime task 20:09 sapier1 I don't use that script 20:09 sfan5 why not? 20:10 sfan5 oh... 20:10 sfan5 no 20:10 sapier1 I already told that when you added additional binary libraries to that thing last time ;-) 20:11 sapier1 but you don't need to compile it it's just been a question 20:11 sfan5 all you need to do to build for windows install mingw and fire up the script in the zipfile, nothing more 20:11 sfan5 I can build, but I will go to sleep soon 20:12 sapier1 no problem I guess that issue will be here tomorrow too 20:12 sapier1 I'll try myself once I have time but I can't promise when this will be ... and no I wont run that script 20:13 thexyz I wonder what does this script contain 20:13 sapier1 some download and install mechanisms for binary code from various locations 20:14 sapier1 I haven't evaluated this in detail and I wont do that thats why I don't use it 20:16 sfan5 umm 20:17 sfan5 that script does not run any downloaded binary 20:17 thexyz paranoia ;) 20:17 sfan5 it only downloads libraries needed and builds minetest from the official sources 20:17 sapier1 I'm not half as paranoid prooven to be necessary 20:17 sfan5 it also doesn't install anything 20:17 celeron55 one is allowed to wear a tinfoil hat, but i think it is utterly impolite to request others to do work for oneself because of that hat 20:18 sfan5 celeron55: since you are here now, would you include the libleveldb source code in the repository? 20:19 celeron55 btw, does sapier1 know this problem? http://cm.bell-labs.com/who/ken/trust.html 20:19 sapier1 celeron55 Die Aktion lässt sich nicht ausführen 20:19 sapier1 Unbekannter Rechner 20:19 celeron55 the problem of bootstrapping compilers with precompiled version of the same compiler 20:19 celeron55 and how they can contain injected code buried deep within 20:19 sapier1 --> can't open that link ;-) 20:20 sapier1 still it's even more impolite to push any bug related to scriptapi mainmenu whatever to me ;-P 20:20 thexyz didn't you code it? 20:21 sapier1 chances are high that this bug is in my code but as i18n wasn't added the way I suggested there's a way more than zero chance it's not my fault too 20:23 sapier1 but if you want to start the "you did it wrong fix it"-game I'll investigate this one as soon as possible and drop any fix as soon as I prooven it's not my fault 20:23 sapier1 or fix it if it was my fault of course 20:25 thexyz no one told you have to fix that 20:26 sfan5 apparently nobody wants to say their opinion about the conflicts that is holding back leveldb from merge 20:26 sfan5 -s 20:26 thexyz I'm for merging it 20:26 sapier1 "(22:20:54) celeron55: one is allowed to wear a tinfoil hat, but i think it is utterly impolite to request others to do work >>>for oneself <<< because of that hat" correct me if this isn't meant as fixing this issue is my work 20:27 thexyz just forget it 20:27 celeron55 sfan5: my take on leveldb is that get the abstraction layer in ASAP 20:28 celeron55 stuff other than that is much less important 20:28 sfan5 yeah, but there has been a recent argument whether leveldb source code should be included in the main repository 20:28 thexyz how could other stuff be less important 20:28 thexyz there's no point in having good abstraction layer without having actual backends 20:29 sfan5 (we somehow decided that we want more than 2 coredevs agreeing...) 20:29 sfan5 which is currently not the case 20:29 celeron55 because including leveldb is easy after that; spreading decisions over time makes stuff easier for people to handle 20:29 thexyz because PilzAdam disagreed which makes 1+1-1=1 20:29 sapier1 lol you should start politics celeron ;-) 20:30 thexyz right, right 20:30 thexyz it will only take another year 20:30 sapier1 but at least at that point you're right 20:31 celeron55 i really don't want to dig up what actual issues leveldb has 20:31 celeron55 if it has none, then just throw it in 20:31 celeron55 but i think i've heard something else 20:32 PilzAdam sapier1, is from_table() needed for settings? 20:32 PilzAdam I think its not that useful 20:32 sapier1 not for settings but it's required for worldconfig 20:32 sapier1 if you wanna use it there 20:32 PilzAdam I already have to_table() 20:33 sapier1 so why do you ask? ;-) you need a way to get all keys if you wanna use settings for worldconfig ... what way isn't that important 20:33 PilzAdam hmm.. I either need to add is_yes() or add to_bool_table() 20:33 celeron55 also, if leveldb is not default on some platform, then it must be non-default on all platforms so that regular players can interchange worlds; owners of huge servers know what they're doing and can use leveldb as they see needed 20:33 sapier1 as modname is mixed up to key there 20:34 PilzAdam sapier1, I asked about from_table(), its different from to_table() 20:34 sfan5 sqlite3 is tt default for creating worlds 20:34 sfan5 the default backend* 20:34 sapier1 oops 20:35 sapier1 sorry no we don't need a way to make a setting element from a table ... I guess this wouldn't even be possible for all tables 20:35 celeron55 sfan5: so does leveldb work at the moment as a default-to-disabled build-time option which uses a system-installed leveldb? 20:35 PilzAdam currently in to_table() all values are strings; should I add an is_yes()? 20:36 sapier1 if you do so you should cleanup mainmenu code wich uses it's own code at some locations (as far as I know) 20:37 PilzAdam so add minetest.is_yes() ? 20:38 sapier1 why not settings:get_bool() 20:38 PilzAdam its not useful for to_table() 20:38 celeron55 sfan5: if so, then throw it in 20:38 sapier1 oh ok you're right 20:39 sapier1 I guess it'd be enough to have this as builtin 20:40 PilzAdam wouldnt it be better to use is_yes() from string.h, to be sure to have exactly same results? 20:41 PilzAdam meh, Ill just copy it to builtin 20:42 sfan5 celeron55: it currently uses a bundled leveldb, this is what we were aruguing about; you are against a bundled leveldb? 20:42 sapier1 string.h the system header or do we have a name collision within minetest? 20:42 PilzAdam util/string.h 20:43 sapier1 funny of course we shouldn't add a inconsistency chance so if we already have a is_yes we should use it 20:44 celeron55 sfan5: we really only bundle for windows, and leveldb is available as distro package on linux 20:45 celeron55 which is yes, i am against bundling it unless it works directly on windows 20:45 sfan5 I guess we'll use a sytem-wide leveldb then 20:46 PilzAdam sapier1, indeed minetest.is_yes("") fails the assert() from test.cpp (I ported it to Lua)) 20:46 PilzAdam so Ill use the one from the core 20:46 celeron55 we need to make sure server maintainers get to know about leveldb somehow; probably mention it on a wiki page or something 20:47 sfan5 |#| Merge of LevelDB pull incoming 20:54 PilzAdam has someone added src/leveldb/CMakeFiles/ to .gitignore? 20:55 sfan5 not necessary 20:55 sfan5 leveldb sourcode was not included 20:55 PilzAdam ah, (havent read the logs yet) 20:55 * sfan5 will go to sleep now 20:56 PilzAdam I have finished the Settings interface for Lua: https://github.com/PilzAdam/minetest/commits/LuaSettings 20:57 Exio4 is the commit flood that is on upstream right now ok? 20:57 PilzAdam ... and I forgot lua-api.txt 21:05 sfan5 maybe someone should write a news topic about LevelDB? 21:05 PilzAdam https://github.com/PilzAdam/minetest/commits/LuaSettings <- updated 21:06 ShadowNinja Compiler warnings after updating, second seems related to the leveldb pull. http://pastebin.ubuntu.com/6085179/ 21:10 ShadowNinja PilzAdam: l_settings.ccp line 179: No closing brace 21:11 PilzAdam ShadowNinja, good catch 21:12 PilzAdam fixed 21:12 ShadowNinja The rest looks good, although the result of get_names can be determined by to_table. 21:12 PilzAdam yea, I thought about that too 21:14 Exio4 how do i switch to leveldb-by-default? 21:14 Exio4 i don't see any option for that 21:15 ShadowNinja default_db = {sqlite3,leveldb,dummy) in minetest.conf would be good... 21:36 PilzAdam thexyz, http://translate.minetest.ru/projects/minetest/core/fr/translate/?sid=ddfac3be-1997-11e3-b981-5404a6b201f0&offset=220 21:38 Exio4 just got http://dpaste.com/1372626/ 21:38 PilzAdam Exio4, debug build and gdb 21:39 Exio4 will 21:49 iqualfragile_ i want to test leveldb, instructions? 21:51 Exio4 i used default_db = leveldb and a new world 21:55 PilzAdam Exio4, there is no default_db option in minetest.conf 21:55 Exio4 there isn't? 21:56 Exio4 so my overclock works 21:59 iqualfragile_ PilzAdam: then: what to do/where are the instructions? 22:03 PilzAdam you run bin/minetest --server --world worlds/whatever/ --migrate leveldb 22:03 PilzAdam then you have map.db and map.sqlite in the world directory, and can choose the backend via "backend" in world.mt 22:04 iqualfragile_ but they to get out of sync 22:04 PilzAdam yes 22:05 iqualfragile_ so is there a --migrate sqlite ? 22:05 PilzAdam yes 22:07 iqualfragile_ great 22:20 ShadowNinja --migrate sqlite3 actually, but you normally delete the old DB.