Minetest logo

IRC log for #minetest-dev, 2014-01-21

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

All times shown according to UTC.

Time Nick Message
00:09 RealBadAngel joined #minetest-dev
00:15 ShadowNinja VanessaE: PM me, maybe I can fix it.
00:17 VanessaE ShadowNinja: already did, see inchra.
00:35 Taoki RealBadAngel: Since we spoke about adding a dynamic lighting system via shaders, I looked up something which could be very useful. Modern hardware lights are done using "deferred shading". This is the renderer taking multiple passes (geometry with textures + geometry with shading + etc) and combining the images together... obviously all of it each frame
00:35 Taoki http://en.wikipedia.org/wiki/Deferred_lighting
00:36 Taoki This might be the best way to go for doing it in Minetest too. Multiple passes might be slower, but generating the unlit geometry + lighting map separately could be the key
00:38 Taoki RealBadAngel: It would also fix the issue of sunlight shining in caves. How would be simple: We would render 3 passes per frame. First is the textured and unlit geometry, second is the untextured geometry with param2 (current lighting system), and third is the untextured geometry with dynamic lighting. subtract the param2 map from the lighting map, and add that over the textured map.
00:39 RealBadAngel sounds pretty easy
00:40 RealBadAngel and of course multiple passes will be slower
00:40 RealBadAngel i think we shall take a closer look on how SEUS shaders does that
00:42 Taoki Yeah
00:42 Taoki Actually, 2 passes could work too. We could render the textured scene + dynamic light, and darken that with the untextured scene using black & white areas generated by param2
00:43 Taoki I'm not sure how it works exactly, but thought to let you know about it if it helps :)
00:49 RealBadAngel i will read those papers and think about it
00:50 RealBadAngel please read "disadvantages" section, there are problems with transparency there
00:51 Taoki RealBadAngel: Yeah. It discusses pros and cons of two methods: Deferred lighting, and deferred shading (apparently its opposite)
00:51 Taoki Apparently the deferred SHADING approach is much better
01:17 Sokomine oh. many people present. fine!
01:20 Sokomine i wonder how difficult it would be to integrate the mapp mod into the client? to let the client draw a simple 2d map of the sourroundings of the player? doing that server-side is crazy
01:21 Sokomine i do not have the knowledge of the code to do it. a lot has been achieved in the past, and the game has developed greatly (of course there are still issues...and there'll probably always remain some. but it's a great game!)
01:44 kahrl joined #minetest-dev
02:08 kahrl joined #minetest-dev
02:13 RealBadAngel Sokomine, having such minimap would be great indeed
02:14 Sokomine i've just forked 4aimans mapp mod. that's server-side and works with formspecs. which is...a bit...inefficient...one could say :-) but what else can a poor mod do?
02:16 OWNSyouAll Whats the reason for not allowing custom types for crafting recipes?
02:18 Sokomine if you know where everything is (=where to find the data structures for the map chunks received and how to interpret them correctly) and how to get irrlicht to draw something, it certainly ought to be doable
02:19 RealBadAngel OWNSyouAll, theres no reason, one should code that
03:00 bas080 joined #minetest-dev
03:38 us_0gb joined #minetest-dev
04:08 OldCoder joined #minetest-dev
04:32 OldCoder joined #minetest-dev
04:58 Zeitgeist_ joined #minetest-dev
05:35 Zeitgeist_ joined #minetest-dev
05:35 Zeitgeist_ joined #minetest-dev
05:57 RealBadAngel if somebody wanna test and review: https://github.com/minetest/minetest/pull/1112
05:57 RealBadAngel new HUD element
06:04 xyz any news on water shader you were making?
06:07 RealBadAngel i want to push the latest changes i made to shaders first, the normal map generation etc
06:07 RealBadAngel then i will continue with other things
06:08 RealBadAngel i have one week off, so plenty time for coding
06:16 xyz alright
06:17 xyz ~tell BlockMen m_camera_direction *= (-1,1,-1);
06:17 ShadowBot xyz: O.K.
06:20 us_0gb RealBadAngel: That's awesome!
06:26 hmmmm i'm not really sure 3d world-oriented visuals should be classified as part of the HUD
06:26 hmmmm when people think of a HUD they think of a set of 2d interface elements statically positioned
06:27 hmmmm but in this case it just happens to work out cleanly because it requires much of the same functionality as the hud elements do
06:27 hmmmm i feel like waypoints should be classified as the same kind of thing that the pointedthing box is
06:28 hmmmm which I don't think it is classified as anything in particular, just some 'stuff' that gets drawn in the big main loop
06:32 xyz are waypoints always displayed? wouldn't that be kinda annoying? how about additional param, distance?
06:32 xyz "number: An integer containing the RGB value of the color used to draw the text" this is quite strange naming
06:32 hmmmm that's because number is a generic integer value that happens to take on that role for that sort of HUD element
06:33 hmmmm the hud could've been designed a lot better but I was merely enhancing what some other guy came up with already
06:47 xyz ah, then it's okay
06:48 xyz somewhat
06:49 xyz by the way
06:49 xyz "what's so hard with having a single packet in the beginning of the connection to negotiate key positions within messages"
06:50 xyz ah, nevermind
06:51 xyz I wanted to give some argument but forgot it
07:09 darkrose joined #minetest-dev
07:09 darkrose joined #minetest-dev
07:43 Zeitgeist_ joined #minetest-dev
08:11 werwerwer joined #minetest-dev
08:47 xyz wat
08:47 xyz https://github.com/minetest/minetest​/blob/master/src/CMakeLists.txt#L590
08:47 xyz why's curl there?
08:47 xyz sfan5:
09:44 Gethiox3 joined #minetest-dev
09:54 bas080 joined #minetest-dev
10:40 proller joined #minetest-dev
12:28 ImQ009 joined #minetest-dev
12:31 sfan5 xyz: probably happend while copy pasting
12:31 sfan5 fix incoming in 10 minutes
13:01 RealBadAngel xyz, waypoints are displayed when defined, a mod shall manage definition of waypoints, editing them etc
13:01 RealBadAngel i made waypoints in Lua before, but since its animation it sucked
13:02 RealBadAngel hmmm, and yes, waypoints are generic HUD elemets, look at any flight simulator
13:06 xyz okay
13:09 BlockMen joined #minetest-dev
13:10 CiaranG Say I wanted to use keys (e.g. arrow keys) instead of the mouse - is that something that a) has already been done/discussed, b) can be done in a mod in lua, or c) needs core code changes to support it?
13:10 RealBadAngel c i think
13:10 ImQ009 joined #minetest-dev
13:11 BlockMen xyz, ?
13:11 xyz what?
13:11 RealBadAngel wait a sec
13:11 xyz you mean what's wrong with your code?
13:11 RealBadAngel just redefine your keys lol
13:11 xyz * (-1, 1, -1) doesn't do what you want it to (what do you want?)
13:12 RealBadAngel ah, that would be for movement just
13:12 BlockMen xyz, yes it does. it inverts the camera direction in front view mode
13:12 BlockMen *the given direction
13:12 xyz it's the same as * -1
13:12 xyz why did you write it like this?
13:12 BlockMen no, because of y value
13:12 xyz eeh
13:12 xyz alright
13:12 xyz do you know what operator , does?
13:13 CiaranG RealBadAngel: Yeah, no ability to redefine mouse movement or left/right click currently, that I could find
13:13 xyz if you want to do what I think you want to you need to use v3f(-1, 1, -1)
13:13 RealBadAngel CiaranG, so that would be c) then
13:13 CiaranG Ok, I'll look into implementing it then, thanks
13:14 RealBadAngel maybe pressing ALT + arrows to simulate mouse? just a random idea
13:14 BlockMen alright, forgot the vf3, but worked for me anyway:P
13:14 * BlockMen will add vf3 then
13:14 xyz after fixing it won't
13:14 kaeza joined #minetest-dev
13:14 xyz be aware
13:14 RealBadAngel xyz, have you tested how waypoints are working?
13:16 xyz no, but I find the idea nice
13:19 BlockMen just as general question, is there a specific reason that there is that much commented out/old code in source? i thought we have github for looking up old code if necessary
13:20 xyz dunno, I too think we have git for old code
13:21 xyz you see, there's even the "old" directory
13:21 RealBadAngel that works pretty well as a reminder for the author on the other hand
13:22 RealBadAngel i left there parallax code and implemented better version of it
13:22 xyz reminder?
13:23 RealBadAngel kinda TODO
13:24 diemartin joined #minetest-dev
13:24 xyz well in that way it's okay
13:24 xyz but I find old unused code way too often
13:25 xyz https://github.com/minetest/minetest/​blob/master/src/content_sao.cpp#L160
13:25 xyz "DEPRECATED"
13:25 xyz still left in source for whatever reason
13:28 xyz aha, it
13:28 proller but bad idea to move it to lua..
13:28 xyz it's probably left for deserialization?
13:29 RealBadAngel no idea
13:29 xyz well who knows
13:30 BlockMen i was talking about something like this https://github.com/minetest/minet​est/blob/master/src/hud.cpp#L188,L209
13:31 RealBadAngel since HUD can add selected slot image its really deprecated and obsolete code
13:44 iqualfragile joined #minetest-dev
13:48 ImQ009 joined #minetest-dev
14:04 * VanessaE grumbles at yet another random segfault
14:15 hmmmm joined #minetest-dev
14:18 VanessaE ok, I know how to reliably segfault a server.
14:18 VanessaE this is a security hole.
14:18 VanessaE or DoS anyway
14:19 VanessaE Where do I post this?
14:19 zat joined #minetest-dev
14:19 VanessaE I've got a gdb full backtrace available of the segfault, and a very simple command to cause it.
14:20 hmmmm ...minetest has had segfaults before.
14:20 VanessaE this is a remote exploit.
14:20 hmmmm while i'm not at work do you want to tell me
14:20 hmmmm because i'm not going to be around for a good 9 or so hours
14:21 VanessaE msg -->
14:21 VanessaE did it twice in a row, caught the backtrace on the second try
14:23 xyz msg me too
14:26 hmmmm message the russian hacker about an exploit :D
14:28 VanessaE heh
14:28 RealBadAngel hmmmm, so whats your vote on waypoints commit?
14:28 hmmmm i like it
14:29 RealBadAngel any comments on the code itselft?
14:29 hmmmm haven't looked at that yet
14:30 RealBadAngel its quite simple code anyway
14:31 xyz haha
14:31 xyz well sapier broke it in one of his commits
14:32 RealBadAngel broke what?
14:34 hmmmm the connection thing
14:34 hmmmm it's hilarious
14:34 hmmmm when you encounter a malformed packet that you can't handle, what do you do...
14:35 hmmmm log an error?
14:35 hmmmm stop processing?
14:35 hmmmm both?
14:35 hmmmm sapier thinks it's #1
14:35 ShadowBot https://github.com/minetest/minetest/issues/1 -- GlowStone code by anonymousAwesome
14:35 xyz it's not hilarious
14:35 hmmmm xyz:  it's fixed
14:35 hmmmm it's trivial.
14:35 xyz i figured out as much
14:36 hmmmm well
14:36 xyz good thing we didn't merge it
14:36 hmmmm merge what
14:36 hmmmm oh your thing freeminer
14:37 xyz yeah on that ripoff thing
14:37 hmmmm fucking a
14:37 hmmmm anyway it's really easy to DoS the server by keeping conlock always active
14:37 hmmmm err rather logging lock
14:37 hmmmm and continuously spamming the console with error messages
14:38 hmmmm somebody should #ifndef DEBUG #undef LOG #define LOG(x) (); #endif
14:38 hmmmm or at least figure out some sane way to tell the server admin about shenanigans
14:38 hmmmm but that's not really as critical as what was just fixed.
14:38 hmmmm i've gotta go now, laters
14:39 xyz ah, logging log is another reason for it
14:39 xyz s/log /lock /
14:39 hmmmm we should do it like OpenSSH does it
14:40 hmmmm if there's a flood of attempts then don't bother logging and after it's done just write "last message repeated X amount of times"
14:40 hmmmm but again, that's for later
14:42 VanessaE ok, fix confirmed.  thanks hmmmm
14:53 ImQ009_ joined #minetest-dev
15:05 proller somebody must just revert 9edb91da5754cf194637d1d7faa513719b61f9b4
15:15 Yepoleb joined #minetest-dev
15:16 ImQ009 joined #minetest-dev
15:19 e1z0 joined #minetest-dev
15:55 Jordach joined #minetest-dev
16:03 sfan5 any more comments on #1110, what subsystem does that even belong into? Network?
16:03 ShadowBot https://github.com/minetest/minetest/issues/1110 -- Include system info in the HTTP user agent on Windows by sfan5
16:04 sfan5 s/,/?/
16:15 BlockMen sfan5, network would fit i guess
16:15 BlockMen and/or client
16:19 ImQ009 joined #minetest-dev
16:26 Gethiox4 joined #minetest-dev
16:28 sfan5 ShadowNinja: the code in #ifdef _WIN32 obviously works on mac
16:51 xyz sfan5: I don't understand #ifdef _WIN64 - #else - #endif part, can you explain?
16:51 sfan5 if minetest if compiled for win64 it is out of question that we have a 64bit os
16:51 sfan5 if not it checks whether the 32bit app runs on a 64bit os
16:52 sfan5 if minetest is compiled*
16:57 xyz well this part was easy
16:57 xyz what if IsWow64Process is not defined?
16:57 xyz like on some 32-bit winxp
16:57 sfan5 it is defined on 32-bit xp
16:58 sfan5 otherwise that function would be pointless because it is for checking whether you have a 64-bit os (on an os that is possibly 32-bit)
17:01 xyz some sources say otherwise
17:01 xyz well on win 2k it's not defined for sure although minetest probably won't run on it anyway
17:02 sfan5 winXP support ends in april anyway
17:02 xyz and some sources say that on win xp pre-sp2 it's not defined either
17:02 xyz and?
17:03 sfan5 fine, I'll use the complicated way with LoadLibrary and GetProcAddress
17:03 xyz wait wait wait, isn't this channel ready to kill for compatibility?
17:03 xyz I'm not saying you should
17:03 xyz I mean, that feature is so useless..
17:03 xyz just trolling around
17:04 sfan5 shall I use the safe way or not?
17:05 xyz dunno
17:05 xyz ask others
17:07 diemartin joined #minetest-dev
17:08 BlockMen i dont think it is necessary to use the safe way
17:08 damiel joined #minetest-dev
17:09 celeron55 joined #minetest-dev
17:09 darkrose joined #minetest-dev
17:10 specing joined #minetest-dev
17:10 darkrose joined #minetest-dev
17:23 ShadowNinja I don't think we should support XP SP2 and previous.
17:23 Calinou joined #minetest-dev
17:24 ShadowNinja And we should drop XP support sometime soon too.  That would let us use UTF-8 properly and give us combined IPv4-v6 sockets.
17:25 sfan5 http://dev.minetest.net/Organisation says sapier is for low-level networking, useragents aren't low-level, are they?
17:25 sfan5 we should drop support for XP after M$ does IMO
17:28 ShadowNinja Is there anyone assigned to high-level networking?
17:28 sfan5 no
17:29 ShadowNinja Then that should be either saier's or kahrl's domain.  (As kahrl wrote HTTPFetch)
17:29 ShadowNinja +p
17:29 sfan5 since it is a rather trivial change, would agreement of 2 or more core devs suffice?
17:29 ShadowNinja Yes.  I'll agree if it works on mac.
17:30 sfan5 please show me the line in question
17:30 sfan5 every code I added is windows-specific
17:30 ShadowNinja The linux code should work, but mac doesn't have the include.
17:30 sfan5 is mac a support build configuration?
17:30 sfan5 supported*
17:31 ShadowNinja No, but it's better not to make it harder to support it in the future.
17:31 xyz how are you going to use utf-8 properly?
17:32 ShadowNinja Does anyone know of someone that might be able to work on a Mac build?
17:32 * sfan5 has a mac virtual machine with xcode
17:32 ShadowNinja xyz: Ask sapier.  I based ^ off a coment he made on a issue regarding UTF-8 support.
17:33 sfan5 just compiling the function in question would be enough
17:33 celeron55 to the previous discussion: the oldest windows minetest supports is XP
17:33 ShadowNinja Yes.  See if you can compile it.  And later you should try to get Minetest to run, and get a package made.
17:34 ShadowNinja (If possible)
17:34 xyz haha
17:34 sfan5 celeron55: we support XP w/o Service Pack?
17:34 xyz from stats I have
17:35 xyz Linux / Windows XP = 1.25
17:35 celeron55 sfan5: no
17:35 xyz that's from June though
17:36 sfan5 if we don't support service pack 1 either we won't run into any problems with using IsWow64Process directly
17:36 xyz I really don't understand why do you want to drop support for no reason
17:37 celeron55 is there any issue in wine with either of them?
17:37 sfan5 I don't want to drop support
17:37 celeron55 if there is, that makes the choice
17:38 sfan5 it works fine for me in wine
17:38 xyz I mean, about UTF-8
17:39 ShadowNinja SP2 has been available for a LONG time.  xyz: Can you see how many recent SP0/SP1 visitors you have?
17:39 xyz no, I can't
17:40 ShadowNinja Alright.  It should be almost nil though.
17:41 xyz indeed
17:41 xyz I'm talking more about that UTF-8 issue
17:43 ShadowNinja It seems that Mac OSX hasn't messed with uname.  So just moving the #include to a #ifndef _WIN32 block should fix it.  And it should also make it work on BSD, which is supported(or at least  few core devs use it).
17:44 xyz why do you care about os x?
17:44 xyz nobody provides builds
17:44 xyz people have to use wine in order to play
17:44 sfan5 ShadowNinja: I can confirm it works on mac (when adding it to the includes)
17:45 ShadowNinja sfan5: Well, yes.  I meant that the include should be moved to #ifndef _WIN32.
17:45 sfan5 s/moving/adding/ you get what I mean
17:49 RealBadAngel celeron55, can you take a look on https://github.com/minetest/minetest/pull/1112 ?
17:51 rubenwardy joined #minetest-dev
17:52 VanessaE ShadowNinja: please check your messages on inchra.  we have...a problem.
17:52 ShadowNinja sfan5: Since algorithm is only used on windows it should be moved to a windows-specific section.
17:54 sfan5 ShadowNinja: done
17:54 proller RealBadAngel, you use branches!!11111
17:54 RealBadAngel damn me, rly? ;)
17:55 RealBadAngel u must be mistaken or somethin ;)
17:55 ShadowNinja sfan5: Isn't there an existing ifdef _WIN32 block for windows.h?
17:56 RealBadAngel proller, i have to, i have several pulls incoming
17:56 ShadowNinja sfan5: And you can move the unistd.h includes to the ifndef _WIN32 too.
17:57 rubenwardy For some reason, my computer thinks my 32gb memory stick is a hard drive
17:57 ShadowNinja Seems you'll have to add a windows.h include.
17:57 rubenwardy oops
17:59 proller RealBadAngel,   v3f world_pos    = readV3F1000(is);   - adding reads only via try, for old servers
18:01 RealBadAngel ok, any other suggestions?
18:01 PilzAdam joined #minetest-dev
18:02 RealBadAngel hi PilzAdam, https://github.com/minetest/minetest/pull/1112 if you can review
18:07 PilzAdam RealBadAngel, it looks ugly
18:09 xyz that's only because he doesn't use truetype fonts
18:10 xyz btw
18:10 PilzAdam only text will always look not very good
18:11 ShadowNinja RealBadAngel: Indentation change: https://github.com/minetest/minetest/pull/1112/f​iles#diff-18513665750ef5adf42b5ec29e14162eR2368
18:11 xyz why does the code there uses pointers?
18:11 xyz in event struct
18:12 PilzAdam also why does it add "m" to the distance? one could imagine a game where one node represents 1 cm and the player is very small too
18:13 RealBadAngel i thought 1m is 1BS
18:14 ShadowNinja You could change it to " nodes"...
18:15 RealBadAngel so player eyes are on 1.5 nodes high? kinda weird
18:15 proller node - bad name for block
18:15 proller and block - bad name for 16^3 blocks
18:16 PilzAdam minetest - bad name for game
18:16 RealBadAngel xyz, which part with pointers you have in mind?
18:17 RealBadAngel ShadowNinja, will fix it
18:18 PilzAdam ShadowNinja, or no unit at all
18:18 RealBadAngel xyz, ah that. i followed general HUD code style
18:19 xyz yea, I'm not saying you did it wrong
18:20 RealBadAngel if i were starting from scratch i propably will code it another way
18:20 ShadowNinja BlockMen: FIRST, THIRD, and THIRD_FRONT are bad names for enum elements.  Prefix them with CAMERA_MODE_.  And CAMERA_MODES shouldn't be all-caps(CameraModes).
18:20 ShadowNinja (And -s)
18:20 RealBadAngel but when im adding something i try to follow the style
18:21 RealBadAngel at least all the bells are ringin in the same church then
18:25 BlockMen ShadowNinja, you are right, will change this. And i just noticed that i typed 'TOCLIENT_AMINATIONS' instead of 'TOCLIENT_ANIMATIONS', lol
18:32 RealBadAngel rotfl
18:48 bas080 joined #minetest-dev
18:50 grrk-bzzt joined #minetest-dev
18:54 Calinou BlockMen, in third person implementation, if you sneak-walk then stop sneaking without stopping walking, sneak-walk animation still shows
18:54 Calinou (and inversely)
19:01 Miner_48er joined #minetest-dev
19:02 BlockMen Calinou, thx for reporting ;)
19:02 Calinou also, going on stairs doesn't look smooth from third person
19:02 Calinou and moving upwards while flying looks weird
19:03 Calinou (stair-smoothing applies even when flying and in air, this should not be the case)
19:03 nore joined #minetest-dev
19:05 sfan5 ShadowNinja: did that, ok now?
19:06 celeron55 xyz: it's an union so you can only put POD in there
19:07 xyz ah
19:08 SpeedProg joined #minetest-dev
19:08 xyz I see, thanks
19:11 celeron55 RealBadAngel: what's this waypoint for?
19:11 celeron55 i suspect there is some explicit usecase because otherwise nobody would have done it
19:17 ShadowNinja sfan5: Merge the ifdef _WIN32 block into the end of the __APPLE__/__FreeBSD__ block.  And you should chose one style for it, either ifdef, or if defined().  Then it seems good.
19:17 hmmmm joined #minetest-dev
19:18 ShadowNinja celeron55: It's so that you can mark things like your home so that you can find it later.
19:19 celeron55 i agree to the problems with the "m" as the unit
19:20 celeron55 it's also problematic for people who are used to nonstandard units like feet or something
19:20 sfan5 "nodes" would be the correnct unit, wouldn't it?
19:20 sfan5 ShadowNinja: done that
19:20 celeron55 what is our official real world and game agnostic unit of measurement for distances to be shown to players?
19:21 celeron55 people have been talking about not using nodes for that, i guess "cube" has been suggested
19:21 rubenwardy Nodes are defined as 1x1x1 metre blocks (aparently)
19:21 sfan5 cube may confuse people because it is not used anywhere else
19:22 celeron55 i don't have anything against just calling it nodes; there's no chance of misunderstanding in it
19:22 celeron55 but it may sound odd to new people
19:23 rubenwardy I vote metres. You could add a setting to the configuation with a conversion ratio (so it can automatically be converted from metres to another unit).
19:24 rubenwardy or meters, if you are American.
19:24 rubenwardy Not that I have any real right to vote.
19:24 BlockMen i think meters would be fine
19:24 xyz let's just leave it empty
19:25 xyz nodes will be confusing to players
19:25 ShadowNinja sfan5: BOOL is64 = FALSE; -- Why the caps?
19:25 sfan5 ShadowNinja: because it's a Windows BOOL and not a C++ bool
19:25 xyz proprietary bool D:
19:25 sfan5 indeed D:
19:26 ShadowNinja M$ needed to define their own bool? ...
19:27 sfan5 yes
19:27 Kray they defined it for C
19:27 Kray not C++
19:27 xyz all those people calling microsoft M$, this makes me facepalm sometimes /blog
19:27 Kray also glib defines gbool
19:27 Kray is that proprietary bool too
19:27 rubenwardy Appl£
19:27 Kray opengl has its bool too
19:27 sfan5 Kray: glib is open-source
19:27 sfan5 (IIRC)
19:28 Kray the header defining the microsoft's BOOL is also open source
19:28 ShadowNinja Well, gbool is a better name than BOOL, but whatever.  I guess you can merge it now.
19:29 BlockMen rubenwardy, Appl€
19:29 Kray FreeImage also uses BOOL
19:29 rubenwardy Me
19:29 sfan5 well, who is high-level network maintainer anyway?
19:29 rubenwardy -h
19:31 xyz what's high level?
19:31 ShadowNinja sfan5: kahrl would be amanger for that, since he wrote HTTPFetch, and the puprose of the section system is so that the maintainer knows how the section works and can approve things.
19:32 ShadowNinja *maintainer
19:35 BlockMen left #minetest-dev
19:35 sfan5 xyz: I would consider a change with user agents high-level
19:38 NakedFury joined #minetest-dev
19:42 xyz well yeah but this part of network is totally unrelated to, say, new packets
19:42 xyz this subsystems stuff only makes everything more confusing
19:45 proller joined #minetest-dev
20:02 sapier joined #minetest-dev
20:13 rsiska joined #minetest-dev
20:31 celeron55 if it's more confusing, don't use it
20:31 celeron55 all the previous rules are in effect and the subsystems exist for making things easier that they make easier, not to make anything harder or more confusing than before
20:32 proller need more restrictions and division!
20:33 celeron55 our issue is that there are too many people working for too little time on a too large project; i guess there's no solution to it other than hoping that people are sensible
20:34 proller bad hope
20:34 celeron55 well do something to fix it then
20:34 bas080 joined #minetest-dev
20:34 celeron55 everyone is waiting
20:35 proller need more popularity -> more developers
20:35 celeron55 fix too many devs with even more devs? hmm
20:35 celeron55 sounds like a masterplan
20:35 ShadowNinja Too many devs?
20:36 proller now ~0 active devs
20:36 proller not too many
20:36 ShadowNinja proller: What do you consider active?  Commited something in the fast hour?
20:36 ShadowNinja past*
20:36 proller past 10 min
20:38 kahrl while true; do echo >> README; git add README; git commit -m "I'm still active"; git push upstream master; sleep 600; done
20:40 bas080 joined #minetest-dev
20:43 sapier hmm I prefere to commit at least somehow finished stuff ... pull requests and private branches are enough for others to see whats going on
20:43 celeron55 22:40:10 <proller> also assigning sapier to important subsystems - bad idea.
20:43 celeron55 22:40:51 <celeron55> is halting development a better idea?
20:43 celeron55 22:41:10 <celeron55> should we just raise coding standards and hope someone who makes good stuff comes in?
20:43 celeron55 22:41:20 <celeron55> and who is going to judge it
20:43 celeron55 22:42:22 <proller> look at his commits
20:43 celeron55 22:42:37 <proller> and mobf
20:43 celeron55 22:43:15 <celeron55> i'm asking, what's the solution? if not sapier, then who does the work?
20:43 celeron55 22:43:36 <proller> better nobody than this
20:43 celeron55 22:43:53 <proller> i have no other idea than wait
20:43 celeron55 22:43:58 <celeron55> also i would want this discussion to be on #minetest-dev
20:43 celeron55 22:44:33 <celeron55> i don't like talking shit about people behind their backs
20:43 celeron55 i suppose sapier is against it and sapier won't change his way of coding, right?
20:44 celeron55 also does anyone else agree with this
20:44 sapier1 joined #minetest-dev
20:45 sapier1 if someone tells me what's wrong with my coding I may change it if it's a real issue
20:45 celeron55 if you insists, you can tell me privately and i will keep you anonymous (i asked proller whether i can copy that here)
20:46 sapier1 constructive criticisim is always welcome
20:46 sapier1 but I can't improve anything on comments like "it's bad, I hate it, ... "
20:47 ShadowNinja Requested by qwrwed, comments? http://ix.io/a2v
20:48 ShadowNinja sapier: Can you look at #862?
20:48 ShadowBot https://github.com/minetest/minetest/issues/862 -- Add the option to bind to a specific address by ShadowNinja
20:48 sapier I'm positive
20:49 sapier 862 is in my list I hope to have time to merge it this weekend
20:49 celeron55 proller: it would probably be of much help in this discussion if you made a list of what is wrong (in some commit or commits) (no matter how annoying that might be to make and no matter how obvious the contents)
20:49 ShadowNinja Also #1113 and #1110
20:49 ShadowBot https://github.com/minetest/minetest/issues/1113 -- Minor pathfinder error message changes by CiaranG
20:49 grrk-bzzt joined #minetest-dev
20:49 ShadowBot https://github.com/minetest/minetest/issues/1110 -- Include system info in the HTTP user agent on Windows by sfan5
20:51 proller splitting connection to two threads and adding looot  of locks everywhere - why?
20:51 proller remixing it to fix imagined problem - why?
20:51 proller loooot of wtf in formspec
20:53 sapier I already said if you can proof some lock isn't necessary I'll remove it immediatly
20:53 proller why you make two threads?
20:54 proller with one thread all locks isn't necessary
20:54 celeron55 i agree that all the crazy threading is nonsense
20:54 sapier you already found out about enet in your simple version consuming all cpu power
20:54 proller yes, but its okay
20:55 sapier ok celeron55 if you have a suggestion how to fix lag AND cpu power with a single thread you're welcome
20:55 proller cpu power - because 20+ megabytes per second transfer
20:55 proller and processing this data
20:56 sapier 20+ mbytes is nothing for a current cpu
20:56 proller apply 20 megabytes of media needs cpu
20:56 sapier the two thread version does use less then 20% in this situation
20:56 sapier and I've got a quite outdated phenom2
20:57 proller again: cpu - not a problem
20:57 sapier it's a quite simple thing, with one thread I can do either send OR receive
20:57 proller your current connection can only 200-400kbps, and it not eat cpu
20:57 sapier so if I'm busy with sending I can't receive and other way round
20:57 sapier vanessaE managed to get 9mbit for a single client
20:57 proller you can send-recieve 100+ mbps in one thread
20:58 sapier no I can't
20:58 proller in real word, not in your imagined
20:58 proller yes, you not.
20:58 sapier enet can't do that either because your os cache wont take that much data
20:58 proller do not touch networking if you cant
20:59 sapier proller I wont discuss this issue any longer the fixes are way better then before, we already decided to switch to a new version. It's up to you to provide a better version instead of complaining about non issues
21:01 sapier the reason why this was merged is because it fixes a lot of issues ... if you're annoyed this is incompatible to your own tons of changes in this area I'm sorry but I wont change it
21:02 sapier and proller I'd like to know your background about network programming. Maybe your accusations are right but I have quite some doubt
21:03 celeron55 (observation: nobody else has yet said to agree with that issue that proller raised; please do if you do agree)
21:04 sapier celeron55 could you please be more specific about "that issue"?
21:04 celeron55 the one i pasted 20 minutes ago
21:04 celeron55 which is the one you are talking about
21:05 sapier my coding style?
21:05 sapier multiple threads?
21:05 xyz yea, multiple threads
21:05 celeron55 your way of designing programs being bad, i think
21:06 celeron55 it's a bit hard to tell what exactly
21:06 celeron55 (if there's something else than the threads)
21:06 sapier because of separating sending from receiving?
21:07 sapier It's hard to improve something if you don't tell me what's wrong?
21:07 xyz haha, well, I'll leave it to proller to argue with you
21:07 celeron55 i'm sure nobody wants to be your teacher so that's a bad argument really
21:08 sapier and how am I supposed to change something if you don't tell me what you don't like?
21:08 celeron55 (i am intentionally not taking any side on this for now)
21:08 celeron55 (or, well, not anything new from me at least)
21:09 sapier My intention when coding is to break down a big task into small managable components each of them almost independent from others
21:10 sapier yes for some things this seems to be more complex then necessary ... but after some years of developing old code I realized this way it's way more easy to replace one of those parts with a better version without rewriting all of it
21:11 sapier but back to multiple threads
21:12 sapier the basic reason for this is to NOT have to care about how much data can I send prior I have to stop and do some receive
21:12 sapier or other way round because this decision is already made implicit by os scheduling, semaphore and select
21:13 sapier in best case (core beeing available) send and receive will run 100% in parallel without interfereing each other
21:14 iqualfragile joined #minetest-dev
21:14 sapier it's annoying everyone is great on accusing people doing work but once you ask what's wrong everyone ducks and hides
21:15 xyz well it's just in general
21:15 sapier celeron55 if you feel my way of coding is bad I can stop coding and stick to check and merge fixes by others. Hope they really will fix the issues
21:16 xyz main menu, multiple connection threads, locking on every log
21:16 sapier I hate the log lock but it's been a quick fix for this subsystem broken
21:17 sapier If you feel ok with broken logging I remove it at once
21:18 sapier main menu needs some cleanup which I haven't done because someone said he's already working on it ... as often those fixes never arrived
21:18 proller logging is 99% development feature
21:18 sapier so we're fine with crashes in producion every now and then?
21:19 sapier because of a production feature?
21:20 sapier make mientest show all connection debugging to error stream, it won't stand for 5 minutes prior crash due to inconsistent memory handling in logging
21:20 proller your log locking when logging disabled - full WTF
21:21 sapier wtf? a second opinion you want to remove this lock and it's gone
21:21 sapier I don't care about this lock
21:21 sapier if you want your crashes back fine
21:22 sapier xyz? do you want the lock removed?
21:22 xyz I've never said that
21:22 xyz uhm, what else
21:23 xyz btw, what's our official reason for keeping backwards compatibility?
21:23 xyz I mean, people can just update, the game is free after all..
21:23 celeron55 xyz: was the problems in each of these expressed at the time they were going to be merged?
21:24 sapier stop guys the connection fixes have never been meant to be merged, celeron55 suggested to merge them, I only did this fixes to understand what's going on there
21:24 sapier they did work very well for vanessae because she wanted to try the compatible fixes
21:25 sapier and I have said more then once I do not see this as final solution but only a interim fix till decision about follow up protocol is done
21:26 celeron55 it seems to me that this is more of a bunch of individual issues than something that can be fixed by doing anything more extensive
21:26 xyz celeron55: yeah, I guess there was some sort of discussion back then, on connection stuff
21:26 sapier I still have enet as well as tcp branches open, both ready for evaluation
21:27 sapier with open result, but I have an issue with enet as it's statistic values are crap
21:27 xyz sapier: what's your experience with network programming btw?
21:27 sapier I don't believe enet to have absolutely no jitter
21:27 celeron55 xyz: it all ended up quite messy and the current one is supposed to be a temporary solution
21:27 sapier 5 years industrial grade network communication devices
21:28 celeron55 xyz: i assume you are still standing for enet
21:28 xyz sapier: where do you work?
21:29 sapier I don't wanna tell the name of my company
21:30 xyz why?
21:30 celeron55 has anyone else told here for whom they work?
21:30 celeron55 i suppose no
21:30 sapier because I don't mix up private things and business
21:30 xyz alright
21:31 xyz celeron55: I don't think anybody has ever asked for it; nor I do see any problems with telling
21:31 proller my ip show my work sometimes..
21:32 sapier xyz I don't claim to know everything, in fact I learn every day, mobf is perfect example when I started it I didn't know anything about mobs and ai ... that's why it's rewritten multiple times by now
21:32 proller and why it still unusable and BLOAT?
21:33 sapier because you didn't read the code, if you did you would've seen that entity code is built on initalization so low featured mobs don't have overhead of high featured ones
21:33 PilzAdam is it some kind of tradition to always pick on the most active dev in Minetest?
21:34 sapier seems to be pa
21:34 celeron55 so is it okay to xyz and proller that each of these things is intended to be a temporary solution and as such they will be replaced or fixed in the future
21:35 sapier xyz could you help with finding out what's wrong about enet statistic data?
21:35 celeron55 because that seems to be a fact
21:35 xyz sapier: what statistic?
21:35 sapier rtt and jitter
21:35 sapier those values I read can't be true
21:35 xyz sapier: not interested atm
21:36 sapier ok but don't blame me for not beeing able to decide about a final solution if I can't find a reliable way to judge the options
21:37 sapier does anyone have a wireshark dissector for enet?
21:37 kahrl is the log lock only for getting the thread name or for synchronizing output as well?
21:37 sapier I abused the thread name lock for output
21:38 kahrl okay, if it was only the thread name I'd have suggested TLS
21:38 xyz sapier: sure
21:38 sapier I actually intended to remove it prior pushing but as it fixed the crashes on error output I haven't removed it
21:38 celeron55 there's no need for output synchronization if it degrades speed
21:38 celeron55 so kahrl's suggestion is very valid
21:39 sapier wasn't thread name lock added because of some crash at prollers bsd?
21:39 celeron55 (assuming all crashes get fixed nevertheless)
21:40 sapier and what speed benefit do we get if we remove a lock done once on startup and once on shutdown?
21:40 sapier the lock around output is NOT related to threadnames at all it's just the same lock
21:41 sapier I should've added a separate lock for this
21:42 celeron55 well that sounds like something xyz and proller will absolutely love
21:43 proller mooooore locks!!
21:43 sapier or even better someone investigates why this output needs to be locked I wasn't interested in the exact reason I just wanted to have a quick solution to continue the network fixes
21:44 sapier celeron55 yes ... but we already see that using the thread name lock to make output exclusive results in confusion about threadname beeing involved
21:45 sapier but thread name has nothing to do with those crashes (as far as I know)
21:47 sapier something different on x86 32bit assignements are atomic, I used some locks around those because of this may not be true on arm. What do you think about arch specific lock defines?
21:49 sapier everyone shout's "here I am" on flame wars but on a real technical question all is quiet
21:49 bas080 joined #minetest-dev
21:53 kahrl they may be atomic on x86 but with the compiler optimizing writes you might not see those writes on a different thread
21:54 sapier any suggestions how to remove those locks?
21:54 kahrl you need something like volatile which might work, but volatile isn't meant for that kind of thing and its semantics aren't properly defined in a multithreaded scenario
21:54 kahrl better would be std::atomic but that's C++11
21:55 sapier hmm so I guess those locks are the less risky option right now
22:10 VanessaE joined #minetest-dev
22:32 sapier https://github.com/sapier/m​inetest/tree/conlock_split this branch is supposed to fix the client initialization issues. It's splitting the "conlock" too wich actually isn't related to connection but is used for client list only. It's wip but as people seem to need a lot of time to read code you can have a look at it in unfinished state. I intend to move back the block sending functions to server. PLEASE COMMENT PRIOR MERGE this time.
22:33 sapier and maybe move the clientinterface to a separate file
22:38 sapier left #minetest-dev
22:50 NakedFury joined #minetest-dev
22:51 martin33 joined #minetest-dev
22:52 martin33 left #minetest-dev
23:10 VanessaE joined #minetest-dev
23:30 Sokomine joined #minetest-dev
23:32 VanessaE Can someone please check into the /auth_reload command and make it not crash the damn server? :)
23:33 zat1 joined #minetest-dev

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