Minetest logo

IRC log for #minetest-dev, 2013-02-09

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

All times shown according to UTC.

Time Nick Message
02:20 hmmmm celeron55, when you're around, i'd like to know how you feel about moving debug stream initialization to _after_ the config file is read
02:20 hmmmm also, kind of wondering why sockets_init() is called in between setting default settings and reading the config file
02:21 hmmmm is there a specific reason for that?
02:53 hmmmm well whatever, nevermind, i just did it
02:54 hmmmm https://github.com/kwolekr/minetest/commit/f74cc107af0f6d9c9f2988d6bfbb63a93f989382  here, if you'd like.. set debug_log_level to 0 for no logging, or 1 for dstream and errorstream, 2 for action and higher, 3 for info and higher, 4 for verbose and higher
02:58 hmmmm shoot i left commented dead code in there.. here's the version i would actually put in master:  https://github.com/kwolekr/minetest/commit/3ff37437463cbfb6d5413d3a23df6f9b8532638c
03:40 VanessaE if anyone gives a damn:  https://github.com/celeron55/minetest/issues/476
05:17 hmmmm vanessa sorry, not my area.
05:17 VanessaE it's okay
05:17 hmmmm man i kinda wish i'm able to quickly determine if a block exists on disk or not without needing to do disk access.
05:30 hmmmm i think it would be beneficial, in the long run, to store some kind of data structure along with the map blocks that would represent which exist or don't exist, or maybe it can be constructed in memory on map load based on an enumeration of all keys
05:32 VanessaE well there's always the old way:
05:32 VanessaE use a bitmap.
05:32 VanessaE but that would still be huge
05:32 hmmmm yes, it takes 8gb to do that.  so obviously it's out of the question.
05:33 hmmmm i've been thinking of combining a simple BST that holds a range
05:33 ecube joined #minetest-dev
05:33 VanessaE what about a per-block bitmap?  Something you can load when the mapblock is loaded, and just keep in memory otherwise
05:33 VanessaE and just flush it out the way you would excess mapblocks
05:33 hmmmm uhh. you miss the point
05:34 VanessaE well no, I get your point.
05:34 VanessaE but ultimately you have to generate that data somehow.
05:36 hmmmm anyway you have a BST where the key is the beginning address and the value is the length of the run or whatever
05:37 VanessaE sounds like a variation of RLE compression.
05:37 hmmmm mapblock address goes in, finds the slot where it should go
05:37 VanessaE but anyway
05:37 hmmmm grabs the node to the left of that and checks if it's below the end range
05:37 hmmmm great
05:38 hmmmm no that's not great
05:38 hmmmm it'd be segmented in parts for separate Y and Z no doubt
05:38 hmmmm the only parts that would get combined in the range are the X
05:39 hmmmm so how do i do a 3d range...
05:39 hmmmm octree!
05:40 hmmmm seems like a lot of work just to do what i would like to do, but the speed benefit would be great since you wouldn't have to do a check on disk every time you want to see if something needs generation or not
05:41 hmmmm and then you'd be able to know which blocks to emerge from disk
05:41 hmmmm so you'd be able to enqueue it on its own disk access thread
05:42 VanessaE two questions remain though:  How would you acquire the data to build this octree from, and what do you do if it grows too large?
05:42 VanessaE s/how/where/
05:43 hmmmm it wouldn't grow 'too large'.. the only way it'd get too large is if there was a checkerbox pattern of non-generated blocks which is impossible unless you programatically generated the map in that manner
05:43 VanessaE ok, sounds fair enough
05:44 hmmmm but you can find a way to abuse pretty much anything if you try
05:44 VanessaE don't I know that ;-)
05:44 hmmmm i would get the data to build the tree on map load.. i would just enumerate all keys
05:44 hmmmm anyway that's in the backburner but it's an idea
05:45 VanessaE right.  that's more or less what I was suggesting earlier when I said "Something you can load when the mapblock is loaded"
05:45 VanessaE so we agree ;)
05:45 hmmmm as it stands now, all emergethreads will have to do disk access since we can't tell if it exists on disk without checking on disk
05:46 hmmmm interpolated "blocking disk io" - "computation" like that would decrease performance
05:46 hmmmm because you could be doing CPU work while it's waiting for the disk to do something slow
05:47 hmmmm my ultimate vision for minetest is to have dedicated compute emergethreads and a single dedicated disk i/o emergethread, and to do that it'd be absolutely necessary to be able to figure out if a block exists already only by looking at memory
06:22 kotolegokot joined #minetest-dev
08:27 celeron55 VanessaE: itemstack is a copy of the stack
08:28 celeron55 after modifying it, you need to copy it back
08:41 darkrose joined #minetest-dev
08:51 darkrose joined #minetest-dev
08:51 darkrose joined #minetest-dev
09:26 RealBadAngel celeron55, use exeact code with on_punch and it will work
09:26 RealBadAngel something in on_rightclick just restores user wielded item
09:27 RealBadAngel no matter what you will do
09:29 RealBadAngel i guess after the code is called it is also executed part of the code like user wasnt able to place wielded node, so no change to it is applied
09:38 iqualfragile joined #minetest-dev
09:58 rsiska joined #minetest-dev
10:02 PilzAdam joined #minetest-dev
10:40 darkrose joined #minetest-dev
10:40 darkrose joined #minetest-dev
10:47 iqualfragile im getting some strange light-level related bug on my server, is someone willing to investigate?
11:09 iqualfragile well, have some screenshots: http://imgur.com/a/9FLTI
11:12 rubenwardy joined #minetest-dev
11:18 ffoxin joined #minetest-dev
12:15 iqualfragile1 joined #minetest-dev
13:29 ffoxin joined #minetest-dev
14:44 PilzAdam seems like backface_culling isnt read correctly in special_tiles
14:44 PilzAdam https://gist.github.com/PilzAdam/4745506 <- this never fails
14:48 hmmmm joined #minetest-dev
15:00 Taoki Back to working on the physics. Getting Y speed to use acceleration when in free-move mode or swimming... much more realistic now
15:03 VanessaE it might be nice for fly speed to peak at a higher speed than we have now, as long as you're tweaking tht
15:03 VanessaE that*
15:04 Taoki I'm only trying to get Y movement to work the same as X and X movement (as in use acceleration). Currently going up or down just sets the speed
15:05 Taoki *X and Z
15:25 hmmmm you know i'm looking really long and hard at the emerge queue, and i question whether or not you actually need to keep track of which clients asked for which blocks
15:26 hmmmm i say:  no, it's completely, 100% unnecessary
15:26 hmmmm gonna remove that whole thing.  i don't understand why BLOCK_EMERGE_FLAG_FROMDISK would ever be set in the first place, and even if it were, no idea what's wrong with just generating the damn thing no matter what
15:30 ffoxin joined #minetest-dev
15:36 ffoxin joined #minetest-dev
16:22 Calinou joined #minetest-dev
16:54 ffoxin joined #minetest-dev
17:17 VanessaE celeron55: question.  People seem to be running up against limits on the existing texture atlas more and more lately.  It is possible to increase its maximum size?  If not, can we finally just disable it by default?
17:23 * Calinou says: disable it by default
17:23 VanessaE s/it is/is it/
17:23 Calinou even on my netbook it gives no performance increase, so why enable it :P
17:31 SpeedProg joined #minetest-dev
18:06 hmmmm you can play minetest on a netbook!??!
18:42 ffoxin hmmmm: why not since it's a native c++, not heavy java or whatever
18:44 Calinou hmmmm: yes
18:45 Calinou some random asus netbook from 2011, intel atom N455, 1GB RAM
18:45 Calinou playable on multiplayer and singleplayer
18:45 Calinou disable fancy trees and clouds :P
18:45 Calinou and use fullscreen for added performance too
18:52 rsiska joined #minetest-dev
19:20 RealBadAngel https://github.com/celeron55/minetest/pull/478
19:20 RealBadAngel fix to bug VanessaE reported
19:20 RealBadAngel can somebody merge it?
19:22 PilzAdam add: "return: itemstack" to lua-apit.txt
19:23 RealBadAngel where?
19:23 PilzAdam on_rightclick()
19:25 RealBadAngel why should i? i just fixed the bug, not added new content
19:26 PilzAdam your patch lets item_place() return the return value of on_rightclick()
19:26 PilzAdam and the return value of item_place() is the leftover itemstack
19:27 ffoxin joined #minetest-dev
19:28 RealBadAngel i have no idea how to describe it properly
19:28 RealBadAngel can you do that?
19:30 PilzAdam the return value of item_place() is the leftover itemstack of the wielded item; on_rightclick() shouldnt access it
19:31 RealBadAngel ??
19:31 RealBadAngel sorry i dont get you at all
19:32 RealBadAngel this is meant for such use
19:33 hmmmm ffoxin, that's completely irreleveant information.
19:35 RealBadAngel PilzAdam, youre tryin to tell me that bug is a feature?
19:36 PilzAdam no, I say fix it in a different way
19:36 RealBadAngel rotfl
19:36 RealBadAngel no comments
20:12 Taoki joined #minetest-dev
20:27 SpeedProg1 joined #minetest-dev
20:30 RealBadAngel PilzAdam, fyi theres no other way to fix it because item_place with returnin itemstack will override anything user will do with wielded item
20:31 PilzAdam move the call of on_rightclick() somewhere before item.on_place() is called
20:31 PilzAdam this will also fix VanessaE's other "bug"
20:31 RealBadAngel which one?
20:32 PilzAdam she doesnt like that on_rightclick() is called in on_place()
20:33 iqualfragile joined #minetest-dev
20:33 iqualfragile1 joined #minetest-dev
20:34 iqualfragile joined #minetest-dev
20:48 ffoxin joined #minetest-dev
20:57 sfan5 critical bug:
20:57 sfan5 /home/stefan/mt-build/build/c55/celeron55-minetest-a27857e/po/pt/minetest.po:412: »msgid«- und »msgstr«-Eintrag enden nicht jeweils mit »\n«
20:57 sfan5 ...
20:58 PilzAdam sfan5, if make doesnt update the .mo files it doesnt produce this error
20:58 sfan5 i know, but that doesn't help
20:58 sfan5 translated message:
20:58 sfan5 /home/stefan/mt-build/build/c55/celeron55-minetest-a27857e/po/pt/minetest.po:412: »msgid«- and »msgstr« entries do not end each with »\n«
21:01 PilzAdam sfan5, fixed in weblate, now tell thexyz to merge it
21:16 hmmmm so why are duplicate blocks allowed to be added to the BlockEmergeQueue if the peer_id is 0?
21:16 hmmmm i don't think that's right at all.
21:22 RealBadAngel PilzAdam, on_rightclick is not called when node is placed. moving the code somewhere else is pointless. IMHO on_rightclick shall be called instead with itemstack too, and expect returning it
21:23 RealBadAngel because rightclick is anyways action taken with item in hand
21:24 VanessaE the natural result of a rightclick in the game is to place an item on the ground and decrement the count of that item in the player's inventory.
21:24 VanessaE so being able to do inventory management is crucial to maintaining consistency.
21:27 RealBadAngel http://pastebin.com/Atd1x3a8
21:28 RealBadAngel modified code and example usage
21:28 RealBadAngel itemstack is being passed to rightclick, and it can modify it when needed
23:13 RealBadAngel https://github.com/celeron55/minetest/pull/481
23:14 RealBadAngel PilzAdam, ive pushed it again with slight changes, update to api doc
23:14 RealBadAngel change doesnt break old mods using on_rightclick without itemstack parameter
23:15 RealBadAngel so, if you want to change itemstack, just define function with it, and be sure to return it
23:16 PilzAdam why return the itemstack?
23:16 PilzAdam (in on_rightclick())
23:17 PilzAdam its call by reference, so just modify the param passed to the function
23:17 PilzAdam and item_place() does; on_rightclick(..., itemstack); return itemstack;
23:17 RealBadAngel if you will modify it, then return it
23:18 RealBadAngel back to item_place and whatever called that
23:18 RealBadAngel any other way wont work
23:19 PilzAdam wrong
23:19 PilzAdam since itemstack is call by reference, you dont need to return it
23:20 RealBadAngel i will try
23:24 RealBadAngel PilzAdam, as i said, youre wrong
23:24 RealBadAngel dont believe, try the code please
23:27 PilzAdam it works for me
23:28 PilzAdam https://gist.github.com/PilzAdam/4747568
23:28 PilzAdam ^ this works
23:29 RealBadAngel rotfl
23:29 RealBadAngel you just made the same i did
23:29 RealBadAngel but in 2 lines instead of 1
23:29 PilzAdam no, because i dont need return itemstack in on_rightclick()
23:30 RealBadAngel maybe you dont
23:30 RealBadAngel but players do
23:31 RealBadAngel function is screwed, i dont know who did it. and you dancin around the problem
23:31 RealBadAngel it has to be returned when changed
23:32 RealBadAngel dont like my code (pfft a few lines) then code it
23:32 RealBadAngel but stop makin troubles
23:32 RealBadAngel as modder you were excellent
23:33 RealBadAngel but as developer you suck big time
23:33 RealBadAngel period
23:33 RealBadAngel good night
23:34 PilzAdam RealBadAngel, I just try to keep things consistent
23:35 VanessaE consistency must, by definition, include being consistent with what modders expect a function to do based on what the API says *and does not say*
23:35 PilzAdam and after_place_node() also gives a reference to the itemstack
23:44 RealBadAngel can somebody push that oneliner fix to make things work?
23:45 VanessaE yes, pleas edo
23:45 VanessaE I already have two mods that depend on it
23:45 VanessaE (else there are duplication bugs)
23:50 VanessaE good, that worked.
23:51 RealBadAngel what?
23:51 VanessaE homedecor git updated
23:51 VanessaE just had to remove a rogue item from creative inventory (fences with signs should not be there in practice)
23:53 RealBadAngel im testing now 24 facedirs
23:53 RealBadAngel everythin seems to be workin
23:53 VanessaE crap, that last bit was supposed to be in a different window.
23:53 VanessaE sorry about that guys.
23:53 VanessaE RBA, back to query.
23:53 RealBadAngel hehe ok

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