Time Nick Message 05:36 RealBadAngel hi 05:42 VanessaE hi 10:33 reactor Eh! 10:35 reactor Oops. 10:36 reactor Well. The question is, why can't Minetest handle 8-bit encodings without gettext? 10:36 reactor Is that a limitation of Irrlicht? 10:36 reactor (but server is affected, too) 19:30 VanessaE am I the only one who is getting a plain brown background in the main menu? 19:31 VanessaE (when using a texture pack that supplies valid menu images I mean) 19:34 sapier hmm I assume something is broken due to moving the mainmenu scripts 19:35 ShadowNinja BuildCraft is back. They claim that the source is here: https://github.com/gameabc/worldcraft it might be legit. There are some new folders in gamesrc and the Java is included. 19:39 sapier interesting, but their licensing is a mess ;-) 19:40 ShadowNinja BuildCraft is actually quite playable now. 19:41 sapier what's better there we can use for our android port? 19:41 ShadowNinja It's built with VERSION_STRING="" though. 19:42 ShadowNinja sapier: Rendering is faster, I can see more than one mapblock at a time. 19:42 VanessaE I wonder about the iOS version they distribute 19:42 VanessaE where's the code for that one? 19:42 ShadowNinja (Maybe 16 blocks) 19:42 ShadowNinja sapier: The menu is also much more complete. 19:42 sapier ok then it's worth looking what they did 19:43 sapier argh 19:43 ShadowNinja sapier: You should also make the fly toggle in-game, not at the menu. (Oh, and it doesn't persist) 19:43 sapier what do you suggest how to toggle fly in game? 19:44 ShadowNinja sapier: A simple toggle button. 19:44 sapier I know admins usually use it but normal players don't ... adding a button just for admins seems a little bit overdesigned to me? 19:46 ShadowNinja Everyone normally uses fly on my server, and I find it very annoying to have to reconnect to switch. And MT is already capable of it, so it shouldn't be hard. 19:46 sapier I'd like to hear another ones opinion on this 19:47 sapier worldcraft is way beyond minetest master 19:47 sapier at least in large parts 19:52 sapier ShadowNinja: they set the minimum view range to 50 while it's set to 10 in my port ;-) 19:52 ShadowNinja What are your thoughts on adding "warning" and "trace" loglevels, and moving a lot of messages from info to debug? 19:52 sapier ahh wait the max is set to 50 19:52 sapier the min is set to 20 for them 19:53 ShadowNinja sapier: Ah, that might help. Turn it up in your fork too, 0 (or really 1) is unusable. 19:53 sapier I guess it'S gonna cause some discussion about what is warning what trace but I'm generally positive ... at least if you fix the other bugs you added recently first ;-) 19:54 ShadowNinja Trace is even more verbose than debug. 19:54 sapier they have some performance related settings quite different, maybe theirs are better 19:54 ShadowNinja I think it's called verbosestream though, and dstream is just std::cerr. 19:55 ShadowNinja Warningstream is for things like depreciation warnings. 19:56 ShadowNinja It should be on by default, between errorstream and actionstream. 19:57 sapier argh, that's gonna be a lot of work evaluating what they did fix and what is just old 19:59 ShadowNinja They obviously concentrated more on getting a game out than doing it in a maintainable and mergable way. 20:00 sapier they even did switch tabs for spaces 20:03 VanessaE that was probably a crap text editor setting that did that 20:03 sapier well I guess I'm gonna try to take the improvements from there ... at least from those files that are still lgplv2 20:03 sapier VanessaE: most likely noone changes hundreds of tabs manually 20:04 VanessaE sapier: I've done it before ;) 20:04 VanessaE (but, that's stupid to do) 20:04 sapier it wasn't me to tell it ;-) 20:05 sapier still if someone did help verifying their changes I'd be very thankfull, within that much of irrelevant changes chances to miss the relevant one are quite huge 20:12 sapier would anyone miss the inventoryitems blinking up on start? 20:12 Jordach_ i remember it showing the nodes in the corner, if you're referring to that 20:12 sapier yes that's what I'm talking about 20:17 ShadowNinja VanessaE: I've done `echo :%s/ /\t/g | vim main.c` a few times. 20:17 sapier please check if there's any side effect #1304 20:17 VanessaE use unexpand 20:17 ShadowBot https://github.com/minetest/minetest/issues/1304 -- Fix inventory items blinking on item preloading by sapier 20:17 VanessaE it works better 20:18 ShadowNinja I've replaced them manually only when there were <10 or so. 20:18 ShadowNinja VanessaE: Unexpanded? 20:19 VanessaE unexpand(1) 20:19 VanessaE handy tool for the job 20:19 VanessaE pipe the source file through it with the right switches and bye-bye excess spaces 20:20 ShadowNinja Ah. sapier: If that begin/end is just excessive then it seems fine, but there may be a reason for that. 20:22 sapier well I thought about it but I didn't find any pressing need to do it 20:23 sapier of course this causes itemimages not to be flushed to graphics card ... but I don't see a valid reason why this has to be done? 20:24 sapier their gui improvements are of no direct worth ... well we can look how they did it but they changed it in a way not beeing interested in this code to continue to work on pc 20:24 sapier ohhh 20:25 sapier wait ... some of the changes are related to pre table including ... god that code is ancient 20:26 sapier but their font size addition could be worth extracting 20:26 sapier that'd fix the menu not beeing readable on high dpi screens 20:29 sapier ShadowNinja: do you agree to merge the mainmenu cleanup #1241? 20:29 ShadowBot sapier: Error: Delemiter not found in "Page is too big." 20:32 VanessaE sapier: can you add something to that to fix the brown issue I mentioned? 20:32 VanessaE as long as you're working on the menu I mea 20:32 VanessaE mean* 20:34 ShadowNinja sapier: Aha, found the delemiter bug! And I haven't looked at it recently, but it seems like the biggest issues have been fixed. 20:34 sapier actually I fixed ALL your comments even those I don't agree to 20:37 sapier btw did you have any luck in finding the async crash? 20:46 ShadowNinja sapier: No, I've been too busy to work on Minetest the last few days. See if you can find it if you have time. :-) 20:48 sapier nope, that's burried way to deep withing lua you know that stuff a lot better then me so you're gonna need way less time then me 20:48 sapier and by the way, it didn't happen with marshalling ;-) 20:52 sapier so what about #1241 ... anyone tested it? 20:52 ShadowBot https://github.com/minetest/minetest/issues/1241 -- Add formspec toolkit and refactor mainmenu to use it by sapier 20:54 ShadowNinja I'm trying Lua 5.2 to see if it's a Lua interpreter bug... 20:55 sapier I don't understand why your so eager to fight for lua 5.2 20:56 sapier I suggest trying 5.1 as chances to merge 5.2 within reasonable time seem to be quite minor 21:01 ShadowNinja The error happens deep in the internals of Lua. Possibly in the GC. It's durring a reallocation anyway. 21:02 sapier I know it's not easy to track down 21:07 ShadowNinja This would seem to be an interpreter bug though... 21:08 sapier if it was a interpreter bug why didn't it happen before? 21:08 ShadowNinja sapier: DISABLE_LUAJIT should be ENABLE_LUAJIT. 21:08 ShadowNinja sapier: Because we weren't doing whatever triggers this. 21:09 ShadowNinja I'll see what happend when I make some Lua functions no-ops. 21:09 ShadowNinja s/d/s/ 21:09 sapier well we can't fix the interpreter so we shouldn't do what we didn't do before 21:10 sapier but I think "interpreter bug" isn't much more then a "working thesis" right now, true? 21:14 VanessaE hm, luajit is at 2.0.3 now? 21:14 sapier luajit is os dependent 21:15 VanessaE yep I know 21:16 sapier so what's your question? 21:16 VanessaE no question, just happened to notice it. 21:18 sapier ShadowNinja: you mentioned something about error function last time ... could this be related http://repo.or.cz/w/luajit-2.0.git/commit/624260f8318e0a64f4a128f0111a974230d5cb48 21:24 ShadowNinja sapier: Uh, this might be an issue: http://pastebin.ubuntu.com/7469908/ 21:25 VanessaE eeep 21:25 sapier engine? 21:26 ShadowNinja Hmmm, core.debug isn't NUL-safe. 21:26 sapier let me check but I think I removed any remains of "engine" in my code 21:27 ShadowNinja sapier: This is from master. 21:27 sapier well master crashes for various reasons 21:27 sapier but the real issue is still hidden behind those 21:28 VanessaE I wish I'd kept the log, I ran into an obscure crash last night in my own code that was referencing async as well. 21:28 VanessaE and I don't use async calls. 21:28 sapier you didn't agree to 1241 yet so you have to patch away those crash reasons first to find the async issue 21:29 ShadowNinja http://sprunge.us/FKWh/diff I'll push this in a minute. 21:29 sapier I disagree to merging "FKWh/diff not found" 21:29 VanessaE -1 21:29 VanessaE :) 21:30 ShadowNinja sapier: Er, "?diff". 21:30 VanessaE nope.avi 21:30 VanessaE http://sprunge.us/FKWh?diff 21:30 VanessaE that works. 21:30 ShadowNinja That's what I said. 21:31 sapier no 21:32 sapier something replaced the questionmark by slash 21:32 sapier well that reduces the length of the crash message 21:32 sapier no not really 21:33 sapier just a random variation 21:33 ShadowNinja sapier: That makes core.debug NUL-safe. 21:34 sapier well that's a bugfix so it's ok but it's not the really pressing bug ;-) 21:36 sapier ShadowNinja: maybe you shoud check if (len > 0) instead of if(s) 21:37 sapier btw my code doesn't have any string containing "engine" in builtin folder and still crashes 21:45 ShadowNinja Grrr. The crashes happen in different places each time. 21:45 sapier stack overflow? 21:46 sapier or maybe someone returns a pointer to a stack variable? 21:46 ShadowNinja sapier: No. Segfaults, double frees, many different errors. Once it even crashed in l_debug(). 21:46 * ShadowNinja switches back to non- 21:47 * ShadowNinja JIT Lua. 21:47 jin_xi ShadowNinja: re particles: could something like this work? http://paste.org.ru/?j8k1ou 21:47 sapier both of the issues I mentioned could cause things like that 21:48 sapier a stack overflow could be checked by increasing stack size, but it's quite unlikely to be one 21:48 sapier while finding a pointer to a stack variable is uarg ... I don't know of any way of doing this planfull 21:49 ShadowNinja jin_xi: def.playername = lua_isstring(L, -1) ? luaL_checkstring(L, -1) : ""; <-- This uses checkstring, but already checks it. Use lua_tostring here. 21:49 ShadowNinja jin_xi: Also comment style and indentation. 21:51 ShadowNinja jin_xi: playername is fetched twice in add_particlespawner. 21:52 ShadowNinja jin_xi: Set the dafaults at initialization rather than in every setter. 21:53 sapier #include "script/lua_api/l_particles.h" headers in lua_api are not supposed to be included in core ... at least it was designed that way 21:53 ShadowNinja sapier: If it's a stack variable return it's one deep in Lua. 21:54 jin_xi i know, so should a particle definition have its own header? or is it a stupid idea altogether 21:54 jin_xi ? 21:54 ShadowNinja Yes, the include should go the other way. 21:55 jin_xi i got carried a way a bit... 21:56 sapier ShadowNinja: does it happen with lua interpreter too? 21:57 sapier wait I already had disabled luajit so I guess yes it does ... I'll check again 21:58 sapier btw ShadowNinja lua debugging doesn't work with luajit 21:59 sapier dump() doesn't use newlines within it's output does it? 22:00 sapier crashes for lua too this suggests it's not a luajit bug 22:02 ShadowNinja sapier: Lua and LuaJIT. The crashes don't occur consistently in one place though. Sometimes it crashes in print()/debug(), sometimes after calling the function, or after serializing it. 22:02 ShadowNinja s/it/it's result/ 22:02 VanessaE I wish I'd kept the log, damn it. 22:02 VanessaE I was having that same crash early this morning while working on one of my mods. 22:02 VanessaE and it was in a print() call. 22:03 VanessaE (just a shitload of prints for some debugging of a table's contents) 22:04 VanessaE and I seem to recall seeing something about serializing in that error, too 22:04 VanessaE I thought it was an obscure bug in my mod. guess not :) 22:05 sapier what do you do if the job result is nil? 22:08 ShadowNinja sapier: Pass it to core.serialize, which produces "return nil" 22:08 sapier serializedResult.data() you always have to use the variant noone else uses? ;-) 22:09 sapier but that's not an error anyway just something you cause everyone to have to look up docs 22:10 ShadowNinja sapier: The difference if that data() doesn't guarantee a NUL terminator, which we don't care about since it's binary data with embeded NULs. 22:11 sapier "Both string::data and string::c_str are synonyms and return the same value." 22:13 sapier the difference having been there in an old c++ standard is gone ;-) 22:13 ShadowNinja "There are no guarantees that a null character terminates the character sequence pointed by the value returned by this function. See string::c_str for a function that provides such guarantee." 22:13 sapier that's the difference in c++03 but data has to be 0 terminated now too 22:13 ShadowNinja C++11 changes that. But we don't use C++11. 22:14 sapier well in this case using c_str() is even more safe then using data() ;-) 22:14 ShadowNinja And I prefer the name data. :-) Anyway, I don't think that's the issue. 22:14 sapier I don't think that'S related too 22:16 sapier especially as this is in wrong thread 22:19 sapier what happens if dump returns nil? 22:20 sapier serialize nil ... ok 22:21 sapier I've to get some sleep ... good hunt 22:25 jin_xi ShadowNinja: would it be better to only change l_add_foo functions in l_particles.cpp and leave the rest alone? 22:32 SoniEx2 it would be nice to see a minetest.get_minetest_dir() so you can use /bin/lua for lua libs (LPeg, LuaSocket, etc) and /modules for lua modules (*.lua and *.luac which aren't mods and shouldn't be used as mods) 22:41 ShadowNinja jin_xi: Yes. The rest should be done in a seperate commit. 22:42 ShadowNinja SoniEx2: There is only a "minetest dir" in RUN_IN_PLACE builds. 22:42 ShadowNinja maybe minetest.get_paths().bin or so. 22:43 SoniEx2 ShadowNinja, what do you mean? 22:44 ShadowNinja SoniEx2: On system-wide builds there are some things in ~/.minetest, some in /usr/bin, some in /usr/share/minetest, etc. 22:44 SoniEx2 uhh ok 22:44 SoniEx2 so minetest.get_bin_dir() 22:45 zsoltisawesome ShadowNinja: he isn't on Linux, i think 22:45 SoniEx2 zsoltisawesome, I'm a they 22:45 SoniEx2 and it doesn't matter 22:45 ShadowNinja But no need for a getter function. Just store it somewhere. 22:46 SoniEx2 uhh no wait 22:46 ShadowNinja SoniEx2: multi-personality disorder? ;-) 22:46 SoniEx2 ShadowNinja, gender dysphoria ;) 22:46 ShadowNinja SoniEx2: But what do you need the bin dir for? 22:46 SoniEx2 I don't want the bin dir 22:47 ShadowNinja SoniEx2: Then what do you want? 22:47 SoniEx2 for RUN_IN_PLACE builds I need the minetest dir which has bin/ and all that 22:47 SoniEx2 for system-wide builds, I need something else 22:47 SoniEx2 I need the place where games and stuff are stored? 22:48 ShadowNinja SoniEx2: That's $USER/games. 22:48 ShadowNinja SoniEx2: https://github.com/minetest/minetest/blob/master/README.txt#L45 22:48 SoniEx2 like /whatever/minetest(/games|/lualibs|/modules|...) 22:49 SoniEx2 where /lualibs = C libs which can be loaded with package.loadlib and package.cpath 22:49 SoniEx2 and /modules = *.lua and *.luac files which can be loaded with package.path 22:50 SoniEx2 on RUN_IN_PLACE builds that would be (/lualibs|/modules) 22:50 SoniEx2 and yes I know the current minetest doesn't change package.path/package.cpath 22:50 SoniEx2 but still 23:11 ShadowNinja SoniEx2: See how the IRC mod does it. The .so is included in the mod. 23:11 ShadowNinja Maybe that should be changed though. 23:15 SoniEx2 ShadowNinja, all you should do is change package.(c)path 23:15 SoniEx2 or provide a minetest.get_stuff_dir() 23:16 ShadowNinja SoniEx2: It adds it's modpath to package.cpath and require()s it. 23:17 SoniEx2 hmm... 23:17 SoniEx2 ok 23:20 ShadowNinja It may simply depend on a system installation in the future though. 23:24 ShadowNinja http://sprunge.us/HWYL?diff This reworks the dumping functions (See commit message). Comments? 23:27 SoniEx2 I have a better idea for your dumping functions 23:27 SoniEx2 why not use metatables? 23:28 SoniEx2 metatables and about 250 chars of code 23:28 SoniEx2 also wait bbl 23:30 ShadowNinja SoniEx2: What? How would metatables be usefull? I could add metatable dumping support though.