Time Nick Message 00:09 Exio4 what do you think about https://github.com/EXio4/minetest/commit/29f21b2? 00:10 PilzAdam Exio4, builtin functions shouldnt change in creative mode 00:10 PilzAdam its up to the games to do that 00:12 Exio4 i saw https://github.com/minetest/minetest/blob/master/builtin/item.lua#L411 and thought this would fit too :P 00:12 PilzAdam that should be removed 00:13 sapier I'm with pa don't disable half of api by creative mode ... yes I know "half of api" is a little bit more then actually done ;-) 01:42 hmmmm hmm sapier, do the reliable packets have a checksum? 01:43 hmmmm oh god, I noticed you made a "PeerHelper" smart pointer 01:43 hmmmm didn't we agree to not use smart pointers? 01:46 sapier yes but there wasn't a other sane way to do this 01:47 sapier I thought a lot about other options none was even close to usability of that damn smart pointer 01:48 sapier but if you have a good idea how to this without a smart pointer you're welcome 01:48 sapier no I can't add checksums as it's supposed to be a 100% compatible fix 01:49 hmmmm no no i was just wondering if they already did or not 01:49 sapier doesn't udp itself have a checksum? 01:52 sapier but keeping compatibility doesn't mean a new server can fix client side bugs ... yet it seems to reduce their occurance a little bit 01:52 hmmmm yeah udp does have a checksum 01:53 hmmmm it's funny, because I know of several games that do the whole "reliable UDP" thing and they have checksums too 01:54 sapier yes I tend to interpret this as not knowing what they're using ... or not beeing interested in 01:54 hmmmm commercial games 01:55 sapier so later one ... someone specified to have a checksum in protocol so programmer implemented it 01:57 sapier sometimes it's annoying if programmers do what they're told to do without spending a single thought on it :-) 02:03 kahrl isn't the udp checksum kind of optional? 02:04 kahrl by that I mean the sender can set it to zero, and then the receiver won't check it 02:04 sapier optional as you can set it to 0 if you don't want it 02:04 sapier yes 02:04 kahrl how do the different OSes handle that? 02:05 sapier no idea 02:06 sapier I wonder how to reduce oversending of udp packets without adding too much delay 02:32 PilzAdam moving the FPS out of the window title gives a speedud of 50 to 100% on some window managers 02:32 PilzAdam *speedup 02:32 VanessaE didn't I say this like three months ago? 02:32 sapier I thought that was clear for months now? 02:33 PilzAdam why isnt it done yet? 02:33 VanessaE PilzAdam: because random? 02:33 VanessaE NIH? 02:33 VanessaE no one cares? 02:33 VanessaE not "our" fault? 02:33 VanessaE etc 02:33 sapier guess classical small fix everyone assuming someone else will merge it 02:33 VanessaE I said move it to F5. everyone else said fuck off. 02:34 VanessaE (it's in F6 anyway so wtf?) 02:34 PilzAdam VanessaE, IIRC you said something about a couple of FPS, but not that much of a speedup 02:34 sapier no VanessaE always made clear it's a huge speedup (at least that's what I remember) 02:34 VanessaE PilzAdam: yeah, for me the speedup is very small. for the person who found it, doing that change doubled his fps. 02:35 VanessaE I forget who it was now who discovered it 02:35 PilzAdam and you use xfce too? 02:35 VanessaE yes 02:35 sapier ok maybe my memory isn't as well for this point 02:35 VanessaE the other person uses...eh, I forget what 02:36 VanessaE might have been KDE 02:36 VanessaE something relatively heavy I guess 02:36 sapier hmm not much out there windowmaker/gnustep/afterstep/kde/cinnamon/gnome2/gnome3/unity... 02:36 PilzAdam no, it doesnt have any effect on KDE 02:37 VanessaE damn it, who was it and what did he use? *grumble* 02:37 VanessaE lemme check my logs 02:37 PilzAdam the one that reported it just to me uses xfce 02:37 sapier maybe it's related to a specific xfce version too, yet I don't understand why we need to show fps in titlebar ;-) 02:39 sapier PA if you have the fix ready I agree to push it ;-) 02:39 VanessaE sapier: neither do I 02:39 PilzAdam sapier, I dont have it 02:39 VanessaE the name of the program is "minetest", not "minetest 27 fps" 02:40 sapier if we don't do it now we'll forget about it again does anyone have that fix? 02:40 VanessaE FreeNode-#minetest.log:Nov 06 2012 13:58:27 suggestion for the linux build... give it a "minetest" window class so that it can actually be matched by WMs because the title can't be used due to the FPS counter in there 02:40 VanessaE that doesn't seem right. seems too recent. 02:45 VanessaE well I can't find the original reference but plenty of chatter here and there. so, let's just take it the fuck out of the title bar a;ready? 02:45 VanessaE already* 02:46 VanessaE I have a simple patch that takes it out but it's not "right". 02:46 sapier can you post it to gist? 02:46 VanessaE http://pastebin.ubuntu.com/6632217/ 02:47 VanessaE I don't recall whose code this is though. 02:47 VanessaE so don't attribute it to me :) 02:47 sapier what's wrong with it? 02:47 VanessaE it leaves a couple of defined-but-not-used-variable compiler warnings, but other than that, it works fine. 02:48 sapier I guess I can handle this 02:49 VanessaE I'd suggest moving the fps that's in the F6 display over to F5 while you're at it 02:49 VanessaE or maybe not 02:49 VanessaE idk 02:49 rambomedic while you're at what? 02:49 VanessaE seems like it would be less easy to get lost in the f5 display :) 02:49 VanessaE rambomedic: he's ripping minetest all to hell and back ;) 02:49 Exio4 i would add it next to the coords 02:49 rambomedic who? what? I just joined VanessaE 02:50 VanessaE haha 02:50 VanessaE rambomedic: nevermind, sapier's just adding a small patch to the engine 02:50 sapier sad to tell vanessae but that code isn't even close to the location where titlebar fps is removed ;-) 02:50 VanessaE wanna bet? 02:50 Exio4 DOGEs to the rescue 02:50 rambomedic what does the patch do? 02:51 sapier I don't bet for good reasons ;-) 02:51 VanessaE sapier: don't ask me how it does it, but somehow it still works :) 02:51 PilzAdam sapier, Im doing it currently... 02:51 sapier ok pa then I wont start to do same thing 02:52 rambomedic ugh joining IRC mid-conversation and without context is so frustrating 02:52 sapier rambomedic: there's a log ;-P 02:52 kaeza that's why there are logs on the topic :) 02:52 VanessaE rambomedic: http://irc.minetest.ru/minetest-dev/2013-12-25#i_3514905 02:52 * rambomedic curls up in chiar 02:52 sapier I guess he got it ;-) 02:52 * rambomedic doesn't know how to spell chiar 02:52 VanessaE lol 02:53 rambomedic damnit I messed it up twice 02:53 sapier try chair 02:53 rambomedic (I know how to spell it, I just messed up) 02:53 PilzAdam https://github.com/PilzAdam/minetest/commit/4b31a38ae9b2d2019ddf75d09c1fdfd67f512067 02:53 sapier sorry ;-) 02:54 PilzAdam rambomedic, shit-chat goes to #minetest 02:54 VanessaE PilzAdam: ah, it was that extra static at 3385 I forgot to crop out wasn't it. 02:55 sapier https://github.com/PilzAdam/minetest/commit/4b31a38ae9b2d2019ddf75d09c1fdfd67f512067 agreed 02:55 VanessaE this seems good to me. 02:56 iqualfragile gdamn, why does github not support ipv6… 02:57 PilzAdam "Double performance" >> changelog.txt 02:57 iqualfragile :D 02:57 PilzAdam + (by PilzAdam) 02:58 VanessaE haha 03:05 rambomedic hmmmm: can we merge https://github.com/minetest/minetest_game/pull/220 03:06 hmmmm who's 'we' 03:07 rambomedic america 03:07 rambomedic *you 03:07 VanessaE the current batch of textures should probably be given another go with optipng and/or advpng rather than directly accepting that pull, though 03:08 * kaeza also pokes #minetest-dev with https://github.com/minetest/minetest/pull/1060 ...again 03:08 VanessaE I'm pretty sure there have been one or two changes since that pull + a few new ones, no? 03:08 hmmmm huh??! 03:08 rambomedic let me check 03:09 hmmmm I don't get it, how is that enum element inconsistent 03:09 VanessaE what, huh? 03:09 VanessaE oh 03:09 hmmmm and isn't that a bit too trivial for a pull request 03:09 kaeza hmmmm, all elements follow the same name as the HUD element def 03:10 kaeza plus lua_api.txt documents "position" (not "pos") for hud_change 03:10 hmmmm ah 03:12 kahrl I guess we can close 1069 now? 03:13 kahrl #1069 03:13 ShadowBot https://github.com/minetest/minetest/issues/1069 03:13 rambomedic VanessaE: just checked and confirmed, no textures have been added/changed since my pull requ 03:13 VanessaE ok then 03:13 VanessaE I'm okay with it, provided that it doesn't break the PNG loader. 03:13 VanessaE there's a potential glitch with Windows 8.1 and optipng'd images 03:14 rambomedic link? 03:14 VanessaE email. 03:14 VanessaE someone reported it to me after an HDX update. 03:14 rambomedic !g glitch optipng windows 8.1 03:14 ShadowBot rambomedic: https://github.com/jorgebastida/glue/blob/master/docs/optipng.rst 03:14 VanessaE I optipng'd all of that format in all HDX sizes. 03:14 rambomedic do clarifyt 03:15 VanessaE the person reported that win 8.1 + minetest 0.4.8 (presumed stable) aborts with a bad alloc error (but he gave no log output) 03:15 VanessaE says that some images are not recognized as images at all (let alone PNGs) but they all work perfectly for me. 03:15 rambomedic and before compressing the textures it doesn't? 03:15 VanessaE (but then, I use Linux) 03:15 VanessaE supposedly so, yeah 03:16 VanessaE so there may be something about the png format that optipng uses that win 8.1 can't handle, so be wary of it? 03:16 VanessaE I can't test this, so I can only report what's reported to me. 03:17 rambomedic then I'm assuming it may be a bug with windows' png library? ask him for a log 03:17 VanessaE that's what I told him. 03:17 VanessaE can anyone else confirm that? 04:44 hmmmm oh snap 04:44 hmmmm we need to get ready to release 04:44 hmmmm thexyz around? 04:44 hmmmm anybody who can do some windows builds? debian repo updates? 04:45 sapier I can but I'm not sure if we didn't add a bug recently 04:46 hmmmm all of the commits to master have been bugfixes for more than a week 04:46 sapier I can join to my fixed server branch with fixed version (of course) as well as 0.4.8 ... but master seems to be stuck at loading item definitions 04:46 hmmmm hmm 04:46 sapier I'd like to have a closer look to this 04:46 sapier at least try to reproduce it ;-) 04:47 hmmmm if we can fix it within the next, say, 12 hours, I'd say we can do a christmas release 04:47 hmmmm vanessae tried to bisect it but was getting weird results 04:47 sapier it's not even sure to be a core bug so maybe it's not relevant for release 04:47 sapier I know whats cause for beeing stuck at downloading textures 04:47 hmmmm so it's not readily reproducible? 04:48 sapier I need vanessae's server to reproduce on localnet timing doesn't seem to be suitable to cause it 04:48 hmmmm is it readily reproducible for vanessae's server? 04:49 hmmmm I thought vanessae was having problems connecting to other servers though, not to her onw 04:49 hmmmm own* 04:49 VanessaE sapier: I've pulled and am putting your currend HEAD in now 04:49 sapier cheapie seems to be stuck everytime and I had it at least once 04:49 VanessaE hmmmm: only redcrab's 0.4.4 server was a problem. 04:49 VanessaE sapier: my servers are ready to restart with yours now. 04:50 VanessaE hmmmm: and I bisected it to kahrl's httpfetch patch. 04:50 sapier ok you should have way less cpu load now 04:50 sapier kahrl already proposed/pushed some fixes for it 04:51 VanessaE oh ok, didn't try it recently. 04:51 hmmmm what do you guys think about this https://github.com/kwolekr/minetest/commit/208247f65351dab93c89ede0b4b07f4e915268bf 04:51 hmmmm it's to fix proller's thing 04:51 VanessaE lemme check with current HEAD. 04:51 VanessaE ah yes, it's fine now. 04:51 VanessaE ok, so that's solved. guess I didn't get the memo :) 04:52 VanessaE sapier: my servers are ready for your tests. 04:52 sapier seems to be fine hmmmm 04:52 hmmmm I think it's just one of those transient errors 04:52 sapier what about cpu load vanessae? 04:52 hmmmm sapier, I mean is there a better way to fix it, not if it's fine or not 04:52 VanessaE oh that's MUCH better 04:52 hmmmm i.e. changing the order in which things are deinitialized 04:52 sapier a better way ... throw an exception fix all destructors on it's way to the top ;-) 04:52 VanessaE CPU loads are all < 3% except for survival, and that's only because I'm actually *on* it. 04:53 VanessaE this is about like I would expect it to be. 04:53 sapier ok lets try master version again 04:53 VanessaE in fact, Nostalgia world is actually the one using the most (about 9%) 04:53 VanessaE ok 04:53 VanessaE Survival shot up to 90% for a moment 04:53 VanessaE it's hanging at about... 04:53 VanessaE well was hanging at 80%-odd. 04:54 sapier and stuck at item definitions :-( 04:54 VanessaE now it's at nearly zippo. 04:54 sapier high cpu load again? 04:54 VanessaE no 04:54 VanessaE "zippo" is a synonym for "zero" 04:54 sapier :-) 04:54 VanessaE it's nearly zero 04:54 VanessaE varying of course 04:55 VanessaE ~0...5...10...5..20....5... you get the idea 04:55 sapier yes if there's work to do my branch wont hesitate to make your cores to do it ;-) and as I split sending from receiving maxing out 2 cores is possible now 04:56 NakedFury isnt there a way so all the devs can see real time the cpu load of a tested server? like a live video feed just showing all the statistic they would need. 04:57 VanessaE brb 04:57 sapier ok now I can connect with master 04:57 NakedFury merry holiday 04:57 sapier ok not exactly 04:58 VanessaE looks like it crashes. 04:58 VanessaE crashed* 04:59 sapier crashed? 04:59 sapier can you provide a log? 04:59 VanessaE checkin 04:59 VanessaE http://pastebin.ubuntu.com/6632585/ 05:00 sapier ok that's not as quick to fix as before 05:00 VanessaE recommendation? 05:01 sapier as master connect doesn't work for some reason ... and I need to get some sleep ... back to master and another try once you've got time again 05:01 VanessaE ok 05:01 VanessaE no prob 05:02 rambomedic serious bug with gnome 3 #1071 05:02 sapier I wonder if this really is a regression in master 05:02 ShadowBot https://github.com/minetest/minetest/issues/1071 05:02 hmmmm you know 05:02 hmmmm I think I should m_con.Stop() in Server::~Server() 05:03 sapier and wait for it 05:04 hmmmm oh 05:04 hmmmm Stop doesn't wait? 05:04 sapier no 05:04 sapier just requests thread to stop 05:04 hmmmm does Kill wait? 05:04 sapier no kill does kill 05:04 hmmmm nonsense, I see a pthread_join in there 05:04 sapier which usually isn't what you want to do 05:04 sapier kill is bad 05:05 sapier hmm 05:05 sapier wait I'll have a look 05:05 hmmmm oh nevermind 05:05 hmmmm pthread_cancel first 05:06 sapier ok kill doesn't wait 05:06 hmmmm it only does that first join if it's not running but started 05:06 sapier yes 05:06 hmmmm right 05:06 sapier but if you kill a running thread it just kills 05:07 hmmmm so at the moment, Server::m_con is simply being killed after ~Server finishes 05:07 hmmmm yes? 05:08 hmmmm so instead of ignoring EBADF what I should do is indeed m_con.Stop(); m_con.Wait(); 05:08 hmmmm before deleting the peers 05:08 sapier seems to be yes 05:08 hmmmm that won't work though 05:08 hmmmm I need to cancel out of the select() 05:08 sapier isn't there a timeout? 05:09 hmmmm is there? 05:09 sapier I think so 05:09 sapier but I may mix it up with my fixes there it is 05:09 hmmmm I guess it's settable via the config? 05:11 sapier I can't tell for sure I guess I need to get some sleep prior beeing helpfull again .. sorry 05:11 hmmmm not it's not 05:11 hmmmm it's called with a timeout of 0 * 1000 05:11 hmmmm which if I recall is INFINITE 05:11 hmmmm so like..... what.... signal(SIGUSR1) or something (which won't work on windows anyway, so that adds even more complication) 05:12 sapier is this UDPSocket wait? 05:12 hmmmm yes 05:12 hmmmm Connection::receive -> UDPSocket::WaitData() 05:12 sapier if you call it with 0 there's no wait ... just ask vanessae I maxed out her cpu usage by doing it this way ;-) 05:13 VanessaE lol 05:13 hmmmm erm 05:13 hmmmm the wording says "to effect a poll, the timeout argument should point to a zero-valued timeval structure" 05:13 hmmmm whatever that means 05:14 sapier maybe there's something else modifying behaviour there are some layers pf code till actual select call 05:14 hmmmm I'm confused on the behavior of a select() with a 0-valued timeval structure 05:15 hmmmm because it's clearly what's being passed as the argument to that select call 05:15 sapier blocking/non-blocking socket? 05:16 sapier if it's non blocking it's always ready to read 05:16 hmmmm it's blocking, is it not? 05:16 sapier I don't know 05:16 sapier I'm just throwing random related thoughts in right now ;-) 05:16 hmmmm how do you not know, you rewrote the entire connection code 05:17 sapier but not the udpsocket ;-) 05:17 hmmmm mm 05:17 sapier that part did surprisingly work well 05:17 * hmmmm searches 05:18 sapier I didn't rewrite connection code I just put it into mixer, puzzled and glued resulting parts together afterwards ;-) 05:19 sapier good night :-) 05:19 hmmmm >ctrl+f O_NONBLOCK 05:19 hmmmm >0 results found. 05:20 sapier so it may be interesting to find out why that socket returns immediatly in my new code 05:21 sapier ... i didn't check that one for multithreading issues yet ... guess I'm gonna do that tomorrow 05:24 rambomedic serious gnome 3 bug #1071 05:24 ShadowBot https://github.com/minetest/minetest/issues/1071 05:29 hmmmm well, to sapier: 05:29 hmmmm the thing is, the way Connection uses UDPSocket is that it always has a zero wait 05:30 hmmmm what that documentation means, "effect a poll" just says that it immediately returns *as if* the socket was nonblocking 05:30 hmmmm so the wait happens elsewhere within Connection, not at all in the UDPSocket 05:30 hmmmm that's why your stuff is driving up the cpu, because you are responsible for waiting 05:31 hmmmm and as for my answer, the timeout is at the mercy of however the hell long the Connection thread decides to wait 05:32 hmmmm it might be a good idea to just simply check EBADF after all... there's no harm in select() failing on that if we're shutting down 13:56 sapier you can already do this in lua john 15:13 sapier john_minetest: whats "lol" about it? I haven't had a look at it by now 15:31 hmmmm release! 15:31 hmmmm also merry christmas 16:07 proller фтв ыешдд ыргевщцт скфыр умукнцруку 16:08 proller and shutdown crash everywhere 16:34 proller 101% for me 8( 16:38 ShadowNinja And the serverlist is broken! 16:39 ShadowNinja (Unless the config changed or something like that) 17:35 sapier ShadowNinja: I can see serverlist, can you be more precise what is broken? 17:39 sapier thexyz did you stumble uppon excessive memory usage due to simultaneous joing of clients on servers with lots of textures yet? 17:47 thexyz sapier: with enet or what? 17:48 sapier it's not a issue with networking protocol but the way minetest transfers texutres 17:49 sapier once a client connects mintest prepares all chunks to be sent queuing them for that particular client 17:49 sapier obviously if that data isn't out by the time next client connects it's going to requeue same data 17:50 sapier if your server has about 170 mb of media data it's gonna blow 17:50 thexyz I didn't test it 17:50 sapier I'd expect any protocol will be affected by this behaviour so we gonna need to fix it anyway 17:50 thexyz also if your server has about 170 mb of data, you plan to host a large number of clients and don't have remote media/httpfetch then it's your fault 17:51 sapier it's not about planing 17:51 thexyz btw, I didn't manage to benchmark your server improvements because every client was eating about 100% of cpu 17:51 sapier it's a dos attack ... a quite simple one 17:51 ShadowNinja sapier: Serverlist announcing I meant. It works for Vanessa after the fixer commit, but not for me. 17:51 thexyz if you want to fix it then go on, but I don't think this is important at all 17:52 sapier cpu usage is already fixed was missreading of 0 timeout not meaning wait for ever but return immediately 17:52 thexyz a dos attack? since when do you need to dos minetestserver? 17:52 thexyz I mean, just play on it 17:52 thexyz anyway, it's your time so feel free to spend it on fixing this 17:53 thexyz sapier: okay, I'll check it later today once again then 17:53 sapier if you don't have any interest in it I won't fix it because without cooperation it needs to be done twice once for mine and again for future enet versions 17:53 sapier and it's not even worth doing this as of educational purpose 17:54 thexyz future enet? I thought you're not interested in it 17:54 thexyz anyway, you got it correctly -- I'm not interested in fixing this 17:54 sapier as far as I know decision for enet has been made unless there ain't a unfixable flaw in ther 17:54 sapier e 17:55 sapier it doesn't matter if I still think it's wrong or not if the decision is made this way 17:56 thexyz as far as I know the decision was to go with UDP + TCP 17:56 sapier is anyone working at this? 17:57 sapier it's sad we don't even know for sure what has been decided 17:58 sapier I guess that's the real flaw in our development process ;-) 17:58 thexyz I don't know 17:58 thexyz I checked the logs that day 17:59 thexyz http://irc.minetest.ru/minetest-dev/2013-12-20#i_3505769 17:59 thexyz everybody agrees that we need TCP+UDP but nobody is working on it 18:00 sapier that's really ugly 18:00 sapier problem with tcp+udp is it's even more work then enet 18:01 sapier I guess I could replace the "reliability" code from my aproach quite easy but hard to test that hybrid aproach 18:05 thexyz well? I know 18:05 thexyz tell that to them 21:05 Exio4 new year release? 21:09 proller coredumps everywhere 21:13 sapier proller could you please stop beeing destructive only and start beeing helpfull? 21:13 proller i can make bt 5 times 21:14 sapier a backtrace isn't enough, you need to describe exactly what you're doing and what version you're using 21:15 hmmmm alright, new year release 21:15 sapier did you try already check out the fix kahrl suggested tonight? 21:15 hmmmm what fix 21:15 hmmmm if it's about the unhandled socket exception on shutdown I've got that covered, stop freaking worrying about it 21:15 sapier or was it hmmmm ... let me look at logs, guess I'll never sort the fill word guy and kahrl :-) 21:16 sapier no offence hmmmm ;-) just joking 21:16 hmmmm sapier, did you see what I said yesterday after you left 21:16 hmmmm I mentioned the reason why your code takes up 100% cpu 21:16 hmmmm you are responsible for all sleeping, UDPSocket::receive() returns instantly 21:17 sapier yes I already added a fix so if there's a explanation for it it's fine 21:18 sapier as I split send from receive I can do a blocking wait using a timeout there 21:19 sapier but back to prollers problem is this your shutdown/logout/leave problem only or is there a reproducable case in game? 21:26 Sokomine colored chat? that sounds fine! i'd love to see that 21:26 VargaD Hi, does freeminer changes merged back to minetest? 21:27 VargaD can I help in merging some of the interesting features? 21:28 iqualfragile VargaD: thexyz stated that he would not put any effort into merging features back into minetest, proller is unable to create clean pull requests so i guess they will not get merged back 21:29 iqualfragile VargaD: you can therefore help, try creating clean pull requests, but it might be smart to ask if people want that feature in here first. 21:30 VargaD I'm willing to provide clean pull requests one-by-one, but then I ask the feature first, thanks iqualfragile 21:40 sapier john_minetest: we did only bugfixing the last week if it wasn't there it isn't there yet ;-) 21:42 sapier it's quite normal the large amount of work is the one not visible at all ;-) 21:42 VargaD the changes highlight performance improvements but it seems the mutexed queue still used there unchanged 21:43 Exio4 so what? is your suggestion stop fixing shit and just add features? 21:43 sapier writing a feature usually is only about 1/3 of way to completion 21:44 sapier mutex queue is considered to be a risky fix, not something to do days prior release 21:44 iqualfragile VargaD: i would recommend not to care about those performance improvements 21:44 sapier it's a very special case only varga 21:45 VargaD sapier: can I help you in any way to merge the mutexed queue changed back? 21:45 sapier mutexed queue is ready to be merged, it's just not done yet 21:45 VargaD OK, thanks :) 21:46 sapier but you've been looking for a change to extract from freeminer, I don't know about this anything but maybe you could create a pull request for this? 21:46 sapier this beeing colored chat ;-) 21:47 hmmmm I don't want just colored text 21:47 hmmmm I want it to be a well designed, preferably standard format for text formatting 21:47 hmmmm if freeminer is okay with quick solutions that turn hacky later on, great 21:47 VargaD we do we need text formatting and color chat? 21:48 VargaD :) 21:48 hmmmm like celeron said, bbcode is okay 21:48 sapier that's why I said extracting it and create a pull request to develop until completion ... don't underestimate this task vargad 21:52 VargaD writing bbcode isn't that simple and fast, are you sure that it is useful in a chat of a realtime game? 21:55 kaeza how about some sort of (literal) escape sequence? that should be really simple 21:55 VargaD chat clients use simple shortcuts to bold/underlined text and also for colors 21:55 kaeza like \c1OMG RED!!!!\c0 21:55 sapier what about some sort of per player coloring only? 21:55 Exio4 \vXXXXXX 21:56 VargaD specing: that should e a different feature 21:56 Exio4 like the actual implementation kaeza? 21:56 VargaD and only color the name 21:56 kaeza Exio4, why do you need full 24 bit color for chat? :I 21:56 VargaD sorry I wanted to write sapier 21:57 Exio4 32* 21:57 Exio4 \vRGBA 21:57 Exio4 the alpha is optional 21:57 kaeza that's plain overkill 21:57 VargaD I don't think that creating a new solution to this very old problem is the best way to solve this task 21:58 sapier is it really usefull to write "\vFF0000FFHello"? 21:59 VargaD how about that widely used irc way: http://wiki.swiftirc.net/index.php?title=Colours 21:59 Exio4 mirc colors? no please 22:00 Exio4 i would prefer writing my messages in json instead of mIRC colors 22:00 Exio4 (something like kaeza's solution) 22:00 VargaD that actual message format can be anything 22:00 VargaD just it is easier to use simple shortcuts 22:00 sapier lol 22:01 kaeza it's easier for me to type \c0 than C-b :) 22:01 kaeza err... whatever the shortcut is 22:01 Exio4 something like '1 22:02 Exio4 something like 1 = red, but as shorcut is good 22:02 Exio4 as long as some "full color" solution is available for mods 22:04 VargaD Exio4: you are right mods need 24bit color with alpha, but I think that simple coloring should be easy to use 22:05 thexyz for now it uses \vRRGGBB format 22:05 thexyz \v being vertical tab 22:06 thexyz dunno about the ability for client to send colorized chat 22:08 thexyz if you're feeling like implementing bb code for such task then do it, but I think that's just wrong 22:08 Exio4 bbcode for realtime chat looks like overkill 22:08 Exio4 wasn't it a joke at first? 22:09 thexyz sapier: you won't write this, colors are purely for mods 22:09 thexyz like in shell 22:09 thexyz or in syntax highlighting 22:09 sapier oh ok good to know 22:10 thexyz well, who knows, it's possible to make a mod which does weird things 22:10 thexyz like parsing the message and adding colors to it 22:10 kaeza ^ useful for pings 22:11 thexyz yes, I've already done some modifications to the chatplus mod 22:12 hmmmm yes bbcode is a half-joke 22:12 thexyz they'll be here when finished https://github.com/xyzz/chatplusplus 22:12 hmmmm the point is to use something that exists and is something of a standard 22:12 thexyz but 22:12 thexyz what exists? 22:12 hmmmm we want more than color, we want to encode if the text is bold, italic, strikethrough, underline, the size, font, 22:12 thexyz you do? 22:13 hmmmm a general rich text format 22:13 hmmmm this isn't just for chatting 22:13 hmmmm this is for UI layout as well 22:13 thexyz ah 22:13 thexyz just throw webkit in 22:13 hmmmm and it just so happens that the same power and flexibility (or maybe a subset) 22:13 hmmmm can be present in the chat 22:13 hmmmm so when you want to make some text in the formspec bold you can use the same escape code as you would in chat 22:14 hmmmm we use the same parsing routine 22:14 thexyz yeah sure 22:14 hmmmm I am sorry, we are engineering software here, not slapping some random shit together to make a mud hut 22:14 hmmmm I'd like designs to be well thought out 22:14 thexyz http://librocket.com/ 22:15 hmmmm lol 22:15 thexyz you're adding more hacks to the faulty concept formspecs are 22:15 hmmmm I was thinking about formspec 22:15 Sokomine mud huts arn't the worst in mt. cobble boxes are much more evil 22:15 hmmmm I think it's totally plausible to do an overhaul to formspec to make it into something nice 22:15 hmmmm and I'd like to work on that sometime soon 22:16 Sokomine an option to format text would be very welcomed. i just had the problem to format text and to highlight some numbers - which is beyound what can be done well with formspecs currently 22:17 pitriss hmm hmm.. Guys maybe coloring should'nt be possible in chat.. Colour benefits are in different colors for join/part messages, system messages, /me etc.. and it should color whole line 22:17 thexyz then do it 22:17 pitriss it will make chat more readable just because when you want to chat then you can ignore lines just by color 22:18 Sokomine i don't see much usage for player-controled coloring either, but it's something younger users seem to love 22:19 Sokomine as for the rest, pitriss is right: colored text helps to analyze the information therein much faster in your mind 22:19 thexyz and then I'll replace those crude ugly awful hacks I'm doing with your sane perfect extensible solution 22:31 thexyz so what's the correct way to disable mapgen? 22:31 thexyz if I just say `allow_generate = false` then I guess server thread will just ask for the block again and again? 22:33 Exio4 a maybe-hacky solution would be answer with a block full of content_ignore 22:33 sapier can you enter a content_ignore node? 22:34 Exio4 you can't, afaik 22:34 thexyz I'd like it to not store this at all 22:34 Exio4 i didn't say "store" 22:35 thexyz won't the server save it? 22:35 VargaD proller has 447 commits, 58 in minetest master branch 22:35 thexyz I'm not sure, probably better to go read the code 22:35 thexyz but that's so boring :( 22:36 sepi Hi, can anyone please tell me how to skin a model in blender? 22:36 Exio4 how does the server handle the 'mapgen limit'? 22:37 Exio4 i see 22:38 iqualfragile sepi: i recommend asking that question in #blender 22:39 sepi iqualfragile: Ok, I just wanted to know if I can use regular UV mapping 22:39 Exio4 or in #minetest 22:40 thexyz by the way! 22:40 thexyz here's a set of some abm-related performance improvements https://github.com/freeminer/freeminer/commit/b1a64f466226dd8c2086fd2b0358661543ec9080 https://github.com/freeminer/freeminer/commit/e226c9f6d4ae9efdd77a93858737bb3ece07f54e https://github.com/freeminer/freeminer/commit/7ae8f655b2ef3e8db58aab094fd079b1b82915e5 22:43 thexyz this changes required_neighbors query complexity to O(1) (previously O(logN)) at expense of some overhead in memory usage 22:43 thexyz same for m_aabms 22:43 thexyz (my profiler told me this part of code takes the most time) 22:47 iqualfragile thexyz: thanks for the effort, these changes realy look good 22:47 iqualfragile (will obviously kill the cache, but it seems that does not matter) 22:49 thexyz this abmhandler also seems to be recreated on every step which isn't good 22:49 thexyz but meh 22:53 iqualfragile VargaD: you could make a pull request out of those changes 22:53 VargaD I'm reviewing those changes at the moment 22:54 thexyz do note that colored chat isn't ready yet 22:59 VargaD does using bitset actually improves performance? 23:00 thexyz using my very own bitset sure does 23:00 thexyz since all operations are O(1) now 23:00 thexyz and it's called very often 23:02 iqualfragile when i first looked at minetest modding one of my first thoughts was: wow, that must be expensive 23:09 thexyz what is? 23:10 iqualfragile thexyz: allowing to set neighbor nodes in abm 23:10 iqualfragile s 23:12 specing thexyz: std::vector? 23:12 thexyz specing: no, also never use std::vector 23:12 thexyz because it does evil things like packing your bits 23:13 specing oh, it is space efficient 23:13 thexyz yes, I dunno if it's reasonable to be space efficient 23:13 specing but we dont want space efficiency 23:13 specing we want 23:13 specing 13337 SP3333D! 23:13 thexyz it's not that hard to implement similar stuff without using vectors 23:14 thexyz but it does only eats 64 kb per abm so I honestly don't see the problem, you of course can decrease it to 8 kb/abm 23:14 thexyz just replace std::vector with std::bitset and I guess that's it 23:14 specing thats a lot of bits 0.o 23:15 thexyz that's the size of content_t 23:15 thexyz (just using std::bitset won't work because its count() is O(N) apparently) 23:20 specing I vote not a bug 23:20 specing currently 2:1 in favor of nota bug 23:20 iqualfragile specing: wtf? 23:21 specing iqualfragile: sup? 23:21 thexyz that's not how you decide if something is a bug 23:21 thexyz because it for sure is