Minetest logo

IRC log for #minetest-dev, 2015-06-29

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

All times shown according to UTC.

Time Nick Message
00:04 est31 hmmmm, time to look at one of these: https://github.com/minetest/minetest/labels/Needs%20second%20review
00:16 Lunatrius` joined #minetest-dev
00:35 paramat joined #minetest-dev
01:08 paramat #2702 i'm considering making 'ignore' walkable, to stop item- and node- entities falling through it at the bottom of the world, or if falling a long distance into an ungenerated chunk and becoming buried. any problems with this idea?
01:08 ShadowBot https://github.com/minetest/minetest/issues/2702 -- Bottom of the world weirdness
01:09 est31 isnt it already
01:09 est31 I mean you can walk on ignore
01:09 paramat also considering making 'air' not ground content so that caves do not waste time replacing air with air
01:09 est31 at least client side
01:09 paramat yes it's impassable but, link coming..
01:10 paramat https://github.com/minetest/minetest/blob/master/src/nodedef.cpp#L518
01:11 paramat walkable = true should stop entities passing through
01:13 paramat https://github.com/minetest/minetest/blob/master/builtin/game/item_entity.lua#L159 code was added to stop item-entities, but falling lua still needs a fix
01:44 hmmmm paramat: setting air to air doesn't really take up any cpu time
01:45 est31 yea thought that too but thought there might be something I overlook
01:45 hmmmm est31: #1176, you +1ed?
01:45 ShadowBot https://github.com/minetest/minetest/issues/1176 -- Add get_player_velocity() method
01:45 hmmmm the server doesn't track player velocity
01:46 hmmmm the code looks alright, as long as you don't know the particulars of how minetest works.  that code actually does nothing useful.
01:46 hmmmm did the guy who made the PR even test it??
01:46 est31 they said it works with a separate server
01:46 hmmmm "a separate server"?
01:46 est31 they said they tested it with multiple (3) connected clients
01:47 est31 but yea I've heard the server doesn't return the velocity
01:47 est31 err track*
01:52 hmmmm right, so what are they aiming to accomplish with that code?
01:54 est31 adding the callback
01:55 est31 but you are likely to be right
01:55 est31 because I never see the speed set outside localplayer.cpp
01:55 est31 yes it is set in player.cpp
01:55 est31 but only for acceleration
01:56 est31 ah sorry
01:56 est31 it is calculated
01:56 est31 https://github.com/minetest/minetest/blob/bc55ef337cc83a5c31d4fdafba352a7a26921900/src/network/serverpackethandler.cpp#L825
01:56 est31 "calculated"
01:56 est31 as it seems its calculated client-side
01:56 est31 then sent to the server
01:56 hmmmm right but the problem is that it's so unreliable
01:57 est31 and then applied
01:57 est31 yes, there is no verification at all
01:57 hmmmm because of network jitter
01:57 est31 and that
01:57 paramat hmmmmm yeah. cavegen actually now checks for air to avoid reaplacing it, that check could be absorbed into the 'ground content' check for another small gain, so i'll go ahead with that
01:58 hmmmm i'd rather ask the guy with the PR what exactly he's doing and if this patch actually makes a difference
01:58 est31 asking for usecases?
01:58 hmmmm holding off on another +1
01:58 est31 good idea
01:58 hmmmm yes...
01:58 hmmmm dare I ask somebody for their usecase when they propose to add an API only useful to them for their own private reasons?
01:58 blaise joined #minetest-dev
01:59 est31 you shouldn't do any custom gravity calculations
01:59 est31 thats right
02:00 est31 or other things that influence the real world
02:00 est31 but you could for example use it for some visualisation
02:01 est31 I'd have been more sceptical when there were a set_player_velocity method
02:01 est31 because then we enter dangerous territory
02:06 hmmmm #1748 looks good to me, aside from some nitpicky style issues
02:06 ShadowBot https://github.com/minetest/minetest/issues/1748 -- Add lua errors to error dialog by rubenwardy
02:06 est31 (*error) = ?
02:07 hmmmm yeah
02:07 est31 if(!mod
02:07 hmmmm yeah
02:07 est31 *error=NULL)
02:07 hmmmm also a line in the .h is way over 80 columns
02:07 est31 ah
02:07 est31 yea
02:07 hmmmm would appreciate if the error parameter was renamed error_msg or something
02:07 est31 makes sense
02:08 hmmmm allocating and then copying a std::string for such a mundane task seems kinda eh
02:08 hmmmm you never see functions follow that pattern of bool foobar(params, std::string *error_msg) { ..
02:09 hmmmm usually for error returning functions they'd return an integer that's an index to the particular error or 0 on success
02:09 est31 yea
02:09 hmmmm or in the case of a boolean return value it'd be true on success, false on failure, and then errno would be the specific error, and then strerror would be the textual description
02:09 est31 but here we get the error string from lua
02:09 hmmmm right
02:10 prozacgod joined #minetest-dev
02:10 hmmmm how can this be made more uh...
02:10 est31 and it has more information than just "LUA_PARSER_ERROR"
02:10 hmmmm what's the term i'm looking for
02:10 hmmmm return a const char *
02:10 est31 C has this limitation, where you can only return a single value
02:10 hmmmm 0 (NULL) on success
02:10 hmmmm pointer to the error string on failure
02:10 hmmmm ?
02:11 hmmmm std::string error_msg;
02:11 hmmmm if (!loadMod(..., &error_msg) {
02:11 hmmmm vs.
02:11 hmmmm const char *error_msg = loadMod(...);
02:11 hmmmm if (error_msg) { ...
02:11 hmmmm what looks better?
02:12 est31 we really only return false if we have a string
02:12 est31 so its ok
02:12 est31 both look good
02:12 hmmmm so then just leave it as-is
02:12 hmmmm too minor of an issue to be worth changing
02:12 hmmmm not even issue
02:13 est31 you want to merge it?
02:13 hmmmm you do it
02:14 hmmmm christ, every time i look at particle-related code it burns my eyes
02:15 hmmmm nothing like a big if/else if chain for comparing strings when clearly an enum would've worked better instead along with enumToString()
02:15 hmmmm :|
02:15 est31 heh
02:15 est31 horrible
02:16 hmmmm oh ew
02:16 hmmmm in fact no, this guy never heard of get*field() functions apparently
02:16 hmmmm that's what that piece of code is actually doing
02:17 hmmmm i really wish i looked closer at the particlespawner code.
02:17 hmmmm i really really do.
02:18 hmmmm it was merged at a point in my minetest career where I figured that I should make my standards for code submission more relaxed
02:18 hmmmm big mistake
02:18 est31 better having something broken than not having it at all
02:18 hmmmm ha
02:18 hmmmm really now
02:19 hmmmm i totally disagree with that from a philisophical standpoint
02:19 hmmmm i'd rather not erode minetest's image any more than it needs to as a bug-ridden, poor quality, excuse of a minecraft clone
02:19 paramat hmmmmm, agreed
02:20 hmmmm also bad code can cause problems later on when other developers go to look at it
02:20 hmmmm or modify something
02:26 est31 btw why return const char *
02:26 est31 from how I see it, we have to return char *
02:26 hmmmm you're acutally doing that?
02:26 est31 because otherwise we cant free it
02:27 hmmmm est31:  http://lua-users.org/lists/lua-l/2015-04/msg00015.html
02:27 hmmmm you don't need to free it, lua does
02:28 hmmmm doesn't lua_tostring return const char *?
02:28 est31 so either we use it immediately, or forget about it
02:28 hmmmm and i thought we decided it's not worth changing that
02:28 est31 ok
02:28 est31 not worth adding that as comment and stalling pr merging
02:37 est31 dammit sth works wrong
02:38 hmmmm ?
02:38 est31 program crashes at startup
02:38 est31 lemme stash and try whether its me
02:40 est31 ah dammit
02:40 est31 we do lua_pop
02:40 est31 then lua gc sets in
02:40 est31 and then
02:40 est31 yea
02:40 est31 perhaps dunno
02:40 est31 but there is no error
02:42 est31 hmmmm, what am I doing wrong? https://github.com/est31/minetest/commit/bc8da355698dbf7ec04057f47652a56ed3005661
02:42 hmmmm ehh
02:42 hmmmm you shouldn't bother making that one change
02:42 hmmmm I like the old return value better
02:44 est31 still I wonder what the problem is
02:44 est31 whatever
02:44 est31 I'll push it without improvements
02:44 hmmmm i dunno
02:44 hmmmm oh i se
02:44 hmmmm because the error message gets popped from the stack right away
02:45 est31 yes that makes total sense
02:45 est31 but there is no error
02:45 hmmmm so you're not able to return the raw pointer of it
02:46 hmmmm hrm, i don't know
02:47 hmmmm i can't see a reason why that would crash on success
02:52 est31 about #2740 and #2592
02:52 ShadowBot https://github.com/minetest/minetest/issues/2740 -- Fix red screen when damage is disabled by SmallJoker
02:52 ShadowBot https://github.com/minetest/minetest/issues/2592 -- ignore lava damage, fall damage and drowing if damage is disabled by HybridDog
02:52 est31 I think paramat is right
02:52 est31 how long will it take to fix
02:52 hmmmm what did paramat say
02:53 est31 "Hmmmm or Zeno will soon fix this, so this should be closed."
02:53 est31 to both
02:53 est31 both address same issue
02:53 hmmmm in both very roundabout ways
02:53 hmmmm the solution is quite simple
02:53 hmmmm i'll get it yeah
02:56 hmmmm nice
02:57 hmmmm i have to figure out breakage in the freebsd build first
02:57 hmmmm iconv: no matching function for call to libiconv
03:00 est31 the nrz buildbot works well
03:00 est31 iconv:
03:00 est31 I did the iconv commit
03:06 paramat cool
03:07 hmmmm freaking glib
03:07 hmmmm this is going to break my system.
03:08 est31 even ulibc has iconv
03:08 est31 and it has u for µ
03:10 paramat (oops 2740 was already closed, removing comment)
03:12 hmmmm oh man..
03:12 hmmmm i have no idea how to fix this
03:14 est31 thats bad
03:14 est31 iconv is missing entirely?
03:18 paramat http://i.imgur.com/T3wJRQS.png adding some swamp in rainforest
03:22 hmmmm okay i think i got it
03:23 hmmmm est31, why do you have that special case for const char ** with freebsd?
03:25 prozacgod joined #minetest-dev
03:25 est31 because nrz's buildbot failed and I looked up the man page in the internet
03:25 est31 and there it was char **
03:25 hmmmm hrmm
03:26 hmmmm i need to figure out some way to detect BSD or GNU iconv
03:27 est31 to test do a PR
03:27 hmmmm it works with nerzhul's buildbot because it doesn't have glib20 installed on it
03:28 est31 ah
03:28 hmmmm anybody who actually uses minetest on freebsd is going to have glib...
03:28 est31 or not update
03:32 est31 there must be a glibc #define
03:32 hmmmm this might be bad but
03:32 hmmmm I'm going to use #ifdef _ICONV_H_ to detect BSD glibc
03:32 hmmmm i mean libiconv
03:32 est31 http://stackoverflow.com/questions/4266354/how-to-tell-if-glibc-is-used
03:36 hmmmm ... i fixed my mistake
03:58 hmmmm fantastic
03:58 hmmmm <invalid UTF-8 string>
03:58 hmmmm everything here is an invalid utf-8 string :/
03:59 est31 :(
04:00 hmmmm wtf it feels like there's some kind of massive performance regression
04:24 hmmmm success!
04:24 hmmmm i see text again
04:39 zat joined #minetest-dev
04:42 est31 what was the problem
04:58 est31 hmmmm, where do you think should I add a new superclass for minimap update thread and mesh update thread?
05:13 jin_xi joined #minetest-dev
05:15 Puma_rc joined #minetest-dev
05:28 hmmmm a superclass?
05:29 hmmmm the problem was that i was linking against the wrong version of the library
05:29 est31 ok
05:30 est31 yes I want to abstract away the queue, and the blocking for the queue ""
05:30 est31 -" -"
05:37 RealBadAngel joined #minetest-dev
05:41 est31 I'll use util/thread.h
05:41 Megaf joined #minetest-dev
05:44 Hunterz joined #minetest-dev
05:45 blaise joined #minetest-dev
06:11 VanessaE [06-28 19:06] <hmmmm> are you sure we don't have wallmounted meshnodes already?
06:11 VanessaE a bit late to answer you but yes, we DO have wallmounted meshnodes
06:11 VanessaE (homedecor's window shutters are an example of such)
06:21 paramat left #minetest-dev
06:25 hmmmm i hope there's not too much abstraction
06:25 hmmmm ConsumerThread
06:31 OldCoder joined #minetest-dev
06:47 hmmmm est31:  you there?
06:47 hmmmm https://github.com/kwolekr/minetest/commit/2cbb27dd08d760166b159860e8b02ebd91518d93
06:50 est31 ha lol ShadowNinja removes those // __ANDROID__
06:50 est31 things you add them
06:50 hmmmm we should have a chat about them
06:50 est31 you should perhaps determine which you want
06:50 hmmmm i want
06:50 est31 I'm neutral
06:50 hmmmm how the hell could you figure out which block belongs to which without them
06:50 hmmmm it's confusing at first glance
06:51 hmmmm +1?
06:52 est31 looks good yea
06:52 est31 so you say you want a third person to look at it too?
06:52 hmmmm hmm
06:52 hmmmm in theory, yeah
06:53 est31 I know, I bring up this discussion at this point where it profits me :)
06:53 hmmmm I can completey understand why somebody might be okay with just one approval
06:53 hmmmm but that policy is clearly not for the best
06:55 est31 perhaps lets do the following: if sb proposes a PR, and sb else thinks this is a larger feature, then they e.g. tag it or somehow else indicate that they want "extended review". Then the PR needs three core devs to agree (whether from sb else, or from a coredev), but the person who sais this has to help reviewing.
06:56 Puma_rc joined #minetest-dev
06:56 est31 with "three coredevs" meaning that the author counts
06:56 hmmmm sure, I suppose that works
06:57 est31 hold that patch
06:57 hmmmm we're stuck in such a hard place
06:57 est31 why do you add it to the client libs?
06:57 hmmmm because iconv isn't used on the server
06:57 est31 string.cpp is used by server too isnt it?
06:57 hmmmm ahh good point
07:00 hmmmm revision 2 https://github.com/kwolekr/minetest/commit/a8653e7f38d07d8bd5acc36758730280e5d16d9f
07:01 est31 hrmm, iconv can miss on non-freebsd too, can it
07:01 est31 then its ok to put it into a "general" section
07:02 hmmmm isn't that a general section?
07:02 est31 yes
07:02 est31 therefore its good
07:03 est31 do we really need this _ICONV_H_ thing?
07:03 hmmmm yes
07:03 est31 perhaps replace it with a check for glibc instead?
07:03 hmmmm no can do sir
07:03 Hunterz is possible connect to server compiled against irrlicht 1.8.x with client compiled against irrlicht 1.9dev ?
07:04 hmmmm yes
07:04 Hunterz thx
07:04 est31 Hunterz, in fact, you only need irrlicht for defines
07:04 est31 we try to maintain connectability for long times
07:05 Hunterz irrlich have ugly bug with keys
07:05 est31 we have to, as our servers are mostly recent builds, but our clients keep using year old sw
07:05 est31 yea input on irrlicht < 1.9 is highly broken
07:06 est31 no entry of äöüßê on linux possible
07:06 est31 this 7 or 4 or whatever bug on azerty keyboards
07:06 est31 then the num lock thing
07:06 est31 teaches us old != mature
07:06 est31 whatever
07:07 est31 hmmmm, glibc check wont work?
07:07 Hunterz yea, these bugs...
07:07 hmmmm that is there to check which version of iconv is used
07:07 hmmmm BSD or GNU
07:07 hmmmm glibc check basically only tells you if you are or are not on linux
07:08 est31 why not use the inversion of __GLIBC__
07:08 Darcidride joined #minetest-dev
07:08 hmmmm because BSD can have two versions of iconv installed at the same time
07:09 est31 can you do a pr and check whether nrz's bsd works?
07:09 Hunterz btw minimap is really nice, like reis minimap on the minecraft
07:10 est31 blame RealBadAngel for it
07:10 est31 if all works, merge
07:10 Hunterz found some cosmetic bug - when client loaded, minimap  render only loaded chunks, client must rotate 360 degs, then minimap are completely filled
07:11 kilbith joined #minetest-dev
07:11 est31 yea its the "occlusion" behaviour
07:11 est31 the server only sends blocks which are "interesting" for the client
07:11 est31 thats to spare resources
07:12 est31 and before, it was only "interesting" what was going on before a player, not behinf
07:12 est31 behind*
07:12 est31 in front of*
07:12 Hunterz maybe will be fine some cache on the clientside
07:12 est31 the client caches it already
07:12 RealBadAngel its not up to minimap
07:12 est31 also question is whether we want it
07:13 est31 you know, server being wasteful
07:13 est31 only for minimap
07:13 RealBadAngel client already stores around 1,8k of blocks
07:13 Hunterz looks like when reconnect to server and enable minimap must again rotate
07:14 RealBadAngel same is without minimap
07:14 RealBadAngel it is not minimap deciding whats loaded, just you walkin around
07:15 VanessaE seems like a one-time "load everything around the player" step might be prudent.
07:15 VanessaE but that would need the client to be able to request blocks
07:15 hmmmm hey RealBadAngel, https://github.com/minetest/minetest/blob/master/src/minimap.h#L63   what is the significance of the number "512"?
07:15 VanessaE (which it can't I think)
07:16 RealBadAngel maximum size of the scan
07:16 hmmmm oh
07:16 hmmmm well why don't you say that
07:16 hmmmm in terms of a constant expression or a comment
07:17 RealBadAngel ok, i will add comment
07:17 hmmmm it's okay
07:17 hmmmm i already did
07:18 RealBadAngel btw, it shall be lowered, to 256x256
07:18 RealBadAngel 512x512 was intended to be maximum, but client doesnt store such big area
07:18 Hunterz when connect to server, enable minimap disconnect, connect again, must enable mnimap again, will be possible save state?
07:19 RealBadAngel Hunterz, no. Minimap can see blocks that are loaded, data for minimap is created together with block mesh
07:20 RealBadAngel theres no way to store such data over restart
07:20 VanessaE actually, there is.
07:20 RealBadAngel huh?
07:20 VanessaE the "local map saving" feature could theoretically be exploited to do this
07:21 est31 yes
07:21 est31 theoretically
07:21 Hunterz every connect to server must press key to again enable minimap?
07:21 VanessaE but code would be needed to reload the data from that saved map
07:21 est31 question is is it worth the effort
07:21 est31 I mean its like when you clear the browser cache and request a website
07:21 VanessaE est31: on slower connections, undoubtedly, but I'd guess no less than 25% of the data saved will have to be re-downloaded anyway
07:22 RealBadAngel i highly doubt that. managing caches when connecting to another servers and such.... ouch
07:22 RealBadAngel hmmmm, are you changing minimap's code?
07:22 VanessaE one of the guys in #minetest was having such terrible connection quality due to an ISP network issue that he couldn't even sustain an effective rate of a few hundred Kbps
07:23 hmmmm yes
07:23 hmmmm just cleaning up some things
07:23 RealBadAngel what are you doing exactly?
07:23 VanessaE so reloading the map data from such a cache would absolutely have been faster for him (and me, at the time.  I was being choked down to around 4 Mbps).
07:23 RealBadAngel i thought i already made everything you wanted
07:24 hmmmm you'll see it when i'm done
07:24 hmmmm there were still more things..
07:24 est31 VanessaE, I guess it would be a much better improvement to only send diffs of map data around, not the whole block
07:24 VanessaE est31: agreed
07:24 VanessaE but that means a new protocol version
07:25 est31 so what
07:25 est31 we are developers
07:25 VanessaE yes but users are lazy :)
07:25 est31 we change the protocol
07:25 est31 using the cache would require it too
07:25 VanessaE true
07:25 VanessaE (because of the need for client-side block requesting)
07:26 RealBadAngel hmmmm, thats rather not kind changing my code without even talkin to me
07:26 VanessaE or rather that + being able to tell if a block is actually outdated.
07:26 hmmmm you're able to review it when i'm done
07:27 RealBadAngel we will see
07:27 deezl1 joined #minetest-dev
07:36 RealBadAngel Hunterz, about saving current mode, thats possible
07:36 RealBadAngel and is good idea actually
07:36 Hunterz I know, all is possible :)
07:36 hmmmm also you realize that the line length limit is 80-90, right?
07:37 est31 wrong
07:37 est31 its 70-90
07:38 hmmmm it's 70^90
07:38 RealBadAngel there are no extremaly long line, just a few of them are a bit longer
07:38 est31 no, 70 ^90
07:38 est31 err 70 ^ 90
07:38 hmmmm i recognize the problem with lines that are slightly longer
07:38 est31 ^ is a dual operator :p
07:38 hmmmm the soft limit is 80 columns
07:39 est31 wasnt it 70
07:39 hmmmm no
07:39 RealBadAngel most long one has 106 chars
07:39 hmmmm it's discouraged to go over 80 columns
07:39 hmmmm but 90 is the absolute max
07:39 est31 ok you are right
07:39 hmmmm after that you have to make the line smaller somehow
07:39 Hunterz its hard learn c, cpp, when know java ?
07:39 est31 thought it were 70
07:41 RealBadAngel https://imgrush.com/s9mxey_lvFn5
07:41 RealBadAngel they doesnt look such long
07:41 hmmmm yes, but you realize that people split their screens, right?
07:42 Darcidride_ joined #minetest-dev
07:42 est31 like me for example
07:42 RealBadAngel oh cmon, im on 4:3 now and that long liner doesnt occupy even half the screen
07:42 RealBadAngel on wide screen code takes 1/3 of the screen
07:42 VanessaE I'm the outlier, I maximize my editor  :P
07:43 RealBadAngel instead of seeing a line you read chapters :P
07:43 RealBadAngel becuase most of the space is already taken by tabs
07:43 hmmmm then maybe you should minimize the amount of indentation in your code
07:43 RealBadAngel limit shall be 80 USEFULL characters
07:44 RealBadAngel not formatting ones
07:44 RealBadAngel hmmm, stop joking please
07:44 VanessaE I see 6 levels of indentation there
07:44 VanessaE this is excessive?
07:45 hmmmm 4 should be preferred.
07:45 hmmmm anything larger is a good indication that it might be time to refactor
07:45 VanessaE I'm not against that notion, but don't you think max 90 characters is a little archaic?
07:45 hmmmm not really
07:46 RealBadAngel yeah, cut the ifs, cut the loops put everything into arrays, i know that song
07:46 RealBadAngel sorry it doesnt work that way :P
07:46 hmmmm if we actually wanted it to fit code into a video terminal, then 80 columns would be the hard limit
07:46 VanessaE I';m just saying, it's not like we're really stuck with said video terminals.
07:46 RealBadAngel who the duck is reading code in terminals nowadays???
07:46 hmmmm RealBadAngel: let's use Mapper::getMinimapTexture() as an example
07:46 VanessaE that would literally be pointless - after all, you're coding for a game that by its very nature can't run in a hard console.
07:47 hmmmm 98% of the function is indented two levels
07:47 hmmmm because it's completely encased inside of an if statement
07:47 hmmmm right there, if i were writing that function, i would invert the condition and return early
07:47 hmmmm look, i just saved 4 columns so far
07:48 RealBadAngel where do you see return in getMinimapTexture?
07:49 RealBadAngel and fyi, order of code is strictly an order of applying matrices operations
07:50 RealBadAngel invert anything there, change order and effect will be fucked up
07:56 RealBadAngel ouch, im commenting another function than you
07:56 RealBadAngel sorry, i think i need a nap
07:56 VanessaE no sleep for you :P
07:57 RealBadAngel i havent sleep last night, and im starting to talkin nonsenes, i really should ;)
07:57 Puma_rc joined #minetest-dev
07:58 RealBadAngel bbl
07:58 VanessaE cya
08:00 Yepoleb_ joined #minetest-dev
08:00 Puma_rc__ joined #minetest-dev
08:03 Puma_rc joined #minetest-dev
08:20 Krock joined #minetest-dev
08:25 crazyR_mobile joined #minetest-dev
08:31 VanessaE think I'll follow RBA's lead
08:31 est31 don't sleep for a night?
08:32 est31 :p
08:59 Puma_rc joined #minetest-dev
09:10 VanessaE hah
09:11 VanessaE no, that wasn't the intent, but it's looking like I'm gonna end up doing that anyway :(
09:20 Puma_rc joined #minetest-dev
09:33 est31 :(
09:35 sfan5 left #minetest-dev
09:35 sfan5 joined #minetest-dev
09:37 Puma_rc joined #minetest-dev
10:17 Calinou joined #minetest-dev
10:22 red1 joined #minetest-dev
10:36 red1 how does minetest.item_place chose between  minetest.item_place_node() and minetest.item_place_object()
10:46 OldCoder joined #minetest-dev
10:48 Puma_rc joined #minetest-dev
10:56 Puma_rc joined #minetest-dev
11:23 Darcidride joined #minetest-dev
11:37 Puma_rc joined #minetest-dev
11:47 Puma_rc_ joined #minetest-dev
12:17 est31 joined #minetest-dev
12:18 Darcidride_ joined #minetest-dev
12:25 RealBadAngel est, that update threads pr looks ok
12:31 est is that a +1?
12:43 est thanks
12:52 Zeno` joined #minetest-dev
12:56 RealBadAngel est, yes
12:56 RealBadAngel Zeno`, howdy?
12:57 Zeno` hi RBA :)
12:57 Zeno` 10 days until a release?
12:57 * Zeno` checks the commit log
12:57 est ~topic
12:57 ShadowBot est: Minetest core development and maintenance. 0.4.13 release scheduled for August 10 2015. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/
12:57 Zeno` err 40
12:57 est Zeno`, off by one
12:58 est month
12:58 RealBadAngel Zeno`, im playing with VBO code, i would like to know if there are leaks, and if then where
12:58 Zeno` I'm always off by at least one
12:58 est heh
12:58 Zeno` RealBadAngel, hmm ok. I haven't really been around but I can gather some data
12:58 kilbith hey Zeno \o
12:59 RealBadAngel lemme prepare PR then
12:59 Zeno` I want to be back properly it's just... "difficult"
12:59 Zeno` hi kilbith
13:08 Taoki RealBadAngel: Highlight me when PR is up please. I will give it a try myself and mention what I notice about memory usage.
13:11 Zeno` Hi... Taoki?
13:11 Zeno` have we met?
13:12 Taoki Zeno`: Hi. Not sure
13:12 Zeno` est did you read the logs and what I said about you? :p
13:12 est the do break stuff?
13:12 Zeno` and that horrible, horrible  do {} while(0);
13:13 Zeno` yeah
13:13 est I just copied behaviour from another part of minetest, it seems i shouldnt copy things
13:13 Zeno` 'tis confusing
13:13 Zeno` yeah don't copy... most of the code is crap (LOL)
13:13 est methods are expensive
13:13 est and goto...
13:13 est you know goto dino
13:14 est https://xkcd.com/292/
13:14 Zeno` the main objection to goto is unbounded gotos
13:14 Zeno` i.e. long jumps that can jump to anywhere in the program
13:14 Zeno` c and C++ gotos are local (bounded) short jumps
13:14 Zeno` and the meaning is clear;
13:15 Krock <3 dino
13:15 Zeno` break is a goto in essence anyway
13:15 est yes
13:15 est its kind of like the emscripten relooper
13:15 est its a compiler asm -> javascript
13:15 Zeno` never heard of it :(
13:15 est so asm has gotos, what to do
13:16 est make them loops
13:16 Zeno` asm has unrestricted gotos...
13:16 Zeno` loops *are* gotos :P~~~
13:16 Zeno` but anyway, I just found the usage of do {} while(0); kind of confusing
13:16 Zeno` it's no big deal...
13:17 est when I add // breakable?
13:17 Zeno` just something I thought I'd mention
13:17 est yea
13:17 Calinou 20 GOTO 10!
13:17 Calinou is the only thing I know about gotos
13:18 Zeno` 10 PRINT "HELLO WORLD"
13:18 Calinou (can someone ELI5 what's a goto?)
13:18 Calinou (in #minetest probably)
13:19 Zeno` in the case of do { } while(0); the loop is unconditional (the branch is optimised away). The "break" keyword is a 'local' jump out of the loop
13:20 Zeno` the goto keyword can goto anywhere in the function (in other languages it can jump/goto anywhere in the program it likes)
13:20 Zeno` which leads to spaghetti code
13:21 Zeno` i.e. a break is an unconditional jump (out of the loop); and so is break
13:21 Zeno` err so is goto
13:23 kilbith https://lut.im/7sjctKw6/h83uRKy8
13:23 Zeno` ugh
13:23 kilbith yurk :(
13:23 Zeno` not lua stuff still
13:24 est kilbith, perhaps that offset bug cheapie has?
13:24 kilbith exact
13:24 kilbith texture displacement
13:26 Zeno` #2818
13:26 ShadowBot https://github.com/minetest/minetest/issues/2818 -- Make acc and vel deprecated in add_particle and search for acceleration and velocity instead by TeTpaAka
13:26 Zeno` what's with all the strcmp calls?
13:26 est make them == ?
13:26 est good idea
13:27 est but strcmp or something comparable gets called under the hood
13:27 est so mostly a style issue
13:28 Zeno` == won't work because key is a (const) char *
13:28 Zeno` hmm
13:31 est we can make the == 0 tp ! but dunno if that makes it more readable
13:31 est to*
13:32 Zeno` nah
13:32 Zeno` I guess it's the best way for that function
13:42 Zeno` For the upcoming release what are the highlights and objectives?
13:47 kilbith checking guys plz #2855
13:47 ShadowBot https://github.com/minetest/minetest/issues/2855 -- Fix bugs in mainmenu by kilbith
13:47 est blame the release manager
13:47 est for not making a list
13:47 est (its me)
14:26 kilbith sfan5, what's your script for listing the new commits in you Windows builds thread ? we could re-use it for filing the changelog without pain
14:26 kilbith *your
14:27 sfan5 minetestbot does that
14:27 est and its not quite perfect
14:27 sfan5 using a modified git log command could achieve the same result
14:27 est it records mods to
14:27 est o
14:27 sfan5 you can grep the mods out
14:28 est and when you force push, it records it multiple times
14:28 est so at the end you end up with git itself
14:28 est a changelog shouldnt be a list of git changes
14:28 est it should not include "typo fix in actionstream logging"
14:29 sfan5 a git log can however be used as a starting point for making a changelog
14:29 kilbith yes
14:29 est yes
14:30 sfan5 https://www.kernel.org/pub/software/scm/git/docs/git-log.html#_pretty_formats
14:30 est wow we are in the eighties
14:30 kilbith ok so it's easy to exclude all commits containing "typo"
14:31 sfan5 that's not what i meant
14:31 sfan5 anyway
14:31 est thats not the point kilbith typo was only an example
14:31 sfan5 the manpage i linked has information about making git log output data the way you want it
14:31 kilbith you want to exclude commits that are low relevance
14:31 est A release wont fail because nobody will volunteer to write a changelog
14:32 est so, votes on #2818
14:32 ShadowBot https://github.com/minetest/minetest/issues/2818 -- Make acc and vel deprecated in add_particle and search for acceleration and velocity instead by TeTpaAka
14:32 est ?
14:35 kilbith why querying votes for impactless cleanup...
14:35 est so let it rot?
14:35 kilbith direct merge
14:36 kilbith it's just style and minor logging
14:36 hmmmm joined #minetest-dev
14:37 CraigyDavi joined #minetest-dev
14:41 hmmmm Zeno`:  are you taking on cleaning add_particle?
14:41 est Also, proposals for 0.4.13?
14:42 hmmmm that table iteration loop along with the giant strcmp elseif chain should all be getblahfield() calls
14:42 red1 joined #minetest-dev
14:42 est ah I see
14:42 est yea that makes sense
14:43 est thats what tetpakaka meant
14:43 est ofc i support that
14:43 hmmmm tetpakaka didn't make the original mistake
14:43 est yes
14:43 est but they asked whether thats needed
14:44 est https://github.com/minetest/minetest/pull/2818#issuecomment-116590314
14:44 hmmmm the particle code is nothing short of terrifying
14:44 hmmmm honestly i think we should nuke it and start over from scratch
14:44 hmmmm jin_xi did some work on that already
14:44 red1 how does minetest.item_place chose between  minetest.item_place_node() and minetest.item_place_object()
14:45 est good idea as long as the nuking doesnt happen in master, only the replacing
14:50 Calinou joined #minetest-dev
15:17 AnotherBrick joined #minetest-dev
15:22 jin_xi joined #minetest-dev
15:42 jin_xi yeah i did some work on particles, its here: https://github.com/obneq/minetest/tree/scenenodeparticles
15:51 Darcidride_ joined #minetest-dev
15:53 jin_xi also please consider #2602 it stops particles leaking an int for every expiring spawner
15:53 ShadowBot https://github.com/minetest/minetest/issues/2602 -- move particle spawners to env by obneq
16:20 Hunterz joined #minetest-dev
16:48 ElectronLibre joined #minetest-dev
17:04 rubenwardy joined #minetest-dev
17:11 MinetestForFun joined #minetest-dev
17:15 sloantothebone joined #minetest-dev
17:16 sloantothebone I want to understand how the player model works. Is this core dev or may I PM with somebody about this?
17:25 Taoki est: About that thread. I don't suggest upgrading to Lua 5.2 or 5.3 just for the blind sake of updating. My point has been primarily that old versions get deprecated. Minetest can't support Lua 5.1 forever, it's a version that will eventually get deprecated and not even distrubited by Linux distros any more.
17:26 Taoki To be honest, I'm already worried that openSUSE 13.1 might come pack with Lua 5.3, and I'll have issues compiling Minetest.
17:26 Calinou we can easily wait 3 years before that happens
17:27 est then we either have to tell openSUSE package maintainers that we need lua 5.1, or you use the bundled lua
17:27 est yet another reason to have it bundled
17:27 est for the "distro abandon 5.1 winter"
17:27 est cold and long
17:27 Taoki Some distros might keep it around for longer. But not forever.
17:28 est lua is a soft dependency
17:28 est if there is no system lua around, we use a bundled on
17:28 est e
17:28 Taoki We can think of the issue oppositely as well: What if this happened some 5 years ago with Lua 4.1? Today we'd have to find an ancient version of Lua to compile Minetest, because no one even has 4.1 any more :P
17:28 Taoki Oh?
17:29 Taoki Wait... Lua is bundled with the Minetest code? It's not read from system packages at compile time (by cmake)?
17:29 Taoki Like Irrlicht
17:29 est both
17:29 est if its found, we use that
17:29 Taoki Aha... interesting.
17:29 est if not we compile it
17:29 Taoki That's indeed a bit safer
17:30 est I wonder what other projects did
17:30 est which are that old
17:30 est and had similar needs
17:31 est but admittedly, past then there was no luajit maintainer who didnt like lang features
17:31 Taoki If Minetest can maintain its own version if Lua, I wish it could also maintain its own Luait :)
17:31 Taoki We'd be less restricted then
17:32 est maintaining our own language is a hard job
17:32 est and we have much much other jobs to do
17:32 est and far too less devs
17:32 * Taoki nods
17:32 est but as I said, luajit isnt abandoned
17:32 est just no features get added
17:34 Taoki Ah... but, can't Minetest maintain compatibility with Luajit 5.1 and normal Lua 5.2 / 5.3? I mean people can simply compile it with whichever they want.
17:34 Taoki Or if we support any form of Lua 5.2, we'd have to break 5.1?
17:34 est we can have ifdefs
17:34 est I guess
17:34 Taoki That would be best, totally
17:34 est but question is it worth the cost
17:35 est and second question what to recommend to distros
17:35 Taoki I think Minetest should support compiling with every version from here on: 5.1, 5.2, 5.3, future ones. Of course, that might take work... so if someone is around who's willing to do it
17:36 sloantothebone Hello
17:36 Calinou Taoki, the problem is that Lua is not strictly backwards compatible; some mods might work with Lua 5.1 but not with 5.2 or 5.3, which is why we need to settle on a single version.
17:36 est Taoki, I'm against, because it will force mod makers to make a choice which version to target
17:36 Calinou it would be like supporting either Python 2 or Python 3
17:37 sloantothebone I would like to know how the core model works, you can pm me if you want
17:37 Taoki I see
17:37 Taoki This will be a problem yeah :(
17:38 est So, luajit is maintained, and "traditional lua" can be marked for "debug purposes only, then your issues are addresses Taoki."
17:38 est move the last " to the left
17:38 Taoki Sure
17:38 est sloantothebone, you want an overview?
17:39 est over minetest core architecture?
17:39 sloantothebone Yeah
17:39 est http://dev.minetest.net/Core_Architecture
17:39 est and this has a nice diagram http://dev.minetest.net/Engine_structure
17:40 sloantothebone Well specifically the character model
17:41 est you mean playerß
17:41 est ?
17:42 sloantothebone Yes
17:42 kilbith your question is not precise, this doesnt help to answer you
17:44 Sokomine joined #minetest-dev
17:44 sloantothebone I want to understand how the player model works
17:44 est what do you mean with model?
17:45 sloantothebone The animations, the shape of the player
17:46 sloantothebone I believe they call the skin Sam
17:46 est so what you want to know
17:46 crazyR_mobile joined #minetest-dev
17:47 sloantothebone Well, there's this mod that messes with the player model called playeranim, https://github.com/Rui914/playeranim
17:48 sloantothebone I wanted to understand it a bit more
17:48 kilbith talk about that on #minetest then
17:48 sloantothebone Okay
18:03 red1 how does minetest.item_place chose between minetest.item_place_node() and minetest.item_place_object()
18:04 est red1, it depends on various things
18:04 est on the item, on where you click
18:04 est err ok not on the last one
18:04 est only on the item
18:05 est here is the code https://github.com/minetest/minetest/blob/990a96578f20244626b6b9f67f8e79a7e2e614ea/builtin/game/item.lua#L191
18:05 red1 ok thanks
18:09 Player_2 joined #minetest-dev
18:43 neoascetic joined #minetest-dev
18:43 neoascetic hi all
18:43 neoascetic can I use loadstring in my mods? I want to eval lua code dynamically
18:53 sfan5 yes
18:53 sfan5 at least i think you can
18:53 sfan5 no idea whether SN's mod security patch disabled that
18:53 neoascetic I tried but it returns nil
19:18 celeron55 if it returns nil, there's an error message in the second return value
19:19 neoascetic ok, I'll check
19:28 est31 joined #minetest-dev
19:28 est31 hmmmm, https://github.com/minetest/minetest/issues/1176#issuecomment-116782270
19:29 est31 I think this is an useful usecase
19:30 H-H-H joined #minetest-dev
19:31 neoascetic well, I have a meta as a table, how can I get inventory for this meta?
19:32 neoascetic I am trying to get inventory of already digged node in after_node_dig callback
19:42 CraigyDavi joined #minetest-dev
19:47 kilbith neoascetic, you would have more modders to help you on #minetest
20:09 johnnyjoy joined #minetest-dev
20:11 hmmmm est31, I agree
20:11 hmmmm I think it might work with the jitter and all
20:11 hmmmm seems to work for the person who implemented it
20:44 Robert_Zenz joined #minetest-dev
21:27 sloantothebone VanessaE tells me we will have client side lua modding soon-ish
21:50 Lunatrius joined #minetest-dev
22:21 ShadowNinja I'm getting flooded with IBoneSceneNode::getBoneName() deprecation warnings.
22:22 ShadowNinja "Use getName instead. This method may be removed by Irrlicht 1.9"
22:49 gentoobro joined #minetest-dev
23:50 Lunatrius joined #minetest-dev

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