Minetest logo

IRC log for #minetest-dev, 2014-08-22

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:09 paramat left #minetest-dev
00:22 VargaD joined #minetest-dev
00:54 OldCoder joined #minetest-dev
02:01 NakedFury joined #minetest-dev
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.
02:59 proller joined #minetest-dev
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:21 paramat joined #minetest-dev
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 zat joined #minetest-dev
04:26 paramat RealBadAngel, just write a simple mod that places a solid node in a singlenode mapgen
04:26 proller joined #minetest-dev
04:28 paramat looks like we stirred up the pixie of doom ;)
04:37 proller joined #minetest-dev
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 SmugLeaf joined #minetest-dev
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
05:34 paramat left #minetest-dev
05:43 Hunterz joined #minetest-dev
06:39 kahrl joined #minetest-dev
06:45 nore joined #minetest-dev
07:28 Calinou joined #minetest-dev
08:18 Zeno` joined #minetest-dev
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 proller joined #minetest-dev
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
08:50 Calinou joined #minetest-dev
08:52 sapier joined #minetest-dev
09:05 OldCoder joined #minetest-dev
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 Ritchie left #minetest-dev
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:23 proller joined #minetest-dev
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 Weedy joined #minetest-dev
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; i<PLAYERNAME_SIZE-1; i++) {}  playername[PLAYERNAME_SIZE-1] = 0;
10:44 Zeno` should probably be  for(u32 i=0; i<PLAYERNAME_SIZE-1; i++) {}  playername[PLAYERNAME_SIZE] = 0;
10:44 sapier no
10:44 sapier that'd be out of index in c++ Zeno`
10:44 Zeno` err yes, no
10:45 Zeno` if (playername[PLAYERNAME_SIZE-1] != 0) playername[PLAYERNAME_SIZE-1] = 0;
10:45 Zeno` why is it a loop not strcpy() anyway?
10:46 sapier strncpy in this case but I was about asking same
10:46 RealBadAngel line #1344 is the place where name is read
10:46 RealBadAngel ofc main.cpp
10:47 Zeno` yes, but strncpy() fills all the remaining characters with '\0'; the if may be more efficient. Shrug
10:47 sapier yes but that's command line mode only rba
10:47 RealBadAngel here also it checks if name was given in cmd line
10:47 RealBadAngel no
10:47 RealBadAngel std::string playername = g_settings->get("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:04 Jordach joined #minetest-dev
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 Weedy joined #minetest-dev
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:15 Zeno`` joined #minetest-dev
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 Zeno` joined #minetest-dev
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 CraigyDavi joined #minetest-dev
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:37 ImQ009 joined #minetest-dev
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?
11:48 alexxs joined #minetest-dev
11:49 PenguinDad joined #minetest-dev
12:19 ImQ009 joined #minetest-dev
12:21 hmmmm joined #minetest-dev
12:32 kahrl_ joined #minetest-dev
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 PenguinDad joined #minetest-dev
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 Ritchie joined #minetest-dev
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 Hunterz joined #minetest-dev
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 ImQ009 joined #minetest-dev
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 proller joined #minetest-dev
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 casimir joined #minetest-dev
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 selat_ joined #minetest-dev
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:13 ImQ009 joined #minetest-dev
14:31 VanessaE sapier:
14:32 VanessaE [08-22 10:32] <GrandChaos9000@MTZB> the plasma tv doesn't even fit the texture
14:32 VanessaE [08-22 10:32] <GrandChaos9000@MTZB> 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 Calinou joined #minetest-dev
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~<n> --hard
14:48 sfan5 git push --force origin <branch>
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:06 NakedFury joined #minetest-dev
15:11 Hunterz joined #minetest-dev
15:20 eugd joined #minetest-dev
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:53 proller joined #minetest-dev
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:06 Krock joined #minetest-dev
16:23 zat joined #minetest-dev
16:40 rubenwardy joined #minetest-dev
16:47 khonkhortisan joined #minetest-dev
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:12 Miner_48er joined #minetest-dev
17:13 Krock joined #minetest-dev
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 CraigyDavi` joined #minetest-dev
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 CraigyDavi joined #minetest-dev
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:54 ImQ009 joined #minetest-dev
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" </pedantic>
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:21 alexxs joined #minetest-dev
19:22 sapier are you sure? isn't it 22:30 gmt?
19:23 kahrl 19:22
19:23 sapier oh :-)
19:23 cg72 joined #minetest-dev
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:29 alexxs joined #minetest-dev
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:01 vifino joined #minetest-dev
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 NakedFury joined #minetest-dev
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:53 proller joined #minetest-dev
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:27 iqualfragile joined #minetest-dev
23:50 Anchakor_ joined #minetest-dev
23:53 kahrl sapier: yeah seems good
23:56 sapier ok merging

| Channels | #minetest-dev index | Today | | Google Search | Plaintext