Minetest logo

IRC log for #minetest-dev, 2014-11-27

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

All times shown according to UTC.

Time Nick Message
00:51 paramat joined #minetest-dev
01:00 ImQ009 joined #minetest-dev
01:19 paramat hi hmmmm i followed your advice and used bright nodes enabled in all biomes, but can't get noise varied decoration density to work. i suspect i have the wrong format here https://gist.github.com/paramat/05d14c973db2dfc080cb because changing or even removing the noise parameters has no effect, decorations have a constant density with average separation of roughly 8
01:20 ImQ009 joined #minetest-dev
01:21 hmmmm oh pfg
01:21 hmmmm you have the wrong key for the noiseparams
01:21 hmmmm it's not np, it's noise_params
01:21 hmmmm lol
01:21 paramat oh cool
01:21 hmmmm i just cross checked with my test decoration script
01:22 paramat thanks
01:22 hmmmm i assume that means lua_api.txt is wrong
01:23 paramat i made a start on default biomes for mgv5/v7 https://github.com/paramat/minetest_game/commits/mgv5biomes trees are placed as saplings, papyrus and cacti are 1 node high, pine trees are coming soon
01:24 paramat erm lua api txt has no documentation for biome API?
01:30 paramat hmmmm you were asking for an idea of how to make schematics. making them in-game and then saving is good and intuitive, but the probability list is awkward. how about the player crafting then placing nodes with built-in chosen probabilities, maybe as meta-data? these are then read when saving the schematic
01:43 paramat not crafting ... better to have a tool that when used on a node reduces it's probability from 255 in steps of say 16
01:47 paramat that could be done in lua, core code then reads node metadata as per-node probabilities
02:03 n3mss joined #minetest-dev
02:13 paramat agh! decoration noise parameters are indeed correctly documented in lua-api.txt, how embarassing, i had assumed they weren't and didn't look
02:30 hmmmm paramat, yeah, the biome api is not there because it was never officially 'released'
02:31 hmmmm you're right about the node probability thing, a tool would work well there
02:32 hmmmm thing is that can all be done in lua... I wrote the worldedit mt schematic commands, but i'm sure somebody more devoted to worldedit could improve it
02:32 hmmmm i hoped somebody would come along and improve it anyway but it seems like nobody has
02:33 hmmmm either way, probability y-slices are completely unimplemented by anybody as far as i know
02:33 hmmmm (this is how you have a tree have variable heights, for example)
02:33 paramat i will use that certainly
02:34 hmmmm the tree model I've been using right along doesn't have y-slice schematics because I'd have to create a new one
02:34 hmmmm y-slice probabilities i meant to say
02:36 exio4 joined #minetest-dev
02:39 paramat hmmmm, line 2676 https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L2676 can the per-node probability list be added here too, currently it seems y-slice list only
02:43 Wayward_One joined #minetest-dev
02:55 paramat bbl
02:55 paramat left #minetest-dev
04:04 Megaf_ joined #minetest-dev
04:09 paramat joined #minetest-dev
04:11 Taoki joined #minetest-dev
04:17 domtron joined #minetest-dev
04:21 OldCoder joined #minetest-dev
04:33 domtron_ joined #minetest-dev
04:36 domtron_ joined #minetest-dev
05:31 sol_invictus joined #minetest-dev
06:03 Zeno` for comment: https://github.com/Zeno-/minetest/commit/8bae5c9f520417c9cc6c3269f4125882b70ac199
06:16 kahrl Zeno`: I don't have the energy to look at it in detail right now, but is const MapNode& really an improvement over MapNode?
06:16 hmmmm of course not
06:16 kahrl I mean MapNode is just a 32 bit number
06:17 kahrl also v3s16 is essentially just a 48 bit number
06:17 Zeno` No it's not
06:17 Zeno` It is now, yes
06:17 kahrl Zeno`: once the compiler has inlined and optimized the copy constructor, it is
06:18 Zeno` Well I can get rid of all of those
06:18 Zeno` the real thing I was looking at was copyFrom
06:19 Zeno` but you know what? Making the v3s16 does make an insignificant difference
06:20 Zeno` making it const&
06:20 hmmmm maybe on 32 bit machines
06:20 Zeno` Maybe that's it
06:21 Zeno` It'd make a small difference on 64-bit as well with unaligned data
06:21 Zeno` Not that I'm really concerned about micro-optimisation
06:22 hmmmm unless you're doing something really odd intentionally, you're always going to have things aligned properly
06:22 Zeno` correct
06:23 Zeno` The only big speed difference is voxel.cpp changes anyway
06:23 Zeno` Which is probably all I'll put in a PR when I get to it
06:24 Zeno` (my branches are not PR worthy most of the time, which is why I didn't make it a PR yet hehe)
06:24 kahrl from what I can tell it looks correct
06:28 Zeno` I don't think gcc constructor optimisation is doing a good job heh
06:28 Zeno` I'll look at the asm more closely later tonight
06:29 hmmmm yeah people often take gcc optimization for granted but i've been quite disappointed often
06:32 Zeno` It does a good job 99.99% of the time
06:32 hmmmm what would you expect it to do with code like
06:32 hmmmm if (strlen(foo) < sizeof(buf)) strcpy(buf, foo);?
06:33 hmmmm it outright refuses to inline both and optimize the result no matter how hard you cajole it to inline common string functions
06:33 hmmmm just an example, but i've seen other issues similar to this
06:34 Zeno` I guess... but strlen iterates and strcpy (in glibc at least) is a single CPU instruction (after some fancy byte aligning stuff)
06:35 hmmmm are you sure gcc uses that?
06:35 Zeno` did last time I looked
06:35 Zeno` about a year ago
06:35 hmmmm on modern architectures it's faster to write risc-y code rather than rep mov* instructions
06:36 Zeno` it's a SIMD instruction I think
06:36 hmmmm by modern I mean like even the athlon 64 optimization guide recommends you to prefer a mov/cmp/jxx sequence over rep movsb
06:36 Zeno` hmm not that
06:36 hmmmm string SIMD functions?
06:37 Zeno` nah, I was thinking of something else
06:37 hmmmm well i'm not aware of any such things in SSE2 or prior
06:38 hmmmm oh
06:38 Zeno` Maybe I'm thinking of BSD libc... I can't for the life of me remember, but I do remember looking at it
06:39 hmmmm what i was looking at in particular was more along the lines of
06:39 Hunterz joined #minetest-dev
06:39 hmmmm strcpy(foo, bar); foo += strlen(bar);
06:39 hmmmm the latter strlen could be trivially optimized into a single subtraction if strcpy() were inlined
06:39 Zeno` I was thinking of memcpy() and not strcpy() as well lol
06:40 hmmmm yeah, that's a little different...
06:40 Zeno` yeah ok, that's something I would expect
06:40 hmmmm microsoft visual C inlines memcpys by using the rep mov** way
06:40 hmmmm like
06:41 hmmmm mov ecx, len///shr ecx, 2///rep movsd///mov ecx, len////and ecx, 3///rep movsb
06:41 darkrose joined #minetest-dev
06:41 hmmmm at least as of 2008
06:41 hmmmm kind of disappointing
06:43 paramat `=i have segfaults each time
06:43 paramat oops
06:44 paramat .. i try to use manually coded schematics https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L2678
06:44 paramat `=P
06:45 Zeno` I still think passing the v3s16 stuff as const& is better even if it's not faster, just so it's obvious they're not modified
06:45 Zeno` perhaps gcc is more aggressive with const& optimisations as well (who knows)
06:48 paramat so i have noise-varied decoration density working but now manually coded schematics segfault with seemingly nothing suspicious in verbose debug.txt, my code https://gist.github.com/paramat/b5ecdfd28296bed6e582
06:49 hmmmm you know zeno`, a value v3s16 might be faster due to cache locality
06:49 Zeno` It might be
06:49 hmmmm what if the v3s16 you're referencing is in an object on the heap that happens to fall out of the cache rather quickly
06:49 hmmmm whereas on the stack it'd be better
06:50 Zeno` I'll remove those but I'll check the asm as well (just for my own interest/learning)
06:50 Zeno` yes, that's true
06:50 hmmmm or maybe if all the pieces of data it's working with are on the stack in the same cache line, freeing up cache to be used for something different
06:50 Zeno` since they're tiny objects you're most likely right
06:50 hmmmm hey paramat, do you have a backtrace?
06:51 hmmmm i don't doubt there's a problem with schematics because i did a lot with them recently
06:54 paramat i don't know what a backtrace is, you want to see the end of debug.txt?
06:54 paramat there were no error messages
06:55 paramat i haven't tried a 'debug build'
07:19 Zeno` no time like the present to learn :)
07:24 Megaf joined #minetest-dev
07:30 paramat yeah i probably will soon
07:30 paramat left #minetest-dev
08:17 DFeniks joined #minetest-dev
08:30 Zeno` joined #minetest-dev
08:30 Zeno` weird. I didn't even realise I was disconnected
08:34 kilbith joined #minetest-dev
09:14 compunerd joined #minetest-dev
09:15 ImQ009 joined #minetest-dev
09:25 khonkhortisan joined #minetest-dev
09:49 compunerd joined #minetest-dev
09:54 Amaz joined #minetest-dev
09:56 SmugLeaf joined #minetest-dev
09:56 SmugLeaf joined #minetest-dev
10:09 ImQ009_ joined #minetest-dev
10:09 exio4 joined #minetest-dev
10:11 deltib joined #minetest-dev
10:19 Zeno` any comments on #1707 ?
10:19 ShadowBot https://github.com/minetest/minetest/issues/1707 -- Right mouse button behaviour for craft/inventory by Zeno-
10:21 exio4 joined #minetest-dev
10:29 Megaf Zeno`: I don't undertand that
10:29 Zeno` ?
10:30 Megaf I don't get what you mean
10:30 Zeno` It changes how "auto drop" works
10:30 Zeno` e.g. at the moment right click (mouse) on something in yuor inventory and drag it around, over empty slots and also non-empty slots
10:30 Zeno` observe the behaviour
10:31 Zeno` the patch changes that behaviour to only work if you right-click, release, and right-click hold
10:33 Megaf Zeno`: I have never noticed that...
10:33 Zeno` e.g. at the moment right click (mouse) (and hold it*) on something in yuor inventory and drag it around, over empty slots and also non-empty slots
10:33 Megaf Why would I drag an item arround with right click :S
10:33 Zeno` it was added a few months ago and I think it's terrible
10:34 Megaf Who are taking such stupid decisions?
10:34 Megaf common
10:34 Megaf first we can no longer build where we stand, and now this
10:34 Megaf they are just turning minetest in another thing that is no longer minetest
10:35 Megaf changing its all default behaivour
10:35 Zeno` this new patch changes the behaviour as well, but it's much closer to how it was before
10:35 Megaf Zeno`: Can't you totally disable that?
10:36 Megaf I see no point in keeping that
10:36 Zeno` *shrug*, click, hold, click-hold requires a conscious decision. If you don't do it will behave as before
10:36 Megaf usually we want to make room in our inventory, instead of illing everything and using all the space
10:36 Zeno` well, it can be handy for dividing up items but as it is (before the patch) it's totally broken (IMO)
10:37 Megaf Zeno`: I actually have been thinking on another thing. At the moment when you left click an item in your inventory you take it and hold it, I think it should only grab if you keep the left button pressed, and let it go when you drop it
10:37 Megaf or something like that
10:38 Zeno` well that's a similar issue
10:38 Zeno` atm the left and right mouse buttons behave differently
10:38 Zeno` which is crazy
10:39 sol_invictus joined #minetest-dev
10:39 Megaf I like the wayt right click graps half of the stack, that is quite useful
10:39 jin_xi joined #minetest-dev
10:39 Zeno` here is the commit: https://github.com/minetest/minetest/commit/f6321e277bc423a0878ae239a73ad2cd6393106c
10:39 Zeno` yes, my patch still does that
10:41 Zeno` https://github.com/minetest/minetest/pull/1661
10:42 Zeno` There was more discussion that I cannot find
10:42 Zeno` ShadowNinja said he'd support things if it behaved the way my PR behaves
10:42 Megaf I upvoted already
10:44 ImQ009 joined #minetest-dev
10:45 zat joined #minetest-dev
10:48 Zeno` Here we go: https://github.com/minetest/minetest/pull/1704
10:48 Zeno` see ShadowNinja's comment on Oct 1
10:48 Zeno` and that is what my patch does
10:51 Zeno` so, effectively, SN has already said ok to my patch
10:51 Megaf all right
10:51 Zeno` But I'd like confirmation heh
11:15 selat joined #minetest-dev
12:13 FR^2 joined #minetest-dev
12:37 Megaf joined #minetest-dev
13:08 SudoAptGetPlay joined #minetest-dev
13:19 PenguinDad joined #minetest-dev
14:31 cg72 joined #minetest-dev
14:31 cg72 joined #minetest-dev
14:31 cg72 left #minetest-dev
14:41 compunerd joined #minetest-dev
14:58 johnnyjoy joined #minetest-dev
14:59 johnnyjoy joined #minetest-dev
15:07 psedlak joined #minetest-dev
15:08 kaeza joined #minetest-dev
15:18 twoelk joined #minetest-dev
15:31 johnnyjoy1 joined #minetest-dev
15:33 Hunterz joined #minetest-dev
15:37 johnnyjoy joined #minetest-dev
15:52 Zeno` joined #minetest-dev
16:07 CraigyDavi joined #minetest-dev
16:12 cg72 joined #minetest-dev
16:13 cg72 left #minetest-dev
16:27 Calinou joined #minetest-dev
16:33 rubenwardy joined #minetest-dev
16:57 hmmmm joined #minetest-dev
17:14 MinetestForFun joined #minetest-dev
17:17 Hunterz joined #minetest-dev
17:33 gravgun joined #minetest-dev
17:52 NakedFury joined #minetest-dev
18:05 Krock joined #minetest-dev
18:13 rubenwardy joined #minetest-dev
18:44 Krock src\main.cpp(1112): error C2065: 'argc': Undeclared identifer
18:45 Krock src\main.cpp(1112): error C2065: 'argv': Undeclared identifier
18:45 Krock compiling fails on MSVC
18:47 Krock oh great. an '#ifdef _MSC_VER' is there around the code
18:57 Krock sfan5, could you use this patch http://pastebin.com/EfxsBebb please to fix compiling issues under windows?
19:16 PilzAdam joined #minetest-dev
19:38 * Krock wonders if PilzAdam could fix it insted because there's a total silence
19:47 * RealBadAngel wonders if PilzAdam is an active contributor...
19:48 RealBadAngel i havent saw any PA's code since ages
19:51 compunerd joined #minetest-dev
19:52 RealBadAngel PilzAdam, what are your plans?
20:08 kilbith *active blocker
20:10 Amaz No need to wonder about that kilbith!
20:10 kilbith lol
20:27 sapier joined #minetest-dev
20:37 proller joined #minetest-dev
20:40 sol_invictus joined #minetest-dev
20:41 FR^2 joined #minetest-dev
20:42 troller joined #minetest-dev
21:03 casimir joined #minetest-dev
21:21 mrtux joined #minetest-dev
21:26 Miner_48er joined #minetest-dev
21:43 compunerd joined #minetest-dev
21:50 johnnyjoy joined #minetest-dev
22:47 zat joined #minetest-dev
22:49 chchjesus joined #minetest-dev
23:10 exio4 joined #minetest-dev
23:33 cg72 joined #minetest-dev
23:33 cg72 left #minetest-dev

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