Time Nick Message 00:02 sapier but I don't actually care about that feature very much iqualfragile_, just write an issue for animals_modpack and find some supporters, I'm gonna change it as soon as ... lets say 3 ppl request it 00:02 iqualfragile_ k 00:02 iqualfragile_ sapier: but you should be able to fight 00:02 iqualfragile_ it allso jumps waay to high 00:03 sapier :-) its supposed to jump high it's intended to make you faster ;-) 00:04 sapier fighting? a ostrich isn't riding military ;-) 00:04 sapier but write a feature request for this too 00:05 iqualfragile_ but ust look at it when somebody rides it, it jumps like 10 times its height 00:06 sapier 10 times? hmm it's only supposed to jump about 2 nodes 00:06 iqualfragile_ it realy looks like 10 times 00:22 kahrl any idea about #944? 00:22 ShadowBot https://github.com/minetest/minetest/issues/944 00:22 kahrl when I try it I observe something different 00:22 kahrl no item is lost, but some items are put into the furnace's output slots which the callback is supposed to prevent 00:23 kahrl some items = the stack I swapped the furnace output with 00:23 ShadowNinja Would it be possible to add a "holding" stack? 00:24 kahrl I was wondering that a while ago but for some reason decided against it 00:24 kahrl I don't remember why, maybe compat? 00:24 sapier kahrl seems to be no compat month so maybe rething about it ;-) 00:25 VanessaE kahrl: try it with the circular saw some time. 00:25 VanessaE you'll see the effect much more readily. take any item from the circular saw's output slots, drop it on any item in your inventory, and that item in your inventory is deleted. 00:26 ShadowNinja After 0.4.9 I'd like to get the protocol fixed, and while we're at it we may as well break everything (Except the map format) 00:26 VanessaE ShadowNinja: I believe I put it more succinctly: "just blow it all to hell" :) 00:26 kahrl if the reason was compat it was map compat and not protocol compat, I'm pretty sure 00:26 VanessaE (may have been in private) 00:27 sapier if we wanna do all those changes maybe we should setup a 0.5 experimental branch? 00:27 sapier network lib as well as protocol change ... i guess core wont be playable for quite some time 00:28 ShadowNinja kahrl: The holding slot wouldn't be saved to the map. It wouldn't be saved at all. (Or maybe to the playerfile) 00:28 sapier or at least suffer of major regressions 00:28 kahrl ShadowNinja: it must be saved 00:28 kahrl what if the server goes down while you hold some precious item? 00:28 sapier wow ... I just joined a server transferring 158mb textures in a single shot 00:29 ShadowNinja Alright, playerfile then. But you can keep it compatible by making the field optional. 00:29 ShadowNinja sapier: With your tweaks, enet, or remote_media? 00:30 sapier mine ... and it's compatible to 0.4.8 00:31 ShadowNinja sapier: What was the transfer speed? 00:31 sapier no idea let me check again 00:32 kahrl yeah, so a holding slot can be added in a way that is compatible with old maps 00:32 kahrl it would temporarily break mods such as bones 00:35 kahrl there should really be a method InvRef:get_lists that mods like bones could use 00:36 ShadowNinja ^ I proposed that a while ago. 00:36 kahrl what happened to it? 00:37 sapier ShadowNinja: do you have any idea how to measure this within minetest? 00:37 PilzAdam kahrl, IIRC you said it doesnt fit the callbacks structure we have currently (re: "holding stack") 00:37 Exio4 can't you use iftop? 00:37 ShadowNinja I didn't have the skill to code it, so I was ignored. I might be able to code it now. 00:37 Exio4 implement it in x86 ASM 00:37 ShadowNinja sapier: Nope, media_size / time? 00:38 sapier not verry accurate but might work 00:38 kahrl PilzAdam: it's honestly been a while since I worked with those callbacks so that could be true 00:41 kahrl btw, challenge: find a way to keep a small amount of items on death with minetest_game (bones) in survival mode 00:41 kahrl not counting the items stored in the bones chest 00:42 sapier raw about 2 - 2.5Mb with spiles up to 16Mb and down to 1Mb (starting server) 00:42 sapier I'll try from separate instance too 00:48 sapier rough calculations from start to enter game results in about 0.8MB actual media transfere 00:48 sapier per second of cours 01:13 ShadowNinja Hmmm, not bad, but if that's on a local server it could certainly be a lot faster. 01:17 sapier of course, 16 bit sequence numbers are a major problem 01:18 sapier I can't use the whole 16 bit (32mb) in order to be able to detect stall packets, but this way I get major slowdowns on packet loss 01:18 sapier and lack of cumulative ack is another issue 01:19 sapier both can't be added in compatible way 01:27 ShadowNinja Is it possible to add these tweaks AND enet/TCP? The legacy code would be removed after one stable release, so dev servers wouldn't suddenly lose most of their users and we would have a very fast connection. 01:28 sapier some of them yes others ... no way, at least enet doesn't have the 16 bit limitation ... no idea if they have cummulative acks 01:29 sapier ShadowNinja switching to enet is a hard cut, no chance to support both same time 01:29 sapier synchronizing enet peers and original peers is a no-go 01:30 ShadowNinja :-| 01:30 VanessaE then it's a hard cut, as you put it, that has to be done at the 0.5.0 release 01:30 VanessaE imho 01:30 sapier both have their own peer handling a well as brodcast support, we'd need to sync it 01:31 VanessaE that was supposed to be the "this breaks everything" release 01:31 sapier yes imho there's no chance to do a enet enabled 0.4 version 01:37 ShadowNinja Well, if it's a "this breaks everything" we should really do a major version increment. 01:37 VanessaE yeas 01:37 VanessaE -a 01:37 sapier you really want to use 1.0.0 for a all unstable version? ;-) 01:38 VanessaE wait, a MAJOR version increment? 01:38 VanessaE O_O 01:38 VanessaE I read that as "major" (lower case m) 01:38 ShadowNinja Yep. And .0 releases are expected to be unstable, .1 is the fixer release. 01:38 VanessaE not Major (capital M) 01:39 sapier first shot with enet and new packet format most likely will have some regressions 01:39 * VanessaE gulps 01:39 sapier and I still don't think it's worth it 03:15 ShadowNinja While implementing get/set_lists I noticed that read_items is wrong. lua_next does not necessarily return the next integer key, the items are unsorted. And do you think git/set_list(s) should push and accept arrays with entries missing? (empty stacks) 10:54 VanessaE I've gotten an email from someone using Windows 8.1 and Minetest "0.4.8" (presumable stable) who is getting bad allocation errors when he uses current git HEAD of my HDX texture pack. All the images seem fine here and they work fine for me in Linux. Opinions? 10:55 specing Tell him to use Linux 10:55 VanessaE heh 10:55 specing No, seriously. 10:56 VanessaE well I already told him that as best as I can figure, it's something in his PNG library, and that the imagery works fine for me. 10:56 VanessaE he says it started after I ran everything through optipng recently. 10:56 VanessaE says some stuff fails to be recognized as PNG at all now 10:57 VanessaE or MT crashes with bad alloc. 11:05 VanessaE if someone wants to take a look, the above is all of the data I got from the guy who reported it. 13:36 thexyz your Daily Dose of WAT 13:36 thexyz goes here 13:36 thexyz https://github.com/minetest/minetest/blob/master/src/particles.cpp#L224 13:58 kahrl line 378 too 13:59 kahrl and 430 and 465 14:01 kahrl err, not 430 14:05 kahrl https://gist.github.com/kahrl/8097603 14:08 thexyz I can confirm, this solves the issue 14:10 kahrl I'll push it then 14:14 iqualfragile i think finite liquid needs to be removed, as it does not work at all 14:14 kahrl apparently the glibc/libstdc++ vector::erase always just returns the argument, so it never caused any trouble for me 14:14 kahrl iqualfragile: even if you define the needed settings? 14:16 iqualfragile iqualfragile: needed settings? 14:16 iqualfragile oh, sorry i should have been more specific 14:16 kahrl liquid_update = 0.2 14:17 kahrl maybe some others 14:17 iqualfragile it does do something and beeing slow does not matter to me, but it does not make the water finite at all, in fact it even makes it a lot easier to produce a lot of water 15:48 VargaD Hi 15:48 VargaD minetest server (current dev, probably older releases also affected) use a lot of CPU even in idle, I think I have found the problem 15:55 ShadowNinja The server list announcing has to be fixed. We can't release 0.4.9 with it broken. 15:55 ShadowNinja proller: ^ 15:56 proller broken what ? 15:56 proller http threads ? 15:57 VargaD MutexedQueue::pop_front shouldn't throw exception when the timeout reached, as m_event_queue calls it many times a second. Throwing exception in mass make the server use a lot of CPU. 16:00 VanessaE ShadowNinja: regarding the server list, I'm at a58b47d0 and it works fine for me. 16:00 thexyz so you broke it with httpfetch or some other commit and want proller to fix it? 16:01 VanessaE of course I've got a patch by kahrl in there for denying connections to non-cURL clients: http://pastebin.ubuntu.com/6623924/ 16:02 VanessaE but I don't think that's affecting the server list any 16:07 VargaD it would be nice to use condition variables in mutexed queue, but jthead does not supoort it 16:12 ShadowNinja VanessaE: I'm aware, but that didn't fix it for me. 16:12 VanessaE huh. 16:13 ShadowNinja proller mentioned knowing what was causing the issue. 16:13 VanessaE ShadowNinja: maybe there's some leftover cruft from when shit went all weird before? 16:13 VanessaE when you were trying to patch around it I mean 16:13 ShadowNinja Well I recompiled it. 16:13 VanessaE hrm 16:14 ShadowNinja I didn't patch around it, I just waited, and when the solution didn't work I downgraded to before HTTPFetch. 16:14 VanessaE oh ok 16:15 VanessaE I wonder why it's working for me *confused* 16:16 proller also threads still broken in freebsd 16:16 ShadowNinja CURL's compiled in according to CMakeCache.txt. 16:17 proller and i think windows will have lot of threads crashes 16:30 kahrl VargaD: sapier added semaphores a while ago, and we have events too 16:30 kahrl condition vars could be implemented using those 16:31 VargaD thanks, I try to solve that also after getting rid of exceptions 16:31 kahrl have you seen https://github.com/minetest/minetest/pull/1054? 16:33 VargaD oh it is already solved, but still throw exception 16:33 sapier 1054 isn't merged as far as I remember 16:34 sapier and I have to make a update for it push_front is usefull for some things too 16:35 sapier btw don't even think about using a sharedbuffer from different threads 16:36 sapier can someone tell me why it always has to be hard to reproduce a bug once you have proper instrumentalization in place to find it? 16:38 kahrl that's a simple application of the Heisenberg principle 16:38 VargaD :) 16:40 sapier that bug is to obvious to be limited by plank quantum 16:40 sapier I already know what is wrong just not how it becomes wrong 16:40 VargaD which bug you are talking about sapier? 16:41 sapier none within current minetest 16:42 sapier I did some research about compatible fixing minetest network code and I have a nasty bug left where a incoming packet is queued that isn't even part of receive window ... thus it should cause an assert on inserting 16:47 VargaD sapier: this pull request (https://github.com/minetest/minetest/pull/1054), shoudl solve my problem as the pop_front without arguments does not throw exception, and minetest use that most of the time 16:49 sapier I intend to rename those functions to match the current minetest naming. I recently discovered NoEx suffix is used for those functions. I think I'll fix it this year 16:50 sapier those meaning "functions not throwing exceptions" 16:58 sapier thexyz can you tell me where to get the bots you use for enet testing? 17:00 thexyz sapier: proller has a neat script which spawns them, and a config file 17:00 sapier is it available to public somewhere? 17:00 thexyz http://pastebin.com/42EpMmjq http://pastebin.com/1fquswVv 17:00 thexyz I'm not sure if it'll work with Minetest 17:00 thexyz last time I tried it there were some division by zero errors 17:01 thexyz but those are easy to fix, there was a pull by proller 17:01 sapier lets have a try 17:01 thexyz john_minetest: what do you mean by "chat size"? 17:02 VargaD sapier: what it the problem with that patch? Can I help to solve it, it would be nice to see it merged. 17:02 thexyz ah, font 17:03 VargaD I made a few line hack that also solved the problem 17:03 thexyz there's a problem with the font 17:03 sapier john_minetest checkout all variants and platforms and make a suggestion valid for all of them ;-) 17:03 * VanessaE mumbles... https://forum.minetest.net/viewtopic.php?id=4436 17:03 thexyz lol 17:03 thexyz also non-freetype builds should just be set up to fail when compiling 17:03 thexyz with an error message 17:03 thexyz now that we've got readable fonts 17:03 VanessaE ...my build has freetype. 17:04 thexyz so that no crazy package maintainers ever try to package the game without freetype 17:04 VanessaE I just don't use that feature because ^^^^ is still more readable to me. 17:06 sapier VargaD https://github.com/sapier/minetest/commit/1d73e545a70885cdab6e70a27ab014828ddf2afd these fixes plus renaming NE to NoEx 17:06 sapier wait there's an additional fix to it 17:08 sapier I'll fix it right now, looking for the changes is more time then fixing 17:08 thexyz john_minetest: font with freetype? wat? 17:08 VargaD oh nice and it also has the conditional variable 17:09 VargaD thanks sapier 17:10 sapier if you meak font bigger you need to check if foreign language texts mess up menu 17:17 thexyz you can edit minetest.conf 17:17 thexyz and make the font bigger for you 17:22 VanessaE it only has two 'bulk' font sizes (the monospace and the proportional spaced setting) that work only with freetype 17:23 VanessaE they DO work, but like my font, if made too large they tend to screw up the formatting of some menu elements. 17:24 thexyz true 17:25 thexyz if you only experience problems with the chat then we can have a separate font for chat? 17:28 thexyz what's your screen DPI? 17:30 sapier VargaD pushed the fixes have a try 17:31 thexyz player names? 17:31 thexyz they use irrlicht builtin font iirc 17:31 thexyz not ttf one 17:37 VanessaE some months ago someone gave me a patch to swap that out for a proper ttf font 17:37 VanessaE lost it ages ago 17:38 * VanessaE pokes kahrl ... wasn't it one of yours? 17:38 thexyz ah, I had it somewhere 17:38 thexyz but they were buggy 17:51 VanessaE didn't I say that when what we have now was still being coded? 17:51 VanessaE but....as usual.... my concerns were ignored. 17:51 thexyz why the hell isn't kahrl's formspec table merged? 17:52 thexyz it's an awesome addition to the sucky ui we have 17:52 VanessaE thexyz: because you didn't merge it? 17:52 thexyz VanessaE: I can merge it to FM but that'd be a bit unfair 17:52 jin_xi do eet 17:52 VanessaE thexyz: you don't have merge access to upstream? 17:52 thexyz VanessaE: I do but perhaps you should consult our wiki and development guidelines we have 17:53 VanessaE I am well aware of the guidelines. 17:53 thexyz I think they suck 17:53 VanessaE and if you were aware of them then you'd know that, by virtue of him having coded it and you wanting it, it can be merged. 17:53 thexyz we waste too much time finding more and more devs to agree on code and review 17:53 VanessaE because you are bothj core devs. 17:53 VanessaE -j 17:53 thexyz I didn't review it though 17:53 VanessaE that's not to say if the code is any good, I didn't review it either, 17:53 thexyz and in the end the bugs like the one kahrl has fixed still get into the repo 17:54 VanessaE bugs happen, it's a fact of coding,. 17:54 VanessaE nothing can be done but fix them when they happen. *shrug* 17:54 VanessaE (or ideally try to prevent them of course) 17:54 VanessaE anyways 17:56 VanessaE hah 17:56 iqualfragile sapier: status of network fixing? 17:59 thexyz john_minetest: http://i.imgur.com/9jl6j30.jpg please for casual discussion go to #minetest 18:13 sapier iqualfragile a small bug is left that I'm tracking down right now (occurs about each 10-100th downloading of 170mb texture data) 18:14 sapier I guess it's testable (not for benchmarking, there's code in there right now for detecting that bug causing some slowdown ... yet it's still ages faster then original code) 18:16 sapier thexyz formspec table isn't merged because of you guys alwas starting json formspec discussion once formspec is mentioned ;-) this way we always forget about merging it ;-) 18:18 VanessaE john_minetest: stress testing. 18:19 sapier john_minetest I guess you got something wrong my comment for iqualfragile was about some educational just for fun work I'm doing right now 18:21 sapier thexyz if everyone can merge everything and there are 10 ppl allowed to merge (and actively merging) you end up in pure chaos. I'll not tell this another 100 times but please try to imagine that a project like minetest needs some rules to exist... even if they're not as comfortable to each individual as his own one man show 18:22 sapier no I'm waiting for iqualfragile to provide modstore texture pack api ... not sure if he has completed it yet 18:22 proller do not give privs to peoples who can make chaos 18:23 sapier proller so you're out? *just kidding* 18:24 sapier but not joking, everyone can make chaos, each of us has a different way of thinking and different coding style (not talking about formating) ... without coordinated merging this will result in chaos no matter what you do 18:25 thexyz sapier: what's the branch again? 18:26 sapier https://github.com/sapier/minetest/tree/server_improvement 18:27 sapier as I said if you're downloading a lot of data there's a corner case where a incoming packet is missqueued triggering a safety assertin 18:27 proller coding style -> astyle 18:27 sapier astyle is formating 18:29 VanessaE proller: he means more like, do I name this function FooBar or foo_bar or fooBar, do I put all this stuff here in this file, or do I put them over here in this, this and this other file instead, blah blha 18:29 VanessaE blah* 18:29 sapier I was talking about the way of structuring your code e.g. if else cascades switches function usage instead of copy&paste ... 18:29 VanessaE exactly 18:30 proller WE NEED MORE MUTEXes! 18:30 sapier there are myriards of different (correct) ways to do someting ... even more wrong ways of course 18:30 VanessaE formatting goes hand-in-hand with one's coding style but is not, by itself, the definition of that style. 18:30 VanessaE sapier: aw, you mean I can't cram it all onto one unreadable line or delete all my tabs???? sure, spoil my fun. 18:31 sapier true minetest datastructures need to be reworked for thread safety just avoid locking everything as this will result in exactly oposit effect ;) 18:32 proller old client still can connect to your new server ? 18:32 sapier no formating is important too, but you can specify formating by defining a "coding style" document (the one noone wants to do) ... the other part of style can't be defined 18:32 sapier yes proller 18:33 sapier and will gain speed benefit too 18:34 sapier case someone sees the bug in incoming reliable queue insertion prior me, please tell me ;-) 18:34 proller bad idea split server.cpp and remake connection in one branch 18:34 sapier it's not in same branch 18:34 sapier my branch is just based upon that one 18:35 sapier if I remember correct my server split patch is submitted as pull request too 18:36 sapier https://github.com/minetest/minetest/pull/1056 that one proller 19:12 hmmmm hrmmmmm 19:13 hmmmm I dunno if we're really going to release on christmas 19:13 hmmmm do you guys still want to? the commits since friday have all been bugfixes 19:14 hmmmm what's wrong with the windows version..? 19:19 ShadowNinja The only serious bug that I can think of now is the broken serverlist announcing. 19:20 ShadowNinja We CAN release be Christmas, but we should include that special thing... 19:26 sapier hmmmm we don't even have an official freeze yet 19:27 sapier but if current is stable this may not be an issue of course 19:27 sapier proller where to find the changes for novideo output? 19:28 sapier then there's no chance to do a release 19:28 proller https://github.com/freeminer/freeminer 19:28 sapier sorry wasn't specific about it where exatly(more or less) find the changes required? 19:29 sapier something like a commit number or at least which files to look for it 19:29 hmmmm john_minetest doesn't actually know if it's stable or not on windows 19:29 hmmmm he's using an old build 19:30 hmmmm it's helpful that you're testing and everything, but it'd be really nice if we could get reports or some information on these "crashes" 19:30 hmmmm otherwise it's pretty useless 19:31 sapier maybe just build a fresh clone 19:31 sapier ok then maybe even telling about those crashes isn't usefull? ;-) 19:32 hmmmm i think he's just trying to get it through to us that minetest has problems because we suck 19:32 sapier proller I guess "silence" means you can't be more precise as "see your self in the mountains of code I touched"? 19:32 hmmmm the next thing I'd expect john_minetest to say is "It doesn't matter, it's all broken anyway" 19:33 hmmmm and I just said that information is completely and utterly useless 19:33 thexyz sapier: do you expect him to go through all the commits because you're too lazy to? 19:34 hmmmm it's even worse than useless, it's annoying because you talking about how everything is crashing drowns out the rest of the useful conversation 19:34 proller sapier, it was in pull maybe month, and now it already outdate and broken 19:34 sapier thexyz: I guess due to prollers commit messages I wont be capable of realizing which one contains those things 19:34 hmmmm so please stop talking about issues here unless you're actually using the latest version and you have specific helpful information about the crashes 19:34 hmmmm good day 19:34 thexyz sapier: that's sad 19:35 thexyz btw, I was working on colored chat a bit http://i.imgur.com/MHreKYc.png 19:35 sapier that's why I keep telling "please work with community" not against it 19:35 thexyz we're trying 19:35 thexyz yet you always complain 19:36 hmmmm minetest used to have colored chat 19:36 hmmmm I don't know what happened to it though 19:36 hmmmm there was a reason why it's not around now and you should ask celeron about that 19:36 thexyz well, I'm fine with it not being in Minetest 19:36 sapier ok to be fair the commit messages of freeminer aren't as bad as they used to be 19:36 sapier but there's still some room for improvement 19:36 thexyz just maybe someone is interesting in working on it? 19:36 thexyz *interested 19:37 thexyz for now it's really hacky and messy 19:38 sapier hacky and messy is fine for private branches thexyz but once you push it upstream it needs to be clean, I know work to clean something isn't satisfying, a lot of work with no visible effect ... but it has to be done, and expecting others to do this isn't fair either 19:39 celeron55 <+hmmmm> minetest used to have colored chat 19:39 hmmmm john_minetest: again, see above. 19:39 sapier singleplayer or server john? 19:39 celeron55 what 19:39 sapier can you create an issue posting the error log john_minetest? 19:39 thexyz sapier: 'kay 19:39 hmmmm john_minetest: an error log, a backtrace, etc.... 19:40 proller hmmmm, i already post here gdb bt 2 or 4 times 19:40 hmmmm celeron55: it didn't? 19:40 celeron55 hmmmm: i'm pretty sure minetest has never had colored chat 19:40 hmmmm celeron55: I distinctly remember you saying that there was colored chat which was removed 19:41 ShadowNinja kahrl worked on colored chat, which wasn't pull-requested or merged. 19:41 hmmmm I remember because I also remember making a comment that a lot of games have colored chat which eventually gets removed (e.g. starcraft, warcraft, so on) 19:42 sapier hmmmm maybe you can see more from prollers backtraces I can only tell something bad is happening on thread kill. the strange thing is there shouldn't happen a thread kill at that very special action because all threads should've been stopped before 19:42 sapier so thread kill is almost a nop 19:42 celeron55 hmmmm: you've probably been dreaming or something 19:42 sapier at least it's supposed to be 19:42 hmmmm sapier, I haven't seen any of the backtraces 19:42 hmmmm anyway 19:42 kahrl ShadowNinja: iirc PilzAdam and I had a little "competition" one day when we both coded that feature 19:42 hmmmm I recommend against making colored chat specifically 19:42 thexyz why? 19:42 sapier it's on freebsd I can't reproduce it 19:42 kahrl only for the console though 19:43 hmmmm because then you're going to make colored text specific stuff and not a more generalized text formatting spec 19:43 ShadowNinja kahrl: Yes, I remember. 19:44 hmmmm I personally recommend making TTF the default and then designing format specifiers that also include other things like foreground color, font name, font weight, italics, underline, and so on 19:44 ShadowNinja This wouldn't be available in formspecs. 19:44 hmmmm right so we need to find a way to fit it into formspec 19:44 hmmmm if only we were using something like Lua tables we'd be able to shove it in a new field 19:44 sapier thexyz the novideo feature for example would be nice to have in minetest too ... it's just not as nice as justifying to merge everything at once ;-) 19:44 celeron55 so what about not pulling the spec out of our asses but using something known, like bbcode 19:44 kahrl webkit[This is a field with bold text] 19:44 ShadowNinja A new format is needed to do it nicely. 19:45 thexyz sapier: I guess 19:45 hmmmm if you'd like to do bbcode then sure, I guess that's fine 19:45 celeron55 well anything will do that exists in this world 19:45 hmmmm it's all up to you 19:45 ShadowNinja hmmmm: We can use lua tables, and JSON for sending it. 19:45 sapier And I'm almost sure (through I haven't looked at it) there's aren't millions of depencencys 19:46 hmmmm sapier hates that idea for some reason 19:46 hmmmm well the JSON implementation we use is really crappy 19:46 hmmmm if we had a better JSON implementation then that would be great 19:46 hmmmm this is something that's pretty far off 19:47 hmmmm I'm just saying, the formspec revamp is still on the table 19:48 sapier I'd have to look back for half a year but proller told to rewrite it by that time 19:49 sapier and no json formspec is not on list, if ever we need to switch to a full blown gui description language and not do our own crap again in just another format 19:49 hmmmm I don't see what's horrible about it 19:49 hmmmm I mean you want to use some existing XML GUI description language 19:50 hmmmm but do WE really need that 19:50 sapier someone told me about the not invented her syndrom yesterday is there any real benefit of using json to formspec format? 19:50 hmmmm yes... 19:50 hmmmm formspec is inflexible 19:50 sapier don't tell me about "readable" thats pure subjective interpretation 19:50 hmmmm you can insert arbitrarily named fields 19:50 hmmmm you have a single, consistent key value format 19:51 hmmmm and yes it is more readable 19:51 sapier you can't do this to json too if you don't modify the formspec parser too 19:51 hmmmm what I'd like to do is have the new formspec things alongside the old 19:51 sapier what's use for a field not beeing translatable to a gui element? 19:51 hmmmm huh? 19:52 hmmmm look 19:52 hmmmm JSON is just a means to an end 19:52 sapier you said you can add a field to json easyly so what for do you want to add a new field? 19:52 hmmmm because maybe we want to add font weight 19:52 sapier json is just a format not more not less 19:52 hmmmm or color 19:52 hmmmm the thing is 19:53 hmmmm JSON is just some way to represent objects 19:53 sapier it's capable of storing arbitrary data that's a big benefit to current formspec (in general) ... but what benefit for gui will result from this ability? 19:53 hmmmm we'll use that for serialization of formspecs over the network 19:53 hmmmm in LUA we'd define the same objects using tables 19:53 hmmmm the idea is not that we write a formspec in json 19:53 hmmmm it's that the formspec 2.0 is an object that has properties and whatever 19:53 sapier actually that's what people suggest here 19:54 sapier write formspecs in pure json 19:54 hmmmm well 19:54 hmmmm that's not what I think is a very smart idea 19:54 hmmmm there are a few key points I'd like to repeat: 19:55 hmmmm 1). this is not REPLACING formspec, we need the old formspec for compatibility 19:55 hmmmm this is something NEW that we encourage people to use instead 19:55 sapier we don't need anything for compatibility 19:55 hmmmm 2). the entire thing is not going to use JSON 19:55 hmmmm only the serialization for network transmission 19:55 ShadowNinja Me and proller suggested using Lua tables and either write_json or have the engine auto-convert them. 19:56 hmmmm I don't understand why the user should ever do anything with JSON 19:56 sapier my suggestion is either not change anything or really use a full featured gui description language ... any other case will hit limits again 19:56 hmmmm a formspec element is an object 19:56 hmmmm the formspec itself is an object 19:56 hmmmm sapier, explain how this would fail 19:57 ShadowNinja Well, the fornspec would be a array and the entries would be objects strictly speaking. 19:57 sapier if I undestand correct you want to do the parsing on server transfer json to client and parse again there. Am I right about that? 19:58 hmmmm yes you're right 19:58 hmmmm and the actual formspec is just some object 19:58 hmmmm not a string 19:58 hmmmm json is nothing but merely a tool to serialize arrays and objects 19:58 sapier and what exactly is better on parsing on server then on client? 19:59 sapier btw current master really is broken, locks up on downloading textures ... this does not happen on 0.4.8 20:00 khonkhortisan For me it's broken with "no future with broken builtin async environment scripts" 20:00 sapier async env is already shut down on downloading textures 20:00 sapier no chance to do bad there 20:04 iqualfragile sapier: you need to remind me from time to time, or write a bugtracker entery 20:04 sapier and removing parallelity improvement isn't an option if minetest ever wants to achieve reasonable performance gain from multicore cpus ... so I guess we need to fix it ... instead of doing so we discuss about json formspec json maps json whatever 20:06 kahrl sapier: do you know what state it locks up in? 20:06 kahrl e.g. how many and which httpfetch requests are active 20:06 sapier ni I'm investigating right now 20:54 sapier1 ok that lockup is there in 0.4.8 too it occurs just less often ... seems to be a client side network protocol glitch 21:09 sapier1 can you please collect the crash logs, post it somewhere and collect links in a issue? especialy for multithreaded issues a single log often doesn't give a picture of the full issue 21:12 proller try number 5: http://paste.org.ru/?77d33x 21:13 sapier1 proller can you reproduce that one reliably? 21:14 proller every run 21:14 proller i can start game only with --disable-unittests 21:14 sapier1 wait this is unit testing 21:15 proller its everywhere 21:15 proller in game 21:15 proller in menu 21:15 proller in disconnect 21:15 proller in server shutdown 21:16 sapier1 yes but that one is unit test 21:16 sapier1 one by one proller 21:16 proller okay, fix please this first 21:17 kahrl http://curl.haxx.se/mail/lib-2006-10/0100.html 21:17 sapier1 is this freeminer or minetest stable? 21:18 kahrl apparently the curl multi example (which I based httpfetch on) does not account for a windows select() particularity 21:18 proller minetest last commit 21:18 kahrl which is that it returns error WSAEINVAL (10022) if all file descriptor sets are NULL 21:19 sapier1 ugly ... bug may be within connection handling which I just (almost) fixed 21:20 sapier1 interesting about this one is what is first, TestConnection::Run (this=0x7fffffffa1ef) at /usr/home/proller/minetest_test/src/test.cpp:1963 21:20 sapier1 seems to be a failing connection test 21:21 sapier1 if that one deletese server and client Thread 2 and 1 those are follow up issues of broken shutdown 21:27 sapier1 there are plenty of tools you just need to set them up 21:27 sapier1 gdb and eclipse work (somehow) and of course visual studio works too 21:27 sapier1 well I have issues with gdb too 21:28 sapier1 be sure to use kepler ... or prior juno ... juno is just crap 21:29 sapier1 and don't expect to instantly know what to do for eclipse it's like blender without consistent command design ... lots of features ... most of them not usefull for your current task 21:30 ShadowNinja Comments? This includes a minor bugfix (modifying inventory lists could scramble them). http://ix.io/9uv 21:31 sapier1 seems more like a feature enhancement it even adds new lua api (not documented either) 21:32 ShadowNinja Oh, oops. Yes, it's a feature with a bugfix that I notied along the way. kahrl: ^ 21:34 sapier1 not sure if we really are in feature freeze right now if we are skip the feature for next version and merge the fix only 21:36 sapier1 it's in different files so don't complain about too much splitting work ;-) 21:40 ShadowNinja <3 git-cola. But I'd like to get the whole thing in, I've been asking for this for a while, and kahrl wanted it. 21:41 sapier1 I thought more about doing git add for the one file only but there are more ways to do this ... as usual 21:41 sapier1 as I said in feature freeze adding a feature isn't a good idea ... but as usual noone made a clear decision if or if not 21:41 ShadowNinja git-cola lets you select individual lines to stage and commit. IDK how actively developed it is. 21:42 ShadowNinja We don't have a feature freeze yet. :-) 21:43 sapier1 is httpfetch a config or compile time setting? 21:43 ShadowNinja john_minetest: Stable doesn't have HTTPFetch. 21:43 ShadowNinja (It does have a CURL remote_media system though, is that what you're talking about?) 21:43 sapier1 dev has some rework of threads too so this is an additional possible source of error 21:44 sapier1 and of course threading could trigger old bugs that haven't had a bad effect too 21:45 sapier1 networking code is heavyly broken especialy on large amounts of data to transfer 21:46 kahrl well guys 21:46 kahrl I explained above what my idea is where this message might come from 21:47 sapier1 :-) true 21:47 sapier1 I hate bugs only occuring in release build 21:48 kahrl it should happen on any kind of build, if it happens 21:49 kahrl maybe it depends on the winsock implementation, I heard there's a proliferation of those on win32 22:00 hmmmm and what exactly is better on parsing on server then on client? consistency, although I suppose if you really wanted to, you could add a raw json formspec definition thing 22:00 hmmmm the thing is that you're treating formspec as if it were just some format 22:00 iqualfragile about those shaders: i think it would be smarter to overlay multiple sine waves for the waterwaves efect 22:00 hmmmm whereas it should be ideally a set of API to get something accomplished 22:01 hmmmm and it just so happens that the API defined for formspec maps nicely over to JSON because you have a table array full of tables with certain elements and whatever 22:01 hmmmm it's really not too much of a problem, parsing formspec needs to be done by the client anyway, so the code STILL has to be there 22:04 hmmmm a benefit to server-side parsing of formspecs could be validation. the mod that's registering a formspec could get an error on inititalization that it's wrong for some reason 22:05 hmmmm what i envision is formspec as a set of API that takes a description of a GUI in whatever form you'd like, as long as there are keys and values 22:06 hmmmm in the original formspec string thing, you have keys that are implicit based on position and context and all this other stuff 22:06 hmmmm but in formspec 2.0, there will be better ways to define these formspecs 22:07 PilzAdam whos going to rewrite the mainmenu? 22:07 hmmmm you'll be able to do it in raw JSON if you'd like, or what's preferred is that you define it programatically by making a set of objects in the script language 22:07 hmmmm PilzAdam, nobody 22:08 hmmmm so my point is 22:08 hmmmm formspec will be abstracted away to a set of API that performs operations based on some definition of a GUI, and how it gets that definition is arbitrary 22:08 hmmmm hell, if you want to make it XML you can do that too 22:09 hmmmm it's just that it gets serialized into JSON for the trip between the server and the client 22:10 hmmmm I am pretty much repeating myself by now.... 22:26 kahrl just rebased: formspec_table (#920) 22:33 ShadowNinja kahrl: So, does that patch look good? ^ 22:36 kahrl which one? 22:38 kahrl ShadowNinja: I can't find it 22:38 kahrl ah there it is, you mean http://ix.io/9uv? 22:38 ShadowNinja Yep. 22:39 kahrl ah, the idea in my head was a method that returned just the inventory list names 22:39 kahrl but either way should be fine 22:39 kahrl unless there is some pressing need for a method that returns just the names (for some performance reason or something) 22:43 ShadowNinja Well if you look at the code it could be improved, but that would require bigger to InventoryLists and the way are pushed. 22:43 kahrl ShadowNinja: how does the read_items fix work? wouldn't that just abort at the first "hole" in the table? 22:43 ShadowNinja +changes 22:44 ShadowNinja kahrl: Yes, but it will go through it in order. (like ipairs instead of pairs) 22:44 kahrl oh, okay 22:46 kahrl I thought lua_next moved through the array part of a table in numeric order 22:49 ShadowNinja If you add them in numeric order it probably does, but that's not guaranteed and modification will mess it up. 22:57 kahrl ok, so lua_next won't work, but it also feels wrong to me to silently ignore part of a table 22:57 kahrl ShadowNinja: 23:15 kahrl john_minetest: can you check if this fixes your issue? https://gist.github.com/kahrl/8106473 23:16 kahrl good luck ;) 23:48 ShadowNinja kahrl: Do you have a better idea? IMO it should allow arrays with missing items, but how can that be done? 23:49 ShadowNinja Using lua_next would work if you can set indexes of a vector in any order. 23:50 ShadowNinja But that will probably result in some double initialization.