Time Nick Message 03:53 Fritigern RealBadAngel: A little earlier, i experienced a server crash, and waypoints was blamed: ERROR: An unhandled exception occurred: ...lds/Pacata/worldmods/unified_inventory/waypoints.lua:42: attempt to index field '?' (a nil value) 08:17 Calinou what about making a news on forum about meshnodes? 08:18 Calinou and other recent developments for 0.4.11 08:24 VanessaE good idea 08:26 * VanessaE wanders off to bed 08:26 Calinou I can do it, but I would rather get approval of developers first 09:42 Calinou nore, what about making a news on forum about meshnodes? / and other recent developments for 0.4.11 09:42 nore well, good idea 09:43 nore you should ask RBA if he wants to make one (since he coded them), and if not, make the announcement yourself 09:44 Calinou RealBadAngel is away 09:45 Calinou (visibly) 09:57 RealBadAngel good idea 09:57 * RealBadAngel just woke up 10:04 Calinou I started writing one, RealBadAngel 10:04 Calinou hi :) 10:08 RealBadAngel hi 10:09 RealBadAngel you could point to VE's mesh primitives 10:09 Calinou also More Blocks slope branch 10:10 Calinou I made a screenshot of slopes 10:14 Calinou https://forum.minetest.net/viewtopic.php?f=18&t=10621 10:14 Calinou here it is, RealBadAngel 10:15 Calinou will add screenshot of key change menu… 10:16 RealBadAngel seems ok. you can mention also node highlighting 10:18 kilbith Calinou: optimize your screenies a bit by cutting the interesting part 10:18 Calinou RealBadAngel, already done in another older post… 10:19 gravgun RealBadAngel, still working on VGA signs? 10:19 Calinou https://cdn.mediacru.sh/1Ez_uPVzHVt8.png 10:19 Calinou cropped screenshot 10:19 kilbith better 10:20 gravgun Calinou: progressive PNG please? 10:20 kilbith also, sphere and rounded-corners things 10:20 Calinou I don't bother with that, didn't bother using OptiPNG either 10:20 RealBadAngel gravgun, atm im polishing extruded plantlike drawtype 10:20 RealBadAngel signs and displays gonna be next 10:20 gravgun Uses same extrusion as weild item? 10:22 Calinou made some more screenshots 10:23 kilbith show in evidence that they're 6d facedir 10:23 Calinou also adding new chest/furnace textures 10:24 kilbith don't need to show the game's stuff 10:26 kilbith ah, and do not forget mgv5 10:27 Calinou game stuff is also useful 10:28 Calinou will add mgv5 10:32 RealBadAngel gravgun, http://i.imgur.com/SqAVIcb.png 10:33 gravgun yep i saw that yesterday ( http://i.imgur.com/GYVEWmK.png ) 10:38 Calinou RealBadAngel, do you have a screenshot of wielditem using shaders? 10:38 Calinou heh, nice 3D plantlike 10:38 Calinou would be a good addition 10:38 RealBadAngel i think i will be rdy with it today 10:39 RealBadAngel Calinou, http://i.imgur.com/TPuGWyJ.png 10:39 Calinou thanks 10:43 nore VanessaE, Sokomine, ShadowNinja: about the "don't place node where you are" thing: the current version is bugged with full nodes too: if you are close enough to the border of the node, you can place one, but then you will be able to move inside it because you will be partially in it 10:54 Calinou https://github.com/minetest/minetest/commit/b994a7af130cb8219fc0c546454317cb105c7322 10:54 Calinou is this usable in mods? 11:00 nore Calinou, IIRC yappy uses it 11:00 Calinou OK 11:04 nore just checked, it can: https://github.com/minetest/minetest/blob/874109c5201c3deed49bc9eb98352e816c271d50/doc/lua_api.txt#L2809 11:05 Calinou thanks 11:05 Calinou will point to it in newspost 11:07 nore you should perhaps split the topic in three topic: user engine changes, user game changes, and dev/modder changes 11:07 nore perhaps you could merge the node highlighting topic too 12:05 sapier hello, when did we start to mixup declaration and implementation AGAIN ... ? 12:06 sapier I'm talking about class game ... 12:09 sapier I guess someone did ignore that issue in favour of merging that doubtless good improvement. Yet there's a bad taste merging incomplete work. Especially if that incompleteness is exactly in the area what the patch improoves. 13:55 RealBadAngel https://www.youtube.com/watch?v=hGv6k3-2D3s&feature=youtu.be 13:56 RealBadAngel how do you like that? 13:59 kilbith RealBadAngel: awesome; i'd like to see the torch on a wall 13:59 RealBadAngel not yet done ;) 14:00 sapier hmmm ... shouldn't this be done with particles? 14:01 PenguinDad sapier: what does this have to do with particles? 14:02 RealBadAngel sapier it works with default textures 14:02 sapier torches? 14:02 RealBadAngel yes 14:02 sapier torches <-> particles ... thought the relation is obvious ;-) 14:02 RealBadAngel it works with any animated textures in fact 14:03 RealBadAngel theres no problem to code torch with particles on the other hand 14:03 kilbith #1700 14:03 ShadowBot https://github.com/minetest/minetest/issues/1700 -- wip irrlicht particles by obneq 14:04 sapier ohhh ... I see it's about animated textures in general and not about torches 14:05 RealBadAngel well, its about extruded meshes 14:06 RealBadAngel thx to them you can have 3d torches without breakin compability with old solutions 14:07 sapier looks like something quite cpu intensive? 14:08 RealBadAngel GPU rather 14:08 sapier hmm well guess we have a lot of unused gpu power within minetest. I'm sure you did implement a fallback for slow devices? 14:08 RealBadAngel there are just more polygons, animation is made as before 14:09 RealBadAngel sapier, i will make those an option, like we did with fancy leaves 14:10 sapier that's what I meant ;-) 14:10 sapier thinking about the number of torches usually used that could result in a quite noticable slowdown on old/slow machines 14:11 RealBadAngel https://www.youtube.com/watch?v=F7LcggphDeA&feature=youtu.be 14:11 sapier falling.lua is broken 14:12 PenguinDad sapier: falling nodes seem to work for me 14:12 RealBadAngel on the 2nd vid you can see that it works with any textures, so doesnt break texture packs 14:13 sapier there's a warning in it, built in lua code has to be free of warnings 14:14 PenguinDad minetest_game has less warnings than builtin :D 14:14 sapier wtf ... shadowninja I'm quite sure you did forbid me to add warnings spaming the console with same message over and over again. Am I right you did add the global variable access spaming warining? 14:15 sapier especially as that warning is stupid, checking for a global variable to exist is not supposed to be an error! 14:22 sapier btw did anyone benchmark that lua wrappers shadowninja added? checking each variable access with a lot of additional code looks like huge performance killer to me 14:30 sapier ShadowNinja IMHO your strict module should only be used in debug builds. Unless you can explain to me how this is not supposed to cause performance issues for mods accessing global namespace 14:31 sapier e.g. mods consisting of libraries used by other mods like mobf. 14:32 PenguinDad sapier: imho this shouldn't depend on the build type but should rather be a setting in minetest.conf 14:33 sapier well I'd be fine with this too as long as it's disabled in release builds 14:34 sapier it's silly to cause speed penalty for legitimate mods just because they don't fit ShadowNinja's personal crusade for redefining mods to be plugins 14:36 kaeza sapier, what happens if I access a global `foo` in `a.lua`, and the same-named `foo` in `b.lua` ? 14:37 sapier then you still have a warning and if you really care about it you will fix it 14:37 kaeza as I see, one or the other access is just ignored 14:37 kaeza wouldn't it be better to warn once per line? 14:37 sapier the current way of doing it writes 100mb of logs withing minutes just because a mod does if variable then 14:38 sapier well kaeza you're free to implement it in a better way ;-) my only requirement is it won't write gigabytes of log files for existing mods without any sane reason 14:39 sapier As I've seen ShadowNinja did suggest a solution which still breaks existing mods so it's useless 14:40 kaeza yes, this is a bit better, but hides extra accesses, making the feature worse as much 14:41 sapier It doesn't hide anything compared to last stable version but fixes a huge bug for existing mods. 14:43 sapier that feature is already doubtfull as I don't believe that getting debuginfo checking names and and and is done in no time so each variable access is way more slow then before 14:43 sapier any mod adding functions to global namespace is quite heavyly affected by a stupid thing like that 14:44 sapier imho that's a debug feature not something to be active in production 14:45 sapier https://github.com/minetest/minetest/pull/1561 fixed review comments as well as added zeframs font fixes. 14:46 sapier That pull has two main benefits, on android devices we can handle different dpi and screensizes way better then now, and of course upcoming 4k displays are supported too. 14:47 sapier In case there aren't any reasonable objections I'm gonna merge 1561 in about a week 14:50 sapier kaeza, you're free to change the alreadywarned to check the triple name, function line. It's most likely already to slow for production so making it even slower wont cause additional problems 15:01 kaeza sapier, https://github.com/kaeza/minetest/commit/a139924fd9645f1fd5079dda170b28c91c0e49a0 15:01 kaeza it won't be slow if mods declare variables properly 15:02 sapier it will be slow 15:02 sapier following legit scenario 15:02 sapier two mods 15:02 sapier one defining a global variable 15:02 sapier another one having that mod as optional dependency 15:03 sapier obviously second mod has to check that variable prior using it, but if the optinal mod isn't present .... 15:03 kaeza >it won't be slow if mods declare variables properly 15:03 sapier and no matter if mods declare variables or not the code checking them to be declared will be run anyway 15:03 kaeza Lua does not call __[new]index at all if the value of the global is not nil 15:04 sapier unction meta:__index(name) is called on any access 15:06 sapier as I said no matter what code you add the original one is already way to slow for production. Your changes seem to be reasonable 15:06 sapier let me check if they work in practice 15:08 sapier seems to be fine, merge it 15:08 kaeza >unction meta:__index(name) is called on any access 15:09 kaeza http://codepad.org/UEiUDer8 disagrees 15:09 sapier sorry but I've seen hundreds of megabytes of warnings if that one ain't called on any access that'd make no sense 15:11 sapier unless it's only called on accessing nil set parameters ... which still might be a legitimate usecase 15:11 sapier try a=nil 15:12 kaeza Lua does not call __[new]index at all if the value of the global is not nil 15:12 kaeza nil may be a valid value, but most of the time it isn't (at least for globals) 15:12 sapier ok so declaring that variable doesn't help anything to remove the speed penalty ;-) 15:13 sapier as I said kaeza as long as you have a single mod only your assumptions are correct. once you have multiple mods with optional dependencys they get wrong 15:14 kaeza in fact, __newindex specifically isn't called once a variable is assigned (even nil) 15:14 sapier setmetatable(_G, {__index = function(t,k) 15:14 sapier print(k) 15:14 sapier end}) 15:14 sapier a=nil 15:14 sapier print(a) 15:14 sapier print(b) 15:14 sapier it is called 15:15 sapier at least on lua 5.1.5 15:17 sapier still there ain't any benefit of that code for production. The only reason for it is bugging modders to follow some more or leas reasonable mod writing style. Which neither ain't defined anywhere nor does it handle all possible usecases a mod may have 15:17 kaeza hmm, this is weird... I recall reading that __newindex is called only for new keys... 15:18 kaeza but in any case, this would probably be made a config option (mod_debugmode or something) 15:18 sapier well maybe an error in doc, still your simple example shows that only setting it to some value stops the code from beeing executed 15:19 sapier for what I remember we already have some debug options which are only enabled in debug mode. Why add another way of enabling debug features? 15:19 kaeza we do? 15:19 sapier to be more precise we have settings set to different values in debug mode then in production 15:20 sapier deprecated_lua_api_handling show_debug 15:20 sapier IMHO strict should be handled same way 15:21 sapier it's a helpfull feature without doubt, but there are limitations where it's causing false positives 15:21 kaeza I see, that is probably best; the end user does not give a crap about these kinds of stuff (even though they may lead to obscure bugs) 15:22 sapier true, but mod authors already have a lot of debugging support that isn't available by default in release build. Most time because it's causing performance penalty even without error beeing there. 15:23 sapier e.g. the mod profiling code 15:31 kaeza ah! indeed __newindex is only called for new keys: http://codepad.org/FW6v0FSa 15:32 sapier what's the news on that code? 15:33 sapier ahh newindex instead of index 15:34 sapier still if you set a to nil after declaring it it's called again 15:35 kaeza I can't think of a use case where a `nil` global would make sense 15:36 kaeza all globals should probably be set to proper default values on init 15:36 kaeza I will add an option to disable `strict.lua` anyway, is that OK? 15:37 kaeza err, not add, but use one of those you mentioned 15:38 sapier nil is a proper value for something not beeing present ;-) 15:39 sapier if you expect some other value you have to add load dependencys for mods which don't really have a load dependency 15:40 kaeza in that case, the "slow" logic is only run once at init, at which point the "slowness" of this particular feature doesn't matter at all 15:40 sapier no it isn't 15:41 sapier in worst case it's run hundreds of times per second 15:41 kaeza eh? 15:41 kaeza are you checking if a mod is loaded every single step? 15:41 sapier think about two mods 15:41 sapier one providing nice to have information to be handled by another mode 15:41 sapier -e 15:41 kaeza that is broken code IMHO 15:41 sapier no it aint 15:41 sapier the other mod can do it's work without that information too 15:42 sapier but if that information is present it's taken into account 15:42 sapier of course the second mod has to check if that information is nil prior doing calculations to it 15:42 kaeza and why is that information global and not namespaced (at which point the code isn't touched at all)? 15:43 sapier that information will always be global no matter what you do 15:43 kaeza again, broken code 15:43 sapier differen't mods don't have a common namespace 15:43 sapier not broken code 15:43 kaeza mod_namespace = { } 15:43 kaeza mod_namespace.some_info = "asdf" 15:43 sapier different mods shouldn't mess up a common namespace 15:44 sapier and again, you add a load order dependency by doing that 15:44 PenguinDad sapier: with #1561 the font in the inventory is much bigger than it used to be https://cdn.mediacru.sh/JpWmcREuvlor.png 15:44 ShadowBot https://github.com/minetest/minetest/issues/1561 -- Implement proper font handling by sapier 15:45 sapier Not sure if it's an issue PenguinDad it's not a 100% identical fix, that's impossible for that issue 15:46 kaeza sapier, I still think you and me are talking about completely different things, or you are blowing this so-called "slowness" out of proportion 15:47 sapier no I'm not kaeza, mobf does a lot of things multiple times per server step and there are situations where optional mods are handled 15:48 kaeza sapier, in that case, fix mobf, and store the "the optional mod was found" either in a local, or into the `mobf` namespace 15:48 sapier goddamn checking a variable for existance is a legit usecase no matter if this dosn't fit in your mind 15:50 kaeza alright, this discussion is going nowhere, and I'm not going to repeat things again, so ignore I said anything 15:52 sapier True if you insist in forcing everyone to write mods the way you feel they should be written without accepting legitimate usecases we won't get anywhere 15:56 VanessaE kaeza: the issue in this particular case is that the possibly-undefined variable (as supplied by the hypothetical optional dependency) will, on globalstep, change its value frequently, so it's impossible to local-cache it in the mod that's using it. 15:56 VanessaE each time the mod using it reads it, it'll get either nil or a random, changing value, so caching it at init time won't give the changing result that's needed. 15:57 VanessaE so in this use case, there's no choice at all but to be able to disable the strict module entirely. 15:57 sapier PenguinDad what screensize do you have? 15:58 sapier it's supposed to scale with formspec itself so in case you have a huge screen it's gonna be way bigger 15:58 VanessaE (having a bloated log and the CPU usage that goes with it is unacceptable for a warning of this nature that is impossible to resolve) 15:59 sapier VanessaE impossible for existing mods. For new ones you can write workarounds. Still updating minetest will cause perfectly fine mods to fail. 16:00 VanessaE sapier: exactly. 16:00 VanessaE where "existing mods" == mods that are no longer maintained but which still otherwise work 16:01 PenguinDad sapier: my screen is 1920x1080 and minetest uses 1920x1041 16:01 sapier As I said I like that feature but I don't like it to be enabled by default as it doesn't provide any benefit for regular user 16:01 sapier PenguinDad: ok that's exactly where you have most impact 16:01 sapier ok despite of 4k screens 16:02 sapier the interesting thing is your hud doesn't seem to scale too ... that's more of a concern to me 16:03 VanessaE now, I can see a simple way to reduce the log bloat for the hundreds-of-warnings case, if not minetest.get_modpath("optional mod") then foo = 0 end at the start (or some other value to foo that's guaranteed to be interpreted as "do nothing" by the calling mod) but that's a hack 16:03 VanessaE and it still causes at least one warning to be issued 16:04 sapier ShadowNinja already wrote a pull to workaround this issue he added, so we would have a solution for new mods. But that's not what I'm talking about 16:04 VanessaE I know. 16:04 VanessaE just thinking of ways to patch around it as simply as possible to shut the warnings up and cut the log bloat 16:05 sapier You guys always think about simple mods. But there are way more complex mod(s) having a lot of connections to other mods too. 16:05 VanessaE oh I know that. 16:06 sapier And telling authors of complex mods "you just have to write it that and that way" ... with "that and that" changing for each version is causing a lot of hate ;-P 16:06 VanessaE I agree 16:07 kaeza no, you are complaining about performance issues. if you need to access globals in performance critical code, you are doing it wrong, and should fix your code 16:07 VanessaE kaeza: you can't local-ize a variable that's being read in realtime from another mod, where it's changing periodically. 16:08 VanessaE especially if "periodically" is on globalstep 16:08 kaeza globals involve a hashtable lookup, compared to locals which are just a pointer dereference 16:08 kaeza VanessaE, example? 16:08 sapier kaeza yes making it even worse to add additional penalty to it 16:09 VanessaE kaeza: imagine you've got a mod that's scanning the area for number of some special object. it makes its info available in a global variable. 16:10 VanessaE you depend on that mod to return such results, and you HAVE to have those results in realtime, on globalstep 16:10 VanessaE you can't call a function 16:10 VanessaE and you can't import one mod's code into the other 16:10 kaeza okay 16:10 VanessaE what's left? 16:11 y global state is really amazing, it is a hidden effect that is painful to debug, insanely hard to mantain, and is abused 16:11 VanessaE a global variable to pass the results from the depended-on mod to the other. 16:11 sapier y true but abuse is how things are regularly done in minetest 16:14 VanessaE frankly, I don't think there's any way around it that makes everyone happy. strict module has to be disabled by default. modders can always enable it if they want the spam. :) 16:15 y maybe if modders wanted code that is easy to understand it could make everyone happy 16:15 sapier we can enable it by default once some time has passed e.g. in 2 or three versions 16:15 sapier but if we do that now we cause mods to fail that wouldn't fail otherwise 16:19 sapier and I explicitly include mods where the warning is legitimate but where the bug doesn't cause any harm 16:20 sapier btw things like that give false positives too: 16:20 sapier assert(mobf_settings == nil) 16:20 sapier mobf_settings = {} 16:21 sapier checking no other mod did abuse your namespace 16:47 Sokomine nore: i thought that was due to lag (server needing time to notice the placement of the node and tell the client that the player can't be there). that ought to be no hinderance for #1867 16:47 ShadowBot https://github.com/minetest/minetest/issues/1867 -- added enable_build_where_you_stand option by Sokomine 17:10 Sokomine regarding global namespaces: those debug messages are very helpful for debugging mods and removing errors. but sapier's right as well: only the mod developers can benefit from it. for normal players, it just spams the hard disk with an ever-growing log 18:09 ShadowNinja Don't argue a performance difference, the difference will be almost non-existant is you're doing anything remotely sane. Ideally mods namespaces should be in minetest.mods or something and should be created by returning the table. That could be done without breaking anything too, although you'd need hacks or you'd have fragmentation between the global namespaces and the returned ones. 18:10 ShadowNinja Sokomine: Isn't that setting name a bit long? ;-) 18:10 Calinou build_on_standing 18:10 Calinou shorter name 18:10 Calinou ShadowNinja, while we are talking about namespaces: https://github.com/minetest/minetest/issues/1865 18:15 sapier ShadowNinja once you consider mods actually doing things there are sane issues where performance will be harmed by that fix 18:16 sapier e.g. the dontknowhowoftenmentioned if variable == nil then check 18:56 Calinou https://chocolatey.org/packages/minetest 18:56 Calinou add on Windows downloads? 18:56 Calinou looks safe, looked at the .ps1 files 18:56 Calinou Chocolatey is a Windows package manager that lets you install packages à la “apt” 18:56 Calinou this could be added on web site 19:01 Sokomine ShadowNinja: admittedly it's a bit long. we might as well take calinous suggestion. the idea was that the config variable ought to be a "speaking" name. weather that works is hard to predict 19:02 Sokomine but the important point is that it gets approved of by core devs and merged. it will make a lot of players very happy 19:03 PenguinDad Sokomine: as soon as that pull gets merged I'll add that option to my minetest.conf ;) 19:04 Sokomine :-) guess most builders will do that 19:05 Krock And this prevent for building 'on' the player was just added to make it noob-friendly? 19:07 kaeza Krock, right, but you know, something about using spacebar as control 19:07 Sokomine Krock: as far as i understand it, it was added to prevent another problem. when you did place a node at the position of your head prior to that old pull request, you where able to see through nodes as if you had the nocliip privilege. it was changed so that you can't place nodes at your head (and foot) position anymore; plus the screen gets black if you do and don't have noclip 19:08 Krock Sokomine, ah okay. Thanks for the explanation 19:10 Sokomine the "screen now gets black when you put a node at your head position and don't have noclip" is not affected. only the ability to place nodes there. which is important for placing signs and facedir nodes in small corridors or when pillaring up 19:11 Krock I agree. 19:11 * Krock just learned, mapblocks are laggier than player animations /offtopic 20:04 ShadowNinja Re: megabytes of warnings: You shouldn't have many warnings at all after startup as long as you're not doing something like setting and un-setting globals every step. 20:05 ShadowNinja At startup there might be 64 or so on heavily modded worlds though. 20:08 ShadowNinja My most heavily moded world has 20 warnings right now. 20:08 sapier ShadowNinja I'm just doing a if variable == nil then ... that's causing megabytes of warnings 20:08 sapier because that check is in a critical path done by any entity in each step at least once 20:08 ShadowNinja Make that 17, missed some mod startup messages. 20:08 ShadowNinja sapier: Then fix that code. 20:09 ShadowNinja Do one check at startup. 20:09 sapier ShadowNinja thats a useless discussion I can't check a changing variable on startup 20:09 ShadowNinja If you want cross-mod interaction use callbacks, not globals. 20:10 sapier And changing the whole architecture wont enable me travelling back in time fixing the last version 20:10 kaeza eh? 20:10 ShadowNinja Mods really shouldn't create any globals at all, but I left the strict checks out because it's too floody. 20:10 sapier thus this change breaks a mod without any benefit for user 20:11 Calinou mods have legit reasons to create globals 20:11 sapier ShadowNinja could you ONE TIME read what I am saying 20:11 Calinou variables being accessed by several mods… constants… 20:11 kaeza Calinou, wrong; those should be namespaced 20:12 sapier no they aren't constants calinou 20:12 sapier And even if all your arguments where valid that doesn't justify breaking exisiting mods 20:13 sapier what is users benefit of having that warning in production version, tell me ONE SINGLE benefit 20:13 sapier USER of course! 20:13 Calinou there is none 20:13 Calinou so, don't change what is currently done about variables 20:14 Calinou but you can add a debug option to warn about all globals if you want 20:14 Calinou off by default 20:14 sapier Calinou I can't change code which is already published 20:14 kaeza I already added that to my code locally 20:14 sapier I can fix it in future versions but this still breaks a lot of servers without any reason to do that 20:15 sapier I'm pefectly fine with making this an option which is disabled by default or even disabled on release build only and enabled on debug build 20:17 ShadowNinja sapier: The problem is that the degub build is what developers use, but most modders use release builds. 20:17 ShadowNinja debug* 20:17 Calinou make a minetest.conf setting for that then 20:17 Calinou “There's a minetest.conf setting for that.” —Steve Jobs (2008) 20:18 ShadowNinja Calinou: constants should be literals or locals. 20:18 ShadowNinja Calinou: The problem with that is that nobody will enable it. 20:18 sapier Oh I see when I wanted to add a deprecation warning you did argument you can't flood log for deprecation warnings but once it's you to add deprecation warnings everything is different 20:19 Calinou I believe serious modders will be aware of it 20:19 ShadowNinja sapier: I said you can't flood with minetest.env warnings because that's used dozens of times per step. 20:19 sapier problem ain't that feature isn't helpfull problem is that feature breaks mods that wouln't have any major issues without it 20:19 Calinou we could maintain a wiki page about deprecations/incompatible changes 20:19 Calinou make it a sticky in mod releases/wip mods topic 20:20 ShadowNinja There should be a mod_debug setting that automatically enables things like deprecation warnings. 20:20 Calinou minetest.env: is the biggest offender 20:20 Calinou and that 20:20 sapier and your message is shown *steps per second too for mobf where's the difference? 20:20 ShadowNinja Modders have to be aware of it though. 20:20 sapier at least 20:20 Calinou if an offense appears once, then warn in console? but only once 20:21 Calinou eg. on first minetest.env: use, you see “The mod may be deprecated, use mod_debug = true to debug. Ignore this message if you are not a mod developer.” 20:21 sapier I already fixed most crucial issues for next version but that's not gonna fix last version of mobf 20:21 kaeza ShadowNinja, sapier, https://github.com/kaeza/minetest/commit/07a4caee4cc03eeab47b220e81b9303e91f51d62 20:21 ShadowNinja Calinou: That's doable -- but a issue in one mod would hide issues in other mods, we can't get the modname after init. 20:21 kaeza (not sure about setting name) 20:21 sapier And despite of most other modders I support old versions for some time 20:22 ShadowNinja I might be able to use the debug library to get the source file and only warn once per source file... 20:22 sapier and of course that "WARNING" is a false positive if a mod checks for namespace collisions too 20:22 ShadowNinja I can limit by line too. 20:22 ShadowNinja That would fix the floods. 20:22 * ShadowNinja inplements. 20:22 kaeza seriously... 20:22 sapier ShadowNinja: stop we already did this 20:23 sapier there's still another issue, calling debug lib that often can't be without performance impact 20:24 sapier so even if we fixed the logging which causes immediate death with the feature enabled you still cause performance regressions 20:24 ShadowNinja kaeza: It should be per-file, per-line, and per-name. Simplify it by just joining them with NUL characters. 20:25 ShadowNinja kaeza: That's pretty much just what I wanted to do though. 20:25 kaeza do it 20:25 kaeza I'm not thouching shit anymore 20:25 ShadowNinja :-( 20:26 RealBadAngel http://i.imgur.com/s9c9zLT.png 20:26 sapier and it should be disabled in release, at least for next minetest version. make a release note that accessing global variables will cause performance issues in future versions so we can enable it in following minetest version 20:27 ShadowNinja sapier: alreadywarned isn't a word, use underscores. 20:27 kilbith RealBadAngel: smaller in lenght 20:27 kaeza fixed in free^W my patch 20:27 sapier I'm german we have words like donaudampfschiffahrtsgesellschaftskapitänswittwenrente 20:27 sapier ;-P 20:28 exio4 does that mean "hi how are you?" 20:28 sapier not exactly it's a noun 20:30 sapier btw game refactoring was good work :-) 20:30 sapier we only have to move the class declaration to game.h where it belongs 20:30 kaeza noooo 20:31 sapier of course class declarations don't have any reason to be mixed up to code 20:31 kaeza if you move it there, anything that uses `game.h` gets recompiled whenever it changes 20:31 kaeza and right now it seems nothing uses class Game anyway 20:31 sapier I see you always add and remove spaces to game class? ;_P 20:32 sapier game is a basic class it's not used because noone did cleanup the interfaces by now 20:33 kaeza still, no point in moving it to .h and extending compilation time more than it is 20:33 sapier still thats another discussion and I don't intend to do anything there so lets discuss it once it's really relevant 20:34 sapier https://github.com/minetest/minetest/pull/1561 better check this one 20:36 sapier it's not supposed to change a lot of things but should fix some long open font/formspec scaling issues 20:46 Sokomine ShadowNinja: adding/using an option in minetest.conf really seems best for these new warnings. they're very helpful for modders, but useless for normal users who don't have a clue as to why their debug file takes up more and more space 20:47 Sokomine ShadowNinja: it would be great to have these debug options beeing documented somewhere more prominent. even mod developers may read the example config file once - and occasionally scroll through the changelog - but very few people will be sufficiently up to date 21:38 RealBadAngel ok, looks like i finished changing torchlike: https://www.youtube.com/watch?v=SH_mr82khjk 21:45 RealBadAngel how do you like extruded torches? 21:54 kilbith looks good, RBA 21:57 RealBadAngel sapier, such torchlike doesnt seem to be much of a problem for fps, http://i.imgur.com/6kkxmnQ.png 22:27 ShadowNinja proposal: Add mod_debug setting that enables strict.lua and a few other moding-related things like deprecation logging. 22:28 ShadowNinja Then create a news topic and stress that all moders should have it on. 22:40 sapier RealBadAngel well if you fill 10l to a olympic swimming pool and then fill another 10l to it there wont be a significant difference too, if you do this to a bucket there will be ;-) 22:40 sapier you should try this on a slow device already at etch, e.g. a android phone already beeing fps limited 23:27 Megaf Hi all, do you believe that it is safe to use the dev version of Irrlicht? 23:39 RealBadAngel Megaf, no idea 23:51 Megaf Ok, I will keep using the 1.8.1 then 23:52 Megaf that moment when you type ls on the address bar of your browser expenting to get a list of the sites you can open