Minetest logo

IRC log for #minetest-dev, 2012-11-01

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

All times shown according to UTC.

Time Nick Message
04:57 steve____ joined #minetest-dev
05:01 steve____ left #minetest-dev
05:47 ecube joined #minetest-dev
05:59 ecube joined #minetest-dev
09:42 rubenwardy joined #minetest-dev
11:12 nyuszika7h joined #minetest-dev
11:14 PilzAdam joined #minetest-dev
12:18 VanessaE joined #minetest-dev
14:03 rubenwardy joined #minetest-dev
14:59 OdnetninI joined #minetest-dev
15:33 hmmmm joined #minetest-dev
16:31 Calinou joined #minetest-dev
16:33 thexyz any idea on why doesn't this work? https://gist.github.com/3994872
16:40 darkrose explain "doesn't work"
16:42 thexyz well, i've tested it using PilzAdam's carts mod, and when player's flying near cart it can reach the finish line, otherwise it just stops after reaching some distance from player
16:44 celeron55 joined #minetest-dev
16:44 OldCoder celeron55, hi
16:51 hmmmm unrelated, but you should be using MAP_BLOCKSIZE instead of 16
16:51 thexyz oh, yes
16:52 hmmmm and shouldn't you be using an envlock there?
16:53 hmmmm perhaps it's fine
16:53 hmmmm what is this code supposed to do?
16:53 hmmmm err why are you adding it*
16:53 hmmmm i can see what it does
16:54 thexyz make the game not unload blocks near entities, could be useful in "carts" mod
16:55 hmmmm well how do the carts in the mod move?
16:55 hmmmm does the position increment on a step time?
16:55 PilzAdam no
16:55 PilzAdam setvelocity()
16:55 hmmmm and is the step time calculated using the usage timer
16:55 hmmmm i see
16:56 PilzAdam but the engine unloads entities that are far away, right?
16:56 thexyz i thought it unloads blocks, not entities
16:56 hmmmm by "far away", you mean an amount that's determined by the configuration
16:56 hmmmm hrmm
16:56 hmmmm i don't know
16:57 celeron55 it would make no sense at all to unload entities, because there can be an infinite number of them
16:57 PilzAdam if the player moves away from an entity it gets unloaded, even if the chunk is loaded
16:57 celeron55 but some kind of special entities should be possible like carts that do stay around
16:57 celeron55 with a "stay around" flag they won't be activated everywhere when a map loads though
16:57 celeron55 unless blocks that contain them are specially marked somewhere else...
16:58 celeron55 eh
16:58 celeron55 s/it would make no sense at all to unload entities/it would make no sense at all to not unload entities/
16:58 thexyz i was thinking of entity's flag, something like "don't unload nearest blocks"
16:59 hmmmm so there's currently no "don't unload entities" flag?
16:59 hmmmm :|
17:00 hmmmm then in reality what you should be coding is that
17:00 hmmmm line 1486, map.cpp?
17:01 hmmmm i'm sure there are more places where blocks are unloaded though.
17:01 thexyz call to resetUsageTimer should be enough
17:02 thexyz still, celeron55, where's entities unloading handled?
17:02 hmmmm yeah but that's messy, i think it would be way better if you iterate through all of the entities in a block and if none of them have the nounload flag set then it'll delete the block
17:02 hmmmm nevermind that, there's a problem with your code that ought to work in theory
17:03 thexyz ?
17:03 hmmmm oh, no, it's because the entities are being unloaded
17:03 hmmmm sorry, it's early
17:10 hmmmm from what i'm reading there already is a flag for objects so they don't unload automatically
17:10 hmmmm what on earth was celeron talking about?
17:11 thexyz where?
17:11 hmmmm ServerActiveObject::isStaticAllowed
17:11 hmmmm ()
17:11 hmmmm look in ServerEnvironment::deactivateFarObjects()
17:12 hmmmm see how it goes through all the SAOs and skips it if it's static and not forcibly being deleted?
17:12 celeron55 thexyz: entities are currently loaded and unloaded based on active blocks (the same as ABM activity)
17:13 celeron55 it's decoupled a fair bit from it though
17:13 celeron55 you should add a check for a flag in the method that unloads entities that are not in the active block area
17:14 celeron55 ServerEnvironment::deactivateFarObjects
17:14 celeron55 there is already the check for isStaticAllowed (used for player entities)
17:14 celeron55 it's just an another one
17:15 hmmmm yeah but he's talking about lua entities, not player entities.
17:15 celeron55 i know and nothing that i say meant i though differently
17:15 celeron55 said
17:15 celeron55 *
17:16 celeron55 thought*
17:16 celeron55 the official typoing day
17:16 hmmmm what
17:16 hmmmm yeah i got what you ment
17:16 OldCoder Are there Typo Tunes? Carols?
17:16 hmmmm i'm just misreading too
17:16 hmmmm so isStaticAllowed was intended to be used with player entities
17:17 hmmmm and PlizAdam's mod should really be setting the static flag on his carts
17:17 hmmmm can you do that in the lua api?
17:18 thexyz or should i just add blocks which belong to those ("do not unload") entities to m_active_blocks?
17:20 hmmmm i guess not
17:21 thexyz why?
17:21 celeron55 oh god, let me just say once more: add ServerActiveObject::usUnloadAllowed()
17:21 hmmmm you haven't said that at all
17:21 celeron55 that was what i expected people to figure from what i said 8)
17:21 hmmmm and there is no isUnloadAllowed
17:21 hmmmm er
17:22 hmmmm you said add that
17:22 thexyz the game unloads objects right after it updates m_active_blocks
17:22 hmmmm okay fine
17:22 celeron55 which part of "add" did you not understand? 8)
17:23 celeron55 there indeed is the problem of keeping the nearby blocks loaded too for the entities
17:24 celeron55 (also there is the sepearate problem of being able to load needed blocks from mods for plain node access)
17:24 hmmmm alright, so how about adding scriptapi_luaentity_set_attributes
17:24 hmmmm and then the "don't unload" flag will be one attribute
17:25 hmmmm you calling it a 'problem' makes it sound like it's difficult
17:27 celeron55 s/problem/unimplemented thing/
17:31 PilzAdam what do you think about this: https://github.com/celeron55/minetest/pull/270
17:32 thexyz is it backwards-compatible with old way to register falling nodes?
17:33 thexyz doesn't seem so..
17:33 PilzAdam this is still in default mod: https://github.com/PilzAdam/minetest_game/blob/e5502c941567e94d0f25f7d31cdf33178c2fceed/mods/default/init.lua#L1614
17:33 darkrose would be better to somehow work out if an object should be unloaded, check it's not moving and such... rather than putting in a flag that every modder will set beause they think their entities are important
17:34 celeron55 hmmmm: actually, the difficulty highly depends on who will attempt to do it; i don't really know how i should talk about such things 8) many won't be able to even start trying, and to a couple of people it's almost trivial
17:34 hmmmm darkrose, yeah but what about mobs
17:35 thexyz PilzAdam: but not in minimal, right?
17:35 hmmmm well i will say that any modification bigger than 4 lines of code is difficult, not because the coding is difficult, but because you need to decide where to put things so they're consistent and backward compatible
17:35 PilzAdam celeron55, you have to do trivial things if you whant a good game
17:35 PilzAdam thexyz, it werent in minmal before
17:36 thexyz really? how did you remove it then? https://github.com/celeron55/minetest/pull/270/files#L3L1590
17:36 hmmmm like for example how you want no global variables
17:36 hmmmm that complicates things
17:36 PilzAdam thexyz, oooops
17:37 PilzAdam thexyz, but there are no mods for minmal so there is no need to support it, i guess
17:37 PilzAdam i also switched minimal to the group falling_node
17:37 thexyz wut? mods for minimal? i thought mods don't depend on "game"
17:38 darkrose hmmmm: mobs should be a subclass of the usual entities, where that check doesn't happen
17:38 hmmmm whenever you say "a subclass" that means adding an option that could be "exploited" in the same manner
17:39 PilzAdam thexyz, i mean no one uses the minimal game with mods; the problem is that both minetest_game and minmal have default mods but they are different
17:39 PilzAdam so if you depend on default you cant be sure what game you have
17:39 PilzAdam and so most mods that depend on default mean minetest_game.default
17:39 hmmmm if someone wants to be self-important they could just if (stepcounter & 1) SetVelocity(v3s16(-1,0,0)); else SetVelocity(v3s16(1,0,0)); every step()
17:40 hmmmm er however you do that in the Lua api
17:41 PilzAdam thexyz, should i copy the code from the default mod from minetest_game to minimal to support it?
17:42 thexyz i think that yes, you should
17:44 PilzAdam thexyz, also default.spawn_falling_node? it is in the minetest_game default mod but it wasnt in default of minimal?
17:48 celeron55_ joined #minetest-dev
17:49 PilzAdam thexyz, https://github.com/PilzAdam/minetest/commit/7fcf153adab121bfd50b246f32e074adab3a3b6d
17:50 thexyz well, i guess, you should make it to work as minimal's default worked
17:51 PilzAdam it doesnt make sense when it was moved to builtin
17:51 PilzAdam games shouldnt define there own falling node anymore
17:51 PilzAdam s/when/because
17:52 thexyz anyway, my point is that none of working mods should be broken
17:52 PilzAdam with this commit it should work for every mod
17:53 thexyz have you tested it?
17:53 thexyz with at least one mod
17:54 PilzAdam yep
17:54 PilzAdam it works
17:55 thexyz then just merge it
17:56 PilzAdam this should also be merged: https://github.com/celeron55/minetest_game/pull/17
17:56 thexyz that one too
17:57 PilzAdam let me double check the code first...
18:02 PilzAdam merged
18:04 darkrose on the subject of small _game changes, this has been around for a while: https://github.com/celeron55/minetest_game/pull/18
18:04 PilzAdam yep
18:05 PilzAdam i can confirm that this works
18:07 PilzAdam darkrose, merge it
18:07 darkrose done
18:08 PilzAdam it was already done in minimal
18:09 darkrose yeah, just forgot about it in _game
18:58 celeron55 joined #minetest-dev
19:07 celeron55 joined #minetest-dev
19:16 OdnetninI_ joined #minetest-dev
19:16 OdnetninI_ left #minetest-dev
19:58 thexyz well, that doesn't work either https://gist.github.com/3996063
20:45 sfan5 celeron55: did anybody get push right to celeron55|minetest  or celeron55|minetest_game yet?
20:46 celeron55 why are you asking that from me?
20:49 thexyz sfan5: yes
20:56 sfan5 i just saw that xyzz,darkrose and PilzAdam got push rights..
20:58 toabi oh by the way, I figured out how to properly build minetest with cmake on a mac… well, nearly. two things still need manual work to have a nice app bundle. https://github.com/toabi/minetest/commits/cmake-osx
21:01 sfan5 minetest for mac os x \o/
21:02 celeron55 (just poke me when there is a new version available so i can update minetest.net)
21:03 toabi well, when I stich the last parts together by hand it works fine. like it launches and the silly Irrlicht receives the keyboard input etc, BUT there are major graphics glitches :(
21:04 OldCoder toabi, Nice; t y
21:09 hmmmm i didn't get push rights :\
21:09 hmmmm well, that's fine, i can still maintain my fork.
21:10 thexyz hmmmm: where can i obtain your fork's code?
21:11 hmmmm i haven't pushed anything important to it
21:11 hmmmm i'd rather keep it private now
21:12 thexyz well
21:13 thexyz that's fine, except that violates lgpl
21:13 hmmmm except it doesn't because it's private
21:16 SpeedProg joined #minetest-dev
21:18 thexyz really?
21:18 hmmmm yeap
21:18 hmmmm you only need to redistribute the source when you distribute it publically
21:18 celeron55 (L)GPL says "whoever you transfer binaries to, you also give the source code"
21:18 celeron55 nothing else
21:19 thexyz well, then that violates not its letter but its spirit (at least, in my mind)
21:20 hmmmm it would be unenforceable if it said otherwise.  i'd just have the option of not telling you that i made modifications to the source code and compiled it on my own
21:20 hmmmm and unreasonable in my mind too.
22:38 SpeedProg1 joined #minetest-dev
22:38 SpeedProg joined #minetest-dev
22:39 SpeedProg joined #minetest-dev

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