Time Nick Message 01:59 hmmmm god dammit Zeno- 01:59 hmmmm I explicitly disapproved of 874109c520 02:00 hmmmm it's like everybody wants their feature !!!now!!! and so they do it themselves and they do it wrong 02:28 kaeza the alternative is waiting half a year (or more) to get something in 02:32 hmmmm maybe we should bring an Agile workflow into development 02:32 hmmmm we'll have a sprint of, let's say a month, and the active developers get assigned issues to work on 02:32 hmmmm so everybody knows what's being worked on and when 02:33 hmmmm well, I was going to work on improvements to schematics, but now it seems i'm going to have to push the new noiseparams up in priority 02:53 Zeno` hmmmm 02:54 Zeno` I explicitly disapproved of 874109c520 02:55 Zeno` I actually spoke to celeron55 about that before committing to confirm what I was allowed to do 02:55 Zeno` I.e. protocol 02:58 Zeno` I think if it was specifically disapproved it should have been mentioned in the comments. I doubt many of us are successful mind readers :) 02:59 hmmmm i thought you saw it when i spoke about it 02:59 Zeno` nope 03:00 Zeno` if I had I woulnd't have merged :/ 03:01 hmmmm well whatever, just don't tell people to use it i guess 03:01 hmmmm for now 03:02 hmmmm i would fix it right now but i'm working on like work work for my day job 03:02 hmmmm that i didn't get a chance to do during the daytime because shit happened IRL today 03:03 Zeno` :) 03:06 * Zeno` gives hmmmm some Nutella so he feels better and has more energy to fix the RL shit 06:42 hmmmm hey guys, what do you think about sections in the config file 06:44 hmmmm i.e. 06:44 hmmmm instead of keymap_forward and keymap_backward, it's keymap.forward and keymap.backward 06:44 hmmmm Settings *keymaps = g_settings->getSection("keymap"); int backward = keymaps->getInt("backward"); 06:44 hmmmm now i'm not proposing JSON 06:44 hmmmm just breaking things down into objects 06:45 Zeno` someone was talking about this a few weeks ago 06:45 Zeno` well, maybe a month ago 06:46 hmmmm i want this because the getStruct thing sucks 06:47 VanessaE save that change for 0.5.x 06:47 VanessaE that'll break literally every server config out there. 06:47 hmmmm obviously there are intelligent ways to not break compatibility 06:48 hmmmm you can probably see where this is going 06:48 VanessaE I can, generally. 06:49 hmmmm mapgen.v6.noise.terrain.scale = 50 06:49 VanessaE but how long would such compatibility code be maintained before someone decides it's obsolete? 06:51 hmmmm so i'm not saying i want json configs but 06:51 hmmmm i want json configs 06:51 Zeno` I'm not saying I don't understand 06:51 Zeno` but I don't understand 06:52 Zeno` So I can't say much :) 06:52 Zeno` I can't say I like JSON very much though 06:54 Zeno` is there JSON parsing in the engine? 06:54 hmmmm there is 06:54 diemartin hmmmm, http://irc.minetest.ru/minetest-dev/2014-09-26#i_3945936 06:55 diemartin (related) 06:55 hmmmm yeah 06:55 Zeno` ahh I knew someone was talking about it about a month ago heh 06:55 hmmmm I don't bring this up randomly though 06:55 hmmmm it's because I want to add boolean options to NoiseParams 06:56 hmmmm the current struct setting type is not that flexible and is positionally based, right 06:57 hmmmm but it was the most compact way i could fit it without flooding the global settings namespace with 50000 different settings 06:57 hmmmm for a single mapgen's noise descriptions 06:57 hmmmm proller's solution of making the setting's text serialized json is completely boneheaded and terrible in many ways 06:58 hmmmm but making the entire config file a big json entry isn't bad at all because it's readable and can span multiple lines 07:08 Zeno` 50000 settings? 07:09 hmmmm obviously an exaggeration. but per noiseparams there are 8 parameters, and per mapgen there are like 10 noiseparams, so a lot 07:10 Zeno` maybe mapgen stuff should be in a different file then 07:10 hmmmm there's a lot of stuff that could and should be done 07:10 hmmmm and i'm going to be the one to actually do it 07:11 Zeno` what do you mean? 07:12 hmmmm config file include directives, multi-line entries, heirarchical settings, etc. 07:12 hmmmm yet settings hasn't functionally been touched since it was implemented 07:13 Zeno` sounds like a big job 07:14 Zeno` What' 07:14 Zeno` What's the main concern with have a second config file for mapgen (beyond simple params) 07:15 hmmmm nothing, i want to do that 07:15 Zeno` oh, sorry I misunderstood 07:15 hmmmm it's just that when i do things, i do them right 07:16 hmmmm once i get the config file improvements done, i'll be able to organize noiseparams in settings the right way 07:16 hmmmm once i can specify whichever flags or noise type in settings, i can add new noiseparams options 07:16 hmmmm once i specify noiseparams options and types, you'd be able to add eased (or remove) eased noise anywhere 07:16 hmmmm in addition to absolute value noise, contour noise, etc. 07:17 Zeno` can the current .conf file be made to transparently (backwards compatible) have an include directive? 07:17 hmmmm of course 07:17 hmmmm i'll take baby steps. that'll be the first thing to do 07:18 Zeno` Well, I think if the main .conf file remains essentially the same and the other things are progressively added then people might be happier. What are the main advantages you're aiming for? Performance or better maintainability/readability/flexibility of config files? 07:20 hmmmm latter 07:22 Zeno` I'm sitting on the fence. If it's done with backwards compatibility and introduced slowly then I don't have a strong opinion against it. 07:23 Zeno` I do like hierarchical data 07:23 hmmmm how about i just do it instead of talking about it and you'll see it's nice 07:25 Zeno` Well, I think people will be able to make a decision more easily with something to actually look at rather than hypotheticals 07:31 Zeno` I still think JSON is overkill for something that's only read at startup 07:32 Zeno` I dunno... but I don't spend a lot of time looking at my config files hehe 07:36 Zeno` hmmmm, did you have any luck with that segfault (double free) on shutdown? 07:36 hmmmm nope 07:37 Zeno` I tried for a while but couldn't find it :/ 07:38 RealBadAngel it happened to me once when exiting to main menu (so not only on shutdown) 07:42 Zeno` yeah, singleplayer game shuts down the singleplayer server when returning to the launch menu 07:43 Zeno` I even stepped through the destruction sequence 07:43 Zeno` but it's (apparently) free'd before it even gets there 07:46 Zeno` happens to me every run 07:47 Zeno` launch single player --> exit game or exit to main menu --? minetest': free(): invalid pointer: ..... 07:56 Zeno` any objections to me merging #1833? 07:56 ShadowBot https://github.com/minetest/minetest/issues/1833 -- Remove most exceptions from getNode() (and variants) by Zeno- 07:56 hmmmm no 07:57 Zeno` Ok, thanks 07:57 VanessaE zeno, about that.. 07:57 Zeno` yep? 07:58 VanessaE no objections, but I had Sokomine try it out and she saw no improvement at all. 07:58 VanessaE any comment why that might be? 07:58 VanessaE she didn't report any regressions, just no measurable improvement for some reason 07:58 Zeno` if she was already getting her FPS cap there would be no difference apart from less CPU usage. Could that be it? 07:59 VanessaE nope, definitely not at any fps cap - she was only pulling a max of 11 fps in her test 07:59 Zeno` 11 fps on VE-S? 07:59 VanessaE yeah, at the spawn 07:59 VanessaE the standard acid test :) 07:59 hmmmm "my friend Carol doesn't think that's a very bright shade of red. any comment why that might be?" 07:59 Zeno` heh, other things might be involved :) 08:00 Zeno` perhaps setNode() is now a bottleneck... I intend to look at that after this is commited 08:01 VanessaE hmmmm: Sokomine is quite adept at spotting problems and zeno writes good code. a more apt analogy might be "I had my mechanic friend put your super fuel formula in but her car power and economy didn't change any." 08:02 hmmmm your perception sucks 08:02 VanessaE so does your attitude. :P 08:03 hmmmm the speed difference between checking a return value vs. handling a blown exception is very large 08:03 VanessaE you clearly missed the part earlier where I said zeno's code actually worked rather well for ME. 08:03 hmmmm it's measurable 08:03 hmmmm maybe you can't *feel* it, but it's there 08:03 hmmmm don't worry, it's an improvement. some person's feelings aren't going to get in the way of a good commit 08:04 VanessaE *facepalm* damn it hmmmm prefix your statements so we can see who you're talking to. 08:10 Zeno` the performance increase, though, should be enough to visibly see 08:11 Zeno` I tend to trust Sokomine's observations as well 08:11 Zeno` But I don't have an explanation atm 11:23 Zeno` RealBadAngel, is there any way that you can think of that the impact of getSmoothLight() can be reduced? 11:24 Zeno` i.e. performance increased 11:30 Zeno` the family of functions are pretty expensive (relatively speaking) 15:01 Zeno` hi hmmmm 15:02 Zeno` this double free really needs to be fixed :/ 15:02 hmmmm i agree... any ideas? 15:03 Zeno` nope... I just spent another hour and cannot work it out 15:03 Zeno` is there a tool that will show where the previous delete occurred? 15:03 celeron55 valgrind memcheck doesn't do that? 15:04 celeron55 i'm pretty sure it does 15:04 Zeno` celeron55, doesn't seem to. I've asked in #valgrind (about 45 minutes ago) but no response yet 15:04 Zeno` well if it does it should be easy 15:04 hmmmm well, just fyi there's no other place where ores are deleted aside from in register_ore, in which case it's not even added to OreManager, and then in OreManager's dtor 15:04 Zeno` yeah I see that hmmmm, which is why it's so frustrating 15:05 celeron55 Zeno`: maybe --track-origins=yes or something 15:07 Zeno` maybe. I'll run it again 15:07 Zeno` building 15:12 Zeno` no more info than last valgrind session 15:12 Zeno` pasting 15:13 Zeno` http://pastebin.com/aZSr1MJC 15:14 Zeno` very frustrating hehehe 15:15 hmmmm maybe it would be helpful if you added a print statement to the Ore dtor and compared with addresses in OreManager::create() 15:17 Zeno` I've stepped through it. I've even looked for pointer aliases 15:19 Zeno` maybe I'm just tired 15:19 Zeno` I'll try again tomorrow 15:19 * Zeno` signs off for the day :) 17:56 ShadowNinja hmmmm: What about a Lua config? You'd just have to add quotes around string settings, you'd get includes through dofile, and it's very flexible. Lua was originally designed to be a configuration file parser after all. 17:57 ShadowNinja You'd have to convert it to a C++ structure though for speed. 17:57 ShadowNinja Unless Lua's fast enough -- which it might be. 19:35 Calinou wieldhand is always fully bright, even in dark areas… 19:36 Calinou *** Error in `./minetest': free(): invalid pointer: 0x0000000002062648 *** 19:36 Calinou crash on qui 19:36 Calinou quit* 19:37 VanessaE already been reported. 19:37 VanessaE blame hmmmm apparently :P 19:41 hmmmm ShadowNinja, this way is reverse compatible with old config files 19:41 RealBadAngel kahrl, here? 19:42 RealBadAngel Calinou, i figured that out too, will fix it tommorow 20:19 celeron55 hmmmm: you should consider libraries for that though; like https://github.com/vstakhov/libucl 20:20 celeron55 that for example may or may not be basically a more fleshed out implementation of what you would do 20:20 celeron55 and you could then focus on making something actually new 20:48 RealBadAngel celeron55, do you have anythin against adding mumble support? 20:48 celeron55 no if it's optional at buildtime and runtime 20:48 RealBadAngel (external audio chat, positioned by game) 20:49 RealBadAngel i would like to see it as option in menu 20:49 RealBadAngel so runtime one 20:50 RealBadAngel code is not expensive 20:50 RealBadAngel and its universal 20:52 RealBadAngel celeron55, https://www.youtube.com/watch?v=CHMjBPUmGZk 20:53 celeron55 well if it doesn' 20:53 celeron55 t depend on external libraries, then it doesn't need to be optional at build time 20:54 celeron55 (i think this is quite obvious) 20:54 RealBadAngel code i saw is quite simple 20:55 RealBadAngel needs to export just position of the players 20:55 RealBadAngel in mp env it will work quite nice imho 20:57 RealBadAngel havent checked it for myself yet, but could saw it implemented in many projects with the same example code 21:08 MinetestForFun re 21:17 RealBadAngel yes? 23:34 hmmmm celeron55, that's exactly what I want to do actually, minus the distinction between sections and objects 23:34 hmmmm the problem is that i don't want an additional dependency for something so trivial 23:37 celeron55 well, that one could certainly be bundled in the source 23:37 hmmmm ehh... 23:37 hmmmm i can code the same thing without all the overcomplicated, unnecessary bits in 30 minutes 23:37 celeron55 okay, time starts now 23:37 proller lol 23:42 celeron55 i do think that C APIs for stuff like that tend to be tedious to use; for that reason a pure C++ one could be inherently better 23:42 celeron55 (if it's properly designed to not require manual memory management) 23:43 hmmmm that library you pasted probably isn't thread-safe either 23:44 proller hmmmm, you even cant fix segfault in 2 days 23:45 hmmmm can we get some ops in this channel? 23:45 proller and they can fix ? 23:46 exio4 proller: minetest's code is in the github repository, tell us where the problem is and how to fix it 23:47 proller why i should fix others shitcode ? 23:47 hmmmm he hasn't fixed anything at all 23:48 hmmmm ugh 23:48 proller lol (v2) 23:48 hmmmm it really pains me that a beligerant asshole like proller is able to reap the benefits of minetest development 23:48 hmmmm we should have a vote on modifying the license to a custom version of LGPL that specifically excludes proller from using it 23:49 celeron55 hmm i think this works on freenode 23:49 hmmmm christ 23:49 hmmmm https://github.com/freeminer/freeminer/commits/master 23:50 hmmmm i haven't counted exactly, but i'm pretty sure 75% of the commits there are fixes for his own fuckups 23:51 hmmmm a friend of mine I know IRL tried out freeminer after he found it on google as a supposedly "better minetest with more features" 23:51 hmmmm he told me it sucked much more and kept crashing every 5 minutes 23:51 Megaf freeminer is not better 23:51 Megaf but it has some cool pull requests that minetest doesnt 23:52 Megaf and proller have actually deactivated some crashs, 23:52 Megaf I mean, some stuff that minetest thing is critical error freeminer doesnt, so it wont crash 23:53 Megaf and one good thing about freeminer is the hability to use leveldb for the rollback file 23:53 PenguinDad Megaf: what errors are you talking about in specific? 23:53 Megaf anyway, I still prefer Minetest 23:53 Megaf PenguinDad: I beleive some mod errors about nil value 23:56 celeron55 maybe this isn't #-dev stuff, but i'm not on #minetest so if someone is interested about a random podcast that compares voxelands/minetest-classic with minetest, start at 1:06:40 here: http://unseenstudio.co.uk/tuxjam-ogg/tuxjam-34/ 23:57 celeron55 it's slightly interesting altough they're not putting exactly a whole lot of thought into it