Time Nick Message 02:33 RealBadAngel stupid question, wheres the node mentioned in single node mapgen? 02:33 VanessaE uh...... 02:34 VanessaE no clue. :P 02:34 RealBadAngel there should be a node placed somwhere to make it usable at all 02:36 RealBadAngel i need such mapgen for testing my code, but i cant place anything 02:37 RealBadAngel because theres no starting single node ;) 02:37 VanessaE well singlenode means one node that fills the whole map 02:37 VanessaE usually air unless otherwise changed I guess 02:37 zat people, is it possible to get the humidity of certain coordinates? (v7) 02:37 RealBadAngel thats pretty dumb 02:38 VanessaE it's meant for mods/games that have totally custom mapgens 02:38 VanessaE effectively disables the core mapgen 02:38 VanessaE e.g. the "mg" mod 02:38 RealBadAngel i see 02:38 RealBadAngel name is misleading then 02:40 zat http://dev.minetest.net/minetest.get_humidity → The weather functions were dropped at Apr 18, 2014. 02:40 zat Just when I wanted to make something with them!!!!!! 02:40 zat why were they dropped anyway 02:41 RealBadAngel ask proller 02:41 VanessaE zat: ask proller. 02:42 zat proller~~ 02:42 zat since they are part of the biomes system, I don't see why they should be removed 02:43 VanessaE short answer: problems with finite water and he refused to fix it properly. basically he ragequit all his code. 02:43 VanessaE (or the bulk thereof) 02:45 zat brilliant :P 02:46 zat I just made 5 different types of dirt and grass, each for a different level of humidity 02:53 VanessaE zat: in plants_lib (plantlife modpack) there are extensive biome controls that if used right and not abused, may also be of service. 02:53 zat VanessaE: but performace!!!!!!!! 02:53 VanessaE it performs as fast as you can expect a mgv6-based mod to perform 02:54 VanessaE hence "not abused" part. 02:56 zat but I am going to abuse it 02:56 zat and actually rape it 02:58 VanessaE grrr 02:58 VanessaE don't use that word. 03:00 zat rape? 03:00 VanessaE yeah. 03:00 VanessaE don't misuse that word. 03:01 zat I am just trying to be real explainative 03:01 VanessaE anyways, I was thinking more along the lines that it may be useful for decorating the map after the base land is generated 04:22 paramat zat mgv7 humidity is still there, it was the 'proller weather' humidity that was removed 04:23 zat paramat: but I could not get it to work 04:23 zat at least not with minetest.get_humidity 04:23 paramat that's the proller weather method, you need to use 'get perlin' and use the mgv7 humidity noise params 04:24 paramat or use a perlinmap if you want humidity at all points in a mapchunk 04:26 zat paramat: D:! 04:26 paramat RealBadAngel, just write a simple mod that places a solid node in a singlenode mapgen 04:28 paramat looks like we stirred up the pixie of doom ;) 04:40 hmmmm paramat, what were you saying a couple days ago 04:40 hmmmm i didn't see it 04:40 paramat erm 04:43 paramat was it something on -dev channel? 04:44 paramat oh i know 04:45 proller zat, any evolution of my weather/liquid stuff was prevented or ignored. now it available in freeminer in much better state. 04:45 zat proller: any links about it? 04:45 proller http://freeminer.org/ 04:46 paramat hmmmm, i was requesting threaded mapgen object voxelmanip 04:46 zat proller: THANK YOU VERY MUCH I WOULD HAVE NEVER GUESSED!!!!!!!!! 04:47 hmmmm threaded? 04:47 paramat hmmmm, because many people are finding lua mapgens too slow for servers 04:47 hmmmm multithreaded you mean? 04:47 paramat yeah i guess 04:47 hmmmm at this point that's completely impossible for lots of reasons 04:47 hmmmm hmm 04:47 hmmmm hrmmmmmmm 04:47 paramat it's in c55's roadmap for minetest 04:48 hmmmm I bet a lot of cpu time is being taken up generating crap like trees in a lua mapgen 04:48 VanessaE trees? 04:48 VanessaE oh, you mean *saplings* 04:48 zat I think he means moretrees 04:48 zat :D! 04:48 VanessaE zat nope. 04:48 paramat yeah i could place saplings instead of complete trees 04:48 hmmmm I wonder if it will help if I add a "generate registered decoration" voxelmanip function 04:48 VanessaE moretrees does not place whole trees, only saplings. 04:49 hmmmm i need to work on all this stuff a LOT more 04:49 hmmmm lots of stuff todo with schematics alone 04:49 paramat hmmmm, minetest loves you, needs you and misses you =} 04:49 hmmmm =( 04:49 hmmmm see 04:50 hmmmm what happens is that at the end of a workweek I just don't feel like doing anything else 04:50 hmmmm and besides, you can't do anything serious within 2 days 04:50 hmmmm you need more time to immerse yourself 04:51 paramat yeah 04:51 hmmmm and I haven't taken any vacation since I had to for last christmas because i had to use it or loose it 04:51 hmmmm now that I'm at a new company I can't just take vacation after being around for about a month 04:51 hmmmm but yeah 04:52 hmmmm I feel like I won't be able to get anything serious done unless I have real time off to do minetest 04:52 paramat i've only been able to do what i have because i work almost fulltime on mapgen 04:53 hmmmm with impressive results, nonetheless 04:53 hmmmm you should be working on the mapgen, not me :P!! 04:53 hmmmm but 04:54 hmmmm I have plans to finally extend NoiseParams that you may enjoy 04:55 paramat ?.. 04:59 hmmmm adding an 'attributes' field 05:00 hmmmm things like turning on/off curve easing, making each octave absolute valued, etc. 05:00 hmmmm eased 3d noise is much higher quality. i know you use a lot of 3d noise so you'll love this 05:03 paramat eased means less gridlike appearence from above. non-octave octaves? 05:05 paramat oh each octave can be given it's own spread? 05:06 hmmmm huh? no 05:06 hmmmm eased means less gridlike apperance, yes 05:07 hmmmm I think celeron removed easing from 3d noise for no real reason aside it being too slow 05:08 hmmmm it's fast, much faster now, but still quite heavy. i feel like i may need to further optimize 3d noise, especially now that heavyweight computations like easing are going to be added 08:19 Zeno` https://github.com/minetest/minetest/pull/1543 <-- I've checked and it doesn't "calls by mapgen don't override the seed they get from mapgen." 08:19 Zeno` proller, can you check https://github.com/minetest/minetest/pull/1543 if you have time? 08:25 proller why me ? 08:25 Zeno` Mainly because you won the lottery 08:26 Zeno` heh 09:29 Calinou https://github.com/minetest/minetest/pull/1568#issuecomment-52968584 09:29 Calinou wtf… 09:29 Calinou we shouldn't allow utterly long names 09:29 Calinou that's all 09:29 Calinou but if you're fine with players named zaiejziezhajeuzhezugzayugzyaygzeayzegayega that's fine 09:29 Calinou impossible to ban 09:42 Zeno` how did you know my alias was zeayzegayega? 09:47 sapier Zeno`: can you please fix commit message for 1545? 09:48 sapier AND pull description 09:48 Zeno` 1545... let me look 09:49 sapier Calinou: still the bug claimed to be addressed by that pull isn't fixed but just hidden ;-) 09:49 Zeno` The commit message is updated isn't it? 09:49 sapier true, so it's only pull request description 09:50 sapier thanks 09:50 Zeno` I've updated 09:51 Zeno` I'm sorry about the confusion/cross-over between 1545 and 1543 09:52 Zeno` err ignore that 09:54 Calinou https://github.com/minetest/minetest_game/pull/305 09:54 Calinou safe to merge 09:55 Calinou makes minetest_game much more… bearable 09:59 sapier well "game" is game team so it's you nore and blockmen for what I remember 10:00 Calinou you?! not at all 10:00 Calinou BlockMen wouldn't want me in minetest_game team at all 10:00 Calinou I don't maintain Carbone without reason :P 10:01 nore sapier, it's sfan5, Blockmen and me 10:02 sapier oh sfan5 sorry 10:02 RealBadAngel https://github.com/RealBadAngel/minetest/commit/031e9091779afdf6bd468b783df382e15bc5ce32 10:02 sapier do we have this written down somewhere? 10:02 RealBadAngel here you go with 18 characters limit 10:02 sapier for ppl with bad memory like me ;-) 10:03 Calinou nore, did you look at my PR? 10:03 sapier RealBadAngel: that's just same crapy workaround there has to be a reason why minetest behaves that bad and that one is a REAL bug 10:03 Calinou only changes 3 variables 10:04 RealBadAngel this is not workaround 10:04 sapier it is 10:04 RealBadAngel its limitation 10:04 sapier that's nature of a workaround 10:04 RealBadAngel no its not 10:04 Calinou limits aren't necessarily bad though 10:04 sapier limit it so that buggy input can't happen 10:04 nore Calinou, I don't use sound :) so I don't care whether the PR is merged/not merged, ask sfan5 and BlockMen their thoughts on it (2 of us have to agree for the PR to be merged), and you can count what I'm saying as agreeing 10:05 sapier yet the reason why minetest can't handle 19 character names will still persist and as noone ever investigated why this happens we can't even be sure 18 characters will work in any situation 10:05 Calinou ok, so I need 1 agreement? 10:06 sapier e.g. in case of 19 beeing just as much to overwrite some critical data while even 16 are too long ... we just don't know 10:06 Zeno` minetest can't handle 19 character names? 10:06 sapier at best get nore's agreement calinou 10:07 nore ^ he already has :) now he needs either sfan5's or BlockMen's 10:08 Zeno` char m_name[PLAYERNAME_SIZE]; <-- Could that be the reason? :/ 10:09 Zeno` and snprintf(m_name, PLAYERNAME_SIZE, "%s", name); 10:09 Zeno` I don't get the problem 10:17 RealBadAngel #define PLAYERNAME_SIZE 20 10:17 RealBadAngel this is max allowed size 10:18 RealBadAngel so builtin mods should truncate the names to this size too 10:18 Zeno` it shouldn't matter if the mods use the member function to set the name 10:19 RealBadAngel no, they dont use any specific functions 10:19 RealBadAngel just common setting_get, setting_set 10:19 Zeno` ahh ok 10:20 RealBadAngel so atm its possible to enter name of any length 10:21 RealBadAngel but in memory theres place for fixed length one only 10:22 RealBadAngel sapier, so the limitations are ok imho, as we already do have such in the engine. so mods have to follow it 10:27 Zeno` seems the real problem is in settings.h then 10:28 RealBadAngel you would like to add for common function check for specific name and then apply tuncation? 10:28 RealBadAngel not the right way at all 10:28 RealBadAngel entering the name is the right time to take care of it 10:28 Zeno` I'd truncate all names to PLAYERNAME_SIZE-1 10:29 RealBadAngel whenever you enter anything into input field its the right time to validate it 10:29 RealBadAngel and nobody dare to say im wrong 10:30 Zeno` Personally I think core.setting_set("name", fields["te_name"]) should do it 10:30 Zeno` heh 10:30 Zeno` I dared! 10:30 RealBadAngel :P 10:31 RealBadAngel Zeno`, your way will make common function check for usage of one specific setting 10:32 RealBadAngel and thats hell wrong way 10:32 RealBadAngel because check will be performed on every attempt to set/get anything 10:33 RealBadAngel setting_get is used in the engine about 500 times 10:33 RealBadAngel so it would mean about 498 nonsense checks 10:34 Zeno` but, but, all error checking should be in the lowest function possible! (j/k) 10:34 sapier RealBadAngel: ok so our limit is 20 bytes 19 chars ... why does it fail at 19? 10:35 RealBadAngel hmm, wstrings? 10:35 RealBadAngel arent they a bit longer? 10:35 RealBadAngel quick guesss, idk really 10:35 sapier btw mainmenu is wrong location for that fix as you don't have to pass mainmenu. It'd be better to catch in core and pass back a message about "name to long". This way you'd even get a error message dialog without having to code anything ;-) 10:36 sapier hmm if someone abuses a char array to save a wchar we've got a more severe issue 10:36 proller and it was solved in freeminer/next - no limits and utf in names 10:36 RealBadAngel oh cmon, input validation is used everywhere 10:36 RealBadAngel why should we be DIFFERENT? :) 10:36 sapier as we couldn't be sure 18 is small enough 10:37 sapier RealBadAngel: case you add this to mainmenu you'd still have to add exactly same to core because of ppl can join without using mainmenu ;) 10:37 RealBadAngel not to mention we used to organize extremaly long debates on things that could be coded and pushed in 5 minutes 10:38 sapier and same code catching the non mainmenu mode will catch the mainmenu variant too so why do it twice? 10:38 sapier RealBadAngel: if you did push this in 5 min you did only fix half of that issue 10:38 RealBadAngel and thats half job done 10:38 RealBadAngel now locate read of it in the engine and cut it there too 10:39 sapier no that's worth nothing as you'll forget about it and next time the other half pops up noone knows what's going on 10:39 RealBadAngel fixed, next issue plz ;) 10:39 sapier still why 18 not 19? ;-) 10:39 RealBadAngel i will check it now, hold on 10:43 sapier correct location would be main.cpp L 1814 ... there you can prevent any invalid player name to be used 10:43 sapier sad thing is you'd have to change some code in order to get the error message 10:43 Zeno` server.cpp for(u32 i=0; iget("name"); 10:47 RealBadAngel if (cmd_args.exists("name")) 10:47 RealBadAngel playername = cmd_args.get("name"); 10:47 sapier well then that code is useless ;-) because reading from mainmenu is done later 10:48 sapier wait no it ain't useless ... it's probably default value passed to mainmenu 10:48 RealBadAngel no its not 10:48 RealBadAngel yeah, exactly 10:48 RealBadAngel so my part in mainmenu will prevent entering too long names 10:48 sapier yes but we need to check it past mainmenu and that's main.cpp L1814 10:49 sapier we don't need that part RealBadAngel 10:49 RealBadAngel we do 10:49 sapier no 10:49 sapier because you can still enter to long names 10:49 RealBadAngel with my patch you cant enter too long names 10:50 RealBadAngel its impossible 10:50 sapier you can ... they're just truncated on clicking any button 10:50 RealBadAngel thats called validation 10:50 sapier if you don't click a button they're not truncated 10:50 sapier and you don't even get told why it's truncated 10:51 RealBadAngel so add a warning on too long name 10:51 sapier so you add 200 lines of code instead of 5 in main.cpp? 10:52 Zeno` anyway that loop in server.cpp is wrong 10:52 Zeno` bbiab 10:52 RealBadAngel listen. 1st you shouldnt be allowed to enter too long in main menu 10:52 RealBadAngel 2nd, the place in main menu is the place to truncate ones read from config or command line 10:52 sapier you can't prevent entering 10:52 RealBadAngel OFC i cant 10:52 sapier we don't have size limited textboxes 10:53 RealBadAngel that is how input fields work 10:53 sapier no you can't you can only truncate on button click 10:53 RealBadAngel you have to take care of what luser put there 10:53 RealBadAngel see, thats is how we are lately working 10:54 RealBadAngel on even simplest thing to take care of, we start to argue for hours and imagining extremaly complicated code for that 10:54 RealBadAngel just fuckin cut it and problem solved 10:55 RealBadAngel its not worth the time spent 10:56 sapier we don't argue it's just plain wrong to do this in mainmenu 10:56 sapier it's not catching the full issue 10:56 RealBadAngel issue is that you let too long names to be stored 10:57 RealBadAngel and you have to prevent such situation 10:57 sapier and why is this an issue? 10:57 RealBadAngel because you have reserved 20 bytes for it 10:57 sapier not in settings.conf 10:57 sapier minetest.conf 10:57 RealBadAngel damn you 10:57 sapier there size is unlimited 10:57 RealBadAngel setting_set does it 10:57 RealBadAngel and it is in main menu 10:58 sapier btw 19 chars work fine 10:59 RealBadAngel ofc 10:59 RealBadAngel 19 + 0 = 20 10:59 RealBadAngel 20 names long name will cause problems 10:59 RealBadAngel *characters 11:00 sapier https://gist.github.com/sapier/87e1332c54c130c24a7c this one ... ok it's 6 lines instead of 5 but provides error message and prevents sending of more then 19 chars in any situation 11:01 RealBadAngel too late 11:01 RealBadAngel you have that already stored 11:01 sapier which ain't any problem 11:02 RealBadAngel in fact you have informed the player that something is already overwritten by too long name 11:02 sapier no it ain't 11:02 RealBadAngel you are checking for already stored name 11:02 sapier at that point in code where the check is done everything is handled by std::string or std::wstring 11:03 RealBadAngel in player structure 11:03 sapier we've store it in minetest.conf where ain't a length limitation 11:03 sapier there ain't a player structure by that time 11:03 sapier it's gonna be created within the_game 11:05 RealBadAngel wheres is this code of yours located? 11:05 RealBadAngel nobel for one that could read the diffs :P 11:06 sapier it's in main.cpp right before creating the game, here we know what name is supposed to be used no matter of how that name is specified 11:06 sapier L1812 ;-) 11:07 sapier maybe adding gettext around the message would be a good idea ;-) 11:08 RealBadAngel https://github.com/minetest/minetest/blob/master/src/main.cpp#L1812 11:08 RealBadAngel you have something messed up then 11:09 sapier at this code it'd be 1845 11:09 sapier guess I didn't updated to latest master recently 11:10 sapier mm 11:10 sapier no even after uptating lines are same 11:10 sapier wtf 11:12 sapier ahhh 11:12 sapier ok I'm not at master but my font handling patch 11:14 RealBadAngel so, to the conclusion, your way is a workaround only 11:14 sapier no it ain't because it fixes client to connect to server in any cases 11:14 RealBadAngel it doesnt take care of too long names it just pops up funny message and then cuts it down 11:14 RealBadAngel it doesnt handle them properly by dont letting storing them 11:14 sapier AND it is able to use the same define causing the limitations while mainmenu variant easyly runs out of sync 11:16 sapier if you don't want them to be stored in minetest.conf you have to handle this in settings as you never can prevent e.g. a mod to write it there 11:16 RealBadAngel proper one is to dont let storing too long ones (thats mainmenu), 2nd cut too long ones on line #1344 (given by command line or config) 11:16 sapier and you have to check it on startup too as it could#ve been changed manually 11:16 sapier all of this would be out of mainmenu 11:17 RealBadAngel cut on 1344 will efectively cut that in config too, because it will be automagically stored back on exit 11:18 sapier https://gist.github.com/sapier/87e1332c54c130c24a7c against current master 11:18 sapier no it won't as there's no need to even start mainmenu 11:19 sapier if you insist in cutting down that patch will be 7 lines instead of 6 ;-) 11:19 sapier I'd not have a problem with it ;-) 11:22 sapier https://gist.github.com/sapier/87e1332c54c130c24a7c better? now the cut variant is even passed back to mainmenu 11:23 sapier oh ... last doesn't work ... let me check why :-) 11:24 RealBadAngel hehe 11:24 sapier to many playernames in there 11:25 sapier ok new variant works 11:26 RealBadAngel ok then, let it be that way 11:27 sapier merge it that way? 11:27 RealBadAngel not my way, but it should work safely 11:28 sapier I still wonder why this got server confused, because this fix wouldn't defend servers from old clients 11:28 RealBadAngel so make the cut for the server too 11:29 RealBadAngel just so 11:29 sapier imho server should denie players with too long names 11:29 RealBadAngel hmm i think one more thing should be checked 11:29 RealBadAngel communication 11:30 RealBadAngel the name is being sent/received 11:30 RealBadAngel here lenght can fuck up things propably 11:31 sapier well we do prevent names to long on server side 11:31 sapier server.cpp L1458 11:32 sapier guess we should be more picky there and deny the client instead of just truncating 11:41 sapier well .. i get a "wrong password" message 11:43 sapier https://gist.github.com/sapier/87e1332c54c130c24a7c RealBadAngel do you agree to the serverside improvement too or shall I revert it? 12:38 kahrl sapier: https://github.com/sapier/minetest/commit/aff52e785cb5c04979349f7a7131531e6131b920#diff-ad60d65b34e16a3319296bb5d683acd6R1453 12:38 kahrl wouldn't this read invalid memory if the client sends a message without any nul bytes? 12:38 kahrl I'd use strnlen just in case 12:39 sapier hmm 12:39 kahrl oh, or does data comes from a std::string 12:39 kahrl in that case it would be fine 12:39 sapier you're right that could be an issue 12:40 Zeno` It's not an issue 12:40 kahrl Zeno`: why not? 12:41 Zeno` strncpy() stops when the src idx is PLAYERNAME_SIZE-2 and places '\0' at PLAYERNAME_SIZE-1 12:41 kahrl Zeno`: it's not about strncpy 12:41 Zeno` what's it about? 12:41 kahrl strlen just happily continues reading memory until there is a nul byte 12:41 sapier strlen could read up to next random 0 in warst case 12:41 Zeno` yes 12:42 sapier that's at least ugly 12:42 Zeno` so strlen isn't appropriate 12:42 kahrl in principle, we can't guarantee there is even one nul byte in the memory following "data", so it could lead to a read from an invalid page 12:42 kahrl crashing minetest 12:43 sapier guess the only way is really doing a for loop to check it 12:43 kahrl well, there is strnlen 12:43 kahrl oh, but POSIX only? 12:43 Zeno` yes it's a POSIX function 12:43 Zeno` I wouldn't use it 12:44 sapier windows does support it too 12:44 kahrl newer visual c runtimes do, yes 12:44 Zeno` I still wouldn't use it... I dislike non-standard functions 12:44 kahrl POSIX is non-standard? :P 12:44 Zeno` well, yes, in a way :) 12:45 Zeno` it's not part of the C or C++ standard 12:45 sapier actually windows even claims to be posix compliant (at least some version) 12:45 Zeno` it's easy enough to use a loop so why not 12:45 sapier Zeno`: general aversion against checking strings by loop? ;-) 12:46 Zeno` sapier, I do have reservations about that yeah 12:46 Zeno` glibc and I assume other clibs are very optimised 12:46 Zeno` but... 12:47 Zeno` I'd rather use a loop (in a custom function) than a non-standard function TBH 12:47 kahrl we could simply have cmake check for strnlen, and if not found provide our own 12:47 Zeno` yep, that'd work 12:49 kahrl http://hg.pdclib.e43.eu/pdclib/src/5f0380e9617189054589c2639e5bc8a2bd7924f7/functions/string/strnlen.c?at=default 12:49 kahrl a CC0 implementation of it 12:50 Zeno` I suppose that's ok 12:51 Zeno` not how I'd write it, but meh 12:53 sapier better the new way? 12:55 kahrl yeah that works 12:56 kahrl I guess you don't need the check in line 1462, but meh 12:57 sapier well without that check I can keep the old version ;-) 12:58 kahrl really? 12:58 sapier hmm no probably not guess break and regular exit past 20th character get different value 12:59 kahrl yeah, playername_length == PLAYERNAME_SIZE implies playername[PLAYERNAME_SIZE - 1] != 0 because of the first loop 12:59 sapier oops 12:59 sapier it's wrong anyway 12:59 sapier no its < not <= 13:02 sapier ok fixed and squashed 13:03 kahrl oh, s/lenght/length in commit message and line 1460 13:05 sapier :-) I don't know why I always write length wrong 13:06 kahrl "height" confusingly has it the other way around ;) 13:07 sapier hmm that might be a explanation :-) 13:07 sapier +n 13:07 sapier btw does anyone know why our icon image bug is back? 13:08 kahrl what bug? 13:09 sapier that one messing up the inventory icons 13:09 sapier I see it especially on games with a lot of textures 13:09 kahrl I guess more GPU memory usage in general 13:09 kahrl making the bug more likely to get triggered 13:10 sapier probably do we miss a check about successfully loading a texture? 13:10 kahrl perhaps 13:10 kahrl I've never seen this bug personally 13:13 sapier quite simple get vanessae's dreambuilder game ;-) 13:14 PenguinDad sapier: I don't get that bug here with dreambuilder :/ 13:14 sapier how much gpu memory? 13:16 PenguinDad I have got 1024 MB gpu memory 13:19 sapier hmm not thatmuch more then I have 13:25 Zeno` how do I tell how much GPU mem I have? 13:26 Zeno` (linux) 13:27 sapier nvidia-settings shows it but there's no generic way to tell 13:28 sapier hmm reading some error reports this could be a irrlicht 1.7 bug too 13:28 PenguinDad Zeno`: you could look at your gpu specs 13:29 Zeno` 2048MB 13:29 sapier https://github.com/minetest/minetest/issues/334 what do you guys think about that one? it should be quite easy to implement 13:29 sapier yet I'd prefere phone numbering to number block variant ... other opinions? 13:31 VanessaE use 10-key numbering. 13:32 VanessaE because it's right there in front of the user on their keyboard. 13:32 sapier 10 key numbering? 13:32 Zeno` I don't have a tab key on my c64 13:32 VanessaE sapier: the keypad on the right 13:32 VanessaE it's referred to as a "10-key" in some regions. 13:32 sapier that's what I suggested not to use because it's more like reading a text up there 13:32 VanessaE those who use a phone/tablet won't have a keyboard to immediately refer to anyway, and they won't have a phone keypad either because, well, they're playing the game :P 13:33 sapier and texts start from 1 13:33 sapier not from x 13:33 VanessaE so the only way that makes sense is to use the same number pattern as is on the user's physical keyboard. 13:33 sapier but they're still used to start reading a text on topleft (unless beeing arabic or chinese= 13:34 VanessaE yes but numbers aren't text.\ 13:34 sapier VanessaE: why is this logic? there's no connection between those keys and inventory slots at all? 13:34 VanessaE most people are accustomed to reading number patterns starting with 1 in the lower left 13:34 sapier which ppl? 13:35 VanessaE anyone who works in the data entry or customer service industries. because that's how they expect to key things in on a calculator or computer keyboard 13:35 sapier I don't start reading bills on lower left 13:35 VanessaE I said number *patterns*, not figures :) 13:35 sapier nor do I start reading any other document lower right 13:35 VanessaE there's a difference :P 13:35 Zeno` I do, because that's where the bad news is 13:35 VanessaE patterns, dude 13:36 sapier numpad style would only be usefull if there was a connection but imho numpad numbering is quite counter intuitive 13:36 VanessaE sapier: tell that to ...everyone else :P 13:37 VanessaE sorry, the computer industry says you're wrong. 13:37 VanessaE the phone industry says the computer industry is wrong too though 13:37 VanessaE but these are the same guys who couldn't even figure out to put "ABC" on the "1" key. 13:37 VanessaE or that "Q" and "Z" exist. 13:38 VanessaE sorry, I choose a computer keyboard for a computer game any day. 13:38 VanessaE :) 13:38 sapier no only calculator industry does say this ;-P 13:38 sapier locations on keyboards are for ergonomic reasons, I don't see any ergonomy benefit on doing that strange numbering on screen ;-) 13:39 VanessaE hand-eye coordination :) 13:39 VanessaE maybe some day the inventory slots will be associated directly with keypad keys? 13:39 sapier show me how you place your icons in inventory by numpad 13:40 sapier quite unlikely as there's no rule to have exactly 9 inventory slots ;-) 13:40 VanessaE yeah but I thought the idea of a workbench with more than 9 slots was shot down? ;) 13:40 VanessaE inb4 I have to tell proller to shut up ;) 13:40 sapier not adding it to main game doesn't tell we don't support it 13:41 VanessaE I was kidding :P 13:41 VanessaE anyways, it just makes sense imho 13:41 sapier yet I see we need more opinions on this as it seems to be quite subjective what feels right and wrong 13:41 VanessaE the user has a keyboard in front of them, they can use it as a visual reference.. "where was slot 8? OH, top center" 13:42 VanessaE they don't have that reference with the phone-style layout. 13:42 sapier sorry vanessae but typical user does use numpad as often as parallel printer port ;-) 13:42 VanessaE um 13:42 VanessaE where do you live that the user has a keypadless keyboard? 13:42 sapier everyone has one, most ppl could live without and wouldn't even notice ;-) 13:42 VanessaE even laptops have an embedded numpad 13:43 VanessaE (via the "Fn" key or similar) 13:43 sapier yes so no keys and noone misses them ;-) 13:43 VanessaE grrrr 13:43 VanessaE now you're just fucking with me :) 13:44 sapier come on ther could be children reading this ... or your husband ;-P 13:44 Zeno` actually, my laptop has a full kybd (including num pad) heh 13:44 kahrl wait, why do we need this? I don't understand why talking about the "bottom-right slot" is a problem 13:44 sapier we don't need this we're just discussing how it should be if we'd implement it 13:45 VanessaE personally I don't need it either - I use "top center", "bottom left" and so on, but I can see the argument for it and indeed it needs to be hammered out 13:46 VanessaE sapier: maybe we could just go in a spiral then ;) 13:46 VanessaE 1 2 3 13:46 VanessaE 8 9 4 13:46 VanessaE 7 6 5 13:46 Zeno` :-o 13:47 sapier or intermitting 13:47 sapier 1 9 2 13:47 sapier 8 3 7 13:47 sapier 4 6 5 13:49 kahrl or corners: the elements (fire, air, water, earth); sides: properties of every pair of elements (hot, wet, cold, dry); the center: "life" 13:49 kahrl "put a stick in the fire slot" 13:49 PenguinDad lol 13:49 sapier would be 13:49 sapier 1 16 2 15 13:49 sapier 3 14 4 13 13:49 sapier 5 12 6 11 13:49 sapier 7 10 8 9 13:50 VanessaE kahrl: what about the other four slots? 13:50 sapier kahrl: doesn't work for bigger slots 13:50 VanessaE would the one between fire and earth make mud then? ;) 13:50 kahrl VanessaE: that one would be "dry" 13:50 VanessaE er not fire and earth 13:50 VanessaE I meant water and earth :P 13:50 kahrl http://en.wikipedia.org/wiki/Classical_element#mediaviewer/File:Four_elements_representation.svg 13:50 sapier and next semi dry 13:51 VanessaE fire + water = steam ;) 13:51 kahrl for a 4x4 grid add more elements: light, darkness, lightning, heart 13:51 kahrl :P 13:52 VanessaE kahrl: you can't add heart. Captain Planet already established that one as the 5th element. 13:52 sapier well guess we should drop that feature ;-P 13:52 VanessaE of course The Fifth Element (movie) says that's love :P 13:53 VanessaE any second now c55 is gonna show up and lambaste us for discussing everything non-core-related here. 14:31 VanessaE sapier: 14:32 VanessaE [08-22 10:32] the plasma tv doesn't even fit the texture 14:32 VanessaE [08-22 10:32] http://i.imgur.com/Mde0GUK.png 14:32 VanessaE but that texture fits just fine in PC clients of course. 14:32 sfan5 VanessaE: the mobile upscales it to 2^n potency size 14:32 VanessaE I know. that's one of my photographs of Historic US Route 66 that is being displayed on the plasma screen. 14:33 VanessaE sfan5: then it's breaking because they're animated 14:33 VanessaE because they're 16px wide on each node 14:33 sfan5 hm 14:33 VanessaE I'm looking at the files now :) 14:33 VanessaE 16 x 160 px, 10 frame animation 14:34 VanessaE (used to produce a slide show) 14:34 sfan5 can you do 160 with 2^n? 14:34 sapier sorry but I can't fix the lack of non npot2 support on some devices so in case this is really reason for it I don't see a way to fix it 14:34 VanessaE sapier: but it's an *animation* 14:35 VanessaE the individual frames are pow2 textures 14:35 sfan5 VanessaE: IIRC the animations work like the texture atlas 14:35 VanessaE then it's clearly being done wrong 14:35 sfan5 no 14:35 sfan5 thats the most efficent way to do animations 14:35 VanessaE you can't pad to pow2 at load time, you'll break every animation in existence. 14:36 VanessaE unless the animation is exactly pow2 # of frames also 14:36 sapier if I don't you're not gonna se any of those textures at all 14:36 VanessaE sapier: then pad at display time? 14:36 sapier I can#t 14:36 sfan5 VanessaE: you can't pad if you use that method 14:36 VanessaE or split the animation apart, pad, then put it back together. 14:36 sfan5 that won't work 14:36 VanessaE why not? 14:36 sfan5 16x is npot2 14:36 VanessaE suddenly you can't cut images apart? 14:37 VanessaE um, 16x16 pixels is a power of 2. 14:37 sapier it might work but at least on first glance it's a lot of work usefull for a couple of devices only 14:37 sfan5 10 frames of 16x are 16x160 which isn't npot2 14:37 * VanessaE grumbles 14:38 VanessaE sfan5: obviously. so pad the LENGTH of the animation? 14:38 VanessaE and just don't use the extra "frames"? 14:38 sapier it's basicaly rewriting whole animation code 14:38 sfan5 hmmm 14:38 sfan5 VanessaE's approach will probably work 14:38 sfan5 and is not a rewrite of the whole code 14:39 sapier well feel free to do because I don't even know exactly where to start right now ;-) 14:39 VanessaE pad to 16x256 px, logically cut it at 160px when animating it, since you already knew the resolution when you loaded the file. done. 14:39 sapier assuming you know original size at time of doing animation 14:40 VanessaE you knew it when you loaded the file 14:40 VanessaE come on, you already depend on libpng 14:40 VanessaE it can tell you the file's resolution 14:40 sapier that's completely different location in code 14:40 VanessaE this isn't rocket science :P 14:40 VanessaE hell, you don't even need THAT much 14:41 VanessaE there's code in signs_lib that extracts the image resolution from a texture file. 14:41 sapier no it ain't it's just not thought to be done therefore I expect to see major code consistency issues there ;-) 14:41 VanessaE (as in, in Lua. without an external lib) 14:41 VanessaE ok good :) 14:41 sfan5 VanessaE: we don't depend on libpng, irrlicht does 14:41 sapier yet I'll not do it anytime soone because it's a quite rare case 14:41 sfan5 >animations 14:42 sfan5 >rare case 14:42 sfan5 yes 14:42 sapier we've got way more anoying issues out there ... animations + android device without npot2 support 14:42 sfan5 let's drop android support 14:42 sapier non npot2 support ... who the hell did invent that name 14:43 sfan5 khronos 14:44 sapier VanessaE: I suggest writing an issue for this so it doesn't get lost but as I said I don't consider it to be a priority topic 14:44 VanessaE actually sapier it's not that rare of a case 14:44 VanessaE but I won't go so far as to say it's common either 14:45 VanessaE perhaps 20% of the cross section of devices and game/server content will run into this issue at most, I would guess 14:45 sapier I agree it is something to be fixed within reasonable time but it'd be no desaster if it was 0.4.12 instead of 0.4.10 14:45 sapier 0.4.11 14:46 VanessaE oh sure, this isn't a "fix it NOW!" sorta thing 14:46 sapier all speaking of my opinion ;-) if someone feels like having to fix it before I'm quite sure noone will prevent that fix from beeing merged. 14:47 Calinou https://github.com/minetest/minetest_game/pull/305 14:47 Calinou this is broken 14:47 Calinou how do you completely delete a commit? 14:47 Calinou to commit the new thing in a branch 14:47 Calinou to make separate pull requests 14:48 sfan5 git reset HEAD~ --hard 14:48 sfan5 git push --force origin 14:49 Calinou thanks! 14:49 sapier but never ever do a --force to minetest master repository (I don't talk about the exceptions on purpose) 14:50 sfan5 "(I don't talk about the exceptions on purpose)" 14:50 sfan5 that doesn't make any sense 14:50 sfan5 you just talked about the exception 14:50 VanessaE first rule of fight club? 14:50 sapier hehe ... well if I didn't add that addition I would've gotten som "but ... " response ;-) 14:51 sfan5 you get one anyway: 14:51 sfan5 but Calinou does not have push rights, 14:51 sfan5 S/,/./ 14:52 sapier still "--force" on minetest master is evil, if you do evil things you have the hell be sure you're right ;-) 14:54 Calinou OK, great 14:54 Calinou I learned something new in Git ;) 14:55 sapier Calinou: guess it's not gonna be the last thing ;-) I find out new things too after using it for 3 years now 14:57 sfan5 sapier: https://coderwall.com/p/euwpig << more git stuff 14:58 Calinou sapier, https://github.com/minetest/minetest_game/pull/306 14:58 Calinou here's PR 14:58 Calinou sfan5, :( that site overrides selection colour 14:58 sfan5 *sigh* 14:59 Calinou I use “tig” as Git log viewer 14:59 Calinou shows date, author in compact way, displays branches and detailed info 15:43 sapier https://github.com/minetest/minetest/pull/1574 should finally fix the chat overlaying formspecs issues 15:46 VanessaE sapier: insert "but wait...no, this over here doesn't fit with this other obscure feature" 15:46 VanessaE ;) 15:46 VanessaE AH! 15:47 VanessaE you fixed it? 15:47 VanessaE (I read that as "text overlaying text issues" e.g. the previous formspec work) 15:52 sapier (almost) not related to any other work from before ... prior merge I'd suggest merging font engine anyway as it'd make this code more clean ... but it's not necessary 15:54 VanessaE there was so much mishegas surrounding the font engine and formspec scaling that I finally got lost. where does that stand now? 16:00 VanessaE sapier: that chat patch seems to work 16:53 sapier can someone check https://github.com/minetest/minetest/pull/1475 please? VanessaE is running it for almost 2 weeks now. It's gonna be a major improvement in felt lag 16:54 VanessaE sapier: I'd say that one's good to merge. 16:54 VanessaE meanwhile, will SOMEONE please fix "error in error handling"? :) 16:55 VanessaE that's like "meanwhile, we got a 404 while trying to show you the 404 page" 16:56 sapier ok someone := ShadowNinja or kahrl or hmmmm or BlockMen or RealBadAngel or nore or someone I forgot ... not orderd by anything except pure chance 17:00 sapier VanessaE: I didn't mention you because I'd prefere someone to read the code because some sorts of bugs are easier to discover this way 17:01 VanessaE no worries 17:01 VanessaE I can read C++ somewhat, but understanding Minetest's internals? pfft. I may as well try to read the man page for tar. :) 17:07 sapier actually the basic version of tar file format is quite simple ... did implement it once ;-) 17:09 Krock sapier, looks okay when looking at the codes 17:36 Calinou man gcc, VanessaE 17:36 Calinou longest man page ever 17:36 Calinou http://paste.ubuntu.com/8115929/ 17:36 Calinou heh 17:36 Calinou in man tar 17:38 sfan5 -> #minetest 17:41 sapier sfan5: are you sure you're gonna be able to fix all those bugs you flagged 0.4.11? 17:42 sfan5 did I say I plan to fix them? 17:42 sapier RealBadAngel: might this be fixed with your changes https://github.com/minetest/minetest/issues/125 ? 17:42 sfan5 I added them to the milestone because they should ideally be fixed for 0.4.11 17:43 sapier Well as you flagged them to be done for 0.4.11 I assumed you did volonteer? ;-) 17:43 sfan5 umm.. no 17:44 sapier well imho flagging (less important) bugs for next release is a little bit useless work as we're gonna have to reflag them quite often till someone will implement it 17:54 rubenwardy #1576 17:56 sapier levelled? really? 17:59 rubenwardy oops, en_gb. 18:00 sapier well I don't know if we use en_gb or en_us 18:01 VanessaE looks like en_us. color, neighbor, etc. 18:01 rubenwardy fixed 18:02 sapier ok merging 18:03 VanessaE check also for to/too. 18:03 sapier not merging? 18:03 rubenwardy true 18:03 rubenwardy I wil 18:03 rubenwardy l 18:03 sapier ok in this case I'm gonna wait 18:03 kahrl is gameplay really written as game play? 18:03 VanessaE that username-too-long patch had a typo that I didn't get a chance to mention 18:03 VanessaE kahrl: no 18:03 kahrl thought so 18:04 sapier VanessaE: what typo? 18:04 VanessaE it's gameplay even if spell checkers reject that word 18:04 VanessaE sapier, "name to long" instead of "too" 18:04 VanessaE unless the name is going to long beach or long island or some other "long" destination ;) 18:04 sapier ok fixing it 18:07 sapier kahrl: can you check https://github.com/minetest/minetest/pull/1475 I'd like to get rid of it 18:08 kahrl sapier: I'll try 18:08 sapier thanks, VanessaE tested it for some time, but some errors are more obvious on reading then testing 18:10 rubenwardy fixed "game play" there are no "to/too" misuses. 18:10 sapier so ready to merge? 18:11 rubenwardy Found a too misuse in readme.androis 18:12 VanessaE not ready to merge ;) 18:12 rubenwardy all good now 18:13 sapier guess I'm gonna wait another 5-10 minutes ;-) 18:15 sapier RealBadAngel: can you merge https://github.com/minetest/minetest/pull/1545? You're the only one who can have a final look at it. 18:17 Miner_48er sapier is there a way to enable debug on a tablet? 18:17 rubenwardy How easy would it by to change this to threshold, without breaking support? https://github.com/minetest/minetest/blob/70074800a207974a0c1383275186cefe6955f297/src/script/lua_api/l_mapgen.cpp#L485 18:17 sapier what exactly do you mean with "debug"? 18:18 Miner_48er F5 18:18 sapier rubenwardy: you'd have to handle both 18:18 sapier Miner_48er: no there ain't a way to enable F5 information 18:19 sapier it's planed to be added by special menu in a later version ... but that's not even started 18:20 Miner_48er ok could it be added as a check box in settings? 18:21 kahrl sapier: https://github.com/sapier/minetest/commit/68c8ca26165be6bcd60775fcbdb17369223e6357#diff-a2a82fe964a7b85f20cd5239d386184aR2360 18:21 kahrl how can the current time be less than the absolute send time? overflow? 18:21 sapier Miner_48er: no we'd need to add a lua api to enable first 18:22 Miner_48er so the only way to enable it now is to add enable_debug = true to conf? 18:23 sapier that's what I intended to prevent there kahrl yes ... it's quite unlikely true but would most likely cause a major time difference 18:23 kahrl sapier: ah. perhaps add a comment there saying this 18:23 rubenwardy Settings are still used by the client, right? 18:23 sapier ok 18:24 kahrl that commit seems good otherwise (I don't know a lot about the inner workings of connection.cpp, though) 18:25 sapier I tried to improve the rtt algorithm the old one was very very very simplistic 18:25 sapier the now one is only simplistic ;-) 18:27 kahrl https://github.com/sapier/minetest/commit/65b7711daa551486618370d3d79f0eeb386beb8d#diff-27330fe8b12f281b2b6d288458912306R55 18:27 kahrl I would probably rename that function to ResendBlockIfOnWire or something like that 18:28 kahrl otherwise it's not clear how this is different to SetBlockNotSent 18:30 kahrl also it makes the intention of code that calls this function more clear 18:31 sapier really? does server need to know what client instance does in case of a block beeing modified? 18:32 sapier someone could decide to handle this case different later for example 18:32 kahrl well if I saw that function name I'd assume it would unconditionally cause this block to be sent as soon as possible 18:32 kahrl but it turns out that the function does nothing if the block hadn't already been sent and is on the wire right now 18:32 sapier hmm 18:33 sapier that's not correct 18:33 sapier if the block is on wire it is requeued 18:34 sapier because in this situation we're about to tell client a wrong state right at that very moment 18:34 kahrl oh sorry, my last sentence had a horrible structure :P 18:34 sapier no problem my sentences often are even worse ;) 18:35 kahrl I meant: if the block isn't on the wire right now, i.e. hadn't been sent at all so far or has been acknowledged, then the function does nothing 18:35 sapier ahh :-) ok so we're talking about same thing ;) 18:36 sapier yes because RemoteClient knows about not beeing necessary to tell. If there wasn't client side prediction we'd need to send 18:36 sapier Yet if it's that name alone I'm just gonna change it 18:37 sapier CheckBlockSendRequired ? 18:38 kahrl NotifyBlockModified doesn't really imply the modification was caused by that same client with prediction 18:39 sapier it does as it's called for the RemoteClient instance 18:39 kahrl well functions called Check* always sound to me like they don't modify state 18:39 sapier hmm 18:40 sapier I'm trying to avoid writing "ifonwire" to function name ;) 18:40 kahrl I got that ;) 18:41 kahrl I think it wouldn't hurt in this case though 18:42 sapier for this very special case yes but there are a lot of discussions about improved prediction handling ... chances it's gonna be wrong aren't that small ... 18:44 kahrl anyone else have opinions on this? or ideas? 18:45 sapier BlockSendConditional? 18:45 sapier quite non telling ... 18:48 sapier well as noone has better suggestions and I don't care enough about names to spend more time to this I'm just gonna use your name ... and gonna blame you about the ugly name in case it's gonna be wrong soon ;-) 18:48 kahrl lol 18:51 kahrl ok, this commit seems good otherwise too 18:57 sapier ok changed 18:57 sapier I'm gona wait for travis build to succeed and merge it then 19:06 kahrl #1573 - is there a way to make this more language independent? (i.e. get this string into weblate) 19:13 sapier merging https://github.com/minetest/minetest/pull/1475 now 19:15 sapier next this one as it's already reviewed https://github.com/minetest/minetest/pull/1572 19:17 kahrl the commit message still has "lenght" 19:18 sapier fixed :-) 19:19 sapier 74 open pulls ... do we get below 70 today? ;-) 19:20 kahrl should be easily doable if we work in GMT :) 19:22 sapier are you sure? isn't it 22:30 gmt? 19:23 kahrl 19:22 19:23 sapier oh :-) 19:24 PenguinDad kahrl: UTC [/pedantic] :P 19:24 sapier https://github.com/minetest/minetest/pull/1575 what about this one, msvc is picky about passing this pointer in constructor 19:25 sapier actually in initializer list not constructor 19:25 kahrl PenguinDad: I prefer astronomy over particle physics ;) 19:27 kahrl sapier: that doesn't really make sense 19:27 kahrl why would it complain about one but not the other 19:27 sapier it does make sense 19:27 sapier while initializer list is run you can't be sure all members are initialized correct 19:28 kahrl oh, I thought the idea behind the warning is that "this" is not the correct fully subclasses type 19:28 kahrl subclassed* 19:28 sapier no it's because of missing member initialization, had to look it up too 19:28 sapier in our case it's not an error, but it's quite easy to become an error 19:29 kahrl I don't really like making the code more verbose just to shut up some compilers 19:30 kahrl but if you say it could become problematic then it's okay 19:30 kahrl if it's tested, merge it 19:31 kahrl at a glance, the commit seems good 19:41 sapier a possible error scenario is someone dereferenciating that this pointer within constructor, we don't do this but having a pointer you can't really use is easy to forget 19:47 VanessaE error_message = wgettext("Player name to long."); 19:47 VanessaE FAIL 19:47 VanessaE too, not to. 19:47 sapier fixed wrong text? 19:48 VanessaE this should read "Player name too long" 19:48 VanessaE also line 1462. 19:57 sapier https://github.com/minetest/minetest/pull/1189 that one seems to be good to merge too, if noone disagrees I'm gonna merge it in a few minutes 20:07 sapier funny you can ban yourself 20:11 VanessaE heh 20:12 sapier hmm 3 more pulls to get below 70 ... that's gonna be hard 20:13 kahrl what about #1569? 20:15 sapier not sure, I don't care about the times but this is that type of pull causing a lot of discussion 20:16 kahrl eh 20:16 kahrl let them discuss 20:17 kahrl but 10 seconds really is too long 20:17 sapier true 20:17 sapier ok lets merge it 20:18 sapier can you add a comment ? ;-) 20:18 kahrl to the code or the PR? 20:18 sapier to pr 20:18 kahrl sure 20:19 kahrl should I merge it? 20:19 sapier what about https://github.com/minetest/minetest/pull/1483 just tried doesn't seem to have obvious sideeffects 20:20 sapier I only have to press enter to merge ;-) 20:20 sapier talking about red screen 20:20 sapier if you merge it I have to comment ;-) 20:22 kahrl merge it then :) 20:22 VanessaE eh... 20:22 sapier don't stop our merging spree VanessaE ;-P 20:22 VanessaE ok ok 20:22 VanessaE merge it 20:22 VanessaE I guess I can always uncap it in .conf ;) 20:23 sapier well of course if you have serious concerns about some feature 20:23 VanessaE naw go ahead, seems fine to me 20:23 VanessaE I was only giving you a hard time ;) 20:23 sapier https://github.com/minetest/minetest/pull/1483 this one? 20:24 VanessaE yeah 20:24 sfan5 while everyone is at it: can we merge https://github.com/minetest/minetest/pull/1523 ? 20:25 sapier is it tested? 20:25 sfan5 do you expect me not to test a texture modifer? 20:25 VanessaE what's it do? 20:25 sfan5 yes ofc 20:25 sapier how much additional memory usage will this cause? ;-) 20:25 sfan5 if you don't use only the amount of code gcc created 20:25 sfan5 creates* 20:25 sfan5 VanessaE: https://github.com/minetest/minetest/pull/1523/files#diff-1305560bd8befb32862f0feeefabd02eR261 20:26 VanessaE sfan5: already reading that now 20:26 VanessaE I thought we already had that feature? 20:26 sfan5 no 20:26 sfan5 [makealpha is different 20:26 sfan5 this allows applying masks safely for any image 20:26 VanessaE hm. 20:27 sapier if it's a binary addition imho it should be called that way 20:27 sfan5 if you only want a cut-out of cobble you needed to rely on the cobble texture not containing the color you used for the mask 20:27 VanessaE ok. 20:27 sfan5 what? 20:27 sfan5 it's AND not addition 20:27 sfan5 you can't apply a mask using addition 20:27 sapier sorry then I understand even less what is this supposed to do? 20:28 sfan5 example 1: take wood texture, remove the left side of it 20:28 sfan5 example 2: take cobble texture, remove green channel 20:28 kahrl sfan5: what happens if baseimg and the mask don't have the same dimensions 20:29 sfan5 hm 20:29 sapier and why don't you make irrlicht do the masking? there are functions to do this 20:29 sfan5 there are? 20:30 sapier I'm not exactly sure but I remember seeing functions that could be used while implementing line by line stereo mode 20:31 sapier In the end I didn't use them because A 1 dim loop was slightly faster ... yet you do a two dim loop there 20:31 sfan5 kahrl: depends on setPixel and getPixel 20:31 sfan5 if they are no-op when out of range nothing happens 20:32 kahrl the docs just say "Returns a pixel." / "Sets a pixel." 20:32 kahrl so I wouldn't rely on it 20:32 sapier if I remember correct stencil buffer is the right keyword to have a look at 20:32 sfan5 sapier: I didn't know we supported people running Minetest on 300MHz pentium IIIs 20:33 sfan5 (come on, this is 2014, we don't need to optimize two loops into one) 20:33 sapier we don't but we support 1ght arm ;-P 20:33 sfan5 kahrl: [combine relies on it too, that should be fixed then 20:33 kahrl sfan5: yeah 20:34 sfan5 if you want me to use one for loop instead of two please provide benchmark that show significant improvement 20:34 sfan5 +a 20:34 sfan5 +s 20:34 sapier you can't there as you need both dimensions for line by line 3d mode I didn't 20:34 sapier that's why the loop was faster 20:34 kahrl well the implementations of getPixel/setPixel perform range checks 20:34 kahrl but I don't know if that might change 20:35 sfan5 sapier: 1) what does line by line 3D have to do with this? 2) I can still use a single for loop 20:36 sfan5 hm 20:36 sfan5 might be tricky with {get,set}Pixel 20:36 sfan5 so two for loops is the only option 20:36 sapier I just wanted to give you a hint where I did use it ;-) 20:37 kahrl I guess if they remove a range check in a function like this there'll be some kind of notice 20:37 kahrl so it's fine 20:37 sfan5 does that mean I can merge it? 20:38 kahrl if sapier isn't against it 20:39 sapier I'd still prefere a more sophisticated way of doing this to doing a silly 2d loop ... still I'll not block it ... but if someone complains about performance for this I'll just tell "talk to sfan5" ;-) 20:40 sfan5 I don't think someone will complain about the performance of a function that is used rarely 20:40 sfan5 and please tell me how to implement it in 1 for loop 20:40 sfan5 merging now btw 20:41 sapier I already told you have a look at stencil buffer 20:42 sapier I'll not gonna do the work for everyone beeing to lazy to check for hints that may help 20:42 sfan5 how does the stencil buffer help me with this? 20:42 sapier because a stencil buffer is exactly what you call mask 20:42 sapier just a two bit image used to cut something 20:43 sfan5 it's not two bit 20:43 sfan5 A8R8G8B8 20:43 sapier you can save 2 bits in A8R8G8B8 too 20:43 sfan5 ofc you can 20:44 sfan5 but I designed [mask to be able to utilize all bits 20:44 sapier and what's the difference to combine or alpha in this case? 20:45 sapier sorry you should at least improve doc drastically so others can use that feature too 20:45 sfan5 what should I write in the doc? 20:45 sfan5 the difference.. 20:46 sfan5 diff. to [combine: everything, diff. to [makealpha: 20:46 sapier what does it do? a binary and can be done on bits only 20:46 sapier or do you remove every color part not beeing part of mask? 20:46 sfan5 <sfan5> this allows applying masks safely for any image 20:46 sfan5 <sfan5> if you only want a cut-out of cobble you needed to rely on the cobble texture not containing the color you used for the mask 20:46 sfan5 what do you think a binary AND does? 20:46 sapier depends on what you do 20:47 sfan5 "dst_c.color &= mask_c.color;" 20:47 RealBadAngel sapier, https://github.com/minetest/minetest/pull/1545 going to check how it works and then will merge it. it looks fine for me but checking doesnt hurt 20:47 sfan5 everything else wouldn't make sense 20:47 sapier so if I use a fully red map only red parts of color will remain? 20:48 sfan5 exactly 20:48 sapier ok that's not what I'd have understood by mask 20:48 sapier I'd have interpreted it as cut a shape 20:49 sfan5 it can be used for that purpose 20:49 RealBadAngel btw, guys, what do you think about highlighting selected node instead of selection boxes? it looks pretty neat in darkrose's fork 20:49 sapier yes but quite inefficient 20:50 sfan5 hows that inefficent? 20:50 sfan5 a setting could be added 20:50 sapier gull color comparison to optimized gpu functions ;-) 20:51 sapier but for the color thingy there ain't gpu functions I know so it's most likely fine ... despite the docs ;-) 20:53 kahrl guys, what should we do with all those translation pull requests 20:54 sapier good question kahrl 20:54 sapier weblate is still offline isn't it? 20:54 sfan5 if someone tells me how to easily set up weblate I'll host it 20:54 kahrl yes 20:59 kahrl weblate also provides hosting 20:59 kahrl http://weblate.org/en/hosting/ 21:03 kahrl ugh, but so slow (thank you jquery?) 21:06 kahrl could we use a weblate alternative that is not bloated with javascript crap? 21:06 sfan5 does one exist? 21:06 kahrl dunno 21:06 kahrl that's why I asked 21:08 sfan5 how about this? http://pootle.translatehouse.org/index.html 21:10 kahrl well according to the weblate creator pootle isn't that nicely integrated with git 21:10 kahrl http://blog.cihar.com/archives/2012/02/28/looking-pootle-alternative/ 21:12 sfan5 soo.. what do we use then? 21:18 kahrl ah, it works fine if I block javascript 21:18 kahrl so weblate is okay 21:19 kahrl (why do web developers insist on bloating their website with tons of javascript when the same website works fine without it?) 21:19 kahrl ok, rant over 21:25 kahrl should I contact them to request hosting? 21:29 sapier https://github.com/minetest/minetest/pull/1495 should fix the possible out of bounds access 21:29 sapier ahh 21:30 sapier now 21:30 kahrl http://i.imgur.com/uw80F1e.png 21:32 kahrl sapier: seems good to me now 21:32 kahrl sapier: oh, the field is called dd_video_mode, should be dd_video_driver 21:33 sapier ok 21:33 kahrl and video_mode_string of course should be video_driver_string, etc 21:33 sapier settings tab is supposed to be rewritten soon but I'll fix it anyway 21:33 kahrl of course there's the usability question: 21:34 kahrl what if someone selects a driver that causes minetest to crash on startup, and doesn't know how to edit minetest.conf? 21:34 sapier delete and reinstall 21:34 kahrl I guess, yeah 21:36 kahrl oh duh, yeah MYMIN is better than MYMAX ;) 21:36 sapier well that the crazy thing if you hav in mind "maximum that value" 21:37 kahrl yeah right? 21:37 sapier ... but not more ... 21:46 sapier hmmm I guess tooltips need some bugfixing too 21:46 sapier for dropdowns you have to point exactly at the black frame around them to see a tooltip :) 21:48 kahrl heh 21:52 sapier RealBadAngel: didn't you want to push the l-systems fix? 21:58 sapier any reason not to merge https://github.com/minetest/minetest/pull/1495 ? 22:00 VanessaE good idea 22:00 VanessaE so long as it doesn't break the menu itself 22:00 VanessaE e.g. if a bad driver setting doesn't suddenly make the menu useless 22:00 sapier well if you set to "Null" menu will be broken 22:00 VanessaE per......haps "null" shouldn't be among the options then ;) 22:00 sapier it's been an example 22:01 sapier if a driver is broken minetest will just crash on startup 22:01 sapier for me this happens on "software" 22:01 sapier burningsvideo wotks 22:01 sapier works 22:03 VanessaE hm 22:03 VanessaE well if the client crashes before it can return to the menu, I suppose the setting won't be saved. 22:03 sapier no it's gonna be saved 22:03 sapier because setting will take effect on next restart only 22:03 VanessaE oh ok, I didn't see that here 22:03 VanessaE I guess that's fine then 22:03 VanessaE no sudden surprises 22:04 sapier actually there will be a surprise on restart ;-) 22:04 VanessaE I wonder if a special "emergency/recovery" key might be in order, e.g. like GRUB if you hold shift, you get the boot menu 22:04 VanessaE (have it default to opengl or something) 22:05 sapier it does ... but we don't detect minetest crash 22:05 sapier and e.g. for android opengl would be a problem 22:05 VanessaE nono I mean because you know some nitwit is gonna set it to null and then wonder why it's busted. 22:06 sapier I think Null isn't shown, but there's still a chance some driver is broken 22:07 sapier on windows for example even opengl could be broken 22:07 VanessaE looks to me like it would be shown. 22:07 sapier I don't see it in list 22:08 VanessaE no matter, it's just a thought. 22:08 sapier running minetest 22:08 VanessaE oh yeah I see here now 22:08 VanessaE didn't catch the if == 0 comparison. 22:09 VanessaE sell, seems good then 22:09 VanessaE well* 22:11 kahrl sapier: tested #1574, works fine 22:13 sapier ok then I'm gonna merge 1574 first as it's way less problematic then the video_driver thingy 22:14 kahrl I hope noone's workflow relies on seeing error messages in the chat log ;) 22:14 sapier they're still there 22:14 kahrl I mean in the game window 22:15 sapier chat_log_error_buf was never used for anything 22:15 kahrl huh? 22:15 kahrl it was certainly used in the lines you removed 22:15 sapier unless 22:16 sapier hmm 22:16 sapier ok I could've missinterpreted this 22:16 sapier ok fixing it :-) 22:22 sapier ok now error log should be shown again too 22:27 kahrl sapier: yeah, works 22:27 kahrl I think it can be merged now 22:27 sapier ok merging 22:28 sapier that annoying issue was there way to long ;-) 22:28 kahrl indeed! 22:45 kahrl I didn't make a pull request for it, but could the command for spawning multiple dummyballs be merged? 22:45 kahrl https://gist.github.com/kahrl/e46c91e1e27188fa7cf4 22:46 kahrl it helps tremendously in tracking down bugs like the player deletion 22:46 kahrl because you can simply say /dummyball 50 to fill up a mapblock with objects 22:51 sapier ok 22:51 sapier merge it 22:53 kahrl done 22:54 sapier https://github.com/minetest/minetest/graphs/contributors can someone explain to me why I don't show up there? :) 22:57 kahrl github hates your guts 22:57 kahrl seriously though, wtf? 22:58 VanessaE you're in here though, https://github.com/minetest/minetest/network/members 22:59 kahrl heh, ShadowNinja has deleted about as many lines as he added 22:59 sapier https://github.com/sapier there's written I did 913 contributions to minetest/minetest 22:59 kahrl and sfan5 deleted over 10 times as many lines as he added :O 22:59 sapier well guess if I was there I'd have added 10 times as many lines as I removed ;-) 23:00 sapier but kahrl 167 commits? doesn't really fit does it? 23:01 kahrl hmm 23:01 sapier >>excluding merge commits<< I always do merge commits as it's supposed to be 23:01 sapier guess this is a list of failures ;-) 23:02 sapier hmm 23:02 kahrl actually git log|grep "Author: Kahrl"|wc -l prints 168, so almost right 23:02 kahrl it didn't count the newest one yet, I guess 23:03 sapier for me it's 249 23:03 sapier don't have any idea how github is counting 23:12 sapier https://github.com/minetest/minetest/pull/1495 shall I merge it ? 23:53 kahrl sapier: yeah seems good 23:56 sapier ok merging