Minetest logo

IRC log for #minetest-dev, 2014-11-23

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

All times shown according to UTC.

Time Nick Message
00:01 shadowzone joined #minetest-dev
00:31 Megaf joined #minetest-dev
00:36 shadowzone joined #minetest-dev
00:36 Megaf joined #minetest-dev
00:44 Megaf joined #minetest-dev
00:48 ShadowLadyXD joined #minetest-dev
01:11 Megaf joined #minetest-dev
01:25 shadowzone joined #minetest-dev
01:38 chchjesus joined #minetest-dev
01:40 Megaf joined #minetest-dev
01:44 sapier1 joined #minetest-dev
01:46 sapier1 left #minetest-dev
01:46 Megaf joined #minetest-dev
01:57 Taoki joined #minetest-dev
02:13 Megaf joined #minetest-dev
02:21 Megaf joined #minetest-dev
02:22 shadowzone joined #minetest-dev
02:27 Megaf joined #minetest-dev
03:01 NakedFury joined #minetest-dev
03:12 cg72 joined #minetest-dev
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)
04:26 chchjesus joined #minetest-dev
04:30 Megaf joined #minetest-dev
05:04 Megaf joined #minetest-dev
05:04 Megaf joined #minetest-dev
05:21 selat joined #minetest-dev
05:25 Megaf joined #minetest-dev
05:31 sol_invictus joined #minetest-dev
06:04 Megaf joined #minetest-dev
06:07 Megaf joined #minetest-dev
06:15 andre_pl joined #minetest-dev
06:39 werwerwer joined #minetest-dev
06:49 darkrose joined #minetest-dev
07:23 Megaf_ joined #minetest-dev
07:28 nore joined #minetest-dev
07:45 gravgun joined #minetest-dev
07:47 andre_pl joined #minetest-dev
08:10 Calinou joined #minetest-dev
08:17 Calinou what about making a news on forum about meshnodes?
08:18 Calinou and other recent developments for 0.4.11
08:19 khonkhortisan joined #minetest-dev
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
08:40 kilbith joined #minetest-dev
08:40 Hunterz joined #minetest-dev
08:45 shmanceloticus joined #minetest-dev
08:52 Amaz joined #minetest-dev
08:58 AnotherBrick joined #minetest-dev
09:08 casimir joined #minetest-dev
09:42 Calinou nore, <Calinou> what about making a news on forum about meshnodes? / <Calinou> 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:11 ImQ009 joined #minetest-dev
10:14 Calinou https://forum.minetest.net/viewtopic.php?f=18&amp;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:33 jin_xi joined #minetest-dev
10:38 zat joined #minetest-dev
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
11:12 werwerwer joined #minetest-dev
11:34 rubenwardy joined #minetest-dev
11:37 CraigyDavi joined #minetest-dev
12:04 sapier joined #minetest-dev
12:05 sapier hello, when did we start to mixup declaration and implementation AGAIN ... ?
12:06 sapier I'm talking about class game ...
12:07 PenguinDad joined #minetest-dev
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.
12:48 MinetestForFun joined #minetest-dev
12:57 ImQ009 joined #minetest-dev
12:59 Amaz joined #minetest-dev
13:27 kaeza joined #minetest-dev
13:52 RealBadAngel joined #minetest-dev
13:55 RealBadAngel https://www.youtube.com/watch?v=hGv6k3-2D3s&amp;feature=youtu.be
13:56 nore joined #minetest-dev
13:56 RealBadAngel how do you like that?
13:58 Megaf joined #minetest-dev
13:59 kilbith RealBadAngel: awesome; i'd like to see the torch on a wall
13:59 RealBadAngel not yet done ;)
14:00 hmmmm joined #minetest-dev
14:00 sapier hmmm ... shouldn't this be done with particles?
14:01 shadowzone joined #minetest-dev
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&amp;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:10 PenguinDad joined #minetest-dev
15:10 rubenwardy joined #minetest-dev
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 <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 Jeija joined #minetest-dev
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 Calinou joined #minetest-dev
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:27 exio4 joined #minetest-dev
16:30 AnotherBrick joined #minetest-dev
16:35 nore joined #minetest-dev
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
17:14 khonkhortisan joined #minetest-dev
17:54 GhostDoge joined #minetest-dev
17:56 Krock joined #minetest-dev
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:21 rubenwardy joined #minetest-dev
18:30 shadowzone joined #minetest-dev
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 ImQ009 joined #minetest-dev
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:05 kaeza joined #minetest-dev
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:07 shadowzone joined #minetest-dev
19:08 Krock Sokomine, ah okay. Thanks for the explanation
19:09 Jeija joined #minetest-dev
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
19:19 Wayward_One joined #minetest-dev
19:23 shadowzone joined #minetest-dev
19:46 Megaf joined #minetest-dev
20:02 Megaf joined #minetest-dev
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:07 ImQ009 joined #minetest-dev
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 <number of mobs>*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:25 Megaf joined #minetest-dev
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:35 Megaf joined #minetest-dev
20:36 sapier it's not supposed to change a lot of things but should fix some long open font/formspec scaling issues
20:42 Megaf joined #minetest-dev
20:44 ImQ009_ joined #minetest-dev
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:46 ImQ009 joined #minetest-dev
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:00 Megaf joined #minetest-dev
21:08 FR^2 joined #minetest-dev
21:17 NakedFury joined #minetest-dev
21:25 proller joined #minetest-dev
21:38 RealBadAngel ok, looks like i finished changing torchlike: https://www.youtube.com/watch?v=SH_mr82khjk
21:43 proller joined #minetest-dev
21:45 RealBadAngel how do you like extruded torches?
21:46 Garmine joined #minetest-dev
21:50 khonkhortisan joined #minetest-dev
21:54 kilbith looks good, RBA
21:55 SmugLeaf joined #minetest-dev
21:57 RealBadAngel sapier, such torchlike doesnt seem to be much of a problem for fps, http://i.imgur.com/6kkxmnQ.png
22:07 Garmine42 joined #minetest-dev
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:29 Megaf joined #minetest-dev
22:29 Megaf joined #minetest-dev
22:31 werwerwer joined #minetest-dev
22:39 zat joined #minetest-dev
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
22:42 Megaf joined #minetest-dev
23:25 sapier left #minetest-dev
23:27 Megaf Hi all, do you believe that it is safe to use the dev version of Irrlicht?
23:34 Megaf joined #minetest-dev
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
23:55 chchjesus joined #minetest-dev

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