Minetest logo

IRC log for #minetest-dev, 2014-03-06

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

All times shown according to UTC.

Time Nick Message
00:22 EvergreenTree joined #minetest-dev
01:00 kahrl joined #minetest-dev
01:48 werwerwer joined #minetest-dev
01:49 alexxs joined #minetest-dev
02:03 salamanderrake joined #minetest-dev
03:08 Exio4 joined #minetest-dev
03:18 ImQ009 joined #minetest-dev
04:58 kahrl joined #minetest-dev
05:22 ShadowNinja ~tell sapier I found an issue with your Android build, see logs for a day or two ago.
05:22 ShadowBot ShadowNinja: O.K.
05:23 ShadowNinja VanessaE: It actually conflicted with the map offset thing.  I've updated my vbo branch.
05:26 VanessaE oh ok, cool
05:34 VanessaE bbl, off to bed
05:43 grrk-bzzt joined #minetest-dev
06:01 nore joined #minetest-dev
06:23 deltib joined #minetest-dev
06:58 ImQ009 joined #minetest-dev
07:00 NakedFury joined #minetest-dev
07:20 mrtux joined #minetest-dev
07:35 Gethiox joined #minetest-dev
08:36 tomreyn joined #minetest-dev
08:38 ImQ009 joined #minetest-dev
09:13 darkrose joined #minetest-dev
09:14 kahrl joined #minetest-dev
10:16 alexxs joined #minetest-dev
10:38 proller joined #minetest-dev
12:03 ImQ009 joined #minetest-dev
12:36 Megaf joined #minetest-dev
13:00 PilzAdam joined #minetest-dev
13:27 hmmmm joined #minetest-dev
13:38 ImQ009 joined #minetest-dev
13:42 nore ~tell sapier https://github.com/minetest/minetest/pull/1168/f​iles#diff-a2a82fe964a7b85f20cd5239d386184aR2404 <-- you need to change the error message too
13:42 ShadowBot nore: Error: Missing ">". You may want to quote your arguments with double quotes in order to prevent extra brackets from being evaluated as nested commands.
13:42 nore ~tell sapier "https://github.com/minetest/minetest/pull/1168/f​iles#diff-a2a82fe964a7b85f20cd5239d386184aR2404 <-- you need to change the error message too"
13:42 ShadowBot nore: O.K.
13:52 nore_ joined #minetest-dev
13:56 proller joined #minetest-dev
13:57 NakedFury joined #minetest-dev
14:24 proller joined #minetest-dev
15:47 werwerwer joined #minetest-dev
15:52 Jordach joined #minetest-dev
16:23 ShadowBot joined #minetest-dev
16:57 SmugLeaf joined #minetest-dev
16:59 Calinou joined #minetest-dev
17:00 PenguinDad joined #minetest-dev
17:27 grrk-bzzt joined #minetest-dev
17:31 salamanderrake joined #minetest-dev
17:40 Amaz joined #minetest-dev
17:43 sapier joined #minetest-dev
17:43 sapier left #minetest-dev
17:43 sapier joined #minetest-dev
17:47 sapier ~tell ShadowNinja If you meant the exit to os error I think this may be same reason as celerons crash on trying to join with empty username
17:47 ShadowBot sapier: O.K.
17:47 konkypc joined #minetest-dev
17:48 sapier ~ tell ShadowNinja for chat beeing usefull to enable I need to find a way to place chat behind formspecs ... this is a bug in regular minetest too but due to screen size it's way more anoying on cell phones
17:48 ShadowBot sapier: O.K.
17:48 VanessaE ...or if you use Unified Inventory :P
17:48 sapier btw does anyone have an idea how we can ensure that chat text is shown behind formspecs?
17:49 sapier basicaly everything using that room where chat may be shown as those lines are fixed size even if there's a single character only
17:50 sapier I know kahrl or hmmmm did have a fix for it some months ago, thought it was merged but obviously not ... and I can't find it in logs
17:51 SmugLeaf joined #minetest-dev
17:52 rubenwardy joined #minetest-dev
17:54 sapier I'm going to merge #1165 soon any complains?
17:55 ShadowBot https://github.com/minetest/minetest/issues/1165 -- Stop wasting time in abm - performance improvement by CiaranG
17:56 proller test it!
17:57 sapier #1167 seems to be fine too so it's scheduled for merge too
17:57 ShadowBot https://github.com/minetest/minetest/issues/1167 -- Remove goto from Environment::removePlayer by Selat
17:58 proller also active_object_count_wider not used now
17:59 CiaranG sapier: If the chat was a lua hud element, instead of part of the GUI stuff, it would appear behind the formspecs ;)
17:59 PilzAdam joined #minetest-dev
17:59 sapier but isn't and it seems to be quite a lot of work to change it that way
17:59 sapier good point proller
18:00 CiaranG Ok, I thought I could trick you into implementing that ;)
18:01 proller maybe for mobs mod or something strange
18:01 sapier nope ciaranG I try to complete some things atm and it's already hard not to stumble into other open issues ... I already have some strange things on my list of "maybe later" improvements ;-)
18:02 sapier as it's specified by api we can't just drop it without beeing really sure it's not used at all
18:03 sapier but anyway as that's a 3d loop beeing called within another 3d loop I'm very eager to get it in. Things like that tend to be real performance hogs
18:04 PilzAdam active_object_count_wider is used by simple mobs
18:04 PilzAdam and by celeron55's blockmobs AFAIK
18:04 tomasbrod joined #minetest-dev
18:04 sapier ok so no need to discuss about it
18:06 proller no need to calculate it for all abm, maybe mobs must specify flag for it
18:06 sapier maybe but that's not related to this fix
18:07 proller spaces not related to your fixes too ;)
18:08 sapier well proller you can ask ciaranG if he's willing to add that new feature you request to his patch, I'm fine with his changes the way they are
18:08 proller removing this calculation for all abm exept 2 related to "Stop wasting time in abm"
18:10 CiaranG That would still be a more complex thing to do, because it would break those existing mods, until they set the flag that said they want the _wider calculating for them
18:10 PilzAdam breaking mods isnt an option
18:11 CiaranG I'll happily implement that, but it's definitely separate to this, which affects no mods, and just makes the server stop doing the same thing hundreds of times for no reason
18:15 CiaranG Could be a server option (off by default) to only calculate it if a mod requests it. It can be turned on when the relevant mods are updated. (or any time, if you know you're not using those mods)
18:16 sapier ok, I don't see a reason why this change should break anything and for my tests it works too. Does anyone know a reason not to merge it?
18:26 Jordach joined #minetest-dev
18:27 Jordach joined #minetest-dev
18:37 sapier ok pushing now
18:38 sapier ~ tell sfan5 did you find out why those version configs don't work for you yet?
18:38 ShadowBot sapier: O.K.
18:39 sfan5 sapier: no
18:39 sapier oh you're here good
18:39 sfan5 <sfan5> !tell sapier 眠り is Japanese for sleep
18:39 sfan5 did you get that?
18:39 sapier do you do a 32 or 64 bit build?
18:39 sapier no it did work for me
18:39 sfan5 32
18:40 sapier strange I can't build 32 bit due to a bug in porting.cpp ... it's quite obviously wrong in there
18:40 sapier hmm I didn't do a reclone  ... I'll try this next
18:40 sfan5 it probably fails because I don't build in the src dir
18:41 sapier no it fails because of checking for a 64 bit thread in 32 bit mode ... that function isn't even available there
18:42 sapier you can check for a 32 bit thread on 64 bit os but not for a 64 bit thread on a 32 bit os
18:43 sfan5 I meant the winresource.rc thing
18:43 sfan5 wai..
18:43 sfan5 wait...*
18:44 sapier I'm cloning to a new repo maybe mine works because of old things in there
18:44 sfan5 does it fail here? https://github.com/minetest/minetest/​blob/master/src/porting.cpp#L307-308
18:45 EvergreenTree joined #minetest-dev
18:46 sapier yes
18:47 sfan5 wat
18:47 sfan5 does your compiler support Win XP SP2?
18:48 sapier I don't know it's mingw with gcc-4.8.1
18:49 sfan5 gcc --version output please
18:49 sfan5 (only the first line)
18:50 sapier "gcc.exe (GCC) 4.8.1"
18:50 sapier not much mor information
18:51 sfan5 oh your are building on windows?
18:51 sfan5 mine is: ''i586-mingw32msvc-gcc (GCC) 4.2.1-sjlj (mingw32-2)''
18:51 proller wider_unknown_count always = 0
18:51 proller wider_known_count always = 27
18:51 sfan5 well
18:51 proller last +=   active_object_count_wider += wid    == always 0
18:51 sfan5 sapier: seems like your compiler does not support win xp sp2
18:52 sapier it's what mingw did install
18:52 sfan5 http://msdn.microsoft.com/en-us/library​/windows/desktop/ms684139(v=vs.85).aspx
18:52 sfan5 Minimum supported client     Windows Vista, Windows XP with SP2
18:52 sfan5 support = having the headers for it
18:53 sapier I guess it's more about the defined minimal windows version then about the header
18:54 sfan5 no
18:54 sfan5 the windows minimal version if defined
18:55 proller sapier,
18:55 proller 22:52:55: ACTION[ServerThread]: singleplayer [127.0.0.1] joins game.
18:55 proller 22:52:55: ACTION[ServerThread]: singleplayer [127.0.0.1] joins game. List of players:
18:55 proller wtf ?
18:56 sapier duplicated message
18:56 proller can you run game once per week to test your changes ?
18:56 sapier you already complained about that one weeks ago, it's non critical so I didn't fix it yet
18:58 sapier but thanks for reminding about it
18:58 proller if you broke something - its critical to fix it
18:59 sapier if it's as less as a duplicated log message for something where an additional fix is already scheduled I guess it's fine to fix both at once
19:00 proller its for every joined player
19:00 proller and contains broken player list
19:01 proller propose rule - every core dev must have running public server
19:02 sapier doesn't change fact this is cosmetic only of course it needs to be fixed but not critical
19:03 sapier you know you'd be out by this rule too? ;-) freeminer isn't minetest ;-P
19:04 kahrl proller: well spotted, the "wider_unknown_count = 0" in the inner if should be "wider_unknown_count++"
19:04 proller throw me from core then
19:05 kahrl anyway is it really not a problem that the wider object count isn't updated between ABM invocations anymore? (if I read the commit right)
19:05 sapier I didn't support your rule I just told you about possible sideeffects you may not have noticed
19:07 sapier kahrl you could be right about it there might be a corner case if a abm does spawn a entity
19:07 sapier abm based spawning might be affected if it uses that parameter
19:08 kahrl maybe ignore the objects in the current block (offset x=y=z=0) when first computing the wider object count
19:08 kahrl and add the freshly computed active object count (in the current block) to it on each ABM invocation
19:09 kahrl if we assume the ABM usually spawns entities in the current block, that should be good enough
19:11 BrandonReese joined #minetest-dev
19:13 sapier We should add a note to readme about that limitation
19:18 sapier pilzadam what do you use that parameter for?
19:21 CiaranG This would do it I think: https://github.com/CiaranG/minetest/commit​/d43917e2f1a2d991237a069f0ceba166543f6f31
19:21 CiaranG kahrl: well spotted, thanks
19:22 kahrl I think you also need to set wider_known_count = 3*3*3 - 1 - wider_unknown_count
19:23 kahrl right?
19:23 sapier I'm not sure about it, if you can't rely on numbers they're often almost useles :-(
19:24 kahrl CiaranG: also as proller saw, wider_unknown_count needs to incremented, not set to 0
19:24 CiaranG kahrl: I'm thinking about that one
19:25 CiaranG Yeah, I was about to say, it hardly matters when the unknown count is always 0 ;)
19:26 CiaranG Yes, either it should be 3*3*3 -1, or the current block's count should be added in on the next line
19:27 CiaranG Either way would work, I don't really know which is better. One might result in a slightly different guess to the other.
19:28 kahrl I'm not sure actually
19:28 CiaranG Theoretically more accurate with the current block included, yes?
19:29 kahrl yep you're right
19:29 kahrl do whichever you like better
19:31 kahrl sapier: you have to guess these numbers anyway if there are nearby unloaded blocks
19:31 kahrl sapier: so I would say an estimate is fine
19:33 sapier You're right, I didn't think about that issue ... strange especially if I think about how much work I had to work around those issues for mobf spawning .... maybe because I didn't use that parameter anywa
19:33 sapier y
19:34 CiaranG Top 3 commits... https://github.com/CiaranG/minetest/commits/master
19:34 CiaranG I guess I should squash them. Any more comments first?
19:34 PilzAdam sapier, I use it to not spawn more mobs in areas that already have a lot of entities
19:34 kahrl hmm I don't think that formula is right
19:35 kahrl (I could be wrong though)
19:35 sapier I never used a total mob limit but a per mob limit so this parameter wasn't of use for me
19:35 kahrl shouldn't it be: active_object_count_wider += wider_unknown_count * (active_object_count_wider + block->m_static_objects.m_active.size() / wider_known_count;
19:36 kahrl s/()/())/
19:37 kahrl right now it seems like you're adding the objects in the current block twice
19:37 kahrl with my formula they're only used for a better estimate of how many objects are in the unknown blocks
19:40 PilzAdam sapier, if there are 10 mobs of each kind, and you have 20 different mobs then you have a problem
19:40 CiaranG I'm only adding them once, they're skipped in the loop above
19:40 PilzAdam thats why I check the total count of entities
19:40 kahrl CiaranG: you add them again in the abm->trigger call
19:40 CiaranG Sorry, you're right
19:41 sapier I know but I do use a lot of other parameters for spawning too ;-)
19:44 CiaranG Ok, I fixed that. I think I'll test this a bit, seeing as it's never actually worked right with that count not being incremented.
19:53 Weedy_lappy joined #minetest-dev
19:55 tomasbrod left #minetest-dev
20:02 CiaranG PilzAdam: your abms only spawn things in the block they're in, right?
20:03 MichaelRpdx joined #minetest-dev
20:03 VanessaE joined #minetest-dev
20:05 SmugLeaf joined #minetest-dev
20:05 SmugLeaf joined #minetest-dev
20:05 Amaz joined #minetest-dev
20:06 Amaz_ joined #minetest-dev
20:19 paramzin joined #minetest-dev
20:22 iqualfragile joined #minetest-dev
20:23 PilzAdam CiaranG, no
20:23 PilzAdam it could be a the block above
20:24 PilzAdam I run it on stone with neighbors air, and spawn it above the stone node
20:28 sapier hmm maybe the only way to fix this problem is revert it ... :-(
20:28 sapier can we set a flag in add entity code and only rescan if this flag was set?
20:28 sapier that's ugly I know but it might work
20:29 proller фпфшт ыщдмштп гтучшыеуте зкщидуьюю
20:29 proller again solving unexistent problem..
20:30 sapier can you be a little less destructive and give some suggestions how to fix it? that loop is quite crap but it's hard to fix it without breaking compatibility
20:32 sapier don't get me wrong, it's good if you find problems but sometimes you could provide a little bit more information about what IS the problem and ... in best case ... how to fix it ;-)
20:33 proller break compatibility. only user of this feature here and can modify mobs
20:34 proller and count it like old way if it requested
20:34 sapier it's the only one we know about, I guess you wont bet noone else uses it ;-)
20:37 sapier yes that's a possible solution but it's gonna require changes in at least two mods changes api and isn't way more clean then the flag ... at least in my opinion ... but I don't use that feature so I'd prefere those who are affected to decide
20:44 Amaz joined #minetest-dev
21:00 CiaranG Ok, I have another solution... https://github.com/CiaranG/minetest/commit​/70663e7320e0979cbfbf6d48c491011ee3b60b6d
21:01 SmugLeaf joined #minetest-dev
21:01 SmugLeaf joined #minetest-dev
21:02 CiaranG Not 100% accurate - if the abm spawned an entity in a neighbouring block, the wider count would increase as expected, but so would the count for the current block
21:02 CiaranG It could be made accurate, but I'm not really sure it matters
21:14 sapier well that flag adds the ugly flag and isn't as accurate as before too not sure if it's really a step forward ... how much time is wasted on a single object count?
21:14 sapier would it be a big loss of time if we did a complete rescan on any added entity?
21:15 sapier I assume it's 99.99% where nothing is done (but that's a guess only)
21:22 rbukin joined #minetest-dev
21:23 CiaranG I don't think doing a complete rescan when an object was added would be a big deal. That would still need an ugly flag though.
21:24 sapier true but that's there in your latest suggestion too :-(
21:24 sapier as I said that flag solution is ugly ... but for now I've read no solution not requireing some flag
21:26 proller joined #minetest-dev
21:26 CiaranG Yeah. Might as well just rescan if an object is added then.
21:27 sapier this should be as accurate as before or am I wrong about it?
21:27 CiaranG Well it's already more accurate than before, it wasn't even counting the unknown blocks before
21:28 CiaranG But yeah, it should be as accurate as possible. Doing the rescan isn't going to cost much.
21:28 sapier does it do now?
21:28 CiaranG Yes - 4th commit down: https://github.com/CiaranG/minetest/commits/master
21:28 sapier the bad thing about this loop was doing it everytime so we still should get almost same speedup as without fixing that regression
21:29 CiaranG (I'll squash and tidy all this if and when we get to something good)
21:29 CiaranG Yeah, before it was scanning 4096
21:29 CiaranG times
21:30 sapier now it's most likely something around 0 times
21:30 sapier well not exactly "round" ;-)
21:30 CiaranG Ok, I'll make it rescan when there are new objects
21:32 sapier maybe extracting the scan to a function to avoid duplicated code?
21:32 proller still fighting...
21:33 sapier fighting?
21:34 proller with imagined problem
21:34 sapier proller I sometimes really wonder where you get all that anger from ;-)
21:34 sapier or is this just a cultural missunderstanding?
21:34 proller from merging your changes
21:35 proller and this too
21:51 CiaranG Ok, pushed another. So now it's 4095.9999 times faster than before, less buggy, and doesn't break any mod compatibilty
21:51 CiaranG (subject to me testing it)
21:58 celeron55 looks like yet another ancient protype-grade piece of code has finally taken it's final form 8)
21:59 sapier "final"? :-)
22:00 celeron55 "acceptable to the germans"
22:01 sapier I don't know that phrase but I take it as positive now ;-)
22:03 * celeron55 looks at git history
22:04 sapier well the last one on master requires fixing a regression ... last weeks I feel like people only start reviewing patches once they are merged :-(
22:05 celeron55 looks like the original code (written by me) was originally the way you're changing it to now but then i decided to change it to the unoptimized version when trying to quickly deal with the dungeon master spawning problems
22:05 celeron55 (that was 27 months ago)
22:06 sapier did you find the reason for those problems?
22:07 celeron55 i can't remember anything from that far back
22:07 sapier :-) was worth a try
22:08 michelson joined #minetest-dev
22:08 EvergreenTree joined #minetest-dev
22:08 proller celeron55, how many kilowatts of power was fired with this code!11
22:09 celeron55 in any case 0.3 has always had the optimal version 8)
22:09 celeron55 proller: think of all the warm air provided to kittens!
22:09 sapier true you're guilty for increasing global warming by at least some nanodegrees ;-)
22:09 sapier maybe less :-)
22:10 celeron55 actually it makes zero difference because if that code wasn't using the power, then it would have been simply used for rendering :P
22:11 sapier servers don't do rendering :-)
22:11 celeron55 there are like 5 minetest servers in existence
22:11 sapier so you admit it? ;-)
22:11 celeron55 and 5000 clients
22:11 celeron55 and the clients saved power because their power hungry GPU was idle while the cpu was busy executing that coode
22:11 celeron55 code*
22:12 celeron55 so actually you're the ones causing global warming!
22:12 proller 26 servers online!!!
22:12 sapier *g* ok if you count all those ppl giving up playing minetest because its too slow there are even more saved kw ;-)
22:13 celeron55 yes, maybe we should add some more power-saving loops
22:13 * ShadowNinja chuckles
22:13 sapier *g* right now I'd be more interested in gaining performance for android devices
22:14 ShadowNinja while(true) sleep(INT_MAX); <-- Best power saver.
22:14 celeron55 abort(); <- even better
22:14 sapier we're quite close to playable on almost all of my devices but 10 fps is a little bit low
22:14 ShadowNinja Hehe.
22:15 sapier IRC 25 fps is called fluid ... for my tests about 15 are enough to be at least a little bit playable for a minetest style game
22:18 proller ShadowNinja, 02:17:49: ERROR[ConnectionSend]: Bind failed: Socket and bind address families do not match
22:18 proller ipv6_server = 1
22:18 proller try it yoursel
22:18 proller f
22:18 kahrl and what is bind_address?
22:19 proller 02:17:49: ACTION[main]: Server for gameid="minimal" listening on 0.0.0.0:61660.
22:19 proller default empty
22:19 kahrl oh ok
22:19 proller 02:17:49: INFO[main]: Connecting to server at [::1]:61660
22:19 proller it must listen :: if no bind_addr
22:19 proller and ipv6_server=1
22:20 ShadowNinja Ok, so the default address for IPv6 isn't created properly?
22:20 proller yes
22:20 ShadowNinja It uses 0.0.0.0? Or ::1?
22:20 proller listening on 0.0.0.0:61660 for server
22:20 proller [::1]:61660 for client
22:20 ShadowNinja Ah, ok.
22:20 proller client ok, server wrong
22:20 kahrl couldn't we retire ipv6_server and replace it by bind_address=::
22:21 proller but not ::, in C must use define
22:22 ShadowNinja kahrl: Yes, but that would require a fair amount of work as sockets, conns, and the like all take a ipv6 bool.
22:23 proller in6addr_any
22:23 kahrl proller: I meant let the user define bind_address=:: in minetest.conf
22:23 sapier conns just passes that parameter there ain't much to do
22:24 sapier user can already define :: as bind address
22:24 proller 02:24:21: ACTION[main]: Server for gameid="minimal" listening on :::64635.
22:25 proller 02:24:21: INFO[main]: Connecting to server at [::]:64635
22:25 proller fail ;)
22:25 proller connect must be to ::1
22:26 sapier hmm guess that ipv6 code requires some rework as it connects to specified bind address
22:28 proller same for ipv4, you can listen 0.0.0.0 and cant connect to it
22:28 sapier ok so we've got same bug in ipv4?
22:29 proller yes
22:29 sapier It's gonna be hard to fix this for ipv6 .... quite a lot ways to write ::
22:29 proller 02:29:30: ACTION[main]: Server for gameid="minimal" listening on 0.0.0.0:59421.
22:29 proller 02:29:30: INFO[main]: Connecting to server at 0.0.0.0:59421
22:29 sapier but we could just translate to binary and check the binary representation
22:31 sapier all notations have to translate to char[16] = { 0 }
22:31 sapier or byte{16]
22:32 SmugLeaf joined #minetest-dev
22:32 SmugLeaf joined #minetest-dev
22:32 sapier so two bugs in there 1. ipv6 setting doesn't switch server to ipv6 and second if you specify a bind all address you can't directly connect (independent of ip version)
22:42 proller no, only second
22:44 sapier first one isn't there?
22:45 proller yes
22:50 kahrl what code actually tells the client to connect to bind_addr?
22:51 sapier server->start
22:51 CiaranG If anyone can spot any more problems with #1169 that would be good
22:51 ShadowBot https://github.com/minetest/minetest/issues/1169 -- Update ABM object counts when triggers add objects by CiaranG
22:51 sapier as of that point the address is passed till socket
22:52 sapier CiaranG: I suggest letting it settle down till tomorrow and then merge it
22:53 valgan joined #minetest-dev
22:53 CiaranG Yeah, I'll test it more tomorrow, I suggest definitely not merging it until I say I've done that
22:54 kahrl sapier: ah I was wondering how it got from there to the client
22:55 kahrl but address = bind_str in game.cpp:1140 does that
23:01 sapier left #minetest-dev
23:17 werwerwer_ joined #minetest-dev
23:18 troller joined #minetest-dev
23:28 effects joined #minetest-dev
23:36 Miner_48er joined #minetest-dev
23:52 smoke_fumus joined #minetest-dev

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