Time Nick Message 01:06 paramat later i'll merge 3382 and 3413 01:24 thePalindrome :D 01:58 asl97 i can't think of a proper way to fix the movement anti cheat bug in server.cpp (#2356), although i suppose i should just KISS and make player.cpp read the setting even though it might be pretty bad if the server fails to send the movement 02:16 paramat now merging 3382 3413 02:29 paramat merged 02:29 thePalindrome :D 03:51 paramat https://github.com/minetest/minetest/pull/3418 'Mapgen: Add propagate_shadow bool to calcLighting' to enable terminating of problematic shadows in stacked realms (< hmmmm ) 15:45 jomat Huhm... minetest.auth_table[playerName].password is another hashing method than used for minetest.get_password_hash(playerName, password) ? 17:14 est31 jomat, yes the entries can vary. 17:14 est31 not neccessarily 17:14 est31 but if the password was created with a new client, the result is different 17:17 jomat both, client and server 0.4.13 and the auth table was also created with this version 17:17 est31 yes, then you use the new auth system. 17:17 est31 the old one is still supported, so if you connect with a pre 0.4.13 client, everything works fine 17:17 est31 and you still can set password hashes of people with the old method 17:17 est31 it will automatically adapt. 17:18 jomat Well, I'll have to file a bug report for https://github.com/ShadowNinja/minetest-irc_commands/blob/master/init.lua#L58 :-) 17:18 est31 yea, thats a bug in his code. 17:18 est31 but tbh hard to fix as well :) 17:19 est31 because its less a technical descision, more a policy descision 17:28 jomat Well, as ShadowNinja is here anyways and this chat is public, and I don't have the necessary knowledge yet to create a PR on this issue, would you mind if I just copy-paste this part of the chatlog to the bug report, est31? 17:29 est31 no problem 17:29 jomat thx 17:29 est31 kahrl_, nore sfan5 ShadowNinja PTAL https://github.com/est31/minetest/commit/e5b7eb38ffeec86b7cad726ef173256a49acccf2 17:30 est31 pushing in 15 mins 17:32 est31 word change https://github.com/est31/minetest/commit/89168a7ec8fe31715a4ca321a6e0ccb2d4972257 17:51 est31 pushed 18:08 Niebieski Guys can you consider adding comments to the source code ? I think it will be beneficial. 18:11 sofar Niebieski: is there a particular case that causes you to say that? there's plenty of comments in the source code already 18:19 Guest46780 @est31 i got no idea how to move the constructor from player.h to player.cpp and override behaviour of the superclass. 18:41 asl97 moved and rebased, it seem to work 21:45 Niebieski sofar: I've seen an opensource project that has fairly detailed comments on the code. 21:46 sofar Niebieski: I still don't get whether you have an issue with a particular file, are making a general remark or ... something else? 21:46 Niebieski A general remark. 21:47 sofar have you looked at the code? 21:47 Niebieski Sure. 21:47 sofar I find most of the minetest code I've looked at is adequately documented 21:47 sofar (commented) 21:48 Niebieski maybe because I'm not knowledgable enough to easily understand them. 21:48 sofar there's such a thing as over-commenting 21:48 sofar if you can't follow most of the code, then extra comments will not help 21:48 sofar that's a hurdle indeed 21:49 sofar but adding lots of comments doesn't make it more readable, so now you're making things worse 21:50 sofar the comments that are needed are the "magic a-ha's" that need clarification 21:50 sofar as far as I can see mintest c++ code is spot on with those 21:51 sofar I doubt one could classify minetest as a project that is a great place to start learning how to code 21:52 Niebieski Something like "#ifdef _MSC_VER" 21:53 Niebieski I had to search about it to understand it's purpose. 21:55 Niebieski This line is in main.cpp 21:55 Niebieski Line # 20. 22:07 sofar that's just to see if it's being compiled on msvcpp 22:07 Niebieski Yeah, I didn't know that until I searched. 22:08 Niebieski and this is the first line, so I gave up. 22:08 sofar it's so common in portable code, it's unavoidable to have preprocessor stuff like that around 22:08 sofar commenting on that would just be busy work 22:08 Niebieski I sound like a whiner now. 22:08 sofar well no 22:09 sofar but I think you clearly understand now how much learning it will take to read code like minetest's code 22:09 sofar do you know what a preprocessor is? 22:09 Niebieski Yes. 22:10 sofar can you compile and run a hello world in C++? 22:10 Niebieski Yes. 22:10 sofar well good, then you've made the first steps 22:11 Niebieski I've built minetest a couple times. 22:11 sofar well, that doesn't require you to know any C++ 22:12 sofar are you looking to do something specific with the minetest code? 22:12 Niebieski Yeah. 22:13 Niebieski I just wanted to contribute so I had to understand it first. 22:15 sofar what's the largest program you've written code for in C/C++? 22:15 Niebieski I can't remember but recently I've wrote a multithreaded program that adds two arrays. 22:17 sofar so, I'm not a minetest developer, but I've written lots of C for many years, including having contributed 50k+ lines of code to the linux kernel 22:17 sofar and I can't understand large portions of minetest code either at first sight 22:18 sofar heck I've even written an opengl game in msvc++ with one other person in 1998-1999 22:18 sofar can't ... remember.... a thing 22:19 Niebieski I should call you sir then. 22:20 Niebieski It's amazing that you contributed to the Linux kernel. 22:24 celeron55 minetest's code isn't perfect but a lack of comments is not really one of its problems 22:24 celeron55 you can't be commenting production code with comments like they do in newbie tutorials to programming 22:25 Niebieski Yes I meant it to be 'noob friendly'. 22:25 celeron55 it would be unreadable to a competent programmer due to being flooded with comments 22:25 Niebieski I'm not questioning it's quality. 22:27 Niebieski Can we seperate the two versions. One that over-documented and the other isn't. 22:27 sofar there's not just two versions 22:27 sofar there are three 22:28 sofar over commented 22:28 sofar under commented 22:28 sofar and reasonably well commented 22:28 sofar I think, and celeron55 pretty much agrees, that minetest's code is reasonably well commented 22:29 sofar and I'm saying that even though I don't understand large portions of it 22:29 sofar because I know I'll just have to put more time into reading it carefully 22:29 Niebieski What do you suggest to someone like me to understand Minetest's code or reach an equivalent level ? 22:30 sofar yeah, that's an excellent question 22:30 celeron55 i would approve a system that would attach extra documentation to all of the code without adding it as comments within the code (doxygen could use them, and you could generate a verbosely commented version of the code if you want); but i doubt people would want to maintain it 22:30 sofar I can't tell you want would work for you, I can tell you what has worked for me 22:31 sofar celeron55: agreed. I've never seen that live long and thrive, anywhere, it's such a pain to keep up 22:34 celeron55 Niebieski: the way i read code of programs that i have never read before is that i just open some files that seem interesting to whatever i want to do and just start reading it, branching around everywhere until i think i understand enough things to be able to try out something; when it comes to things like _MSC_VER; you just put them in google 22:35 celeron55 but if you don't have a good prior grasp of big program structures, then that might not lead you to understand much 22:36 sofar try making small modifications and tweaks 22:36 sofar write a lua mod 22:36 celeron55 if you really want to understand minetest and nothing else, then you could start from https://github.com/celeron55/minetest_nmpr/tree/master/src 22:37 celeron55 the current codebase is still based on old versions like that one 22:37 celeron55 but that one is way smaller 22:38 celeron55 it's also much more consistent because it only has code written by me and not by other people; differing styles in the current codebase might be confusing 22:41 Niebieski I don't have experience with similar big codebase. 22:42 sofar it's rough 22:42 sofar trust me I still get inundated 22:45 Niebieski I tried the mods route but I had to learn lua from ground up. 22:46 sofar yes, but most mods are relatively small, and they'll help you understand the underlying object model that minetest has 22:46 sofar so it's a great way to understand how mechanically minetest works 22:46 Niebieski Anyway, I'll consider C55's link, when I decied to get back to the code. 22:50 celeron55 reading these probably helps a bit too http://dev.minetest.net/Core_Architecture http://dev.minetest.net/Engine_structure 22:50 celeron55 these pages are not comprehensive but they attempt to clarify the overall structure 22:51 Niebieski Yeah I have been refered to them alot. 22:53 celeron55 also, we now actually have this too: http://doxy.minetest.net/ 22:54 celeron55 you can generate doxygen documentation with "make doc" locally too 22:54 celeron55 the result does not have much explanations but it's a useful way to browse things 22:56 celeron55 especially the collaboration diagrams are something unique to that way of browsing the codebase 22:57 celeron55 (unless you have a *very* fancy IDE) 22:58 Niebieski I read the code directly from github. 23:02 Niebieski I would love to stay on more, but I have to go now. 23:02 Niebieski Thank you sofar and celeron55 for your time. I hope it didn't go to waste.