Minetest logo

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

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

All times shown according to UTC.

Time Nick Message
00:31 kaeza joined #minetest-dev
00:53 Taoki joined #minetest-dev
01:31 Eater4 joined #minetest-dev
02:15 werwerwer_ joined #minetest-dev
02:32 paramat joined #minetest-dev
03:00 Piggybear87 joined #minetest-dev
03:16 paramat celeron55, hi, i found a bug with custom skybox, causes segfault (core dumped) with no error message, when switching from "skybox" to  "plain" or "regular", details and code are here https://gist.github.com/paramat/b93f0d78319a23f47815 the mod repo here https://github.com/paramat/stack
04:33 Piggybear87 joined #minetest-dev
05:28 nore joined #minetest-dev
05:56 Hunterz joined #minetest-dev
06:08 Miner_48er joined #minetest-dev
07:14 darkrose joined #minetest-dev
07:14 darkrose joined #minetest-dev
07:53 raffahacks joined #minetest-dev
07:54 raffahacks hello, why does mt crash with segmentation fault on armv7 allwinner a20? thanks
07:58 raffahacks can anyone help?
07:59 PenguinDad joined #minetest-dev
08:13 raffahacks nobody?
08:16 sfan5 raffahacks: make a debug build, run it with gdb, pastebin the output of 'bt full' after it crashes
08:16 raffahacks ok thanks
08:30 OldCoder joined #minetest-dev
08:45 OldCoder joined #minetest-dev
09:00 PilzAdam joined #minetest-dev
09:08 LemonLake joined #minetest-dev
09:33 EvergreenTree joined #minetest-dev
09:34 celeron55 paramat: Fixed
09:44 Jordach joined #minetest-dev
09:48 Calinou joined #minetest-dev
10:17 diemartin joined #minetest-dev
10:19 lemonlake_ joined #minetest-dev
10:45 Amaz_ joined #minetest-dev
10:47 rdococ joined #minetest-dev
10:57 pro joined #minetest-dev
11:04 ImQ009 joined #minetest-dev
11:32 CraigyDavi_ joined #minetest-dev
11:33 CraigyDavi__ joined #minetest-dev
11:45 vifino joined #minetest-dev
12:09 ImQ009 joined #minetest-dev
12:20 restcoser joined #minetest-dev
12:21 asl joined #minetest-dev
12:24 ShadowBot joined #minetest-dev
12:35 smoke_fumus joined #minetest-dev
12:44 PilzAdam joined #minetest-dev
13:52 Megaf joined #minetest-dev
14:08 Zeitgeist_ joined #minetest-dev
14:08 Zeitgeist_ joined #minetest-dev
14:13 sapier joined #minetest-dev
14:13 sapier can someone tell me where we create the sign texture? the one with text in it
14:34 LemonLake joined #minetest-dev
14:39 sapier hmm doesn't seem to be a minetest feature does anyone know what mod is responsible for doing this?
14:40 sfan5 'signs' mod
14:40 PilzAdam sapier, there are 3 mods that do that
14:40 PilzAdam they all use entities and [combine
14:41 sapier I managed to track down vanessae's server spawn issues to this particular feature ... I'm at about 15fps till those texures are loaded ... then speed drops to 1fps
14:42 sfan5 using multiple [combine 's is very inefficent
14:42 sapier btw I've got a bunch of performance fixes that require review .. they manage to increase those 1fps to 5fps
14:42 sfan5 (but the only thing possible)
14:43 sapier usually I don't believe in "the only thing possible" if this only thing is crap ;-)
14:43 VanessaE heh
14:43 sfan5 [combine was not designed to run up to 100 times
14:44 sapier what about adding some sort of caching mechanism?
14:44 sapier we don't have to combine 100 times if nothing changed
14:46 VanessaE are you saying the compositing is re-run every frame?O_o
14:46 sapier sometimes replacing cpu by memory usage is more then worth it, e.g I managed to increase speed of some functions called multimilion times within 10 seconds by a factor 4 ... just by using 256k memory
14:46 sapier of course 256k is a lot
14:47 sapier but considering the amount of ram provided even by slow devices it's nothing
14:47 sapier VanessaE there are even more quite stupid things in minetest
14:47 VanessaE sapier: sure, but that doesn't answer my question ;)
14:48 sapier true :-) ... I don't know if it's done every time but I'd not be surprised
14:48 VanessaE with a proposal THAT stupid, I refuse to assume the affirmative here.,
14:49 VanessaE which means with the new full-color signs it's gonna get a little worse isn't it
14:52 sapier well ... signs could be disabled ... compared to other things I've seen the last days those are minor issues
14:52 sapier drawing code is full of things that called "endless loops" withing high performance code
14:53 VanessaE seems like compositing is something that belongs strictly at startup
14:53 VanessaE and perhaps even server-side
14:53 VanessaE well maybe not
14:53 sapier doing things like iterating through maps ot lists of unknown size to lookup a single value is just insane
14:53 VanessaE but definitely NEVER in the render pipeline
14:53 VanessaE (not the way minetest does it that is)
14:55 VanessaE compositing should be done one time and one time only - at the moment the Lua code calls for it to be done.  from then on the final composited image should be used, since that is the only image the client has a handle to anyway
14:55 VanessaE (I would have assumed that's what was being done anyway)
14:56 nore VanessaE, I would have said: when the client try to display the image for the first time
14:56 VanessaE nore: perhaps, but that means the rendering pipeline has to call for it.
14:56 nore put it in a cache, and delete images older than something like 10 mins in the cache
14:57 VanessaE that's a good idea
14:57 nore VanessaE, that's not a problem if it's only done once
14:57 VanessaE hell even a few seconds is probably too old
14:57 VanessaE (but your point stands0
14:57 VanessaE )
14:58 nore a few seconds is perhaps not the best idea: see the spawn of your server (creative): the displays change with ~30s period
14:58 VanessaE this is true
14:59 VanessaE 10 mins is fair
15:05 hmmmm joined #minetest-dev
15:12 sapier lol I never realized nodes "growing" on android by no but it's in there for quite some time
15:14 sapier #1356 is a set of patches speeding up android port quite a lot, effect on pc is mesurable too (by gperf) but I didn't notice it on playing
15:15 ShadowBot https://github.com/minetest/minetest/issues/1356 -- Perf fixes june 2014 by sapier
15:15 sapier please really READ the code it might contain hidden bugs
15:17 VanessaE inb4 proller claims 1000 lines of useless spacing changes ;)
15:17 w00tc0d3 joined #minetest-dev
15:17 VanessaE (I'll pass on reading it because I won't understand it anyway)
15:18 sapier Most likely that one is to review by experienced coders only
15:18 sapier of course there may be coding style issues too but the more critical ones will be issues I didn't realize on optimizing
15:18 VanessaE *nod*
15:19 VanessaE btw if the textures are all-white now it's because of the same issue as some others had - they would have been all-black before,
15:19 proller sapier, how you test your changes?
15:20 sapier I'm gonna provide a new android build soon for anyone to check ... as I said I managed to get 4-5 fps on your spawn instead of 0-1 ... even while the sign bug is still present
15:20 VanessaE but kaeza inverted the font to make the coloring work (now it works like a stencil), which is probably why it whites-out instead of blacking-out,.
15:20 sapier proller define test?
15:21 VanessaE sapier: hit me with the new build when you get a chance and I'll try it out (for me, the signs' text worked fine in the last test).  Also, did you already revise how you were making the inventory images?
15:21 sapier last build did contain the screenshot hack but in it's new drastically faster version
15:21 PilzAdam sapier, could you please pin a note next to your monitor that says: "Spaces after ,"
15:22 sapier next to which screen PilzAdam ? ;-)
15:22 PilzAdam all of them
15:23 sapier I'm gonna fix it but plz try to read the code and find cases I may have missed on doing my optimizations
15:26 Exio4 joined #minetest-dev
15:26 sapier Maybe someone even knows a better way of optimizing it, some of those locations are still bottlenecks
15:30 sapier PilzAdam: I didn't find anything else except that memset in first commit ... any other space I missed? ;-P
15:31 PilzAdam also add spaces around binary operators
15:31 sapier where?
15:32 PilzAdam in the same memset line
15:32 sapier that's not a binary but a plain operator ... and yes I fixed that one too ;-P
15:33 PilzAdam "plain operator"?
15:33 Megaf_ joined #minetest-dev
15:34 sapier binary operators are & | and things like that to me
15:34 sapier but not * / + -
15:34 PilzAdam binary operators are operators with 2 "sides", e.g. + - * / %
15:35 sapier ok so your naming is the sides ... well I distinguish as of type of operation
15:35 PilzAdam wikipedia: "Binary operation – Not to be confused with Bitwise operation."
15:36 sapier & | ~ <<(c)  >>(c)
15:36 sapier are binary
15:36 sapier ok bitwise .. obviously I got confused too ;-P
15:37 PilzAdam I get about 4 FPS more with your branch in a "standard" minetest_game world
15:37 PilzAdam maybe a bit more
15:37 sapier what's your base fps rate?
15:37 PilzAdam I fixed the view range
15:38 sapier 4 fps more would be great
15:38 PilzAdam what do you mean by "base fps rate"? the conf setting?
15:38 sapier no 4fps more starting from 100fps or 10fps
15:39 PilzAdam 30 FPS (+4 with your branch), view range is 100
15:40 sapier wow that's about 10%
15:40 sapier I didn't expect it to be more then a few % on pc
15:40 VanessaE PilzAdam: try it ay Vanilla spawn
15:40 VanessaE at*
15:41 VanessaE no fancy pipes there, just signs and regular nodes
15:41 PilzAdam VanessaE, it would be 0 FPS vs. 0 FPS ;-)
15:41 VanessaE there's literally nothing there that should theoretically slow the client down (sapier's discovery aside that is)
15:41 PilzAdam oh, no pipes
15:42 Exio4 joined #minetest-dev
15:42 sapier PilzAdam: I managed to get from 0 to 4 ... wonder if it's not a percentual improvement but a fixed 4fps improvement ;-)
15:44 PilzAdam VanessaE, the blocks load too slow
15:45 VanessaE O_o
15:45 PilzAdam sapier, also without your branch, it "started" at 26 FPS, and then slowly got faster, while youre branch started at about 36-38 and then dropped to 34 FPS
15:45 VanessaE that server's quite well-tweaked to load super fast, wtf
15:45 PilzAdam VanessaE, whats your block send distance?
15:46 VanessaE whatever the default is.
15:47 sapier well I replaced some dynamic things by fixed ones ... no idea what sideeffect on memory allocation this might trigger
15:47 VanessaE server's disk, CPU, and network load look good, so unless it's another setting I have to change, it must just be the pipe between you and Canada where my server is
15:48 PilzAdam I get about 30 sec lag on /status, and Im the only client on
15:49 VanessaE it's instantaneous for me.
15:49 PilzAdam don't you sit like 5 meters away from the server?
15:49 VanessaE nope
15:49 VanessaE I just said, the server's up in Canada
15:50 VanessaE it's like 800km from me or some such
15:50 VanessaE it's fast as hell for me here.  blocks load fast, commands execute instantly
15:50 PilzAdam maybe they send the data to europe over the mars or so
15:50 VanessaE haha
15:50 VanessaE you were on 30005 right?
15:51 PilzAdam yes
15:51 VanessaE weird.
15:51 VanessaE sapier: sounds like a glitch in the network code?
15:52 sapier hmm
15:52 sapier 30s is long ... very long
15:52 PilzAdam rtt min/avg/max/mdev = 114.287/119.825/133.762/7.109 ms
15:53 VanessaE PilzAdam: strike that, it's more like 1600km away.
15:53 sapier those numbers don't hint at base network code to be involved
15:53 sapier they'd be higher if there was a lower layer hang for that time
15:53 PilzAdam hm, now its fast suddenly
15:53 sapier strange
15:54 VanessaE server stats do show a small spike in network transmission.  maybe a media download?
15:55 PilzAdam wtf, after ~ 30 seconds it starts to download something with 300 KiB/s (previously it was at ~ 60), and I dont recieve any new blocks
15:56 PilzAdam any idea wtf its downloading?
15:57 VanessaE no clue at all
15:57 VanessaE unless it's just downloading more world?
15:57 VanessaE (and you can't see it?)
15:57 PilzAdam Im pretty sure it doesnt load mapblocks
15:57 sapier what else?
15:58 sapier entity data?
15:58 PenguinDad The same thing happens to me on Vanilla
15:59 kahrl joined #minetest-dev
16:00 sapier if I remember correct I updated the wireshark dissector, you could have a look at what is downloaded ... you may need to change it a little bit to work for ports other then 30000 and 30001
16:00 PilzAdam umm, wtf, it keeps downloading even if I exit minetest
16:00 sapier just replace the port numbers
16:00 VanessaE I can't even begin to guess .....
16:00 VanessaE wtf?
16:00 VanessaE ok that's clearly not minetest then.
16:00 PilzAdam why does it start when I enter your world then?
16:01 sapier or someone managed to abuse minetest for pushing a trojan ;-)
16:01 VanessaE beats the hell out of me
16:01 PilzAdam is Minetest distributing malware? ;-)
16:01 VanessaE virus? :)
16:01 sapier well as of code security I'd not be surprised
16:01 sapier but I thought we'd not be important enough to be worth it
16:01 VanessaE what are you running anyway?
16:02 PilzAdam hm?
16:02 VanessaE os.
16:02 PilzAdam Kubuntu 12.04
16:02 VanessaE hm,  ok
16:02 VanessaE *shakes head* I just don't know wtf
16:03 VanessaE unless there's some thread in minetest that doesn't "die" when it exits?
16:03 PilzAdam maybe some threads keep running after the windows disappears?
16:03 VanessaE ninja'd :)
16:04 VanessaE I note that my network.....wait
16:04 VanessaE are you using cURL?
16:04 sapier possible but unlikely
16:04 sapier wait
16:04 PilzAdam yes, I use curl
16:04 VanessaE something's zonking my CPU hard
16:04 sapier what irrlicht version do you have?
16:04 VanessaE and network too
16:04 VanessaE look at the network grapj
16:04 VanessaE graph
16:04 VanessaE http://digitalaudioconcepts.com/vanessa/hobbies/minetest/stats.html
16:04 PilzAdam sapier, 1.7.2
16:05 VanessaE blue is non-minetestserver stuff
16:05 sapier hmm ok so wrong direction
16:05 PilzAdam VanessaE, it doesnt happen on "German Landrush server"
16:06 sapier pilzadam I guess best way to find out is using wireshark and that dissector in contrib
16:06 VanessaE hm, whatever it was isn't showing up clearly in `top` now.
16:06 VanessaE PilzAdam: that's fair, but there's really nothing I can do to *cause* it, let alone stop it so I don't even know wtf
16:07 PilzAdam sapier, and how do I do that?
16:08 sapier within util/wireshark there's a file minetest.lua
16:08 sapier place it in /usr/share/wireshark/ (on debian) could be some different folder on your distribution
16:09 sapier lua dissectors aren't run as root user so you need to record network traffic and view it with wireshark in non root mode later
16:09 sapier and if server is not on port 30000 or 30001 you need to change minetest.lua to be used for that port too
16:10 sapier it's next to bottom of file, just look for 30000
16:13 Tesseract joined #minetest-dev
16:13 PilzAdam I dont get any interfaces to listen when not running as root
16:13 sapier yes you need to record as root
16:13 sapier and open the recorded file later as non root
16:14 sapier that's ugly I know
16:14 sapier maybe someone knows a better way to do it but I don't
16:14 Anchakor_ joined #minetest-dev
16:19 ShadowNinja sapier: I think there is, you have to give wireshark special permisions though.
16:20 ShadowNinja I remember a wiki page being linked.
16:20 sapier I see ... guess that'd not be a n issue if wireshark is already run as root
16:21 PilzAdam sapier, ok, what do I do with the record now?
16:22 LemonLake joined #minetest-dev
16:22 sapier just open with wireshark started as regular user
16:22 sapier if you did adjust the port number in minetest.lua to match the servers port number it's supposed to decode minetest protocol
16:23 Calinou joined #minetest-dev
16:25 PilzAdam is /usr/share/wireshark/minetest.lua automatically loaded, or do I need to set a setting for that?
16:26 sapier if it's there it's loaded automaticaly
16:26 sapier unless your distribution disables that by default ... debian doesn't
16:29 sapier I'm a really lucky one seems like my android device is one of those very rare devices that are capable of doing render to texture
16:30 celeron55 oh, related to android; i checked that it runs on nexus 5, if nobody's tested it on that yet
16:30 PilzAdam doesn't seem to work
16:32 celeron55 how about -X lua_script:/path/to/minetest.lua
16:32 celeron55 i think that was how i used it when i did, but i can't remember anymore
16:33 celeron55 at least that is how my current wireshark man page tells to do it
16:33 PilzAdam ah, that works, celeron55
16:34 Piggybear87 joined #minetest-dev
16:37 PilzAdam I have tons of "Server: Split message xxxxx chunk xxx/227"
16:38 sapier that's fine
16:39 sapier large files are split to sup 512 bytes packets
16:39 sapier sub not sup
16:40 PilzAdam but why do I even get these files?
16:40 sapier entity listings are split too
16:40 lemonlake_ joined #minetest-dev
16:40 sapier everything being sent bigger then 5xx bytes is split
16:41 sapier for what I know that's nodedef, entitydefs, detached inventories and inventories
16:41 PilzAdam and how do I see what command is split?
16:41 EvergreenTree joined #minetest-dev
16:41 sapier If I remember correct it's show eiter on reception of first or last chunk
16:41 ShadowNinja sapier: Why char zero = 0;?  And use a vector for the attachments, just store ints in it instead of vector2ds.
16:42 sapier I don't use the vector any longer
16:42 sapier that's the optimization ... I don't know why a vector 2ds was used for id mapping anyway
16:42 ShadowNinja sapier: I know, but you should.  Just use indexing instead of scanning on the vector.
16:42 sapier NO
16:43 sapier that scan is done millions of times for each node just do find out for most of them that there is no mapping
16:43 ShadowNinja sapier: That way it will be fast without taking up a bunch of memory or having a fixed size.
16:43 ShadowNinja sapier: Don't scan it.
16:43 ShadowNinja sapier: Use std::vector::operator[]()
16:44 sapier if you use vector[] operator on non existent id it's gonna cause an exception
16:44 sapier I haven't tried but I assume exception handling to be way more slow then even do scanning
16:45 ShadowNinja No, vec[vec.size() + 1] extends the vector and returns a T&.
16:46 sapier and what will vec[vec.size() +10000] do?
16:47 ShadowNinja sapier: The same, until you run out of memory.
16:47 sapier you can try it but for what I figured out memory operations are very slow on android
16:47 ShadowNinja But obviously int arr[100]; arr[1000] is a even bigger issue.
16:48 PilzAdam sapier, I think its entity data
16:49 ShadowNinja sapier: Add that is a seperate commit.  It should be a one line change and will save a lot of memory.
16:49 sapier ShadowNinja: I don't believe using a vector will be faster then using preallocated memory ... in best case it's not very much slower
16:49 VanessaE what entities could there be aside from a few dozen signs?
16:49 ShadowNinja sapier: It will be slower, but it shouldn't be much slower.
16:49 PilzAdam VanessaE, seem to be your signs that are being send
16:49 PilzAdam the [combine texture strings seem to be rather huge
16:50 sapier ShadowNinja: difference between old code (using a vector) and new is a factor of about 4
16:50 VanessaE PilzAdam: can't be helped I guess. :-/
16:50 sapier it's slightly different to what you suggest so I don't know the exact impact of your suggestion
16:50 ShadowNinja sapier: Yes.  Still use the indexing methon instead of vector2di, but start the ints in a vector.
16:50 PilzAdam VanessaE, seems like the signs cause FPS drops and a lot of traffic
16:50 PilzAdam 2 reasons to not use them
16:51 sapier yes shadow but what's the benefit of saving at best 200kb of ram to taking twice as much time for a function callend about 1 million times per second?
16:52 VanessaE if they cause "a lot of traffic" that's clearly a bug in the engine
16:52 ShadowNinja sapier: http://pastebin.ubuntu.com/7613834/
16:52 VanessaE the damn things are static
16:52 ShadowNinja sapier: You still keep the rest of the diff and all or almost all of the performance increase.
16:53 rubenwardy joined #minetest-dev
16:53 VanessaE but wait
16:54 sapier btw if you do a vec[20] to a vector beeing 10 elements only that's not gonna create a new element but throw a out of bounds exception
16:54 VanessaE why is there any traffic at all?
16:54 VanessaE you've already got all of the textures it takes to build them
16:54 VanessaE and the compositing strings are sent to the client
16:54 VanessaE they can't possibly be THAT big
16:54 PilzAdam VanessaE, the texture string has 14 bytes per letter
16:54 VanessaE yeah, so that's what, a couple kB per sign?
16:54 sapier wait
16:54 sapier even worse
16:54 sapier it doesn't
16:54 PilzAdam how much chars is the maximum for signs?
16:54 sapier Portable programs should never call this function with an argument n that is out of range, since this causes undefined behavior.
16:55 VanessaE PilzAdam: 6 or 7 rows by around 30 chars per row, give or take
16:55 VanessaE so about 3k per sign, maximum
16:55 PilzAdam and you have a lot of signs
16:56 sapier ShadowNinja: please re-read wat I did I think you haven't fully understand what I really did there
16:56 sapier I most likely wouldn't understand it on first read either
16:56 VanessaE since most signs are no more than about half full, figure 100 signs around the spawn, that's 100 * 3 / 2 = 150 kB of sign data
16:56 VanessaE that's nothing from nothing.
16:56 ShadowNinja sapier: I do.  It does seem that you'll have to use something like push_pack or extend there though...
16:56 VanessaE you should have had that brought in in half a second
16:57 VanessaE textures for the signs are only 496 k
16:57 ShadowNinja sapier: Try it with resize().
16:57 sapier ShadowNinja: what I needed there was a way to lookup with constant access time
16:58 ShadowNinja sapier: vector::operator[] is constant-time.
16:58 sapier yes but only if you don't have to check and resize prior using it
16:59 sapier and the only way to avoid this is creating it in it's max size ... well a vector with size USHRT_MAX*num_elements is in no way smaller then u16 m_attachements[USHRT_MAX]
16:59 PilzAdam VanessaE, in wireshark I see 300 kB per sign, if Im not mistaken
16:59 sapier PilzAdam: entities are sent cummulative
16:59 sapier not one by one
16:59 sapier decoding of those blocks isn't complete
17:00 VanessaE PilzAdam:  7 lines * 30 chars per = 210 chars, * 14 byes per = 2800, that's not even 3k, so where's the other two orders of magnitude coming from?
17:00 ShadowNinja sapier: What defines USHRT_MAX?
17:00 sapier 0xFFFF
17:00 VanessaE is it all the discarded textures from the compositing?
17:00 ShadowNinja sapier: No what defines it/where is it defined?
17:00 sapier it's defined in limits.h
17:01 sapier or climits on c++ syntax
17:01 VanessaE (well 210*14 = 2940 but I was just estimating)
17:01 ShadowNinja sapier: C guarantees that shorts will be at least 16-bit.  But can shoorts be 32-bit?
17:02 PilzAdam oh wait, it sends each split package about 18 times
17:02 VanessaE wat
17:02 VanessaE well that's one order of mag
17:04 PilzAdam I have 4 or 5 split packets with ~540, 554 bytes each
17:05 PilzAdam and some parts are send up to 18 times
17:05 VanessaE how much of the data in those packets is, itself, composed of repeats as well?
17:05 PilzAdam that makes 21 MiB if I can type correctly into my calculator
17:05 VanessaE or put it a better way, how much of it is made of up data that signs_lib legitimately creates and how much of it is the engine being stupid?
17:05 PilzAdam *~540 parts
17:06 celeron55 sapier: i'm reading through the patchset
17:06 celeron55 https://github.com/sapier/minetest/commit/f129dce3004babc5d92c7ecbc79bdea2085bb24e#diff-39ed02ccc671fe3b6931967be58c4ed6R165
17:07 celeron55 this has side effects?
17:07 PilzAdam VanessaE, 496 bytes per part are from the texture string
17:07 PilzAdam thats almost everything
17:08 PilzAdam but I wonder why it sends each part 10 to 20 times
17:08 celeron55 or is addArea called from anywhere else
17:09 celeron55 yes it is
17:09 celeron55 this is likely to screw up at least MapVoxelManipulator::emerge()
17:09 VanessaE PilzAdam: I could *possibly* believe 20k per sign, that's in the realm of possibility given how complicated these signs are, but still..
17:10 celeron55 i don't remember what the details are about how that is supposed to work though
17:10 PilzAdam VanessaE, all the signs are in the 4 split packets á 300 k
17:12 celeron55 sapier: there is a clear distiction between these two and the commit breaks it: https://github.com/minetest/minetest/blob/master/src/voxel.h#L323
17:12 celeron55 also this comment https://github.com/sapier/minetest/commit/f129dce3004babc5d92c7ecbc79bdea2085bb24e#diff-e9d009d06bbf893e52773d13058e1f73R538
17:13 sapier well celeron55 the interesting thing is NOT doing it causes tests to fail
17:14 sapier I thought about deleting that define but didn't do it yet because I wanted to know if this was used by anyone
17:14 celeron55 i think we should be very careful with this because this code is from 2010 and hasn't ever caused known problems
17:14 VanessaE PilzAdam: well at least it explains some of the download time, but it doesn't explain the FPS sagging
17:14 sapier I didn't find any location where it's been used
17:15 PilzAdam VanessaE, thats a different issue
17:15 celeron55 sapier: addArea() is used in MapVoxelManipulator::emerge()
17:15 sapier using it would be difficult too as it's almost immediatly replaced by emerge
17:15 celeron55 which is not included in tests
17:15 sapier ok so I need to do additional checks
17:15 VanessaE PilzAdam: yep, I know.  just pointing it out.
17:16 VanessaE different issue, but related.
17:16 VanessaE PilzAdam: can you give me a paste(bin) of one of the signs' composite strings?
17:16 VanessaE like say something from the spawn that I would have some chance of recognizing
17:16 sapier still removing that emerge loop is one of the most effective cpu improvements ... about 10-20% of total improvement
17:17 sapier so if we don't need it we shouldn't have it in there
17:18 PilzAdam VanessaE, do a print(texture) there: https://github.com/PilzAdam/signs/blob/master/init.lua#L261
17:19 sapier MapVoxelManipulator::emerge just calls VoxelManupulator::emerge?
17:19 sapier ahh there's another implementation
17:20 jin_xi joined #minetest-dev
17:21 celeron55 i'm fairly sure MapVoxelManipulator hasn't been used anywhere since a long time; it's an automatically allocating and fetching version of the manual one
17:21 celeron55 so it could be removed
17:22 celeron55 if it *is* removed, then the interfaces related to VOXELFLAG_NOT_LOADED and VOXELFLAG_INEXISTENT must be respecified
17:22 sapier maybe that's best option instead of keeping some slow compatibility mode for something not used at all, I'm gonna recheck it and do this later
17:22 celeron55 because otherwise they will be left to a state where nothing matches each other (comments, code, old code)
17:23 sapier ok that's why I asked for review, I had to fix some code I'm qite new to and was only pointed at by profiler
17:25 celeron55 also
17:25 celeron55 https://github.com/sapier/minetest/commit/37a7f928457ef58b33bc29612505f69d08ec20a1
17:25 celeron55 this like this should have a comment stating that it is simply an optimization with no other effect
17:25 celeron55 also other things like this
17:26 celeron55 because it takes time to figure out if it's actually doing something different logically
17:26 celeron55 for anyone reading the code that is
17:26 ImQ009 joined #minetest-dev
17:27 celeron55 s/this like this should/thing like this should/
17:29 celeron55 otherwise i didn't find problems, but of course i didn't read it fully or test it at all
17:31 ShadowBot joined #minetest-dev
17:37 zat joined #minetest-dev
17:37 pro joined #minetest-dev
17:40 cg72 joined #minetest-dev
17:46 sapier thanks celeron, I'm adding the requested comments and re-check the addArea  thingy
17:49 PilzAdam sapier, any idea why Minetest sends the parts up to 20 times?
17:50 VanessaE trying it now, sapier...
17:51 whiskers75 joined #minetest-dev
17:52 sapier depends
17:52 sapier if your ack is lost minetest will resend the data
17:52 VanessaE sapier: 0 fps :)
17:52 sapier if your ack is delayed for too long, same thing will happen
17:53 sapier and if you usually have a fast connection and enter some stall state minetest will assume a ack to be lost after some ms in worst case
17:53 VanessaE but it works and the item rendering is certainly faster
17:54 PilzAdam sapier, its only the entity packets that are split, and 20 time per part, that sounds like bad tuning to me
17:54 sapier to me too ... the tuning algorithm is quite simple there's way for improvement
17:55 sapier -way + room
17:55 VanessaE and...crash :)
17:55 sapier I basically tested it for media transfer as there's a lot of traffic
17:55 sapier I don't like crashes ;-)
17:56 celeron55 is it confirmed in some way that this really is a protocol problem instead of something high-level?
17:56 celeron55 seems like an easy misconclusion
17:58 PilzAdam celeron55, does high level handle splitting of packets and resending when not getting an ack?
17:58 celeron55 no
17:58 celeron55 so it is confirmed then
18:01 VanessaE sapier: ah, there it is.  yep, OOM again :D
18:01 sapier could you please upgrade your memory vanessae? ;-)
18:02 VanessaE sapier: could you please send me about $200 for a nice tablet? ;)
18:02 sapier or just use another game
18:02 sapier or way less entities ;-)
18:02 VanessaE :P
18:03 sapier I used about half a megabyte to get that performance boost ... so either upgrade your cpu or your memory ;-)
18:03 VanessaE or stop using that ugly screenshot hack :)
18:03 VanessaE this time I was just walking casually down the street :)
18:03 sapier that one doesn't use any more memory than before now
18:04 sapier at least if I didn't add a bug
18:05 sapier I don't do a full screenshot any longer but just cut a piece in the middle, basicaly same as render to texture but node beeing placed in middle instead of lower left corner
18:05 ShadowNinja Comments on #1353?  (Particularly the set/get_global thing)
18:05 ShadowBot https://github.com/minetest/minetest/issues/1353 -- Add strict module by ShadowNinja
18:06 sapier I'm against this
18:06 ShadowNinja sapier: Against the strict module?  If so, why?
18:07 sapier I don't want to rewrite whole mobf just to add core.set_global and core.get_global for any part of mobf I splited to a separate mod
18:07 ShadowNinja sapier: Ah, so only that part.
18:08 sapier this is fine fas long as you have a single closed mod not having any dependencys to other mods but not if you have modpacks with closely linked code
18:08 celeron55 umm
18:08 ShadowNinja sapier: It is very clunky.
18:08 sapier it's just slow
18:09 ShadowNinja However you need something like that to avoid warnings when warn_init is set.
18:09 celeron55 sapier: so how many global variables you have that you set from a function at the first time and not from the global scope?
18:09 celeron55 hopefully none, because that is very bad coding style
18:09 sapier setting most likely isn't a big change ... but always get it is crap
18:10 ShadowNinja celeron55: That produces a error().  But setting globals from the main file scope produces warnings when warn_init is set.
18:10 sapier I'm gonna have to add about 50-100 lines of header code to get all of my global data to local variables in about 50-100 files
18:10 ShadowNinja Howefully you only export one or two globals though.
18:10 ShadowNinja Hopefully*
18:11 celeron55 you can't be having so many global variables because they're polluting the scope of other mods then
18:11 celeron55 and if they are so long that they don't, what's the point of having them as separate variables instead of in a table
18:12 sapier each of my components is a separate global namespace
18:12 sapier so about 20-30 components by now
18:12 celeron55 well then it's just better that you explicitly see what components each file uses?
18:12 sapier but not all of them are there
18:12 sapier so I have to check them for presence
18:13 sapier of course this can be done ... it's like minetest-> core transition ... no big deal but a lot of typewriting
18:14 sapier btw does this prevent global functions too?
18:14 celeron55 minetest -> core is just `sed -i -e "s/minetest\\./core./g"`, don't compare to that
18:14 sapier no it isn't celeorn
18:14 sapier because you always have to check if that minetest isn't just some comment or part of something else
18:15 sapier as I said not a big deal but some time
18:15 celeron55 hmm
18:15 celeron55 checking the precense of global things is actually a thing that is done sometimes in minetest mods
18:15 celeron55 because global things is how everything exports interfaces
18:15 celeron55 ShadowNinja: have you considered this?
18:16 sapier yes I try to avoid globals too but I use them for things that should be available global
18:16 sapier and as mobf has a lot of features that are used by different parts there are some global things in it
18:16 ShadowNinja This only error()s on things that are either errors or very bad style, that being using uninitialized globals in functions.
18:16 ShadowNinja celeron55: Yes, that's what get_global is for.
18:16 sapier have you tried mobf?
18:17 ShadowNinja You aren't warned about that by default though.
18:17 celeron55 so if we enable only the error on setting a new global from a function, there should be no issues (nothing else giving even a warning), but a lot of help still
18:17 ShadowNinja Also, mod namespaces (== minetest.get_current_modname()) are explictly ignored.
18:17 celeron55 and full compatibility to everything that does anything that is even remotely sane
18:17 celeron55 (i.e. anything except creating globals using functions)
18:18 sapier ShadowNinja: is it possible you do bug me on purpos with any of you changes ;-)
18:18 ShadowNinja celeron55: Getting a non-existent global in a function isn't allowed.  I've only seen that done in the main file scope though.
18:18 SoniEx2 make it so you can use raw PNG data in textures
18:19 ShadowNinja celeron55: Do you think warn_init should be enabled?
18:20 sapier wait ... get_global(name) on a non existent name HAS to work ... it's supposed to return nil without any error message or crash
18:20 SoniEx2 as in, texture = io.open("your.png","rb"):read("*a")
18:20 celeron55 SoniEx2: say this at some other time
18:20 ShadowNinja Also a warning log level should be added, I looked at the log system but found it very ugly.
18:20 SoniEx2 altho I wouldn't use it that way
18:20 SoniEx2 celeron55, uhh ok...
18:20 celeron55 ShadowNinja: i don't think any of this should be enabled by default except maybe errors on setting global variables inside functions
18:21 celeron55 it's a modder's tool really
18:22 celeron55 making it easily enableable is important though so that modders see it and use it
18:23 celeron55 users are generally happier if buggy mods run despite of their bugs and don't flood their logs with warnings
18:25 celeron55 also, it is intentional that there is no warning log level, because i personally found it useless; you can just log then as errors or info depending on their severity
18:25 celeron55 them*
18:26 celeron55 ("warning" is really arbitrary because they can be completely ignoreable or very severe and almost everything will be a warning then, making it pointless)
18:27 Eater4 joined #minetest-dev
18:28 SoniEx2 celeron55, add "notice" and "warning"
18:28 SoniEx2 then "notice" for the "good" warnings and "warning" for the "bad" warnings
18:30 celeron55 then there will be some arbitrarily chosen default level, and everyone will just use that for their messages because otherwise nobody will see them
18:30 celeron55 and all point was gone again
18:30 celeron55 it's good to be minimalistic
18:31 SoniEx2 ok make it so it has these levels: "debug", "info", "notice", "warning", "exception", "error"
18:32 celeron55 maybe the levels will be a floating point number which is randomized a bit on each startup; then nobody can use the number that is exactly a bit above the default limit? 8)
18:32 SoniEx2 most ppl'll use "warning"
18:32 SoniEx2 good ppl'll use "notice" or "exception"
18:32 ShadowNinja A lot of things should be moved from info, it's like debug.
18:32 SoniEx2 then you can make "warning" crash
18:32 ShadowNinja warning definitely shouldn't crash.
18:32 ShadowNinja Not even error.
18:32 celeron55 ShadowNinja: that's because for a long time it was the miminum level that was visible -> everything was put there
18:33 celeron55 now the minimum default level is something elese
18:33 SoniEx2 make "warning" crash because the modder is stupid for using "warning"
18:33 celeron55 else*
18:33 SoniEx2 not because of something else
18:33 ShadowNinja I think the minimum is action or error now.
18:33 SoniEx2 hmm
18:33 SoniEx2 make levels a bit mask?
18:34 SoniEx2 like PHP?
18:34 ShadowNinja But I don't like how levels are graduated.  You can't enable info without enabling action for example.
18:34 celeron55 anyway this is mostly useless; a more useful thing would be a "subsystem" field in each log message
18:34 celeron55 then people could filter out whatever they want to see
18:34 SoniEx2 PHP is the answer
18:34 celeron55 plain levels don't help because it's just a competition to be most important
18:35 celeron55 you don't soolve that competition by adding more levels
18:35 celeron55 but by adding a second filtering term
18:35 SoniEx2 remove levels
18:35 SoniEx2 use regex
18:35 SoniEx2 or something
18:35 sapier left #minetest-dev
18:36 celeron55 ShadowNinja: yes, action is a bit weird
18:36 SoniEx2 so log("[error] <stuff>") and then regex "\[err(or)?\]"
18:36 SoniEx2 and then it gets [error] <something> and [err] <something>
18:36 SoniEx2 etc
18:36 SoniEx2 that could work
18:36 celeron55 that would be just silly
18:37 ShadowNinja FWIW, here's how I did it: https://github.com/ShadowNinja/LuaBot/blob/master/settings.lua.example#L8-L9
18:37 SoniEx2 celeron55, and convenient
18:37 celeron55 inconvenient
18:37 SoniEx2 because you can ignore mods
18:37 SoniEx2 and stuff
18:37 SoniEx2 and then you have infinite log levels
18:38 ShadowNinja Definitely not regexes.  Pipe minetest to grep if you want that.
18:38 SoniEx2 the only drawback being speed/slowness
18:38 celeron55 SoniEx2: maybe you should now say the actual thing you started talking about instead of this log bikeshedding
18:38 SoniEx2 ok
18:38 SoniEx2 let's talk about textures
18:39 SoniEx2 can we shove raw PNG bytes in strings and use that as a texture?
18:39 celeron55 currently, no; but making an implementation of that would be easy (it would be impossible to free the textures, but that's the case for every texture currently)
18:41 SoniEx2 I would only use it during startup (even tho I can see stupid ppl not doing so...)
18:41 SoniEx2 no idea how to handle that...
18:41 celeron55 hmm... just adding a texture modifier called "png" would be a rather clean and trivial implementation
18:42 celeron55 but it would need base64 encoding or something like that
18:42 celeron55 that's how web browsers do it
18:42 SoniEx2 uhh
18:42 SoniEx2 what's the syntax for modifiers?
18:42 celeron55 i tried to find documentation about them, but couldn't; it seems they are not mentioned in lua_api.txt...
18:43 celeron55 i think there's something on dev.minetest.net
18:43 SoniEx2 something like [png<stuff>?
18:43 SoniEx2 if so, [png;<size>;<data>
18:43 celeron55 can someone find this for me
18:43 SoniEx2 needs buffer overflow check
18:44 celeron55 here: http://dev.minetest.net/texture
18:44 SoniEx2 yeah ok [png;<byte count>;<data>
18:44 Garmine joined #minetest-dev
18:45 celeron55 hmm, indeed it maybe could use raw data with size
18:45 celeron55 that needs modification of the parser though which is not ideal
18:45 celeron55 but a more important issue is, how large fields do we use over the network for these names
18:45 SoniEx2 uhh damn :/
18:45 celeron55 i'm betting 16 bit unsigned
18:46 celeron55 so they will be limited to 64kB
18:46 SoniEx2 hmm...
18:47 SoniEx2 make the server preprocess the string?
18:48 celeron55 and what about formspecs
18:48 celeron55 umm... i recall there was some weird escaping thing going on for the '['s there
18:49 celeron55 hmm... not even sure, i need to check
18:52 celeron55 wut, i don't even know for sure by looking at this code; we need to ask sapier
18:52 SoniEx2 ouch
18:52 celeron55 i guess the server probably should assign some kind of unique name for the texture and transmit the data some other way
18:53 celeron55 the details get complicated that way though
18:53 celeron55 and we need someone to actually figure it out
18:55 celeron55 this is actually ending up maybe such way that it should be generic for all media files and maybe the mod has to assign the unqiue name
18:56 celeron55 and use a special api for adding it
18:56 celeron55 then there is the question of how does the server know which client needs the data
18:57 celeron55 it doesn't really understand the concept of some client having a reference to a media file and some not (the references can be from multiple different kind of places)
18:58 celeron55 this is what i mean when i would like to just have them base64 encoded in the texture name, at least as an initial implementation for simple things 8)
18:59 celeron55 then again, if the use case is such that the media should be transferred to all clients anyway, it makes sense to go the special api route first
18:59 celeron55 which is the case for eg. a global map
19:00 celeron55 anyway, this is what the thing boils down to
19:00 SoniEx2 I see
19:00 SoniEx2 so it would need a minor rewrite
19:01 SoniEx2 well add a function that turns raw PNG data into an identifier
19:01 SoniEx2 then add a filesystem hack thingy
19:01 SoniEx2 then you can use that identifier as a texture path
19:02 celeron55 shoveling the media to the client is actually somewhat easy; it's already done in a highly custom way anyway; it's just inflexible from the modder's standpoint
19:02 celeron55 maybe it needs a new protocol packet distinct from the initial media transfer but that's minor
19:03 celeron55 you can basically just slap a name for a bunch of data and insert it into the client
19:04 VanessaE celeron55: btw, you said earlier that ^[ compositing strings seem to be limited to 64kB, yes?
19:04 VanessaE is that in all cases in which they're used?
19:26 celeron55 most
19:27 VanessaE ok
19:27 celeron55 or, well, that is the minimum; but sometimes it is 32bit (4GB) too, or sometimes it is a combined maximum of 4GB
19:28 celeron55 there's no easy way to scan through all occurrences of these
19:28 celeron55 for all i can know, there could be some that is maxed out at 256B
19:28 celeron55 but haven't seen one yet
19:28 VanessaE no worries, I was just thinking back to PilzAdam's comments about the size of those signs' texture strings.
19:37 restcoser joined #minetest-dev
19:59 ligeti joined #minetest-dev
20:01 ligeti Hello... can anyone please help me to figure out what is the (seems to be) random u16 number and 0x01 that comes after the channel number in the packet? I can't see anything that manipulate that in the source code but yet it is there... is it a bug?
20:02 ligeti I am testing the chat packets by the way ...
20:02 ligeti if anyone interested to investigate this please let me know... thanks
20:03 celeron55 you're certainly wrong about it being a bug
20:03 celeron55 but nobody can remember low-level protocol details like that from the top of their heads
20:05 celeron55 it's probably a RELIABLE-type packet: https://github.com/minetest/minetest/blob/master/src/connection.h#L294
20:05 ligeti thanks... checking
20:05 celeron55 which will contain either ORIGINAL or SPLIT
20:06 celeron55 which contains the actual high-level data
20:06 ligeti it is just a u16 ... so I think it is a check or something (I didn't check the response... checking now)
20:07 celeron55 just paste the packet data here but don't expect us to decode more than one packet for you
20:09 ligeti celeron55, so kind of you, but I am afraid that I figured it out already :) it was some sort of a sequence number ... that the server sends back (as a confirmation I guess)
20:10 celeron55 how far do you intend to implement the protocol yourself?
20:10 celeron55 and in which language
20:10 ligeti and by the way (I know this is not the place but...) great job, I don't usually see such a clean and clear code in the open source community
20:11 celeron55 i don't know if you can believe this but i have seen absolutely every possible kinds of comments about the code
20:11 ligeti well... I am testing the security :P and making a python bot to ... copy the chat from IRC to the clients (using the server)
20:11 celeron55 but thanks in this case, i guess 8)
20:13 celeron55 if you intend to make it not look horrible, you may want to release the protocol part or even the whole thing on the forums; i bet many people would like to mess around with it
20:13 ligeti well of course I will
20:13 ligeti :)
20:15 celeron55 i'm looking at the dates of our open pull requests and i can see a structure there: there are like 1.5 pages of recent not ancient ones, and the rest 1.5 pages are almost or more than a year old
20:15 celeron55 i think we should just close the other half of them as being too old to make any sense to consider
20:16 celeron55 nobody can expect them to be merged anyway
20:17 celeron55 and also set up a policy of closing PRs that are older than one year, because those make zero sense at all and unnecessary make the list look bad
20:17 ligeti I agree
20:17 celeron55 unnecessarily*
20:18 ligeti true
20:20 celeron55 ehm, altough, some of these are actually still very worth considering
20:22 sfan5 it could be helpful too see which ones a need a rebase
20:23 sfan5 I added the 'rebase needed' tag a while ago and went through all pulls.
20:26 celeron55 for example, this still needs discussion: https://github.com/minetest/minetest/pull/490
20:27 celeron55 i would propose that this would be added, but disabled by default
20:27 celeron55 so that server owners can use it if they want to do special things
20:28 celeron55 but it's utterly outdated to the extent that a rewrite is easier than a rebase
20:28 sfan5 yeah, that'd be nice
20:28 sfan5 but mods should be able to detect whether it is disabled
20:28 sfan5 it would make sense to just omit an automated upadate check instead of generating a warning every time
20:29 celeron55 mod updates are probably one of the most guestionable uses for that
20:30 celeron55 so i don't like it that you gave that as the first example
20:32 celeron55 what happened to this? https://github.com/minetest/minetest/pull/804
20:32 celeron55 it's just mysteriously forgotten without any comment explaining anything
20:35 Ghant__ibn_Itd joined #minetest-dev
20:37 celeron55 https://github.com/minetest/minetest/pull/683
20:37 celeron55 what was up with this? PilzAdam?
20:37 sfan5 celeron55: not mod updated, but only mod update _checks_
20:37 celeron55 it's totally rebaseable with like no effort at all
20:38 sfan5 updates*
20:38 celeron55 i want that to be either merged or closed, is there a reason to not merge it?
20:39 celeron55 it seems to be doing a roughly right thing, but i haven't been involved with that issue
20:40 PilzAdam celeron55, maybe it breaks existing mods/games
20:41 sfan5 if we follow that principle we can put minetest into the same state as minetest_game
20:42 celeron55 can someone go and figure out if it breaks them or not?
20:43 celeron55 i certainly don't have time for that
20:43 PilzAdam it generally seems to good to remove special handling for certain things
20:43 celeron55 if nobody has, i'm going to close this and that part of minetest will be broken until infinity
20:43 celeron55 which will be sad
20:43 sfan5 celeron55: the ARM I have is not big endian: http://ix.io/cS6
20:43 sfan5 IIRC only arm64 can optionally be big endian
20:44 celeron55 what? is ARM little endian?
20:44 sfan5 gcc says so
20:44 celeron55 i've always thought it's big endian
20:45 sfan5 arm is little endian, armeb is big endian
20:45 sfan5 arm64 can be both
20:46 celeron55 whatever, changed my comment
20:46 celeron55 or should we even close these?
20:46 PilzAdam sfan5, a
20:46 sfan5 PilzAdam, b
20:46 celeron55 what sense does it make to have these hanging there when nobody is going to ever handle them
20:46 PilzAdam *32bit arm can be big endian too
20:46 PilzAdam and why is the enter key so damn close to delete?
20:47 sfan5 arm is little endian, armeb is the same as arm but big endian
20:54 sfan5 https://github.com/minetest/minetest/pull/1357
20:55 sfan5 Allow custom liquids to have drops - basically the same as #683
20:55 ShadowBot https://github.com/minetest/minetest/issues/683 -- Allow custom liquids to have drops by 0gb-us
20:56 Piggybear87 <OldCoder> Tell #minetest-dev media is slow
20:57 sfan5 ^ PilzAdam
20:57 sfan5 (the thing above what Piggybear87 said)
20:59 celeron55 is this important? https://github.com/minetest/minetest/pull/641
21:00 celeron55 well, if it is, rebase and make a new pull request
21:01 sfan5 probably not 'important' but it definitely a good addition
21:01 sfan5 would someone care to ack to #1357?
21:01 ShadowBot https://github.com/minetest/minetest/issues/1357 -- Allow custom liquids to have drops by sfan5
21:01 OldCoder sfan5, is this a known issue? Hi BTW
21:02 sfan5 depends on your setup
21:02 OldCoder It didn't seem to happen until yesterday
21:02 sfan5 we know that media w/o remote_media is horribly slow
21:02 celeron55 sfan5: maybe it could be just added and then we'll keep our ears open for whether something breaks somewhere? 8)
21:02 OldCoder Yes. But what changed?
21:02 sfan5 celeron55: sounds good :P if anything breaks it is most likely the subgame devs fault anyway
21:03 sfan5 OldCoder: from which ver did you update?
21:03 OldCoder sfan5, I had a git that was a month or two old. Rebuilt from latest circa a day ago. Connected fine but nobody could connect to some worlds this morning. Then all evinced the issue. People in-game were fine.
21:04 OldCoder Restart corrected the problem. But it does seem to be media.
21:04 sfan5 IIRC there were no big changes to media stuff in the last month
21:04 OldCoder Checked with my colocation host; he says the network is fine today.
21:04 OldCoder And *all* people connecting from anywhere seemed to have the problem.
21:04 Piggybear87 OldCoder, I didn't connect. It hanged for about 5 minutes at media and I gave up.
21:05 sfan5 were you using remote_media?
21:05 OldCoder No; the point is, it worked for a while and stopped. Is the game no longer usable without curl?
21:05 OldCoder If so, that is the way it is; but useful to know
21:05 Amaz <OldCoder> And *all* people connecting from anywhere seemed to have the problem. I can connect.
21:05 OldCoder Amaz, I have restarted
21:05 celeron55 https://github.com/minetest/minetest/pull/583
21:05 sfan5 it would be interesting to see the debug output
21:05 OldCoder It seemed to happen after worlds had been running for a while
21:06 OldCoder sfan5, I shall review now. Excuse me.
21:06 Amaz I can still connect.
21:06 OldCoder Amaz, I have restarted; thanks.
21:06 celeron55 do i have to make a decision on this? or does someone have some kind of comments
21:07 celeron55 the comments there seem to be saying that that key should be added to lua too, but it doesn't really matter whether it's added at the same time
21:07 OldCoder sfan5, the debug.txt looks fine. Should we simply assume that all servers and clients should turn on curl? Do most clients have this now?
21:07 sfan5 there does not seem to be a consent on whether the server owner should be able to disable this
21:08 OldCoder sfan5, are you addressing C55 or me?
21:08 celeron55 why does it matter
21:08 celeron55 the user could just use a magnifying glass on the screen for the same effect
21:08 sfan5 OldCoder: c55; almost almost all windows build have cURL, for the linux builds you can never know because many are self-compiled
21:09 OldCoder sfan5, I think we'd better assume that non-curl is not guaranteed to be usable at all. Until evidence of other problems shows up. May I PM for a reminder of how to set up curl?
21:09 * Piggybear87 isn't self compiling anymore, the ppa is faster and easier... Lol.
21:09 sfan5 even if #583 does not get added, https://github.com/minetest/minetest/pull/583#issuecomment-15694987 should be considered
21:09 ShadowBot https://github.com/minetest/minetest/issues/583 -- Add zoom (a la optifine) by EXio4
21:10 celeron55 but that hasn't been implemented, this has been
21:10 OldCoder sfan5, I have PMd regarding curl
21:10 sfan5 ok
21:10 celeron55 and also they conflict with each other unless a clear scheme to make them work together is designed
21:11 sfan5 you mean 'client-side zoom' vs. 'zoom effect triggered by mod'?
21:11 celeron55 maybe it could simply be OR or something
21:12 celeron55 this is probably very easily rebaseable
21:12 celeron55 but... what is the actual use for this
21:12 paramat joined #minetest-dev
21:12 celeron55 this seems almost completely useless except for the first minute of playing around with it
21:13 celeron55 whatever, closing
21:14 celeron55 https://github.com/minetest/minetest/pull/546
21:15 celeron55 can this be done easily now that the menu uses Lua?
21:15 celeron55 ~tell sapier look at 546
21:15 ShadowBot celeron55: O.K.
21:17 sfan5 so.. can I merge #1357 now?
21:17 ShadowBot https://github.com/minetest/minetest/issues/1357 -- Allow custom liquids to have drops by sfan5
21:19 celeron55 i haven't looked at any games so i can't say
21:19 celeron55 take ten minutes to look at the most popular ones?
21:19 sfan5 ok
21:19 celeron55 if they don't seem to be broken, then just go ahead
21:20 sfan5 I think this was change in mt_game before the most games were forked from it
21:20 sfan5 changed*
21:20 sfan5 but I'll check
21:22 NakedFury joined #minetest-dev
21:24 sfan5 seems to be fine, merge incoming
21:34 Miner_48er joined #minetest-dev
21:35 celeron55 i am playing around with the doxygen pull request... oh god: http://i.imgur.com/vO1auYd.png
21:35 celeron55 what is this
21:36 celeron55 this is actually pretty fun... but i have yet to try to find out if this is useful at all
21:36 ligeti celeron55, this is exactly... a headache!
21:38 celeron55 this graph tries to explain how the scripting api implementation interfaces with other code
21:39 celeron55 it's basically saying "it's a clusterfuck that mostly goes through the Server class to absolutely everywhere"
21:39 ligeti lol
21:40 ligeti I see
21:47 celeron55 okay, i have decided that this is useful
21:47 celeron55 the reason is...
21:47 celeron55 this graph that it generated: http://i.imgur.com/PsoQC48.png
21:48 celeron55 you can actually directly see from this what i had to dig from the code earlier today to sapier
21:48 celeron55 and i didn't even see everything that it shows
21:50 celeron55 you directly see which things use VoxelManipulator::addArea(), and you also see which of them are actually used by anything
21:50 celeron55 and i didn't notice those MeshMakeData ones at all previously
21:51 celeron55 it's beautiful!
21:55 paramat ive found an undocumented bug in latest 049dev, can anyone reproduce this?: the clouds disappear when camera pitch dips below roughly -30deg. occurs when player is above y=208 and comes and goes every 100-200n of altitude. bug also comes and goes with time. i discovered the required camera pitch is exactly that needed for the cloud layer to be out of view when player is at y=1, so perhaps this is caused by code that t
21:55 paramat urns off clouds when they are 'out of view'
21:55 paramat oh and thanks for fixing custom skybox =)
21:55 celeron55 i fixed it immediately because i made the bug in the first place 8)
21:57 celeron55 paramat: does the sky change color when the clouds disappear?
21:58 celeron55 hmm, apparently no
21:59 PilzAdam 200 sounds suspicious
22:00 paramat yeah perhaps its nore's fix for 'rendering glitches near edge of map'?
22:01 celeron55 i am fairly sure it's irrlicht that is messing things up because i am not aware of anything in minetest that would switch clouds on or off
22:01 celeron55 but maybe MT is giving some kind of wrong values to irrlicht, or isn't updating something in irrlicht
22:01 celeron55 it's not anything new if irrlicht simply has a bug though
22:02 celeron55 it's obviously some kind of frustum culling
22:02 paramat that's what i thought
22:02 celeron55 with a wrong camera position or something
22:03 celeron55 hmm, yes, it certainly is due to the "rendering glitches near edge of map" thing
22:04 celeron55 the harder question is, where should the fix  go
22:04 celeron55 -space
22:04 paramat ah cool i guessed right
22:06 celeron55 i didn't test, but it seems very certain that it couldn't possibly have been broken before that
22:06 celeron55 someone would have complained about it
22:07 paramat yes i was surprised no-one noticed this, a recent bug ... shaders? i was going to ask RBA too
22:08 paramat if i see nore about i'll  ask him if his commit causes this
22:08 celeron55 i will try that now
22:09 celeron55 yes, it works before commit 062de11b4cff30861dd4e9eb56f131d821f34b51
22:14 RealBadAngel camera offset is not my code
22:14 RealBadAngel my waypoint were suffering that also
22:14 paramat i've just switched from 048 stable to 049 dev of june 4th, so have no experience of when this bug first appeared
22:14 RealBadAngel i think thats nore's code
22:16 RealBadAngel oh, you already figured out that was nore ;)
22:17 paramat heh yeas nore's commit was my gut feeling =)
22:17 paramat (yeah)
22:21 PilzAdam paramat, is your good feeling reliable? please go through all issues marked as "bug" ;-)
22:22 paramat :D
22:25 celeron55 ~tell nore fix 062de1 or find someone to fix it!
22:25 ShadowBot celeron55: O.K.
22:26 PilzAdam has someone counted the bugs that nore produced with his commit?
22:26 celeron55 it's going to cause bugs indefinitely into the future because it breaks the simplicity of just drawing something on the screen in an irrlicht-standard way
22:27 celeron55 it's a maintenance nightmare
22:27 celeron55 i hope nore will continue maintaining it... but at least it's easy to remove
22:27 celeron55 just replace all the weird additions with 0
22:28 paramat is it because clouds are a different scene-node?
22:29 celeron55 almost everything is, why is that even a question
22:30 * paramat doesnt know what he's talking about :)
22:39 dsimon joined #minetest-dev
22:43 Fresh_me_ joined #minetest-dev
22:44 Fresh_me_ joined #minetest-dev
22:47 ligeti to view the error messages (derr_con for example) is it enough to run the server from terminal?
22:51 kahrl ligeti: for most error messages, yes (they should also be in debug.txt), but not for derr_con specifically
22:52 kahrl since derr_con is verbosestream, you have to run minetest with the --verbose parameter
22:52 ligeti yes thanks
22:52 ligeti thank you, this will help my testing a lot!!!
22:53 kahrl if you want to send verbosestream to debug.txt as well, set debug_log_level = 4 in minetest.conf
22:54 kahrl and then also make sure to delete debug.txt once in a while ;)
22:55 ligeti I am just running: ./minetestserver --trace --logfile ~/debug.txt
22:55 ligeti I don't want to use the default debug.txt
22:56 kahrl yeah, that works, you'll see derr_con on the terminal
22:56 ligeti I do now :)
22:56 ligeti thanks again
22:57 PilzAdam joined #minetest-dev
23:08 sapier1 joined #minetest-dev
23:14 sapier1 to do 546 in lua we'd need to implement a slider formspec element, but I don't think that'd ne a big deal
23:19 cg72 joined #minetest-dev
23:19 cg72 **
23:20 kaeza joined #minetest-dev
23:22 ligeti OK guys... goodnight, and thanks for all the help :)
23:22 ligeti bye!
23:22 ligeti left #minetest-dev
23:42 EvergreenTree joined #minetest-dev
23:55 VanessaE kaeza: see this channel's logs from today 10:41 am to ~2 pm EST....  summary: signs_lib's image compositing appears to be the cause of the FPS sagging at spawns on my servers, and the length of the strings used to do it causes a lot of network traffic for PilzAdam.  Both issues imho are engine/client problems.

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