Time Nick Message 00:00 Cylus I don't want to be the cause of any new engine hackery. If someone else does that, it's not my fault and not my problem. 00:01 VanessaE well if done right, it wouldn't be what one could rightfully call "hackery" 00:01 VanessaE lava and fire DO need to propagate the responsible party 00:01 VanessaE (water too) 00:01 Cylus What about a new node property? .not_removable_by_nonplayers = true? We'd need a better property name, but you get the idea. 00:02 VanessaE .nonplayer_diggable = false (defaults to nil = true) 00:02 Cylus What about lava flow caused by lava spawning with air under it? It could light TNT as well. Geting liquids to keep this data doesn't fix the whole issue. 00:03 VanessaE it doesn't fix the entire issue no, but if lava can set something else alight, then that something must surely be able to pick up the player info from that light-up event 00:04 VanessaE it's like setting up a lava flow that, 50 nodes down a hill sets a forest on fire, which sets off a line of gunpowder that sets off TNT 00:04 Cylus Also, the player reference thing. Even if the liquid stores the player name, it would also need to store the player reference across restarts. 00:04 VanessaE the player who dumped that lava gets propagated to every lava, fire, and burning gunpowder node as each one moves/is set alight. 00:05 Cylus That sounds like a good start. 00:06 VanessaE and if the lava has no player info, it's either old lava or it's naturally spawned, in which case defer to the person who placed the gunpowder or TNT when it gets lit by that lava, or the person who struck it with a torch if that event comes first 00:06 Cylus There's still the case of mapgen-spawned everything: both the explosive and the igniter are placed by mapgen, posibly by a mod. Who knows what people will code, we need to not cause crashes for no reason. 00:06 VanessaE see above :) 00:06 Cylus No information. Mapgen placed the lava and the TNT. 00:07 VanessaE that's why the "responsibility" has to be propagated inside the engine, where a mod can't touch it. 00:07 VanessaE mapgen-placed lava and TNT? no player responsibility, therefore no protection will help. 00:07 VanessaE just blow it up and disregard any complaints. 00:07 Cylus Okay, got it. That should work well then. 00:07 kahrl what if someone explodes TNT which explodes some nodes which causes some lava to reflow which sets off a forest fire which ignites gunpowder which sets off TNT? 00:07 blaise why is tnt being generated if it's a man made item? 00:08 VanessaE kahrl: same deal. responsibility follows the fire. 00:08 VanessaE kahrl: in other words, if it can explode or burn, a responsibility key needs to follow it as it moves/burns 00:08 Cylus blaise: Because some people add weird mods to spawn weird things. We can't let that crash the game just because we don't expect it. 00:08 kahrl VanessaE: where is the responsibility propagated when TNT removes nodes? (which then causes the second lava to reflow) 00:09 blaise indeed. 00:09 VanessaE kahrl: propagate it into the lava that filled the empty spaces. 00:09 VanessaE e.g. into the air that was created. 00:09 VanessaE if you can't do that, well, I guess that's one corner case that this idea can't protect against 00:09 kahrl that's some heavy air :P 00:10 Cylus So the first step is set up a C++ countability handler. Is that about right, VanessaE? 00:10 kahrl but anyway, I'm not sure the node metadata system can handle that much data per mapblock 00:10 kahrl and it isn't designed for that 00:10 VanessaE kahrl: it's not designed for it, but it has to happen if something like TNT is ever going to have any future on multiplayer servers. 00:11 VanessaE kahrl: besides, all you really need to send along with the node is a player name, not the whole object - the object could be merely referenced by name once somewhere in the mapblock 00:11 blaise VanessaE: do we have to worry about explosive decompression yet? 00:11 VanessaE blaise: eh, I doubt it :P 00:11 kahrl why not simply prevent TNT from blowing up protected nodes at all? 00:12 VanessaE kahrl: because .can_dig needs a player object. 00:12 VanessaE and protection needs a player name 00:12 VanessaE and if you can't blow up your own stuff...you have a problem 00:13 kahrl I haven't read the whole discussion, but why can't those functions be changed? 00:13 VanessaE which functions? 00:13 VanessaE you mean can_dig et al? 00:13 kahrl yeah 00:14 VanessaE [08-27 19:38] Wait, no, I was right. Because .can_dig() is defined by the node, old mods might not expect strings, but new mods might pass them in anyway. 00:14 Cylus Also as PilzAdam said, .can_dig() may be set to always return true. You can't rely on it's existence to mean there is a chance the node can't be dug. 00:14 VanessaE (where "string" might be a plain old player name, my idea from earlier) 00:14 Cylus Right. 00:14 kahrl eh, so fix those old mods? 00:14 VanessaE kahrl: we don't have the manpower to do that. 00:15 kahrl are there really that many mods that use can_dig? and is that usually more than a one-liner? 00:15 Cylus kahrl: I'd love to say that, but that's the "break backwards compatibility" idea stated earlier that won't fly. 00:15 VanessaE kahrl: every mod that has a locked something or other in it yeah 00:16 VanessaE no idea how much code it would take to fix. maybe a couple of lines apiece, but the problem is the sheer number of nodes and getting new versions of said mods into the server owners' hands 00:16 VanessaE kahrl: even getting mods fixed where the author is here, active, and willing to accept updates can sometimes be a challenge. 00:16 kahrl but you should be aware that our liquid update is not the fastest in the world, to say the least 00:17 kahrl can you imagine it checking the metadata of each node? 00:17 VanessaE kahrl: that's the understatement of the decade ;) 00:17 VanessaE besides, you already have to read the node from the map to find out whether you can spread it further, don't you? 00:18 Cylus Why is TNT even in the game if it's not production-ready, anyway? 00:18 VanessaE (in the case of say, a single water source on flat ground) 00:18 kahrl yeah, but that's constant access time (once you read the mapblock) 00:18 kahrl an index into an array 00:18 VanessaE (insert spherical, frictionless object in a vacuum example here) 00:18 VanessaE how much extra data would it take to add that property to a water/lava node? 00:19 VanessaE Cylus: I've been wondering the same - especially since it wasn't even ShadowNinja's much faster version to begin with 00:19 kahrl 20 bytes, unless we introduce numeric player IDs 00:19 kahrl and you would have to add that to every node, not only liquid nodes 00:19 VanessaE kahrl: so 24 bytes versus 4. No way to flag a node as "contains extra data that isn't metadata" ? 00:20 kahrl nope 00:20 VanessaE and if it does hold metadata? 00:20 kahrl that would ruin the entire "index into an array" thing 00:20 kahrl well, that could be done, but you still need to lookup the metadata 00:20 VanessaE well sure 00:21 VanessaE but for the sake of argument, how much data would it take? 00:21 kahrl a "has metadata" flag? 1 bit 00:21 VanessaE 20 bytes for the player, 4 for the node def, and some overhead for the metadata container? 00:22 VanessaE I mean in the case of the map format we use now 00:22 VanessaE rather than hypothetically 00:22 VanessaE if I just randomly stored a field "player" with a value "kahrl" let's say 00:23 kahrl oh, I don't remember all the details of the serialization format 00:23 VanessaE a couple dozen bytes per node, I suppose? 00:24 kahrl we could even assume, for the sake of argument, that storage size is not the problem 00:24 kahrl the problem is access time during liquid update 00:24 VanessaE yeah 00:24 VanessaE but these are accesses that should be on the order of microseconds at most 00:25 VanessaE so I wonder if we're worrying about the wrong part of the problem? 00:25 kahrl well 00:25 kahrl one access might be like that 00:25 kahrl now imagine someone pouring out a water bucket on top of a hill 00:26 VanessaE that's an operation that's already gonna soak up a ton of CPU without reading meta 00:26 kahrl and you want to make it take 10-100x as much time? 00:27 VanessaE well I was thinking that's the sort of operation that's sitting in the milliseconds-per-node range, from my own experience. that's why I figured a few tens of microseconds per node wouldn't even matter here. 00:27 VanessaE [off] a 200 meter tall water fountain/waterfall is enough to kill a server if the water starts to spread out halfway down because of an unloaded block. 00:28 kahrl well, if someone implements it, I'd be glad to test 00:28 VanessaE [off] add to that lava + lava cooling (even the gloopblocks version) and it's a recipe for 100% CPU load. 00:29 VanessaE with something like water, accountability isn't too critical, but with lava is kinda is :) 00:36 kahrl btw, didn't someone at some point write some code to make liquids not spread on unloaded blocks 00:37 kahrl who was that? 00:37 Cylus Wow, that would be a nice feature. 00:43 VanessaE kahrl: possibly so, but I don't remember seeing that 01:04 blaise some random dude dumped a bucket of lava out in his house which was elevated pretty high 01:04 blaise then tried to extinguish it with a bucket of water 01:04 blaise my server didn't actually crash, but it sure did slow stuff down for a bit 01:05 VanessaE I yelled quite loudly when lava cooling was added to the game 01:06 VanessaE and PA responded by adding functions i could hook into the default ABM with. frankly I'd rather it be ripped out entirely 01:07 cg72 lol 01:08 VanessaE I mean for G*d sakes the default cooling ABM has chance 1, interval 1 01:08 VanessaE https://github.com/minetest/minetest_game/blob/master/mods/default/functions.lua#L181 01:21 * VanessaE tunes it a bit in dreambuilder. 01:23 cg72 VanessaE i got that long ago 3sec and 8 chance 01:23 cg72 works greast 01:23 VanessaE 5 and 15 here. 01:23 cg72 lol 01:23 cg72 vanessa see my trees? 01:23 VanessaE which trees? 01:27 cg72 http://i.imgur.com/o68SYqc.png 01:28 VanessaE nice 01:29 cg72 they are taller and rounded but apple trees are short lol 01:30 VanessaE cool 01:30 VanessaE ok, bbl. 01:30 VanessaE cooking. 01:30 cg72 i want some 01:48 VanessaE back 01:49 * VanessaE offers cg72 a hamburger. 01:49 cg72 id be happy sitting in a corner crying my self to death rn thanks :\ 02:45 blaise ._. 07:20 Zeno` Would anybody care to review: https://github.com/minetest/minetest/pull/1583 07:23 Zeno` I tried to squash :( 07:23 Zeno` and it sort of is 08:55 Megaf Hi all 08:56 Megaf I got info on the client crash when loging in a server, https://github.com/minetest/minetest/issues/1512#issuecomment-53689806 08:56 Megaf ^ Zeno` ^ ShadowNinja 09:05 Megaf and by the way, any work done on multithreading? 15:19 PilzAdam is there any reason to not revert https://github.com/minetest/minetest/commit/7993696fc4b59354974059e1f8d6b3063d316411 ? 15:19 PilzAdam VanessaE? 15:19 VanessaE yeah, it's broken for me too 15:20 VanessaE wait for sapier though, maybe he meant to rename the image file also. 15:21 PilzAdam https://github.com/minetest/minetest/issues/1564#issuecomment-53729815 hmmmm.... seems like debian needs it? 15:22 PilzAdam is there any documentation on the format? 15:32 cg72 is there any reason i cant set all the main menus background as 1 image??? i have "background.png" in the textures/base/pack 15:37 cg72 well more code rewriting lol 16:29 ShadowNinja Thoughts on https://github.com/minetest/minetest/pull/1439 or is it good to merge? 16:30 ShadowNinja PilzAdam: A proper fix might be `mv minetest-icon.* minetest.\1` 16:30 ShadowNinja That might work on all distros. 16:44 cg72 /home/cg72/.minetest/textures/base/pack/ isnt a dir so why does the check ~= nil return true? 16:47 VanessaE ShadowNinja: 1439 is a very good idea indeed, though there's a conundrum to it.. 16:48 VanessaE it's natural to use Q and E to switch items (as that's how I always did it in FPS's) but dammit, those controls are already bound to "drop" and "descend/use" :) 16:48 cg72 the numbers 1-10 select the box also 16:49 cg72 1= first item 8= last 16:50 VanessaE yep. 16:50 cg72 thats the fastest way why add mor keys to press on accident? 16:58 VanessaE bbl 17:13 cg72 https://github.com/minetest/minetest/pull/1584 17:13 cg72 now the minetest header is there in all tabe when no texturepack is there 17:51 sapier Well ShadowNinja if ppl tell me it's broken I fix it, if they lie to me I can't do anything about that, except of telling sorry and next time not merging things from ppl lieing to me ;-) 20:45 RealBadAngel sapier, here? 20:47 sapier yes RealBadAngel 20:47 RealBadAngel http://i.imgur.com/5hGuOUq.png 20:47 RealBadAngel you know whats that? 20:47 sapier looks like some transparency issue 20:48 RealBadAngel no, its a feature you have added to main menu lately 20:48 sapier oh burningvideo :-) 20:48 RealBadAngel actually its software 20:48 sapier software? how did you get it run? 20:48 RealBadAngel but burningsvideo isnt much better 20:49 sapier I know those drivers are quite limited 20:49 RealBadAngel just selected it and run the game 20:49 RealBadAngel point is, those drivers should not be aviable at all 20:49 RealBadAngel theyre not able even to display main menu correctly 20:49 sapier and? bugs like those are partial our fault too 20:50 RealBadAngel unusable drivers should not be selectable at all 20:50 sapier who are we telling users what driver to use? they're different for macos windows android whatever. do you wanna maintain the list? 20:50 sapier they are not unusable 20:50 RealBadAngel no big deal, 3 drivers 20:51 sapier nope 20:51 sapier it's already 6 drivers by now 20:51 RealBadAngel i mean opengl, d3d and android 20:51 sapier directx8 directx9 opengl ogles2 ogles3 software burningvideo (don't know how macos is called, maybe opengl too) 20:52 sapier and by the way some of those issues are result of minetest not doing proper checks too 20:53 sapier forgot ogles 20:53 kahrl a driver with buggy frustum clipping is minetest's fault? 20:53 sapier nope but e.g. the invalid item images 20:53 RealBadAngel i dont like this menu option at all 20:54 sapier for what reason? because it shows how incomplete we do feature checking prior using them? 20:55 sapier if I did know about those issues beeing visible in other drivers too I would've done some of the android hacks more generic 20:55 RealBadAngel first of all, software and burningsvideo drivers have to be removed from list of aviable ones 20:56 RealBadAngel they will never be usable 20:56 sapier no they haven't because it's just adding additional maintenance 20:56 sapier the function provides a list of drivers irrlicht provides 20:57 sapier case irrlicht fixes those issues they will work, I don't even know if they may work better e.g. on windows or macos 20:57 RealBadAngel are you kidding? 20:57 sapier noone is forced to choose those drivers 20:58 RealBadAngel its a game, users will do that 20:58 RealBadAngel and then you will have to complain why the game is fucked up like that 20:58 RealBadAngel http://i.imgur.com/5hGuOUq.png 20:58 sapier if you don't like the dropdown remove it but don't add a crazy "I don't like something therefore I filter some wrong thing" feature to a generic driver function 20:59 troller software usable but too slow 20:59 sapier and please do hardcode the setting too as users always could choose those drivers 20:59 RealBadAngel troller, usable? rotfl 21:00 sapier imho we should first fix all issues we can fix and there are a lot ... then we can decide if it's still necessary to remove the dropdown 21:00 RealBadAngel dancing geometry, jumping planes 1-2fps 21:00 RealBadAngel youre drunk guys? 21:00 troller buy faster PC 21:00 sapier especially on android for example choosing between ogles ogles2 and (soon ogles3) will have a major impact and we can't decide this on our own 21:01 kahrl I get 30 FPS with software 21:01 sapier because we just don't know what's faster on this particular device 21:01 sapier I get exactly 0 fps because it crashes immediatly 21:01 sapier irrlicht 1.7 21:02 sapier case you have 1.8 kahrl that could be proove irrlicht guys improve it too 21:02 troller why not irrlicht 1.1 21:02 kahrl yeah, 1.8 21:02 sapier because there's no supportde distribution using irrlicht 1.1 troll ;-) 21:03 sapier for burningvideo transparency works even on 1.7 21:05 sapier btw folllowing logic "remove everything that may fuck up graphic" we'd have to remove shaders too, because there's no way to decide which opengl cards support them or not 21:05 sapier well unless maintaining a database of course 21:07 sapier but still this is only my opinion so if you guys don't like it feel free to remove it ... but then I will always bug you for providing a equal good mechanism for android users ;-P 21:08 sapier and no I will not maintain a driver list specific for each device I'm already annoyed about the graphics chip ist for android hacks 21:13 kahrl I agree that filtering in get_video_drivers is wrong, but why not filter in tab_settings.lua? 21:14 sapier and then add same hack which is there for android right now but for all supported architectures? It just because of settings menu is to small. It's supposed to get subtabs soon then this hack could be removed. 21:15 kahrl which hack? 21:15 sapier You'd have to add at least Windows, Android, Linux/Macos ... and I'd not even be sure this is correct because there might me android devices out there supporting full opengl soon 21:15 sapier there's a check for ANDROID somewhere 21:16 kahrl I'm only talking about removing software and burningsvideo from the dropdown 21:16 kahrl which can be done platform-independent 21:16 sapier and why? 21:16 kahrl because what RBA said 21:17 sapier because it's broken for him? seems to work way better for others? 21:17 kahrl if anyone really wants to use them, there's still a happy minetest.conf waiting to be edited 21:17 sapier I still don't understand why removing somthing because of beeing broken for someone 21:17 kahrl who is software working well for? 21:17 sapier someone without a 3d graphics card maybe? ;-) 21:18 sapier e.g. a vm 21:18 kahrl those should still have mesa software opengl 21:18 sapier mesa on windows? 21:18 kahrl idk about windows 21:18 kahrl who runs games in a windows vm anyway? 21:19 sapier ppl testing it for example 21:19 kahrl they can use minetest.conf 21:19 sapier yes but following this logic we can remove the whole settings tab, everyone can use minetest.conf 21:20 sapier and I guess trying to fix those issues will find some serious bugs we still have in minetest too 21:20 kahrl the point is to reduce support effort 21:21 kahrl so we don't have people opening issues when minetest doesn't start anymore, after they have chosen a driver they know nothing about 21:21 sapier to me it feels like "running away from bugs" 21:21 kahrl bugs that would be closed as wontfix because they are irrlicht bugs 21:22 sapier at least that issue could be fixed 21:22 sapier we could make minetest switch to default driver on error 21:22 sapier but that'd require another maintained list 21:22 kahrl not really, we already have a default driver 21:23 kahrl it's opengl 21:23 sapier I don't think so, burningsvideo for example has issues with non npot2 textures, something some android doesn't handle correct too 21:23 sapier well then you're gonna break android 21:23 sapier switching to opengl will result on permanent error there 21:24 sapier unless you have android x86 where even now may already be opengl graphics chips 21:24 kahrl well then use those hacks for android that already exist (don't they?) 21:24 * VanessaE is back. 21:24 sapier I want to get rid of them as soon as possible (or implement them in a more generic way) not make them standard 21:25 sapier well I could try what happens if I enable them for "burningsvideo" ... give me some minutes 21:30 RealBadAngel sapier, in case you havent noticed not working shaders do not make screen red any longer 21:31 RealBadAngel so not working shader just does nothing 21:32 sapier nice ... so we have about 2 years to fix the software rendering prior having to remove it? *smile* 21:35 RealBadAngel we shall focus on drivers we know that we will be using, not all exotic ones around there 21:35 RealBadAngel fact that irrlicht have some modes doesnt imply mt has to use them 21:35 sapier ok I don't have to look for the texture scaling issue in burningsvideo as it's already fixed in irrlicht 1.8 kahrl you should already have correct texture sizes there 21:35 sapier and you pretend to know what "we" use? 21:36 sapier I'd sometimes be glad about a working software renderer because some other applications already did grab all supported opengl instances 21:36 RealBadAngel we are makin a game, not another part of dexters laboratory 21:36 sapier don't know what nvidia did within their driver 21:36 RealBadAngel software and burning will never be useable by us 21:37 sapier 30 fps? 21:37 RealBadAngel software, well, may be useable 21:37 sapier some ppl having 3d cards have less 21:37 RealBadAngel to display fancy window with warning :P 21:37 kahrl 30 fps, but extremely ugly and nausea inducing 21:38 sapier software or burningsvideo? 21:38 kahrl software 21:38 RealBadAngel both are weird, in different ways 21:38 sapier try burningsvideo even irrlicht guys tell it's way more advanced 21:38 kahrl burningsvideo is better, but there's still terrible flicker all over the skybox and clouds 21:38 kahrl and it's 10 fps 21:39 kahrl well, and transparency doesn't seem to be working for me (on the apples and torches) 21:39 RealBadAngel instead of software or burning better to focus on proper d3d handling 21:39 sapier well I do care as much about d3d as you do about software so lets just remove that too ;-P 21:40 RealBadAngel at some point i will just translate shaders 21:40 sapier and no I'm not serious, I just wanted to show that a feature irrelevant for someone can be quite relevant for someone else 21:41 RealBadAngel still, having highly experimental, partially working features in main menu options is just asking for troubles imho 21:41 RealBadAngel howgh 21:41 sapier btw no the npot2 fix doesn't help for burningsvideo as it's implemented irrlicht as of 1.8 only 21:42 sapier we did have highly experimental partly working features in there for years ... while it's been yours you didn't have issues with it ;-) 21:43 sapier what about removing them for release builds only? 21:44 sapier a mechanism for hiding experimental settings could be helpfull for other things too so this would at least be something of more then single use 21:45 RealBadAngel so make experimental tab for them 21:46 RealBadAngel this will prevent messing up layout in tabs 21:46 sapier what's that gonna help? do you wanna tell windows users switching from d3d to opengl is experimental? 21:47 VanessaE tell them that Windows is experimental ;-) 21:47 sapier or android users from ogles to ogles2 (well right now ogles2 is really experimental, yet that branch evolves quite fast) not sure if it's still gonna be once we release next version 21:47 RealBadAngel lol 21:49 sapier imho driver selection should be there. if there's only one driver in it ok then noone can choose on that platform 21:49 sapier but it's gonna be linux and macos only 21:50 Calinou ?! only one driver on these OSes 21:50 Calinou Windows is where you can use both D3D and OpenGL 21:50 Calinou but D3D sucks 21:50 Calinou should be dropped from Minetest entirely 21:51 sapier you can even choose d3d8 and d3d9 there 21:51 sapier see next one not caring about d3d too ;-) 21:53 VanessaE don't offer drivers that can't possibly be used on a particular platform :) 21:54 VanessaE that much is a definite 21:54 sapier they can be used 21:54 VanessaE directX on linux? 21:54 sapier wine? 21:54 VanessaE directX ON LINUX 21:54 hmmmm you can use directx on linux 21:54 VanessaE as in linux HOST 21:54 VanessaE not guest 21:54 hmmmm gallium3d 21:54 VanessaE wat? 21:54 sapier last time I tried wine did run on linux 21:54 VanessaE wine is not linux, wine is wine 21:55 hmmmm sapier, what vanessae is saying is that minetest running on wine for all intents is minetest running on windows 21:55 sapier maybe you got too much wine vanessae ;-) 21:55 VanessaE I'm talking on the bare OD., 21:55 VanessaE OS* 21:55 VanessaE hmmmm: exactly. 21:55 hmmmm but minetest compiled for a target like linux or freebsd on the other hand doesn't have d3d support necessarily 21:55 hmmmm although like i said, that may change sometime in the future !! :) 21:55 sapier hmmmm I know what she means but I didn't ever tell about providing d3d on linux too 21:56 sapier it wont happen anyway as the feature reads the supported driver list from irrlicht 21:56 hmmmm vanessae is saying that you should hide the option for d3d if compiled for linux 21:56 VanessaE sapier: I was merely providing an example, and indeed my build doesn't even offer windows-specific drivers anyway 21:57 VanessaE hmmmm: and people might put chevy engines in their fords ;) 21:57 VanessaE (oh wait, they do that :P ) 21:57 hmmmm you can do that with enough welding 21:57 hmmmm --; 21:57 VanessaE lol 21:57 sapier hmmmm as I said I don't need to hide it as it's not told to be supported by irrlicht 21:57 hmmmm so it's an irrlicht problem 21:58 sapier if there would be shown direct3d on linux yes it'd be an irrlicht problem but at least for me it's not shown 21:58 VanessaE I just said it's not being shown for me, but that was just an *example*, jeez 21:58 VanessaE do not take it literally :P 21:59 sapier what this discussion is about irrlicht telling to support software and burningsvideo too ... those are most times way less perfect then opengl or even direct3d 21:59 sapier in worst case irrlicht is even wrong, for example on my pc software just crashes 21:59 VanessaE if those are pure software renderers, wouldn't they be identical from one platform to another? 22:00 sapier but on the other hand we couln't tell for sure some opengl driver doesn't crash on windows 22:01 sapier obviously not, that crash happening for me looks like a timing issue 22:02 VanessaE I meant the rendered result. 22:02 sapier result should be identical ... at least in theory 22:02 VanessaE then don't use them at all. 22:02 VanessaE by definition, they're broken 22:02 sapier if they did use memcpy or things like that there may be different implementataions resulting in different effects 22:03 sapier or different display colorspaces 22:03 RealBadAngel sapier, that reminds me of an issue reported 22:03 VanessaE sapier: there has to be a threshold above which you decide "you know what, this is way too unpredictable to use" 22:03 RealBadAngel if you select not workin one you wont be able to change it back 22:04 sapier RealBadAngel: that's gonna happen if you select opengl on a broken opengl driver too 22:04 VanessaE (at least as far as what you present to an average Joe Sixpack) 22:04 RealBadAngel some1 already reported it in the channel 22:04 sapier same thing will happen if you start minetest with broken opengl driver 22:04 RealBadAngel so then use software as fallback 22:04 RealBadAngel only reasonable usage for it 22:05 sapier software should work on any platform even android so you could be right about that one yes 22:05 RealBadAngel but only for main menu 22:05 sapier unless there's a bug in it but that's normal risk 22:05 RealBadAngel not game in any case 22:05 sapier everyone can change it once it started 22:06 sapier using different engines for different parts by default will result in duplicating test cases/error cases for standard usecase 22:08 sapier what about same thing windows uses "popup safe mode" ;-) 22:08 VanessaE sapier: didn't I suggest that a week ago? :) 22:09 sapier "you did select software/burningsvideo these modes are not using hardware acceleration go to "settings"-tab and change it ... add a checkbox "don't bug me again" to this dialog so ppl can disable this message 22:09 sapier popup on starting minetest vanessae not on selecting it 22:10 sapier this way we could handle the fallback situation too 22:11 sapier first thing minetest will do is setting a flag in settings, that flag is reset once menu is started successfull. if it crashes due to driver error next time we will find that flag and can switch to ... hmm I'd suggest burningsvideo 22:12 sapier btw I've got 16 fps on burningsvideo and irrlicht 1.8 ... more then a lot of android devices with hardware rendering 22:17 sapier I think apple textures not beeing transparent our fault as the images in mainmenu are transparent 22:19 sapier lol 22:19 sapier disable shaders and you get full transparency 22:20 sapier RealBadAngel: didn't you tell shaders don't do anything if they're not supported? ;-) 22:24 RealBadAngel they shouldnt 22:24 RealBadAngel at least final color blend is removed from them 22:24 RealBadAngel and is done by the engine only 22:25 sapier well still disabling shaders on burningsvideo results in transparency beeing fine 22:25 RealBadAngel that maybe because irrlicht materials are combined 22:25 sapier possible 22:26 RealBadAngel i should add there a flag for success on compiling shaders, if false then not build new one material 22:26 sapier and the skybox flickering ... I'm not quite sure but skybox code looks to me like drawing all at same coordinates. In cases like that floating point rounding precision may cause them to intersect ... not sure if same thing couldn't happen on other drivers too 22:27 RealBadAngel shaders can fail because of many reasons, such flag is good idea 22:27 sapier do you compile through irrlicht or directly? 22:31 sapier ok software rendering is still quite ugly in 1.8.1 22:32 RealBadAngel irrlicht compiles them 22:32 sapier hopefully they return a correct error code ;-) 22:32 sapier http://imgur.com/0CBST2S,T81hhkS 22:32 RealBadAngel they should 22:33 sapier burningsvideo and opengl are optically different but imho both are fine ... and at least to me even burningsvideo is playable ... and I've got a quite old machine 22:33 VanessaE sapier: ew, you use filtering with 16px mode? :) 22:33 sapier nope everything disablerd 22:33 VanessaE first image looks like tri- or bi-linear filtering 22:34 sapier first is burningsvideo guess they're scaling algorithm has same effect 22:35 sapier I wonder what happens if I try to use burningsvideo in 3d mode 22:36 sapier lol 22:37 VanessaE 3d as in shutter/LCD glasses? :) 22:37 sapier guess noone ever tried 3d mode on irrlicht 1.8 22:38 sapier I had to flip one of the images because irrlicht did flip it on copy ... seems they fixed that bug on 1.8 ... now the fixed image for 1.7 is flipped again ... looks like some ifdef to add 22:39 sapier nope 3d as in polarization glasses 22:42 VanessaE same diff 22:42 VanessaE polarized, anaglyph, shutter...whatever method you choose :) 22:43 sapier yet I don't know if shutter support works 22:43 kahrl haha that's trippy 22:43 RealBadAngel sapier, ok, such flag is a piece of cake, even i dont have to add any extra field for it, will just use current id system, shader_id = 0 will mean no shader for this material 22:43 sapier ok 22:54 sapier https://gist.github.com/sapier/c685006eb8a3864709a3 anyone against merging this? 22:56 sapier well as obviously noone uses that feature by now I'm gonna push it after having it tested myself ;-) 22:59 RealBadAngel interlaced mode? what for? 22:59 sapier those who use id know it ;-) 22:59 sapier oh wait ... noone uses it :-) 23:01 RealBadAngel hehe 23:01 sapier well we do support almost all available stereomodes, but I guess stereo isn't that common by now 23:02 sapier real vr devices are missing by now :-) 23:02 sapier but I don't even think about providing a setting too choose the 3d mode as you'll complain about it breaking view again ;-) 23:03 sapier we support anaglyph/topbottom/sidebyside and interlaced 23:06 sapier so if someone has a 3d tv she/he will most likely find a mode to work on it 23:06 sapier 3d on burningsvideo :-) ... not very fluid :) 23:07 kahrl is the second screen in topbottom/sidebyside mode meant to not update its size when the window is resized? 23:08 sapier I don't think so 23:09 sapier funny I get 6 screens in sidebyside mode ... guess there's another bug in it 23:10 sapier wonder if it's some other thing "fixed" in irrlicht 1.8 23:10 kahrl same here, but only after I maximize the window after it starts small 23:11 sapier irrlicht 1.8? 23:12 kahrl yes 23:12 sapier ok I'm gonna check with irrlicht 1.7 ... I guess this is another ifdef irrlicht version issue 23:13 sapier our official version is irrlicht 1.8 right? 23:14 kahrl I don't know, is there an official version? 23:14 sapier that one on minetest.net ;-) 23:14 kahrl 1.8.1 I think 23:15 sapier so practically any 3d mode was broken and noone did notice ;-) 23:15 kahrl according to buildwin32.sh and buildwin64.sh 23:15 sapier maybe anaglyph did work 23:15 kahrl anaglyph seems fine 23:15 RealBadAngel im on 1.7 all the time 23:16 sapier nope sidebyside is broken on 1.7 too 23:16 sapier so at least there no ifdef is required 23:16 sapier I'm gonna fix it soon 23:19 sapier uarg ... silly bug 23:25 sapier grrr formspecs are broken on 3d mode too ... but that one is for tomorrow 23:27 * VanessaE wonders where a formspec ends up in 3d mode :) 23:27 Inocudom This is a very serious bug that I fell victim too: https://forum.minetest.net/viewtopic.php?f=6&t=10014 23:28 sapier does it happen on sqlite too? 23:29 Inocudom I encountered the issue on servers mostly. 23:29 Inocudom Even with client_unload_unused_data_timeout = 180 in my config file, it can still happen. 23:30 Inocudom How can I tell what map format a server is using? Which ones use sqlite? 23:31 sapier I'm not sure if I do understand the issue correctly 23:31 sapier those chunks are only missing on client? 23:31 VanessaE I'm confused too. 23:32 VanessaE wait. 23:32 Sokomine inocudom: if it's not your own, you can't tell. else: take a look in the world-folder. if a file map.sqlite is present -> sqlite3. if a map.db/ folder is present, then it's probably leveldb 23:32 sapier because I'm quite sure mapblocks are sent repeatedly 23:32 VanessaE Inocudom: got worldedit handy? 23:32 RealBadAngel sapier, btw https://www.youtube.com/watch?v=g1RzmQynCPA 23:32 VanessaE Inocudom: //inspect and then punch at the "blank" area please 23:32 RealBadAngel ^^ toggling one bit and use special tiles instead of tiles 23:32 Inocudom It seems to be an issue where if I load too many chunks on a map during a play session, the game studders and temporarily freezes. Gets longer each time too. 23:32 VanessaE RealBadAngel: wait please, off topci 23:33 RealBadAngel yup, i know ;) 23:33 sapier https://gist.github.com/sapier/434731e2842881f4ad31 fix for broken window resizing 23:34 VanessaE Inocudom: please do //inspect and then punch at the "empty" area. Is it CONTENT_IGNORE by chance? Can you actually *point* at the blank spaces? If you walk to the blank space, can you place e.g. a torch and then the land immediately adjacent to the torch appears? 23:34 Inocudom The missing chunks issue, as far as I know, is only in Freeminer, unless that too was encountered by some in Minetest. 23:35 sapier RealBadAngel: what exactly is this supposed to show? 23:35 Inocudom I can't walk into those blank spaces, and the map where I saw those empty spaces was a leveldb map in Freeminer. Mapgen v5 too, though that might not be relevant. 23:35 VanessaE mapgenv5? VERY relevent. 23:35 VanessaE minetest does not have mapgen v5. 23:35 VanessaE only freeminer has that. 23:36 Inocudom Can't even point at anything in those spaces. They act like unloaded chunks/void areas. 23:36 RealBadAngel sapier, thats example usage of special_tiles and a single bit that toggles between tiles and special_tiles 23:36 VanessaE Inocudom: can you place a torch into the blank area? 23:36 sapier I'm not sure if this is a good example as I don't really see a usecase for it ;-) except of maybe fake blocks ;-) 23:37 Inocudom But the chunks not loading issue that I encountered in Freeminer is not the only issue. There is also the temporary freezing when I load too many chunks on a map during a play session. 23:37 sapier I'm pushing the 3d mode fix 23:37 RealBadAngel furnaces, machines, mesecon wires? 23:37 VanessaE sapier: furnaces, mesecons, anything with an "on" and "off" texture/node 23:37 RealBadAngel single def instead of inactive/active defs 23:37 sapier yes but those aren't changed directly by player? 23:37 VanessaE Inocudom: if this is mapgen version five, then it's not a minetest issue, as minetest doesn't have v5. 23:38 Inocudom The number of chunks required to do it is lower than what would normally cause bad_allocation. Again, client_unload_unused_data_timeout = 180 does not get rid of the issue. 23:38 VanessaE sapier: that's the point though - fewer node defs. for larger mods, it can cut the numebr of nodes by dozens or even hundreds. 23:38 VanessaE number* 23:38 RealBadAngel in case of climbable mesecon wires its about 500 node defs 23:38 sapier well ... only if you don't care about stable clients till 0.4.11 is released 23:39 VanessaE sapier: wouldn't be the first time that's happened :P 23:39 sapier true VanessaE you really never care about stable versions ... but complain about broken dev ;-P 23:40 RealBadAngel sapier, we do already have full featured special_tiles here 23:40 RealBadAngel i made it same sized as regular tiles 23:40 sapier I know that's why I don't veto, yet those usecases you guys tell me sound like adding some sort of subnode definition 23:41 RealBadAngel not really 23:41 sapier effectively addin another dimension to our node definition mechanism 23:41 RealBadAngel yes 23:42 VanessaE sapier: I don't complain about broken dev unless it remains broken for a long time or in the face of code that's *right there waiting to merge* to fix bugs :) 23:42 sapier basicaly you could replace all nodes by a single one ... with special tiles for everything 23:42 RealBadAngel effecting in less complicated code, less nodedefs, faster switching 23:42 sapier and all mods using it have to check nodename AND subnodetype 23:42 RealBadAngel switch is done realtime, while drawing 23:42 RealBadAngel no they dont have to 23:42 sapier if ppl use it that way they have 23:42 RealBadAngel its a general feature 23:43 RealBadAngel aviable for all the drawtypes excluding liquids 23:43 sapier I'm brave and predict modders will use special tiles to implement completely different things and next time they will make they're mods do different things dependent on subnode type 23:44 sapier e.g. a node crop ... subtype wheat corn, pumpkin 23:44 RealBadAngel ofc, we cannot predict what modders will make with it 23:44 RealBadAngel abuse as usual ;) 23:45 RealBadAngel but keep in mind im modder too, i know why im adding this for 23:45 VanessaE well to be fair, sapier, if you were to use this feature for e.g. mesecons, you would, by definition have to do something different depending on the state of this special tiles setting - e.g. a wire being "off" isn't going to be propagating a signal to a receptor. 23:45 sapier you make it easy the way you show it to them ... result will be mods getting way more complicated as nodename isn't gonna be enough to know what's there 23:46 sapier I'm fair, I just tell this is not making code more simple but just shifts complexity to another location 23:46 sapier maybe even increases overall complexity 23:47 sapier as both, drawing code as well as each mod has to check the subtype to know what's going on 23:48 VanessaE sapier: but it also allows modders to cut down the total number of node definitions. remember, we do have a (rather high) limit and the more we define, the longer the game takes to start. 23:48 VanessaE better to define 5000 with special tiles than 10000 without them 23:48 sapier yes you cut down number of node definitions at cost of size of each node definition ... so where's the actual benefit? 23:49 VanessaE startup time? less resources used at the client? 23:49 sapier in worst case you'll have a couple of kb for a single node definition 23:49 sapier same thing has to be parsed 23:49 sapier it's not less it's just packaged different 23:50 sapier did anyone check what happens if a single node def doesn't fit into a packet? 23:50 sapier hopefully we don't care about it :) 23:51 sapier hmm we send mb of data so it's quite likey we wont ever hit that limit 23:51 VanessaE if a node ever hits 1MB in size, we have a much bigger problem to deal with :P 23:52 sapier still I don't see the real benefit except of reducing the count of nodes, at cost of mod complexity 23:53 VanessaE seems like `node.name == foo and node.param2 > 128` is enough 23:53 VanessaE that's hardly what I'd call "complex" 23:53 VanessaE assuming RBA is still using the msb of param2 23:53 Sokomine may this new feature perhaps be useful for changes of dirt nodes and leaves through the seasons? the 4seasons mod was a lot of fun but also caused high load for a server 23:53 RealBadAngel sapier, well its not really sub definition 23:53 sapier it is 23:54 RealBadAngel you may think it is, while it isnt 23:54 sapier as vanessae already mentioned she's gonna use it for active as well as non active mesecon wires 23:54 RealBadAngel yes, and im going to simplify all the machines thx to it 23:54 VanessaE sapier: you just have to change how you think of finding a node - stop looking for it purely by name. look for the name of the generic node and then check its param2 for its on/off state 23:55 RealBadAngel def stays the same, its not altered 23:55 sapier what you tell is increasing complexity by 100% 23:55 RealBadAngel so node wont become some other one 23:56 RealBadAngel treating it as another node (sub) is not understanding the mechanism 23:56 VanessaE the only caveat I can see is if you had two separate ABMs for two related nodes (an "on" and "off" state for something, maybe furnaces). Those would need a single ABM with a one-line check to see which one you're dealing with 23:56 sapier obviously powered wires and non powered wires have a difference, it's just implicitly coded in the new subtype ... thus a relevant detail about the node isn't even part of nodedef 23:56 RealBadAngel im repeating subtype is completely wrong word here 23:56 sapier no it ain't 23:57 RealBadAngel node wont become something another with it 23:57 sapier you don't like it but it's exactly this 23:57 RealBadAngel in any way 23:57 * VanessaE wanders off to do something where she won't be half-ignored :-/ 23:58 sapier just to stay at that special case vanessae mentioned if some mod wants to interact to mesecons node it HAS TO check nodename as well as subtype AND has to know the meaning of that subtype 23:58 RealBadAngel VanessaE, param2 MSB is your on/off flag for mesecons to spread the signal 23:58 sapier and those subtypes aren't even speaking names but just numbers 23:58 RealBadAngel and at the very same time way to represent it graphically 23:58 RealBadAngel tread msb = 0 as "off" 23:58 VanessaE sapier: incorrect. mesecons has an API for that. you never interact directly with the wires. 23:59 RealBadAngel *treat 23:59 sapier ok so moreblocks will add a node "moreblocks:block" and provide a api "moreblocks.getNode(pos) 23:59 VanessaE sapier: from the standpoint of a mod interacting with mesecons, nothing will change. same is true of a mod interacting with pipeworks. we have APIs to handle that stuff