Time Nick Message 00:53 vitaminx hi all 00:53 vitaminx i'm looking for a method to get the window dimensions of a client but i can't find it in the docu 00:53 vitaminx any idea? 00:56 vitaminx my gut feeling tells me it should maybe be in minetest.get_player_information(playername) 00:56 vitaminx but it's not there 00:56 hmmmm why would you need to know that kind of information? 00:57 vitaminx i'm trying to improve unified_inventory mod, which shows the currently selected node name above the health bar 00:58 hmmmm you're supposed to use relative positioning for everything 00:59 VanessaE hmmmm: the default hotbar HUD overlaps the health bar if the hotbar takes up two rows, as in dreambuilder, ever since that whole formspec scaling mishegas started 00:59 vitaminx yes, but there's an annoying thing that the hud scales to 200% when you increase the window over a certain size 00:59 VanessaE maybe he has thge same problem 00:59 VanessaE yep, he does 01:00 vitaminx so my plan is to detect when the hud scales and shift the text accordingly 01:00 vitaminx in theory :P 01:01 vitaminx Hi VanessaE, your mods are awesome :) 01:01 VanessaE thanks 01:01 hmmmm agh 01:02 hmmmm modders are trying their hardest to work around a completely fubar system 01:02 hmmmm this is agonizing to watch :( 01:03 vitaminx seems harder than i thought it will be :( :P 03:35 est31 why doesn't MT doesnt enable leveldb and gettext by default 03:36 est31 not including first is bad for speed latter anglo-centric 03:38 Zeno` hmmmm, didn't we discuss -O0 vs. -O1 a few weeks ago? 03:38 hmmmm we did 03:38 Zeno` hmmmm, I thought we decided that -O0 was ok. Did I misunderstand? 03:39 hmmmm I hate what -O1 does to debug symbols but it's necessary when doing general development work 03:39 hmmmm https://github.com/minetest/minetest/commit/e36681101efdfec3ed9cf9d70f7c5296c4124cd6 in any case, there's this now 03:39 hmmmm *you* may continue using Debug 03:39 hmmmm I'm going to use SemiDebug 03:39 Zeno` hmm. Can cmake support ... I was just about to ask that 03:40 hmmmm yes, you can define custom build modes 03:40 hmmmm the MSVC flags get set later on in that file, before you ask 03:40 est31 I mean leveldb include is no must-have. its a can-have, when its there include it. same with gettext and luajit. 03:40 Zeno` nope, I wasn't going to ask that. Was still reading :) 03:41 Zeno` I like that 03:41 hmmmm est31, sqlite3 is the conservative option 03:41 hmmmm and it's bundled in our source tree 03:42 hmmmm gettext is an additional dependency... dependencies shouldn't be forced onto people when they're unnecessary 03:42 est31 yea but that whats cmake for: if there and not disabled -> use else dont use 03:43 hmmmm that would be good behavior 03:43 est31 and not current behaviour: if enabled -> use else dont use 03:43 hmmmm would you be willing to code that? 03:43 hmmmm what is this: https://github.com/minetest/minetest/blob/master/src/environment.h#L436 03:43 est31 if you merge it. i still have a pending PR and it wasn't that intrusive 03:44 hmmmm maybe I'm ignorant, but I don't understand the purpose of having an empty struct in a union 03:45 est31 #2073 and #2105 are still open. 03:45 ShadowBot https://github.com/minetest/minetest/issues/2073 -- Simplify Readme build steps by est31 03:45 ShadowBot https://github.com/minetest/minetest/issues/2105 -- Update german translation by est31 03:45 hmmmm a lot of other people seem to have discussion about the first one 03:45 hmmmm i dunno, what do those guys say 03:45 hmmmm i'm going to keep myself out of it 03:45 Zeno` I have no idea what that is in ClientEnvEvent for 03:46 est31 If I code the change when will you merge it 03:47 hmmmm sure, i will 04:11 vitaminx bye 04:17 Brains win 13 04:17 VanessaE lose 12 04:18 Brains I'm still ahead by one! WOO! 04:18 VanessaE damn. :( 04:18 * VanessaE rolls another d20 04:18 VanessaE :) 04:19 * Brains has been playing Star Wars: Edge of Empire with its funky collection of dice recently. And they said THAC0 was difficult to remember... 04:29 hmmmm https://github.com/kwolekr/minetest/commit/38bd9e93a252cb2dd5ace6b0132514edff38b504 04:30 hmmmm any objections? 04:30 VanessaE wait a bit for zeno to return 04:30 VanessaE (he's offline due to storms in his area, should be back shortly) 04:30 paramat hi hmmmm, #2142 is ready for review/merge 04:31 ShadowBot https://github.com/minetest/minetest/issues/2142 -- Mgv5: Various improvements, bugfix, uneasiness, speed increase by paramat 04:31 VanessaE you know how he feels about compiler warnings :) 04:55 paramat thanks! 05:21 kaeza https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L1812 --> http://xkcd.com/859/ 05:21 VanessaE haha 05:59 TriBlade9 Wewp 06:12 TriBlade9 This will break all existing colorize operations 06:15 TriBlade9 Uggh, how does one word this? 06:15 VanessaE "If you use [colorize, you're fucked" ? 06:15 VanessaE ;) 06:19 TriBlade9 Yep :3 06:19 TriBlade9 Until you tack :255 on the end of it 06:20 VanessaE oh sure, ruin the joke :P 06:21 TriBlade9 What? 06:22 TriBlade9 Oops 06:22 TriBlade9 https://github.com/minetest/minetest/pull/2153 06:22 TriBlade9 #2153 06:22 ShadowBot https://github.com/minetest/minetest/issues/2153 -- Fix colorize using the color alpha literally and as the ratio to interpolate the colors with. by TriBlade9 06:22 TriBlade9 There we go 06:22 TriBlade9 Oh darn, forgot to switch it to a s32 06:30 hmmmm why does compatibility need to be broken, I don't understand 06:31 hmmmm if the :thing isn't there, why not interpret the alpha as the blend ratio 06:37 TriBlade9 hmmmm We already discussed that. It's fine if you want to do that 06:38 Zeno` :thing cannot be optional? 06:38 TriBlade9 Zeno` It can be -_- 06:38 TriBlade9 If it's not there then we can just use the alpha, no biggie 06:38 TriBlade9 Want me to write that up? 06:39 Zeno` I think so... 06:39 TriBlade9 Okay 06:46 TriBlade9 comitting, working as expected 06:48 TriBlade9 However, backwards-compatibility for broken code is probably not something we want to keep for long 06:50 hmmmm So guys 06:50 TriBlade9 Done, committed 06:50 hmmmm I have a better idea on how to make fast settings 06:50 TriBlade9 Oh? 06:50 hmmmm up to this point it's like everybody who wants to minimize the overhead of their settings makes up their own mechanisms 06:51 hmmmm why can't we have Settings have two settings trees, one an array with O(1) lookup time, and the other the typical string map 06:51 hmmmm if the setting being read maps to one of the "special core use" settings, it'll get added to the vector 06:53 TriBlade9 Huh 06:53 TriBlade9 No idea what that means <3 06:53 TriBlade9 Sounds good though 06:54 Zeno` sounds pretty much exactly what I began to implement lol 06:54 Zeno` anyway, bbl 06:55 TriBlade9 Bai 06:56 hmmmm i remember that 06:57 hmmmm it had all sorts of funky callbacks and a big update function' 06:57 hmmmm this is not the same at all 06:58 hmmmm it's a simple enum CoreSettings { CSET_FAST_MOVE, CSET_KEYMAP_THING, ...} g_settings->getU16(CSET_FAST_MOVE); <--- lock-free, wait free, O(1) lookup, zero string processing 06:58 hmmmm just a return a value from an array 06:59 hmmmm std::map g_core_settings; on initialize, g_core_settings.insert("fast_move", CSET_FAST_MOVE); ... 06:59 hmmmm then on loading 07:01 hmmmm std::map::iterator it = g_core_settings.find(settings_name); if (it != g_core_settings.end()) { set(it->second, settings_value); } else { set(settings_name, settings_value); } ... 07:01 hmmmm so simple 07:01 hmmmm there i just wrote it 07:01 hmmmm now add it to minetest 07:01 hmmmm well the key trick to all this is making the accesses atomic. for obvious reasons no strings allowed 07:02 hmmmm it would be centralized, generalized, as fast as the keycache map, and it can replace every other instance where we cache settings 07:02 hmmmm like for example in the EmergeManager there's mapgen debug info settings cached 07:06 grondilu I often get "Irrlicht log: Could not open file of texture: character.png", yet this file does exist. It's in ./games/minetest_game/mods/default/models/character.png 07:07 hmmmm that sucks. 07:17 grondilu notice though that I see myself in 3rd person view, so either the file is actually found, or an alternate one is found somewhere else. 07:18 hmmmm i've noticed that error message before... it never affected me 08:37 hmmmm :( 08:37 hmmmm that transparency sorting issue got me down 08:38 hmmmm my light source halo effect texture fights with water nodes 08:38 VanessaE oh it gets worse. 08:39 VanessaE try making a meshnode partly translucent, especially something with lots of narrow, long polys 08:39 VanessaE it makes a bloody mess of it :) 08:40 VanessaE (I discovered it accidentally while modelling the wine bottles in homedecor) 08:40 VanessaE -l 08:43 hmmmm i refuse to believe this is still a problem 11 years later 08:44 VanessaE in minetest it is.. but 11 years? 08:44 hmmmm it was first reported on the irrlicht forums back in 2004 08:44 VanessaE ah 08:44 hmmmm here's a bug report 5 years later: http://sourceforge.net/p/irrlicht/bugs/262/ 08:44 VanessaE christ in a cartoon. 08:44 hmmmm I mean 08:44 hmmmm there are people who work on irrlicht, I think... right? 08:44 VanessaE in theory there are 08:44 hmmmm give me one good reason why we don't dump this for urho3d right now 08:44 VanessaE there IS a 1.9 version out there somewehre 08:45 VanessaE but honestly, there is only ONE reason I can give you:" 08:45 VanessaE inertia. 08:45 hmmmm you can't do jack shit with irrlicht 08:45 VanessaE (whether the new target is urho3d or OGRE or something else) 08:45 hmmmm you can't have inertia without velocity 08:45 VanessaE this is true 08:45 VanessaE but there IS some velocity here 08:45 hmmmm where 08:45 VanessaE well 08:46 hmmmm I am so pissed off 08:46 nrzkt @hmmmm, in 2014 X11 solved a bug present since 20 years, be patient 08:46 hmmmm oh okay 08:46 VanessaE minetest development has actually been picking up steam lately hasn't it? 08:46 hmmmm :\ 08:46 hmmmm VanessaE, yes, but development on graphics has not 08:46 VanessaE true. 08:47 VanessaE I'm just saying that switching to another graphics engine is bound to introduce tons of headaches for a while 08:48 nrzkt i think it's not a good idea to change engine now. Before minetest must resolve design problems 08:49 gregorycu There are things we can do to prepare for an engine change 08:49 VanessaE with as many other areas as I've heard described here as in need of attention, I think it would add too much workload. better would be the idea of abstracting the connection between minetest and irrlicht -- I don't remember who suggested that -- and then 08:49 VanessaE yeah exactly, gregorycu. 08:50 VanessaE *prepare* for it now, but don't actually do it until other areas of the engine are less.. what's the word? 08:50 gregorycu retarded 08:50 * VanessaE waits for hmmmm's adjective 08:50 gregorycu Probably be the same one 08:50 gregorycu VanessaE, have you worked on many mods? 08:50 VanessaE I have, yes 08:53 hmmmm welp 08:53 hmmmm I did the best I could 08:55 gregorycu There are two types of projects 08:55 VanessaE hmmmm: allegedly, minetest can be convinced to do all the z-sorting stuff on its own but ... well I guess it's a royal pain in the ass. 08:55 gregorycu Half-completed ones with perfect design and code, and completed ones with sub-standard design and code 08:55 hmmmm well I know how to do that for nodes 08:55 hmmmm http://i.imgur.com/M82MvF6.png cool effect, right? 08:55 hmmmm http://i.imgur.com/KfojoxV.png 08:56 VanessaE OOOOOOOOOOOOOO 08:56 VanessaE I like that 08:56 hmmmm the size obviously needs to be adjusted but it looks perfect above water 08:56 VanessaE tone it down a bit for those torches but you got something there 08:57 VanessaE (the first screenshot with the round inner edge of the halo looks better) 08:57 hmmmm lol. 08:57 hmmmm the second screenshot is showing how transparency sorting messes it up 08:57 VanessaE ah 08:57 VanessaE go figure :D 08:57 gregorycu What is it? An image? 08:57 hmmmm er wait 08:57 hmmmm in that second screenshot it's not exactly the transparency sorting 08:58 hmmmm it's just being occluded by the water which it shouldn't be since it's a transparent face 08:58 hmmmm see, like i don't know how to fix that. 08:58 hmmmm i'm not that gud with computers 08:58 VanessaE hmmmm: homedecor's doors do that too 08:59 VanessaE (one of them has frosted glass, and I didn't bother to turn the alpha property off on the others, so they all exhibit the glitch) 09:00 hmmmm night gusy 09:00 hmmmm guys 09:00 VanessaE night 09:01 * hmmmm & 09:05 kilbith ugh, looks like a white sliced pineapple in that screenie.. 09:05 VanessaE haha 09:05 VanessaE well it's just a test image 09:05 VanessaE I can see exactly what he's trying to accomplish with it though 09:06 kilbith $ whereis RBA 09:06 kilbith needed ! 09:06 VanessaE his job keeps him super-busy lately 09:06 kilbith :( 09:07 jin_xi one thing im wondering about everytime i see it is the weird smoke puff entities make when destroyed. should be replaced by a particle effect 09:07 jin_xi or removed, looks like shit 09:08 VanessaE probably so, yeah 09:08 VanessaE even a better texture helps though 09:08 VanessaE (HDX supplies an image drawn from actual smoke) 09:31 gregorycu We have exactly 100 open bugs 10:00 gregorycu We should have a bug-squashing month 10:00 gregorycu Where we all just do bug fixes 10:00 TriBlade9 ^^ 10:02 nrzkt it's a good idea 10:11 gregorycu Maybe with a prize or something :) 10:11 gregorycu For whoever squashes the most bugs? 10:34 gregorycu Just in time 10:35 gregorycu #2156 10:35 ShadowBot https://github.com/minetest/minetest/issues/2156 -- Optimise MapBlockMesh functions by gregorycu 10:36 Zeno` gregorycu, at a glance it seems good. I doubt I can merge tonight though (maybe later). I'm just so tired 10:36 Zeno` cannot think properly 10:36 gregorycu I was tired when I got up today 10:36 gregorycu So I called in sick to work 10:36 gregorycu lololol 10:37 gregorycu All good, I only just finished that 10:37 Zeno` I dunno... maybe I have sleeping sickness or malaria or something 10:37 Zeno` been tired for about a week now 10:37 Zeno` for no apparent reason 10:37 gregorycu I actually think I can drastically improve the performance, but it's a bigger change, I'd prefer to get this through first 10:38 Zeno` where is the performance coming from in 2156? 10:38 Zeno` pre-allocating size and.. 10:39 Zeno` voxel.cpp line 624... what is that? 10:39 Zeno` oh I see 10:39 Zeno` hmm 10:40 gregorycu The thing is 10:40 gregorycu This code takes a VoxelManipulator, which can grow to accommodate 10:40 gregorycu However, the code does not need to actually grow thing this 10:40 gregorycu thing 10:41 gregorycu So, you pay a performance cost for that feature, which is not used 10:41 gregorycu I want to get this fixed up in a different PR, and basically have a StaticVoxelManipulator 10:44 gregorycu Off to cook dinner, bbiaw 11:55 gregorycu I am back, and unlike Zeno`, ready for more 12:35 Zeno` this code makes my head explode sometimes :( 12:55 gregorycu What code are you looking at, by the way? 12:56 Zeno` if(m_sneak_node_exists && 12:56 Zeno` nodemgr->get(map->getNodeNoEx(m_old_node_below)).name == "air" && 12:56 Zeno` m_old_node_below_type != "air") 12:57 Zeno` it seriously does my head in 12:57 kahrl lol, that's an efficient way to check for CONTENT_AIR 12:58 gregorycu Oh dear 12:58 gregorycu Are you fixing some of the sneak bugs? 13:02 gregorycu Let's see how hard this crashes 13:03 gregorycu It didn't crash.. 13:06 Zeno` nah, not sneak bugs :( 13:20 gregorycu 35% faster 13:28 * Zeno` gives up 13:30 gregorycu What are you working on? 13:34 TriBlade9 Hey Zeno`, Why conver the s32's to ints? 13:35 Zeno` the range of valid values is -1 to 255? 13:35 Zeno` I dunno... I'd just rather use standard types for cases like that 13:36 TriBlade9 I suspect there would be narrowing conversion issues then 13:36 Zeno` narrowing issues how? 13:36 TriBlade9 s32 to int? 13:37 TriBlade9 Meh 13:37 TriBlade9 IDK, I don't speak C++ natively 13:37 Zeno` but it's already limited to -1 to 255 13:37 gregorycu -1 to 255 13:37 TriBlade9 Okay, I'll try it before commenting anymore 13:37 gregorycu Strange range 13:38 Zeno` -1 is an "error value" 13:38 TriBlade9 Yeah 13:38 TriBlade9 Probably not the best way to go about it, but whatevz 13:38 Zeno` well, maybe. There are no narrowing issues though :p 13:38 TriBlade9 There's a lot more issues with the coloring/texture generating btw 13:38 TriBlade9 I was playing with it for quite awhile. That thing is crazy 13:39 nrzkt Zeno` please use a normalize way, use s32 instead of int... don't use different types (yes i know s32 = int) 13:39 TriBlade9 o3o 13:39 Zeno` nrzkt, rubbish 13:39 Zeno` not in this case 13:39 TriBlade9 Fight! Fight! Fight! Fight! Fight! 13:39 Zeno` it does not need to be s32 13:39 gregorycu I have 2c and I can't see the code to comment on 13:39 TriBlade9 Heck, if it didn't need the -1, it could be a byte 13:40 Zeno` if int is appropriate, use int 13:40 TriBlade9 Wait 13:40 nrzkt Zero, use short int instead then 13:40 nrzkt not int 13:40 nrzkt s16 13:40 TriBlade9 Come to think of it, what would the point of a 0 value be in the modifier? 13:40 gregorycu Where is the code? 13:40 Zeno` no, because int is the preferred "default" choice 13:40 TriBlade9 It literally means to do nothing 13:41 Zeno` s16 is not even a standard type 13:41 nrzkt no, but it's used everywhere 13:41 Zeno` is there a reason why it must be 16 bits (minimum)? 13:42 Zeno` if not, use int 13:42 nrzkt less memory used ? 13:42 Zeno` no, the compiler will convert most shorts to int anyway 13:42 Zeno` unless they're global 13:42 TriBlade9 -.- 13:42 gregorycu Is this int stored in a structure? 13:42 TriBlade9 FFS guys, it's a tiny commit. Does it matter that much? 13:42 TriBlade9 No gregory 13:43 gregorycu In that case 13:43 gregorycu int_fast8_t is the correct answer 13:43 Zeno` lol 13:43 Zeno` not it's not because that has a range of 256 distinct values :P 13:43 Zeno` the requirement for the function in question is 257 distinct values 13:43 nrzkt -1 -> 255 = 257 values 13:44 gregorycu From the standard: "The typedef name int_fastN_t designates the fastest signed integer type with a width of at least N." 13:44 TriBlade9 We could probably do 0-255, since 0 would be totally useless anyways 13:44 gregorycu Anyway, as someone said, let's move on 13:45 TriBlade9 Sooo 13:45 TriBlade9 Uhh 13:45 TriBlade9 What should I do? 13:45 gregorycu Dance 13:46 TriBlade9 But which dance?! 13:46 gregorycu Whatever you want, dance like nobody is watching 13:46 TriBlade9 No need for a *like* 13:46 TriBlade9 replace it with a "'cause" 13:46 TriBlade9 s/like/cause 13:51 gregorycu I'm watching 13:52 Zeno` I don't think I'll finish MapBlock::getNode/getNodeNoEx/etc 13:52 Zeno` too many changes 13:53 gregorycu It's funny, I've been looking at that stuff 13:53 Zeno` All this because exceptions were originally used instead of if() else :( 13:54 Zeno` I'll fix one more file. If I still get errors I cbf 13:54 Zeno` already modified 18 files 13:55 gregorycu I made a StaticVoxelManipulator 13:56 gregorycu It's what you use when you know the point exists in the area 13:56 gregorycu It doesn't use contains, or addArea 13:57 gregorycu addArea is now 0.73% inclusive 14:02 gregorycu On the negative side, I introduced a bug 14:03 TriBlade9 No biggy 14:07 kilbith PilzAdam, "Mese is not "alien stuff" wat ? 14:09 PilzAdam are you going to say anything else or is "wat" your only reaction? 14:09 kilbith yes, Mese has historically alien origins 14:11 PilzAdam {{citation_needed}} 14:12 kilbith seriously, latin letters on alien block, wtf 14:13 PilzAdam kilbith, why do you believe that it has alien origins? 14:13 PilzAdam have you made it up yourself or someone else? 14:14 kilbith because c55 has stated that 14:14 PilzAdam where? 14:16 Zeno` he stated that it was a joke between early developers 14:16 Zeno` based upon the Finnish pronunciation of mese 14:17 Kray mese is like an 8 years old joke on certain finnish irc channel 14:18 kilbith http://irc.minetest.ru/minetest/2014-07-26#i_3834457 14:18 kilbith i continue asking to google 14:19 kilbith Mese as alien stuff is in the popular culture here anyway 14:19 PilzAdam and gold is butter in MC's popular culture 14:19 PilzAdam doesn't mean that Mojang changes the gold texture to look more like butter 14:26 nrzkt xD 14:30 kilbith PilzAdam: according to google images, cotton plants & wheat are realistic 14:36 kilbith cotton plant is inherently (looking) dry at its final stage 14:43 Zeno` where is RealBadAngel? 14:43 sfan5 not here 14:43 Zeno` apparently not 15:22 shadowzone Zeno`, you timed out on Inchra 15:36 vitaminx hi everyone, I have a couple of questions about running a minetest-server 15:36 vitaminx first of all, some posts in the forum claim that the server is multithreaded 15:37 PilzAdam vitaminx, this topic is better suited for #minetest 15:37 vitaminx however, the server doesn't seem to take advantage of a second CPU core, when there's heavy load on the CPU its always only one core that peaks, the other stays idle 15:37 vitaminx ok 15:37 shadowzone vitaminx, maybe you should ask on #minetest 15:38 vitaminx i'll do 15:38 vitaminx see ya 16:37 gregorycu Guess who can't sleep 16:39 gregorycu The answer is me 16:40 shadowzone random 16:41 gregorycu Yeah, it's 3:40am and all I could think of is a way to make minetest faster 16:43 gregorycu So I thought I'd might as well try it 17:34 sapier hmmmm most agonizing thing about those modder workarounds is that they stop us from fixing the broken system 17:35 hmmmm serenity now... insanity later 17:35 shadowzone hmmmm, so enjoy it while a got it. 17:35 shadowzone *ya 17:35 hmmmm i keep reminding myself that these problems are motivation for getting client side scripting in 17:36 hmmmm it will be a real boon for formspecs 17:36 sapier hmmmm OTTO or ZEUS? 17:36 hmmmm I thought we agreed on ZEUS 17:36 sapier did we ? ZEUS was the client side only thingy without any connection to server 17:36 hmmmm oh, then OTTO 17:37 hmmmm i thought it was the opposite 17:37 sapier hmm guess the names still aren't stupid enough to get remembered 17:37 hmmmm so 17:37 hmmmm why don't we swap out lua for javascript 17:38 hmmmm and swap out the formspec language for html 17:38 hmmmm minetest will just be a glorified web browser 17:38 Calinou otto/zeus? 17:38 hmmmm swap out irrlicht for webgl 17:38 hmmmm minetest will be web 2.0 17:38 sapier btw that dual line inventory was a workaround for extra small android screens I added ... I fear this wasn't smartest idea I ever had 17:38 Calinou Web 3.0, even! 17:39 sapier hmmmm sounds like rewriting would be better in this situation 17:39 sapier of course you'd have to replace harddisk by dropbox too 17:41 hmmmm btw what happened to 0.4.12? 17:41 sapier https://github.com/minetest/minetest/pull/2132 could someone please comment on this? especially button icons as well as location of those buttons. I'd like to merge it and at best the positions and icons are right from the beginning 17:41 sapier hmmmm imho to much code fluctuation atm to do a release 17:42 hmmmm hmm 17:43 hmmmm sapier, btw, i checked and sqlite doesn't produce an error if you try to delete a row without it existing 17:43 hmmmm i'm wondering if that additional SELECT statement before the delete on android makes block saving any slower 17:43 hmmmm (probably not because cache) 17:44 sapier I don't know the only thing I remember about sqlite on android was replace not working correct 18:07 jin_xi sapier: do you have any specific 'modder workarounds' in mind? 18:08 sapier all of those things working around gui and formspec limitations, but not a single thing no 18:19 jin_xi idk but it seems to me that if a good fix/alternative is in place mods will be updated/replaced 18:23 sapier jin_xi: in theory yes in practice no 18:26 jin_xi cant blame modders to only check every decade if a fix is in place yet... ;) 20:14 T4im while I can't see an angle atm. to abuse this, you still might want to check #2159 for security implications 20:14 ShadowBot https://github.com/minetest/minetest/issues/2159 -- minetest executes locally installed mods when connecting to a server under certain circumstances 20:18 T4im or rather, no angle that wouldn't have an easier solution, hehe 20:18 T4im guess if one would be distributing the fitting mod you could force execution, but then again, if you get a malicious mod distributed its probably too late anyway 20:19 sapier what? 20:20 T4im sapier: "enable_local_map_saving = true" executes locally installed mods when connecting to a remote server, provided these mods are being configured for the local copy of said server 20:21 sapier sounds really strange 20:22 T4im stranger as #2024? it appears there's some sort of statekeeping going wrong… minetest forgetting if it connects locally, remotely or loopback 20:22 ShadowBot https://github.com/minetest/minetest/issues/2024 -- Local map saving runs on locally started server, overwriting another world. 20:23 T4im at least for the local save feature 20:44 sapier kahrl PilzAdam ShadowNinja hmmmm sfan5 what do you guys think about adding some sort of lan server browser? I'd like to support android bluetooth gaming by some time and there we'd need automatic local server discovery anyway. 20:45 sfan5 sapier: sounds good 20:46 sfan5 sapier: also here is some work on bluetooth https://github.com/sfan5/minetest/tree/bluetooth 20:47 sapier interesting so there's even native bluetooth support? 20:47 sfan5 uh 20:47 sfan5 bluetooth is a feature of the linux kernel 20:47 sfan5 ofc there is supprot 20:47 sfan5 support* 20:48 sapier I see so no android special feature but direct kernel functions 20:49 sapier well the good thing is we could even get bluetooth interoperability on pc too 20:49 sfan5 the only android-specific addition to that would be to detect whether bluetooth is enable 20:49 sfan5 +d 20:50 sfan5 bluetooth is also presents interesting problems 20:50 sfan5 rfcomm functions like tcp 20:50 sfan5 but minetest uses udp 20:50 sapier well as I already moved minetest to tcp in an experimental branch I guess I can handle this too 20:50 sfan5 -> on creating of socket program does not know whether it is a server socket or client socker 20:50 sfan5 socket* 20:51 sfan5 but my code already contains something that should solve this w/o making any speicific code changes to socket binding itself 20:51 sapier I used a mixed mode protocol maybe using a tcp only version would solve even more issues 20:52 sapier we wouldn't have to think about using enet or some other protocol if we could use tcp too 20:52 sapier but that's pure guessing right now 20:53 sapier sfan5 are you actively working on that code right now? because for me it'd be a sparetime thingy not beeing done that fast 20:54 sfan5 sapier: no, it was just something that i wrote because i had the exact same idea you had 20:54 sfan5 sapier: "Last commit: May 2014" 20:57 sapier ok :-) 20:57 sapier I guess it's your idea I just remembered it as android support becomes more and more complete 22:08 hmmmm does anybody understand what enable_img.png and disable_img.png are? 22:09 sfan5 looks like it used for wield item shaders 22:09 sfan5 although that code if #if 0'd out temporarily 22:09 sfan5 wieldmesh.cpp:367-382 22:09 VanessaE oh wait 22:09 VanessaE I remember that now 22:10 VanessaE that's to pass booleans into the shaders. 22:10 hmmmm sfan5, yes, i know that. that's not understanding what they are. 22:10 sfan5 that's to pass booleans into the shaders. 22:10 sfan5 wait what 22:10 VanessaE yeah. 22:10 VanessaE or it was at one time. 22:10 sfan5 isn't there an irrlicht interface for that 22:10 hmmmm what's wrong with setting a global in the shaders 22:10 VanessaE not in minetest, or not that RBA was able to use 22:10 hmmmm normalmap_enabled 22:11 VanessaE idk, something to do with actually getting the data from C++ space into glsl space 22:11 hmmmm that's just so stupid 22:11 hmmmm i can't help but wonder how much having those effect performance 22:13 gregorycu lol 22:13 gregorycu It's funny you should mention this 22:13 gregorycu Because if you're wondering what I think you're wondering about, you need not wonder 22:15 gregorycu No, you're talking about a different setting 22:15 gregorycu However, I can tell you that checking settings consumes about 8% of the render loop 22:15 gregorycu Or rather, the main thread 22:15 hmmmm yeah :( 22:15 hmmmm "oh don't worry about performance, it'sok" 22:16 VanessaE actually, at the time, performance was a pretty big problem, but an even bigger problem was compatibility 22:16 VanessaE at first he tried some kind of overlay 22:16 VanessaE but turned out some drivers barfed on that 22:16 gregorycu From my perspective, every little performance gain gives us a little extra scope to make performance impacting changes down the line 22:16 VanessaE gregorycu: +1 22:16 hmmmm vanessae: you still talking about the thing I brought up? 22:16 VanessaE hmmmm: yes. 22:17 VanessaE but I'm done. 22:17 hmmmm my guess was that there was a limited number of globals in shaders 22:17 gregorycu Ok, time for the big test 22:17 hmmmm did do you remember somebody saying something like that around that time 22:17 sfan5 can't you just make one u16 flags; and use flags & 0x1, flags & 0x2 ... 22:18 hmmmm yeah you could. 22:18 hmmmm but booleans are more user friendly! 22:18 gregorycu Buffer overrun 22:18 hmmmm booleans! textual strings! i love wasting space and hurting performance! 22:18 hmmmm BUT USER FRIENDLY 22:18 gregorycu Setting is actually on my hit list 22:18 hmmmm IT'S 2015 22:18 gregorycu Settings 22:18 gregorycu I have a hit list 22:18 hmmmm gregorycu, don't bother 22:18 gregorycu Why don't bother? 22:18 hmmmm I'm going to get that once and for all 22:19 sfan5 hmmmm: since when do we care about shader code being user-friendly? 22:19 hmmmm sfan5, it's called sarcasm~ 22:20 sfan5 i know 22:20 hmmmm anywayw 22:20 hmmmm when RBA comes around I'm going to ask him about it 22:20 sfan5 sure you don't want to yell at him instead 22:20 sfan5 ? 22:21 hmmmm no i'm not doubting his judgement here 22:21 hmmmm it's just that there's knowledge lost 22:21 hmmmm i recall there being a big incompatibility with ATI cards and i'm wondering if this was put in place because of it 22:23 sfan5 having checks all over the code sucks, but maybe we should consider not using hacks when there is a newer card/driver (that works the way it is supposed to) 22:23 VanessaE hmmmm: that was the water shader. it still doesn't work entirely correct :P 22:23 acerspyro lol 22:23 hmmmm totally agreed 22:23 sfan5 (runtime-detection basically) 22:23 VanessaE (which is why it never went in, I guess) 22:23 hmmmm this is what basically every other game ever does. 22:23 acerspyro Are we focusing on open drivers or closed drivers? 22:23 sfan5 all drivers 22:23 hmmmm minetest is such an outlier because it's now being written by people with absolutely zero graphics knowledge 22:24 acerspyro lol 22:24 acerspyro dat alpha bugginess, tho. 22:33 gregorycu The good news is it's the type of game where graphics isn't #1 priority 22:33 VanessaE graphics are a priority though, if your game looks like shit, people won't play it 22:34 acerspyro ^ 22:34 acerspyro Am I the only one who sees bugginess in semi-transparent blocks? 22:34 gregorycu What about minecraft? 22:35 VanessaE minecraft has commercial support behind it 22:35 gregorycu lol 22:35 VanessaE and quite frankly, it looks a lot better than minetest in some ways, from the videos I've seen 22:35 gregorycu commercial support? 22:36 VanessaE well I mean it IS a commercial product of course 22:36 VanessaE as in, it has pros working on it, and paid to do it. 22:36 gregorycu That's debatable 22:36 gregorycu The pros bit 22:37 gregorycu But initially it was a one-man thing 22:37 VanessaE was. 22:37 gregorycu And it gained traction 22:37 VanessaE now it's, what, a 2 billion dollar enterprise? 22:37 Vexyl notch had worked professionally on games before minecraft 22:37 gregorycu Notch is a hack 22:37 gregorycu That's well-known 22:37 Vexyl so I guess you're arguing over plural vs. singular 22:38 Vexyl hater:P 22:39 VanessaE my point is, if you got money, you can hire good programmers. 22:39 VanessaE does Mojang hire good programmers? that's up to someone else to decide. 22:39 gregorycu We are good programmers 22:39 gregorycu Well, i am 22:39 VanessaE yes, we are. 22:39 VanessaE but there aren't enough of us. 22:39 acerspyro lol 22:39 gregorycu My day job is several cuts above working in a game dev studio 22:40 jin_xi imho there are more pressing issues, like borked attachment system and no pitch for entities and such. i want to crush griefers with a drawbridge ffs 22:40 jin_xi more pressing than graphics 22:40 gregorycu Many hands can work in many places 22:40 gregorycu Just gotta make sure they're the right places 22:40 acerspyro jin_xi: should be included in "fixing graphics" 22:42 sapier talking about many hands, here are quite a lot of ppl talking about what to improve who's actually willing to do the work? 22:42 gregorycu Well, I'm working right now 22:42 * jin_xi is not able to 22:42 gregorycu On boring shit like performance 22:42 gregorycu What are you doing? 22:43 VanessaE I've been focusing my efforts on meshes in mods which I have commit access to, since it's about the best use of my time 22:43 sapier trying to match all those pieces different ppl provide ;-) 22:43 gregorycu In fact, I took the day off work because I have some stuff i want to try that was bugging me last night 22:43 gregorycu So nothing? 22:43 hmmmm looked at the shaders 22:43 VanessaE hmmmm: and you're still sane? 22:43 hmmmm no, enable_img.png and disable_img.png are not in place of globals 22:44 hmmmm they're just information if the normalmap EXISTS for THAT PARTICULAR TEXTURE 22:44 hmmmm hrmm 22:44 sapier well gregorycu if you believe writing code is the most complex thing in minetest we don't need to continue discussing ;-P 22:44 hmmmm but I think I have a better idea 22:44 gregorycu Good, I have work to do 22:44 VanessaE hmmmm: that's weird, I distinctly remember them being used for passing bools 22:44 * VanessaE shrugs 22:44 hmmmm normalmaps' alpha channel isn't relevant, right? 22:44 VanessaE it is. 22:44 hmmmm it is used for passing bools 22:44 VanessaE it's used for parallax mapping 22:45 hmmmm oh.... 22:45 * hmmmm goes and hides 22:46 hmmmm it's just that I don't like the idea of uploading an entire texture for some sort of shader hack to say y/n when shading a particular material 22:46 hmmmm what do professional game developers do for this 22:47 hmmmm btw it's not like I identified this as a significant bottleneck, it's just something that bothers me because... well, look at it 22:47 hmmmm it's everywhere and it's pukeish 22:48 VanessaE I'm pretty sure they write a whole hell of a lot of decision-making code that gets passed on to a preprocessor to turn it into glsl or hlsl. 22:48 hmmmm the decision making shouldn't be put into the shaders itself 22:48 VanessaE no, it shouldn't. 22:48 hmmmm it should be separated into multiple shaders 22:48 VanessaE so, in other words, it should be done like I just suggested. 22:49 VanessaE :) 22:49 hmmmm so like 22:49 hmmmm this shader uses the 2nd texture layer for decision making on what math to perform on that material 22:50 hmmmm if a normalmap is all (0,0,0,0), then doesn't performing the math yield the same result as if it were not normal mapped at all? 22:50 hmmmm forgive me ignorance 22:50 VanessaE I remember RBA having problems using those layers. too many (even as many as three) and the GPU or driver (we weren't sure which) barfs 22:51 hmmmm the policy should be that if a normal map doesn't exist for a certain material, the normal map should be the default one that doesn't add any depth 22:51 VanessaE (mostly that came down to opengl versioning) 22:51 hmmmm right 22:51 hmmmm another thing about the layers 22:51 hmmmm the third layer should be used for lightmaps 22:51 hmmmm except we're in a unique position to not need lightmaps 22:52 hmmmm because we have verticies at regular positions, we can get away with complete vertex lighting. the same can't be said for other games 22:52 hmmmm (and no, we can't do mesh welding because it's too slow) 22:55 VanessaE also, 22:56 VanessaE RBA was convinced at the time that separating the shaders into different components would come with a performance penalty 22:56 hmmmm it may or may not be true 22:56 hmmmm i'd profile it 22:56 VanessaE I don't think the idea of any kind of preprocessing step had really come up though 22:57 Acerspyro ik how we can be different to Minecraft. 22:57 Acerspyro Seeing your own body. 22:57 Acerspyro plz? :D 22:57 VanessaE as it stands, the only reason I turn shaders on at all is to get around the alpha sorting problem, and that's of course limited. 22:58 Acerspyro VanessaE: alpha sorting issue should not require shaders 22:58 VanessaE Acerspyro: it doesn't, per se, but it works better with them than without (I don't personally know why) 22:58 Acerspyro It's still an issue... 22:59 VanessaE hmmmm: you know, the more I think about it, the more I wonder if my argument earlier of "inertia" is enough reason. 23:01 VanessaE how much work would it be? 23:01 hmmmm hm 23:01 hmmmm what, splitting the shaders? 23:01 hmmmm probably not much 23:02 hmmmm i'm not too too interested in that yet though 23:02 VanessaE no, ditching irrlicht in favor of...something else entirely. 23:02 hmmmm it depends on how similar the interface is 23:03 Acerspyro VanessaE: I am for it 23:03 hmmmm my opinion is that it's labor intensive and tedious, but not particularily difficult 23:03 hmmmm Acerspyro: I don't mean to be rude, but have you talked about coding at all? 23:03 Acerspyro hmmmm: A bit 23:03 hmmmm Acerspyro: This is a no-BS serious discussion channel 23:03 Acerspyro I am aware 23:04 gregorycu Acerspyro: I'm also sick of your bullshit 23:04 gregorycu You're such a bullshitter and it's annoying me 23:04 gregorycu Fucking bullshitter 23:04 hmmmm lol. 23:05 hmmmm i don't know if it's intentional or not, but gregorycu always has a light tone 23:05 gregorycu It's intentional :) 23:05 hmmmm are you ever angry? 23:05 VanessaE heh 23:05 Acerspyro lol 23:06 gregorycu Do I ever get angry 23:06 gregorycu No, not really 23:06 gregorycu Only at politics 23:07 hmmmm heh. 23:07 hmmmm in any case, i'd like to profile the shaders a bit and see if we can't improve there. they don't do much right now so they should, theoretically, be very lightweight 23:08 hmmmm the problem is i don't know how to do this 23:09 VanessaE for me, even basic shaders (as in, no effects, just "Shaders") imposes a significant penalty 23:09 hmmmm :( 23:10 hmmmm you have an ATI card if i recall 23:10 VanessaE (45 fps @ 240 without, versus 42 fps @ 150 with) 23:10 VanessaE and that's on a nearly empty minetest_game test world. and yeah, an AMD R9 280X. 23:10 hmmmm that's a pretty beefy gpu 23:10 VanessaE yep 23:10 hmmmm but you also have beefy textures 23:10 VanessaE no 23:10 hmmmm like 512 px? 23:10 VanessaE default textures. 23:10 hmmmm i thought 23:10 hmmmm alright that's terrible i'm sorry 23:11 VanessaE I don't use HDX most of the time anymore, minetest just can't hack it these days :( 23:11 hmmmm what do you mean by 'these days' 23:11 VanessaE well there was a time not so long ago where I could expect this scene here to give similar performance with HDX as what I'm getting with default textures now 23:12 hmmmm do you mind bisecting until you find where it started going to shit? 23:12 VanessaE but I can't tell you how long ago it was, or what changed, or if I'm even right 23:12 hmmmm performance is no joke here at Minetest Inc 23:12 VanessaE so for now I've just stopped using HDX and shaders. 23:12 hmmmm okay 23:13 VanessaE could be drivers, could be X, could be minetest, idk. 23:13 hmmmm well go back to something really old 23:13 hmmmm where you absolutely know it worked 23:13 hmmmm it worked in 0.4.8, right? 23:13 VanessaE that would be around 0.4.2-ish 23:13 hmmmm even so 23:13 hmmmm 0.4.2 23:13 hmmmm record performance characteristics with and without shaders 23:14 hmmmm then try out the middle between 0.4.2 and current HEAD 23:14 hmmmm etc. 23:14 hmmmm if 0.4.2 is just as slow we know it's a driver issue and we can't do much about that 23:17 VanessaE lemme see what I can come up with 23:17 VanessaE now mind you, zeno has made many improvements that have helped, 23:18 hmmmm those have nothing to do with the graphics side though 23:18 VanessaE but where he gets say 60 fps 100m view, I would get say a third to one half of that on the same scene 23:18 OldCoder - drawtype = "glasslike_framed_optional", 23:18 OldCoder + drawtype = "glasslike_framed", 23:18 OldCoder compunerd recommends this patch to default/nodes.lua 23:19 OldCoder Are changes to default part of #minetest-dev or just for #minetest ? 23:19 VanessaE 0.4.2 is doing 62 fps at 160m view (default). minimal game, similar scenery to what I had visible in current. 23:19 OldCoder VanessaE, Hi BTW 23:19 VanessaE hey. 23:20 VanessaE default textures, mind you. 23:20 hmmmm wait, first of all, max_fps and wanted_fps are set to some far off number, right? 23:20 hmmmm like 500 23:20 hmmmm second, is that with or without shaders? also it'd be nice to try with both 23:20 VanessaE hmmmm: default settings, whatever they are, in all cases. 23:21 VanessaE 0.4.2 doesn't appear to support shaders. 23:21 hmmmm ahh ok 23:21 hmmmm in any case 23:21 VanessaE however the speed I got there is clearly faster than I get now, without 23:21 hmmmm fps_max is 60 by default 23:21 hmmmm I want to have a more solid comparison of how much we're losing though 23:21 hmmmm numbers, man. numbers. 23:21 VanessaE wait, no, current is slightly faster were it not capping 23:22 VanessaE ok hold a bit 23:22 hmmmm yeah change both to 600 23:22 hmmmm wanted_fps and max_fps 23:22 hmmmm no, wanted_fps and fps_max 23:23 hmmmm forget about consistency~ 23:23 jin_xi VanessaE: your numbers are terrible, i find it hard to believe! for me mt has really gained speed recently 23:24 hmmmm if the numbers drop for anybody that's cause for concern 23:24 hmmmm we can't let one driver slip in terms of performance for the benefit of others 23:24 * VanessaE waits for the range tuner in 0.4.2 to count up.... 23:24 hmmmm yeah, that's been broken for a while hasn't it 23:24 VanessaE it's at a solid 62, so vsync must be limiting it 23:24 hmmmm is vsync enabled? 23:24 VanessaE not in minetest it ain't, and I'm certain it's turned off in my driver as well 23:25 VanessaE 62@160m in 0.4.2 now, and it seems to want to stop there. lemme see if I can drive it up 23:26 VanessaE how about 28 fps at 445 meters? 23:26 hmmmm yup 23:26 hmmmm okay 23:26 hmmmm try 0.4.6 now 23:27 VanessaE compiling (insert relevant xkcd here) 23:27 jin_xi swordfight? 23:27 VanessaE jin_xi: that's the one. 23:28 VanessaE just to remind, I'm doing these tests with minimal, similar terrain as on git HEAD, default textures 23:29 VanessaE no shaders (where available) 23:29 hmmmm i can't help but have this mental bias that whenever i make a commit i think, "yes, this is the freshest, newest, best minetest yet" 23:29 hmmmm but that's obviously not the case 23:30 VanessaE I'll tell you one thing, the minimal mapgen is fucking QUICK 23:30 VanessaE ok, 23 fps @ 445 23:34 hmmmm atill no shaders? 23:34 hmmmm still 23:34 VanessaE didn't turn them on for that test, I wanted the numbers' source to be consistent. 23:36 VanessaE minetest_classic is an interesting result. it settles at ~42 fps @ 99m. 23:36 gregorycu Urgh 23:37 gregorycu What's 99m ? 23:37 VanessaE view range 23:37 gregorycu ok 23:37 gregorycu 99 million? 23:37 VanessaE hm, after a while it stepped up to 38 @ 108, and that's meters silly :P 23:38 VanessaE oh wait a sec, hmmmm that 0.4.6 result had shaders turned on. 23:38 VanessaE I didn't notice. 23:39 VanessaE lemme retest without. 23:43 VanessaE meh, this is impossible to get consistent tests because of how long it takes to get enough terrain loaded to actually force the view range to go long 23:44 gregorycu I'm fixing the mesh thread now 23:45 VanessaE in 0.4.6, 44 fps @ 146m, no shaders, with tree-laden terrain all the out to the fog limit 23:45 VanessaE lemme test again with 0.4.2 23:46 VanessaE all the way out* 23:50 VanessaE ok, with 0.4.2, no shader support, 62 fps @ 118m 23:50 VanessaE same map and view as the 0.4.6 test 23:51 VanessaE so that's 6424 foo-ops/sec versus 7552 ;) 23:56 VanessaE current dev, 61 fps @ 199m, so it's definitely fastest there 23:57 VanessaE so maybe it's just the behavior of the view range tuner that makes it feel slower?