Minetest logo

IRC log for #minetest-dev, 2013-10-16

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

All times shown according to UTC.

Time Nick Message
00:26 OWNSyouAll_DESKT joined #minetest-dev
01:37 zat joined #minetest-dev
02:09 Miner_48er joined #minetest-dev
02:46 zat joined #minetest-dev
04:40 ShadowNinja thexyz, celeron55: IMO devs should have the +o flag in here, and maybe others, rather than just +AVt.
04:47 ShadowNinja +ir too.
05:06 neko259 joined #minetest-dev
05:30 celeron55 ShadowNinja: why? also what even is +ir?
05:31 celeron55 (i don't know how freenode is supposed to work, i'm an IRCnet guy)
06:06 darkrose joined #minetest-dev
06:06 darkrose joined #minetest-dev
07:00 NakedFury joined #minetest-dev
07:10 Ritchie joined #minetest-dev
07:11 Calinou joined #minetest-dev
07:52 iqualfragile joined #minetest-dev
08:33 Semilevel joined #minetest-dev
09:14 Semilevel joined #minetest-dev
09:21 smoke_fumus joined #minetest-dev
09:29 Semilevel joined #minetest-dev
09:36 Exio4 celeron55: +i = allows /cs invite in case the channel becomes +i (other way: +I list),  +r == that would allow them to use unban (other way: +e lists)
09:42 proller joined #minetest-dev
09:56 kaeza joined #minetest-dev
10:27 proller joined #minetest-dev
10:53 Gethiox joined #minetest-dev
11:43 celeron55 ShadowNinja, Exio4: i think i'll see what thexyz has to say
11:47 proller celeron55, merging 99% frozen 8(
11:54 celeron55 ShadowNinja: in any case i don't think devs should waste their time moderating IRC or anything else like that
12:07 hmmmm joined #minetest-dev
12:24 ImQ009 joined #minetest-dev
13:08 zat joined #minetest-dev
13:37 OWNSyouAll joined #minetest-dev
13:47 ImQ009_ joined #minetest-dev
13:49 ImQ009 joined #minetest-dev
14:05 PilzAdam joined #minetest-dev
15:02 jojoa1997 joined #minetest-dev
15:14 werwerwer joined #minetest-dev
15:17 Jordach joined #minetest-dev
15:32 Calinou joined #minetest-dev
15:38 iqualfragile joined #minetest-dev
15:47 iqualfragile joined #minetest-dev
16:07 iqualfragile joined #minetest-dev
16:16 iqualfragile joined #minetest-dev
16:21 iqualfragile_ joined #minetest-dev
16:40 NakedFury joined #minetest-dev
16:49 neko259 joined #minetest-dev
16:56 rubenwardy joined #minetest-dev
17:00 neko259 joined #minetest-dev
17:21 IceCraft joined #minetest-dev
17:28 nore joined #minetest-dev
17:31 neko259 joined #minetest-dev
17:35 proller joined #minetest-dev
17:43 nore could someone look at this: https://github.com/minetest/minetest/pull/946
17:45 celeron55 hmmh, the activity of core devs is really low currently
17:45 celeron55 maybe i should rotate these positions a bit 8)
17:47 celeron55 here goes: anyone is free to vote for somebody to be a core dev; self-votes are disallowed
17:47 celeron55 and votes are weighted based on presuppositions, racism and other politically incorrect things
17:51 proller core devs must be selected from Active Conributors
17:51 nore can #946 be merged? RBA said he was ok with it, and hmmmm said he was ok if someone else was...
17:52 proller looks ok
17:52 celeron55 it can be merged; it's more of a problem with people being lazy
17:52 celeron55 than merging it being a problem 8)
17:52 nore so, can someone merge it please?
17:53 celeron55 it would be easier if we allowed the commit history get tangled with github merge commits, but i respect PilzAdam's and other people's dislike of those
17:53 proller i can merge
17:53 nore thanks
17:53 nore oh, and will #688 be merged?
17:53 proller +1 for github one button merge
17:54 nore there were 2 core devs agreeing too, but no one merged...
17:54 proller merge commits can be grep -v when reading
17:54 kaeza merge comits clutter up history
17:54 kaeza better to avoid
17:54 celeron55 why doesn't github allow merging with rebase
17:55 kaeza ^
17:55 celeron55 the merge commit crap is ridiculous
17:55 celeron55 personally i would use it, but only because rebases are not available
17:56 celeron55 it's like choosing whether to eat old shoes or dead cats if you're starving
17:56 kaeza lol
17:56 proller history is not goal
17:56 kaeza it's fine for small projects, but once you have tons of single-commit pull requests it gets messy
17:57 proller you can filter history
17:57 nore proller: and #688, can it be merged too?
17:57 celeron55 could we implement a script that would be invoked like ./mergepull.sh 946 and it would rebase that pull and make it ready to be pushed
17:58 nore I reckon celeron55 was ok a few month ago, and RBA was ok too before...
17:58 celeron55 and publish it in wiki or something so that everyone who wants has it
17:58 celeron55 nore: i haven't looked at 688
17:59 nore haven't you? you said you were ok with it a few months ago
17:59 celeron55 well at least i don't remember anything 8)
17:59 proller 688 done
17:59 nore (I can't find the IRC log, though)
17:59 celeron55 proller: ...
18:00 celeron55 proller: this is NOT a competition about who merges pulls with least justification
18:00 proller for auto merging need to get branch name from github
18:00 celeron55 proller: you didn't have the permission of anyone else than yourself for that
18:01 proller i can revert
18:01 celeron55 you can merge like thousand rockets, but only if every rule is followed
18:04 proller Jul 31 20:58:28 <RealBadAngel>  https://github.com/minetest/minetest/pull/688 this seems to be ready to merge
18:05 celeron55 fine then, hopefully it doesn't have problems
18:07 proller for getting more devs need to increase popularity
18:08 proller https://github.com/minetest/minetest/pull/952 - week 8(
18:08 celeron55 i think this actually is a working implementation of mergepull.sh 8): https://gist.github.com/celeron55/7012185
18:10 celeron55 we don't just need more devs; we need more devs that are good
18:10 celeron55 but good devs rarely come unless there is some proper goal
18:12 proller but any dev will scare 1-2-9 moths waiting merge
18:13 celeron55 yes; goals are a way to solve that
18:13 jojoa1997 joined #minetest-dev
18:13 celeron55 because if there is a goal, then it is easy to tell whether a merge suits that goal or not
18:13 NakedFury is there  a goal right now?
18:13 proller joined #minetest-dev
18:14 celeron55 currently we have to kind of see for a long time what kind of interests builds upon a merge and what people seem to think they could get out of it before we can tell if it's good or not
18:14 celeron55 NakedFury: not really
18:16 celeron55 some devs like hmmmm have their personal goals, but nothing project-wide
18:16 NakedFury right now there are dev specific goals like RBA working on his shader thing. HMM working on the map gen but not a yeah ^^^
18:18 Semilevel joined #minetest-dev
18:18 celeron55 well-thought suggestions are welcome; people can even mail them to me personally, i don't mind
18:18 celeron55 it is in my largest interests to find some common ground for this project
18:18 proller celeron55, i cant finish liquid and weather thing, 2.5 months of waiting
18:18 celeron55 but i don't dare to just whip up something and try to feed it to people
18:18 proller and in master now anything broken
18:21 celeron55 on the other hand we have some long-standing technical issues that prevent people doing things
18:21 celeron55 namely the crappy entity system
18:22 celeron55 everyone would absolutely love it if somebody somehow crammed it into usable shape
18:22 proller falling nodes ?
18:22 proller or what entity
18:22 celeron55 the thing that is supposed to support animals, monsters and whatever
18:24 nore has anyone been able to find where the entity duplication bug is from?
18:26 proller for animals and monsters must be something highly adjustable in core
18:26 celeron55 nore: no, not that anyone has even seriously tried i guess
18:26 celeron55 the mess is mostly made by me but i'm scared too 8)
18:29 rubenwardy_ joined #minetest-dev
18:29 celeron55 what is even known about it?
18:30 celeron55 does it happen for every kind of entities?
18:32 nore Yes, IIRC (at least, both items and mobs...)
18:33 celeron55 the first step to debugging it would be to know a way to reproduce it
18:34 nore what is known is that it happens when entities cross block boundaries
18:34 celeron55 at least it's not reproducible by just dropping an item and leaving for a moment
18:34 nore and there are loadings/unloadings
18:34 proller celeron55, maybe place top5 current servers to main page?
18:34 celeron55 proller: maybe not distract this debugging
18:36 nore celeron55, I had an idea where the bug could lie once:
18:37 nore in environment.cpp, when an object is moved, it is deleted in the old block
18:37 kaeza it also happens with dropped items sometimes
18:37 nore however, if it is not found, it is not deleted
18:37 kaeza I've seen it happen when a mod error occurs
18:39 kaeza to give an example, a mod creates an entity, and as soon as it is creates, on_step() generates an error, then on next start, there are two entities there
18:39 nore is it reproducible?
18:40 kaeza hmm... does not seem reproducible though; it happens intermittently
18:41 celeron55 yeah, this really needs a case where it always happens
18:41 PilzAdam celeron55, a way to reproduce the duplication: get into a UFO, fly away so the chunk gets unloaded, get back and there waits a second UFO for you
18:42 nore I guess this could have something to do with client knowing/not knowing the object
18:44 kaeza so it seems to happen on (un)load; not if the entity is just there
18:45 iqualfragile joined #minetest-dev
18:45 kaeza by "(un)load" I mean, wherever entities are added to the list to track
18:46 nore I have another idea:
18:46 nore the object could be pending_deactivation, and then deactivateFarObjects is called with force_delete = true
18:47 nore the object is then 2 times statically stored in the block
18:47 nore could it be that?
18:49 nore (line 1799 of environment.cpp)
18:49 nore anyway, gtg
18:49 nore bye
18:55 djdduty joined #minetest-dev
18:59 Miner_48er joined #minetest-dev
19:10 VanessaE celeron55: another way to guarantee repeating the entity dupe issue:  Install homedecor, place a few signs and put some text on them.  Leave the area and come back after the area has been unloaded.
19:10 celeron55 PilzAdam: that sounds like a good way, i guess i have to try
19:11 VanessaE (homedecor redefines default signs using code by pilzadam and thexyz, such that it uses an entity to display the text)
19:20 VanessaE <offtopic> celeron55, can we please get a feature added soon to disable the wield item extrusion code? I.e. to render all items as flat or cubes or nodeboxes only?  </offtopic>
19:22 celeron55 umm... yes, as long as somebody codes it? 8)
19:25 VanessaE heh
19:25 VanessaE wield meshes are getting...er...unwieldy lately in HDX :)
19:27 VanessaE like, this image:  https://raw.github.com/VanessaE/hdx-256/master/mushroom_spore.png
19:27 celeron55 oh dog
19:28 VanessaE yeah :)
19:28 VanessaE anyway, that's offtopic.
19:39 celeron55 "SeverEnvironment" hmm
19:39 celeron55 oh, actually sewer has a 'w'
19:41 celeron55 i'm looking at a log about me flying away with a UFO and coming back
19:41 celeron55 this thing is just silly
19:42 celeron55 while re-loading the blocks it's like "oh yeah i remember there was a UFO here, i wonder where it went; well i'll just put a UFO here because that seems right"
19:44 kaeza maybe nore is right
19:45 kaeza the data is serialized twice
19:45 celeron55 well that's before it's even saved
19:45 celeron55 obviously it then saves both of the resulting UFOs but anyway
19:47 kaeza it seems ServerObjectList::serialize() iterates thru 2 lists: m_stored and m_active. it relies on the caller to manage them properly (remove from active when stored)
19:47 kaeza unless I got that wrong
19:47 celeron55 umm yes
19:48 celeron55 the two lists aren't really directly related to this
19:49 celeron55 or, kind of are
19:51 celeron55 when an object is active, it should be on the active list instead of stored list
19:51 proller joined #minetest-dev
19:54 celeron55 either the UFO doesn't get moved from the stored list to the active list, or alternatively stuff from the active list is being restored into the world... umm... actually the stored and active lists are merged when they are serialized to disk
19:55 celeron55 hmm yeah, this surely has a design flaw
19:56 celeron55 i think i can manage this somehow
19:57 diemartin joined #minetest-dev
19:58 celeron55 just before a block is being unloaded, the content of the active list should be moved to the blocks in which the entities actually are at that moment
19:59 celeron55 or something functionally similar should happen
19:59 celeron55 in such a way that the active list is always empty when the block is being saved
19:59 celeron55 umm... i mean, unloaded
20:18 zat1 joined #minetest-dev
20:20 troller joined #minetest-dev
20:21 sapier1 joined #minetest-dev
20:23 ShadowNinja celeron55: With 77 pulls and counting we definitely need more devs, but how should the nominations be managed? Perhaps a page on the dev wiki? And should people add themselves and be voted on or should they have to be nominated? That would involve people that don't accept the nomination to be removed.
20:26 sapier1 I've been busy some time too but what about organizing some sort of meeting to work through that list?
20:28 ShadowNinja Also: Who can vote/nominate? Current developers? Active contributors? All contributors? All active users?
20:29 * troller for active contributors
20:30 troller like sapier1
20:30 * ShadowNinja too
20:30 ShadowNinja As in I vote for active contributors, although the other also applies.
20:31 ShadowNinja The current devs will have a veto I suppose.
20:31 celeron55 working through lists of pull requests is not a problem if people knew what the goal is
20:31 celeron55 you don't solve development management problems by throwing more developers at those problems
20:31 celeron55 it just doesn't work
20:31 sapier1 I assume goal is to either merge, reject or request additional work at a pull request right?
20:32 celeron55 eh
20:32 ShadowNinja celeron55: One issue is that it is very dificult to get two devs to agree to something and then actuall push it.
20:32 celeron55 ShadowNinja: yes, that is solved by having a project goal
20:32 ShadowNinja +y
20:32 celeron55 then they can just look at if the pull is towards the goal
20:32 NakedFury well you can start with making the first goal towards 0.5.0
20:33 sapier1 ok so someone or some groupe has to define that goals first ;-)
20:33 ShadowNinja Fun game that runns well on old/slow hardware?
20:33 sapier1 -e
20:33 NakedFury after that first goal the devs all vote or create a new project wide goal
20:33 troller ShadowNinja, need to define "slow"
20:33 sfan5 "fun game" is not very specific
20:34 ShadowNinja Any better ideas?
20:34 NakedFury my fun game is not your fun game
20:34 sapier1 ShadowNinja you just made two major mistakes "well" and "old/slow" hardware ... both not beeing specified
20:34 troller game must be intresting
20:34 ShadowNinja sapier1: Yes, that whole sentence is very vauge, I know.
20:34 VanessaE I'd define "slow" as 1GHz or less, 1 or 2 cores.
20:34 troller intresting to explore
20:35 sapier1 correct we'd need some reference system to check against e.g. run at 1GHz single core with geforce2 and 1GB ram at 20fps
20:35 troller need to finish android port...
20:35 ShadowNinja >2ghz 2 cores could be the "Runs well" specs.
20:36 VanessaE perhaps, yeah
20:36 NakedFury could a development Goal be something like: work on the introduction of a replacement for entities system so the future inclusion of players, mobs, items not slow down the game?
20:36 ShadowNinja NakedFury: How about just the TODO. ;-)
20:37 sapier1 nakedfury that's like create a car that doesn't consume any sort of energy to move around
20:37 NakedFury its an example a goal that all developers can agree on
20:37 troller ++mobs in core (but smart)
20:38 ShadowNinja But a TODO item isn't really a goal.
20:38 sapier1 troller "mobs" is a vague thing too
20:38 sapier1 we already have mobs ... entities have everything a mob requires
20:38 NakedFury Goal: overhaul of messaging system, graphical user interface system, and admin interaction with server.    ?
20:38 VanessaE sapier1: except the AI.
20:38 celeron55 hmm, you're kind of getting stuck in small details
20:38 sapier1 yes
20:38 celeron55 how about some big things
20:39 ShadowNinja The whole entity system needs work,as c55 said.
20:39 sapier1 but AI can't be done without cpu power ;-)
20:39 troller optimize network to handle 100+ players per server
20:39 ShadowNinja NakedFury: Still just things for a TODO IMO.
20:39 NakedFury dammit
20:39 ShadowNinja troller: That's a bit high, but definitely >16.
20:40 troller now with 10 very big lags and 100% cpu use
20:40 sapier1 and yes the entitiy system is flawed ... the way they are stored is quite strange
20:40 sapier1 it's explainable by history but doesn't really fit to entities that move themselfes
20:41 VanessaE celeron55: the problem is each of us has some "big thing" that's important to us
20:41 celeron55 VanessaE: more like medium-sized thing
20:41 VanessaE get enough of those together and you have the same morass we have now with "details"
20:41 celeron55 but yes, each person has that
20:41 troller stat system can be fun (count anything perl player)
20:42 VanessaE medium-size, granted
20:42 sapier1 and unless we "sit together" and priorize those issues we won't sort out that mess :-)
20:42 celeron55 i probably need to get back to my dictator role enough to lay down some sentence defining what minetest is supposed to be
20:43 sapier1 either dictate or moderate by forcing ppl to decide
20:43 ShadowNinja But what is a goal? Is it just a prioritized TODO item? What is our ultimate goal?
20:43 celeron55 otherwise it's going to develop into some cthulhu-like mess
20:44 celeron55 (or, more like develop into nothing, as development stays slow)
20:44 sapier1 celeron55 you know all major oss projects have some sort of dictator ;-)
20:44 sapier1 if you don't like the word gate keeper may be more friendly
20:47 VanessaE Some folks [citation needed] have claimed MT lacks scalability.
20:48 VanessaE seems to me that part of an ultimate goal should include that.
20:48 celeron55 what the crap is wrong with these UFOs, they get stuck in mid-air all the time
20:48 VanessaE celeron55: also related to entity dupes.
20:48 celeron55 no it isn't
20:49 VanessaE this is a known bug with hovercrafts anyway - the duplicated object is hitting a wall somewhere.
20:49 VanessaE you move one, both move.  it's weird and totally non-intuitive.
20:49 celeron55 there is no duplicated object
20:49 VanessaE or wait, I guess you mean vertically stuck, rather than horizontally?
20:49 celeron55 horizontally
20:49 VanessaE hm
20:50 celeron55 it's like the server didn't have the block loaded... which probably is what it is
20:50 sapier1 I realized that issue when driving monorails too ... most time I found a duplicated cart right after it happened
20:50 celeron55 but it's very slow in getting to loading it
20:50 VanessaE oh right, that might be the case then
20:50 celeron55 sapier1: that and duplication are not related
20:51 VanessaE I tend to forget that a block of just air is still a block that has to be loaded.
20:52 sapier1 at least it happens in same situations as duplication occurs ... of course that doesn't imply any causal relationship
20:52 celeron55 that it does
20:53 celeron55 (because duplication occurs at block unload/load cycle)
20:53 Sokomine hovercrafts seem to have special problems with that. better take other entities for testing
20:54 Exio4 ShadowNinja: 2ghz doesn't mean the same thing in different computers
20:54 sapier1 hmm I guess I may be somehow guilty about that duplication issue as I fixed the entity loss issue ... maybe that fix triggers a duplication somewhere
20:54 ShadowNinja Exio4: Yes, GHZ isn't a really good rating of CPUs any more unfourtunately.
20:55 Sokomine doesn't matter who's guilty. it's just important that it gets fixed :-)
20:55 ShadowNinja "A scalable server" sounds like a good goal.
20:56 sapier1 I'm just a little bit confused as I didn't realize the situation celeron describes when I added that fix
20:56 celeron55 i seemed to fix the duplication problem but i'm getting some weird warnings so this is going to take some time
20:57 Gethiox2 joined #minetest-dev
20:57 celeron55 sapier1: what did you do back then?
20:57 ShadowNinja But do you think we need more devs?
20:57 sapier1 I'd have to look up but as far as I know the issue was a client did remove a entity from it's worls while server kept it active
20:58 sapier1 if player returned to that block the entity was still active for the server so wasn't sent to client
20:58 ShadowNinja Is the dev wiki a good place to manage that? Should it be nominations or voting?
20:59 celeron55 ShadowNinja: let me think about it some days
21:01 Sokomine ah yes: sample of item duplication on a server (this time menches 0.4.xer): http://mg.viewskew.com/u/sokomine/m/screenshot-3845000104/
21:01 celeron55 i think that minetest doesn't need more devs than now (even less would do just fine); it needs devs that are reasonably active and who focus on a well selected set of goals
21:02 Sokomine or here, from linuxgaming: http://mg.viewskew.com/u/sokomine/m/objektstapel
21:02 Sokomine those where all normal items/itemstacks that where dropped/left lying by players. usually do not move around apart from initial drop. it appeared that they where "sinking" into the ground
21:03 ShadowNinja This issue needs some work. The bug is confirmed and not obscure, and the thing to fix is find_spawnpos(Or whatever it is called). https://github.com/minetest/minetest/issues/953
21:03 sapier1 I found the pull the change I added was removing a object from active list in deactivateFarObjects and move it to static_objects list
21:03 sapier1 https://github.com/sapier/minetest/commit/0ac74f36e2599116897f3e27ca973162a8dbbe3f
21:10 celeron55 https://gist.github.com/celeron55/7014947
21:11 celeron55 somebody try that; if it doesn't seem to break anything, i'll push it
21:11 celeron55 you can try it in any situations where you previously could cause entity duplication
21:12 celeron55 (also it's a good idea to see if any entities are lost)
21:13 sapier1 I check the loss I know how a simple case where this occured before
21:14 celeron55 ShadowNinja: the screenshot has version 0.3.1
21:14 celeron55 it's known to have horrible spawning
21:15 celeron55 of course in case of lua mapgens, it can happen in 0.4 too; it can be improved but not perfectly solved
21:16 ShadowNinja celeron55: Then it should be closed with a note to use a more recent version.
21:17 Sokomine does applying the patch to the server only help? guess it has to be changed there? those issues mostly occour on multiplayer-servers
21:17 ShadowNinja VanessaE: May want to try ^.
21:18 Sokomine alerted her already
21:18 celeron55 it's a server-side patch
21:20 hmmmm celeron, I do have a project-wide goal but so far I haven't been able to get anything done with it
21:21 hmmmm (that is, the client-side lua api)
21:21 VanessaE ok I'll try it
21:21 VanessaE sorry, I was afk
21:21 sapier1 me too hmmm ;-)
21:22 hmmmm work keeping you busy?
21:22 sapier1 celeron55 entities don't seem to get los on deactivation
21:22 sapier1 yes hmmmm I haven't started the client side lua thing besides some theoretical thoughts. Imho it's post 0.4.8 and there's some work to be done for 0.4.8
21:24 VanessaE ok, proposed the entity dupe fix has been deployed to my servers.  I suppose a /clearobjects is in order also?
21:24 celeron55 well it doesn't get rid of previously duplicated objects
21:24 ShadowNinja ^ Agreed, we have to actually release that.
21:25 sapier1 there's some polishing to be done to modstore prior release of 0.4.8
21:25 ShadowNinja #923 and #925 need to be merged first, also #856.
21:25 Sokomine i'll try to duplicate sheep on vanessas server then. though those might use a diffrent mechanism
21:26 VanessaE my servers are busy with /clearobjects
21:26 VanessaE but feel free, once they wake up :P
21:33 celeron55 ShadowNinja: no they don't
21:35 celeron55 the uppermost of these is the only thing that blocks 0.4.8 from happening: https://github.com/minetest/minetest/issues?milestone=1&amp;state=open
21:36 celeron55 but as that list shows, the weather stuff probably needs to be sorted out before too
21:36 troller weather in master now 16384% broken
21:36 ShadowNinja celeron55: 925 has to be merged before 0.4.8 or risk breaking the API, #923 has to be merged or there will be users complaining of untraceable bugs.
21:37 VanessaE I side with shadow, those three commits are needed
21:37 VanessaE s/commits/pulls/
21:38 ShadowNinja #856 isn't quite as mandatory, but it is important and has already been agreed to.
21:38 celeron55 856 is half-designed
21:38 celeron55 it can't be merged before really thinking it through
21:38 ShadowNinja half-designed?
21:38 celeron55 if you read the linked discussion there fully, you get the idea
21:39 celeron55 because... eh, merging it would risk breaking the API, as you say it
21:39 troller i want to merge my small and tested pulls before too: #956 #952 #897 #895
21:40 ShadowNinja celeron55: Oh, 925 you mean? Any mods that used the metatables can be updated and work with ever version of the vector functions.
21:40 celeron55 ShadowNinja: 856
21:40 ShadowNinja celeron55: 856 won't break the API.
21:41 celeron55 it will have to be broken in the future because it's half-designed
21:41 ShadowNinja celeron55: Half-designed? How so? How can it be fixed?
21:42 celeron55 it can be fixed by designing it taking into account everything, as described in the lengthy discussion linked there
21:42 celeron55 just ignore it for now
21:42 celeron55 the vector stuff seems very arguable
21:43 celeron55 the speed can be improved by just not constructing the metatable again every time but using one that is allocated only once at load time
21:43 celeron55 the sanity checks are good
21:43 ShadowNinja celeron55: I made all the changes that I noticed in the discussion that you linked, re-check the diff.
21:44 iqualfragile joined #minetest-dev
21:45 sapier1 897 who shall review > 20 commits with comments as speaking as "4" or "works" or "better"??
21:46 troller dont look to commits
21:46 troller look at changed files
21:46 troller its for squash
21:46 troller https://github.com/minetest/minetest/pull/897/files
21:47 celeron55 ShadowNinja: so have you considered it for entities?
21:47 celeron55 ShadowNinja: how does the interface suit that?
21:47 ShadowNinja celeron55: minetest.is_protected(vector.round(pos)) in the apropriate function.
21:48 ShadowNinja celeron55: Just override on_drop or whatever.
21:48 sapier1 ok way more easy but why don't you just squash it ... with thos comments they're worth nothing ;-)
21:48 celeron55 ShadowNinja: how do protection mods usually implement is_protected? do they check what the actual node's content is at the position?
21:48 celeron55 ShadowNinja: if so, how can they check what the actual object is if it's not a node?
21:49 celeron55 ShadowNinja: i'm talking about eg. punching entities
21:49 troller sapier1, because it waiting more than month, it need to be updated sometimes, or maybe fixing something - and need to be squashed after every commit
21:49 celeron55 i really have no time for this at the moment
21:50 ShadowNinja celeron55: Some check the area for a particular node(A protection node, a node played by the player, etc) some check a table(areas, node_ownership, landclaim, landrush)
21:50 celeron55 i should have been sleeping for at least an hour already
21:50 ShadowNinja celeron55: The entity position is rounded to a node position and the protection is applied there.
21:51 sapier1 I don't squash all commits either troller but >20 is quite a large amount ;-)
21:51 ShadowNinja The only thing I can think of adding is support for checking if a area between two positions is protected.
21:51 celeron55 ShadowNinja: your api description (and maybe other things) talks about node placement and digging, while in fact it can be any kind of interaction
21:51 sapier1 what does the comment "now limited to 6.4" mean in GetNextBlocks?
21:52 ShadowNinja celeron55: Well that is the most common use of it.
21:52 troller sapier1, now maximum falling speed limited
21:52 celeron55 ShadowNinja: but if a protection mod expects it to be a node and it gets a position of an entity, it'll output stuff like "player tried to dig air"
21:52 celeron55 ShadowNinja: it's wrong
21:52 sapier1 any reason why it's 6.4 not 7.2 or 9.1?
21:53 troller sapier1, its like maximum 6.4 blocks per second at 0 height
21:53 troller sapier1, its like real human falling speed
21:53 celeron55 ShadowNinja: you know, people could be going to commonly have objects in their houses which they wish to protect
21:54 troller sapier1, dont try 8)
21:54 ShadowNinja celeron55: Oh, you mean on_protection_violation? That is called seperately from is_protected.
21:54 sapier1 I remember fixing a "falling" issue in collision handling I decided against a fixed value but limit by cpu power
21:54 sapier1 6.4 m/s seems to be a little bit slow to me
21:55 troller block = 16 nodes
21:55 celeron55 ShadowNinja: you have to remove references of digging and placing, or alternatively include also interaction with objects
21:55 ShadowNinja celeron55: Eg, if minetest.is_protected(vector.round(pos), name) then minetest.record_protection_violation(vector.round(pos), name) end  --> (1,2,3) is protected by SomePlayer.
21:55 sapier1 ok ok ... 364 km/h
21:56 troller sapier1, and now it depend by height, faster at 30000, slower at -30000
21:56 sapier1 still celeron keeps telling mintest engine should be usable for everything if you add such a limit you make the engine a ground engine only
21:57 sapier1 I don't see any reason why falling should be slower at -30000 than at +30000
21:57 celeron55 troller's code is consistently too limited to on-ground use, yes
21:58 troller sapier1, density of air, as in real life
21:58 VanessaE sapier1: an argument could be made that the air is thinner at +31k, so the terminal velocity is faster there
21:58 troller celeron55, i can make it adjustable if anybody wants it
21:58 celeron55 VanessaE: so, what if a game is set in space?
21:58 sapier1 if you create a space simulation there ain't any air around
21:58 VanessaE celeron55: then there should be no concept of terminal velocity at all :P
21:58 celeron55 VanessaE: or completely inside ground?
21:58 celeron55 VanessaE: that's the point
21:59 sapier1 e=mc²
21:59 * VanessaE shrugs
21:59 VanessaE not a solvable problem without a mod being able to specify min/max terminal velocity and the altitude range to which it applies I guess
21:59 sapier1 we already have some sort of speed limit as collision handling needs to be done for those fast moving things
21:59 celeron55 we shouldn't limit things unless it's absolutely necessary to keep things fairly simple
22:00 celeron55 s/to/in order to/
22:00 troller celeron55, but current falling in master have unlimited speed if all blocks loaded, and stuck every block if not
22:01 sapier1 why not fix in collision handling ? preserving old velocity to be reapplied once the colliding block is loaded?
22:01 troller its other task
22:01 celeron55 there can be terminal velocity but it should be completely settable by the game
22:01 VanessaE I just said that :)
22:01 celeron55 (like other player's movement parameters)
22:02 celeron55 also i don't even know what pull you're talking about
22:02 celeron55 also i sleep now
22:02 troller my pull based on air viscosity, its now hardcoded
22:02 VanessaE minetest.set_terminal_velocity(object, minv, maxv, min_alt, max_alt)
22:02 sapier1 if you make it configurable it'll have way more chance to be merged
22:02 celeron55 eeeeeeeh
22:03 VanessaE seems simple enough, API-wise.  Good luck coding it :)
22:03 sapier1 I suggest using config parameters not bloating api
22:04 VanessaE definitely API - what if a mod wants to alter those values over time?
22:04 celeron55 why can't you find the obvious thing
22:04 celeron55 set_physics_override
22:04 celeron55 add a parameter to that
22:04 kaeza suddenly: lag
22:04 celeron55 altough
22:04 VanessaE celeron55: or that; I've never used that feature. didn't know about it
22:04 celeron55 it's all wrong for this because they're based on multiplying defaults, and default is essentially unknown for this...
22:04 celeron55 hell
22:05 troller then need to make confugurable liquid and air viscosity
22:05 celeron55 i'd be much happier if troller just cancelled all his pull requests, they're so pain in the ass to try to fit in this thing
22:05 ShadowNinja celeron55: Docs updated.
22:06 sapier1 those I had a look at by now are feature add ons maybe we should delay them post 0.4.8 and think about how to implement them in a more generic way
22:06 VanessaE ok, regarding entity dupes: my servers have the path, both have had /clearobjects run on both and have been restarted.
22:06 celeron55 but... who came up with using MULTIPLIERS in ObjectRef::set_physics_override?
22:06 celeron55 it's complete nonsense
22:06 VanessaE any related testing can begin now.
22:07 celeron55 they should be the actual values used
22:07 sapier1 I've been driving around with my cart for half an hour now without any dup :)
22:07 VanessaE s/path/patch/
22:08 OWNSyouAll joined #minetest-dev
22:09 celeron55 if this terminal velocity thing is taken into use, it should be used like ObjectRef::set_physics_override({speed=actualvalue, jump=actualvalue, gravity=actualvalue, terminal_velocity=actualvalue})
22:10 celeron55 and the game is responsible for updating those in whatever way it wants to model it's atmosphere or whatever viscosities or whatever
22:10 celeron55 it's not minetest's issue
22:10 celeron55 and shouldn't be
22:10 celeron55 things like this should never be hardcoded
22:13 celeron55 and yes, this implies that eg. the current clouds should be disableable by game
22:13 celeron55 and everything like that
22:14 celeron55 troller: you need to fit your stuff to this way of thinking
22:14 troller ok
22:14 celeron55 it's the only way minetest makes sense
22:14 celeron55 other ways are boring crap
22:14 troller but current state is boring crap too
22:15 sapier1 having crap is no excuse for creating more crap ;-P
22:15 celeron55 of course it is boring crap; that's why we're here trying to make it less boring crap
22:15 zat joined #minetest-dev
22:15 sapier1 and we've come a long way so there's way less crap than a year ago or the year before
22:15 troller best way to solve is get viscosity from every node
22:16 troller now lava and water have hardcoded 0.3
22:16 sapier1 true but I guess that'd break map compatibility thus it's a huge change
22:16 celeron55 sapier1: what?
22:17 sapier1 adding viscosity to each node?
22:17 celeron55 lol, troller probably meant node definitions
22:17 celeron55 also it's wrong too
22:17 celeron55 you simply leave it for the game to do; there's no other sane option like i said
22:18 celeron55 or, well, node definitions multiplied by a ObjectRef::set_physics_override multiplier could work
22:19 celeron55 that could fit the needs of quite many possible uses
22:19 sapier1 so we have two ways to change either by doing a total conversion defining each node again ... can "air" be redefined?
22:20 celeron55 umm... well for this to work, it should be
22:20 celeron55 i don't think it's a problem
22:21 troller player already have liquid_viscosity, but its other viscosity
22:22 troller and its already used for stopping...
22:23 sapier1 so we already have s suboptimal solution ;-/
22:24 celeron55 managing legacy crap hasn't ever stopped us from doing things better
22:24 sapier1 of course not imho it's just another point thatd speak for delaying until after 0.4.8
22:25 celeron55 well the viscosity thing is in 0.4.7 already
22:25 celeron55 or is it?
22:25 celeron55 liquid viscosity
22:25 sapier1 I don't know 0.4.7 feels like ages ago
22:26 troller yes, its old
22:26 troller ^ viscosity
22:26 celeron55 i'm starting to think weather should be reverted and rethinked
22:26 celeron55 it has too much game-level stuff crammed into the engine
22:27 celeron55 it's just wrong and makes kittens cry
22:27 troller where wrong?
22:28 troller game level only content_abm.cpp
22:29 celeron55 i guess mostly those
22:29 celeron55 they should at least be completely disableable by game
22:30 celeron55 the built-in weather altogether
22:30 troller its completely disableable by config
22:30 celeron55 no config
22:30 celeron55 game.
22:30 troller its add one string
22:30 celeron55 if i make my space game, i don't want to tell users they need to configure minetest so that they don't get rain in space
22:30 celeron55 it's ridiculous
22:31 troller rain is mod
22:31 troller dont include it to your game
22:31 celeron55 hmm, so you're saying this should work fully as expected for a space game?
22:32 celeron55 if so, then it's good
22:32 VanessaE the temperature and humidity perlin settings still need to be tuned to match plants_lib...
22:32 troller now fog humidity-depend if weather enabled
22:32 celeron55 but if you're lying, i'll punch you!
22:32 troller and melting-freezing
22:33 celeron55 how is humidity and temperature determined?
22:33 troller by hmmmm's biomes
22:33 troller +- season changes
22:33 celeron55 can a game specify them in any way it likes? i'd like zero humidity in free space and some on top of planets 8)?
22:33 VanessaE https://github.com/VanessaE/plantlife/blob/master/plants_lib/init.lua (lines 22-30)
22:34 troller celeron55, now - looks not, but its near biomes definition
22:34 celeron55 okay so that would be handled by biomes
22:34 troller now only by config
22:35 VanessaE and plants_lib interprets those figures thusly:  https://github.com/VanessaE/plantlife/blob/master/API.txt#L530
22:35 celeron55 VanessaE: i don't think syncing some noise parameters of a mod and the engine makes sense
22:35 celeron55 the mod should just get them from the engine
22:36 celeron55 ...the resulting values
22:36 VanessaE celeron55: it makes sense because my mod and SPLizard's snow mod already established these params ages ago.  To change them now means shit grows in the wrong places.
22:36 VanessaE like palm trees getting buried under a meter of snow, etc.
22:36 troller VanessaE, simple solution: start new world ;)
22:37 celeron55 ugh
22:37 celeron55 whatever, you solve it yourselves
22:38 celeron55 troller: so now: remove everything from your pull requests that conflict more with that space thing
22:38 celeron55 because they're not allowed, because they lock the engine down to smaller scope of things which is undesirable
22:38 troller only add game no_weather option check
22:39 sapier1 I want aseroid showers! ;-)
22:39 sapier1 +t
22:39 VanessaE ha!
22:39 celeron55 troller: i don't understand what that means
22:40 celeron55 game add weather option_no check minetest already mod params sense snow
22:40 troller game can redefine config value?
22:40 celeron55 it can't
22:40 celeron55 it isn't allowed to
22:41 celeron55 i mean, it can but it's bad behavior of a game
22:41 celeron55 some things at the moment are really bad from this standpoint, like map generator selection
22:42 celeron55 aactually
22:42 celeron55 no, that can be selected
22:42 celeron55 well so should be weather anyway
22:43 celeron55 things are constantly turning out better than i thought they were 8)
22:44 sapier1 mapgen is world specific as far as I know
22:44 celeron55 a game can force it by using minetest.register_on_mapgen_init
22:44 sapier1 overwriting the mapgen in world? wow
22:45 celeron55 of course
22:46 sapier1 hmm I thought thatd result in mixing mapgens but a world always has a game attached so this doesn't happen
22:46 VanessaE there's one mod that does that.
22:46 VanessaE um..
22:46 jojoa1997 joined #minetest-dev
22:47 VanessaE oh that experimental mapgen nore is working on.  it forces the mapgen to singlenode
22:47 VanessaE and it's just a plain mod afair, not a "game".
22:47 celeron55 well, a game is mostly just a collection of mods so... same thing
22:47 troller server must send to client weather flag and clouds params
22:47 sapier1 true a game can't call a lua api
22:47 VanessaE right
22:48 sapier1 so first or last mod setting mapgen will win? *g*
22:48 celeron55 troller: it should be possible to have clouds without weather
22:49 celeron55 troller: but yes, i guess it has to be transferred to the client like that
22:49 troller its separate things,
22:49 troller but for good clouds need many params
22:50 celeron55 maybe it makes sense to hardcode the cloud noise and just transfer the seed and position for now
22:51 celeron55 ehm... dunno, really
22:51 troller i want weather-defined cloud with colors, etc
22:51 troller it was already 2 years ago
22:52 VanessaE +1
22:52 troller https://github.com/TeddyDesTodes/minetest/tree/weather
22:52 troller http://www.youtube.com/watch?v=7foJg52ZFA0
22:54 troller for config: maybe make layer of lua-defined not saved to .conf params?
22:54 zat it is that the video card is very good or it is the first time I see a weather feature actually performant.
22:55 VanessaE troller: oh that is BEAUTIFUL
22:55 VanessaE what the hell happened?
22:56 troller g_settings->get('aa') - first check lua-setted 'aa', and then 'aa' from conf
22:56 celeron55 it's a native C++ client-side implementation
22:56 troller ^ with sending all lua-settes do client
22:56 celeron55 troller: WHAT
22:57 zat joined #minetest-dev
22:57 celeron55 it's possible to do very scary stuff with settings
22:57 celeron55 there's no way a server should be able to set any of them on the client
22:59 celeron55 or, well, there could be a whitelist, but that sounds hacky
22:59 VanessaE well at least some settings make sense.
23:00 troller but it better than send various settings by special separate packets
23:00 VanessaE cloud height (or existence)
23:00 VanessaE fov has been discussed.
23:00 VanessaE there are others.
23:00 troller fog
23:00 celeron55 there should be an another namespace for those that the client handles explicitly without mixing settings
23:02 troller but it need something like double gets    g_settings->get('aa') || c_settings->get('aa')
23:02 celeron55 you need special handling for it anyway for smooth changes and whatever
23:03 celeron55 on other words just overlaying the settings is a hack
23:03 troller better: c_settings->exists('aa') ? c_settings->get('aa') : g_settings->get('aa')
23:04 troller need to go sleep, bye
23:04 celeron55 s/on/in/
23:05 celeron55 i really hate trying to collaborate on protocol design
23:05 celeron55 the only thing that comes out of it is headache
23:06 VanessaE sadly :(
23:06 celeron55 i guess i'll go sleep with my headache now at 2 AM ->
23:07 * troller 03:06
23:54 OWNSyouAll joined #minetest-dev

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